{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/AssetMgmt/AssetConstantMaster/assetconstantmaster.component.ts","webpack:///src/app/AssetMgmt/AssetConstantMaster/assetconstantmaster.component.html","webpack:///src/app/AssetMgmt/AssetConstantMaster/assetconstantmaster.service.ts","webpack:///src/app/AssetMgmt/AssetCountReport/assetcountreport.component.ts","webpack:///src/app/AssetMgmt/AssetCountReport/assetcountreport.component.html","webpack:///src/app/AssetMgmt/AssetCountReport/assetcountreport.service.ts","webpack:///src/app/AssetMgmt/AssetMaster/addasset/addasset.component.ts","webpack:///src/app/AssetMgmt/AssetMaster/addasset/addasset.component.html","webpack:///src/app/AssetMgmt/AssetMaster/assetaudit/assetaudit.component.ts","webpack:///src/app/AssetMgmt/AssetMaster/assetaudit/assetaudit.component.html","webpack:///src/app/AssetMgmt/AssetMaster/assetmaster.component.ts","webpack:///src/app/AssetMgmt/AssetMaster/assetmaster.component.html","webpack:///src/app/AssetMgmt/AssetMaster/assetmaster.service.ts","webpack:///src/app/AssetMgmt/AssetTPA/assetTPA.component.ts","webpack:///src/app/AssetMgmt/AssetTPA/assetTPA.component.html","webpack:///src/app/AssetMgmt/AssetTPA/assetTPA.service.ts","webpack:///src/app/AssetMgmt/CategoryMaster/categorymaster.component.ts","webpack:///src/app/AssetMgmt/CategoryMaster/categorymaster.component.html","webpack:///src/app/AssetMgmt/CategoryMaster/categorymaster.service.ts","webpack:///src/app/AssetMgmt/CityAssetInstallationReport/cityassetinstallation.component.ts","webpack:///src/app/AssetMgmt/CityAssetInstallationReport/cityassetinstallation.component.html","webpack:///src/app/AssetMgmt/CityAssetInstallationReport/cityassetinstallation.service.ts","webpack:///src/app/AssetMgmt/CityAssetInstallationReport/generateReport/addcityassetinstallation.component.ts","webpack:///src/app/AssetMgmt/CityAssetInstallationReport/generateReport/addcityassetinstallation.component.html","webpack:///src/app/AssetMgmt/CityAssetInstallationReport/viewReport/viewCityInstallationReport.component.ts","webpack:///src/app/AssetMgmt/CityAssetInstallationReport/viewReport/viewCityInstallationReport.component.html","webpack:///src/app/AssetMgmt/CityWiseAssetReport/citywiseasset.component.ts","webpack:///src/app/AssetMgmt/CityWiseAssetReport/citywiseasset.component.html","webpack:///src/app/AssetMgmt/DeliveryChallan/addasset/updateasset.component.ts","webpack:///src/app/AssetMgmt/DeliveryChallan/addasset/updateasset.component.html","webpack:///src/app/AssetMgmt/DeliveryChallan/adddc/adddc.component.ts","webpack:///src/app/AssetMgmt/DeliveryChallan/adddc/adddc.component.html","webpack:///src/app/AssetMgmt/DeliveryChallan/courierDetails/courierDetails.component.ts","webpack:///src/app/AssetMgmt/DeliveryChallan/courierDetails/courierDetails.component.html","webpack:///src/app/AssetMgmt/DeliveryChallan/dc.component.ts","webpack:///src/app/AssetMgmt/DeliveryChallan/dc.component.html","webpack:///src/app/AssetMgmt/DeliveryChallan/dc.service.ts","webpack:///src/app/AssetMgmt/DeliveryChallan/searchAsset/searchasset.component.ts","webpack:///src/app/AssetMgmt/DeliveryChallan/searchAsset/searchasset.component.html","webpack:///src/app/AssetMgmt/DeliveryChallan/viewDC/viewDC.component.ts","webpack:///src/app/AssetMgmt/DeliveryChallan/viewDC/viewDC.component.html","webpack:///src/app/AssetMgmt/HsnMaster/hsn-master.component.ts","webpack:///src/app/AssetMgmt/HsnMaster/hsn-master.component.html","webpack:///src/app/AssetMgmt/HsnMaster/hsn-master.service.ts","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/action/action.component.ts","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/action/action.component.html","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/adddc/interDCAddcomponent.ts","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/adddc/interdcAdd.component.html","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/interDC.component.ts","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/interDC.component.html","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/interDC.service.ts","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/viewDC/viewInterDistrictDC.component.ts","webpack:///src/app/AssetMgmt/InterDistrictDeliveryChallan/viewDC/viewInterDistrictDC.component.html","webpack:///src/app/AssetMgmt/Manufacturer/manufacturer.component.ts","webpack:///src/app/AssetMgmt/Manufacturer/manufacturer.component.html","webpack:///src/app/AssetMgmt/Manufacturer/manufacturer.service.ts","webpack:///src/app/AssetMgmt/ModelMaster/modelmaster.component.ts","webpack:///src/app/AssetMgmt/ModelMaster/modelmaster.component.html","webpack:///src/app/AssetMgmt/ModelMaster/modelmaster.service.ts","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/adddc/addoemdc.component.ts","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/adddc/addoemdc.component.html","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/assetaction/assetaction.component.ts","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/assetaction/assetaction.component.html","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/oemdc.component.ts","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/oemdc.component.html","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/oemdc.service.ts","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/viewDC/viewOEMDC.component.ts","webpack:///src/app/AssetMgmt/OEMDeliveryChallan/viewDC/viewOEMDC.component.html","webpack:///src/app/AssetMgmt/ProductMaster/addproduct/addproduct.component.ts","webpack:///src/app/AssetMgmt/ProductMaster/addproduct/addproduct.component.html","webpack:///src/app/AssetMgmt/ProductMaster/productmaster.component.ts","webpack:///src/app/AssetMgmt/ProductMaster/productmaster.component.html","webpack:///src/app/AssetMgmt/ProductMaster/productmaster.service.ts","webpack:///src/app/AssetMgmt/USIDAssetInstallationReport/USIDassetinstallation.component.ts","webpack:///src/app/AssetMgmt/USIDAssetInstallationReport/USIDassetinstallation.component.html","webpack:///src/app/AssetMgmt/USIDAssetInstallationReport/USIDassetinstallation.service.ts","webpack:///src/app/AssetMgmt/USIDAssetInstallationReport/generateReport/generateassetinstallation.component.ts","webpack:///src/app/AssetMgmt/USIDAssetInstallationReport/generateReport/generateassetinstallation.component.html","webpack:///src/app/AssetMgmt/USIDAssetInstallationReport/viewReport/viewInstallationReport.component.ts","webpack:///src/app/AssetMgmt/USIDAssetInstallationReport/viewReport/viewInstallationReport.component.html","webpack:///src/app/AssetMgmt/assetfilterdata.ts","webpack:///src/app/BillingMgmt/BillingReport/ageingreport/invoicereport.component.ts","webpack:///src/app/BillingMgmt/BillingReport/ageingreport/invoicereport.component.html","webpack:///src/app/BillingMgmt/BillingReport/billingcomparison/billingcomparsion.component.ts","webpack:///src/app/BillingMgmt/BillingReport/billingcomparison/billingcomparsion.component.html","webpack:///src/app/BillingMgmt/BillingReport/billingreport.service.ts","webpack:///src/app/BillingMgmt/BillingReport/monthlybilling/monthlybilling.component.ts","webpack:///src/app/BillingMgmt/BillingReport/monthlybilling/monthlybilling.component.html","webpack:///src/app/BillingMgmt/BillingReport/monthlycollection/monthlycollection.component.ts","webpack:///src/app/BillingMgmt/BillingReport/monthlycollection/monthlycollection.component.html","webpack:///src/app/BillingMgmt/BillingSchedule/addbillingschedule/addschedule.component.ts","webpack:///src/app/BillingMgmt/BillingSchedule/addbillingschedule/addschedule.component.html","webpack:///src/app/BillingMgmt/BillingSchedule/billingschedule.component.ts","webpack:///src/app/BillingMgmt/BillingSchedule/billingschedule.component.html","webpack:///src/app/BillingMgmt/BillingSchedule/billingschedule.service.ts","webpack:///src/app/BillingMgmt/CollectionTagging/addcollection/addcollection.component.ts","webpack:///src/app/BillingMgmt/CollectionTagging/addcollection/addcollection.component.html","webpack:///src/app/BillingMgmt/CollectionTagging/collectiontagging.component.ts","webpack:///src/app/BillingMgmt/CollectionTagging/collectiontagging.component.html","webpack:///src/app/BillingMgmt/CollectionTagging/collectiontagging.service.ts","webpack:///src/app/BillingMgmt/CollectionTagging/collectiontask/action/action.component.ts","webpack:///src/app/BillingMgmt/CollectionTagging/collectiontask/action/action.component.html","webpack:///src/app/BillingMgmt/CollectionTagging/collectiontask/collectiontask.component.ts","webpack:///src/app/BillingMgmt/CollectionTagging/collectiontask/collectiontask.component.html","webpack:///src/app/BillingMgmt/CollectionTagging/collectiontask/collectiontask.service.ts","webpack:///src/app/BillingMgmt/Invoice/addinvoice/addinvoice.component.ts","webpack:///src/app/BillingMgmt/Invoice/addinvoice/addinvoice.component.html","webpack:///src/app/BillingMgmt/Invoice/invoice.component.ts","webpack:///src/app/BillingMgmt/Invoice/invoice.component.html","webpack:///src/app/BillingMgmt/Invoice/invoice.service.ts","webpack:///src/app/BillingMgmt/Invoice/invoicetask/invoicetask.component.ts","webpack:///src/app/BillingMgmt/Invoice/invoicetask/invoicetask.component.html","webpack:///src/app/BillingMgmt/Invoice/invoicetask/invoicetask.service.ts","webpack:///src/app/BillingMgmt/Invoice/viewinvoice/viewinvoice.component.ts","webpack:///src/app/BillingMgmt/Invoice/viewinvoice/viewinvoice.component.html","webpack:///src/app/ConfigurationMgmt/ConfigurationMgmtFilterData.ts","webpack:///src/app/ConfigurationMgmt/change-password/change-password.component.ts","webpack:///src/app/ConfigurationMgmt/change-password/change-password.component.html","webpack:///src/app/ConfigurationMgmt/change-password/change-password.service.ts","webpack:///src/app/ConfigurationMgmt/department/department.component.ts","webpack:///src/app/ConfigurationMgmt/department/department.component.html","webpack:///src/app/ConfigurationMgmt/department/department.service.ts","webpack:///src/app/ConfigurationMgmt/family/family.component.ts","webpack:///src/app/ConfigurationMgmt/family/family.component.html","webpack:///src/app/ConfigurationMgmt/family/family.service.ts","webpack:///src/app/ConfigurationMgmt/forgot-password/forgot-password.component.ts","webpack:///src/app/ConfigurationMgmt/forgot-password/forgot-password.component.html","webpack:///src/app/ConfigurationMgmt/forgot-password/forgot-password.service.ts","webpack:///src/app/ConfigurationMgmt/menu/menu.component.ts","webpack:///src/app/ConfigurationMgmt/menu/menu.component.html","webpack:///src/app/ConfigurationMgmt/menu/menu.service.ts","webpack:///src/app/ConfigurationMgmt/myprofile/myprofile.component.ts","webpack:///src/app/ConfigurationMgmt/myprofile/myprofile.component.html","webpack:///src/app/ConfigurationMgmt/myprofile/myprofile.service.ts","webpack:///src/app/ConfigurationMgmt/organization/organization.component.ts","webpack:///src/app/ConfigurationMgmt/organization/organization.component.html","webpack:///src/app/ConfigurationMgmt/organization/organization.service.ts","webpack:///src/app/ConfigurationMgmt/reset-password/Reset-password.service.ts","webpack:///src/app/ConfigurationMgmt/reset-password/reset-password.component.ts","webpack:///src/app/ConfigurationMgmt/reset-password/reset-password.component.html","webpack:///src/app/ConfigurationMgmt/role/add-role/add-role.component.ts","webpack:///src/app/ConfigurationMgmt/role/add-role/add-role.component.html","webpack:///src/app/ConfigurationMgmt/role/role.component.ts","webpack:///src/app/ConfigurationMgmt/role/role.component.html","webpack:///src/app/ConfigurationMgmt/role/role.service.ts","webpack:///src/app/ConfigurationMgmt/user-profile/add-user/add-user.component.ts","webpack:///src/app/ConfigurationMgmt/user-profile/add-user/add-user.component.html","webpack:///src/app/ConfigurationMgmt/user-profile/user-profile.component.ts","webpack:///src/app/ConfigurationMgmt/user-profile/user-profile.component.html","webpack:///src/app/ConfigurationMgmt/user-profile/user-profile.service.ts","webpack:///src/app/HelpdeskMgmt/currency-master/currency-master.component.ts","webpack:///src/app/HelpdeskMgmt/currency-master/currency-master.component.html","webpack:///src/app/HelpdeskMgmt/currency-master/currency-master.service.ts","webpack:///src/app/HelpdeskMgmt/helpdeskfilterdata.ts","webpack:///src/app/HelpdeskMgmt/license-master/add-license/add-license.component.ts","webpack:///src/app/HelpdeskMgmt/license-master/add-license/add-license.component.html","webpack:///src/app/HelpdeskMgmt/license-master/license-master.component.ts","webpack:///src/app/HelpdeskMgmt/license-master/license-master.component.html","webpack:///src/app/HelpdeskMgmt/license-master/license-master.service.ts","webpack:///src/app/HelpdeskMgmt/support-team/add-support-team/add-support-team.component.ts","webpack:///src/app/HelpdeskMgmt/support-team/add-support-team/add-support-team.component.html","webpack:///src/app/HelpdeskMgmt/support-team/support-team.component.ts","webpack:///src/app/HelpdeskMgmt/support-team/support-team.component.html","webpack:///src/app/HelpdeskMgmt/support-team/support-team.service.ts","webpack:///src/app/HelpdeskMgmt/ticket-category/ticket-category.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-category/ticket-category.component.html","webpack:///src/app/HelpdeskMgmt/ticket-category/ticket-category.service.ts","webpack:///src/app/HelpdeskMgmt/ticket-classification/ticket-classification.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-classification/ticket-classification.component.html","webpack:///src/app/HelpdeskMgmt/ticket-classification/ticket-classification.service.ts","webpack:///src/app/HelpdeskMgmt/ticket-master/add-ticket/add-ticket.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-master/add-ticket/add-ticket.component.html","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-master.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-master.component.html","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-master.service.ts","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-task/add-task/add-task.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-task/add-task/add-task.component.html","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-task/add-trip/add-trip.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-task/add-trip/add-trip.component.html","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-task/ticket-task.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-task/ticket-task.component.html","webpack:///src/app/HelpdeskMgmt/ticket-master/ticket-task/ticket-task.service.ts","webpack:///src/app/HelpdeskMgmt/ticket-problem-report/ticket-problem-report.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-problem-report/ticket-problem-report.component.html","webpack:///src/app/HelpdeskMgmt/ticket-problem-report/ticket-problem-report.service.ts","webpack:///src/app/HelpdeskMgmt/ticket-report/ageing-report/ageing-report.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-report/ageing-report/ageing-report.component.html","webpack:///src/app/HelpdeskMgmt/ticket-report/escalated-report/escalated-report.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-report/escalated-report/escalated-report.component.html","webpack:///src/app/HelpdeskMgmt/ticket-report/incident-report/incident-report.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-report/incident-report/incident-report.component.html","webpack:///src/app/HelpdeskMgmt/ticket-report/orphan-trips-report/orphan-trips.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-report/orphan-trips-report/orphan-trips.component.html","webpack:///src/app/HelpdeskMgmt/ticket-report/sla-report/sla-report.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-report/sla-report/sla-report.component.html","webpack:///src/app/HelpdeskMgmt/ticket-report/ticket-mis-report/ticket-mis-report.component.ts","webpack:///src/app/HelpdeskMgmt/ticket-report/ticket-mis-report/ticket-mis-report.component.html","webpack:///src/app/HelpdeskMgmt/ticket-report/ticket-report.service.ts","webpack:///src/app/HelpdeskMgmt/vehicle-master/add-vehicle/add-vehicle.component.ts","webpack:///src/app/HelpdeskMgmt/vehicle-master/add-vehicle/add-vehicle.component.html","webpack:///src/app/HelpdeskMgmt/vehicle-master/vehicle-master.component.ts","webpack:///src/app/HelpdeskMgmt/vehicle-master/vehicle-master.component.html","webpack:///src/app/HelpdeskMgmt/vehicle-master/vehicle-master.service.ts","webpack:///src/app/HelpdeskMgmt/vehicle-service-master/add-vehicle-service/add-vehicle-service.component.ts","webpack:///src/app/HelpdeskMgmt/vehicle-service-master/add-vehicle-service/add-vehicle-service.component.html","webpack:///src/app/HelpdeskMgmt/vehicle-service-master/vehicle-service-master.component.ts","webpack:///src/app/HelpdeskMgmt/vehicle-service-master/vehicle-service-master.component.html","webpack:///src/app/HelpdeskMgmt/vehicle-service-master/vehicle-service-master.service.ts","webpack:///src/app/OrderMgmt/Reports/grn-report/grn-report.component.ts","webpack:///src/app/OrderMgmt/Reports/grn-report/grn-report.component.html","webpack:///src/app/OrderMgmt/Reports/monthly-payment/monthly-payment.component.ts","webpack:///src/app/OrderMgmt/Reports/monthly-payment/monthly-payment.component.html","webpack:///src/app/OrderMgmt/Reports/pending-payment/pending-payment.component.ts","webpack:///src/app/OrderMgmt/Reports/pending-payment/pending-payment.component.html","webpack:///src/app/OrderMgmt/Reports/po-criteria-report/po-criteria-report.component.ts","webpack:///src/app/OrderMgmt/Reports/po-criteria-report/po-criteria-report.component.html","webpack:///src/app/OrderMgmt/Reports/po-fullfillment-report/po-fullfillment-report.component.ts","webpack:///src/app/OrderMgmt/Reports/po-fullfillment-report/po-fullfillment-report.component.html","webpack:///src/app/OrderMgmt/Reports/po-reports.service.ts","webpack:///src/app/OrderMgmt/Reports/po-wise-product-report/po-wise-product-report.component.ts","webpack:///src/app/OrderMgmt/Reports/po-wise-product-report/po-wise-product-report.component.html","webpack:///src/app/OrderMgmt/Reports/project-vendor-wise-po-report/project-vendor-wise-po-report.component.ts","webpack:///src/app/OrderMgmt/Reports/project-vendor-wise-po-report/project-vendor-wise-po-report.component.html","webpack:///src/app/OrderMgmt/Reports/prs-report/prs-report.component.ts","webpack:///src/app/OrderMgmt/Reports/prs-report/prs-report.component.html","webpack:///src/app/OrderMgmt/Reports/status-wise-po-report/status-wise-po-report.component.ts","webpack:///src/app/OrderMgmt/Reports/status-wise-po-report/status-wise-po-report.component.html","webpack:///src/app/OrderMgmt/boq-master/add-boq/add-boq.component.ts","webpack:///src/app/OrderMgmt/boq-master/add-boq/add-boq.component.html","webpack:///src/app/OrderMgmt/boq-master/boq-master.component.ts","webpack:///src/app/OrderMgmt/boq-master/boq-master.component.html","webpack:///src/app/OrderMgmt/boq-master/boq-master.service.ts","webpack:///src/app/OrderMgmt/constant-master/constant-master.component.ts","webpack:///src/app/OrderMgmt/constant-master/constant-master.component.html","webpack:///src/app/OrderMgmt/constant-master/constant-master.service.ts","webpack:///src/app/OrderMgmt/grn-master/add-grn/add-grn.component.ts","webpack:///src/app/OrderMgmt/grn-master/add-grn/add-grn.component.html","webpack:///src/app/OrderMgmt/grn-master/grn-master.component.ts","webpack:///src/app/OrderMgmt/grn-master/grn-master.component.html","webpack:///src/app/OrderMgmt/grn-master/grn-master.service.ts","webpack:///src/app/OrderMgmt/grn-task/grn-task.component.ts","webpack:///src/app/OrderMgmt/grn-task/grn-task.component.html","webpack:///src/app/OrderMgmt/grn-task/grn-task.service.ts","webpack:///src/app/OrderMgmt/grn-task/update-grn-task/update-grn-task.component.ts","webpack:///src/app/OrderMgmt/grn-task/update-grn-task/update-grn-task.component.html","webpack:///src/app/OrderMgmt/ordermgmtfilterdata.ts","webpack:///src/app/OrderMgmt/po-fulfilment/add-po-fulfilment/add-po-fulfilment.component.ts","webpack:///src/app/OrderMgmt/po-fulfilment/add-po-fulfilment/add-po-fulfilment.component.html","webpack:///src/app/OrderMgmt/po-fulfilment/po-fulfilment.component.ts","webpack:///src/app/OrderMgmt/po-fulfilment/po-fulfilment.component.html","webpack:///src/app/OrderMgmt/po-fulfilment/po-fulfilment.service.ts","webpack:///src/app/OrderMgmt/po-payment/add-payment/add-payment.component.ts","webpack:///src/app/OrderMgmt/po-payment/add-payment/add-payment.component.html","webpack:///src/app/OrderMgmt/po-payment/po-payment.component.ts","webpack:///src/app/OrderMgmt/po-payment/po-payment.component.html","webpack:///src/app/OrderMgmt/po-payment/po-payment.service.ts","webpack:///src/app/OrderMgmt/product-details/add-product-details/add-product-details.component.ts","webpack:///src/app/OrderMgmt/product-details/add-product-details/add-product-details.component.html","webpack:///src/app/OrderMgmt/product-details/product-details.component.ts","webpack:///src/app/OrderMgmt/product-details/product-details.component.html","webpack:///src/app/OrderMgmt/product-details/product-details.service.ts","webpack:///src/app/OrderMgmt/prs-master/add-prs/add-prs.component.ts","webpack:///src/app/OrderMgmt/prs-master/add-prs/add-prs.component.html","webpack:///src/app/OrderMgmt/prs-master/prs.component.ts","webpack:///src/app/OrderMgmt/prs-master/prs.component.html","webpack:///src/app/OrderMgmt/prs-master/prs.service.ts","webpack:///src/app/OrderMgmt/prs-master/prstask/action/prsaction.component.ts","webpack:///src/app/OrderMgmt/prs-master/prstask/action/prsaction.component.html","webpack:///src/app/OrderMgmt/prs-master/prstask/prstask.component.ts","webpack:///src/app/OrderMgmt/prs-master/prstask/prstask.component.html","webpack:///src/app/OrderMgmt/prs-master/prstask/prstask.service.ts","webpack:///src/app/OrderMgmt/prs-master/view-prs/view-prs.component.ts","webpack:///src/app/OrderMgmt/prs-master/view-prs/view-prs.component.html","webpack:///src/app/OrderMgmt/purchase-order-task/cancel-po-task/cancel-po-task.component.ts","webpack:///src/app/OrderMgmt/purchase-order-task/cancel-po-task/cancel-po-task.component.html","webpack:///src/app/OrderMgmt/purchase-order-task/history-task/history-task.component.ts","webpack:///src/app/OrderMgmt/purchase-order-task/history-task/history-task.component.html","webpack:///src/app/OrderMgmt/purchase-order-task/po-task.service.ts","webpack:///src/app/OrderMgmt/purchase-order-task/purchase-order-task.component.ts","webpack:///src/app/OrderMgmt/purchase-order-task/purchase-order-task.component.html","webpack:///src/app/OrderMgmt/purchase-order-task/update-po-task/update-po-task.component.ts","webpack:///src/app/OrderMgmt/purchase-order-task/update-po-task/update-po-task.component.html","webpack:///src/app/OrderMgmt/purchase-order-task/view-workflow/view-workflow.component.ts","webpack:///src/app/OrderMgmt/purchase-order-task/view-workflow/view-workflow.component.html","webpack:///src/app/OrderMgmt/purchase-order/add-po/add-po.component.ts","webpack:///src/app/OrderMgmt/purchase-order/add-po/add-po.component.html","webpack:///src/app/OrderMgmt/purchase-order/additional-terms/additional-terms.component.ts","webpack:///src/app/OrderMgmt/purchase-order/additional-terms/additional-terms.component.html","webpack:///src/app/OrderMgmt/purchase-order/purchase-order.component.ts","webpack:///src/app/OrderMgmt/purchase-order/purchase-order.component.html","webpack:///src/app/OrderMgmt/purchase-order/purchase-order.service.ts","webpack:///src/app/OrderMgmt/purchase-order/view-po/view-po.component.ts","webpack:///src/app/OrderMgmt/purchase-order/view-po/view-po.component.html","webpack:///src/app/OrderMgmt/rate-contract/add-rc/add-rc.component.ts","webpack:///src/app/OrderMgmt/rate-contract/add-rc/add-rc.component.html","webpack:///src/app/OrderMgmt/rate-contract/rate-contract.component.ts","webpack:///src/app/OrderMgmt/rate-contract/rate-contract.component.html","webpack:///src/app/OrderMgmt/rate-contract/rate-contract.service.ts","webpack:///src/app/OrderMgmt/rate-contract/rc-additional-terms/rc-additional-terms.component.ts","webpack:///src/app/OrderMgmt/rate-contract/rc-additional-terms/rc-additional-terms.component.html","webpack:///src/app/OrderMgmt/rate-contract/view-rc/view-rc.component.ts","webpack:///src/app/OrderMgmt/rate-contract/view-rc/view-rc.component.html","webpack:///src/app/OrderMgmt/rc-product-details/add-rc-product-details/add-rc-product-details.component.ts","webpack:///src/app/OrderMgmt/rc-product-details/add-rc-product-details/add-rc-product-details.component.html","webpack:///src/app/OrderMgmt/rc-product-details/rc-product-details.component.ts","webpack:///src/app/OrderMgmt/rc-product-details/rc-product-details.component.html","webpack:///src/app/OrderMgmt/rc-product-details/rc-product-details.service.ts","webpack:///src/app/OrderMgmt/vendor-comparison/add-vendor-comparison/add-vendor-comparison.component.ts","webpack:///src/app/OrderMgmt/vendor-comparison/add-vendor-comparison/add-vendor-comparison.component.html","webpack:///src/app/OrderMgmt/vendor-comparison/vendor-comparison.component.ts","webpack:///src/app/OrderMgmt/vendor-comparison/vendor-comparison.component.html","webpack:///src/app/OrderMgmt/vendor-comparison/vendor-comparison.service.ts","webpack:///src/app/OrderMgmt/vendor-payment-collection/add-payments/add-payments.component.ts","webpack:///src/app/OrderMgmt/vendor-payment-collection/add-payments/add-payments.component.html","webpack:///src/app/OrderMgmt/vendor-payment-collection/payments.component.ts","webpack:///src/app/OrderMgmt/vendor-payment-collection/payments.component.html","webpack:///src/app/OrderMgmt/vendor-payment-collection/payments.service.ts","webpack:///src/app/ProjectMgmt/ProjectApproval/projectapproval.component.ts","webpack:///src/app/ProjectMgmt/ProjectApproval/projectapproval.component.html","webpack:///src/app/ProjectMgmt/ProjectApproval/projectapproval.service.ts","webpack:///src/app/ProjectMgmt/ProjectMapping/addprojectMapping/addprojectMapping.component.ts","webpack:///src/app/ProjectMgmt/ProjectMapping/addprojectMapping/addprojectMapping.component.html","webpack:///src/app/ProjectMgmt/ProjectMapping/project-mapping.component.ts","webpack:///src/app/ProjectMgmt/ProjectMapping/project-mapping.component.html","webpack:///src/app/ProjectMgmt/ProjectMapping/project-mapping.service.ts","webpack:///src/app/ProjectMgmt/ProjectMaster/addproject/addproject.component.ts","webpack:///src/app/ProjectMgmt/ProjectMaster/addproject/addproject.component.html","webpack:///src/app/ProjectMgmt/ProjectMaster/projectattachment/projectattachment.component.ts","webpack:///src/app/ProjectMgmt/ProjectMaster/projectattachment/projectattachment.component.html","webpack:///src/app/ProjectMgmt/ProjectMaster/projectconfiguration/projectconfiguration.component.ts","webpack:///src/app/ProjectMgmt/ProjectMaster/projectconfiguration/projectconfiguration.component.html","webpack:///src/app/ProjectMgmt/ProjectMaster/projectdetails/projectdetails.component.ts","webpack:///src/app/ProjectMgmt/ProjectMaster/projectdetails/projectdetails.component.html","webpack:///src/app/ProjectMgmt/ProjectMaster/projectmaster.component.ts","webpack:///src/app/ProjectMgmt/ProjectMaster/projectmaster.component.html","webpack:///src/app/ProjectMgmt/ProjectMaster/projectmaster.service.ts","webpack:///src/app/ProjectMgmt/ProjectMaster/viewproject/viewproject.component.ts","webpack:///src/app/ProjectMgmt/ProjectMaster/viewproject/viewproject.component.html","webpack:///src/app/UniqueSiteId/UniqueSiteIdFilterData.ts","webpack:///src/app/UniqueSiteId/city/city.component.ts","webpack:///src/app/UniqueSiteId/city/city.component.html","webpack:///src/app/UniqueSiteId/city/city.service.ts","webpack:///src/app/UniqueSiteId/geography/geography.component.ts","webpack:///src/app/UniqueSiteId/geography/geography.component.html","webpack:///src/app/UniqueSiteId/geography/geography.service.ts","webpack:///src/app/UniqueSiteId/location/add-location/add-location.component.ts","webpack:///src/app/UniqueSiteId/location/add-location/add-location.component.html","webpack:///src/app/UniqueSiteId/location/location.component.ts","webpack:///src/app/UniqueSiteId/location/location.component.html","webpack:///src/app/UniqueSiteId/location/location.service.ts","webpack:///src/app/UniqueSiteId/police-station/police-station.component.ts","webpack:///src/app/UniqueSiteId/police-station/police-station.component.html","webpack:///src/app/UniqueSiteId/police-station/police-station.service.ts","webpack:///src/app/VendorMgmt/address-master/add-address/add-address.component.ts","webpack:///src/app/VendorMgmt/address-master/add-address/add-address.component.html","webpack:///src/app/VendorMgmt/address-master/address-master.component.ts","webpack:///src/app/VendorMgmt/address-master/address-master.component.html","webpack:///src/app/VendorMgmt/address-master/address-master.service.ts","webpack:///src/app/VendorMgmt/party-gst/party-gst.component.ts","webpack:///src/app/VendorMgmt/party-gst/party-gst.component.html","webpack:///src/app/VendorMgmt/party-gst/party-gst.service.ts","webpack:///src/app/VendorMgmt/party-master/add-party/add-party.component.ts","webpack:///src/app/VendorMgmt/party-master/add-party/add-party.component.html","webpack:///src/app/VendorMgmt/party-master/party-master.component.ts","webpack:///src/app/VendorMgmt/party-master/party-master.component.html","webpack:///src/app/VendorMgmt/party-master/party-master.service.ts","webpack:///src/app/app-material/app-material.module.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/auth.guard.ts","webpack:///src/app/dashboard/dashboard.component.ts","webpack:///src/app/dashboard/dashboard.component.html","webpack:///src/app/dashboard/dashboard.service.ts","webpack:///src/app/directive/onlynumber.directive.ts","webpack:///src/app/directive/tripaddress.directive.ts","webpack:///src/app/global/app.global.ts","webpack:///src/app/global/fileupload/fileupload.component.ts","webpack:///src/app/global/fileupload/fileupload.component.html","webpack:///src/app/layout/header/header.component.ts","webpack:///src/app/layout/header/header.component.html","webpack:///src/app/layout/leftmenu/leftmenu.component.ts","webpack:///src/app/layout/leftmenu/leftmenu.component.html","webpack:///src/app/layout/loader/loader.component.ts","webpack:///src/app/layout/loader/loader.component.html","webpack:///src/app/layout/potab/potab.component.ts","webpack:///src/app/layout/potab/potab.component.html","webpack:///src/app/layout/projecttab/projecttab.component.ts","webpack:///src/app/layout/projecttab/projecttab.component.html","webpack:///src/app/layout/vendortab/vendortab.component.ts","webpack:///src/app/layout/vendortab/vendortab.component.html","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/login/login.service.ts","webpack:///src/app/mat-confirm-dialog/mat-confirm-dialog.component.ts","webpack:///src/app/mat-confirm-dialog/mat-confirm-dialog.component.html","webpack:///src/app/service/dialog.service.ts","webpack:///src/app/service/exceptionhandler.service.ts","webpack:///src/app/service/fileupload.service.ts","webpack:///src/app/service/shared.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","AssetConstantMasterComponent","formBuilder","router","route","http","constantMasterService","_global","dialogService","sharedService","result","displayedColumns","showLoading","itemPerPage","pageNumer","pageSizedisplay","pageSize","disableFlag","PageTitle","add","edit","list","AssetConstantAdd","AssetConstantEdit","AssetConstantView","AssetConstantDelete","AssetConstantMasterData","isSubmitted","cancel","formDirective","resetForm","enabledField","FilterData","filterDiv","filterFunc","cancelSearch","sessionStorage","removeItem","search","addAssetConstantData","flag","addConstantForm","invalid","headers","getItem","saveData","subscribe","resp","successMessage","openConfirmDialog","afterClosed","res","error","errStr","errorDetail","getConstantList","constantFilterSession","constantname","setItem","JSON","stringify","Object","values","every","o","undefined","AssetConstantRecordData","sort","paginator","totalRecords","filteredData","length","statusText","navigate","message","editon","name","disabledField","constantByName","onDelete","DeleteMsg","deleteAssetConstant","clearFields","get","disable","enable","event","filterValue","target","value","filter","trim","toLowerCase","UserRights","includes","group","required","term","constantnamefor","parse","controls","applyFilter","selector","templateUrl","providers","AssetConstantMasterService","_http","body","header","url","baseAPIUrl","post","put","providedIn","AssetCountReportComponent","reportService","state","district","ReportValue","getAssetsCountReport","parameter","assetCount","ReportRecord","selectedParameter","AssetCountReportService","AddAssetComponent","assetService","matSelectDuration","matSelectDurationTime","view","AssetData","city","policestation","category","subcategory","categoryList","subcategoryList","projectList","productList","partyList","eolList","depreciationList","stateList","districtList","cityList","policestationList","locationList","statusList","assetStatusList","back","getActiveCategory","getActiveSubCategoryfromcategory","Name","getActiveProduct","getActiveProductfromsubcategory","getActiveProject","getActiveVendors","getActiveParty","getActiveEol","getActiveDepreciation","getActiveState","getStateList","getActiveDistrictFromstate","getDistrictList","getActiveCityFromDistrict","getActiveCityListFromDistrict","getActivePoliceStationFromCity","getActiveLocationFromCity","getActiveLocationFromPoliceStation","addAsset","purchasedate","getTime","warrantytilldate","addAssetForm","saveAssetData","Date","clearfields","assetById","tempRes","entityId","assetname","serialno","assettag","deliverychallanno","depreciation","eol","notes","orderno","productid","projectname","projectid","assetstatus","vendorname","isprimary","location","disableAll","disableForTeamLeader","hideState","o1","o2","snapshot","params","page","AssetAuditComponent","dialogRef","data","openAudit","record","AssetAuditRecord","auditDiv","console","log","close","closeDialog","AssetMasterComponent","dialog","exportColumns","AssetDataExport","selectAsset","assetAdd","assetEdit","assetView","assetDelete","addAssets","stateName","getActiveCity","getCityList","getAssetList","assetfilterSession","content","AssetRecord","totalElements","experienceId","deleteAsset","openAuditData","assetAudit","dialogConfig","disableClose","autoFocus","width","open","constructor","AssetMasterService","AssetTPAComponent","assetMisfilterSession","AssetTPAService","CategoryMasterComponent","categoryService","doItFlag","parentFlag","parentCategory","categoryMasterAdd","categoryMasterEdit","categoryMasterView","categoryMasterDelete","CategoryChild","CategoryData","CategoryTemp","addCategoryForm","reset","addCategoryData","saveCategory","getCategoryList","categoryFilterSession","categoryname","CategoryRecordData","categoryByName","parent","temp","getType","categorytype","deleteCategoryData","selectCategory","CategoryService","CityInstallationComponent","addReport","getReportList","CityReportRecord","deleteReport","viewReport","CityInstallationReportService","AddCityInstallationComponent","enableCity","displayedColumns1","ReportData","searchCity","enableReport","getAssetDataFromCity","installationdate","podate","installationMasterChild","addCityForm","saveReport","reportById","CityMasterData","citySort","cityPaginator","totalRecordsCity","poreferenceno","pono","project","customerdepartment","contactperson","telno","address","designation","remark","installationattachment","applyFilterCity","ViewCityInstallationReport","fileuploadService","attachmentFiles","uploadFlag","cityAssets","getSingleFileArray","dcBind","disablePrint","hasfile","allFilesUploaded","getFirstFilePath","dc","dcdate","DCData","enableUpload","obj","cmpName","printContents","popupWin","document","getElementById","innerHTML","window","write","CityWiseAssetReportComponent","displayedColumns2","enableLocation","enableAsset","searchLocation","citycount","LocationMasterData","usidcount","getAssetsFromLocation","locationid","updateAsset","applyFilterLoc","applyFilterAsset","UpdateDCAssetComponent","replace","executeAdd","assetname1","serialno1","assettag1","addNew","saveNewAsset","disableDC","AddDeliveryChallanComponent","dcService","disableEdit","addressList","gstList","party","disableAdd","AssetEntityId","getAllAddressOfParty","userid","consignor","getGstFromAddress","getAddressDetails","gstData","gstNo","gstno","contactPerson","contactNo","mobileno","addDC","asset","saveAsset","addDCForm","saveDC","totalAssets","selectedAsset","tempAsset","i","push","noofboxes","table","renderRows","disableText","splice","indexOf","dsData","dcById","assetRecord","dcno","fulladdress","consigneename","consigneecontact","shippedto","boxes","CourierDetailsComponent","iddcService","oemdcService","invoice","Courier","addCourierDetails","addIDDCCourierDetails","addOEMDCCourierDetails","addCourierForm","courierdate","editCourierdetails","editIDDCCourierdetails","editOEMDCCourierdetails","courierDetails","courierno","DeliveryChallanComponent","deliveryChallanAdd","deliveryChallanEdit","deliveryChallanView","deliveryChallanDelete","getDCList","dcFilterSession","DCRecord","openCourierdetails","deleteDC","viewDC","DeliveryChallanService","SearchAssetComponent","getDCAssetList","setValue","Obj","item","productname","item1","pop","addSelected","ViewDeliveryChallanComponent","dcAsset","viewdcById","challanattachment","errorMessage","enablePrintFlag","uploadflag","HsnMasterComponent","hsnMasterService","hsnAdd","hsnEdit","hsnView","hsnDelete","HSNData","addHsnForm","enableGst","igst","tax","addHSN","saveHSN","deleteHsnById","getHSNList","HSNMasterData","editData","country","disableGst","cgst","sgst","hsncode","countryChange","HsnMasterService","ActionComponent","taskService","invoiceService","invoicedate","invoiceno","accountFiles","signedFiles","ActionData","processDC","action","editInterDC","taskById","processProject","processTask","editProject","processInvoice","assignToRole","invoiceexcel","approvalStatus","invoicesignedexcel","editInvoice","AddInterDCComponent","getActiveLocations","getWarehouse","sendToWarhouse","InterDistrictDCComponent","disableSendTo","actionFlag","approvalFlag","interDistrictAdd","interDistrictEdit","interDistrictView","interDistrictDelete","InterDistrictDCService","ViewInterDistrictDCComponent","deleted","printflag","isdeleted","ManufacturerComponent","manufacturerService","manufacturerAdd","manufacturerEdit","manufacturerView","manufacturerDelete","ManufacturerData","addManufacturer","addManufacturerForm","saveManufacturer","getManufacturerList","manufacturerFilterSession","manufacturername","ManufacturerRecord","deleteManufacturar","ManufacturerService","ModelMasterComponent","modelMasterService","manufacturename","modelAdd","modelEdit","modelView","modelDelete","ModelData","manufacturerList","addModelForm","addModelData","manufacture","saveModelData","getModelList","modelMasterFilterSession","modelname","ModelMasterData","modelByName","getActiveManufacturer","deleteModel","description","ModelMasterService","modelName","AddOEMDCComponent","remove","OEMActionComponent","oemService","dialog1","receiveAssetByOEM","OEMDCComponent","oemDeliveryChallanAdd","oemDeliveryChallanEdit","oemDeliveryChallanView","oemDeliveryChallanDelete","OEMDeliveryChallanService","status","ViewOEMDCComponent","AddProductComponent","productService","ProductData","hsnList","modelList","baseUomList","ConstantData","getActiveHsn","getActiveModelfrommanufacturer","getAllConstants","type","getAllConstant","addProduct","addProductForm","saveProductData","productById","ishazardous","barcode","producttype","baseuom","manufacturer","model","hazardousgoodtype","hsndescription","hazardousChange","ProductMasterComponent","productAdd","productEdit","productView","productDelete","ProductDataExport","addProducts","getProductList","productFilterSession","ProductRecord","deleteProduct","productMasterFilterSession","ProductMasterService","USIDInstallationComponent","USIDReportRecord","USIDInstallationReportService","AddUSIDInstallationComponent","getLocationList","getLocationData","Data","locationaddress","zip","getAssetDataFromLocation","ViewUSIDInstallationReport","locationAssets","AssetFilterSession","AssetMisFilterSession","ConstantFilterSession","DCFilterSession","CategoryFilterSession","ProductMasterMisFilterSession","ModelMasterFilterSession","ManufacturerFilterSession","InvoiceAgeingReportComponent","getReport","projectId","invoiceAgingReport","InvoiceRecord","BillingComparsionomponent","scheduleService","enableSchedule","ProjectData","ProjectDataFlag","billingComparsionReport","ScheduleRecord","applyFilterProject","BillingReportService","year","month","MonthlyBillingComponent","monthList","selectedYear","enableMonth","monthlyOfBillingReport","MonthData","monthlyBillingReport","reportForm","MonthlyCollectionComponent","monthlyOfCollectionReport","monthlyCollectionReport","CollectionRecord","AddScheduleComponent","ScheduleData","addSchedule","dateofbilling","addScheduleForm","milestoneno","saveSchedule","scheduleById","amountofbilling","BillingScheduleComponent","billingScheduleAdd","billingScheduleEdit","billingScheduleView","billingScheduleDelete","getScheduleByProject","getScheduleList","deleteSchedule","BillingScheduleService","AddCollectionComponent","collectionService","CollectionData","invoiceList","uploadpaymentadvice","addCollection","collectiondate","addCollectionForm","gsttdsdeducted","deductiondescription","saveCollection","getInvoiceList","getInvoice","invoiceById","netamountcredieted","totalamount","invoiceValue","calculateCollection","tdsdeducted","otherdeducted","amt","parseFloat","collectionById","invoiceid","utrno","CollectionTaggingComponent","invoiceCollectionAdd","invoiceCollectionEdit","invoiceCollectionView","invoiceCollectionDelete","enableCollection","getCollectionByProject","getCollectionList","deleteCollection","getCollecionByProject","submitForApproval","baseUrl","CollectionTaggingService","CollectionActionComponent","editTask","CollectionTaskComponent","historyColumns","history","getTaskList","TaskRecord","getHistoryTask","viewInvoice","CollectionTaskService","AddInvoiceComponent","InvoiceData","completionStatusList","completionStatus","milestoneList","attachmentInvoice","attachmentSupportingDoc","getMilestoneList","calculateAmt","amountwithouttax","amountwithtax","customer","getPartyDetails","panNo","panno","addInvoice","addInvoiceForm","invoicesupportingdoc","saveInvoice","customeraddress","accountexcel","InvoiceComponent","enableInvoice","invoiceAdd","invoiceEdit","invoiceView","invoiceDelete","getInvoiceByProject","deleteInvoice","InvoiceService","InvoiceTaskComponent","InvoiceTaskService","ViewInvoiceComponent","viewInvoiceById","ManagerUserFilterSession","MenuFilterSession","ChangePasswordComponent","changePasswordService","chngPasswordData","errorHandle","chngpassword","changepasswordForm","changepassword","newPassword","oldPassword","ChangePasswordService","DepartmentComponent","departmentService","departmentEdit","departmentAdd","departmentDelete","DepartmentData","addDepartmentForm","addDepartment","saveDepartment","deleteDepartmentByName","getDepartmentList","DepartmentMasterData","departmentName","departmentByName","departmentCode","DepartmentService","FamilyComponent","familyService","familyEdit","familyDelete","familyAdd","FamilyData","addFamily","addFamilyForm","dob","saveFamily","deleteFamilyById","getFamilyList","FamilyMasterData","familyById","memberName","memberContact","relationship","FamilyService","ForgotPasswordComponent","forgotPasswordService","forgotPasswordData","forgotpassword","forgotpasswordForm","username","ForgotPasswordService","MenuComponent","menuService","menuEdit","menuAdd","menuDelete","MenuData","ParentMenuName","ParentMenuList","formatData","closeFilter","getAllParentMenu","getParentMenuList","addMenu","addMenuForm","menuname","saveMenu","getMenuList","menuFilterSession","displayname","MenuMasterData","deleteMenuByName","urlpath","menuorder","MenuService","MyprofileComponent","myprofileService","profileEdit","ProfileData","getProfile","userProjectList","myproject","getProjectLevelList","userProjectMapping","adminEdit","hasOwnProperty","MyprofileService","OrganizationComponent","organizationService","orgEdit","orgDelete","orgAdd","OrganizationData","addOrganization","addOrganizationForm","saveOrganization","getOrganizationList","OrgMasterData","orgId","OrgById","deleteOrgById","orgName","orgCountry","orgDirectors","orgPan","orgTan","orgRegAddress","OrganizationService","ResetPasswordService","ResetPasswordComponent","resetPasswordService","resetPasswordData","resetpass","resetpasswordForm","resetpassword","token","$event","stopPropagation","AddRoleComponent","roleService","RoleData","AddRoleData","panelOpenState","menuRole","childmenuRole","ConvertAddtoSaveRoleRight","menuList","menuRights","rolename","childMenu","menuName","enableAdd","enableEdit","enableView","enableDelete","j","addRole","addRoleForm","saveRole","findRoleById","AllMenuList","RoleComponent","deactivate","roleEdit","roleView","roleDelete","roleAdd","deleteRoleByName","roleList","RoleMasterData","RoleService","AddUserComponent","userProfileService","profilefiles","roleAdmin","roleAdminbtn","profilepic","UserProfileData","tLState","TLdistrictList","departmentList","organizationsList","orgFormatData","roleFormatData","districtFormatData","tlFlag","backprofile","getAllTLDistrictByState","getAllDepartment","getAllOrganizations","getOrganizationsList","getAllRole","getRoleList","getAllState","getAllDistrictByState","orgElements","SelectORG","items","SelectRole","disableTLStateDist","addUserForm","item2","GetRoleAsString","roleString","SelectDistrict","item3","itemtemp","geographyname","parentgeography","addUser","profileImage","organizations","roles","mappeddistrict","confirmed","userName","emailId","password","doj","saveUser","updateprofile","updateProfile","updateroles","updateAdminRight","userId","findUserById","adminrole","AdmindisabledField","picker","firstName","lastName","mobileNumber","gender","bloodGroup","emergencyContactMobile","emergencyContactPerson","employeeCode","department","UserProfileComponent","userEdit","userView","userAdd","userDelete","userList","userFilterSession","fullName","UserMasterData","deleteUserById","lockUnlock","profileid","getlockUnlock","UserProfileService","CurrencyMasterComponent","currencyMasterService","CurrencyData","clear","addCurrency","addCurrencyMasterForm","saveCurrency","currencyList","CurrencyMasterData","currencyName","isDeleted","deleteCurrencyById","currencySymbol","organisationId","CurrencyMasterService","categoryName","TicketFilterSession","TicketMISFilterSession","TicketSLAFilterSession","TicketAgingFilterSession","VehicleFilterSession","SupportFilterSession","IncidentFilterSession","AddLicenseComponent","licenseMasterService","LicenseData","uploadFiles","getEolList","addLicense","addLicenseMasterForm","purchaseDate","warranty","uploadedAttachment","saveLicense","licenseTag","licenseById","softwareName","serialNo","licenseToName","licenseToEmail","seats","orderNo","subCategory","purchaseCost","LicenseMasterComponent","licenceAdd","licenceEdit","licenceView","licenceDelete","deleteLicenseByTag","_body","getLicenseList","LicenseMasterData","LicenseMasterService","AddSupportTeamComponent","supportTeamService","supportIdFiles","supportAddressFiles","SupportTeamData","getActiveLocationsFromDistrict","addSupportTeam","addSupportTeamForm","addressProof","serviceStartDate","saveSupportTeam","getSupportTeamByEmployeeId","idProof","vehicleSupportType","pincode","usid","employeeId","SupportTeamComponent","getSupportTeamList","supportFilterSession","SupportTeamMasterData","deleteVehicle","vehicleRegNo","deleteSupportTeam","SupportTeamService","TicketCategoryComponent","ticketCategoryService","ticketCategoryAdd","ticketCategoryEdit","ticketCategoryView","ticketCategoryDelete","ticketCategoryList","getAllCategory","getActiveCategoryList","addCategory","categoryType","parentCategoryId","addTicketCategoryForm","CategoryMasterData","CategoyById","TicketCategoryService","TicketClassificationComponent","ticketClassificationService","ticketClassificationsAdd","ticketClassificationsEdit","ticketClassificationsView","ticketClassificationsDelete","ClassificationData","classificationList","getProjectList","addClassification","addTicketClassificationForm","saveClassification","getActiveClassification","deleteClassificationData","getClassificationList","ClassificationMasterData","classificationValue","classificationById","TicketClassificationService","classification","AddTicketComponent","ticketMasterService","locationService","BackToTask","TicketData","contactEmail","ticketAttachment","assetList","assetTagList","taskHistoryList","classifications","problemReportList","emailAndPhone","mobileNo","subCategoryList","BackToMis","BackToSla","BackToInc","BackToAge","BackToEsc","onLocation","getAssetByLocation","getDataByProject","getClassificationByProject","getProblemByProject","getAllUser","getActiveUserList","getEmailByAssignName","getEmailByUserProfielName","getMobileNoByUserProfile","getAllSubcategoryByCategory","getSubcategoryByCategory","getAssetById","getUserProfileById","userProfileList","getLocationById","findlocationById","ticketClosedTime","generateCloseTime","time","TicketDate","ticketStatus","addTicketMasterForm","localdate","newDate","getFullYear","getMonth","toString","padStart","getDate","getHours","getMinutes","getFormattedDate","addTicket","classificationsChange","assignTo","attachment","duedate","dueDate","resDate","resolutionDate","currentDate","closetime","saveTicket","saveAsDraft","updateTicketData","generateSLADateTime","createdDate","setHours","closedFlag","draftFlag","ticketById","assetid","accountName","ticketCategory","problemChange","classificationTemp","splitted","split","getHistoryDataById","ticketNo","disableFields","hasRole","datemilli","maxDate","toISOString","maxDateDisabled","maxDateMethod","otherProblemDescription","ticketOwner","ticketType","ticketTitle","contactName","channel","email","phone","assignName","ticketSubcategory","resolution","priority","TicketMasterComponent","pageNumber","loading","TicketDataExport","ticketMasterAdd","ticketMasterEdit","ticketMasterView","ticketMasterDelete","ticketList","ticketfilterSession","TicketMasterData","exportToExcel","reopenTicket","hasRoleCHM","pageIndex","onPaginateChange","TicketMasterService","AddTaskComponent","ticketTaskService","buttonDisabled","outsideToken","tripSearchResults","thirdPartyRequest","ticketId","tempTrip","tripSearch","trip","vendorList","TicketTaskData","TaskData","assignToUser","vehicleList","tripResults","getVehicleList","VehicleMasterData","getVendorList","getActiveVehicleList","addTask","addTaskForm","captureImg","resolutiontime","TaskData1","saveTask","closeTrip","optionToggled","TripData","selected","tripId","alert","sameDateFlag","parentId","groupId","latitude","longitude","startTime","endTime","maxSpeed","urlString","polyline","polyLine","sourceLat","sourceLong","destinationLat","destLat","destinationLong","destLong","distanceValue","locationType","ignitionEvent","obdSerialId","sourceAdd","destAdd","vehicleNo","records","removeByAttr","idList","searchTrip","request","recDeStaus","tripFromDate","fromDate","todayDate","today","vehicle","getAllDataFromOut","tripSearchResults1","payLoad","clearFlag2","tripSearchResultsFinal","tempDate","toDate","tripList","loginRequest","loginToThirdParty","thirdPartyCredentials","authToken","logoutToThirdParty","tripOption","addTrip","addTripFlag","tripToDate","getTripDataByTicket","searchResults","removeTrip","removeTripId","removeTripFromTicket","arr","attr","saveTripAndUpdateTicket","saveTripData","updateTripData","updateTicket","saveTripDataFromThirdParty","getTicketById","slice","statusChanged","AddTripComponent","TicketTaskComponent","HistoryTaskList","TicketTaskService","assign","lat","long","TicketProblemReportComponent","ticketProblemReportService","ticketproblemReportedAdd","ticketproblemReportedEdit","ticketproblemReportedView","ticketproblemReportedDelete","ProblemReportData","addProblemReport","addTicketProblemReportForm","saveProblemReport","deleteProblemData","getproblemReportList","ProblemReportMasterData","problemReportValue","problemReportById","TicketProblemReportService","problemReport","TicketAgeingReportComponent","ticketService","getAllVendorList","ticketAgeingReport","AgeingFilterSession","vendorName","TicketEscalationReportComponent","escalatedOn","ticketEscalationReport","TicketIncidentReportComponent","downloadEnable","fromdateSheet","todateSheet","incidentReport","incidentFilterSession","printComponent","OrphanTripsComponent","TripDataExport","orphanTrips","TicketSLAReportComponent","ticketSlafilterSession","ticketSLAReport","TicketMISComponent","ticketMisReport","ticketMisfilterSession","TicketReportService","AddVehicleComponent","vehicleMasterService","vehRegFiles","vehInsFiles","vehPollFiles","vehOtherFiles","vehLetterFiles","vehInvoiceFiles","vehReleaseFiles","VehicleData","manufactureList","getManfactureList","addVehicle","addVehicleMasterForm","regCertificate","insuranceCertificate","pollutionCertificate","otherDocuments","letterOfIntent","releaseDocument","vehiclepurchaseDate","deliveryDate","saveVehicle","vehicleById","vehicleType","vehicleName","vehicleMake","vehicleCateory","vehicleRegNumber","projectName","vehicleInsurance","pollutionClearanceDone","remarks","VehicleMasterComponent","vehicleFilterSession","VehicleMasterService","AddVehicleServiceComponent","vehicleServiceMasterService","vehServiceFiles","VehicleServiceData","IsAFreeService","checked","addVehicleService","addVehicleServiceForm","servicePeriodFrom","servicePeriodTo","nextServiceDueDate","saveVehicleService","vehicleRegistrationNumber","vehicleServiceByVehicleRegNo","isAFreeService","serviceInvoiceNumber","serviceCentreName","kilometerReading","serviceStatus","serviceCostIncurred","VehicleServiceMasterComponent","getVehicleServiceList","VehicleServiceMasterData","deleteVehicleService","VehicleServiceMasterService","GrnReportComponent","poReportsService","GrnData","getGrnReport","GrnReportData","poList","getPoList","grnReportForm","purchaseOrderNo","suppId","MonthlyPaymentComponent","MonthlyData","getPoMonthlyReport","POMonthData","addPoMonthlyForm","PendingPaymentComponent","POPendingData","getPoPendingReport","POPendingPaymentData","addPoPendingForm","PoCriteriaReportComponent","ReportRequest","wiseReport","productId","getPoCriteriaReport","PoCriteriaData","getAllProduct","addPoCriteriaForm","PoFullfillmentReportComponent","PoFulfillment","getPoFulfilmentReport","PoFulfillmentData","getAllParty","partyId","PoReportsService","PoWiseProductReportComponent","PoWiseData","getPowiseProductReport","PoWiseProductData","addPoWiseProductForm","poNumber","ProjectVendorWisePoReportComponent","getProjectVendorWiseReport","projectVendorWiseReportForm","PrsReportComponent","PrsData","getPrsReport","PrsReportData","getAllProjects","addPrsReportForm","prsNo","purchaseOrderNumber","issueChequeTo","StatusWisePoReportComponent","displayedPoColumns","StatusCountReport","PoRequest","getApprovalCount","posearch","getAllApprovalReport","PoSearch","poStatusForm","AddBoqComponent","boqMasterService","BoqEntityData","saveBoq","boqDate","addBoqForm","updateBoq","getBoqById","boqNo","accountId","BoqMasterComponent","addBoq","searchBoq","getAllBoq","BoqListData","BoqMasterService","ConstantMasterComponent","constantAdd","constantEdit","constantView","constantDelete","addConstant","saveConstant","updateConstant","ConstantMasterData","getConstantById","deleteon","deleteConstantById","orgList","ConstantMasterService","AddGrnComponent","grnMasterService","grnTaskService","cdr","TaskEntityData","dcCopyUpload","lrCopyUpload","taskId","filteredPoList","task","saveGrn","addGrnForm","grnNumber","grnDate","poNo","productDetails","prodDetails","deliveryChallanDate","invoiceDate","updateGrn","acceptedQuantity","getGrnById","prodList","getApprovedPoList","getProductListByPo","poId","isNaN","tempArray","changeQuantity","index","rejectedQuantity","receivedQuantity","quantity","productName","getTaskById","reSendTask","detectChanges","deliveryChallanNo","invoiceNo","transporterName","valueChanges","pipe","getFilteredPoData","val","selectionvalue","poitem","find","po","selectionid","GrnMasterComponent","grnAdd","grnEdit","grnView","grnDelete","addGrn","getAllGrn","grnFilterSession","GrnMasterData","grnId","GrnMasterService","GrnTaskComponent","addPO","GrnTaskFilterSession","getAllPendingTask","TaskListData","GrnTaskService","UpdateGrnTaskComponent","updateTask","addGrnTaskForm","searchWorkflowHistory","getWorkflowHistory","WorkflowHistoryData","stageName","workflowName","PoFilterSession","RcFilterSession","PrsFilterSession","GrnFilterSession","PoApprovalFilterSession","AddPoFulfilmentComponent","poFulfilmentService","PoFulfilmentData","addPoFulfilment","addPoFulfilmentForm","fulfilmentDate","nextdeliveryDate","saveFulfilment","getFulfilmentById","delayReason","delayCategory","PoFulfilmentComponent","goBack","getAllFulfilmentsByPo","PoFulfilmentMasterData","deleteFulfilment","deleteFulfilmentById","PoFulfilmentService","AddPaymentComponent","poPaymentService","PoPaymentData","addPoPaymnet","addPoPaymentForm","scheduleDate","paymentDate","savePayment","getPaymentById","amount","paymentMode","ddNumber","ddBank","invoiceNumber","cashBackReceived","interestPaid","PoPaymentComponent","addPoPayment","getAllPaymentsByPo","PoPaymentMasterData","deletePayment","deletePaymentById","PoPaymentService","AddProductDetailsComponent","productDetailsService","isHistoricData","applyGstFlag","currency","isSameState","ProductDetailsEntityData","PoParent","addProductDetailsForm","purchaseOrder","saveProductDetails","discount","discountAmount","stateFlag","updateProductDetails","getProductDetailsById","getAllProductByOrg","getRcProductList","rcId","getListOfProductsInRc","getHsnList","getAllHsn","getPerticularHSN","getHsnByCodeValue","rate","cal","toFixed","totalDiscount","totalAmount","cgstAmount","sgstAmount","igstAmount","finalAmount","serviceTax","vat","hsnId","ProductDetailsComponent","poTaskService","workflowDiv","additionalTerms","ProductDetailsCard","searchAllProductDetailsByPo","ProductDetailsList","editProduct","deleteProductDetailsById","openTask","getAllWorkflowsByType","poRcWorkflow","closeTask","poRcFlag","WorkflowRequest","workflowList","workflowType","projectType","organisation","ProductDetailsService","AddPrsComponent","prsService","purchaseOrderService","prsTaskService","deptList","officeList","grnList","billTypeList","isUtilityPayment","attachedBill","invoiceFileUpload","attachments","taskFlag","savePrs","addPrsForm","office","billType","billNo","allUploadedFiles","prsDate","paymentDueDate","attachBill","updatePrs","invoiceAmount","prsId","getPrsById","getMultipleFileArray","taskData","getAllDepartments","getAllGrnByPo","getAllOffice","getOfficeList","getAllPoListFromGrn","PoEntity","getSelectedPurchaseOrder","getPOById","supplierName","note","quotation","poCopy","checkedInvoiceCopy","approval","supportingDocuments","PRSComponent","prsAdd","prsEdit","prsView","prsDelete","addPrs","getPrsList","prsfilterSession","PrsListData","PRSService","PrsActionComponent","PrsTaskComponent","PrsTaskFilterSession","getHistoryTaskList","saveTaskId","PrsTaskService","ViewPRSComponent","prsTaskId","prs","getPrsView","regExpUuid","RegExp","containsUUID","s","str","substring","test","CancelPoTaskComponent","cancelPoTaskForm","uploadFile","HistoryTaskComponent","getAllHistoryTask","PoTaskService","PurchaseOrderTaskComponent","poApprovalFilterSession","supplierPartyList","UpdatePoTaskComponent","addPoTaskForm","ViewWorkflowComponent","AddPoComponent","rateContractService","projectMasterService","filteredProjectList","POEntityData","paymentModeList","deliveryTermList","paymentMethodList","currencyFlag","PoAttachments","signedCopyPath","attachmentsFlag","addPoForm","disableFieldsForUploadSignCopy","disableFieldsForRc","enableFieldsForRc","savePO","orderDate","includeTerms","updatePO","compareStateOfAddress","supplierDetails","billToAddress","billFromGstNo","rateContractId","rateContractData","changeRcSelection","poMadeFrom","getAllApprovedRcList","rcList","getApprovedRcList","getAllCurrency","getCurrencyList","purchaserPartyList","getAllPartyByOrg","getActivePartyByOrg","supplierAddressList","addressListPurchaser","getAddressByParty","gstDetails","getGstByPartyAndAddress","addressId","address1","address2","selectedAddress","getSelectedAddress","getAddressById","billFromState","addressChange","suppPartyId","suppAddress","purchaserAddress","getRateContractById","getRCById","modeOfPayment","dispatchThrough","deliveryTerm","suppliersReference","buyerName","invoiceToAddress","shipToAddress","projectData","getProjectById","projId","projectById","organization","getOrganisationById","organisationData","starOrganisationFlag","organisationChange","startsWith","orderType","paymentMethod","discountAmt","otherReference","termsConditions","filterStates","AdditionalTermsComponent","uploadedTermsAnnexure","addTermsForm","PurchaseOrderComponent","filterlbl","poDuplicate","poAdd","poEdit","poView","poDelete","getAllPoFromView","exportPOData","filterSession","POListData","deletePo","deletePurchaseOrder","generateDuplicateOrder","amendFlag","isAmendedFlag","generateDuplicatePo","requestForAmendment","amendmentForm","closebutton","nativeElement","click","pushPoToOpenBravo","amendPoId","getPoId","PurchaseOrderService","ViewPoComponent","oldPoData","oldProductDetails","attachFlag","isSameStateOld","oldfinalAmount","VerifyEntity","getPurchaseOrderInfo","suppState","buyBillToState","amountInWords","withDecimal","grandTotal","withDecimalUSD","getOldPoData","oldPoId","verifyPo","sendMail","sendMailToVendor","viewWorkflowHistory","takeAction","convertNumberToWords","words","Array","atemp","number","join","n_length","words_string","n_array","received_n_array","substr","parseInt","n","nums","whole","fraction","USDtoWords","th","dg","tn","tw","x","sk","Number","AddRcComponent","RCEntityData","RcAttachments","addRcForm","saveRC","contractDate","validTill","updateRC","rateContractNo","contractType","maxLimit","RateContractComponent","rcAdd","rcEdit","rcView","rcDelete","addRC","getAllRcFromView","RcfilterSession","RCListData","deleteRc","deleteRateContract","generateDuplicateRc","RateContractService","RcAdditionalTermsComponent","saveRcTask","ViewRcComponent","rateContract","getRateContractInfo","AddRcProductDetailsComponent","RcParent","RcProductDetailsComponent","searchAllProductDetailsByRc","RcProductDetailsService","AddVendorComparisonComponent","vendorComparisonService","VendorComparisonData","addVendorComparison","addVendorComparisonForm","deliveryTime","saveVendorComparison","getVendorComparisonById","customerName","paymentTerms","quality","VendorComparisonComponent","IsVendorComparison","getAllVendorComparisonsByPo","VendorComparisonMasterData","deleteVendorComparison","deleteVendorComparisonById","VendorComparisonService","AddVendorPaymentComponent","PaymentData","savePayments","addPaymentForm","prsid","updatePayments","paymentReference","VendorPaymentsComponent","vendorPaymentsService","addPayment","getPaymentListByPrs","PaymentListData","VendorPaymentsService","ProjectApprovalTaskComponent","ProjectRecord","viewProject","ProjectApprovalTaskService","AddProjectMappingComponent","projectMappingService","ProjectMappingModel","displayedColumns3","orgIdList","projectFlag","levelFlag","addProjectMapping","projectWorkFlowLevel","addLevels","addAllProjectMapping","islevelSelected","addAllLevels","org","level","getAllProject","getprojectList","projectRecord","orgRecord","getAllLevel","user","getAllLevels","LevelData","levelRecord","displayList","SelectProjects","isAllSelected","SelectAllProjects","getAllLevelsByOrg","isDisabled","SelectLevels","orgid","workflowlevel","ProjectMappingForm","applyFilterOrg","applyFilterLevel","ProjectMappingComponent","levelList","ProjectMappingData","deleteById","ProjectMappingService","levels","AddProjectComponent","projectService","showSubmit","backToTask","poAttachment","planAttachment","projectTypeList","newLevelList","AlllevelList","addLevelFlag","showUploadFlag","getProjectType","getProgressStatus","getAllUsers","getLevels","isEditable","next","addProject","addProjectForm","projectStartDate","projectStopDate","percentagePaymentReceived","percentageCompleted","flagForLevel","saveProjectData","poAttached","projectPlan","sendForApproval","submitUploads","clientName","practiceName","projectLocation","projectStatus","accountManager","projectManager","budget","projectPin","ProjectattachmentComponent","ProjectconfigurationComponent","submitToFlag","deleteLevel","addMoreLevel","addLevel","removeLevel","getLevelsByProject","listOfLevels","taskid","ProjectdetailsComponent","ProjectMasterComponent","projectMasterAdd","projectMasterEdit","projectMasterView","projectMasterDelete","onEdit","rowIndex","itemValue","deleteProject","saveOpenBravoId","ProjectMasterService","ViewProjectComponent","taskBackflag","MasterFilterSession","PoliceStnFilterSession","CityComponent","cityService","cityAdd","cityEdit","cityDelete","CityData","CityName","StateName","DistrictName","deleteCityByid","addCity","cityname","saveCity","filterPredicate","dataStr","CityById","citycode","CityService","GeographyComponent","geographyService","geographyAdd","geographyEdit","geographyDelete","GeographyData","GeographyName","ParentGeographyName","districtError","addGeographyForm","addGeography","saveGeography","deleteGeographyByid","getGeographyList","GeographyMasterData","GeoById","geographycode","GeographyService","AddLocationComponent","disablefield","locationId","addLocationForm","patchValue","surveydate","approvaldate","emailid","phoneno","isprioritysite","warehouse","hasError","controlName","errorName","saveLocation","Boolean","LocationComponent","locationEdit","locationView","locationAdd","locationDelete","UniqueSiteId","locationFilterSession","deleteLocationById","httpOptions","LocationService","PoliceStationComponent","policeStationService","filteredOptions","policeAdd","policeEdit","policeDelete","PoliceStnData","getAllCity","addPoliceStn","addPoliceStationForm","savePoliceStation","deletePoliceStnById","getpoliceStationList","policeStnFilterSession","policestationname","PoliceMasterData","policeStnById","policestationcode","PoliceStationService","AddAddressComponent","addressMasterService","PartyAddressData","PartyParent","partyMasterParent","districtName","addAddress","addAddressForm","saveAddress","findAddressById","addressType","landmark","pinCode","AddressMasterComponent","editAddress","AddressMasterData","deleteAddressById","AddressMasterService","PartyGstComponent","partyGstService","GSTData","gstNoAttachment","addGstForm","addGst","codeFlag","saveGst","getAllGstOfParty","GstMasterData","dateOfIncorporationAttachment","checkGst","statename","stateCode","gstChange","deleteGstById","PartyGstService","AddPartyComponent","partyMasterService","PartyEntityData","panNoAttachment","tanNoAttachment","arnNoAttachment","bankNameAttachment","saveParty","addPartyForm","dateOfIncorporation","updateParty","getPartyById","partyType","partyNo","partyName","organizationId","contactPersonName","landlineNo","natureOfServiceProviding","smeRegNo","contactId","tanNo","arnNo","bankName","branchNameandAddress","accountType","accountNo","micrCode","ifscNeftCode","PartyMasterComponent","partyAdd","partyEdit","partyView","partyDelete","addParty","PartyListData","deleteParty","deletePartyById","PartyMasterService","AppMaterialModule","declarations","imports","routes","path","component","canActivate","children","AppRoutingModule","forRoot","AppComponent","title","styleUrls","AppModule","register","enabled","production","bootstrap","entryComponents","AuthGuard","tokenTimeExpiryDate","expiryDate","chkLoginTime","DashboardComponent","dashboardService","dashboardData","dashboardCount","getCount","pieChartBrowser","columnChartBrowser","chart","text","tooltip","pointFormat","accessibility","announceNewData","xAxis","yAxis","legend","plotOptions","series","borderWidth","dataLabels","format","colorByPoint","y","approvedrc","pendingrc","approvedpo","pendingpo","approvedprs","pendingprs","plotBackgroundColor","plotBorderWidth","plotShadow","point","valueSuffix","showInLegend","assets","sliced","tickets","DashboardService","exceptionhandlerService","handleError","OnlynumberDirective","_el","initalValue","TripaddressDirective","elementRef","resultobj","innerText","AppGlobals","FileuploadComponent","files","maxSize","labelname","modulename","entitydata","isSingle","errormsg","file","formData","FormData","append","inProgress","upload","UploadProgress","progress","Math","round","loaded","total","Response","uploadedFileName","fileName","uploadedFilePath","filePath","uploadStatus","fileUpload","forEach","onchange","size","filename","deleteFile","onClick","HeaderComponent","roleTL","tldistict","href","logout","LeftmenuComponent","isOpen","isShowDiv","MyMenuList","getMyMenuList","menudata","menuObj","isMenuOpen","LoaderComponent","PotabComponent","highlightedtab","tabFlag","poTab","productTab","poTermsTab","ishighlighted","tabname","ProjecttabComponent","projectDetailsTab","projectConfigurationTab","projectAttachmentTab","VendortabComponent","partyTab","addressTab","gstTab","LoginComponent","loginService","Login","loginForm","LoginUser","logindata","jwt","userrights","UserDistricts","userdistrict","tokenTime","goToEntityByTaskId","unlockUser","LoginService","MatConfirmDialogComponent","DialogService","msg","panelClass","ExceptionhandlerService","ErrorEvent","FileuploadService","filepath","uploadfiles","lastSlash","lastIndexOf","displayName","filearray","retValue","apiname","reportProgress","observe","entity","SharedService","addId1","addId2","addId","environment","bootstrapModule","err"],"mappings":"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AA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA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A;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;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","file":"main-es5.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\";","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormGroupDirective } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { AssetConstantMasterService } from './assetconstantmaster.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { ConstantFilterSession } from '../assetfilterdata';\r\n@Component({\r\n selector: 'app-assetconstantmaster',\r\n templateUrl: './assetconstantmaster.component.html',\r\n providers: [AssetConstantMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\n\r\nexport class AssetConstantMasterComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private constantMasterService: AssetConstantMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n // search screen start\r\n displayedColumns: string[] = ['constantname', 'term', 'constantnamefor', 'action'];\r\n AssetConstantRecordData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n disableFlag = false;\r\n PageTitle = \"Asset Constant Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n AssetConstantAdd: boolean = false;\r\n AssetConstantEdit: boolean = false;\r\n AssetConstantView: boolean = false;\r\n AssetConstantDelete: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.AssetConstantRecordData.filter = filterValue.trim().toLowerCase();\r\n }\r\n AssetConstantMasterData = {\r\n \"constantname\": null, \"term\": null, \"constantnamefor\": null\r\n };\r\n addConstantForm: FormGroup;\r\n isSubmitted = false;\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.PageTitle = \"Asset Constant Master\";\r\n this.enabledField();\r\n }\r\n\r\n FilterData = { \"constantname\": null };\r\n filterDiv: boolean = false;\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n\r\n cancelSearch = function () {\r\n this.filterDiv = false;\r\n this.enabledField();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n sessionStorage.removeItem(\"CONSTANTFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n // Add / update function\r\n addAssetConstantData = function (flag) {\r\n this.isSubmitted = true;\r\n if (this.addConstantForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.constantMasterService.saveData(this.AssetConstantMasterData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Asset Constant \" + flag + \" successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Asset Constant Master\";\r\n this.enabledField();\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.constantMasterService.getConstantList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let constantFilterSession = new ConstantFilterSession();\r\n constantFilterSession.constantname = this.FilterData.constantname;\r\n sessionStorage.setItem('CONSTANTFILTERSESSION', JSON.stringify(constantFilterSession));\r\n this.result = !Object.values(constantFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.AssetConstantRecordData = new MatTableDataSource(resp);\r\n this.AssetConstantRecordData.sort = this.sort;\r\n this.AssetConstantRecordData.paginator = this.paginator;\r\n this.totalRecords = this.AssetConstantRecordData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (name) {\r\n this.list = false;\r\n this.edit = true;\r\n this.disabledField();\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update Asset Constant\";\r\n this.constantMasterService.constantByName(name, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.AssetConstantMasterData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n onDelete = function (name) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.constantMasterService.deleteAssetConstant(name, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Asset Constant deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n clearFields = function () {\r\n this.AssetConstantMasterData = {\r\n \"constantname\": null, \"term\": null, \"constantnamefor\": null\r\n };\r\n }\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addConstantForm.get('constantname').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addConstantForm.get('constantname').enable();\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.AssetConstantAdd = this._global.UserRights.includes(\"AssetConstantMaster_ADD\");\r\n this.AssetConstantEdit = this._global.UserRights.includes(\"AssetConstantMaster_EDIT\");\r\n this.AssetConstantView = this._global.UserRights.includes(\"AssetConstantMaster_VIEW\");\r\n this.AssetConstantDelete = this._global.UserRights.includes(\"AssetConstantMaster_DELETE\");\r\n this.addConstantForm = this.formBuilder.group({\r\n constantname: [null, Validators.required],\r\n term: [null, Validators.required],\r\n constantnamefor: [null, Validators.required]\r\n });\r\n\r\n //Assign Filter\r\n let constantFilterSession = JSON.parse(sessionStorage.getItem('CONSTANTFILTERSESSION'));\r\n if (sessionStorage.getItem('CONSTANTFILTERSESSION') != null) {\r\n this.FilterData.constantname = constantFilterSession.constantname;\r\n }\r\n if (constantFilterSession != null) {\r\n this.result = !Object.values(constantFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n get formControls() { return this.addConstantForm.controls; }\r\n}","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n
\r\n \r\n \r\n EOL\r\n Depreciation\r\n \r\n
\r\n
Asset\r\n Constant Type is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Constant name\r\n is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Term is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Asset Constant Type \r\n {{AssetConstantRecordData.constantnamefor}} Constant Name \r\n {{AssetConstantRecordData.constantname}} Term \r\n {{AssetConstantRecordData.term}} Action \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssetConstantMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveData(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/assetconstant';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/assetconstant';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getConstantList(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/assetconstant/constantByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nconstantByName(name, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/assetconstant/'+name;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteAssetConstant(name, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/assetconstant/'+name;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { AssetCountReportService } from './assetcountreport.service';\r\n\r\n@Component({\r\n selector: 'app-assetcountreport',\r\n templateUrl: './assetcountreport.component.html',\r\n providers: [AssetCountReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AssetCountReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private reportService: AssetCountReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['parent', 'child', 'count'];\r\n ReportRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n addConstantForm: FormGroup;\r\n state: String = null;\r\n district: String = null;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Asset Count Report\";\r\n ReportValue = { \"selectedParameter\": null };\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ReportRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n getAssetsCountReport = function (parameter) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n if (parameter == null) {\r\n const errStr = \"Please Select one Report type\";\r\n this.dialogService.openConfirmDialog(errStr)\r\n return;\r\n }\r\n this.reportService.assetCount(parameter, headers, this.state, this.district).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ReportRecord = new MatTableDataSource(resp);\r\n this.ReportRecord.sort = this.sort;\r\n this.ReportRecord.paginator = this.paginator;\r\n this.totalRecords = this.ReportRecord.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.addConstantForm = this.formBuilder.group({\r\n selectedParameter: ['CITY', Validators.required]\r\n });\r\n debugger;\r\n\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.district = district;\r\n this.state = state;\r\n }\r\n this.ReportValue.selectedParameter = 'CITY';\r\n this.getAssetsCountReport('CITY');\r\n }\r\n\r\n get formControls() { return this.addConstantForm.controls; }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n City Wise Count\r\n Unique Site ID wise Count\r\n \r\n Category Wise Count\r\n \r\n Sub-Category Wise Count\r\n \r\n City and Sub-Category Wise\r\n Count\r\n Unique Site ID and\r\n Sub-Category Wise Count\r\n Project Wise Count\r\n \r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
\r\n
\r\n City Name
\r\n
\r\n Unique Site ID Name
\r\n
\r\n Category Name
\r\n
\r\n Project Name
\r\n
\r\n
{{ReportRecord.parent}}\r\n
\r\n\r\n
\r\n
Sub Category
\r\n
{{ReportRecord.child}}
\r\n\r\n
Count \r\n
{{ReportRecord.count}}
\r\n\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssetCountReportService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n \r\nassetCount(parameter, header, state ,district) {\r\n debugger;\r\n if(state !== null && district != null)\r\n {\r\n var url = this._global.baseAPIUrl + 'ipms/assetreport/'+parameter+'?district='+district+'&state='+state;\r\n }\r\n else{\r\n var url = this._global.baseAPIUrl + 'ipms/assetreport/'+parameter;\r\n }\r\n \r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { AssetMasterService } from '../assetmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-addasset',\r\n templateUrl: './addasset.component.html',\r\n providers: [AssetMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddAssetComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private assetService: AssetMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n\r\n\r\n PageTitle = \"Add Asset\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n view = false;\r\n\r\n AssetData = {\r\n \"assetname\": null, \"serialno\": null, \"assettag\": null,\r\n \"deliverychallanno\": null, \"depreciation\": null, \"eol\": null,\r\n \"location\": null, \"notes\": null, \"orderno\": null,\r\n \"productid\": null, \"projectname\": null, \"purchasedate\": null,\r\n \"assetstatus\": null, \"vendorname\": null, \"warrantytilldate\": null, \"entityId\": null,\"isprimary\":false\r\n };\r\n\r\n state = null;\r\n district = null;\r\n city = null;\r\n policestation = null;\r\n category = null;\r\n subcategory = null;\r\n\r\n categoryList: any = [];\r\n subcategoryList: any = [];\r\n projectList: any = [];\r\n productList: any = [];\r\n partyList: any = [];\r\n eolList: any = [];\r\n depreciationList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n cityList: any = [];\r\n policestationList: any = [];\r\n locationList: any = [];\r\n\r\n statusList = this._global.assetStatusList;\r\n addAssetForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.router.navigate(['/searchAsset']);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n // return o1.name == o2.name && o1.id == o2.id;\r\n return o1 == o2;\r\n }\r\n compareUser(o1: any, o2: any): boolean {\r\n return o1 == o2;\r\n }\r\n // category List\r\n\r\n getActiveCategory = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n debugger;\r\n this.categoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // subcategory List from category\r\n\r\n getActiveSubCategoryfromcategory = function (Name) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, Name).subscribe(resp => {\r\n debugger;\r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // productList\r\n getActiveProduct = function (name) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProductfromsubcategory(headers, name).subscribe(resp => {\r\n debugger;\r\n this.productList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Party List\r\n\r\n getActiveVendors = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // EOL List\r\n\r\n getActiveEol = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveEol(headers).subscribe(resp => {\r\n debugger;\r\n this.eolList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Depreciation List\r\n\r\n getActiveDepreciation = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveDepreciation(headers).subscribe(resp => {\r\n debugger;\r\n this.depreciationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // State List\r\n\r\n getActiveState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // district List\r\n\r\n getActiveDistrictFromstate = function (state) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // City List\r\n\r\n getActiveCityFromDistrict = function (district) {\r\n debugger;\r\n if (district == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, district).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // PoliceStation List\r\n\r\n getActivePoliceStationFromCity = function (name) {\r\n debugger;\r\n if (name == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.getActiveLocationFromCity(name);\r\n this.sharedService.getActivePoliceStationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.policestationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n\r\n getActiveLocationFromPoliceStation = function (name) {\r\n debugger;\r\n if (name == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromPoliceStation(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n\r\n getActiveLocationFromCity = function (name) {\r\n debugger;\r\n if (name == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n addAsset = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.AssetData.purchasedate = this.AssetData.purchasedate.getTime();\r\n this.AssetData.warrantytilldate = this.AssetData.warrantytilldate.getTime();\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n\r\n this.showLoading = true;\r\n this.assetService.saveAssetData(this.AssetData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Asset \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.router.navigate(['/searchAsset']);\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.AssetData.warrantytilldate = (new Date(this.AssetData.warrantytilldate));\r\n this.AssetData.purchasedate = (new Date(this.AssetData.purchasedate));\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n clearfields = function () {\r\n this.AssetData = {\r\n \"assetname\": null, \"serialno\": null, \"assettag\": null,\r\n \"deliverychallanno\": null, \"depreciation\": null, \"eol\": null,\r\n \"location\": null, \"notes\": null, \"orderno\": null,\r\n \"productid\": null, \"projectname\": null, \"purchasedate\": null,\r\n \"assetstatus\": null, \"vendorname\": null, \"warrantytilldate\": null, \"entityId\": null\r\n };\r\n this.state = null;\r\n this.district = null;\r\n this.city = null;\r\n this.policestation = null;\r\n this.category = null;\r\n this.subcategory = null;\r\n }\r\n // Edit\r\n\r\n editon = function (id, flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.assetService.assetById(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n\r\n this.tempRes = resp;\r\n this.AssetData.entityId = this.tempRes.entityId;\r\n this.AssetData.assetname = this.tempRes.assetname;\r\n this.AssetData.serialno = this.tempRes.serialno;\r\n this.AssetData.assettag = this.tempRes.assettag;\r\n this.AssetData.deliverychallanno = this.tempRes.deliverychallanno;\r\n this.AssetData.depreciation = this.tempRes.depreciation;\r\n this.AssetData.eol = this.tempRes.eol;\r\n this.AssetData.notes = this.tempRes.notes;\r\n this.AssetData.orderno = this.tempRes.orderno;\r\n this.AssetData.productid = this.tempRes.productid;\r\n this.AssetData.projectname = this.tempRes.projectid;\r\n this.AssetData.assetstatus = this.tempRes.assetstatus;\r\n this.AssetData.vendorname = this.tempRes.vendorname;\r\n this.AssetData.isprimary = this.tempRes.isprimary;\r\n\r\n if (this.tempRes.warrantytilldate > 0) {\r\n this.AssetData.warrantytilldate = (new Date(this.tempRes.warrantytilldate));\r\n }\r\n else {\r\n this.AssetData.warrantytilldate = null;\r\n }\r\n\r\n if (this.tempRes.purchasedate > 0) {\r\n this.AssetData.purchasedate = (new Date(this.tempRes.purchasedate));\r\n }\r\n else {\r\n this.AssetData.purchasedate = null;\r\n }\r\n\r\n\r\n\r\n this.getActiveSubCategoryfromcategory(this.tempRes.category);\r\n this.getActiveProduct(this.tempRes.subcategory);\r\n this.getActiveDistrictFromstate(this.tempRes.state);\r\n this.getActiveCityFromDistrict(this.tempRes.district);\r\n this.getActivePoliceStationFromCity(this.tempRes.city);\r\n this.getActiveLocationFromCity(this.tempRes.city);\r\n this.AssetData.location = this.tempRes.location;\r\n this.category = this.tempRes.category;\r\n this.subcategory = this.tempRes.subcategory;\r\n this.state = this.tempRes.state;\r\n this.district = this.tempRes.district;\r\n this.city = this.tempRes.city;\r\n this.policestation = this.tempRes.policestation\r\n if (flag == 'view') {\r\n debugger;\r\n this.edit = false;\r\n this.add = false;\r\n }\r\n else if (flag == 'add') {\r\n this.add = true;\r\n this.edit = false;\r\n }\r\n else {\r\n this.edit = true;\r\n this.add = false;\r\n }\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n disableAll = function () {\r\n this.addAssetForm.get('assetname').disable();\r\n this.addAssetForm.get('serialno').disable();\r\n this.addAssetForm.get('assettag').disable();\r\n this.addAssetForm.get('productid').disable();\r\n this.addAssetForm.get('depreciation').disable();\r\n this.addAssetForm.get('category').disable();\r\n this.addAssetForm.get('subcategory').disable();\r\n this.addAssetForm.get('eol').disable();\r\n this.addAssetForm.get('projectname').disable();\r\n this.addAssetForm.get('vendorname').disable();\r\n this.addAssetForm.get('purchasedate').disable();\r\n this.addAssetForm.get('warrantytilldate').disable();\r\n this.addAssetForm.get('location').disable();\r\n this.addAssetForm.get('state').disable();\r\n this.addAssetForm.get('district').disable();\r\n this.addAssetForm.get('city').disable();\r\n this.addAssetForm.get('policestation').disable();\r\n this.addAssetForm.get('orderno').disable();\r\n this.addAssetForm.get('deliverychallanno').disable();\r\n this.addAssetForm.get('notes').disable();\r\n this.addAssetForm.get('assetstatus').disable();\r\n this.addAssetForm.get('isprimary').disable();\r\n }\r\n\r\n disableForTeamLeader = function () {\r\n this.addAssetForm.get('assetname').disable();\r\n this.addAssetForm.get('serialno').disable();\r\n this.addAssetForm.get('productid').disable();\r\n this.addAssetForm.get('depreciation').disable();\r\n this.addAssetForm.get('category').disable();\r\n this.addAssetForm.get('subcategory').disable();\r\n this.addAssetForm.get('eol').disable();\r\n this.addAssetForm.get('projectname').disable();\r\n this.addAssetForm.get('vendorname').disable();\r\n this.addAssetForm.get('purchasedate').disable();\r\n this.addAssetForm.get('warrantytilldate').disable();\r\n this.addAssetForm.get('state').disable();\r\n this.addAssetForm.get('district').disable();\r\n this.addAssetForm.get('orderno').disable();\r\n this.addAssetForm.get('deliverychallanno').disable();\r\n this.addAssetForm.get('isprimary').disable();\r\n }\r\n\r\n hideState: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.getActiveCategory();\r\n this.getActiveEol();\r\n this.getActiveDepreciation();\r\n this.getActiveProject();\r\n this.getActiveState();\r\n this.getActiveVendors();\r\n\r\n this.addAssetForm = this.formBuilder.group({\r\n assetname: [null, Validators.required],\r\n serialno: [null, Validators.required],\r\n assettag: [null],\r\n productid: [null, Validators.required],\r\n depreciation: [null],\r\n category: [null, Validators.required],\r\n subcategory: [null, Validators.required],\r\n eol: [null, Validators.required],\r\n projectname: [null, Validators.required],\r\n vendorname: [null, Validators.required],\r\n purchasedate: [null, Validators.required],\r\n warrantytilldate: [null, Validators.required],\r\n assetstatus: [null, Validators.required],\r\n location: [null, Validators.required],\r\n state: [null, Validators.required],\r\n district: [null, Validators.required],\r\n city: [null, Validators.required],\r\n policestation: [null],\r\n orderno: [null],\r\n deliverychallanno: [null],\r\n notes: [null],\r\n isprimary: [false],\r\n });\r\n\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Asset\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n }\r\n else\r\n if (this.route.snapshot.params.page == 'view') {\r\n this.PageTitle = \"View Asset\";\r\n this.disableAll();\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n\r\n }\r\n\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n\r\n if (district != null) {\r\n this.district = district;\r\n this.state = state;\r\n this.getActiveDistrictFromstate(state);\r\n this.getActiveCityFromDistrict(district);\r\n this.disableForTeamLeader();\r\n }\r\n\r\n\r\n }\r\n get formControls() {\r\n return this.addAssetForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Asset\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Serial\r\n no is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t-Select-\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ category.selectionvalue }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n
\r\n
Category\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n
\r\n
Sub Category\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ product.selectionvalue }}\r\n \r\n \r\n
\r\n
Product Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n
\r\n
Account Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ vendor.selectionvalue }}\r\n \r\n \r\n
\r\n
Vendor Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Purchase Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Warranty Till Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t-Select-\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ eol.selectionvalue }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n
\r\n
End Of Life (EOL)\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t-Select-\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ depreciation.selectionvalue }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t-Select-\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ status.name }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n
\r\n
Asset Status \r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n District\r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n
\r\n
District is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t-Select-\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ city.selectionvalue }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n
\r\n
City\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t-Select-\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ policestation.selectionvalue }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n
\r\n
Police Station\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t-Select-\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ location.selectionvalue }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n
\r\n
Unique Site Id\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n is primary?\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \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, Inject, Optional, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { AssetMasterService } from './../assetmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-assetaudit',\r\n templateUrl: './assetaudit.component.html',\r\n providers: [AssetMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\n\r\nexport class AssetAuditComponent {\r\n\r\n constructor(private _global: AppGlobals, public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n closeDialog() {\r\n this.dialogRef.close(false);\r\n }\r\n // displayedColumns: string[] = \t['assetname' , 'serialno' , 'assettag', 'product','project','vendor','orderno',\r\n // 'purchasedate','warrantytilldate','depreciation', 'eol','assetstatus',\r\n // 'deliverychallanno' , 'location' ];\r\n\r\n displayedColumns: string[] = ['assetname', 'product', 'project', 'orderno', 'assetstatus', 'location'];\r\n\r\n\r\n AssetAuditRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n openAudit = function (record) {\r\n debugger;\r\n\r\n this.AssetAuditRecord = new MatTableDataSource(record);\r\n this.AssetAuditRecord.sort = this.sort;\r\n this.AssetAuditRecord.paginator = this.paginator;\r\n\r\n this.auditDiv = true;\r\n console.log('#####patients inside ngonit', this.AssetAuditRecord.filteredData);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.openAudit(this.data);\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n

Asset Audit Trial

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

No Record Found

\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Asset Name / Serial No \r\n
{{AssetAuditRecord.assetname}}
\r\n
{{AssetAuditRecord.serialno}}
\r\n
Product Name \r\n
{{AssetAuditRecord.product}}
\r\n\r\n
Project Name \r\n
{{AssetAuditRecord.project}}
\r\n\r\n
Order No. / PO Date \r\n
{{AssetAuditRecord.orderno}}
\r\n
0\"> {{AssetAuditRecord.purchasedate| date:'dd-MM-yyyy'}}
\r\n
\r\n\r\n
Asset Status \r\n
{{AssetAuditRecord.assetstatus}}
\r\n\r\n
Location \r\n
{{AssetAuditRecord.location}}
\r\n
\r\n \r\n \r\n
\r\n
\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, ViewChild, Inject, Optional, ɵbypassSanitizationTrustStyle } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { AssetMasterService } from './assetmaster.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { AssetAuditComponent } from './assetaudit/assetaudit.component';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { AssetFilterSession } from '../assetfilterdata';\r\n\r\n\r\n@Component({\r\n selector: 'app-asset',\r\n templateUrl: './assetmaster.component.html',\r\n providers: [AssetMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AssetMasterComponent implements OnInit {\r\n\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private assetService: AssetMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['assetname', 'location', 'district', 'subcategory','assetstatus', 'action'];\r\n\r\n exportColumns: string[] = ['assetname', 'serialno', 'assettag', 'category', 'subcategory', 'manufacturer',\r\n 'model', 'productname', 'depreciation', 'eol', 'location', 'city', 'district', 'state', 'vendor', 'account', 'warrantytilldate',\r\n 'purchasedate', 'orderno', 'deliverychallanno', 'assetstatus'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n AssetDataExport: any = [];\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n FilterData = {\r\n \"assetname\": null, \"serialno\": null, \"assettag\": null, \"projectid\": null, \"category\": null, \"subcategory\": null,\r\n \"state\": null, \"district\": null, \"city\": null, \"policestation\": null, \"location\": null\r\n };\r\n\r\n PageTitle = \"Asset List\";\r\n filterDiv: boolean = false;\r\n selectAsset: boolean = false;\r\n assetAdd: boolean = false;\r\n assetEdit: boolean = false;\r\n assetView: boolean = false;\r\n assetDelete: boolean = false;\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.AssetRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addAssets = function () {\r\n this.router.navigate(['/addAsset']);\r\n }\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"ASSETFILTERSESSION\");\r\n this.result = false;\r\n this.district = sessionStorage.getItem(\"selectedDistrict\");\r\n this.state = sessionStorage.getItem(\"selectedState\");\r\n if (this.district != null) {\r\n this.FilterData.district = this.district.trim();\r\n this.FilterData.state = this.state.trim();\r\n this.disable = true;\r\n this.getActiveDistrictFromstate(this.FilterData.state);\r\n this.result = true;\r\n }\r\n if (this.district != null) {\r\n this.getActiveCityFromDistrict(this.district);\r\n }\r\n //this.search();\r\n }\r\n\r\n categoryList: any = [];\r\n subcategoryList: any = [];\r\n projectList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n cityList: any = [];\r\n policestationList: any = [];\r\n locationList: any = [];\r\n\r\n // category List\r\n\r\n getActiveCategory = function () {\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n\r\n this.categoryList = resp;\r\n }, (error: any) => {\r\n\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // subcategory List from category\r\n\r\n getActiveSubCategoryfromcategory = function (stateName) {\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, stateName).subscribe(resp => {\r\n\r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // State List\r\n\r\n getActiveState = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n this.stateList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // district List\r\n getActiveDistrictFromstate = function (state) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // City List\r\n getActiveCityFromDistrict = function (name) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, name).subscribe(resp => {\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getActiveCity = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getCityList(headers, name).subscribe(resp => {\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // PoliceStation List\r\n getActivePoliceStationFromCity = function (name) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.getActiveLocationFromCity(name);\r\n this.sharedService.getActivePoliceStationFromCity(headers, name).subscribe(resp => {\r\n this.policestationList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n\r\n getActiveLocationFromPoliceStation = function (name) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromPoliceStation(headers, name).subscribe(resp => {\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n getActiveLocationFromCity = function (name) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromCity(headers, name).subscribe(resp => {\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n debugger;\r\n this.assetService.getAssetList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n debugger;\r\n let assetfilterSession = new AssetFilterSession();\r\n assetfilterSession.assetname = this.FilterData.assetname;\r\n assetfilterSession.category = this.FilterData.category;\r\n assetfilterSession.projectid = this.FilterData.projectid;\r\n assetfilterSession.state = this.FilterData.state;\r\n assetfilterSession.district = this.FilterData.district;\r\n assetfilterSession.city = this.FilterData.city;\r\n assetfilterSession.location = this.FilterData.location;\r\n sessionStorage.setItem('ASSETFILTERSESSION', JSON.stringify(assetfilterSession));\r\n this.result = !Object.values(assetfilterSession).every(o => o === null || o === undefined|| o === \"\");\r\n this.filterDiv = false;\r\n this.AssetDataExport = resp.content;\r\n this.AssetRecord = new MatTableDataSource(resp.content);\r\n this.AssetRecord.sort = this.sort;\r\n this.AssetRecord.paginator = this.paginator;\r\n this.totalRecords = resp.totalElements;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n //delete Category\r\n\r\n onDelete = function (name) {\r\n\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var experienceId = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.assetService.deleteAsset(experienceId, headers).subscribe(resp => {\r\n\r\n this.showLoading = false;\r\n this.successMessage = \"Asset deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n AssetAuditRecord = [];\r\n\r\n openAuditData = function (name) {\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.assetService.assetAudit(name, headers).subscribe(resp => {\r\n\r\n this.AssetAuditRecord = resp;\r\n // this.auditService.openAudit(this.AssetAuditRecord);\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.AssetAuditRecord;\r\n this.dialog.open(AssetAuditComponent, dialogConfig).afterClosed().subscribe(res => {\r\n })\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n openAudit = function (name) {\r\n\r\n this.openAuditData(name);\r\n\r\n\r\n }\r\n\r\n district: String = null;\r\n state: String = null;\r\n disable: boolean= false;\r\n\r\n ngOnInit(): void {\r\n this.getActiveState();\r\n this.getActiveCategory();\r\n this.getActiveProject();\r\n \r\n this.district = sessionStorage.getItem(\"selectedDistrict\");\r\n this.state = sessionStorage.getItem(\"selectedState\");\r\n if (this.district != null) {\r\n this.FilterData.district = this.district.trim();\r\n this.FilterData.state = this.state.trim();\r\n this.disable = true;\r\n this.getActiveDistrictFromstate(this.FilterData.state);\r\n }\r\n if (this.district != null) {\r\n this.getActiveCityFromDistrict(this.district);\r\n }\r\n //Role Rights\r\n this.assetAdd = this._global.UserRights.includes(\"Asset_Master_ADD\");\r\n this.assetEdit = this._global.UserRights.includes(\"Asset_Master_EDIT\");\r\n this.assetView = this._global.UserRights.includes(\"Asset_Master_VIEW\");\r\n this.assetDelete = this._global.UserRights.includes(\"Asset_Master_DELETE\");\r\n \r\n //Assign Filter\r\n let assetfilterSession = JSON.parse(sessionStorage.getItem('ASSETFILTERSESSION'));\r\n if (sessionStorage.getItem('ASSETFILTERSESSION') != null) {\r\n this.FilterData.assetname = assetfilterSession.assetname;\r\n this.FilterData.category = assetfilterSession.category;\r\n this.FilterData.projectid = assetfilterSession.projectid;\r\n this.FilterData.state = assetfilterSession.state;\r\n this.FilterData.district = assetfilterSession.district\r\n this.FilterData.city = assetfilterSession.city\r\n this.FilterData.location = assetfilterSession.location\r\n if (Object.keys(assetfilterSession).length === 0 && assetfilterSession.constructor === Object) {\r\n return;\r\n }\r\n else{\r\n this.search();\r\n }\r\n }\r\n if (assetfilterSession != null) { \r\n this.result = !Object.values(assetfilterSession).every(o => o === null || o === \"\");\r\n } else {\r\n this.result = false;\r\n }\r\n\r\n // this.search();\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ state.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ district.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ city.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ location.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Asset Name \r\n
{{AssetRecord.assetname}}
\r\n
Unique Site ID \r\n
{{AssetRecord.location}}
\r\n
District \r\n
{{AssetRecord.district}}
\r\n
Sub Category \r\n
{{AssetRecord.subcategory}}
\r\n
Asset Status \r\n
{{AssetRecord.assetstatus}}
\r\n
Action \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Asset Name\r\n \r\n {{AssetDataExport.assetname}}\r\n Serial No\r\n \r\n {{AssetDataExport.serialno}}\r\n \r\n Asset Tag/ Device IP\r\n {{AssetDataExport.assettag}}\r\n\r\n \r\n Category\r\n {{AssetDataExport.category}}\r\n \r\n Sub category\r\n {{AssetDataExport.subcategory}}\r\n Manufacturer\r\n {{AssetDataExport.manufacturer}}\r\n Model\r\n \r\n {{AssetDataExport.model}}\r\n Product Name\r\n \r\n {{AssetDataExport.productname}}\r\n Depreciation\r\n \r\n {{AssetDataExport.depreciation}}\r\n \r\n Eol \r\n {{AssetDataExport.eol}}\r\n \r\n Unique Site Id\r\n \r\n {{AssetDataExport.location}}\r\n \r\n City \r\n {{AssetDataExport.city}}\r\n \r\n District \r\n {{AssetDataExport.district}}\r\n \r\n State \r\n {{AssetDataExport.state}}\r\n \r\n Vendor\r\n {{AssetDataExport.vendor}}\r\n \r\n Account Name\r\n {{AssetDataExport.projectname}}\r\n \r\n Warranty Till Date\r\n \r\n
0\"> {{AssetDataExport.warrantytilldate| date:'dd-MM-yyyy'}}
\r\n
\r\n
\r\n Purchase Date\r\n \r\n
0\"> {{AssetDataExport.purchasedate| date:'dd-MM-yyyy'}}
\r\n
\r\n
\r\n Order No\r\n {{AssetDataExport.orderno}}\r\n \r\n Delivery Challan No\r\n {{AssetDataExport.deliverychallanno}}\r\n Asset Status\r\n {{AssetDataExport.assetstatus}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssetMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveAssetData(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n saveNewAsset(body, header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n\r\n getAssetList(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset/assetByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nassetById(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteAsset(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\nassetAudit(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset/getAuditTrail/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ngetDCAssetList(body, header, flag) {\r\n \r\n if (flag =='OEM')\r\n {\r\n var url = this._global.baseAPIUrl + 'ipms/asset/oemAssetByFilter?page='+1+'&size='+2000;\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n else{\r\n var url = this._global.baseAPIUrl + 'ipms/asset/dcAssetByFilter?page='+1+'&size='+2000;\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild, Inject, Optional } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { AssetTPAService } from './assetTPA.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { AssetMisFilterSession } from '../assetfilterdata';\r\n\r\n@Component({\r\n selector: 'app-assetTPA',\r\n templateUrl: './assetTPA.component.html',\r\n providers: [AssetTPAService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AssetTPAComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private assetService: AssetTPAService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['Serial', 'location', 'subcategory', 'manufacturer', 'serialno', 'assetstatus',\r\n 'projectname'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n \r\n statusList = this._global.assetStatusList;\r\n FilterData = {\r\n \"projectid\": null, \"category\": null, \"subcategory\": null,\r\n \"state\": null, \"district\": null, \"assetstatus\": null\r\n };\r\n PageTitle = \"Asset List\";\r\n filterDiv: boolean = false;\r\n selectAsset: boolean = false;\r\n addAssets = function () {\r\n debugger;\r\n this.router.navigate(['/addAsset']);\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.AssetRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"ASSETFILTERSESSION\");\r\n this.result = false;\r\n this.district = sessionStorage.getItem(\"selectedDistrict\");\r\n this.state = sessionStorage.getItem(\"selectedState\");\r\n if (this.district != null) {\r\n this.FilterData.district = this.district.trim().toLowerCase();\r\n this.FilterData.state = this.state.trim().toLowerCase();\r\n this.getActiveDistrictFromstate(this.state);\r\n this.disable = true;\r\n }\r\n if (this.district != null) {\r\n this.getActiveCityFromDistrict(this.district);\r\n }\r\n }\r\n categoryList: any = [];\r\n subcategoryList: any = [];\r\n projectList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n cityList: any = [];\r\n policestationList: any = [];\r\n locationList: any = [];\r\n\r\n // category List\r\n\r\n getActiveCategory = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n debugger;\r\n this.categoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // subcategory List from category\r\n getActiveSubCategoryfromcategory = function (stateName) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, stateName).subscribe(resp => {\r\n debugger;\r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // State List\r\n getActiveState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // district List\r\n getActiveDistrictFromstate = function (state) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // City List\r\n getActiveCityFromDistrict = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, name).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // PoliceStation List\r\n getActivePoliceStationFromCity = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.getActiveLocationFromCity(name);\r\n this.sharedService.getActivePoliceStationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.policestationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n getActiveLocationFromPoliceStation = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromPoliceStation(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Location List\r\n getActiveLocationFromCity = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.assetService.getAssetList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n // Set Filter\r\n debugger;\r\n let assetMisfilterSession = new AssetMisFilterSession();\r\n assetMisfilterSession.category = this.FilterData.category;\r\n assetMisfilterSession.subcategory = this.FilterData.subcategory;\r\n assetMisfilterSession.projectid = this.FilterData.projectid;\r\n assetMisfilterSession.state = this.FilterData.state;\r\n assetMisfilterSession.district = this.FilterData.district;\r\n assetMisfilterSession.assetstatus = this.FilterData.assetstatus;\r\n sessionStorage.setItem('ASSETMISFILTERSESSION', JSON.stringify(assetMisfilterSession));\r\n this.result = !Object.values(assetMisfilterSession).every(o => o === null || o === undefined || o === \"\");\r\n this.filterDiv = false;\r\n\r\n this.AssetRecord = new MatTableDataSource(resp);\r\n this.AssetRecord.sort = this.sort;\r\n this.AssetRecord.paginator = this.paginator;\r\n this.totalRecords = this.AssetRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n state = null;\r\n district = null;\r\n disable: boolean = false;\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.getActiveCategory();\r\n this.getActiveProject();\r\n this.getActiveState();\r\n if (this.district != null) {\r\n this.getActiveCityFromDistrict(this.district);\r\n }\r\n // this.search();\r\n this.district = sessionStorage.getItem(\"selectedDistrict\");\r\n this.state = sessionStorage.getItem(\"selectedState\");\r\n if (this.district != null) {\r\n this.FilterData.district = this.district.trim().toLowerCase();\r\n this.FilterData.state = this.state.trim().toLowerCase();\r\n this.getActiveDistrictFromstate(this.state);\r\n this.disable = true;\r\n }\r\n if (this.district != null) {\r\n this.getActiveCityFromDistrict(this.district);\r\n }\r\n\r\n //Assign Filter\r\n let assetMisfilterSession = JSON.parse(sessionStorage.getItem('ASSETMISFILTERSESSION'));\r\n if (sessionStorage.getItem('ASSETMISFILTERSESSION') != null) {\r\n this.FilterData.category = assetMisfilterSession.category;\r\n this.FilterData.subcategory = assetMisfilterSession.subcategory;\r\n this.FilterData.projectid = assetMisfilterSession.projectid;\r\n this.FilterData.state = assetMisfilterSession.state;\r\n this.FilterData.district = assetMisfilterSession.district;\r\n this.FilterData.assetstatus = assetMisfilterSession.assetstatus;\r\n if (Object.keys(assetMisfilterSession).length === 0 && assetMisfilterSession.constructor === Object) {\r\n return;\r\n }\r\n else {\r\n this.search();\r\n }\r\n }\r\n if (assetMisfilterSession != null) {\r\n this.result = !Object.values(assetMisfilterSession).every(o => o === null || o === \"\");\r\n } else {\r\n this.result = false;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ state.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ district.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ status.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
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n
Maximum 15,000 records can be exported.
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Sr. No. \r\n {{i+1}}\r\n Unique Site ID \r\n
{{AssetRecord.location}}
\r\n\r\n
Sub Category \r\n
{{AssetRecord.subcategory}}
\r\n
Make/ Model \r\n
{{AssetRecord.manufacturer}}
\r\n
{{AssetRecord.model}}
\r\n
Serial No/ IP Address \r\n
{{AssetRecord.serialno}}
\r\n
{{AssetRecord.assettag}}
\r\n
Status \r\n
{{AssetRecord.assetstatus}}
\r\n
Project \r\n
{{AssetRecord.projectname}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssetTPAService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n \r\n getAssetList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/assetreport/tpaReportByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nassetById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/asset/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormGroupDirective } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { CategoryService } from '../CategoryMaster/categorymaster.service';\r\nimport { CategoryFilterSession } from '../assetfilterdata';\r\n@Component({\r\n selector: 'app-categorymaster',\r\n templateUrl: './categorymaster.component.html',\r\n providers: [CategoryService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class CategoryMasterComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private categoryService: CategoryService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n // search screen start\r\n displayedColumns: string[] = ['categoryname', 'categorytype', 'parent', 'action'];\r\n CategoryRecordData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n showLoading: boolean = false;\r\n doItFlag: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n parentFlag = true;\r\n parentCategory = '';\r\n PageTitle = \"Category Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n categoryMasterAdd: boolean = false;\r\n categoryMasterEdit: boolean = false;\r\n categoryMasterView: boolean = false;\r\n categoryMasterDelete: boolean = false;\r\n CategoryChild = {\r\n \"categoryname\": null, \"categorytype\": null, \"parent\": {}\r\n };\r\n CategoryData = {\r\n \"categoryname\": null, \"categorytype\": null\r\n };\r\n CategoryTemp = {\r\n \"categoryname\": null, \"categorytype\": null\r\n };\r\n FilterData = { \"categoryname\": null };\r\n //, \"fromdate\":null, \"toDate\":null};\r\n filterDiv: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.CategoryRecordData.filter = filterValue.trim().toLowerCase();\r\n }\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancelSearch = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"CATEGORYFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n\r\n }\r\n addCategoryForm: FormGroup;\r\n isSubmitted = false;\r\n categoryList: any = [];\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.addCategoryForm.reset();\r\n this.PageTitle = \"Category Master\";\r\n this.enabledField();\r\n }\r\n // Add / update function\r\n addCategoryData = function (flag) {\r\n this.isSubmitted = true;\r\n console.log(this.parentCategory);\r\n if (this.addCategoryForm.invalid) {\r\n return;\r\n }\r\n if (this.doItFlag == true) {\r\n if (this.parentFlag == false) {\r\n this.CategoryData = this.CategoryChild;\r\n }\r\n else {\r\n if (this.edit == true) {\r\n this.CategoryData = this.CategoryTemp;\r\n }\r\n }\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.categoryService.saveCategory(this.CategoryData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n // this.clearFields();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n\r\n this.successMessage = \"Category Master \" + flag + \" successfully.\";\r\n this.search();\r\n this.getActiveCategory();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.clearFields();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Category Master\"\r\n this.enabledField();\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.categoryService.getCategoryList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let categoryFilterSession = new CategoryFilterSession();\r\n categoryFilterSession.categoryname = this.FilterData.categoryname;\r\n sessionStorage.setItem('CATEGORYFILTERSESSION', JSON.stringify(categoryFilterSession));\r\n this.result = !Object.values(categoryFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.CategoryRecordData = new MatTableDataSource(resp);\r\n this.CategoryRecordData.sort = this.sort;\r\n this.CategoryRecordData.paginator = this.paginator;\r\n this.totalRecords = this.CategoryRecordData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Get data by id\r\n editon = function (categoryname) {\r\n this.list = false;\r\n this.edit = true;\r\n this.disabledField();\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update Category\";\r\n this.categoryService.categoryByName(categoryname, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.CategoryData = resp;\r\n if (this.CategoryData.parent != null) {\r\n this.parentCategory = this.CategoryData.parent.categoryname;\r\n this.parentFlag = false;\r\n }\r\n else {\r\n this.parentFlag = true;\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n temp = {};\r\n getType = function (categoryname) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.categoryService.categoryByName(categoryname, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.temp = resp;\r\n this.CategoryData.categorytype = this.temp.categorytype;\r\n this.addCategoryForm.get('categorytype').disable();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n //get list of category\r\n getActiveCategory = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n this.categoryList = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n //delete Category\r\n deleteCategoryData = function (name) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.categoryService.deleteCategoryData(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Category Master deleted successfully.\";\r\n this.search();\r\n this.getActiveCategory();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n clearFields = function () {\r\n this.CategoryData = {\r\n \"categoryname\": null, \"categorytype\": null\r\n };\r\n this.parentCategory = null;\r\n this.parentFlag = true;\r\n this.doItFlag = false;\r\n }\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addCategoryForm.get('categoryname').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addCategoryForm.get('categoryname').enable();\r\n }\r\n selectCategory = function (value) {\r\n this.doItFlag = true;\r\n if (value == undefined) {\r\n this.CategoryTemp.categoryname = this.CategoryData.categoryname;\r\n this.CategoryTemp.categorytype = this.CategoryData.categorytype;\r\n this.parentFlag = true;\r\n }\r\n else {\r\n this.getType(value);\r\n this.CategoryChild.categoryname = this.CategoryData.categoryname;\r\n this.CategoryChild.categorytype = this.CategoryData.categorytype;\r\n this.CategoryChild.parent.categoryname = value;\r\n this.parentFlag = false;\r\n }\r\n }\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.categoryMasterAdd = this._global.UserRights.includes(\"Category_Master_ADD\");\r\n this.categoryMasterEdit = this._global.UserRights.includes(\"Category_Master_EDIT\");\r\n this.categoryMasterView = this._global.UserRights.includes(\"Category_Master_VIEW\");\r\n this.categoryMasterDelete = this._global.UserRights.includes(\"Category_Master_DELETE\");\r\n //Form Group Collection\r\n this.addCategoryForm = this.formBuilder.group({\r\n categoryname: [null, Validators.required],\r\n categorytype: [null, Validators.required],\r\n parentCategory: [null]\r\n });\r\n //Assign Filter\r\n let categoryFilterSession = JSON.parse(sessionStorage.getItem('CATEGORYFILTERSESSION'));\r\n if (sessionStorage.getItem('CATEGORYFILTERSESSION') != null) {\r\n this.FilterData.categoryname = categoryFilterSession.categoryname;\r\n }\r\n if (categoryFilterSession != null) {\r\n this.result = !Object.values(categoryFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n this.getActiveCategory();\r\n }\r\n get formControls() { return this.addCategoryForm.controls; }\r\n}","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Category name\r\n is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n Non IT Asset\r\n IT Asset\r\n License\r\n \r\n
\r\n
Category Type\r\n is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n None\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Category Name \r\n {{CategoryRecordData.categoryname}}\r\n Category Type \r\n {{CategoryRecordData.categorytype}}\r\n Parent Category\r\n
\r\n {{CategoryRecordData.parent.categoryname}}
\r\n
Action \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CategoryService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveCategory(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getCategoryList(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category/categoryByfilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ncategoryByName(name, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category?categoryname='+name;\r\n return this._http.get(url, { headers: header });\r\n}\r\ndeleteCategoryData (name, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category?categoryname='+name;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { CityInstallationReportService } from './cityassetinstallation.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ViewCityInstallationReport } from './viewReport/viewCityInstallationReport.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-cityassetinstallation',\r\n templateUrl: './cityassetinstallation.component.html',\r\n providers: [CityInstallationReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class CityInstallationComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private reportService: CityInstallationReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['city', 'poreferenceno', 'pono', 'installationdate', 'contactperson', 'designation', 'action'];\r\n CityReportRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n FilterData = {\r\n \"project\": null, \"city\": null, \"poreferenceno\": null,\r\n \"pono\": null, \"installationdate\": null, \"district\": null, \"state\": null\r\n };\r\n //, \"fromdate\":null, \"toDate\":null};\r\n\r\n PageTitle = \"City Asset Installation Report List\";\r\n filterDiv: boolean = false;\r\n\r\n\r\n addReport = function () {\r\n debugger;\r\n this.router.navigate(['/addCityInstallationReport']);\r\n }\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.getActiveProject();\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n this.getActiveCityFromDistrict( this.FilterData.state);\r\n }\r\n }\r\n projectList: any = [];\r\n\r\n\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.getReportList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.CityReportRecord = new MatTableDataSource(resp);\r\n this.CityReportRecord.sort = this.sort;\r\n this.CityReportRecord.paginator = this.paginator;\r\n this.totalRecords = this.CityReportRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n //delete \r\n\r\n onDelete = function (name) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.deleteReport(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Report is deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n viewReport = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"100%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ViewCityInstallationReport, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\n\r\n\r\n getActiveCityFromDistrict = function (district) {\r\n debugger;\r\n if (district == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, district).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n this.search();\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
City Name \r\n
{{CityReportRecord.city}}
\r\n\r\n
PO Reference No \r\n
{{CityReportRecord.poreferenceno}}
\r\n\r\n
PO No \r\n
{{CityReportRecord.pono}}
\r\n\r\n
Installation Date \r\n
0\">\r\n {{CityReportRecord.installationdate| date:'dd-MM-yyyy'}}
\r\n
\r\n
Contact Person \r\n
{{CityReportRecord.consigneename}}
\r\n\r\n
Designation \r\n
{{CityReportRecord.designation}}
\r\n\r\n
Action \r\n\r\n\r\n \r\n \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CityInstallationReportService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveReport(body, header, flag) {\r\n if (flag == 'generate') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ciyinstallationreport';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ciyinstallationreport';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getReportList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ciyinstallationreport/reportByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nreportById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ciyinstallationreport/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteReport(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ciyinstallationreport/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\ngetCityList(header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/city/getDistinctAssetCity';\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ngetAssetDataFromCity(city, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ciyinstallationreport/cityinstallation/'+city;\r\n return this._http.get(url, { headers: header });\r\n}\r\ndisablePrint(id, header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ciyinstallationreport/disable/'+id;\r\n return this._http.put(url, body,{ headers: header });\r\n}\r\n\r\nenableUpload(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ciyinstallationreport/enableUpload/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { CityInstallationReportService } from '../cityassetinstallation.service';\r\n\r\n@Component({\r\n selector: 'app-addcityassetinstallation',\r\n templateUrl: './addcityassetinstallation.component.html',\r\n providers: [CityInstallationReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddCityInstallationComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private reportService: CityInstallationReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n displayedColumns: string[] = ['sno', 'product', 'count'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n enableCity: boolean = false;\r\n\r\n displayedColumns1: string[] = ['selectionvalue'];\r\n CityMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) citySort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) CityPaginator: MatPaginator;\r\n totalRecordsCity: any;\r\n PageTitle = \"Generate City Installation Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n ReportData = {\r\n \"city\": null, \"poreferenceno\": null, \"pono\": null, \"podate\": null, \"customerdepartment\": null, \"district\": null, \"state\": null,\r\n \"project\": null, \"remark\": null, \"installationdate\": null, \"contactperson\": null,\r\n \"designation\": null, \"address\": null, \"telno\": null, \"installationMasterChild\": [], \"installationattachment\": null\r\n };\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n projectList: any = [];\r\n cityList: any = [];\r\n searchCity = '';\r\n districtList: any = [];\r\n stateList: any = [];\r\n\r\n addCityForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.router.navigate(['/searchCityInstallationReport']);\r\n }\r\n\r\n enableReport: boolean = false;\r\n applyFilterCity(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.CityMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n getActiveState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // projectList\r\n getActiveDistrictFromstate = function (state) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n this.enableCity = true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAssetDataFromCity = function (city) {\r\n debugger;\r\n this.ReportData.city = city;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.reportService.getAssetDataFromCity(city, headers).subscribe(resp => {\r\n debugger;\r\n this.AssetRecord = resp;\r\n // this.table.renderRows();\r\n this.enableReport = true;\r\n this.getActiveProject();\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n addReport = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.ReportData.installationdate = this.ReportData.installationdate.getTime();\r\n this.ReportData.podate = this.ReportData.podate.getTime();\r\n\r\n if (this.AssetRecord != null) {\r\n this.ReportData.installationMasterChild = this.AssetRecord;\r\n }\r\n else {\r\n const errStr = \"Can't Generate Report:No Data in Asset List\";\r\n this.dialogService.openConfirmDialog(errStr)\r\n return;\r\n }\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addCityForm.invalid) {\r\n return;\r\n }\r\n\r\n this.showLoading = true;\r\n this.reportService.saveReport(this.ReportData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Installation Report is \" + flag + \"d successfully.\";\r\n this.AssetRecord = [];\r\n this.router.navigate(['/searchCityInstallationReport']);\r\n // this.table.renderRows();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.clearfields();\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.ReportData.installationdate = (new Date(this.ReportData.installationdate));\r\n this.ReportData.podate = (new Date(this.ReportData.podate));\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n clearfields = function () {\r\n this.ReportData = {\r\n \"city\": null, \"poreferenceno\": null, \"pono\": null, \"podate\": null, \"customerdepartment\": null,\r\n \"project\": [], \"remark\": null, \"installationdate\": null, \"contactperson\": null,\r\n \"designation\": null, \"address\": null, \"telno\": null, \"installationMasterChild\": [], \"installationattachment\": null\r\n };\r\n }\r\n\r\n\r\n // Edit\r\n\r\n editon = function (id, flag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.getActiveProject();\r\n this.reportService.reportById(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.enableReport = true;\r\n this.showLoading = false;\r\n this.ReportData = resp;\r\n if (this.ReportData.installationdate > 0)\r\n {\r\n this.ReportData.installationdate = (new Date(this.ReportData.installationdate));\r\n }\r\n else\r\n {\r\n this.ReportData.installationdate= null;\r\n }\r\n\r\n if (this.ReportData.podate > 0)\r\n {\r\n this.ReportData.podate = (new Date(this.ReportData.podate));\r\n }\r\n else\r\n {\r\n this.ReportData.podate= null;\r\n }\r\n this.AssetRecord = this.ReportData.installationMasterChild;\r\n //this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n getActiveCityFromDistrict = function (district) {\r\n debugger;\r\n if (district == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, district).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n this.CityMasterData = new MatTableDataSource(resp);\r\n this.CityMasterData.sort = this.citySort;\r\n this.CityMasterData.paginator = this.cityPaginator;\r\n this.totalRecordsCity = this.CityMasterData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n disable: boolean = false;\r\n ngOnInit(): void {\r\n\r\n\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.ReportData.district = district.trim().toLowerCase();\r\n this.ReportData.state = state.trim().toLowerCase();\r\n this.getActiveCityFromDistrict(district);\r\n }\r\n\r\n this.getActiveState();\r\n\r\n debugger;\r\n this.addCityForm = this.formBuilder.group({\r\n city: [null],\r\n poreferenceno: [null],\r\n pono: [null, Validators.required],\r\n project: [null, Validators.required],\r\n podate: [null, Validators.required],\r\n installationdate: [null, Validators.required],\r\n customerdepartment: [null],\r\n contactperson: [null],\r\n telno: [null],\r\n address: [null],\r\n designation: [null],\r\n remark: [null],\r\n installationattachment: [null],\r\n district: [null],\r\n state: [null]\r\n });\r\n debugger;\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n debugger;\r\n this.PageTitle = \"Update City Asset Installation Report\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n\r\n }\r\n get formControls() {\r\n return this.addCityForm.controls;\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ district.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n

City Name

\r\n \r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecordsCity}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
City \r\n \r\n {{CityMasterData.selectionvalue}} \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n

Generate Report

\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n PO reference No is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n PO No is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
PO Date is\r\n required
\r\n
\r\n \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 Department is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Installation Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Contact Person is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Designation is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Address is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Telephone No is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n
\r\n
Project Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Assets List

\r\n

Work Order for Supply, Installation and FMS

\r\n\t\t\t\t\t\t\t\t\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
S No. \r\n
{{i+1}}
\r\n\r\n
Item Details \r\n
{{AssetRecord.product}}
\r\n\r\n
\r\n Quantity \r\n
{{AssetRecord.count}}
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n
\r\n\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, ViewChild, Inject, Optional } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { CityInstallationReportService } from '../cityassetinstallation.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-viewCityInstallationReport',\r\n templateUrl: './viewCityInstallationReport.component.html',\r\n providers: [CityInstallationReportService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class ViewCityInstallationReport implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private reportService: CityInstallationReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private fileuploadService: FileuploadService) { }\r\n\r\n\r\n displayedColumns: string[] = ['product', 'count'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Generate City Wise Asset Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addCityForm: FormGroup;\r\n isSubmitted = false;\r\n attachmentFiles: any = [];\r\n uploadFlag: boolean = false;\r\n\r\n back = function () {\r\n this.router.navigate(['/searchCityInstallationReport']);\r\n }\r\n\r\n cityAssets = {\r\n \"city\": null, \"poreferenceno\": null, \"pono\": null, \"podate\": null, \"customerdepartment\": null,\r\n \"project\": [], \"remark\": null, \"installationdate\": null, \"contactperson\": null,\r\n \"designation\": null, \"address\": null, \"telno\": null, \"installationMasterChild\": [], \"installationattachment\": null,\r\n \"printflag\": null, \"uploadflag\": null, \"entityId\": null\r\n };\r\n\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.reportById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.cityAssets = resp;\r\n if (this.cityAssets.installationattachment != null) {\r\n this.attachmentFiles = this.fileuploadService.getSingleFileArray(this.cityAssets.installationattachment);\r\n }\r\n this.dcBind(resp);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // printComponent1(cmpName) {\r\n // let printContents = document.getElementById(cmpName).innerHTML;\r\n // let originalContents = document.body.innerHTML;\r\n // document.body.innerHTML = printContents;\r\n // window.print();\r\n // document.body.innerHTML = originalContents;\r\n // }\r\n\r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n City Asset Installation Report\r\n \r\n \r\n${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n disablePrint = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n if (!this.fileuploadService.hasfile(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n this.ReportData.installationattachment = this.fileuploadService.getFirstFilePath(this.attachmentFiles);\r\n\r\n this.reportService.disablePrint(id, headers, this.ReportData).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"File is uploaded successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n debugger;\r\n this.dc = resp;\r\n this.dc.dcdate = (new Date(this.DCData.dcdate));\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n enableUpload = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.enableUpload(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n\r\n // this.AssetRecord = this.DCData.asset;\r\n // this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ReportData = {};\r\n\r\n dcBind = function (obj) {\r\n this.ReportData.city = obj.city;\r\n this.ReportData.poreferenceno = obj.poreferenceno;\r\n this.ReportData.pono = obj.pono;\r\n this.ReportData.podate = obj.podate;\r\n this.ReportData.project = obj.project;\r\n this.ReportData.customerdepartment = obj.customerdepartment;\r\n this.ReportData.remark = obj.remark;\r\n this.ReportData.installationdate = obj.installationdate;\r\n this.ReportData.contactperson = obj.contactperson;\r\n this.ReportData.designation = obj.designation;\r\n this.ReportData.address = obj.address;\r\n this.ReportData.telno = obj.telno;\r\n this.ReportData.installationMasterChild = obj.installationMasterChild;\r\n }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n\r\n this.PageTitle = \"City Asset Installation Report\";\r\n this.editon(this.route.snapshot.params.id);\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
City Installation Report
Cutomer PO ref no.: {{cityAssets.poreferenceno}} PO NO.: {{cityAssets.pono}} 0\"> PO Dated : {{cityAssets.podate| date:'dd-MM-yyyy'}} PO Dated :
Customer Department : {{cityAssets.customerdepartment}} 0\">Date : {{cityAssets.installationdate| date:'dd-MM-yyyy'}}Date : {{cityAssets.installationdate| date:'dd-MM-yyyy'}}
Contact Person : {{cityAssets.contactperson}}Designation : {{cityAssets.contactperson}}
Address & Pin Code : {{cityAssets.address}}
Tel. No.: {{cityAssets.telno}}
Work Order for Supply, Installation and FMS \t\t\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \t\t\t\t\t\t\r\n \t\r\n \r\n
Sr.No.Items DetailQuantity
{{i+1}}{{item.product}}{{item.count}}
\r\n
Remarks :{{cityAssets.remark}}

\r\n
\r\n
Date of Installation :




\r\n
\r\n ----------------------------\r\n (Engineer Signature)\r\n
\r\n
\r\n -----------------------------------------\r\n (Customer Name & Signature)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { AssetMasterService } from './../AssetMaster/assetmaster.service';\r\nimport { UpdateDCAssetComponent} from './../DeliveryChallan/addasset/updateasset.component';\r\n\r\n@Component({\r\n selector: 'app-citywiseasset',\r\n templateUrl: './citywiseasset.component.html',\r\n providers: [AssetMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class CityWiseAssetReportComponent implements OnInit {\r\n\r\n constructor( private router: Router, private route: ActivatedRoute, private http: HttpClient, private assetService: AssetMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog:MatDialog) { }\r\n \r\n displayedColumns: string[] = ['assetname', 'category', 'subcategory'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n displayedColumns1: string[] = ['selectionvalue'];\r\n CityMasterData: MatTableDataSource;\r\n \r\n LocationMasterData: MatTableDataSource;\r\n \r\n displayedColumns2: string[] = ['selectionvalue'];\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"City and Location Wise Asset Report\";\r\n\r\n cityList : any = [];\r\n locationList: any = [];\r\n\r\n enableLocation: boolean = false;\r\n enableAsset: boolean= false;\r\n\r\n searchCity=null;\r\n searchLocation=null;\r\n FilterData={\"locationid\":null};\r\n\r\n applyFilterAsset(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.AssetRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n applyFilterCity(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.CityMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n applyFilterLoc(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.LocationMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n \r\n citycount:any;\r\n usidcount:any;\r\n // projectList\r\n getActiveCity= function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n \r\n this.sharedService.getCityList(headers).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n this.CityMasterData = new MatTableDataSource(resp);\r\n this.citycount = this.CityMasterData.filteredData.length;\r\n \r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getActiveLocationFromCity = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n this.LocationMasterData = new MatTableDataSource(resp);\r\n this.usidcount = this.LocationMasterData.filteredData.length;\r\n this.enableLocation=true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAssetsFromLocation = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.FilterData.locationid= name;\r\n this.showLoading = true;\r\n this.assetService.getAssetList(this.FilterData, headers ).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.enableAsset=true;\r\n this.AssetRecord= new MatTableDataSource(resp.content);\r\n this.AssetRecord.sort = this.sort;\r\n this.AssetRecord.paginator = this.paginator;\r\n this.totalRecords = this.AssetRecord.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updateAsset=function(id)\r\n {\r\n debugger;\r\n this.data={};\r\n this.data.id=id;\r\n this.data.flag='view' ; \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(UpdateDCAssetComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n \r\n })\r\n }\r\n\r\n \r\n getActiveCityFromDistrict = function (district) {\r\n debugger;\r\n if (district== null)\r\n {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, district).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n this.CityMasterData = new MatTableDataSource(resp);\r\n this.CityMasterData.sort = this.citySort;\r\n this.CityMasterData.paginator = this.cityPaginator;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n}\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n var district = sessionStorage.getItem(\"selectedDistrict\"); \r\n if (district != null)\r\n {\r\n this.getActiveCityFromDistrict(district);\r\n }\r\n else\r\n { \r\n this.getActiveCity();\r\n }\r\n }\r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

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

City Name

\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records:\r\n {{citycount}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
City\r\n \r\n \r\n {{CityMasterData.selectionvalue}}\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n

Unique Site ID Name

\r\n \r\n\r\n \r\n\r\n\r\n
\r\n
\r\n
Total Records:\r\n {{usidcount}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Location\r\n \r\n \r\n {{LocationMasterData.selectionvalue}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Assets List

\r\n
\r\n
\r\n
Total Records:\r\n {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Asset Name \r\n \r\n {{AssetRecord.assetname}}\r\n\r\n Category \r\n
{{AssetRecord.category}}
\r\n\r\n
Sub Category\r\n \r\n
{{AssetRecord.subcategory}}
\r\n
\r\n \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, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { AssetMasterService } from '../../AssetMaster/assetmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-updateasset',\r\n templateUrl: './updateasset.component.html',\r\n providers: [AssetMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class UpdateDCAssetComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private assetService: AssetMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n replace: boolean = false;\r\n executeAdd: boolean = false;\r\n disable = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n\r\n PageTitle = \"Add Asset\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n view = false;\r\n\r\n AssetData = {\r\n \"assetname\": null, \"serialno\": null, \"assettag\": null,\r\n \"deliverychallanno\": null, \"depreciation\": null, \"eol\": null,\r\n \"location\": null, \"notes\": null, \"orderno\": null,\r\n \"productid\": 0, \"projectname\": 0, \"purchasedate\": null,\r\n \"assetstatus\": null, \"vendorname\": 0, \"warrantytilldate\": null, \"entityId\": null\r\n };\r\n\r\n state = null;\r\n district = null;\r\n city = null;\r\n policestation = null;\r\n category = null;\r\n subcategory = null;\r\n assetname1 = null;\r\n serialno1 = null;\r\n assettag1 = null;\r\n\r\n categoryList: any = [];\r\n subcategoryList: any = [];\r\n projectList: any = [];\r\n productList: any = [];\r\n partyList: any = [];\r\n eolList: any = [];\r\n depreciationList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n cityList: any = [];\r\n policestationList: any = [];\r\n locationList: any = [];\r\n\r\n statusList = this._global.assetStatusList;\r\n addAssetForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n\r\n // category List\r\n\r\n getActiveCategory = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n debugger;\r\n this.categoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // subcategory List from category\r\n\r\n getActiveSubCategoryfromcategory = function (Name) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, Name).subscribe(resp => {\r\n debugger;\r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // productList\r\n getActiveProduct = function (name) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProductfromsubcategory(headers, name).subscribe(resp => {\r\n debugger;\r\n this.productList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Party List\r\n\r\n getActiveVendors = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // EOL List\r\n\r\n getActiveEol = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveEol(headers).subscribe(resp => {\r\n debugger;\r\n this.eolList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Depreciation List\r\n\r\n getActiveDepreciation = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveDepreciation(headers).subscribe(resp => {\r\n debugger;\r\n this.depreciationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // State List\r\n\r\n getActiveState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // district List\r\n\r\n getActiveDistrictFromstate = function (state) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // City List\r\n\r\n getActiveCityFromDistrict = function (district) {\r\n debugger;\r\n if (district == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, district).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // PoliceStation List\r\n\r\n getActivePoliceStationFromCity = function (name) {\r\n debugger;\r\n if (name == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActivePoliceStationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.policestationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n\r\n getActiveLocationFromPoliceStation = function (name) {\r\n debugger;\r\n if (name == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromPoliceStation(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n\r\n getActiveLocationFromCity = function (name) {\r\n debugger;\r\n if (name == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n addAsset = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.AssetData.purchasedate = this.AssetData.purchasedate.getTime();\r\n this.AssetData.warrantytilldate = this.AssetData.warrantytilldate.getTime();\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n if (this.replace == true) {\r\n if (this.assetname1 == null) {\r\n const errStr = \"Asset Name is required\";\r\n this.dialogService.openConfirmDialog(errStr)\r\n }\r\n else if (this.serialno1 == null) {\r\n const errStr = \"Serial No is required\";\r\n this.dialogService.openConfirmDialog(errStr)\r\n }\r\n else if (this.assettag1 == null) {\r\n const errStr = \"Asset Tag is required\";\r\n this.dialogService.openConfirmDialog(errStr)\r\n }\r\n\r\n }\r\n this.showLoading = true;\r\n this.assetService.saveAssetData(this.AssetData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.AssetData.warrantytilldate = (new Date(this.tempRes.warrantytilldate));\r\n this.AssetData.purchasedate = (new Date(this.tempRes.purchasedate));\r\n\r\n if (this.replace == true) {\r\n\r\n this.AssetData.assetname = this.assetname1;\r\n this.AssetData.serialno = this.serialno1;\r\n this.AssetData.assettag = this.assettag1;\r\n this.AssetData.entityId = null;\r\n this.addNew();\r\n }\r\n\r\n // this.addAssetForm.reset();\r\n // this.dialogRef.close(false);\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n addNew = function () {\r\n debugger;\r\n this.replace = false;\r\n this.showLoading = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.AssetData.purchasedate = this.AssetData.purchasedate.getTime();\r\n this.AssetData.warrantytilldate = this.AssetData.warrantytilldate.getTime();\r\n\r\n this.assetService.saveNewAsset(this.AssetData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Asset is Replaced successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n debugger;\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n clearfields = function () {\r\n this.AssetData = {\r\n \"assetname\": null, \"serialno\": null, \"assettag\": null,\r\n \"deliverychallanno\": null, \"depreciation\": null, \"eol\": null,\r\n \"location\": null, \"notes\": null, \"orderno\": null,\r\n \"productid\": null, \"projectname\": null, \"purchasedate\": null,\r\n \"assetstatus\": null, \"vendorname\": null, \"warrantytilldate\": null, \"entityId\": null\r\n };\r\n\r\n this.state = null;\r\n this.district = null;\r\n this.city = null;\r\n this.policestation = null;\r\n this.category = null;\r\n this.subcategory = null;\r\n }\r\n // Edit\r\n\r\n editon = function (id, flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.assetService.assetById(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.tempRes = resp;\r\n this.AssetData.entityId = this.tempRes.entityId;\r\n this.AssetData.assetname = this.tempRes.assetname;\r\n this.AssetData.serialno = this.tempRes.serialno;\r\n this.AssetData.assettag = this.tempRes.assettag;\r\n this.AssetData.deliverychallanno = this.tempRes.deliverychallanno;\r\n this.AssetData.depreciation = this.tempRes.depreciation;\r\n this.AssetData.eol = this.tempRes.eol;\r\n this.AssetData.notes = this.tempRes.notes;\r\n this.AssetData.location = this.tempRes.location;\r\n this.AssetData.orderno = this.tempRes.orderno;\r\n this.AssetData.productid = this.tempRes.productid;\r\n this.AssetData.projectname = this.tempRes.projectid;\r\n this.AssetData.assetstatus = this.tempRes.assetstatus;\r\n this.AssetData.vendorname = this.tempRes.vendorname;\r\n if (this.tempRes.warrantytilldate > 0) {\r\n this.AssetData.warrantytilldate = (new Date(this.tempRes.warrantytilldate));\r\n }\r\n else {\r\n this.AssetData.warrantytilldate = null;\r\n }\r\n\r\n if (this.tempRes.purchasedate > 0) {\r\n this.AssetData.purchasedate = (new Date(this.tempRes.purchasedate));\r\n }\r\n else {\r\n this.AssetData.purchasedate = null;\r\n }\r\n this.getActiveSubCategoryfromcategory(this.tempRes.category);\r\n this.getActiveProduct(this.tempRes.subcategory);\r\n this.getActiveDistrictFromstate(this.tempRes.state);\r\n this.getActiveCityFromDistrict(this.tempRes.district);\r\n this.getActivePoliceStationFromCity(this.tempRes.city);\r\n this.category = this.tempRes.category;\r\n this.subcategory = this.tempRes.subcategory;\r\n this.state = this.tempRes.state;\r\n this.district = this.tempRes.district;\r\n this.city = this.tempRes.city;\r\n this.policestation = this.tempRes.policestation\r\n\r\n if (flag == 'view') {\r\n this.edit = false;\r\n this.view = true;\r\n this.add = false;\r\n }\r\n else if (flag == 'add') {\r\n this.AssetData.assetstatus = 'REPLACED';\r\n this.add = true;\r\n this.edit = false;\r\n this.view = false;\r\n }\r\n else {\r\n this.edit = true;\r\n this.add = false;\r\n this.view = false;\r\n }\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n disableForTeamLeader = function () {\r\n this.addAssetForm.get('assetname').disable();\r\n this.addAssetForm.get('serialno').disable();\r\n this.addAssetForm.get('productid').disable();\r\n this.addAssetForm.get('depreciation').disable();\r\n this.addAssetForm.get('category').disable();\r\n this.addAssetForm.get('subcategory').disable();\r\n this.addAssetForm.get('eol').disable();\r\n this.addAssetForm.get('projectname').disable();\r\n this.addAssetForm.get('vendorname').disable();\r\n this.addAssetForm.get('purchasedate').disable();\r\n this.addAssetForm.get('warrantytilldate').disable();\r\n this.addAssetForm.get('state').disable();\r\n this.addAssetForm.get('district').disable();\r\n this.addAssetForm.get('orderno').disable();\r\n this.addAssetForm.get('deliverychallanno').disable();\r\n }\r\n\r\n disableAll = function () {\r\n this.addAssetForm.get('assetname').disable();\r\n this.addAssetForm.get('serialno').disable();\r\n this.addAssetForm.get('assettag').disable();\r\n this.addAssetForm.get('productid').disable();\r\n this.addAssetForm.get('depreciation').disable();\r\n this.addAssetForm.get('category').disable();\r\n this.addAssetForm.get('subcategory').disable();\r\n this.addAssetForm.get('eol').disable();\r\n this.addAssetForm.get('projectname').disable();\r\n this.addAssetForm.get('vendorname').disable();\r\n this.addAssetForm.get('purchasedate').disable();\r\n this.addAssetForm.get('warrantytilldate').disable();\r\n this.addAssetForm.get('location').disable();\r\n this.addAssetForm.get('state').disable();\r\n this.addAssetForm.get('district').disable();\r\n this.addAssetForm.get('city').disable();\r\n this.addAssetForm.get('policestation').disable();\r\n this.addAssetForm.get('orderno').disable();\r\n this.addAssetForm.get('deliverychallanno').disable();\r\n this.addAssetForm.get('notes').disable();\r\n this.addAssetForm.get('assetstatus').disable();\r\n }\r\n\r\n disableDC = function () {\r\n this.addAssetForm.get('assetname').disable();\r\n this.addAssetForm.get('serialno').disable();\r\n this.addAssetForm.get('assettag').disable();\r\n this.addAssetForm.get('productid').disable();\r\n this.addAssetForm.get('depreciation').disable();\r\n this.addAssetForm.get('category').disable();\r\n this.addAssetForm.get('subcategory').disable();\r\n this.addAssetForm.get('eol').disable();\r\n this.addAssetForm.get('projectname').disable();\r\n this.addAssetForm.get('vendorname').disable();\r\n this.addAssetForm.get('purchasedate').disable();\r\n this.addAssetForm.get('warrantytilldate').disable();\r\n this.addAssetForm.get('orderno').disable();\r\n this.addAssetForm.get('deliverychallanno').disable();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getActiveCategory();\r\n this.getActiveEol();\r\n this.getActiveDepreciation();\r\n this.getActiveProject();\r\n this.getActiveState();\r\n this.getActiveVendors();\r\n\r\n this.addAssetForm = this.formBuilder.group({\r\n assetname: [null],\r\n serialno: [null],\r\n assettag: [null],\r\n productid: [null, Validators.required],\r\n depreciation: [null, Validators.required],\r\n category: [null, Validators.required],\r\n subcategory: [null, Validators.required],\r\n eol: [null, Validators.required],\r\n projectname: [null, Validators.required],\r\n vendorname: [null, Validators.required],\r\n purchasedate: [null, Validators.required],\r\n warrantytilldate: [null, Validators.required],\r\n assetstatus: [null, Validators.required],\r\n location: [null, Validators.required],\r\n state: [null, Validators.required],\r\n district: [null, Validators.required],\r\n city: [null, Validators.required],\r\n policestation: [null],\r\n orderno: [null],\r\n deliverychallanno: [null],\r\n notes: [null],\r\n assetname1: [null],\r\n serialno1: [null],\r\n assettag1: [null],\r\n });\r\n\r\n\r\n debugger;\r\n if (this.data.flag == 'view') {\r\n this.disableAll();\r\n this.editon(this.data.id, 'view');\r\n }\r\n else if (this.data.flag == 'OEMREPLACED') {\r\n this.disableDC();\r\n this.replace = true;\r\n this.PageTitle = \"Replace Asset\";\r\n this.editon(this.data.id, 'add');\r\n }\r\n else {\r\n this.disable = false;\r\n this.disableDC();\r\n this.PageTitle = \"Update Asset\";\r\n this.editon(this.data.id, 'edit');\r\n }\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n\r\n if (district != null) {\r\n this.district = district;\r\n this.state = state;\r\n this.getActiveDistrictFromstate(state);\r\n this.getActiveCityFromDistrict(district);\r\n this.disableForTeamLeader();\r\n }\r\n }\r\n get formControls() {\r\n return this.addAssetForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Asset\r\n name is required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Serial\r\n no is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Asset Tag\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n
\r\n
Category\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n
\r\n
Sub Category\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ product.selectionvalue }}\r\n \r\n \r\n
\r\n
Product Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n
\r\n
Project Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ vendor.selectionvalue }}\r\n \r\n \r\n
\r\n
Vendor Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Purchase Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Warranty Till Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ eol.selectionvalue }}\r\n \r\n \r\n
\r\n
End Of Life (EOL)\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -select-\r\n \r\n {{ depreciation.selectionvalue }}\r\n \r\n \r\n
\r\n
Depreciation\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ status.name }}\r\n \r\n \r\n
\r\n
Asset Status\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n District \r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n
\r\n
District is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ city.selectionvalue }}\r\n \r\n \r\n
\r\n
City\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ policestation.selectionvalue }}\r\n \r\n \r\n
\r\n
Police Station\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ location.selectionvalue }}\r\n \r\n \r\n
\r\n
Location\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { DeliveryChallanService } from '../dc.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { SearchAssetComponent} from '../searchAsset/searchasset.component';\r\nimport { UpdateDCAssetComponent} from '../addasset/updateasset.component';\r\n\r\nexport interface Element {\r\n assetname: string;\r\n serialno: string;\r\n category: string;\r\n productname: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-adddc',\r\n templateUrl: './adddc.component.html',\r\n providers: [DeliveryChallanService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddDeliveryChallanComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: DeliveryChallanService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog:MatDialog) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disableEdit: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n displayedColumns: string[] = ['assetname', 'serialno', 'category', 'productname', 'count','action'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n @ViewChild('mytable') table: MatTable;\r\n\r\n PageTitle = \"Add Delivery Challan\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n DCData = {\r\n \"consignor\":null , \"dcdate\":null, \"gstno\":null, \"fulladdress\":null, \"dcno\":null,\r\n \"mobileno\":null, \"contactperson\":null , \"consigneename\":null, \"consigneecontact\":null, \"projectname\":null,\r\n \"shippedto\":null , \"asset\":[], \"noofboxes\": 0\r\n };\r\n\r\n state=null;\r\n \r\n projectList : any = [];\r\n partyList: any = [];\r\n addressList: any = [];\r\n gstList: any = [];\r\n\r\n party: any = [];\r\n\r\n addDCForm: FormGroup;\r\n isSubmitted = false;\r\n disableAdd :boolean= true;\r\n\r\n AssetEntityId=[];\r\n\r\n back = function () {\r\n this.router.navigate(['/searchDC']);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1 == o2;\r\n }\r\n \r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Party List\r\n\r\n getActiveVendors = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Address List\r\n\r\n getAllAddressOfParty = function(id){\r\n this.userid=this.DCData.consignor;\r\n if (this.userid == null){\r\n return;\r\n }\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getAllAddressOfParty(headers, this.userid).subscribe(resp => {\r\n debugger;\r\n this.addressList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // gst List\r\n\r\n getGstFromAddress = function(id){\r\n debugger;\r\n if (id == null){\r\n return;\r\n }\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.getAddressDetails(id);\r\n this.sharedService.getGstFromAddress(headers, this.DCData.consignor, id).subscribe(resp => {\r\n debugger;\r\n this.gstData={};\r\n this.gstData= resp;\r\n if (this.gstData != null){ \r\n if (this.gstData.gstNo != null){ \r\n this.DCData.gstno = this.gstData.gstNo;\r\n }\r\n }\r\n else{\r\n this.DCData.gstno = 'NA';\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Single List\r\n\r\n getAddressDetails = function(id){\r\n if (this.userid == null){\r\n return;\r\n }\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getAddressDetails(headers,id).subscribe(resp => {\r\n debugger;\r\n this.address = resp;\r\n \r\n if ( this.address.contactPerson != null){ \r\n this.DCData.contactperson = this.address.contactPerson;\r\n }\r\n else{\r\n this.DCData.contactperson = 'NA';\r\n }\r\n if (this.address.contactNo != null){ \r\n this.DCData.mobileno = this.address.contactNo;\r\n }\r\n else{\r\n this.DCData.mobileno = 'NA';\r\n }\r\n \r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n addDC = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.DCData.dcdate = this.DCData.dcdate.getTime();\r\n \r\n if (this.AssetRecord == null)\r\n {\r\n this.dialogService.openConfirmDialog(\"Add atleast one asset\");\r\n }\r\n else\r\n {\r\n this.DCData.asset = this.saveAsset;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addDCForm.invalid) {\r\n return;\r\n }\r\n\r\n this.showLoading = true;\r\n this.dcService.saveDC(this.DCData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Delivery Challan \" + flag + \" successfully.\";\r\n this.AssetRecord = [];\r\n // this.table.renderRows();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.clearfields();\r\n \r\n this.router.navigate(['/searchDC']);\r\n \r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.DCData.dcdate = (new Date(this.DCData.dcdate));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n clearfields = function () {\r\n this.DCData = {\r\n \"consignor\":null , \"dcno\":null , \"dcdate\":null, \"gstno\":null, \"fulladdress\":null, \r\n \"mobileno\":null, \"contactperson\":null , \"consigneename\":null, \"consigneecontact\":null, \"projectname\":null,\r\n \"challanattachment\":null, \"printflag\":false, \"shippedto\":null , \"asset\":[]\r\n };\r\n }\r\n\r\n\r\ntotalAssets:any=0;\r\n // add asset\r\nselectedAsset: any = [];\r\nsaveAsset:any =[];\r\n addAssets = function(id){\r\n debugger;\r\n this.data={};\r\n this.data.projectname=id; \r\n this.data.flag ='DC';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(SearchAssetComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n if (res.event == 'ADD')\r\n {\r\n this.tempAsset =res.data.saveAsset;\r\n for (let i =0; i< this.tempAsset.length;i++){\r\n this.saveAsset.push(this.tempAsset[i]);\r\n } \r\n\r\n this.selectedAsset=res.data.selectedAsset;\r\n let data: Element[] = [];\r\n \r\n for (let i =0; i< this.selectedAsset.length;i++){\r\n if (this.AssetRecord) {\r\n data = (this.AssetRecord as Element[]);\r\n }\r\n this.totalAssets = this.totalAssets +1;\r\n data.push(this.selectedAsset[i]);\r\n } \r\n this.disableAdd= false;\r\n this.AssetRecord = data;\r\n this.DCData.noofboxes =1;\r\n this.table.renderRows();\r\n \r\n }\r\n })\r\n }\r\n\r\n updateAsset=function(id)\r\n {\r\n debugger;\r\n this.data={};\r\n this.data.id=id; \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(UpdateDCAssetComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n \r\n })\r\n }\r\n disableText = function(){\r\n this.addDCForm.get('consignor').disable();\r\n this.addDCForm.get('dcdate').disable();\r\n this.addDCForm.get('projectname').disable();\r\n this.addDCForm.get('fulladdress').disable();\r\n this.addDCForm.get('mobileno').disable();\r\n this.addDCForm.get('contactperson').disable();\r\n this.addDCForm.get('consigneename').disable();\r\n this.addDCForm.get('consigneecontact').disable();\r\n this.addDCForm.get('shippedto').disable();\r\n this.addDCForm.get('gstno').disable();\r\n this.addDCForm.get('totalAssets').disable();\r\n this.addDCForm.get('boxes').disable();\r\n }\r\n\r\n deleteAsset = function(obj)\r\n {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n this.saveAsset.splice(this.saveAsset.indexOf(obj), 1);\r\n this.dsData = this.AssetRecord as Element[];\r\n this.AssetRecord.splice(this.dsData.indexOf(obj), 1);\r\n this.totalAssets = this.totalAssets-1;\r\n this.table.renderRows();\r\n }\r\n })\r\n }\r\n\r\n \r\n // Edit\r\n\r\n editon = function (id, flag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.dcById(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.DCData = resp;\r\n if (this.DCData.dcdate > 0) {\r\n this.DCData.dcdate = (new Date(this.DCData.dcdate)); \r\n }\r\n else {\r\n this.DCData.dcdate = null;\r\n }\r\n \r\n this.getAllAddressOfParty(this.DCData.consignor) ;\r\n this.AssetRecord = this.DCData.assetRecord;\r\n for (let i =0; i< this.AssetRecord.length;i++){\r\n this.totalAssets = this.totalAssets +1;\r\n } \r\n this.DCData.assetRecord = null;\r\n this.saveAsset = this.DCData.asset;\r\n this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getActiveProject();\r\n this.getActiveVendors();\r\ndebugger;\r\n this.addDCForm = this.formBuilder.group({\r\n consignor: [null, Validators.required],\r\n dcno: [null],\r\n dcdate: [null, Validators.required],\r\n projectname: [null, Validators.required],\r\n fulladdress: [null, Validators.required],\r\n mobileno: [null],\r\n contactperson: [null],\r\n consigneename: [null],\r\n consigneecontact: [null],\r\n shippedto: [null],\r\n\t gstno: [null],\r\n totalAssets:[null],\r\n boxes:[null, Validators.required]\r\n });\r\n debugger;\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n debugger;\r\n this.PageTitle = \"Update Delivery Challan\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n if (this.route.snapshot.params.page == 'viewDC') {\r\n debugger;\r\n this.disableEdit= true;\r\n this.PageTitle = \"Update Assets of Delivery Challan\";\r\n this.disableText();\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n \r\n }\r\n get formControls() {\r\n return this.addDCForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ vendor.selectionvalue }}\r\n \r\n \r\n
\r\n
Consignor Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ address.selectionvalue }}\r\n \r\n \r\n
\r\n
Address\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n
\r\n
Account Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
DC Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Asset Name \r\n
{{AssetRecord.assetname}}
\r\n
Serial No \r\n
{{AssetRecord.serialno}}
\r\n
Category\r\n
{{AssetRecord.category}}
\r\n
Product \r\n
{{AssetRecord.productname}}
\r\n
Count \r\n
1
\r\n
Action \r\n \r\n edit\r\n \r\n \r\n delete\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
No. of boxes\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \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, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { DeliveryChallanService } from '../dc.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { InterDistrictDCService } from '../../InterDistrictDeliveryChallan/interDC.service';\r\nimport { OEMDeliveryChallanService } from '../../OEMDeliveryChallan/oemdc.service';\r\n\r\n@Component({\r\n selector: 'app-courier',\r\n templateUrl: './courierDetails.component.html',\r\n providers: [DeliveryChallanService, AppGlobals, DialogService, SharedService, InterDistrictDCService, OEMDeliveryChallanService]\r\n})\r\nexport class CourierDetailsComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: DeliveryChallanService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private iddcService: InterDistrictDCService, private oemdcService: OEMDeliveryChallanService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n flag = '';\r\n\r\n PageTitle = \"Courier Details\";\r\n dc = true;\r\n project = false;\r\n invoice = false;\r\n\r\n Courier = {\r\n \"courierdate\": null, \"courierno\": null, \"courierDetails\": null\r\n };\r\n\r\n addCourierForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n add = function()\r\n {\r\n var flag = this.data.flag;\r\n if (flag ==\"DC\")\r\n {\r\n this.addCourierDetails();\r\n }\r\n else if (flag ==\"IDDC\")\r\n {\r\n this.addIDDCCourierDetails();\r\n }\r\n else if (flag ==\"OEMDC\")\r\n {\r\n this.addOEMDCCourierDetails();\r\n }\r\n }\r\n\r\n addCourierDetails = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addCourierForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.Courier.courierdate = this.Courier.courierdate.getTime();\r\n\r\n this.dcService.addCourierDetails(this.data.id,this.Courier, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Courier details saved successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n addIDDCCourierDetails = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addCourierForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.Courier.courierdate = this.Courier.courierdate.getTime();\r\n\r\n this.iddcService.addCourierDetails(this.data.id,this.Courier, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Courier details saved successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n addOEMDCCourierDetails = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addCourierForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.Courier.courierdate = this.Courier.courierdate.getTime();\r\n\r\n this.oemdcService.addCourierDetails(this.data.id,this.Courier, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Courier details saved successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\nview = function(id, flag)\r\n{\r\n if (flag ==\"DC\")\r\n {\r\n this.editCourierdetails(id);\r\n }\r\n else if (flag ==\"IDDC\")\r\n {\r\n this.editIDDCCourierdetails(id);\r\n }\r\n else if (flag ==\"OEMDC\")\r\n {\r\n this.editOEMDCCourierdetails(id);\r\n }\r\n}\r\n\r\n editCourierdetails = function (id) {\r\n debugger;\r\n \r\n this.dc = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.courierDetails(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.Courier = resp;\r\n if (this.Courier.courierdate > 0) {\r\n this.Courier.courierdate = (new Date(this.Courier.courierdate)); \r\n }\r\n else {\r\n this.Courier.courierdate = null;\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n editIDDCCourierdetails = function (id) {\r\n debugger;\r\n \r\n this.dc = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.iddcService.courierDetails(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.Courier = resp;\r\n if (this.Courier.courierdate > 0) {\r\n this.Courier.courierdate = (new Date(this.Courier.courierdate)); \r\n }\r\n else {\r\n this.Courier.courierdate = null;\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n editOEMDCCourierdetails = function (id) {\r\n debugger;\r\n \r\n this.dc = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.oemdcService.courierDetails(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.Courier = resp;\r\n if (this.Courier.courierdate > 0) {\r\n this.Courier.courierdate = (new Date(this.Courier.courierdate)); \r\n }\r\n else {\r\n this.Courier.courierdate = null;\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n \r\n ngOnInit(): void {\r\n debugger;\r\n this.addCourierForm = this.formBuilder.group({\r\n courierno: [null, Validators.required],\r\n courierdate: [null, Validators.required],\r\n courierDetails: [null]\r\n });\r\n\r\n \r\n this.view(this.data.id, this.data.flag);\r\n }\r\n get formControls() {\r\n return this.addCourierForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Courier Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Courier No\r\n is required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\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, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { DeliveryChallanService } from './dc.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ViewDeliveryChallanComponent } from './viewDC/viewDC.component';\r\nimport { CourierDetailsComponent } from './courierDetails/courierDetails.component';\r\nimport { DCFilterSession } from '../assetfilterdata';\r\n@Component({\r\n selector: 'app-dc',\r\n templateUrl: './dc.component.html',\r\n providers: [DeliveryChallanService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class DeliveryChallanComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: DeliveryChallanService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n displayedColumns: string[] = ['dcno', 'dcdate', 'consigneename', 'action'];\r\n DCRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = { \"projectname\": null, \"dcno\": null };\r\n PageTitle = \"Delivery Challan List\";\r\n filterDiv: boolean = false;\r\n deliveryChallanAdd: boolean = false;\r\n deliveryChallanEdit: boolean = false;\r\n deliveryChallanView: boolean = false;\r\n deliveryChallanDelete: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.DCRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addDC = function () {\r\n this.router.navigate(['/addDC']);\r\n }\r\n\r\n filterFunc = function () {\r\n this.getActiveProject();\r\n this.filterDiv = true;\r\n }\r\n\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"DCFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n projectList: any = [];\r\n getActiveProject = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.getDCList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n debugger;\r\n let dcFilterSession = new DCFilterSession();\r\n dcFilterSession.dcno = this.FilterData.dcno;\r\n dcFilterSession.projectname = this.FilterData.projectname;\r\n sessionStorage.setItem('DCFILTERSESSION', JSON.stringify(dcFilterSession));\r\n this.result = !Object.values(dcFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.DCRecord = new MatTableDataSource(resp);\r\n this.DCRecord.sort = this.sort;\r\n this.DCRecord.paginator = this.paginator;\r\n this.totalRecords = this.DCRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n openCourierdetails = function(id)\r\n {\r\n this.data={};\r\n this.data.id=id; \r\n this.data.flag ='DC';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(CourierDetailsComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n // this.search();\r\n })\r\n }\r\n //delete \r\n onDelete = function (name) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.deleteDC(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Delivery Challan deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n viewDC = function (id) {\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"100%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ViewDeliveryChallanComponent, dialogConfig).afterClosed().subscribe(res => {\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.deliveryChallanAdd = this._global.UserRights.includes(\"Delivery_Challan_ADD\");\r\n this.deliveryChallanEdit = this._global.UserRights.includes(\"Delivery_Challan_EDIT\");\r\n this.deliveryChallanView = this._global.UserRights.includes(\"Delivery_Challan_VIEW\");\r\n this.deliveryChallanDelete = this._global.UserRights.includes(\"Delivery_Challan_DELETE\");\r\n //Assign Filter\r\n let dcFilterSession = JSON.parse(sessionStorage.getItem('DCFILTERSESSION'));\r\n if (sessionStorage.getItem('DCFILTERSESSION') != null) {\r\n this.FilterData.dcno = dcFilterSession.dcno;\r\n this.FilterData.projectname = dcFilterSession.projectname;\r\n }\r\n if (dcFilterSession != null) {\r\n this.result = !Object.values(dcFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
DC No \r\n\r\n \r\n {{DCRecord.dcno}}\r\n \r\n\r\n DC Date \r\n
0\">\r\n {{DCRecord.dcdate| date:'dd-MM-yyyy'}}
\r\n
\r\n
Consignee Name \r\n
{{DCRecord.consigneename}}
\r\n
Action \r\n\r\n\r\n \r\n edit\r\n \r\n \r\n edit\r\n \r\n \r\n edit\r\n \r\n \r\n delete\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeliveryChallanService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveDC(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getDCList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc/dcByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ndcById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteDC(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\nviewdcById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc/viewDc/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\ndisablePrint(id, header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc/disable/'+id;\r\n return this._http.put(url, body,{ headers: header });\r\n}\r\n\r\nenableUpload(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc/enableUpload/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ncourierDetails(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc/getCourierDetails/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\naddCourierDetails(id, body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/dc/addCourierDetails/'+id;\r\n return this._http.post(url, body,{ headers: header });\r\n}\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, Inject, Optional } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { AssetMasterService } from './../../AssetMaster/assetmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-asearchsset',\r\n templateUrl: './searchasset.component.html',\r\n providers: [AssetMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\n\r\nexport class SearchAssetComponent implements OnInit {\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private assetService: AssetMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n displayedColumns: string[] = ['selectvalue', 'assetname', 'serialno', 'category', 'productname'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = {\r\n \"assetname\": null, \"serialno\": null, \"assettag\": null, \"projectid\": null, \"category\": null, \"subcategory\": null,\r\n \"state\": null, \"district\": null, \"city\": null, \"policestation\": null, \"location\": null\r\n };\r\n PageTitle = \"Asset List\";\r\n filterDiv: boolean = false;\r\n selectedAsset = [];\r\n saveAsset = [];\r\n asset = { \"selectedAsset\": [], \"saveAsset\": [] };\r\n \r\n filterFunc = function () {\r\n this.getActiveCategory();\r\n this.getActiveProject();\r\n this.getActiveState();\r\n if (this.FilterData.district != null) {\r\n this.getActiveCityFromDistrict(this.FilterData.district);\r\n }\r\n this.filterDiv = true;\r\n }\r\n\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n categoryList: any = [];\r\n subcategoryList: any = [];\r\n projectList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n cityList: any = [];\r\n policestationList: any = [];\r\n locationList: any = [];\r\n flag: any;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.AssetRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n // category List\r\n getActiveCategory = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n debugger;\r\n this.categoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // subcategory List from category\r\n getActiveSubCategoryfromcategory = function (stateName) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, stateName).subscribe(resp => {\r\n debugger;\r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // State List\r\n getActiveState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // district List\r\n getActiveDistrictFromstate = function (state) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // City List\r\n getActiveCityFromDistrict = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, name).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // PoliceStation List\r\n getActivePoliceStationFromCity = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActivePoliceStationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.policestationList = resp;\r\n this.getActiveLocationFromCity(name);\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n getActiveLocationFromPoliceStation = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromPoliceStation(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Location List\r\n getActiveLocationFromCity = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveLocationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.assetService.getDCAssetList(this.FilterData, headers, this.flag).subscribe(resp => {\r\n debugger;\r\n this.AssetRecord = new MatTableDataSource(resp);\r\n this.AssetRecord.sort = this.sort;\r\n this.AssetRecord.paginator = this.paginator;\r\n this.totalRecords = this.AssetRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n setValue = function (value, Obj) {\r\n debugger;\r\n this.item = {};\r\n this.item.entityId = Obj.entityId;\r\n this.item.assetname = Obj.assetname;\r\n this.item.serialno = Obj.serialno;\r\n this.item.category = Obj.category;\r\n this.item.productname = Obj.productname;\r\n this.item1 = {};\r\n this.item1.entityId = Obj.entityId;\r\n if (value == true) {\r\n debugger;\r\n this.selectedAsset.push(this.item);\r\n this.saveAsset.push(this.item1);\r\n }\r\n else {\r\n debugger;\r\n this.selectedAsset.pop(this.item);\r\n this.saveAsset.pop(this.item1);\r\n }\r\n this.asset.selectedAsset = this.selectedAsset;\r\n this.asset.saveAsset = this.saveAsset;\r\n }\r\n\r\n addSelected = function () {\r\n debugger;\r\n this.dialogRef.close({ event: 'ADD', data: this.asset });\r\n }\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n district: String = null;\r\n state: String = null;\r\n disable: boolean = false;\r\n ngOnInit(): void {\r\n this.FilterData.projectid = this.data.projectname;\r\n if (this.data.flag != null) {\r\n this.flag = this.data.flag;\r\n }\r\n this.district = sessionStorage.getItem(\"selectedDistrict\");\r\n this.state = sessionStorage.getItem(\"selectedState\");\r\n if (this.district != null) {\r\n this.FilterData.district = this.district.trim().toLowerCase();\r\n this.FilterData.state = this.state.trim().toLowerCase();\r\n this.disable = true;\r\n }\r\n this.search();\r\n }\r\n}","\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ state.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ district.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ city.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ policestation.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ location.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Select \r\n \r\n \r\n Asset Name \r\n
{{AssetRecord.assetname}}
\r\n \r\n
Serial No \r\n
{{AssetRecord.serialno}}
\r\n
Category \r\n
{{AssetRecord.category}}
\r\n\r\n
Product \r\n
{{AssetRecord.productname}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\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, ViewChild, Inject, Optional } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { DeliveryChallanService } from '../dc.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-viewDC',\r\n templateUrl: './viewDC.component.html',\r\n providers: [DeliveryChallanService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class ViewDeliveryChallanComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: DeliveryChallanService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disableEdit: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n displayedColumns: string[] = ['assetname', 'serialno', 'category', 'productname', 'action'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n PageTitle = \"Add Delivery Challan\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n dc = {\r\n \"partyname\": null, \"dcdate\": null, \"gstno\": null, \"address\": null, \"dcno\": null,\r\n \"mobileno\": null, \"contactperson\": null, \"consigneename\": null, \"consigneecontact\": null, \"projectname\": null,\r\n \"shippedto\": null, \"asset\": [], \"entityId\": null, \"challanattachment\": null, \"printflag\": null, \"uploadflag\": null,\r\n \"isDeleted\": null, \"noofboxes\":null, \"courierdate\": null, \"courierDetails\":null,\"courierno\":null\r\n };\r\n\r\n\r\n addDCForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n AssetEntityId = [];\r\n attachmentFiles: any = [];\r\n uploadFlag: boolean = false;\r\n\r\n back = function () {\r\n this.router.navigate(['/searchDC']);\r\n this.dialogRef.close(false);\r\n }\r\n\r\n dcAsset: any = [];\r\n\r\n totalAssets:any=0;\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.viewdcById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.dc = resp;\r\n this.dcAsset = this.dc.asset;\r\n for (let i =0; i< this.dcAsset.length;i++){\r\n this.totalAssets = this.totalAssets +1;\r\n } \r\n // console.log(this.dcAsset);\r\n this.dcBind(resp);\r\n this.dc.dcdate = (new Date(this.DCData.dcdate));\r\n if (this.dc.challanattachment != null) {\r\n this.attachmentFiles = this.fileuploadService.getSingleFileArray(this.dc.challanattachment);\r\n }\r\n // this.AssetRecord = this.DCData.asset;\r\n // this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // printComponent(cmpName) {\r\n // let printContents = document.getElementById(cmpName).innerHTML;\r\n // let originalContents = document.body.innerHTML;\r\n // document.body.innerHTML = printContents;\r\n // window.print();\r\n // document.body.innerHTML = originalContents;\r\n // //window.location.reload();\r\n // }\r\n\r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n Delivery Challan\r\n \r\n \r\n${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n disablePrint = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n if (!this.fileuploadService.hasfile(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.DCData.challanattachment = this.fileuploadService.getFirstFilePath(this.attachmentFiles);\r\n // this.DCData.dcdate = this.DCData.dcdate.getTime();\r\n\r\n this.dcService.disablePrint(id, headers, this.DCData).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"File is uploaded successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n debugger;\r\n this.dc = resp;\r\n this.dc.dcdate = (new Date(this.DCData.dcdate));\r\n if (this.dc.challanattachment != null) {\r\n this.attachmentFiles = this.fileuploadService.getSingleFileArray(this.dc.challanattachment);\r\n }\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorMessage[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\nenablePrintFlag:boolean= false;\r\n enableUpload = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.enableUpload(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.enablePrintFlag = this.dc.uploadflag;\r\n // this.AssetRecord = this.DCData.asset;\r\n // this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n DCData = {};\r\n\r\n dcBind = function (obj) {\r\n this.DCData.consignor = obj.consignor;\r\n this.DCData.dcdate = obj.dcdate;\r\n this.DCData.gstno = obj.gstno;\r\n this.DCData.fulladdress = obj.fulladdress;\r\n this.DCData.dcno = obj.dcno;\r\n this.DCData.mobileno = obj.mobileno;\r\n this.DCData.contactperson = obj.contactperson;\r\n this.DCData.consigneename = obj.consigneename;\r\n this.DCData.consigneecontact = obj.consigneecontact;\r\n this.DCData.projectname = obj.projectid;\r\n this.DCData.shippedto = obj.shippedto;\r\n this.DCData.asset = obj.asset;\r\n this.DCData.entityId = obj.entityId;\r\n this.DCData.courierno = obj.courierno;\r\n this.DCData.courierDetails = obj.courierDetails;\r\n this.DCData.courierdate = obj.courierdate;\r\n }\r\n deliveryChallanEdit : boolean = false;\r\n ngOnInit(): void {\r\n this.deliveryChallanEdit = this._global.UserRights.includes(\"Delivery_Challan_EDIT\");\r\n debugger;\r\n this.PageTitle = \"Delivery Challan\";\r\n this.editon(this.route.snapshot.params.id);\r\n\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Delivery Challan
\r\n Consignor:\r\n

\r\n {{dc.partyname}}\r\n

\r\n Full address:\r\n

\r\n {{dc.address}}\r\n {{dc.contactperson}}\r\n

\r\n Contact Detail:\r\n

\r\n {{dc.mobileno}}\r\n

\r\n
\r\n DC No:\r\n

\r\n {{dc.dcno}}\r\n

\r\n Date:\r\n

\r\n 0\">{{dc.dcdate| date:'dd-MM-yyyy'}}\r\n \r\n

\r\n GST No:\r\n

\r\n {{dc.gstno}}\r\n

\r\n
\r\n Consignee Name: \r\n

\r\n {{dc.consigneename}}\r\n

\r\n\r\n Contact Detail: \r\n

\r\n {{dc.consigneecontact}}\r\n

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

\r\n Courier No: \r\n {{dc.courierno}}\r\n

\r\nCourier Dispatch Date:\r\n

\r\n 0\">{{dc.courierdate| date:'dd-MM-yyyy'}}\r\n \r\n

\r\n

\r\n Courier Details: \r\n {{dc.courierDetails}}\r\n

\r\n
\r\n Ship To\r\n

\r\n {{dc.shippedto}}\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
Sr. No.Asset NameSerial No.CategoryProductCount Unique Site ID
{{i+1}}{{item.assetname}} {{item.serialno}} {{item.category}}{{item.productname}}1
\r\n
\r\n
\r\n Total No of. Assets\r\n

\r\n {{totalAssets}}\r\n

\r\n
\r\n
\r\n Total No of. Boxes\r\n

\r\n {{dc.noofboxes}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
Aurionpro Solutions Ltd.\r\n




\r\n Signature \r\n
\r\n\r\n
Support Engineer Signature.\r\n




\r\n Signature \r\n
\r\n\r\n
Division Coordinator\r\n




\r\n Signature
\r\n\r\n
\r\n
\r\n

There is no consideration received / receivable in cash or kind for the above goods.

\r\n

** This is a computer generated\r\n document, signatures are not required **

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { HsnMasterService } from './hsn-master.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-hsn-master',\r\n templateUrl: './hsn-master.component.html',\r\n providers: [HsnMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class HsnMasterComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private hsnMasterService: HsnMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['hsncode', 'cgst', 'sgst', 'igst', 'country', 'action'];\r\n HSNMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"HSN Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n hsnAdd: boolean = false;\r\n hsnEdit: boolean = false;\r\n hsnView: boolean = false;\r\n hsnDelete: boolean = false;\r\n\r\n HSNData = {\r\n \"hsncode\": null, \"country\": null, \"cgst\": 0, \"sgst\": 0,\r\n \"igst\": 0\r\n };\r\n addHsnForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.HSNMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.HSNData = {};\r\n this.PageTitle = \"HSN Master\";\r\n this.addHsnForm.get('hsncode').enable();\r\n this.addHsnForm.get('tax').enable();\r\n this.enableGst();\r\n }\r\n\r\n // Tax and GST based on country\r\n igst: boolean = true;\r\n tax: boolean = false;\r\n\r\n disableGst() {\r\n this.addHsnForm.get('cgst').disable();\r\n this.addHsnForm.get('sgst').disable();\r\n this.addHsnForm.get('igst').disable();\r\n }\r\n enableGst() {\r\n this.addHsnForm.get('cgst').enable();\r\n this.addHsnForm.get('sgst').enable();\r\n this.addHsnForm.get('igst').enable();\r\n }\r\n countryChange() {\r\n debugger;\r\n if (this.HSNData.country == \"India\") {\r\n this.addHsnForm.get('tax').disable();\r\n this.enableGst();\r\n this.tax = false\r\n this.igst = true;\r\n this.HSNData.cgst = 0;\r\n this.HSNData.sgst=0;\r\n this.HSNData.igst = 0;\r\n \r\n }\r\n else {\r\n this.disableGst()\r\n this.addHsnForm.get('tax').enable();\r\n this.tax = true\r\n this.igst = false;\r\n this.HSNData.cgst = 0;\r\n this.HSNData.sgst=0;\r\n this.HSNData.igst = 0;\r\n }\r\n }\r\n // Add / update function\r\n addHSN = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addHsnForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.hsnMasterService.saveHSN(this.HSNData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"HSN \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.HSNData = {};\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.addHsnForm.get('hsncode').enable();\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete Function\r\n onDelete = function (id) {\r\n\r\n this.DeleteMsg = 'Are you sure you want to Deactivate this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.hsnMasterService.deleteHsnById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.successMessage = 'Deactivated Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n })\r\n }\r\n\r\n FilterData = {\r\n };\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.hsnMasterService.getHSNList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n\r\n this.HSNMasterData = new MatTableDataSource(resp);\r\n this.HSNMasterData.sort = this.sort;\r\n this.HSNMasterData.paginator = this.paginator;\r\n this.totalRecords = this.HSNMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n editData = function (entityId) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n this.addHsnForm.get('hsncode').disable();\r\n\r\n\r\n for (let i = 0; i < this.HSNMasterData.filteredData.length; i++) {\r\n if (this.HSNMasterData.filteredData[i].entityId == entityId) {\r\n this.HSNData = this.HSNMasterData.filteredData[i];\r\n // this.ParentMenuName = this.MenuData.parent.menuname;\r\n //break;\r\n\r\n if (this.HSNMasterData.filteredData[i].country == \"India\") {\r\n this.addHsnForm.get('tax').disable();\r\n this.enableGst();\r\n this.tax = false\r\n this.igst = true;\r\n break;\r\n }\r\n else {\r\n this.disableGst()\r\n this.addHsnForm.get('tax').enable();\r\n this.tax = true\r\n this.igst = false;\r\n break;\r\n }\r\n \r\n }\r\n \r\n }\r\n //this.countryChange();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //Role Rights\r\n this.hsnAdd = this._global.UserRights.includes(\"HSN_Master_ADD\");\r\n this.hsnEdit = this._global.UserRights.includes(\"HSN_Master_EDIT\");\r\n this.hsnView = this._global.UserRights.includes(\"HSN_Master_VIEW\");\r\n this.hsnDelete = this._global.UserRights.includes(\"HSN_Master_DELETE\");\r\n\r\n this.addHsnForm = this.formBuilder.group({\r\n hsncode: [null, Validators.required],\r\n country: [null, Validators.required],\r\n cgst: [0, Validators.required],\r\n sgst: [0, Validators.required],\r\n igst: [0, Validators.required],\r\n tax: [0, Validators.required]\r\n });\r\n this.search();\r\n }\r\n get formControls() { return this.addHsnForm.controls; }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
HSN code is required\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n Country\r\n \r\n -Select-\r\n India\r\n \r\n Singapore\r\n\r\n \r\n
\r\n
Country is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
CGST is required\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
SGST is required\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
IGST is required\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Tax is required\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
HSN Code {{HSNMasterData.hsncode}} CGST % {{HSNMasterData.cgst}} SGST % {{HSNMasterData.sgst}} IGST % \r\n {{HSNMasterData.igst}} Country\r\n {{HSNMasterData.country}} Action \r\n \r\n \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HsnMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveHSN(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/hsn';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/hsn';\r\n // var url = this._global.baseAPIUrl + 'ipms/hsn/'+body.hsncode;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getHSNList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/hsn/hsnFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nhsnByCode(hsncode, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/hsn/'+hsncode;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteHsnById (id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/hsn/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n\r\ngetHsnByCodeValue(hsncode, header) {\r\n \r\n let body = {\"hsncode\": hsncode}\r\n var url = this._global.baseAPIUrl + 'ipms/hsn/getByHsnCode';\r\n return this._http.post(url, body, { headers: header });\r\n}\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { InterDistrictDCService } from '../interDC.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ProjectApprovalTaskService } from '../../../ProjectMgmt/ProjectApproval/projectapproval.service';\r\nimport { InvoiceTaskService } from '../../../BillingMgmt/Invoice/invoicetask/invoicetask.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-action',\r\n templateUrl: './action.component.html',\r\n providers: [InterDistrictDCService, AppGlobals, DialogService, SharedService, ProjectApprovalTaskService, InvoiceTaskService, FileuploadService]\r\n})\r\nexport class ActionComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: InterDistrictDCService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private taskService: ProjectApprovalTaskService,\r\n private fileuploadService: FileuploadService,\r\n private invoiceService: InvoiceTaskService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n flag = '';\r\n\r\n PageTitle = \"Action\";\r\n dc = true;\r\n project = false;\r\n invoice = false;\r\n\r\n invoicedate = null;\r\n invoiceno = null;\r\n accountFiles: any = [];\r\n signedFiles: any = [];\r\n\r\n ActionData = {\r\n \"approvalStatus\": null, \"remark\": null, \"assignToRole\": null\r\n };\r\n\r\n addAssetForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n processDC = function (action) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n\r\n this.dcService.processDC(this.ActionData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Delivery Challan \" + action + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n editInterDC = function (id) {\r\n debugger;\r\n this.project = false;\r\n this.dc = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n processProject = function (action) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n\r\n this.taskService.processTask(this.ActionData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project \" + action + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n editProject = function (id) {\r\n debugger;\r\n this.dc = false;\r\n this.project = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n processInvoice = function (action) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n if (this.ActionData.assignToRole == 'ACCOUNT HEAD') {\r\n this.ActionData.invoiceno = this.invoiceno;\r\n this.ActionData.invoicedate = this.invoicedate.getTime();\r\n\r\n if (!this.fileuploadService.hasfile(this.accountFiles)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Invoice Excel\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.accountFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.ActionData.invoiceexcel = this.fileuploadService.getFirstFilePath(this.accountFiles);\r\n\r\n }\r\n else if (this.ActionData.assignToRole == 'BILLING TEAM') {\r\n this.ActionData.approvalStatus = \"APPROVED\";\r\n if (!this.fileuploadService.hasfile(this.signedFiles)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Signed Excel\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.signedFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.ActionData.invoicesignedexcel = this.fileuploadService.getFirstFilePath(this.signedFiles);\r\n\r\n }\r\n\r\n this.invoiceService.processTask(this.ActionData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Invoice \" + action + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n editInvoice = function (id) {\r\n debugger;\r\n this.project = false;\r\n this.dc = false;\r\n this.invoice = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.invoiceService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n if (this.ActionData.assignToRole == 'BILLING TEAM') {\r\n this.ActionData.approvalStatus = \"APPROVED\";\r\n\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.addAssetForm = this.formBuilder.group({\r\n approvalStatus: [null, Validators.required],\r\n remark: [null, Validators.required],\r\n invoicedate: [null],\r\n invoiceno: [null]\r\n });\r\n\r\n if (this.data.flag == 'projectApproval') {\r\n this.editProject(this.data.id);\r\n }\r\n else if (this.data.flag == 'invoice') {\r\n this.editInvoice(this.data.id);\r\n } else {\r\n this.editInterDC(this.data.id);\r\n }\r\n\r\n\r\n }\r\n get formControls() {\r\n return this.addAssetForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n Approve\r\n \r\n Receive\r\n Reject\r\n \r\n
\r\n
Action is Required\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Remark is Required\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { InterDistrictDCService } from '../interDC.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { SearchAssetComponent} from '../../DeliveryChallan/searchAsset/searchasset.component';\r\nimport { UpdateDCAssetComponent} from '../../DeliveryChallan/addasset/updateasset.component';\r\nimport { ActionComponent} from '../action/action.component';\r\n\r\nexport interface Element {\r\n assetname: string;\r\n serialno: string;\r\n category: string;\r\n productname: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-interdcAdd',\r\n templateUrl: './interdcAdd.component.html',\r\n providers: [InterDistrictDCService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddInterDCComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: InterDistrictDCService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog:MatDialog) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disableEdit: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n displayedColumns: string[] = ['assetname', 'serialno', 'category', 'productname','count','action'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n @ViewChild('mytable') table: MatTable;\r\n\r\n PageTitle = \"Add Inter District Delivery Challan\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n DCData = {\r\n \"dcdate\":null, \"dcno\":null, \"mobileno\":null, \"contactperson\":null , \"consigneename\":null, \r\n \"consigneecontact\":null, \"projectname\":null,\r\n \"shippedto\":null , \"remark\":null, \"asset\":[], \"noofboxes\": 0\r\n };\r\n\r\n projectList : any = [];\r\n locationList: any = [];\r\n \r\n addDCForm: FormGroup;\r\n isSubmitted = false;\r\n disableAdd:Boolean = true;\r\n\r\n back = function () {\r\n this.router.navigate(['/searchInterDC']);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1 == o2;\r\n }\r\n \r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Party List\r\n\r\n getActiveLocations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getWarehouse(headers).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n addDC = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.DCData.dcdate = this.DCData.dcdate.getTime();\r\n \r\n if (this.AssetRecord == null)\r\n {\r\n this.dialogService.openConfirmDialog(\"Add atleast one asset\");\r\n return;\r\n }\r\n else\r\n {\r\n this.DCData.asset = this.saveAsset;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addDCForm.invalid) {\r\n return;\r\n }\r\n\r\n this.showLoading = true;\r\n this.dcService.saveDC(this.DCData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Delivery Challan \" + flag + \" successfully.\";\r\n this.AssetRecord = [];\r\n // this.table.renderRows();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.clearfields();\r\n this.router.navigate(['/searchInterDC']);\r\n \r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.DCData.dcdate = (new Date(this.DCData.dcdate));\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n clearfields = function () {\r\n this.DCData = {\r\n \"dcdate\":null, \"dcno\":null, \"mobileno\":null, \"contactperson\":null , \"consigneename\":null, \r\n \"consigneecontact\":null, \"projectname\":null,\r\n \"shippedto\":null , \"remark\":null, \"asset\":[]\r\n };\r\n }\r\n\r\n\r\n totalAssets:any=0;\r\n // add asset\r\nselectedAsset: any = [];\r\nsaveAsset:any =[];\r\n addAssets = function(id){\r\n debugger;\r\n this.data={};\r\n this.data.projectname=id; \r\n this.data.flag ='INTERDC';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(SearchAssetComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n if (res.event == 'ADD')\r\n {\r\n this.tempAsset =res.data.saveAsset;\r\n for (let i =0; i< this.tempAsset.length;i++){\r\n this.saveAsset.push(this.tempAsset[i]);\r\n } \r\n this.selectedAsset=res.data.selectedAsset;\r\n let data: Element[] = [];\r\n \r\n for (let i =0; i< this.selectedAsset.length;i++){\r\n if (this.AssetRecord) {\r\n data = (this.AssetRecord as Element[]);\r\n }\r\n this.totalAssets = this.totalAssets +1;\r\n data.push(this.selectedAsset[i]);\r\n } \r\n this.disableAdd = false;\r\n this.AssetRecord = data;\r\n this.DCData.noofboxes =1;\r\n this.table.renderRows();\r\n }\r\n })\r\n }\r\n\r\n updateAsset=function(id)\r\n {\r\n debugger;\r\n this.data={};\r\n this.data.id=id; \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(UpdateDCAssetComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n \r\n })\r\n }\r\n\r\n deleteAsset = function(obj)\r\n {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n this.saveAsset.splice(this.saveAsset.indexOf(obj), 1);\r\n this.dsData = this.AssetRecord as Element[];\r\n this.AssetRecord.splice(this.dsData.indexOf(obj), 1);\r\n this.totalAssets = this.totalAssets-1;\r\n this.table.renderRows();\r\n }\r\n })\r\n }\r\n\r\n sendToWarhouse= function(obj){\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.id = obj.entityId;\r\n this.dcService.sendToWarhouse(headers, this.id).subscribe(resp => {\r\n debugger;\r\n // this.locationList = resp;\r\n this.successMessage = \"Delivery Challan is processed successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.router.navigate(['/searchInterDC']);\r\n })\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\naction= function(id)\r\n{\r\n debugger;\r\n this.data={};\r\n this.data.id=id; \r\n this.data.flag='Interdc'\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ActionComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n \r\n })\r\n}\r\n \r\n // Edit\r\n\r\n editon = function (id, flag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.dcById(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.DCData = resp;\r\n if (this.DCData.dcdate > 0) {\r\n this.DCData.dcdate = (new Date(this.DCData.dcdate)); \r\n }\r\n else {\r\n this.DCData.dcdate = null;\r\n }\r\n this.AssetRecord = this.DCData.assetRecord;\r\n for (let i =0; i< this.AssetRecord.length;i++){\r\n this.totalAssets = this.totalAssets +1;\r\n } \r\n this.DCData.assetRecord = null;\r\n this.saveAsset = this.DCData.asset;\r\n this.DCData.noofboxes =1;\r\n this.table.renderRows();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n disableText = function(){\r\n this.addDCForm.get('dcdate').disable();\r\n this.addDCForm.get('projectname').disable();\r\n this.addDCForm.get('mobileno').disable();\r\n this.addDCForm.get('contactperson').disable();\r\n this.addDCForm.get('consigneename').disable();\r\n this.addDCForm.get('consigneecontact').disable();\r\n this.addDCForm.get('shippedto').disable();\r\n this.addDCForm.get('remark').disable();\r\n this.addDCForm.get('totalAssets').disable();\r\n this.addDCForm.get('boxes').disable();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getActiveProject();\r\n this.getActiveLocations();\r\n debugger;\r\n this.addDCForm = this.formBuilder.group({\r\n dcno: [null],\r\n dcdate: [null, Validators.required],\r\n projectname: [null, Validators.required],\r\n mobileno: [null],\r\n contactperson: [null],\r\n consigneename: [null],\r\n consigneecontact: [null],\r\n shippedto: [null],\r\n\t remark: [null],\r\n totalAssets:[null],\r\n boxes:[null, Validators.required]\r\n });\r\n debugger;\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n debugger;\r\n this.PageTitle = \"Update Inter District Delivery Challan\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n if (this.route.snapshot.params.page == 'viewDC') {\r\n debugger;\r\n this.disableEdit= true;\r\n this.disableText();\r\n this.PageTitle = \"Update Assets of Inter District Delivery Challan\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n \r\n }\r\n get formControls() {\r\n return this.addDCForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
TL Contact\r\n Details\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n
\r\n
Project Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
DC Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ location.selectionvalue }}\r\n \r\n \r\n
\r\n
Shipped to is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Asset Name \r\n
{{AssetRecord.assetname}}
\r\n
Serial No \r\n
{{AssetRecord.serialno}}
\r\n
Category\r\n
{{AssetRecord.category}}
\r\n
Product \r\n
{{AssetRecord.productname}}
\r\n
Count \r\n
1
\r\n
Action \r\n \r\n delete\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
No. of boxes\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { InterDistrictDCService } from './interDC.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ActionComponent } from './action/action.component';\r\nimport { CourierDetailsComponent } from './../DeliveryChallan/courierDetails/courierDetails.component';\r\nimport { DCFilterSession } from '../assetfilterdata';\r\n\r\n@Component({\r\n selector: 'app-interDC',\r\n templateUrl: './interDC.component.html',\r\n providers: [InterDistrictDCService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class InterDistrictDCComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: InterDistrictDCService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n displayedColumns: string[] = ['dcno', 'dcdate', 'consigneename', 'action'];\r\n DCRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n disableSendTo: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = { \"projectname\": null, \"dcno\": null };\r\n //, \"fromdate\":null, \"toDate\":null};\r\n PageTitle = \"Inter District Delivery Challan List\";\r\n filterDiv: boolean = false;\r\n actionFlag: boolean = false;\r\n approvalFlag: boolean = false;\r\n interDistrictAdd: boolean = false;\r\n interDistrictEdit: boolean = false;\r\n interDistrictView: boolean = false;\r\n interDistrictDelete: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.DCRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n addDC = function () {\r\n this.router.navigate(['/addInterDC']);\r\n }\r\n filterFunc = function () {\r\n this.getActiveProject();\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"DCFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n projectList = {};\r\n // projectList\r\n getActiveProject = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.getDCList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n debugger;\r\n let dcFilterSession = new DCFilterSession();\r\n dcFilterSession.dcno = this.FilterData.dcno;\r\n dcFilterSession.projectname = this.FilterData.projectname;\r\n sessionStorage.setItem('DCFILTERSESSION', JSON.stringify(dcFilterSession));\r\n this.result = !Object.values(dcFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.DCRecord = new MatTableDataSource(resp);\r\n this.DCRecord.sort = this.sort;\r\n this.DCRecord.paginator = this.paginator;\r\n this.totalRecords = this.DCRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n //delete \r\n onDelete = function (name) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.deleteDC(name, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Delivery Challan deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n sendToWarhouse = function (obj) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.sendToWarhouse(headers, obj).subscribe(resp => {\r\n // this.locationList = resp;\r\n this.successMessage = \"Delivery Challan is processed successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.search();\r\n })\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n action = function (id) {\r\n this.data = {};\r\n this.data.id = id;\r\n this.data.flag = 'Interdc'\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ActionComponent, dialogConfig).afterClosed().subscribe(res => {\r\n this.search();\r\n })\r\n }\r\n\r\n\r\n openCourierdetails = function(id)\r\n {\r\n this.data={};\r\n this.data.id=id; \r\n this.data.flag ='IDDC';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(CourierDetailsComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n // this.search();\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.interDistrictAdd = this._global.UserRights.includes(\"Inter_District_DC_ADD\");\r\n this.interDistrictEdit = this._global.UserRights.includes(\"Inter_District_DC_EDIT\");\r\n this.interDistrictView = this._global.UserRights.includes(\"Inter_District_DC_VIEW\");\r\n this.interDistrictDelete = this._global.UserRights.includes(\"Inter_District_DC_DELETE\");\r\n //Assign Filter\r\n let dcFilterSession = JSON.parse(sessionStorage.getItem('DCFILTERSESSION'));\r\n if (sessionStorage.getItem('DCFILTERSESSION') != null) {\r\n this.FilterData.dcno = dcFilterSession.dcno;\r\n this.FilterData.projectname = dcFilterSession.projectname;\r\n }\r\n if (dcFilterSession != null) {\r\n this.result = !Object.values(dcFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n this.actionFlag = this._global.UserRights.includes(\"ROLE_ADMIN\");\r\n this.approvalFlag = this._global.UserRights.includes(\"ROLE_TEAM_LEADER\");\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
DC No. \r\n \r\n {{DCRecord.dcno}}\r\n \r\n DC Date \r\n
0\"> {{DCRecord.dcdate| date:'dd-MM-yyyy'}}
\r\n
\r\n
Consignee Name \r\n
{{DCRecord.consigneename}}
\r\n
Action \r\n\r\n\r\n \r\n edit\r\n \r\n \r\n \r\n edit\r\n \r\n \r\n delete\r\n \r\n \r\n send\r\n \r\n \r\n mouse\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InterDistrictDCService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveDC(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getDCList(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/dcByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ndcById(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteDC(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\nsendToWarhouse(header,body ) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/submitDC/'+body;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\nprocessDC(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/processDC';\r\n return this._http.post(url, body, { headers: header });\r\n}\r\n\r\ntaskById(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/taskByid/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\nviewdcById(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/viewDc/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\ndisablePrint(id, header, body) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/disable/'+id;\r\n return this._http.put(url, body,{ headers: header });\r\n}\r\n\r\nenableUpload(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/enableUpload/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ncourierDetails(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/getCourierDetails/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\naddCourierDetails(id, body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/interdistrictdc/addCourierDetails/'+id;\r\n return this._http.post(url, body,{ headers: header });\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild, Inject, Optional } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { InterDistrictDCService } from '../interDC.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-viewInterDistrictDC',\r\n templateUrl: './viewInterDistrictDC.component.html',\r\n providers: [InterDistrictDCService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class ViewInterDistrictDCComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: InterDistrictDCService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private fileuploadService: FileuploadService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disableEdit: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n displayedColumns: string[] = ['assetname', 'serialno', 'category', 'productname', 'count','action'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n PageTitle = \"Add Delivery Challan\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n dc = {\r\n \"partyname\": null, \"dcdate\": null, \"gstno\": null, \"address\": null, \"dcno\": null,\r\n \"mobileno\": null, \"contactperson\": null, \"consigneename\": null, \"consigneecontact\": null, \"projectname\": null,\r\n \"shippedto\": null, \"asset\": [], \"entityId\": null, \"challanattachment\": null, \"printflag\": null, \"uploadflag\": null,\r\n \"noofboxes\":null, \"courierdate\": null, \"courierDetails\":null,\"courierno\":null,\"dcstatus\":null\r\n };\r\n\r\n addDCForm: FormGroup;\r\n isSubmitted = false;\r\n attachmentFiles: any = [];\r\n uploadFlag: boolean = false;\r\n AssetEntityId = [];\r\n deleted: boolean = false;\r\n back = function () {\r\n this.router.navigate(['/searchInterDC']);\r\n }\r\n\r\n totalAssets:any=0;\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.viewdcById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.dc = resp;\r\n this.dc.dcdate = (new Date(this.dc.dcdate));\r\n if (this.dc.challanattachment != null) {\r\n this.attachmentFiles = this.fileuploadService.getSingleFileArray(this.dc.challanattachment);\r\n }\r\n for (let i =0; i< this.dc.asset.length;i++){\r\n this.totalAssets = this.totalAssets +1;\r\n } \r\n this.dcBind(resp);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // printComponent(cmpName) {\r\n // let printContents = document.getElementById(cmpName).innerHTML;\r\n // let originalContents = document.body.innerHTML;\r\n // document.body.innerHTML = printContents;\r\n // window.print();\r\n // document.body.innerHTML = originalContents;\r\n // //window.location.reload();\r\n // }\r\n\r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n Inter District Delivery Challan\r\n \r\n \r\n${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n disablePrint = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n if (!this.fileuploadService.hasfile(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n //this.DCData.dcdate = this.DCData.dcdate.getTime();\r\n this.DCData.challanattachment = this.fileuploadService.getFirstFilePath(this.attachmentFiles);\r\n this.dcService.disablePrint(id, headers, this.DCData).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"File is uploaded successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n debugger;\r\n this.dc = resp;\r\n this.dc.dcdate = (new Date(this.DCData.dcdate));\r\n if (this.dc.challanattachment != null) {\r\n this.attachmentFiles = this.fileuploadService.getSingleFileArray(this.dc.challanattachment);\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n enablePrintFlag:boolean= false;\r\n enableUpload = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.enableUpload(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.enablePrintFlag = resp.uploadflag;\r\n // this.AssetRecord = this.DCData.asset;\r\n // this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n DCData = {};\r\n\r\n dcBind = function (obj) {\r\n this.DCData.dcdate = obj.dcdate;\r\n this.DCData.dcno = obj.dcno;\r\n this.DCData.mobileno = obj.mobileno;\r\n this.DCData.contactperson = obj.contactperson;\r\n this.DCData.consigneename = obj.consigneename;\r\n this.DCData.consigneecontact = obj.consigneecontact;\r\n this.DCData.projectname = obj.projectid;\r\n this.DCData.shippedto = obj.shippedto;\r\n this.DCData.asset = obj.asset;\r\n this.DCData.entityId = obj.entityId;\r\n this.DCData.remark = obj.remark;\r\n this.DCData.printflag = obj.printflag\r\n this.DCData.uploadflag = obj.uploadFlag\r\n this.deleted = obj.isdeleted;\r\n this.DCData.courierno = obj.courierno;\r\n this.DCData.courierDetails = obj.courierDetails;\r\n this.DCData.courierdate = obj.courierdate;\r\n }\r\n actionFlag :boolean=false;\r\n interDistrictEdit :boolean=false;\r\n ngOnInit(): void {\r\n debugger;\r\n this.PageTitle = \"Inter District Delivery Challan\";\r\n this.editon(this.route.snapshot.params.id);\r\n this.actionFlag = this._global.UserRights.includes(\"ROLE_ADMIN\");\r\n this.interDistrictEdit = this._global.UserRights.includes(\"Inter_District_DC_EDIT\");\r\n \r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Inter-District Delivery Challan
\r\n\r\n Contact Detail:\r\n

\r\n {{dc.mobileno}}\r\n

\r\n Project Name:\r\n

\r\n {{dc.projectname}}\r\n

\r\n
\r\n DC No:\r\n

\r\n {{dc.dcno}}\r\n

\r\n Date:\r\n

\r\n 0\">{{dc.dcdate| date:'dd-MM-yyyy'}}\r\n \r\n \r\n

\r\n\r\n
\r\n Consignee Name: \r\n

\r\n {{dc.consigneename}}\r\n

\r\n\r\n Contact Detail: \r\n

\r\n {{dc.consigneecontact}}\r\n

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

\r\n Courier No: \r\n {{dc.courierno}}\r\n

\r\n Courier Dispatch Date:\r\n

\r\n 0\">{{dc.courierdate| date:'dd-MM-yyyy'}}\r\n \r\n

\r\n

\r\n Courier Details: \r\n {{dc.courierDetails}}\r\n

\r\n \r\n\r\n
\r\n Ship To\r\n

\r\n {{dc.shippedto}}\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
Sr.No.Asset NameSerial No.CategoryProductCount Unique Site ID Asset Status
{{i + 1}} {{item.assetname}} {{item.serialno}} {{item.category}}{{item.productname}}1{{item.location}} {{item.assetstatus}}
\r\n
\r\n
\r\n Total No of. Assets\r\n

\r\n {{totalAssets}}\r\n

\r\n
\r\n
\r\n Total No of. Boxes\r\n

\r\n {{dc.noofboxes}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
Aurionpro Solutions Ltd.\r\n




\r\n Signature \r\n
\r\n\r\n
Support Engineer Signature.\r\n




\r\n Signature \r\n
\r\n\r\n
Division Coordinator\r\n




\r\n Signature
\r\n
\r\n
\r\n

There is no consideration received / receivable in cash or kind for the above goods.

\r\n

** This is a computer generated\r\n document, signatures are not required **

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormGroupDirective } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { ManufacturerService } from './manufacturer.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { ManufacturerFilterSession } from '../assetfilterdata';\r\n\r\n@Component({\r\n selector: 'app-manufacturer',\r\n templateUrl: './manufacturer.component.html',\r\n providers: [ManufacturerService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class ManufacturerComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private manufacturerService: ManufacturerService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['manufacturername', 'action'];\r\n ManufacturerRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Manufacturer Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n manufacturerAdd: boolean = false;\r\n manufacturerEdit: boolean = false;\r\n manufacturerView: boolean = false;\r\n manufacturerDelete: boolean = false;\r\n ManufacturerData = { \"manufacturername\": null };\r\n addManufacturerForm: FormGroup;\r\n isSubmitted = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ManufacturerRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.PageTitle = \"Manufacturer Master\";\r\n }\r\n FilterData = { \"manufacturername\": null };\r\n //, \"fromdate\":null, \"toDate\":null};\r\n\r\n filterDiv: boolean = false;\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancelSearch = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"MANUFACTURERFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n // Add / update function\r\n addManufacturer = function (flag) {\r\n this.isSubmitted = true;\r\n if (this.addManufacturerForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.manufacturerService.saveManufacturer(this.ManufacturerData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Manufacturer \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.ManufacturerData = {};\r\n // this.addManufacturerForm.reset();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.manufacturerService.getManufacturerList(headers, this.FilterData).subscribe(resp => {\r\n // Set Filter\r\n debugger;\r\n let manufacturerFilterSession = new ManufacturerFilterSession();\r\n manufacturerFilterSession.manufacturername = this.FilterData.manufacturername;\r\n sessionStorage.setItem('MANUFACTURERFILTERSESSION', JSON.stringify(manufacturerFilterSession));\r\n this.result = !Object.values(manufacturerFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.ManufacturerRecord = new MatTableDataSource(resp);\r\n this.ManufacturerRecord.sort = this.sort;\r\n this.ManufacturerRecord.paginator = this.paginator;\r\n this.totalRecords = this.ManufacturerRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n onDelete = function (name) {\r\n\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.manufacturerService.deleteManufacturar(id, headers).subscribe(resp => {\r\n\r\n this.showLoading = false;\r\n this.successMessage = \"Manufacturer deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\ndebugger;\r\n //Role Rights\r\n this.manufacturerAdd = this._global.UserRights.includes(\"Manufacturer_Master_ADD\");\r\n this.manufacturerEdit = this._global.UserRights.includes(\"Manufacturer_Master_EDIT\");\r\n this.manufacturerView = this._global.UserRights.includes(\"Manufacturer_Master_VIEW\");\r\n this.manufacturerDelete = this._global.UserRights.includes(\"Manufacturer_Master_DELETE\");\r\n this.addManufacturerForm = this.formBuilder.group({\r\n manufacturername: [null, Validators.required]\r\n });\r\n //Assign Filter\r\n let manufacturerFilterSession = JSON.parse(sessionStorage.getItem('MANUFACTURERFILTERSESSION'));\r\n if (sessionStorage.getItem('MANUFACTURERFILTERSESSION') != null) {\r\n this.FilterData.manufacturername = manufacturerFilterSession.manufacturername;\r\n }\r\n if (manufacturerFilterSession != null) {\r\n this.result = !Object.values(manufacturerFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n\r\n this.search();\r\n }\r\n get formControls() { return this.addManufacturerForm.controls; }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n {{PageTitle}}\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Manufacturer name is\r\n required
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Manufacturer\r\n Name \r\n {{ManufacturerRecord.manufacturername}} Action \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManufacturerService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n getManufacturerForDropdown(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/manufacture/getManufacturerList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n saveManufacturer(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/manufacture';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n}\r\n getManufacturerList(header,body) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/manufacture/manufacturerByfilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ndeleteManufacturar(name,header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/manufacture/'+name;\r\n return this._http.delete(url , {headers: header});\r\n}\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormGroupDirective } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { ModelMasterService } from './modelmaster.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { ModelMasterFilterSession } from '../assetfilterdata';\r\n@Component({\r\n selector: 'app-modelmaster',\r\n templateUrl: './modelmaster.component.html',\r\n providers: [ModelMasterService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class ModelMasterComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private modelMasterService: ModelMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n // search screen start\r\n displayedColumns: string[] = ['modelname', 'manufacture', 'description', 'action'];\r\n ModelMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n manufacturename = '';\r\n disableFlag = false;\r\n\r\n PageTitle = \"Model Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n modelAdd: boolean = false;\r\n modelEdit: boolean = false;\r\n modelView: boolean = false;\r\n modelDelete: boolean = false;\r\n ModelData = {\r\n \"modelname\": null, \"manufacture\": {}, \"description\": null\r\n };\r\n addModelForm: FormGroup;\r\n isSubmitted = false;\r\n manufacturerList: any = [];\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.addModelForm.reset();\r\n this.PageTitle = \"Model Master\";\r\n this.enabledField();\r\n }\r\n FilterData = { \"modelname\": null };\r\n //, \"fromdate\":null, \"toDate\":null};\r\n\r\n filterDiv: boolean = false;\r\n\r\n filterFunc = function () {\r\n\r\n this.filterDiv = true;\r\n }\r\n cancelSearch = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"MODELMASTERFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ModelMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n // Add / update function\r\n addModelData = function (flag) {\r\n this.isSubmitted = true;\r\n if (this.addModelForm.invalid) {\r\n return;\r\n }\r\n this.ModelData.manufacture.manufacturername = this.manufacturename;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.modelMasterService.saveModelData(this.ModelData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n this.clearFields();\r\n this.successMessage = \"Model Master \" + flag + \" successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.ModelData = {};\r\n this.manufacturename = [];\r\n // this.addModelForm.reset();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Model Master\"\r\n this.enabledField();\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n debugger;\r\n this.modelMasterService.getModelList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n debugger;\r\n let modelMasterFilterSession = new ModelMasterFilterSession();\r\n modelMasterFilterSession.modelname = this.FilterData.modelname;\r\n sessionStorage.setItem('MODELMASTERFILTERSESSION', JSON.stringify(modelMasterFilterSession));\r\n this.result = !Object.values(modelMasterFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.ModelMasterData = new MatTableDataSource(resp);\r\n this.ModelMasterData.sort = this.sort;\r\n this.ModelMasterData.paginator = this.paginator;\r\n this.totalRecords = this.ModelMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Get data by id\r\n editon = function (name) {\r\n this.list = false;\r\n this.edit = true;\r\n this.disabledField();\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update Model\";\r\n this.modelMasterService.modelByName(name, headers).subscribe(resp => {\r\n\r\n this.showLoading = false;\r\n this.ModelData = resp;\r\n this.disableFlag = true;\r\n this.manufacturename = this.ModelData.manufacture.manufacturername;\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //get list of manufacturers\r\n\r\n getActiveManufacturer = function () {\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveManufacturer(headers).subscribe(resp => {\r\n\r\n this.manufacturerList = resp;\r\n\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n onDelete = function (name) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.modelMasterService.deleteModel(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Model Master deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n clearFields = function () {\r\n this.ModelData = {\r\n \"modelname\": null, \"manufacture\": {}, \"description\": null\r\n };\r\n }\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addModelForm.get('modelname').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addModelForm.get('modelname').enable();\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.modelAdd = this._global.UserRights.includes(\"Model_Master_ADD\");\r\n this.modelEdit = this._global.UserRights.includes(\"Model_Master_EDIT\");\r\n this.modelView = this._global.UserRights.includes(\"Model_Master_VIEW\");\r\n this.modelDelete = this._global.UserRights.includes(\"Model_Master_DELETE\");\r\n this.addModelForm = this.formBuilder.group({\r\n modelname: [null, Validators.required],\r\n manufacture: [{}, Validators.required],\r\n description: [null]\r\n });\r\n //Assign Filter\r\n let modelMasterFilterSession = JSON.parse(sessionStorage.getItem('MODELMASTERFILTERSESSION'));\r\n if (sessionStorage.getItem('MODELMASTERFILTERSESSION') != null) {\r\n this.FilterData.modelname = modelMasterFilterSession.modelname;\r\n }\r\n if (modelMasterFilterSession != null) {\r\n this.result = !Object.values(modelMasterFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\ndebugger;\r\n this.search();\r\n this.getActiveManufacturer();\r\n }\r\n get formControls() { return this.addModelForm.controls; }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Model name is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n {{ manufacturer.selectionvalue }}\r\n \r\n \r\n
\r\n
Manufacturar\r\n is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Model Name \r\n {{ModelMasterData.modelname}} Manufacturer \r\n {{ModelMasterData.manufacture.manufacturername}} Description \r\n {{ModelMasterData.description}} Action \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModelMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveModelData(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/model';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/model';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getModelList(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/model/modelByfilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nmodelByName(modelName, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/model/'+modelName;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteModel(modelName, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/model/'+modelName;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { OEMDeliveryChallanService } from '../oemdc.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { SearchAssetComponent } from '../../DeliveryChallan/searchAsset/searchasset.component';\r\nimport { OEMActionComponent } from './../assetaction/assetaction.component';\r\n\r\nexport interface Element {\r\n assetname: string;\r\n serialno: string;\r\n category: string;\r\n productname: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-addoemdc',\r\n templateUrl: './addoemdc.component.html',\r\n providers: [OEMDeliveryChallanService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddOEMDCComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: OEMDeliveryChallanService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disableEdit: boolean = false;\r\n remove: boolean = true;\r\n\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n displayedColumns: string[] = ['assetname', 'serialno', 'category', 'productname','count', 'action'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n @ViewChild('mytable') table: MatTable;\r\n\r\n PageTitle = \"Add Returnable Delivery Challan\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n DCData = {\r\n \"dcdate\": null, \"dcno\": null, \"consigneename\": null, \"consigneecontact\": null, \"projectname\": null,\r\n \"shippedto\": null, \"asset\": [], \"consignor\":null , \"fulladdress\":null, \"noofboxes\": 0\r\n };\r\n\r\n projectList: any = [];\r\n partyList: any=[];\r\n addressList:any=[];\r\n\r\n addDCForm: FormGroup;\r\n isSubmitted = false;\r\n disableAdd: boolean = true;\r\n AssetEntityId = [];\r\n\r\n back = function () {\r\n this.router.navigate(['/searchOEMDC']);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1 == o2;\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Party List\r\n\r\n getActiveVendors = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Address List\r\n\r\n getAllAddressOfParty = function(id){\r\n this.userid=this.DCData.consignor;\r\n if (this.userid == null){\r\n return;\r\n }\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getAllAddressOfParty(headers, this.userid).subscribe(resp => {\r\n debugger;\r\n this.addressList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addDC = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.DCData.dcdate = this.DCData.dcdate.getTime();\r\n\r\n if (this.AssetRecord == null) {\r\n this.dialogService.openConfirmDialog(\"Add atleast one asset\");\r\n }\r\n else {\r\n this.DCData.asset = this.saveAsset;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addDCForm.invalid) {\r\n return;\r\n }\r\n\r\n this.showLoading = true;\r\n this.dcService.saveDC(this.DCData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Delivery Challan \" + flag + \" successfully.\";\r\n this.AssetRecord = [];\r\n // this.table.renderRows();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.clearfields();\r\n this.router.navigate(['/searchOEMDC']);\r\n \r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.DCData.dcdate = (new Date(this.DCData.dcdate));\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n clearfields = function () {\r\n this.DCData = {\r\n \"dcdate\": null, \"dcno\": null, \"consigneename\": null, \"consigneecontact\": null, \"projectname\": null,\r\n \"shippedto\": null, \"asset\": []\r\n };\r\n\r\n }\r\n totalAssets:any=0;\r\n // add asset\r\n // add asset\r\n selectedAsset: any = [];\r\n saveAsset: any = [];\r\n addAssets = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.projectname = id;\r\n this.data.flag = 'OEM';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(SearchAssetComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n if (res.event == 'ADD') {\r\n this.tempAsset = res.data.saveAsset;\r\n for (let i = 0; i < this.tempAsset.length; i++) {\r\n this.saveAsset.push(this.tempAsset[i]);\r\n }\r\n this.selectedAsset = res.data.selectedAsset;\r\n let data: Element[] = [];\r\n\r\n for (let i = 0; i < this.selectedAsset.length; i++) {\r\n if (this.AssetRecord) {\r\n data = (this.AssetRecord as Element[]);\r\n }\r\n this.totalAssets = this.totalAssets +1;\r\n data.push(this.selectedAsset[i]);\r\n }\r\n this.disableAdd = false;\r\n this.AssetRecord = data;\r\n this.DCData.noofboxes =1;\r\n this.table.renderRows();\r\n }\r\n })\r\n }\r\n\r\n deleteAsset = function (obj) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n this.saveAsset.splice(this.saveAsset.indexOf(obj), 1);\r\n this.dsData = this.AssetRecord as Element[];\r\n this.AssetRecord.splice(this.dsData.indexOf(obj), 1);\r\n this.totalAssets = this.totalAssets-1;\r\n this.table.renderRows();\r\n }\r\n })\r\n }\r\n\r\n action = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n this.data.flag = 'add'\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(OEMActionComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n this.remove = false;\r\n })\r\n }\r\n sendToWarhouse = function (obj) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.sendToWarhouse(headers, obj).subscribe(resp => {\r\n debugger;\r\n // this.locationList = resp;\r\n this.successMessage = \"Delivery Challan is processed successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.router.navigate(['/searchOEMDC']);\r\n\r\n })\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // Edit\r\n\r\n editon = function (id, flag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.dcById(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.DCData = resp;\r\n if (this.DCData.dcdate > 0) {\r\n this.DCData.dcdate = (new Date(this.DCData.dcdate)); \r\n }\r\n else {\r\n this.DCData.dcdate = null;\r\n }\r\n this.AssetRecord = this.DCData.assetRecord;\r\n for (let i =0; i< this.AssetRecord.length;i++){\r\n this.totalAssets = this.totalAssets +1;\r\n } \r\n this.DCData.assetRecord = null;\r\n this.saveAsset = this.DCData.asset;\r\n this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n disableText = function () {\r\n this.addDCForm.get('dcdate').disable();\r\n this.addDCForm.get('projectname').disable();\r\n this.addDCForm.get('consigneename').disable();\r\n this.addDCForm.get('consigneecontact').disable();\r\n this.addDCForm.get('shippedto').disable();\r\n this.addDCForm.get('totalAssets').disable();\r\n this.addDCForm.get('boxes').disable();\r\n this.addDCForm.get('consignor').disable();\r\n this.addDCForm.get('fulladdress').disable();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getActiveProject();\r\n this.getActiveVendors();\r\n this.addDCForm = this.formBuilder.group({\r\n consignor: [null, Validators.required],\r\n fulladdress: [null, Validators.required],\r\n dcno: [null],\r\n dcdate: [null, Validators.required],\r\n projectname: [null, Validators.required],\r\n consigneename: [null],\r\n consigneecontact: [null],\r\n shippedto: [null],\r\n totalAssets:[null],\r\n boxes:[null, Validators.required]\r\n });\r\n debugger;\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n debugger;\r\n this.PageTitle = \"Update Returnable Delivery Challan\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n if (this.route.snapshot.params.page == 'viewDC') {\r\n debugger;\r\n this.disableText();\r\n this.disableEdit = true;\r\n this.PageTitle = \"Update Assets of Returnable Delivery Challan\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n\r\n }\r\n get formControls() {\r\n return this.addDCForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ vendor.selectionvalue }}\r\n \r\n \r\n
\r\n
Consignor Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ address.selectionvalue }}\r\n \r\n \r\n
\r\n
Address\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n
\r\n
Project Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
DC Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Asset Name \r\n
{{AssetRecord.assetname}}
\r\n \r\n
Serial No \r\n
{{AssetRecord.serialno}}
\r\n \r\n
Category\r\n
{{AssetRecord.category}}
\r\n
Product \r\n
{{AssetRecord.productname}}
\r\n
Count \r\n
1
\r\n
Action \r\n \r\n \r\n \r\n edit\r\n \r\n \r\n delete\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
No. of boxes\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \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, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { OEMDeliveryChallanService } from '../oemdc.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { UpdateDCAssetComponent } from './../../DeliveryChallan/addasset/updateasset.component';\r\n\r\n@Component({\r\n selector: 'app-assetaction',\r\n templateUrl: './assetaction.component.html',\r\n providers: [OEMDeliveryChallanService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class OEMActionComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private _global: AppGlobals,\r\n private dialogService: DialogService, private sharedService: SharedService, private oemService: OEMDeliveryChallanService, private dialog1: MatDialog,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Action\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n ActionData = {\r\n \"approvalStatus\": null, \"remark\": null\r\n };\r\n\r\n addAssetForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n processDC = function (action) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n\r\n this.oemService.processDC(this.ActionData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Delivery Challan \" + action + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n receiveAssetByOEM = function (action) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n if (this.ActionData.approvalStatus == 'REPLACED') {\r\n debugger;\r\n this.asset = {};\r\n this.asset.id = this.data.id;\r\n this.asset.flag = \"OEMREPLACED\"\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.asset;\r\n this.dialogRef.close(false);\r\n this.dialog1.open(UpdateDCAssetComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\n else {\r\n this.oemService.receiveAssetByOEM(this.ActionData.approvalStatus, this.data.id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Asset is \" + action + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n }\r\n\r\n editon = function (id, flag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.oemService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n this.addAssetForm = this.formBuilder.group({\r\n approvalStatus: [null, Validators.required],\r\n remark: [null],\r\n });\r\n debugger;\r\n if (this.data.flag == 'search') {\r\n this.disable = true;\r\n this.editon(this.data.id, 'edit');\r\n }\r\n else {\r\n this.disable = false;\r\n }\r\n\r\n\r\n }\r\n get formControls() {\r\n return this.addAssetForm.controls;\r\n }\r\n\r\n}\r\n\r\n","
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n Received \r\n Replaced\r\n Scrapped\r\n \r\n
\r\n
Action is Required \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Receive\r\n Reject\r\n \r\n
\r\n
Action is Required \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n\r\n \r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { OEMDeliveryChallanService } from './oemdc.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { OEMActionComponent } from './assetaction/assetaction.component';\r\nimport { CourierDetailsComponent } from './../DeliveryChallan/courierDetails/courierDetails.component';\r\nimport { ViewOEMDCComponent } from './viewDC/viewOEMDC.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-oemdc',\r\n templateUrl: './oemdc.component.html',\r\n providers: [OEMDeliveryChallanService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class OEMDCComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: OEMDeliveryChallanService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['dcno', 'dcdate', 'consigneename', 'action'];\r\n DCRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n actionFlag: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n oemDeliveryChallanAdd: boolean = false;\r\n oemDeliveryChallanEdit: boolean = false;\r\n oemDeliveryChallanView: boolean = false;\r\n oemDeliveryChallanDelete: boolean = false;\r\n\r\n approvalFlag: boolean = false;\r\n\r\n FilterData = { \"projectname\": null, \"dcno\": null };\r\n //, \"fromdate\":null, \"toDate\":null};\r\n\r\n PageTitle = \"Returnable Delivery Challan List\";\r\n filterDiv: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.DCRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addDC = function () {\r\n debugger;\r\n this.router.navigate(['/addOEMDC']);\r\n }\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.getActiveProject();\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n projectList: any = [];\r\n\r\n\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.getDCList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.DCRecord = new MatTableDataSource(resp);\r\n this.DCRecord.sort = this.sort;\r\n this.DCRecord.paginator = this.paginator;\r\n this.totalRecords = this.DCRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n //delete \r\n\r\n onDelete = function (name) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.deleteDC(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Delivery Challan deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n sendToWarhouse = function (obj) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.sendToWarhouse(headers, obj).subscribe(resp => {\r\n debugger;\r\n // this.locationList = resp;\r\n this.successMessage = \"Delivery Challan is processed successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.search();\r\n\r\n })\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n action = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n this.data.flag = 'search'\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(OEMActionComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\n\r\n viewDC = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"100%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ViewOEMDCComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\n\r\n openCourierdetails = function(id)\r\n {\r\n this.data={};\r\n this.data.id=id; \r\n this.data.flag ='OEMDC';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose=true;\r\n dialogConfig.autoFocus=true;\r\n dialogConfig.width=\"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(CourierDetailsComponent,dialogConfig).afterClosed().subscribe(res => { \r\n debugger;\r\n // this.search();\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.oemDeliveryChallanAdd = this._global.UserRights.includes(\"OEM_Delivery_Challan_ADD\");\r\n this.oemDeliveryChallanEdit = this._global.UserRights.includes(\"OEM_Delivery_Challan_EDIT\");\r\n this.oemDeliveryChallanView = this._global.UserRights.includes(\"OEM_Delivery_Challan_VIEW\");\r\n this.oemDeliveryChallanDelete = this._global.UserRights.includes(\"OEM_Delivery_Challan_DELETE\");\r\n\r\n\r\n this.search();\r\n this.actionFlag = this._global.UserRights.includes(\"ROLE_OEM\");\r\n this.approvalFlag = this._global.UserRights.includes(\"ROLE_ADMIN\");\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
DC No \r\n \r\n {{DCRecord.dcno}}\r\n \r\n DC Date \r\n
0\"> {{DCRecord.dcdate| date:'dd-MM-yyyy'}}
\r\n
\r\n
Consignee Name \r\n
{{DCRecord.consigneename}}
\r\n\r\n
Action \r\n\r\n\r\n \r\n edit\r\n \r\n \r\n delete\r\n \r\n \r\n send \r\n \r\n \r\n edit\r\n \r\n \r\n \r\n edit\r\n \r\n \r\n mouse\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OEMDeliveryChallanService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveDC(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getDCList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/dcByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ndcById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteDC(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\nsendToWarhouse(header,body ) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/submitDC/'+body;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\nprocessDC(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/processDC';\r\n return this._http.post(url, body, { headers: header });\r\n}\r\n\r\ntaskById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/taskByid/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\nreceiveAssetByOEM(status,id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/receiveAsset/'+id+\"/\"+status;\r\n return this._http.get(url, { headers: header });\r\n}\r\nviewdcById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/viewDc/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\ndisablePrint(id, header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/disable/'+id;\r\n return this._http.put(url, body,{ headers: header });\r\n}\r\n\r\nenableUpload(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/enableUpload/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\ncourierDetails(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/getCourierDetails/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\naddCourierDetails(id, body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/oemdc/addCourierDetails/'+id;\r\n return this._http.post(url, body,{ headers: header });\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild, Inject, Optional } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { OEMDeliveryChallanService } from '../oemdc.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-viewOEMDC',\r\n templateUrl: './viewOEMDC.component.html',\r\n providers: [OEMDeliveryChallanService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class ViewOEMDCComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private dcService: OEMDeliveryChallanService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private fileuploadService: FileuploadService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disableEdit: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n displayedColumns: string[] = ['assetname', 'serialno', 'category', 'productname','count', 'action'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n dc = {\r\n \"partyname\": null, \"dcdate\": null, \"address\": null, \"dcno\": null,\r\n \"mobileno\": null, \"contactperson\": null, \"consigneename\": null, \"consigneecontact\": null, \"projectname\": null,\r\n \"shippedto\": null, \"asset\": [], \"entityId\": null, \"challanattachment\": null, \"printflag\": null, \"uploadflag\": null,\r\n \"noofboxes\":null, \"courierdate\": null, \"courierDetails\":null,\"courierno\":null,\"dcstatus\":null\r\n };\r\n\r\n addDCForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n AssetEntityId = [];\r\n attachmentFiles: any = [];\r\n uploadFlag: boolean = false;\r\n deleted: boolean = false;\r\n PageTitle = \"Returnable Delivery Challan\";\r\n\r\n back = function () {\r\n this.router.navigate(['/searchOEMDC']);\r\n }\r\n\r\n totalAssets:any=0;\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.viewdcById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.dc = resp;\r\n for (let i =0; i< this.dc.asset.length;i++){\r\n this.totalAssets = this.totalAssets +1;\r\n } \r\n this.dc.dcdate = (new Date(this.dc.dcdate));\r\n if (this.dc.challanattachment != null) {\r\n this.attachmentFiles = this.fileuploadService.getSingleFileArray(this.dc.challanattachment);\r\n }\r\n // this.dcBind(resp);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // printComponent(cmpName) {\r\n // let printContents = document.getElementById(cmpName).innerHTML;\r\n // let originalContents = document.body.innerHTML;\r\n // document.body.innerHTML = printContents;\r\n // window.print();\r\n // document.body.innerHTML = originalContents;\r\n // //window.location.reload();\r\n // }\r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n Returnable Delivery Challan\r\n \r\n \r\n${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n disablePrint = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n if (!this.fileuploadService.hasfile(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n this.DCData.challanattachment = this.fileuploadService.getFirstFilePath(this.attachmentFiles);\r\n // this.DCData.dcdate = this.DCData.dcdate.getTime();\r\n this.dcService.disablePrint(id, headers, this.DCData).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"File is uploaded successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n debugger;\r\n this.dc = resp;\r\n this.dc.dcdate = (new Date(this.DCData.dcdate));\r\n if (this.dc.challanattachment != null) {\r\n this.attachmentFiles = this.fileuploadService.getSingleFileArray(this.dc.challanattachment);\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n enablePrintFlag:boolean= false;\r\n enableUpload = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dcService.enableUpload(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.enablePrintFlag = resp.uploadflag;\r\n // this.AssetRecord = this.DCData.asset;\r\n // this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n DCData = {};\r\n\r\n dcBind = function (obj) {\r\n this.DCData.dcdate = obj.dcdate;\r\n this.DCData.dcno = obj.dcno;\r\n this.DCData.consigneename = obj.consigneename;\r\n this.DCData.consigneecontact = obj.consigneecontact;\r\n this.DCData.projectname = obj.projectid;\r\n this.DCData.shippedto = obj.shippedto;\r\n this.DCData.asset = obj.asset;\r\n this.DCData.entityId = obj.entityId;\r\n this.DCData.printflag = obj.printflag\r\n this.DCData.uploadflag = obj.uploadFlag\r\n this.deleted = obj.isdeleted;\r\n this.DCData.courierno = obj.courierno;\r\n this.DCData.courierDetails = obj.courierDetails;\r\n this.DCData.courierdate = obj.courierdate;\r\n this.DCData.consignor = obj.consignor;\r\n this.DCData.fulladdress = obj.fulladdress;\r\n }\r\n\r\n\r\n oemDeliveryChallanEdit: boolean = false;\r\n ngOnInit(): void {\r\n debugger;\r\n this.oemDeliveryChallanEdit = this._global.UserRights.includes(\"OEM_Delivery_Challan_EDIT\");\r\n \r\n this.PageTitle = \"Returnable Delivery Challan\";\r\n this.editon(this.route.snapshot.params.id);\r\n\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Returnable Delivery Challan
\r\n Consignor:\r\n

\r\n {{dc.partyname}}\r\n

\r\n Full address:\r\n

\r\n {{dc.address}}\r\n

\r\n
\r\n Project Name:\r\n

\r\n {{dc.projectname}}\r\n

\r\n\r\n
\r\n DC No:\r\n

\r\n {{dc.dcno}}\r\n

\r\n Date:\r\n

\r\n 0\">{{dc.dcdate| date:'dd-MM-yyyy'}}\r\n \r\n

\r\n\r\n
\r\n Consignee Name: \r\n

\r\n {{dc.consigneename}}\r\n

\r\n\r\n Contact Detail: \r\n

\r\n {{dc.consigneecontact}}\r\n

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

\r\n Courier No: \r\n {{dc.courierno}}\r\n

\r\n Courier Dispatch Date:\r\n

\r\n 0\">{{dc.courierdate| date:'dd-MM-yyyy'}}\r\n \r\n

\r\n

\r\n Courier Details: \r\n {{dc.courierDetails}}\r\n

\r\n
\r\n Ship To\r\n

\r\n {{dc.shippedto}}\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
Sr.No.Asset NameSerial No.CategoryProductCount Unique Site ID Asset Status
{{i+1}}{{item.assetname}} {{item.serialno}} {{item.category}}{{item.productname}} 1{{item.location}} {{item.assetstatus}}
\r\n
\r\n
\r\n Total No of. Assets\r\n

\r\n {{totalAssets}}\r\n

\r\n
\r\n
\r\n Total No of. Boxes\r\n

\r\n {{dc.noofboxes}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
Aurionpro Solutions Ltd.\r\n




\r\n Signature \r\n
\r\n\r\n \r\n
\r\n
\r\n

There is no consideration received / receivable in cash or kind for the above goods.

\r\n

** This is a computer generated document, signatures are not required **

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { ProductMasterService } from '../productmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\n@Component({\r\n selector: 'app-addproduct',\r\n templateUrl: './addproduct.component.html',\r\n providers: [ProductMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddProductComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private productService: ProductMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n\r\n PageTitle = \"Add Product\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n ProductData = {\r\n \"productname\": null, \"serialno\": null, \"barcode\": null,\r\n \"producttype\": null, \"description\": null, \"hsndescription\": null,\r\n \"baseuom\": null, \"ishazardous\": false, \"hazardousgoodtype\": null,\r\n \"category\": null, \"subcategory\": null, \"manufacturer\": null,\r\n \"model\": null, \"hsncode\": null\r\n };\r\n\r\n hazardousChange() {\r\n \r\n if (this.ProductData.ishazardous == true) {\r\n this.addProductForm.get('hazardousgoodtype').enable();\r\n }\r\n else {\r\n this.addProductForm.get('hazardousgoodtype').disable();\r\n }\r\n }\r\n\r\n clearFields = function () {\r\n this.ProductData = {\r\n \"productname\": \"\", \"serialno\": \"\", \"barcode\": \"\",\r\n \"producttype\": \"\", \"description\": \"\", \"hsndescription\": \"\",\r\n \"baseuom\": \"\", \"ishazardous\": false, \"hazardousgoodtype\": \"\",\r\n \"category\": \"\", \"subcategory\": \"\", \"manufacturer\": \"\",\r\n \"model\": \"\", \"hsncode\": \"\"\r\n };\r\n }\r\n\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n // console.log(o1 == o2);\r\n return o1 == o2;\r\n\r\n // return o1.name == o2.name && o1.id == o2.id;\r\n }\r\n\r\n hsnList: any = [];\r\n categoryList: any = [];\r\n subcategoryList: any = [];\r\n manufacturerList: any = [];\r\n modelList: any = [];\r\n baseUomList: any = [];\r\n ConstantData = { \"type\": \"\" };\r\n\r\n addProductForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.router.navigate(['/searchProduct']);\r\n }\r\n\r\n\r\n // hsnList\r\n getActiveHsn = function () {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveHsn(headers).subscribe(resp => {\r\n debugger;\r\n this.hsnList = resp;\r\n }, (error: any) => {\r\n \r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // manufacturerList\r\n getActiveManufacturer = function () {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveManufacturer(headers).subscribe(resp => {\r\n \r\n this.manufacturerList = resp;\r\n }, (error: any) => {\r\n \r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Model List\r\n\r\n getActiveModelfrommanufacturer = function (name) {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveModelfrommanufacturer(headers, name).subscribe(resp => {\r\n \r\n this.modelList = resp;\r\n }, (error: any) => {\r\n \r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // category List\r\n\r\n getActiveCategory = function () {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n \r\n this.categoryList = resp;\r\n }, (error: any) => {\r\n \r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // subcategory List from category\r\n\r\n getActiveSubCategoryfromcategory = function (stateName) {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, stateName).subscribe(resp => {\r\n \r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n \r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllConstants = function (flag) {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.ConstantData.type = flag;\r\n this.sharedService.getAllConstant(this.ConstantData, headers).subscribe(resp => {\r\n debugger\r\n this.baseUomList = resp;\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n addProduct = function (flag) {\r\n \r\n this.isSubmitted = true;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addProductForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.productService.saveProductData(this.ProductData, headers, flag).subscribe(resp => {\r\n \r\n this.showLoading = false;\r\n this.successMessage = \"Product \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.clearFields();\r\n this.router.navigate(['/searchProduct']);\r\n })\r\n\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n disableAll = function () {\r\n this.addProductForm.get('productname').disable();\r\n this.addProductForm.get('serialno').disable();\r\n this.addProductForm.get('barcode').disable();\r\n this.addProductForm.get('producttype').disable();\r\n this.addProductForm.get('baseuom').disable();\r\n this.addProductForm.get('category').disable();\r\n this.addProductForm.get('subcategory').disable();\r\n this.addProductForm.get('manufacturer').disable();\r\n this.addProductForm.get('model').disable();\r\n this.addProductForm.get('hsncode').disable();\r\n this.addProductForm.get('ishazardous').disable();\r\n this.addProductForm.get('hazardousgoodtype').disable();\r\n this.addProductForm.get('hsndescription').disable();\r\n this.addProductForm.get('description').disable();\r\n }\r\n\r\n // Edit\r\n editon = function (id, flag) {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.productService.productById(id, headers, flag).subscribe(resp => {\r\n \r\n this.showLoading = false;\r\n this.ProductData = resp;\r\n console.log(this.ProductData);\r\n if (flag == 'view') {\r\n this.edit = false;\r\n this.view = true;\r\n this.add = false;\r\n }\r\n else {\r\n this.edit = true;\r\n this.add = false;\r\n this.view = false;\r\n }\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addProductForm = this.formBuilder.group({\r\n productname: [null, Validators.required],\r\n serialno: [null, Validators.required],\r\n barcode: [''],\r\n producttype: [null, Validators.required],\r\n baseuom: [null, Validators.required],\r\n category: [null, Validators.required],\r\n subcategory: [''],\r\n manufacturer: [''],\r\n model: [''],\r\n hsncode: [null, Validators.required],\r\n ishazardous: [false],\r\n hazardousgoodtype: [''],\r\n description: [''],\r\n hsndescription: ['']\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Product\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n }\r\n else if (this.route.snapshot.params.page == 'view') {\r\n this.PageTitle = \"View Product\";\r\n this.disableAll();\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n }\r\n\r\n\r\n this.getActiveHsn();\r\n this.getActiveCategory();\r\n this.getActiveManufacturer();\r\n this.getAllConstants(\"uom\");\r\n }\r\n get formControls() {\r\n return this.addProductForm.controls;\r\n }\r\n\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Product\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Serial No is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n Non IT Asset\r\n IT Asset\r\n License\r\n \r\n
\r\n
Product Type\r\n is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n
\r\n
Category\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ manufacturer.selectionvalue }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ model.selectionvalue }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ hsncode.selectionvalue }}\r\n \r\n \r\n
\r\n
Hsncode\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ baseuom.value}}\r\n \r\n \r\n
\r\n
Base UOM\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n is hazardous?\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n High Danger\r\n Medium Danger\r\n Low Danger\r\n \r\n
\r\n
Hazardous Good Type\r\n is required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n\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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { ProductMasterService } from './productmaster.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { ProductMasterMisFilterSession } from '../assetfilterdata';\r\n@Component({\r\n selector: 'app-productmaster',\r\n templateUrl: './productmaster.component.html',\r\n providers: [ProductMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ProductMasterComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private productService: ProductMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['productname', 'serialno', 'barcode', 'producttype', 'action'];\r\n exportColumns: string[] = ['productname', 'serialno', 'barcode', 'producttype', 'category', 'subcategory', 'manufacturer',\r\n 'model', 'description', 'hsncode', 'hsndescription', 'baseuom', 'ishazardous', 'hazardousgoodtype'];\r\n ProductRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n FilterData = { \"productname\": null, \"serialno\": null, \"producttype\": null, \"category\": null, \"subcategory\": null };\r\n PageTitle = \"Product List\";\r\n filterDiv: boolean = false;\r\n productAdd: boolean = false;\r\n productEdit: boolean = false;\r\n productView: boolean = false;\r\n productDelete: boolean = false;\r\n categoryList = {};\r\n subcategoryList = {};\r\n ProductDataExport: any = [];\r\n addProducts = function () {\r\n this.router.navigate(['/addProduct']);\r\n }\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n this.getActiveCategory();\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"PRODUCTMASTERFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProductRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n // category List\r\n getActiveCategory = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n this.categoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // subcategory List from category\r\n\r\n getActiveSubCategoryfromcategory = function (stateName) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, stateName).subscribe(resp => {\r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.productService.getProductList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let productFilterSession = new ProductMasterMisFilterSession();\r\n productFilterSession.productname = this.FilterData.productname;\r\n productFilterSession.serialno = this.FilterData.serialno;\r\n productFilterSession.producttype = this.FilterData.producttype;\r\n productFilterSession.category = this.FilterData.category;\r\n productFilterSession.subcategory = this.FilterData.subcategory;\r\n sessionStorage.setItem('PRODUCTMASTERFILTERSESSION', JSON.stringify(productFilterSession));\r\n this.result = !Object.values(productFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.ProductDataExport = resp;\r\n this.ProductRecord = new MatTableDataSource(resp);\r\n this.ProductRecord.sort = this.sort;\r\n this.ProductRecord.paginator = this.paginator;\r\n this.totalRecords = this.ProductRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n onDelete = function (id) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var experienceId = id;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.productService.deleteProduct(experienceId, headers).subscribe(resp => {\r\n this.successMessage = 'Product is deleted Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search(this.route.snapshot.params.id);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.productAdd = this._global.UserRights.includes(\"Product_Master_ADD\");\r\n this.productEdit = this._global.UserRights.includes(\"Product_Master_EDIT\");\r\n this.productView = this._global.UserRights.includes(\"Product_Master_VIEW\");\r\n this.productDelete = this._global.UserRights.includes(\"Product_Master_DELETE\");\r\n //Assign Filter\r\n let productMasterFilterSession = JSON.parse(sessionStorage.getItem('PRODUCTMASTERFILTERSESSION'));\r\n if (sessionStorage.getItem('PRODUCTMASTERFILTERSESSION') != null) {\r\n this.FilterData.productname = productMasterFilterSession.productname;\r\n this.FilterData.serialno = productMasterFilterSession.serialno;\r\n this.FilterData.producttype = productMasterFilterSession.producttype;\r\n this.FilterData.category = productMasterFilterSession.category;\r\n this.FilterData.subcategory = productMasterFilterSession.subcategory;\r\n }\r\n if (productMasterFilterSession != null) {\r\n this.result = !Object.values(productMasterFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n\r\n this.search();\r\n\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Non IT Asset\r\n IT Asset\r\n License\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n None\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n None\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Product Name \r\n
{{ProductRecord.productname}}
\r\n
Serial No \r\n
{{ProductRecord.serialno}}
\r\n
Barcode \r\n
{{ProductRecord.barcode}}
\r\n
Type \r\n
{{ProductRecord.producttype}}
\r\n
Action \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \t\t\t\t\t\t\t\r\n\r\n \r\n \r\n
Product Name\r\n \r\n {{ProductDataExport.productname}}\r\n Serial No\r\n \r\n {{ProductDataExport.serialno}}\r\n \r\n Barcode\r\n {{ProductDataExport.barcode}}\r\n\r\n \r\n Product Type\r\n {{ProductDataExport.producttype}}\r\n \r\n Category\r\n {{ProductDataExport.category}}\r\n \r\n Sub category\r\n {{ProductDataExport.subcategory}}\r\n Manufacturer\r\n {{ProductDataExport.manufacturer}}\r\n Model\r\n \r\n {{ProductDataExport.model}}\r\n Description\r\n \r\n {{ProductDataExport.description}}\r\n HSN Code\r\n \r\n {{ProductDataExport.hsncode}}\r\n \r\n HSN Description \r\n {{ProductDataExport.hsndescription}}\r\n \r\n Base UOM\r\n \r\n {{ProductDataExport.baseuom}}\r\n \r\n Is Hazardous \r\n {{ProductDataExport.ishazardous}}\r\n \r\n Hazardous Good Type \r\n {{ProductDataExport.hazardousgoodtype}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveProductData(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/product';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/product';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getProductList(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/product/productByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nproductById(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/product/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteProduct(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/product/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { USIDInstallationReportService } from './USIDassetinstallation.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ViewUSIDInstallationReport } from './viewReport/viewInstallationReport.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-USIDassetinstallation',\r\n templateUrl: './USIDassetinstallation.component.html',\r\n providers: [USIDInstallationReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class USIDInstallationComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private reportService: USIDInstallationReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['location', 'policestation', 'address', 'installationdate', 'action'];\r\n USIDReportRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n FilterData = { \"project\": null, \"location\": null, \"installationdate\": null, \"district\": null, \"state\": null };\r\n //, \"fromdate\":null, \"toDate\":null};\r\n\r\n PageTitle = \"USID Asset Installation Report List\";\r\n filterDiv: boolean = false;\r\n\r\n\r\n addReport = function () {\r\n debugger;\r\n this.router.navigate(['/addUSIDInstallationReport']);\r\n }\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.getActiveProject();\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n // this.getActiveCityFromDistrict( this.FilterData.state);\r\n }\r\n }\r\n projectList: any = [];\r\n\r\n\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.getReportList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.USIDReportRecord = new MatTableDataSource(resp);\r\n this.USIDReportRecord.sort = this.sort;\r\n this.USIDReportRecord.paginator = this.paginator;\r\n this.totalRecords = this.USIDReportRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n //delete \r\n\r\n onDelete = function (name) {\r\n debugger;\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.deleteReport(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Report deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n viewReport = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"100%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ViewUSIDInstallationReport, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n this.search();\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Location Name \r\n
{{USIDReportRecord.location}}
\r\n\r\n
Police Station Name \r\n
{{USIDReportRecord.policestation}}
\r\n\r\n
Address with Landmark \r\n
{{USIDReportRecord.address}}
\r\n\r\n
Installation Date \r\n
0\"> {{USIDReportRecord.installationdate| date:'dd-MM-yyyy'}}\r\n
\r\n
\r\n
\r\n
Action \r\n\r\n\r\n \r\n \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class USIDInstallationReportService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveReport(body, header, flag) {\r\n if (flag == 'generate') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/locationinstallationreport';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/locationinstallationreport';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getReportList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/locationinstallationreport/reportByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nreportById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/locationinstallationreport/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteReport(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/locationinstallationreport/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\ngetLocationList(id,header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/location/getDistinctAssestLocations/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ngetLocationData(id,header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/location?locationid='+ id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ngetAssetDataFromLocation(city, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/locationinstallationreport/locationinstallation?locationid='+city;\r\n return this._http.get(url, { headers: header });\r\n}\r\ndisablePrint(id, header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/locationinstallationreport/disable/'+id;\r\n return this._http.put(url, body,{ headers: header });\r\n}\r\n\r\nenableUpload(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/locationinstallationreport/enableUpload/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { USIDInstallationReportService } from '../USIDassetinstallation.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-generateassetinstallation',\r\n templateUrl: './generateassetinstallation.component.html',\r\n providers: [USIDInstallationReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddUSIDInstallationComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private reportService: USIDInstallationReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n displayedColumns: string[] = ['sno', 'product', 'manufacturer', 'model', 'serialno', 'count', 'status'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n // @ViewChild('mytable') table: MatTable;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Generate USID Installation Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n ReportData = {\r\n \"location\": null, \"policestation\": null, \"locationaddress\": null, \"project\": null, \"district\": null,\r\n \"remark\": null, \"installationdate\": null, \"installationMasterChild\": [], \"installationattachment\": null\r\n };\r\n cityList: any = [];\r\n\r\n enableLocation: boolean = false;\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n projectList: any = [];\r\n locationList: any = [];\r\n searchLocation: String = '';\r\n\r\n addCityForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.router.navigate(['/searchInstallationReport']);\r\n }\r\n\r\n enableReport: boolean = false;\r\n\r\n\r\n displayedColumns1: string[] = ['selectionvalue'];\r\n CityMasterData: MatTableDataSource;\r\n\r\n LocationMasterData: MatTableDataSource;\r\n\r\n displayedColumns2: string[] = ['selectionvalue'];\r\n\r\n applyFilterCity(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.CityMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n applyFilterLoc(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.LocationMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n // projectList\r\n\r\n getActiveCity = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getCityList(headers).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n this.CityMasterData = new MatTableDataSource(resp);\r\n\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getActiveLocationFromCity = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.ReportData.city = name;\r\n this.reportService.getLocationList(name, headers).subscribe(resp => {\r\n debugger;\r\n this.locationList = resp;\r\n this.LocationMasterData = new MatTableDataSource(resp);\r\n\r\n this.enableLocation = true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getLocationData = function (location) {\r\n debugger;\r\n // this.RecordData.location= location;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.reportService.getLocationData(location, headers).subscribe(resp => {\r\n debugger;\r\n this.Data = resp;\r\n this.ReportData.location = this.Data.locationid;\r\n this.ReportData.locationaddress = this.Data.locationaddress + \" \" + this.Data.zip;\r\n this.ReportData.policestation = this.Data.policestation;\r\n this.ReportData.district = this.Data.district;\r\n this.ReportData.state = this.Data.state;\r\n // this.table.renderRows();\r\n this.enableReport = true;\r\n this.getActiveProject();\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAssetDataFromLocation = function (location) {\r\n debugger;\r\n this.ReportData.location = location;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.getLocationData(location);\r\n this.reportService.getAssetDataFromLocation(location, headers).subscribe(resp => {\r\n debugger;\r\n\r\n this.AssetRecord = resp;\r\n\r\n this.enableReport = true;\r\n this.getActiveProject();\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n addReport = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.ReportData.installationdate = this.ReportData.installationdate.getTime();\r\n if (this.AssetRecord != null) {\r\n this.ReportData.installationMasterChild = this.AssetRecord;\r\n }\r\n else {\r\n const errStr = \"Can't Generate Report:No Data in Asset List\";\r\n this.dialogService.openConfirmDialog(errStr)\r\n return;\r\n }\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addCityForm.invalid) {\r\n return;\r\n }\r\n\r\n this.showLoading = true;\r\n this.reportService.saveReport(this.ReportData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Installation Report is \" + flag + \"ed successfully.\";\r\n this.AssetRecord = [];\r\n\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.clearfields();\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n clearfields = function () {\r\n this.ReportData = {\r\n \"location\": null, \"policestation\": null, \"locationaddress\": null, \"project\": null,\r\n \"remark\": null, \"installationdate\": null, \"installationMasterChild\": [], \"installationattachment\": null\r\n };\r\n }\r\n\r\n\r\n // Edit\r\n\r\n editon = function (id, flag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.reportById(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.getActiveProject();\r\n this.enableReport = true;\r\n this.ReportData = resp;\r\n if (this.ReportData.installationdate > 0) {\r\n this.ReportData.installationdate = (new Date(this.ReportData.installationdate));\r\n }\r\n else {\r\n this.ReportData.installationdate = null;\r\n }\r\n \r\n this.AssetRecord = this.ReportData.installationMasterChild;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n getActiveCityFromDistrict = function (district) {\r\n debugger;\r\n if (district == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, district).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n this.CityMasterData = new MatTableDataSource(resp);\r\n\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n if (district != null) {\r\n this.getActiveCityFromDistrict(district);\r\n }\r\n else {\r\n this.getActiveCity();\r\n }\r\n debugger;\r\n this.addCityForm = this.formBuilder.group({\r\n location: [null],\r\n project: [null, Validators.required],\r\n installationdate: [null, Validators.required],\r\n locationaddress: [null],\r\n policestation: [null],\r\n remark: [null],\r\n installationattachment: [null]\r\n });\r\n debugger;\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n debugger;\r\n this.PageTitle = \"Update USID Asset Installation Report\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n\r\n }\r\n get formControls() {\r\n return this.addCityForm.controls;\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
Total Records: {{CityMasterData.filteredData.length}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
City \r\n \r\n {{CityMasterData.selectionvalue}} \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{LocationMasterData.filteredData.length}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Location \r\n \r\n {{LocationMasterData.selectionvalue}} \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n

Generate Report

\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Installation Date is\r\n required
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Project Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Assets List

\r\n
\r\n

Below are the details of items installed at site. [List of Inventory\r\n should only show the items installed at that Unique site id]

\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
S No. \r\n
{{i+1}}
\r\n\r\n
Item\r\n Name \r\n
{{AssetRecord.product}}
\r\n\r\n
\r\n Manufacturer Name \r\n
{{AssetRecord.manufacturer}}
\r\n\r\n
Model\r\n Name\r\n\r\n \r\n
{{AssetRecord.model}}
\r\n
\r\n Serial No\r\n\r\n \r\n
{{AssetRecord.serialno}}
\r\n
\r\n Quantity\r\n\r\n \r\n
{{AssetRecord.count}}
\r\n
\r\n Status\r\n\r\n \r\n
{{AssetRecord.status}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n
\r\n\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, ViewChild, Inject, Optional } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { USIDInstallationReportService } from '../USIDassetinstallation.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-viewInstallationReport',\r\n templateUrl: './viewInstallationReport.component.html',\r\n providers: [USIDInstallationReportService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class ViewUSIDInstallationReport implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private reportService: USIDInstallationReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private fileuploadService: FileuploadService) { }\r\n\r\n\r\n displayedColumns: string[] = ['product', 'manufacturer', 'model', 'count', 'serialno'];\r\n AssetRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Generate USID Asset Installation Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n attachmentFiles: any = [];\r\n addCityForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.router.navigate(['/searchInstallationReport']);\r\n }\r\n\r\n locationAssets = {\r\n \"location\": null, \"policestation\": null, \"locationaddress\": null, \"project\": null,\r\n \"remark\": null, \"installationdate\": null, \"installationMasterChild\": [], \"installationattachment\": null,\r\n \"printflag\": null, \"uploadflag\": null, \"entityId\": null, \"isDeleted\": null\r\n };\r\n\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.reportById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.locationAssets = resp;\r\n if (this.locationAssets.installationattachment != null) {\r\n this.attachmentFiles = this.fileuploadService.getSingleFileArray(this.locationAssets.installationattachment);\r\n }\r\n this.dcBind(resp);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // printComponent(cmpName) {\r\n // let printContents = document.getElementById(cmpName).innerHTML;\r\n // let originalContents = document.body.innerHTML;\r\n // document.body.innerHTML = printContents;\r\n // window.print();\r\n // document.body.innerHTML = originalContents;\r\n // //window.location.reload();\r\n // }\r\n\r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n\r\n \r\n USID Asset Installation Report\r\n \r\n \r\n${printContents}\r\n`\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n disablePrint = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n if (!this.fileuploadService.hasfile(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.attachmentFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n this.ReportData.installationattachment = this.fileuploadService.getFirstFilePath(this.attachmentFiles);\r\n\r\n this.reportService.disablePrint(id, headers, this.ReportData).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"File is uploaded successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n debugger;\r\n this.dc = resp;\r\n this.dc.dcdate = (new Date(this.DCData.dcdate));\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n enableUpload = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.reportService.enableUpload(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n\r\n // this.AssetRecord = this.DCData.asset;\r\n // this.table.renderRows();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ReportData = {};\r\n\r\n dcBind = function (obj) {\r\n this.ReportData.location = obj.location;\r\n this.ReportData.policestation = obj.policestation;\r\n this.ReportData.locationaddress = obj.locationaddress;\r\n this.ReportData.project = obj.project;\r\n this.ReportData.remark = obj.remark;\r\n this.ReportData.installationdate = obj.installationdate;\r\n this.ReportData.installationMasterChild = obj.installationMasterChild;\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n\r\n this.PageTitle = \"City Asset Installation Report\";\r\n this.editon(this.route.snapshot.params.id);\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Below are the details of items installed at site. [List of Inventory should only show the items installed\r\n at that Unique site id]

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
USID Installation Report
Unique Site ID: {{locationAssets.location}}
Police Station Name:{{locationAssets.policestation}}
Location with Landmark: {{locationAssets.locationaddress}}
0\">Date: {{locationAssets.installationdate | date:'dd-MM-yyyy'}}Date:
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
Sr.No.ItemManufacturer NameModel NameQuantitySerial No
{{i+1}}{{item.productname}}{{item.manufacturer}}{{item.model}}{{item.count}}{{item.serialno}}
\r\n
Remarks :{{locationAssets.remark}}

\r\n
\r\n
Date of Installation :




\r\n
\r\n ----------------------------\r\n (Engineer Signature)\r\n
\r\n
\r\n -----------------------------------------\r\n (Customer Name & Signature)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
","export class AssetFilterSession {\r\n assetname: string;\r\n category: string;\r\n projectid: string;\r\n state:string;\r\n district:string;\r\n city:string;\r\n location:string;\r\n}\r\n\r\nexport class AssetMisFilterSession {\r\n category: string;\r\n subcategory: string;\r\n projectid: string;\r\n state:string;\r\n district:string;\r\n assetstatus:string;\r\n}\r\n\r\nexport class ConstantFilterSession {\r\n constantname: string;\r\n}\r\nexport class DCFilterSession {\r\n dcno: string;\r\n projectname: string;\r\n}\r\nexport class CategoryFilterSession {\r\n categoryname: string;\r\n}\r\nexport class ProductMasterMisFilterSession {\r\n productname: string;\r\n serialno: string;\r\n producttype: string;\r\n category:string;\r\n subcategory:string;\r\n}\r\nexport class ModelMasterFilterSession {\r\n modelname:string;\r\n}\r\nexport class ManufacturerFilterSession {\r\n manufacturername:string;\r\n}\r\n","import { Component, OnInit, ViewChild , Inject, Optional} from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { BillingReportService } from '../billingreport.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-invoicereport',\r\n templateUrl: './invoicereport.component.html',\r\n providers: [BillingReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class InvoiceAgeingReportComponent implements OnInit {\r\n\r\n constructor( private router: Router, private route: ActivatedRoute, private http: HttpClient, private invoiceService: BillingReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n \r\n displayedColumns: string[] = ['projectpin', 'customername', 'invoiceno', 'invoicedate' , 'totalamount', 'ageingsince'];\r\n InvoiceRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n PageTitle = \"Invoice Ageing Report\";\r\n FilterData = { \"projectid\": null };\r\n //, \"fromdate\":null, \"toDate\":null};\r\n\r\n filterDiv: boolean = false;\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.getActiveProject();\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n \r\n projectList : any = []; \r\n projectid: String = null;\r\n \r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n\r\n getReport = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectId = name;\r\n this.invoiceService.invoiceAgingReport(headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.InvoiceRecord= new MatTableDataSource(resp);\r\n this.InvoiceRecord.sort = this.sort;\r\n this.InvoiceRecord.paginator = this.paginator;\r\n this.totalRecords = this.InvoiceRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //delete \r\n \r\n \r\n ngOnInit(): void {\r\n debugger;\r\n this.getReport();\r\n }\r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project Pin \r\n
{{InvoiceRecord.projectpin}}
\r\n \r\n
Customer Name \r\n
{{InvoiceRecord.customername}}
\r\n\r\n
Invoice No \r\n
{{InvoiceRecord.invoiceno}}
\r\n
Invoice Date\r\n
0\"> {{InvoiceRecord.invoicedate| date:'dd-MM-yyyy'}}
\r\n
\r\n\r\n
Amount \r\n
{{InvoiceRecord.totalamount}}
\r\n
Ageing Since \r\n
{{InvoiceRecord.ageingsince}}
\r\n
\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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { BillingReportService } from '../billingreport.service';\r\n\r\n@Component({\r\n selector: 'app-billingcomparsion',\r\n templateUrl: './billingcomparsion.component.html',\r\n providers: [BillingReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class BillingComparsionomponent implements OnInit {\r\n\r\n constructor( private router: Router, private route: ActivatedRoute, private http: HttpClient, private scheduleService: BillingReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private dialog:MatDialog) { }\r\n \r\n displayedColumns: string[] = ['amountofbilling', 'invoiceno', 'id', 'totalamount' , 'difference'];\r\n ScheduleRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Billing Comparsion\";\r\n\r\n displayedColumns1: string[] = ['selectionvalue'];\r\n ProjectData: MatTableDataSource;\r\n\r\n applyFilterProject(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProjectData.filter = filterValue.trim().toLowerCase();\r\n}\r\napplyFilter(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ScheduleRecord.filter = filterValue.trim().toLowerCase();\r\n}\r\n\r\n projectList : any = [];\r\n \r\n enableSchedule: boolean= false;\r\n ProjectDataFlag :any;\r\n projectId: any;\r\n\r\n FilterData= {\"projectid\":null};\r\n\r\n // projectList\r\n getActiveProject= function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n \r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.ProjectData = new MatTableDataSource(resp);\r\n this.ProjectDataFlag = this.ProjectData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n billingComparsionReport = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.FilterData.projectid= name;\r\n this.scheduleService.billingComparsionReport(headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.ScheduleRecord= new MatTableDataSource(resp);\r\n this.ScheduleRecord.sort = this.sort;\r\n this.ScheduleRecord.paginator = this.paginator;\r\n this.totalRecords = this.ScheduleRecord.filteredData.length;\r\n this.enableSchedule=true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.getActiveProject();\r\n \r\n }\r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
Total Records: {{ProjectDataFlag}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Project \r\n \r\n {{ProjectData.selectionvalue}} \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Billing Comparsion Report

\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Milestone No \r\n
{{ScheduleRecord.milestoneno}}
\r\n\r\n
Amount of Billing \r\n
{{ScheduleRecord.amountofbilling}}
\r\n\r\n
Invoice No\r\n \r\n
{{ScheduleRecord.invoiceno}}
\r\n
Total Amount\r\n \r\n
{{ScheduleRecord.totalamount}}
\r\n
Difference\r\n \r\n
{{ScheduleRecord.difference}}
\r\n
\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BillingReportService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\ninvoiceAgingReport( header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingreports/invoiceAgingReport';\r\n return this._http.post(url, body,{ headers: header });\r\n}\r\nbillingComparsionReport( header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingreports/billingComparsionReport';\r\n return this._http.post(url, body,{ headers: header });\r\n}\r\n \r\nmonthlyOfBillingReport(year, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingreports/monthOfBillingReport/'+ year;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\nmonthlyOfCollectionReport(year, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingreports/monthlyOfCollectionReport/'+ year;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\nmonthlyBillingReport(month, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingreports/monthlyBillingReport/'+ month;\r\n return this._http.get(url, { headers: header });\r\n}\r\nmonthlyCollectionReport(month, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingreports/monthlyCollectionReport/'+ month;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { BillingReportService } from '../billingreport.service';\r\n\r\n@Component({\r\n selector: 'app-monthlybilling',\r\n templateUrl: './monthlybilling.component.html',\r\n providers: [BillingReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class MonthlyBillingComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private scheduleService: BillingReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private dialog:MatDialog) { }\r\n \r\n displayedColumns: string[] = ['projectpin', 'customername', 'pono', 'milestoneno' , 'totalamount'];\r\n InvoiceRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n displayedColumns1: string[] = ['selectionvalue'];\r\n MonthData: MatTableDataSource;\r\n \r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Monthly Billing Report\";\r\n\r\n monthList : any = [];\r\n\r\n selectedYear : String = null;\r\n \r\n enableMonth: boolean= false;\r\n enableSchedule: boolean= false;\r\n \r\n // projectId: any;\r\n\r\n \r\n reportForm: FormGroup;\r\n isSubmitted = false;\r\n\r\napplyFilter(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.InvoiceRecord.filter = filterValue.trim().toLowerCase();\r\n}\r\n // projectList\r\n monthlyOfBillingReport= function (year) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n \r\n this.scheduleService.monthlyOfBillingReport(year,headers).subscribe(resp => {\r\n debugger;\r\n this.monthList = resp;\r\n this.MonthData = new MatTableDataSource(resp);\r\n this.enableMonth = true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n monthlyBillingReport = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.projectId= name;\r\n this.scheduleService.monthlyBillingReport(name, headers).subscribe(resp => {\r\n debugger;\r\n this.InvoiceRecord= new MatTableDataSource(resp);\r\n this.InvoiceRecord.sort = this.sort;\r\n this.InvoiceRecord.paginator = this.paginator;\r\n this.totalRecords = this.InvoiceRecord.filteredData.length;\r\n this.enableSchedule=true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.reportForm = this.formBuilder.group({\r\n selectedYear: [null] \r\n });\r\n }\r\n\r\n get formControls() {\r\n return this.reportForm.controls;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n April 2020 - March 2021\r\n \r\n \r\n
\r\n
Select Year\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n

Month

\r\n\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Month \r\n \r\n {{MonthData.selectionvalue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Invoice List

\r\n
\r\n
\r\n
Total Records:\r\n {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project Pin \r\n
{{InvoiceRecord.projectpin}}
\r\n
Customer Name\r\n \r\n
{{InvoiceRecord.customername}}
\r\n\r\n
Purchase Order No\r\n \r\n
{{InvoiceRecord.pono}}
\r\n\r\n
Milestone No\r\n \r\n
{{InvoiceRecord.milestoneno}}
\r\n\r\n
Total Amount\r\n \r\n
{{InvoiceRecord.totalamount}}
\r\n
\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { BillingReportService } from '../billingreport.service';\r\n\r\n@Component({\r\n selector: 'app-monthlycollection',\r\n templateUrl: './monthlycollection.component.html',\r\n providers: [BillingReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class MonthlyCollectionComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private reportService: BillingReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private dialog:MatDialog) { }\r\n \r\n displayedColumns: string[] = ['projectpin','collectiondate', 'invoiceno', 'netamountcredieted', 'utrno' ];\r\n CollectionRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n \r\n displayedColumns1: string[] = ['selectionvalue'];\r\n MonthData: MatTableDataSource;\r\n \r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Monthly Collection Report\";\r\n\r\n monthList : any = [];\r\n\r\n selectedYear : String = null;\r\n \r\n enableMonth: boolean= false;\r\n enableSchedule: boolean= false;\r\n \r\n // projectId: any;\r\n\r\n \r\n reportForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n applyFilter(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.CollectionRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n // projectList\r\n monthlyOfCollectionReport= function (year) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n \r\n this.reportService.monthlyOfCollectionReport(year,headers).subscribe(resp => {\r\n debugger;\r\n this.monthList = resp;\r\n this.MonthData = new MatTableDataSource(resp);\r\n this.enableMonth = true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n monthlyBillingReport = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.projectId= name;\r\n this.reportService.monthlyCollectionReport( name, headers).subscribe(resp => {\r\n debugger;\r\n this.CollectionRecord= new MatTableDataSource(resp);\r\n this.CollectionRecord.sort = this.sort;\r\n this.CollectionRecord.paginator = this.paginator;\r\n this.totalRecords = this.CollectionRecord.filteredData.length;\r\n this.enableSchedule=true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.reportForm = this.formBuilder.group({\r\n selectedYear: [null] \r\n });\r\n }\r\n\r\n get formControls() {\r\n return this.reportForm.controls;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n April 2020 - March 2021\r\n \r\n April 2021 - March 2022\r\n \r\n \r\n
\r\n
Select Year\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n

Month

\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Month \r\n \r\n {{MonthData.selectionvalue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Collection List

\r\n
\r\n
\r\n
Total Records:\r\n {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project Pin \r\n
{{CollectionRecord.projectpin}}
\r\n
Invoice \r\n
{{CollectionRecord.invoiceno}}
\r\n\r\n
Collection Date\r\n \r\n
\r\n {{CollectionRecord.collectiondate | date:'dd-MM-yyyy'}}
\r\n\r\n
UTR No\r\n \r\n
{{CollectionRecord.utrno}}
\r\n
Net Amount\r\n Credieted \r\n
{{CollectionRecord.netamountcredieted}}
\r\n\r\n
\r\n \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, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { BillingScheduleService } from '../billingschedule.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\n\r\n@Component({\r\n selector: 'app-addschedule',\r\n templateUrl: './addschedule.component.html',\r\n providers: [BillingScheduleService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddScheduleComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private scheduleService: BillingScheduleService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n milestoneno: String;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Add Billing Schedule\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n \r\n ScheduleData = {\r\n \"id\": {}, \"dateofbilling\": null, \"amountofbilling\": null, \"remark\": null\r\n };\r\n\r\n addScheduleForm: FormGroup;\r\n isSubmitted = false;\r\n \r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n \r\n addSchedule = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.ScheduleData.dateofbilling = this.ScheduleData.dateofbilling.getTime();\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addScheduleForm.invalid) {\r\n return;\r\n }\r\n this.id={};\r\n this.id.projectid = this.data.id.projectid;\r\n this.id.milestoneno = this.milestoneno;\r\n this.ScheduleData.id = this.id;\r\n this.showLoading = true;\r\n this.scheduleService.saveSchedule(this.ScheduleData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Billing Schedule \" + flag + \"d successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.dialogRef.close(false);\r\n \r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ScheduleData.dateofbilling = (new Date(this.ScheduleData.dateofbilling));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n // Edit\r\n\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.scheduleService.scheduleById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ScheduleData = resp;\r\n if (this.ScheduleData.dateofbilling > 0) {\r\n this.ScheduleData.dateofbilling = (new Date(this.ScheduleData.dateofbilling));\r\n }\r\n else {\r\n this.ScheduleData.dateofbilling = null;\r\n }\r\n \r\n this.milestoneno = this.ScheduleData.id.milestoneno;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.addScheduleForm = this.formBuilder.group({\r\n dateofbilling: [null, Validators.required],\r\n amountofbilling: [null, Validators.required],\r\n milestoneno: [null, Validators.required], \r\n remark:[null]\r\n });\r\n \r\ndebugger;\r\n if (this.data.flag == 'edit') {\r\n this.PageTitle = \"Update Billing Schedule\";\r\n this.editon(this.data.id);\r\n }\r\n }\r\n get formControls() {\r\n return this.addScheduleForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Date of Billing is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Milestone No\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Amount of billing\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { BillingScheduleService } from './billingschedule.service';\r\nimport { AddScheduleComponent } from './addbillingschedule/addschedule.component';\r\n\r\n@Component({\r\n selector: 'app-billingschedule',\r\n templateUrl: './billingschedule.component.html',\r\n providers: [BillingScheduleService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class BillingScheduleComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private scheduleService: BillingScheduleService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['id', 'dateofbilling', 'amountofbilling', 'action'];\r\n ScheduleRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n displayedColumns1: string[] = ['selectionvalue'];\r\n ProjectData: MatTableDataSource;\r\n \r\n billingScheduleAdd: boolean = false;\r\n billingScheduleEdit: boolean = false;\r\n billingScheduleView: boolean = false;\r\n billingScheduleDelete: boolean = false;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Billing Schedule\";\r\n\r\n projectList: any = [];\r\n\r\n enableSchedule: boolean = false;\r\n\r\n projectId: any;\r\n FilterData = {};\r\n\r\n applyFilterProject(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProjectData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ScheduleRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.ProjectData = new MatTableDataSource(resp);\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getScheduleByProject = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.projectId = name;\r\n this.scheduleService.getScheduleList(headers, name, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.ScheduleRecord = new MatTableDataSource(resp);\r\n this.ScheduleRecord.sort = this.sort;\r\n this.ScheduleRecord.paginator = this.paginator;\r\n this.totalRecords = this.ScheduleRecord.filteredData.length;\r\n this.enableSchedule = true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addSchedule = function (id, flag) {\r\n debugger;\r\n this.data = {};\r\n if (id == null) {\r\n this.item = {};\r\n this.item.milestoneno = null;\r\n this.item.projectid = this.projectId;\r\n this.data.id = this.item;\r\n }\r\n else {\r\n this.data.id = id;\r\n }\r\n\r\n\r\n this.data.flag = flag;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(AddScheduleComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n this.getScheduleByProject(this.projectId);\r\n })\r\n }\r\n\r\n deleteSchedule = function (name) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var experienceId = name.milestoneno;\r\n var projectId = name.projectid;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.scheduleService.deleteSchedule(experienceId, projectId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Schedule is deleted successfully.\";\r\n this.getActiveProject();\r\n this.getScheduleByProject(projectId);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.billingScheduleAdd = this._global.UserRights.includes(\"Billing_Schedule_ADD\");\r\n this.billingScheduleEdit = this._global.UserRights.includes(\"Billing_Schedule_EDIT\");\r\n this.billingScheduleView = this._global.UserRights.includes(\"Billing_Schedule_VIEW\");\r\n this.billingScheduleDelete = this._global.UserRights.includes(\"Billing_Schedule_DELETE\");\r\n\r\n this.getActiveProject();\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Project \r\n \r\n {{ProjectData.selectionvalue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
Total Milestone Schedule:\r\n {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Milestone No\r\n \r\n
{{ScheduleRecord.id.milestoneno}}
\r\n\r\n
Date of Billing\r\n \r\n
0\">\r\n {{ScheduleRecord.dateofbilling | date:'dd-MM-yyyy'}}
\r\n
\r\n
Amount\r\n \r\n
{{ScheduleRecord.amountofbilling}}
\r\n
Action \r\n\r\n \r\n \r\n\r\n
\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BillingScheduleService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveSchedule(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingschedule';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingschedule';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\nscheduleById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingschedule/'+ id.projectid+'/'+id.milestoneno;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteSchedule(id, project, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingschedule/'+ project+'/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\ngetScheduleList( header, project, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/billingschedule/getScheduleList/'+project;\r\n return this._http.post(url, body,{ headers: header });\r\n}\r\n\r\n}\r\n","import { Component, OnInit, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { CollectionTaggingService } from '../collectiontagging.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { InvoiceService } from '../../Invoice/invoice.service';\r\n\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n@Component({\r\n selector: 'app-addcollection',\r\n templateUrl: './addcollection.component.html',\r\n providers: [CollectionTaggingService, AppGlobals, DialogService, SharedService, InvoiceService, FileuploadService]\r\n})\r\nexport class AddCollectionComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private collectionService: CollectionTaggingService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,private invoiceService:InvoiceService,\r\n private fileuploadService: FileuploadService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n \r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Tag Collection\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n invoiceValue :any;\r\n\r\n invoiceamount: any;\r\n\r\n CollectionData = {\r\n \"collectiondate\":null,\"projectid\":null,\"invoiceid\":null,\r\n\t \"tdsdeducted\":0,\"gsttdsdeducted\":0,\"otherdeducted\":0,\r\n\t \"deductiondescription\":null,\"netamountcredieted\":0,\"utrno\":null,\r\n\t \"uploadpaymentadvice\":null\r\n };\r\ninvoiceList :any =[];\r\nuploadpaymentadvice: any=[];\r\n\r\n addCollectionForm: FormGroup;\r\n isSubmitted = false;\r\n \r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n \r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n\r\n addCollection = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n this.CollectionData.collectiondate = this.CollectionData.collectiondate.getTime();\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addCollectionForm.invalid) {\r\n return;\r\n }\r\n if (!this.fileuploadService.hasfile(this.uploadpaymentadvice)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Invoice Excel\")\r\n return;\r\n }\r\n \r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.uploadpaymentadvice)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n if((this.CollectionData.gsttdsdeducted == null) || (this.CollectionData.gsttdsdeducted==\"\"))\r\n {\r\n if(this.CollectionData.deductiondescription ==null)\r\n {\r\n this.dialogService.openConfirmDialog(\"Deduction Description is Required\")\r\n return;\r\n }\r\n }\r\n this.CollectionData.uploadpaymentadvice = this.fileuploadService.getFirstFilePath(this.uploadpaymentadvice);\r\n\r\n this.CollectionData.projectid = this.data.projectid\r\n this.showLoading = true;\r\n this.collectionService.saveCollection(this.CollectionData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Collection \" + flag + \"d successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.dialogRef.close(false);\r\n \r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n // Edit\r\n getInvoiceList = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (name == null){\r\n return;\r\n }\r\n this.sharedService.getInvoiceList(name, headers).subscribe(resp => {\r\n debugger;\r\n this.invoiceList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n getInvoice= function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (name == null){\r\n return;\r\n }\r\n this.invoiceService.invoiceById(name, headers).subscribe(resp => {\r\n debugger;\r\n this.invoice = resp;\r\n this.CollectionData.netamountcredieted = this.invoice.totalamount;\r\n this.invoiceValue = this.invoice.totalamount;\r\n this.calculateCollection();\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n amt:any;\r\n calculateCollection= function()\r\n {\r\n debugger;\r\n if((this.CollectionData.tdsdeducted == null) || (this.CollectionData.tdsdeducted==\"\")){\r\n this.CollectionData.tdsdeducted =0;\r\n }\r\n \r\n if((this.CollectionData.otherdeducted == null) || (this.CollectionData.otherdeducted==\"\")){\r\n this.CollectionData.otherdeducted =0;\r\n }\r\n if((this.CollectionData.gsttdsdeducted == null) || (this.CollectionData.gsttdsdeducted==\"\")){\r\n this.CollectionData.gsttdsdeducted =0;\r\n }\r\n debugger;\r\n\r\n this.amt = parseFloat(this.invoiceValue) - ( parseFloat(this.CollectionData.tdsdeducted) +\r\n parseFloat(this.CollectionData.gsttdsdeducted) + parseFloat(this.CollectionData.otherdeducted));\r\n this.CollectionData.netamountcredieted = parseFloat(this.amt);\r\n }\r\n \r\n\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.collectionService.collectionById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.CollectionData = resp;\r\n if (this.CollectionData.collectiondate > 0) {\r\n this.CollectionData.collectiondate = (new Date(this.CollectionData.collectiondate));\r\n }\r\n else {\r\n this.CollectionData.collectiondate = null;\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.getInvoiceList(this.data.projectid);\r\n \r\n this.addCollectionForm = this.formBuilder.group({\r\n collectiondate: [null, Validators.required],\r\n invoiceid: [null, Validators.required],\r\n tdsdeducted: [0, Validators.required],\r\n gsttdsdeducted: [0, Validators.required],\r\n netamountcredieted: [0, Validators.required],\r\n utrno: [null, Validators.required],\r\n invoiceValue: [null, Validators.required],\r\n otherdeducted: [0],\r\n uploadpaymentadvice: [null],\r\n deductiondescription: [null]\r\n });\r\n this.amt =0;\r\ndebugger;\r\n if (this.data.flag == 'edit') {\r\n this.PageTitle = \"Update Collection\";\r\n this.editon(this.data.id);\r\n }\r\n }\r\n get formControls() {\r\n return this.addCollectionForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Collection Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ invoice.selectionvalue }}\r\n \r\n \r\n
\r\n
Invoice\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Invoice Pay Amount\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
TDS deducted\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
GST Deducted\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Penalty\r\n Withheld\r\n Other Deduction\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Net Amount Credieted\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
UTR No\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { CollectionTaggingService } from './collectiontagging.service';\r\nimport { AddCollectionComponent } from './addcollection/addcollection.component';\r\n\r\n@Component({\r\n selector: 'app-collectiontagging',\r\n templateUrl: './collectiontagging.component.html',\r\n providers: [CollectionTaggingService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class CollectionTaggingComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private collectionService: CollectionTaggingService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['collectiondate', 'invoiceid', 'netamountcredieted', 'utrno', 'action'];\r\n CollectionRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Collection Tagging\";\r\n\r\n projectList: any = [];\r\n\r\n url = '';\r\n \r\n displayedColumns1: string[] = ['selectionvalue'];\r\n ProjectData: MatTableDataSource;\r\n \r\n invoiceCollectionAdd: boolean = false;\r\n invoiceCollectionEdit: boolean = false;\r\n invoiceCollectionView: boolean = false;\r\n invoiceCollectionDelete: boolean = false;\r\n\r\n enableCollection: boolean = false;\r\n\r\n projectId: any;\r\n FilterData = {};\r\n\r\n applyFilterProject(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProjectData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.CollectionRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.ProjectData = new MatTableDataSource(resp);\r\n \r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getCollectionByProject = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.projectId = name;\r\n this.collectionService.getCollectionList(headers, name, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.CollectionRecord = new MatTableDataSource(resp);\r\n this.CollectionRecord.sort = this.sort;\r\n this.CollectionRecord.paginator = this.paginator;\r\n this.totalRecords = this.CollectionRecord.filteredData.length;\r\n this.enableCollection = true;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addCollection = function (id, flag) {\r\n debugger;\r\n this.data = {};\r\n if (id == null) {\r\n this.data.projectid = this.projectId;\r\n }\r\n else {\r\n this.item = {};\r\n this.item.id = id;\r\n this.item.projectid = this.projectId;\r\n this.data = this.item;\r\n }\r\n\r\n this.data.flag = flag;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(AddCollectionComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n this.getCollectionByProject(this.projectId);\r\n this.enableCollection = true;\r\n })\r\n }\r\n\r\n deleteCollection = function (name) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var experienceId = name;\r\n var projectId = name.projectid;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.collectionService.deleteCollection(experienceId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Collection is deleted successfully.\";\r\n this.getActiveProject();\r\n this.getCollecionByProject(projectId);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n\r\n this.getCollectionByProject(this.projectId);\r\n this.enableCollection = true;\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n submitForApproval = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.collectionService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Collection is successfully submitted for Approval.\";\r\n\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n\r\n this.getCollectionByProject(this.projectId);\r\n this.enableCollection = true;\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //Role Rights\r\n this.invoiceCollectionAdd = this._global.UserRights.includes(\"Invoice_Collection_ADD\");\r\n this.invoiceCollectionEdit = this._global.UserRights.includes(\"Invoice_Collection_EDIT\");\r\n this.invoiceCollectionView = this._global.UserRights.includes(\"Invoice_Collection_VIEW\");\r\n this.invoiceCollectionDelete = this._global.UserRights.includes(\"Invoice_Collection_DELETE\");\r\n\r\n this.url = this._global.baseUrl;\r\n\r\n this.getActiveProject();\r\n this.url = this._global.baseUrl;\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records:\r\n {{ProjectData.filteredData.length}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Project \r\n \r\n {{ProjectData.selectionvalue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Collection List

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Total Records:\r\n {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Invoice \r\n
{{CollectionRecord.invoiceno}}
\r\n\r\n
Collection Date\r\n \r\n
0\">\r\n {{CollectionRecord.collectiondate | date:'dd-MM-yyyy'}}
\r\n
\r\n {{CollectionRecord.collectiondate | date:'dd-MM-yyyy'}}
\r\n \r\n
UTR No\r\n \r\n
{{CollectionRecord.utrno}}
\r\n
Net Amount\r\n Credieted \r\n
{{CollectionRecord.netamountcredieted}}
\r\n\r\n
Action \r\n \r\n visibility\r\n \r\n \r\n \r\n \r\n
\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CollectionTaggingService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveCollection(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collection';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collection';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n collectionById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collection/'+ id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteCollection(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collection/'+ id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\ngetCollectionList( header, project, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collection/getCollectionList/'+project;\r\n return this._http.post(url, body,{ headers: header });\r\n}\r\n\r\nsubmitForApproval(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collectiontask/submitCollection/'+ id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n}\r\n","import { Component, OnInit, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../../global/app.global';\r\nimport { DialogService } from '../../../../service/dialog.service';\r\nimport { CollectionTaskService } from '../collectiontask.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-action',\r\n templateUrl: './action.component.html',\r\n providers: [CollectionTaskService, AppGlobals, DialogService]\r\n})\r\nexport class CollectionActionComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, \r\n private _global: AppGlobals, private dialogService: DialogService, private taskService: CollectionTaskService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n flag= '';\r\n\r\n PageTitle = \"Action\";\r\n \r\n ActionData = {\r\n \"approvalStatus\": null, \"remark\": null, \r\n };\r\n\r\n addAssetForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n processTask = function (action) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n \r\n this.taskService.processTask(this.ActionData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Collection \" + action + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n \r\n })\r\n \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n \r\n }\r\n \r\n editTask = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n ngOnInit(): void {\r\n debugger;\r\n this.addAssetForm = this.formBuilder.group({\r\n approvalStatus: [null, Validators.required],\r\n remark: [null, Validators.required],\r\n \r\n });\r\n\r\n \r\n this.editTask(this.data.id); \r\n \r\n }\r\n get formControls() {\r\n return this.addAssetForm.controls;\r\n }\r\n\r\n}\r\n\r\n","
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n Approve\r\n Reject\r\n \r\n
\r\n
Action is Required \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Remark is Required\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \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, ViewChild , Inject, Optional} from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { CollectionTaskService } from './collectiontask.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { CollectionActionComponent} from './action/action.component';\r\n\r\n@Component({\r\n selector: 'app-collectiontask',\r\n templateUrl: './collectiontask.component.html',\r\n providers: [AppGlobals, DialogService, SharedService, CollectionTaskService]\r\n})\r\nexport class CollectionTaskComponent implements OnInit {\r\n\r\n constructor( private router: Router, private route: ActivatedRoute, private http: HttpClient, private taskService: CollectionTaskService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n \r\n displayedColumns: string[] = ['collectiondate', 'invoiceid', 'netamountcredieted', 'utrno' , 'action'];\r\n historyColumns: string[] = ['collectiondate', 'invoiceid', 'netamountcredieted', 'utrno' ];\r\n \r\n TaskRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n FilterData = {};\r\n\r\n PageTitle = \"Collection Task List\";\r\n filterDiv:boolean = false;\r\n \r\n filterFunc = function() {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function() {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TaskRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n \r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getTaskList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.TaskRecord= new MatTableDataSource(resp);\r\n this.TaskRecord.sort = this.sort;\r\n this.TaskRecord.paginator = this.paginator;\r\n this.totalRecords = this.TaskRecord.filteredData.length;\r\n this.history=false;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getHistoryTask = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getHistoryTask(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.TaskRecord= new MatTableDataSource(resp);\r\n this.TaskRecord.sort = this.sort;\r\n this.TaskRecord.paginator = this.paginator;\r\n this.totalRecords = this.TaskRecord.filteredData.length;\r\n this.history=true;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n action = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n this.data.flag = 'invoice';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(CollectionActionComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n this.search();\r\n })\r\n }\r\n\r\n viewInvoice = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n \r\n }\r\nurl='';\r\n ngOnInit(): void {\r\n debugger;\r\n this.search();\r\n \r\n this.url = this._global.baseUrl;\r\n \r\n }\r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
Invoice \r\n
{{TaskRecord.invoiceid}}
\r\n\r\n
Collection Date\r\n \r\n
0\">\r\n {{TaskRecord.collectiondate | date:'dd-MM-yyyy'}}
\r\n
\r\n \r\n
UTR No\r\n \r\n
{{TaskRecord.utrno}}
\r\n
Net Amount\r\n Credieted \r\n
{{TaskRecord.netamountcredieted}}
\r\n\r\n
Action \r\n \r\n \r\n visibility\r\n \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CollectionTaskService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n processTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collectiontask';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n\r\ngetTaskList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collectiontask/taskByFilters';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\n/*getTaskList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collectiontask/historytaskByFilters';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n*/\r\n\r\ntaskById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collectiontask/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\ngetHistoryTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collectiontask/getAllHistoryTasks';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ngetHistoryById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collectiontask/getHistoryById'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n}\r\n","import { Component, OnInit, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { InvoiceService } from '../invoice.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-addinvoice',\r\n templateUrl: './addinvoice.component.html',\r\n providers: [InvoiceService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class AddInvoiceComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private invoiceService: InvoiceService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private fileuploadService: FileuploadService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Add Invoice\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n InvoiceData = {\r\n \"projectid\": null, \"pono\": null, \"customer\": null, \"customeraddress\": null, \"gstno\": null, \"panno\": null, \"milestoneno\": null,\r\n \"amountwithouttax\": 0, \"amountwithtax\": 0, \"totalamount\": 0, \"invoicedate\": null, \"invoiceexcel\": null,\r\n \"invoicesupportingdoc\": null, \"accountexcel\": null, \"invoicesignedexcel\": null\r\n };\r\n\r\n addInvoiceForm: FormGroup;\r\n isSubmitted = false;\r\n completionStatusList = this._global.completionStatus;\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n milestoneList: any = [];\r\n partyList: any = [];\r\n addressList: any = [];\r\n attachmentInvoice: any = [];\r\n attachmentSupportingDoc: any = [];\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n\r\n // projectList\r\n getMilestoneList = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (name == null) {\r\n return;\r\n }\r\n this.sharedService.getMilestoneList(name, headers).subscribe(resp => {\r\n debugger;\r\n this.milestoneList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n calculateAmt = function () {\r\n debugger;\r\n if ((this.InvoiceData.amountwithouttax == null) || (this.InvoiceData.amountwithouttax == \"\")) {\r\n this.InvoiceData.amountwithouttax = 0;\r\n }\r\n if ((this.InvoiceData.amountwithtax == null) || (this.InvoiceData.amountwithtax == \"\")) {\r\n this.InvoiceData.amountwithtax = 0;\r\n }\r\n this.InvoiceData.totalamount = parseFloat(this.InvoiceData.amountwithouttax) + parseFloat(this.InvoiceData.amountwithtax);\r\n return;\r\n }\r\n\r\n getActiveParty = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Address List\r\n\r\n getAllAddressOfParty = function (id) {\r\n this.userid = this.InvoiceData.customer;\r\n if (this.userid == null) {\r\n return;\r\n }\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.getPartyDetails();\r\n this.sharedService.getAllAddressOfParty(headers, this.userid).subscribe(resp => {\r\n debugger;\r\n this.addressList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // gst List\r\n\r\n getGstFromAddress = function (id) {\r\n debugger;\r\n if (id == null) {\r\n return;\r\n }\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getGstFromAddress(headers, this.InvoiceData.customer, id).subscribe(resp => {\r\n debugger;\r\n this.gstData = {};\r\n this.gstData = resp;\r\n if (this.gstData != null) {\r\n if (this.gstData.gstNo != null) {\r\n this.InvoiceData.gstno = this.gstData.gstNo;\r\n }\r\n }\r\n else {\r\n this.InvoiceData.gstno = 'NA';\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Single List\r\n\r\n getPartyDetails = function () {\r\n\r\n this.userid = this.InvoiceData.customer;\r\n if (this.userid == null) {\r\n return;\r\n }\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getPartyDetails(headers, this.userid).subscribe(resp => {\r\n debugger;\r\n this.party = resp;\r\n\r\n if (this.party.panNo != null) {\r\n this.InvoiceData.panno = this.party.panNo;\r\n }\r\n else {\r\n this.InvoiceData.panno = 'NA';\r\n }\r\n\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n addInvoice = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addInvoiceForm.invalid) {\r\n return;\r\n }\r\n if (!this.fileuploadService.hasfile(this.attachmentInvoice)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Invoice Excel\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.attachmentInvoice)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.InvoiceData.invoiceexcel = this.fileuploadService.getFirstFilePath(this.attachmentInvoice);\r\n\r\n if (!this.fileuploadService.hasfile(this.attachmentSupportingDoc)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Supporting Document\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.attachmentSupportingDoc)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.InvoiceData.invoicesupportingdoc = this.fileuploadService.getFirstFilePath(this.attachmentSupportingDoc);\r\n\r\n this.InvoiceData.projectid = this.data.projectid;\r\n this.showLoading = true;\r\n this.invoiceService.saveInvoice(this.InvoiceData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Invoice \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n clearfields = function () {\r\n this.InvoiceData = {\r\n \"projectid\": null, \"pono\": null, \"customer\": null, \"customeraddress\": null, \"gstno\": null, \"panno\": null, \"milestoneno\": null,\r\n \"amountwithouttax\": null, \"amountwithtax\": null, \"totalamount\": null, \"invoicedate\": null,\r\n \"invoiceexcel\": null, \"invoicesupportingdoc\": null, \"accountexcel\": null\r\n };\r\n }\r\n // Edit\r\n\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.invoiceService.invoiceById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.InvoiceData = resp;\r\n if (this.InvoiceData.invoiceexcel != null) {\r\n this.attachmentInvoice = this.fileuploadService.getSingleFileArray(this.InvoiceData.invoiceexcel);\r\n }\r\n if (this.InvoiceData.invoicesupportingdoc != null) {\r\n this.attachmentSupportingDoc = this.fileuploadService.getSingleFileArray(this.InvoiceData.invoicesupportingdoc);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n submitForApproval = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.invoiceService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Invoice is successfully submitted for Approval.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.getMilestoneList(this.data.projectid);\r\n this.getActiveParty();\r\n\r\n this.addInvoiceForm = this.formBuilder.group({\r\n pono: [null, Validators.required],\r\n customer: [null, Validators.required],\r\n gstno: [null],\r\n panno: [null],\r\n milestoneno: [null, Validators.required],\r\n amountwithouttax: [0, Validators.required],\r\n amountwithtax: [0, Validators.required],\r\n totalamount: [0, Validators.required],\r\n customeraddress: [null],\r\n invoicedate: [null],\r\n invoiceno: [null],\r\n invoiceexcel: [null],\r\n invoicesupportingdoc: [null],\r\n accountexcel: [null]\r\n });\r\n\r\n\r\n if (this.data.flag == 'edit') {\r\n this.PageTitle = \"Update Invoice\";\r\n this.editon(this.data.id);\r\n\r\n }\r\n\r\n\r\n }\r\n get formControls() {\r\n return this.addInvoiceForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Purchase Order No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ vendor.selectionvalue }}\r\n \r\n \r\n
\r\n
Customer Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ address.selectionvalue }}\r\n \r\n \r\n
\r\n
Customer\r\n Address\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ milestone.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Amount\r\n without Tax\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Tax Amount \r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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, ViewChild, Inject, Optional } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { InvoiceService } from './invoice.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ViewInvoiceComponent } from './viewinvoice/viewinvoice.component';\r\nimport { AddInvoiceComponent } from './addinvoice/addinvoice.component';\r\n\r\n@Component({\r\n selector: 'app-invoice',\r\n templateUrl: './invoice.component.html',\r\n providers: [InvoiceService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class InvoiceComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private invoiceService: InvoiceService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['projectpin', 'customername', 'pono', 'invoicestatus', 'totalamount', 'action'];\r\n InvoiceRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: false }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Invoice List\";\r\n enableInvoice: boolean = false;\r\n\r\n invoiceAdd: boolean = false;\r\n invoiceEdit: boolean = false;\r\n invoiceView: boolean = false;\r\n invoiceDelete: boolean = false;\r\n\r\n url = \"\";\r\n\r\n\r\n projectList: any = [];\r\n projectid: String = null;\r\n FilterData = {};\r\n\r\n displayedColumns1: string[] = ['selectionvalue'];\r\n ProjectData: MatTableDataSource;\r\n \r\n applyFilterProject(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProjectData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.InvoiceRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.ProjectData = new MatTableDataSource(resp);\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n getInvoiceByProject = function (name) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectId = name;\r\n this.invoiceService.getInvoiceList(name, headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.InvoiceRecord = new MatTableDataSource(resp);\r\n this.InvoiceRecord.sort = this.sort;\r\n this.InvoiceRecord.paginator = this.paginator;\r\n this.totalRecords = this.InvoiceRecord.filteredData.length;\r\n this.enableInvoice = true;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //delete \r\n\r\n onDelete = function (name) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var experienceId = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.invoiceService.deleteInvoice(experienceId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Invoice is deleted successfully.\";\r\n this.getActiveProject();\r\n this.getInvoiceByProject(this.projectId);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.getInvoiceByProject(this.projectId);\r\n this.enableInvoice = true;\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n submitForApproval = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.invoiceService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Invoice is successfully submitted for Approval.\";\r\n this.getActiveProject();\r\n this.getInvoiceByProject(this.projectId);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.getInvoiceByProject(this.projectId);\r\n this.enableInvoice = true;\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n viewInvoice = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ViewInvoiceComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\n\r\n addInvoice = function (id, flag) {\r\n debugger;\r\n this.data = {};\r\n if (id == null) {\r\n this.item = {};\r\n this.item.projectid = this.projectId;\r\n this.data = this.item;\r\n }\r\n else {\r\n this.item = {};\r\n this.item.id = id;\r\n this.item.projectid = this.projectId;\r\n this.data = this.item;\r\n }\r\n\r\n\r\n this.data.flag = flag;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(AddInvoiceComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n this.getInvoiceByProject(this.projectId);\r\n this.enableInvoice = true;\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //Role Rights\r\n this.invoiceAdd = this._global.UserRights.includes(\"Invoice_ADD\");\r\n this.invoiceEdit = this._global.UserRights.includes(\"Invoice_EDIT\");\r\n this.invoiceView = this._global.UserRights.includes(\"Invoice_VIEW\");\r\n this.invoiceDelete = this._global.UserRights.includes(\"Invoice_DELETE\");\r\n\r\n this.getActiveProject();\r\n this.url = this._global.baseUrl;\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Project\r\n \r\n \r\n {{ProjectData.selectionvalue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Total Invoice:\r\n {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Project Pin\r\n \r\n
{{InvoiceRecord.projectpin}}
\r\n
Customer Name\r\n \r\n
{{InvoiceRecord.customername}}
\r\n\r\n
PO No. / MS\r\n No.\r\n \r\n
{{InvoiceRecord.pono}}
\r\n
{{InvoiceRecord.milestoneno}}
\r\n
Status\r\n \r\n
{{InvoiceRecord.invoicestatus}}
\r\n
Total Amt\r\n \r\n
{{InvoiceRecord.totalamount}}
\r\n
Action \r\n \r\n \r\n \r\n visibility View\r\n \r\n \r\n \r\n visibility View\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n\r\n \r\n \r\n\r\n
\r\n\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InvoiceService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveInvoice(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoice';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoice';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\ngetInvoiceList(id, header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoice/invoiceByFilter/' + id;\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ninvoiceById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoice/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteInvoice(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoice/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\nsubmitForApproval(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoice/submitInvoice/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild , Inject, Optional} from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { InvoiceTaskService } from './invoicetask.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { ActionComponent} from '../../../AssetMgmt/InterDistrictDeliveryChallan/action/action.component';\r\nimport { ViewInvoiceComponent} from '../viewinvoice/viewinvoice.component';\r\n\r\n@Component({\r\n selector: 'app-invoicetask',\r\n templateUrl: './invoicetask.component.html',\r\n providers: [AppGlobals, DialogService, SharedService, InvoiceTaskService]\r\n})\r\nexport class InvoiceTaskComponent implements OnInit {\r\n\r\n constructor( private router: Router, private route: ActivatedRoute, private http: HttpClient, private taskService: InvoiceTaskService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n \r\n displayedColumns: string[] = ['customername', 'milestoneno','projectname','action'];\r\n historyColumns: string[] = ['customername', 'milestoneno','projectname'];\r\n TaskRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n FilterData = {};\r\n\r\n PageTitle = \"Invoice Task List\";\r\n filterDiv:boolean = false;\r\n \r\n \r\n filterFunc = function() {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function() {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TaskRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getTaskList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.TaskRecord= new MatTableDataSource(resp);\r\n this.TaskRecord.sort = this.sort;\r\n this.TaskRecord.paginator = this.paginator;\r\n this.totalRecords = this.TaskRecord.filteredData.length;\r\n this.history=false;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getHistoryTask = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getHistoryTask(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.TaskRecord= new MatTableDataSource(resp);\r\n this.TaskRecord.sort = this.sort;\r\n this.TaskRecord.paginator = this.paginator;\r\n this.totalRecords = this.TaskRecord.filteredData.length;\r\n this.history=true;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n action = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n this.data.flag = 'invoice';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ActionComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n this.search();\r\n })\r\n }\r\n\r\n viewInvoice = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ViewInvoiceComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\nurl='';\r\n ngOnInit(): void {\r\n debugger;\r\n this.search();\r\n \r\n this.url = this._global.baseUrl;\r\n }\r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \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 Name \r\n
{{TaskRecord.customername}}
\r\n
Milestone No \r\n
{{TaskRecord.milestoneno}}
\r\n
Project Name \r\n
{{TaskRecord.projectname}}
\r\n
Action \r\n\r\n \r\n visibility View\r\n \r\n \r\n \r\n \r\n visibility View\r\n \r\n \r\n search Action\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InvoiceTaskService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n processTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoicetask';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n\r\ngetTaskList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoicetask/taskByFilters';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\ngetHistoryTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoicetask/getAllHistoryTasks';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ntaskById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoicetask/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\ngetHistoryById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/invoicetask/getHistoryById'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { InvoiceService } from '../invoice.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-viewinvoice',\r\n templateUrl: './viewinvoice.component.html',\r\n providers: [InvoiceService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ViewInvoiceComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private invoiceService: InvoiceService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Invoice\";\r\n\r\n InvoiceData = {\r\n \"projectid\": null, \"pono\": null, \"customername\": null, \"customeraddress\": null, \"gstno\": null, \"panno\": null, \"milestoneno\": null,\r\n \"amountwithouttax\": null, \"amountwithtax\": null, \"totalamount\": null, \"invoicedate\": null, \"invoiceno\": null, \"invoiceexcel\": null,\r\n \"invoicesupportingdoc\": null, \"accountexcel\": null\r\n };\r\n\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n // Edit\r\n\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.invoiceService.viewInvoiceById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.InvoiceData = resp;\r\n this.InvoiceData.invoicedate = (new Date(this.InvoiceData.invoicedate));\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.editon(this.data.id);\r\n\r\n }\r\n\r\n}\r\n\r\n","\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n","export class ManagerUserFilterSession {\r\n fullName: string;\r\n employeeCode: string;\r\n roles: string;\r\n organizations: string;\r\n emailId:string;\r\n mobileNumber:string;\r\n}\r\nexport class MenuFilterSession {\r\n displayname: string;\r\n menuname: string;\r\n}","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Component, OnInit, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ChangePasswordService } from './change-password.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { SharedService } from 'src/app/service/shared.service';\r\nimport { DialogService } from 'src/app/service/dialog.service';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n providers: [ChangePasswordService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private changePasswordService: ChangePasswordService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n chngPasswordData = {\r\n \"newPassword\": null, \"oldPassword\": null\r\n };\r\n changepasswordForm: FormGroup;\r\n isSubmitted = false;\r\n errorMessage = \"\";\r\n showLoading: boolean = false;\r\n errorHandle: boolean = false;\r\n back() {\r\n this.router.navigate(['/profile'])\r\n }\r\n\r\n chngpassword = function () { \r\n this.isSubmitted = true;\r\n if (this.changepasswordForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") }; \r\n this.showLoading = true;\r\n this.changePasswordService.changepassword(this.chngPasswordData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Password change successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage) \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n \r\n ngOnInit(): void {\r\n //Fromgroup collection\r\n this.changepasswordForm = this.formBuilder.group({\r\n // username: ['', Validators.required],\r\n newPassword: ['', Validators.required],\r\n oldPassword: ['', Validators.required]\r\n });\r\n }\r\n get formControls() { return this.changepasswordForm.controls; }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \"HR\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n

Change Password

\r\n\r\n\r\n
{{errorMessage}}
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
Old password is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
New password is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChangePasswordService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n changepassword(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/user/changepassword';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { DepartmentService } from './department.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-department',\r\n templateUrl: './department.component.html',\r\n providers: [DepartmentService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class DepartmentComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private departmentService: DepartmentService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['departmentName', 'departmentCode', 'action'];\r\n DepartmentMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Department Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n \r\n departmentEdit: boolean = false;\r\n departmentAdd: boolean = false;\r\n departmentDelete: boolean = false;\r\n\r\n DepartmentData = {\r\n \"departmentName\": \"\", \"departmentCode\": \"\"\r\n };\r\n addDepartmentForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.DepartmentMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.addDepartmentForm.reset();\r\n this.PageTitle = \"Department Master\";\r\n }\r\n\r\n // Add / update function\r\n addDepartment = function (flag) {\r\n \r\n this.isSubmitted = true;\r\n if (this.addDepartmentForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.departmentService.saveDepartment(this.DepartmentData, headers, flag).subscribe(resp => {\r\n \r\n this.showLoading = false;\r\n this.successMessage = \"Department \" + flag + \" successfully.\";\r\n this.search();\r\n\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.DepartmentData = {};\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Add Department\"\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete Function\r\n onDelete = function (name) {\r\n \r\n this.DeleteMsg = 'Are you sure you want to Deactivate this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.departmentService.deleteDepartmentByName(name, headers).subscribe(resp => {\r\n this.successMessage = 'Deactivated Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n // Search function\r\n search = function () {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.departmentService.getDepartmentList(headers).subscribe(resp => {\r\n \r\n\r\n this.DepartmentMasterData = new MatTableDataSource(resp);\r\n this.DepartmentMasterData.sort = this.sort;\r\n this.DepartmentMasterData.paginator = this.paginator;\r\n this.totalRecords = this.DepartmentMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (name) {\r\n \r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var departmentName = name;\r\n this.PageTitle = \"Update Department\";\r\n this.departmentService.departmentByName(departmentName, headers).subscribe(resp => {\r\n \r\n this.showLoading = false;\r\n this.DepartmentData = resp;\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n //Role Rights\r\n this.departmentEdit = this._global.UserRights.includes(\"Department_Master_EDIT\");\r\n //this.departmentView = this._global.UserRights.includes(\"Department_Master_VIEW\");\r\n this.departmentDelete = this._global.UserRights.includes(\"Department_Master_DELETE\");\r\n this.departmentAdd = this._global.UserRights.includes(\"Department_Master_ADD\");\r\n\r\n this.addDepartmentForm = this.formBuilder.group({\r\n departmentName: ['', Validators.required],\r\n departmentCode: ['', Validators.required]\r\n });\r\n this.search();\r\n }\r\n get formControls() { return this.addDepartmentForm.controls; }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n {{PageTitle}}\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Department name is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Department code is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Department Name\r\n \r\n {{DepartmentMasterData.departmentName}} Department Code\r\n \r\n {{DepartmentMasterData.departmentCode}} Action \r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DepartmentService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveDepartment(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/department';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/department';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getDepartmentList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/department';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\ndepartmentByName(departmentName, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/department/'+departmentName;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteDepartmentByName(name, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/department/'+name;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { FamilyService } from './family.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\nexport interface UserData {\r\n id: string;\r\n name: string;\r\n progress: string;\r\n color: string;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-family',\r\n templateUrl: './family.component.html',\r\n providers: [FamilyService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class FamilyComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private familyService: FamilyService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n // displayedColumns: string[] = ['memberName', 'memberContact', 'dob', 'relationship', 'action'];\r\n displayedColumns = ['memberName', 'memberContact', 'dob', 'relationship', 'action'];\r\n\r\n FamilyMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n\r\n applyFilter(filterValue: string) {\r\n filterValue = filterValue.trim(); // Remove whitespace\r\n filterValue = filterValue.toLowerCase(); // Datasource defaults to lowercase matches\r\n this.FamilyMasterData.filter = filterValue;\r\n }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n //Role Rights\r\n familyEdit: boolean = false;\r\n familyDelete: boolean = false;\r\n familyAdd: boolean = false;\r\n\r\n PageTitle = \"Family\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n FamilyData = {\r\n \"memberName\": \"\", \"memberContact\": \"\", \"dob\": \"\", \"relationship\": \"\"\r\n };\r\n\r\n addFamilyForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n //this.addFamilyForm.reset()\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.PageTitle = \"Family\";\r\n }\r\n\r\n // Add / update function\r\n addFamily = function (flag) {\r\n this.isSubmitted = true;\r\n if (this.addFamilyForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.showLoading = true;\r\n this.FamilyData.dob = this.FamilyData.dob.getTime();\r\n this.familyService.saveFamily(this.FamilyData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Family \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addFamilyForm.reset();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Family\";\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // Delete Function\r\n onDelete = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this user?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.familyService.deleteFamilyById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.formDirective.resetForm();\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.familyService.getFamilyList(headers).subscribe(resp => {\r\n this.FamilyMasterData = new MatTableDataSource(resp);\r\n this.FamilyMasterData.sort = this.sort;\r\n this.FamilyMasterData.paginator = this.paginator;\r\n this.totalRecords = this.FamilyMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n editData = function (entityId) {\r\n this.list = false;\r\n this.edit = true;\r\n for (let i = 0; i < this.FamilyMasterData.filteredData.length; i++) {\r\n if (this.FamilyMasterData.filteredData[i].entityId == entityId) {\r\n this.FamilyData = this.FamilyMasterData.filteredData[i];\r\n this.FamilyData.dob = (new Date(this.FamilyData.dob));\r\n break;\r\n }\r\n }\r\n\r\n }\r\n\r\n // Get data by id\r\n editon = function (name) {\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update Family\";\r\n this.familyService.familyById(name, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.FamilyData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // ngAfterViewInit() {\r\n // this.FamilyMasterData.paginator = this.paginator;\r\n // this.FamilyMasterData.sort = this.sort;\r\n // }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n //Role Rights\r\n this.familyEdit = this._global.UserRights.includes(\"FamilyMembers_EDIT\");\r\n this.familyDelete = this._global.UserRights.includes(\"FamilyMembers_DELETE\");\r\n this.familyAdd = this._global.UserRights.includes(\"FamilyMembers_ADD\");\r\n\r\n this.addFamilyForm = this.formBuilder.group({\r\n memberName: ['', Validators.required],\r\n memberContact: ['', Validators.required],\r\n dob: ['', Validators.required],\r\n relationship: ['', Validators.required]\r\n });\r\n this.search();\r\n\r\n // const users: UserData[] = [];\r\n // var users1=[];\r\n // for (let i = 1; i <= 100; i++) { /*users.push(createNewUser(i));*/\r\n\r\n // users1.push({\"cnt\" : i,\"name\":\"batr\"+i});\r\n\r\n // }\r\n // this.dataSource = new MatTableDataSource(users1);\r\n\r\n }\r\n get formControls() {\r\n return this.addFamilyForm.controls;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Member name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Member contact is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Date of birth is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Relationship is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n Member Name\r\n \r\n \r\n {{FamilyMasterData.memberName}} \r\n \r\n\r\n \r\n \r\n Member Contact\r\n \r\n \r\n {{FamilyMasterData.memberContact}} \r\n \r\n\r\n \r\n \r\n Date Of Birth\r\n \r\n \r\n {{FamilyMasterData.dob | date:'MM-dd-yyyy'}} \r\n \r\n\r\n \r\n \r\n Relationship\r\n \r\n \r\n {{FamilyMasterData.relationship}} \r\n \r\n\r\n \r\n \r\n Action \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FamilyService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveFamily(body, header, flag) {\r\n if (flag == 'save') {\r\n var url = this._global.baseAPIUrl + 'ipms/userfamily';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n var url = this._global.baseAPIUrl + 'ipms/userfamily';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getFamilyList(header) {\r\n var url = this._global.baseAPIUrl + 'ipms/userfamily/myfamily';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\nfamilyById(name, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/userfamily/'+name;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteFamilyById(id, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/userfamily/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n}\r\n","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Component, OnInit, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ForgotPasswordService } from './forgot-password.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { SharedService } from 'src/app/service/shared.service';\r\nimport { DialogService } from 'src/app/service/dialog.service';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n providers: [ForgotPasswordService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private forgotPasswordService: ForgotPasswordService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n forgotPasswordData = {\r\n \"username\": null\r\n };\r\n forgotpasswordForm: FormGroup;\r\n isSubmitted = false;\r\n errorMessage = \"\";\r\n showLoading: boolean = false;\r\n errorHandle: boolean = false;\r\n back() {\r\n this.router.navigate(['/'])\r\n }\r\n\r\n forgotpassword = function () {\r\n this.isSubmitted = true;\r\n if (this.forgotpasswordForm.invalid) {\r\n return;\r\n }\r\n // const headers = { \"Authorization\": sessionStorage.getItem(\"token\") }; \r\n this.showLoading = true;\r\n this.forgotPasswordService.forgotpassword(this.forgotPasswordData).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Password has been sent to your registered email \";\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n this.router.navigate(['/resetpassword']);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n //Fromgroup collection\r\n this.forgotpasswordForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n });\r\n }\r\n get formControls() { return this.forgotpasswordForm.controls; }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \"HR\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n

Forgot Password

\r\n\r\n\r\n
{{errorMessage}}
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
Username is required
\r\n
\r\n
\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ForgotPasswordService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n forgotpassword (body) {\r\n debugger;\r\n var header = new HttpHeaders ({\r\n \"Content-Type\" : \"application/json\"\r\n });\r\n var url = this._global.baseAPIUrl + 'forgotpassword/'+body.username;\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { MenuService } from './menu.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MenuFilterSession } from '../ConfigurationMgmtFilterData';\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n providers: [MenuService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class MenuComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private menuService: MenuService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n \r\n displayedColumns: string[] = ['displayname', 'menuname', 'urlpath', 'parent', 'action'];\r\n MenuMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n PageTitle = \"Menu Master\";\r\n filterDiv: boolean = false;\r\n add = true;\r\n edit = false;\r\n list = true;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.MenuMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n menuEdit: boolean = false;\r\n menuAdd: boolean = false;\r\n menuDelete: boolean = false;\r\n MenuData = {\r\n \"displayname\": \"\", \"menuname\": \"\", \"urlpath\": \"\", \"menuorder\": \"\", \"description\":null,\r\n };\r\n ParentMenuName: string = null;\r\n ParentMenuList: any = [];\r\n FilterData = {\r\n \"displayname\": null, \"menuname\": null,\r\n };\r\n formatData = {};\r\n addMenuForm: FormGroup;\r\n isSubmitted = false;\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n this.formDirective.resetForm();\r\n }\r\n closeFilter = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"MENUFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.PageTitle = \"Menu Master\";\r\n this.enabledField();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.ParentMenuName = \"\";\r\n }\r\n // All Parent Menu\r\n getAllParentMenu = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getParentMenuList(headers).subscribe(resp => {\r\n this.ParentMenuList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Add / update function\r\n addMenu = function (flag) {\r\n this.isSubmitted = true;\r\n if (this.addMenuForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.ParentMenuName != null || this.ParentMenuName != undefined) {\r\n if (this.ParentMenuName != \"\") {\r\n this.formatData.menuname = this.ParentMenuName;\r\n this.MenuData.parent = this.formatData;\r\n }\r\n }\r\n this.showLoading = true;\r\n this.menuService.saveMenu(this.MenuData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Menu \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Menu Master\";\r\n this.enabledField();\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.menuService.getMenuList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let menuFilterSession = new MenuFilterSession();\r\n menuFilterSession.displayname = this.FilterData.displayname;\r\n menuFilterSession.menuname = this.FilterData.menuname;\r\n sessionStorage.setItem('MENUFILTERSESSION', JSON.stringify(menuFilterSession));\r\n this.result = !Object.values(menuFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.MenuMasterData = new MatTableDataSource(resp);\r\n this.MenuMasterData.sort = this.sort;\r\n this.MenuMasterData.paginator = this.paginator;\r\n this.totalRecords = this.MenuMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n //Edit Single item\r\n editData = function (menuname) {\r\n this.list = false;\r\n this.edit = true;\r\n this.disabledField();\r\n for (let i = 0; i < this.MenuMasterData.filteredData.length; i++) {\r\n if (this.MenuMasterData.filteredData[i].menuname == menuname) {\r\n this.MenuData = this.MenuMasterData.filteredData[i];\r\n this.ParentMenuName = this.MenuData.parent.menuname;\r\n break;\r\n }\r\n }\r\n }\r\n // Delete Function\r\n onDelete = function (name) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.menuService.deleteMenuByName(name, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addMenuForm.get('menuname').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addMenuForm.get('menuname').enable();\r\n }\r\n \r\n ngOnInit(): void {\r\n //Role Rights\r\n this.menuEdit = this._global.UserRights.includes(\"Menu_Master_EDIT\");\r\n this.menuAdd = this._global.UserRights.includes(\"Menu_Master_ADD\");\r\n this.menuDelete = this._global.UserRights.includes(\"Menu_Master_DELETE\");\r\n //Fromgroup collection\r\n this.addMenuForm = this.formBuilder.group({\r\n displayname: ['', Validators.required],\r\n menuname: ['', Validators.required],\r\n urlpath: ['', Validators.required],\r\n menuorder: ['', Validators.required],\r\n ParentMenuName: [''],\r\n description:[null]\r\n });\r\n //Assign Filter\r\n let menuFilterSession = JSON.parse(sessionStorage.getItem('MENUFILTERSESSION'));\r\n if (sessionStorage.getItem('MENUFILTERSESSION') != null) {\r\n this.FilterData.displayname = menuFilterSession.displayname;\r\n this.FilterData.menuname = menuFilterSession.menuname;\r\n }\r\n if (menuFilterSession != null) {\r\n this.result = !Object.values(menuFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n this.getAllParentMenu();\r\n }\r\n get formControls() { return this.addMenuForm.controls; }\r\n}","\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Display\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Menu\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Menu\r\n Order is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Page Url is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Parent Menu\r\n \r\n -Select-\r\n \r\n {{ParentMenuData.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Display Name \r\n {{MenuMasterData.displayname}} Menu Name \r\n {{MenuMasterData.menuname}} Page URL \r\n {{MenuMasterData.urlpath}} Parent Name \r\n
{{MenuMasterData.parent.displayname}}\r\n
\r\n
Action \r\n \r\n\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MenuService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n\r\n saveMenu(body, header, flag) {\r\n if (flag == 'save') {\r\n var url = this._global.baseAPIUrl + 'ipms/menu';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n var url = this._global.baseAPIUrl + 'ipms/menu';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getMenuList(body, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/menu/menuByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nmenuById(name, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/menu/'+name;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteMenuByName (name, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/menu/'+name;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { MyprofileService } from './myprofile.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-myprofile',\r\n templateUrl: './myprofile.component.html',\r\n providers: [MyprofileService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class MyprofileComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private myprofileService: MyprofileService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['projectname', 'orgname', 'workflowlevel'];\r\n\r\n PageTitle = \"Profile\";\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n profileEdit: boolean = false;\r\n userProjectMapping: MatTableDataSource;\r\n @ViewChild(MatSort, { static: false }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\r\n\r\n\r\n ProfileData = {\r\n \"firstName\": null, \"lastName\": null, \"designation\": null,\r\n \"department\": null, \"employeeCode\": null, \"doj\": null, \"mobileNumber\": null,\r\n \"emailId\": null, \"dob\": null, \"address\": null, \"district\": null,\r\n \"state\": null, \"gender\": null, \"manager\": { \"firstName\": null, \"lastName\": null },\r\n \"roles\": [{ \"rolename\": null }], \"organizations\": [{ \"orgName\": null }], \"entityId\": null,\r\n \"bloodGroup\": null, \"emergencyContactPerson\": null, \"emergencyContactMobile\": null,\r\n \"profileImage\": null\r\n };\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.userProjectMapping.filter = filterValue.trim().toLowerCase();\r\n this.totalRecords = this.userProjectMapping.filteredData.length > 0 ? this.userProjectMapping.filteredData.length : 0;\r\n }\r\n\r\n back = function () {\r\n this.router.navigate(['/searchUsers']);\r\n }\r\n\r\n // Search function\r\n search = function (id) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.myprofileService.getProfile(id, headers).subscribe(resp => {\r\n this.ProfileData = resp;\r\n this.showLoading = false;\r\n this.userProjectList(this.ProfileData.entityId);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Project Mapping function\r\n userProjectList = function (id) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n let myproject = {};\r\n this.myprofileService.getProjectLevelList(myproject, headers, id).subscribe(resp => {\r\n this.showLoading = false;\r\n this.userProjectMapping = new MatTableDataSource(resp.content);\r\n this.totalRecords = this.userProjectMapping.filteredData.length > 0 ? this.userProjectMapping.filteredData.length : 0;\r\n this.userProjectMapping.sort = this.sort;\r\n this.userProjectMapping.paginator = this.paginator;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n adminEdit: boolean = false;\r\n\r\n ngOnInit(): void {\r\n\r\n //Role Rights\r\n //this.profileEdit = this._global.UserRights.includes(\"My Profile_EDIT\");\r\n if (!this.route.snapshot.params.hasOwnProperty(\"id\")) {\r\n this.profileEdit = true;\r\n this.PageTitle = \"Update User\";\r\n this.search(null);\r\n } else {\r\n this.PageTitle = \"Update User\";\r\n this.adminEdit = true;\r\n this.search(this.route.snapshot.params.id);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n

Profile

\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ProfileData.firstName}} {{ProfileData.lastName}}\r\n\r\n

\r\n {{ProfileData.designation}}\r\n
{{ProfileData.department}}
\r\n\r\n
Employee ID : {{ProfileData.employeeCode}}
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n {{i+1}}. {{org.orgName}}\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n {{i+1}}. {{role.rolename}}\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    Phone:
    \r\n \r\n
  • \r\n
  • \r\n
    Email:
    \r\n \r\n
  • \r\n
  • \r\n
    Birthday:
    \r\n
    {{ProfileData.dob | date:'dd-MM-yyyy'}}
    \r\n
  • \r\n
  • \r\n
    Address:
    \r\n
    \r\n {{ProfileData.address}}, {{ProfileData.district}}, {{ProfileData.state}}\r\n\r\n
    \r\n
  • \r\n
  • \r\n
    Gender:
    \r\n
    {{ProfileData.gender}}
    \r\n
  • \r\n
  • \r\n
    Reports to:
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n {{ProfileData.manager.firstName}} {{ProfileData.manager.lastName}}\r\n
    \r\n
    \r\n
  • \r\n
\r\n
\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 edit\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Medical Informations\r\n

\r\n
    \r\n
  • \r\n
    Blood Group:
    \r\n
    {{ProfileData.bloodGroup}}
    \r\n
  • \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Emergency Contact\r\n\r\n

\r\n
\r\n \r\n
    \r\n
  • \r\n
    Name
    \r\n
    {{ProfileData.emergencyContactPerson}}
    \r\n
  • \r\n\r\n
  • \r\n
    Phone
    \r\n
    {{ProfileData.emergencyContactMobile}}
    \r\n
  • \r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Project Name \r\n {{userProjectMapping.projectname}} Organisation Name \r\n {{userProjectMapping.orgname}} Level Name \r\n {{userProjectMapping.workflowlevel}}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\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 { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MyprofileService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n getProfile(id, header) {\r\n if (id == null) {\r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/myprofile';\r\n } else {\r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/' + id;\r\n }\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getProjectLevelList(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/getAllProjectsOfUsers/' + id;\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { OrganizationService } from './organization.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-organization',\r\n templateUrl: './organization.component.html',\r\n providers: [OrganizationService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class OrganizationComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private organizationService: OrganizationService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['orgName', 'orgCountry', 'orgPan', 'orgTan', 'orgDirectors', 'orgRegAddress', 'action'];\r\n\r\n OrgMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Organization Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n orgEdit: boolean = false;\r\n orgDelete: boolean = false;\r\n orgAdd: boolean = false;\r\n\r\n\r\n OrganizationData = {\r\n \"orgName\": \"\", \"orgCountry\": \"\", \"orgDirectors\": \"\", \"orgPan\": \"\",\r\n \"orgTan\": \"\", \"orgRegAddress\": \"\"\r\n };\r\n addOrganizationForm: FormGroup;\r\n isSubmitted = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.OrgMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n //this.OrganizationData = {};\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.PageTitle = \"Organization Master\";\r\n }\r\n\r\n // Add / update function\r\n addOrganization = function (flag) {\r\n this.isSubmitted = true;\r\n if (this.addOrganizationForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.organizationService.saveOrganization(this.OrganizationData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Organization \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.OrganizationData = {};\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Organization Master\";\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.organizationService.getOrganizationList(headers).subscribe(resp => {\r\n this.OrgMasterData = new MatTableDataSource(resp);\r\n this.OrgMasterData.sort = this.sort;\r\n this.OrgMasterData.paginator = this.paginator;\r\n this.totalRecords = this.OrgMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (id) {\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var orgId = id;\r\n this.PageTitle = \"Update Organization\";\r\n this.organizationService.OrgById(orgId, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.OrganizationData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // Delete Function\r\n onDelete = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.organizationService.deleteOrgById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n //Role Rights\r\n this.orgEdit = this._global.UserRights.includes(\"Organization_Master_EDIT\");\r\n this.orgDelete = this._global.UserRights.includes(\"Organization_Master_DELETE\");\r\n this.orgAdd = this._global.UserRights.includes(\"Organization_Master_ADD\");\r\n\r\n\r\n this.addOrganizationForm = this.formBuilder.group({\r\n orgName: ['', Validators.required],\r\n orgCountry: ['', Validators.required],\r\n orgDirectors: ['', Validators.required],\r\n orgPan: ['', Validators.required],\r\n orgTan: ['', Validators.required],\r\n orgRegAddress: ['', Validators.required]\r\n });\r\n this.search();\r\n }\r\n get formControls() { return this.addOrganizationForm.controls; }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Organization name\r\n is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Country name is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Directors\r\n name is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
PAN No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
TAN No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Address is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Organization Name {{OrgMasterData.orgName}} Country {{OrgMasterData.orgCountry}} PAN No. {{OrgMasterData.orgPan}} TAN No. {{OrgMasterData.orgTan}} Director Name {{OrgMasterData.orgDirectors}} Address {{OrgMasterData.orgRegAddress}} Action \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OrganizationService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveOrganization(body, header, flag) {\r\n debugger;\r\n if (flag == 'save') {\r\n var url = this._global.baseAPIUrl + 'ipms/organization';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n var url = this._global.baseAPIUrl + 'ipms/organization';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getOrganizationList(header) {\r\n var url = this._global.baseAPIUrl + 'ipms/organization';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\nOrgById(id, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/organization/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\ndeleteOrgById(id, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/organization/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ResetPasswordService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n resetpassword(data) {\r\n debugger;\r\n var header = new HttpHeaders ({\r\n \"Content-Type\" : \"application/json\"\r\n });\r\n var url = this._global.baseAPIUrl + 'resetpassword';\r\n return this._http.post(url , data, {headers: header});\r\n}\r\n\r\n}\r\n","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Component, OnInit, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ResetPasswordService } from './Reset-password.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { SharedService } from 'src/app/service/shared.service';\r\nimport { DialogService } from 'src/app/service/dialog.service';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n providers: [ResetPasswordService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private resetPasswordService: ResetPasswordService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n resetPasswordData = {\r\n \"username\": null, \"newPassword\": null, \"token\": null\r\n };\r\n resetpasswordForm: FormGroup;\r\n isSubmitted = false;\r\n errorMessage = \"\";\r\n showLoading: boolean = false;\r\n errorHandle: boolean = false;\r\n back() {\r\n this.router.navigate(['/forgotpassword'])\r\n }\r\n\r\n resetpass = function () { \r\n this.isSubmitted = true;\r\n if (this.resetpasswordForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") }; \r\n this.showLoading = true;\r\n this.resetPasswordService.resetpassword(this.resetPasswordData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Password reset successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n this.router.navigate(['/']);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n \r\n ngOnInit(): void {\r\n //Fromgroup collection\r\n this.resetpasswordForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n newPassword: ['', Validators.required],\r\n token: ['', Validators.required]\r\n });\r\n }\r\n get formControls() { return this.resetpasswordForm.controls; }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \"HR\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n

Reset Password

\r\n\r\n\r\n
{{errorMessage}}
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
Username is required
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
New password is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
OTP is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { RoleService } from '../role.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n@Component({\r\n selector: 'app-add-role',\r\n templateUrl: './add-role.component.html',\r\n providers: [RoleService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddRoleComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private roleService: RoleService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n PageTitle = \"Add Role\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n RoleData = {\r\n \"rolename\": \"\", \"menuRights\": []\r\n };\r\n AddRoleData = {\r\n \"rolename\": \"\", \"menuRights\": []\r\n };\r\n\r\n panelOpenState = false;\r\n addRoleForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.router.navigate(['/userRoleRights']);\r\n }\r\n\r\n\r\n\r\n // roleFormatData = [];\r\n // SelectRoleRight = function (items) {\r\n // this.menuRole = {};\r\n // debugger;\r\n // this.menuRole.enableView = items;\r\n // this.menuRole.enableEdit = items;\r\n // this.menuRole.enableAdd = items;\r\n // this.menuRole.enableDelete = items;\r\n // this.menuRole.menuName = this.MenuMasterData[0].displayname;\r\n // this.roleFormatData = [];\r\n // this.roleFormatData.push(this.menuRole);\r\n\r\n // }\r\n\r\n\r\n menuRole = { \"enableView\": false, \"enableEdit\": false, \"enableAdd\": false, \"enableDelete\": false, \"menuName\": \"\", \"displayname\": \"\", \"childMenu\": [] };\r\n childmenuRole = { \"enableView\": false, \"enableEdit\": false, \"enableAdd\": false, \"enableDelete\": false, \"displayname\": \"\", \"menuName\": \"\" };\r\n\r\n\r\n // GenerateAddRoleRight = function (menuList) {\r\n // this.menuRole = {};\r\n // this.AddRoleData.menuRights=[];\r\n // debugger;\r\n // for (let i = 0; i < menuList.length; i++) {\r\n // this.menuRole = {};\r\n // this.menuRole.childmenu=[];\r\n // this.menuRole.menuName = menuList[i].menuname;\r\n // this.menuRole.displayname = menuList[i].displayname;\r\n // this.menuRole.enableAdd=false;\r\n // this.menuRole.enableEdit=false;\r\n // this.menuRole.enableView=false;\r\n // this.menuRole.enableDelete=false;\r\n\r\n // for (let j = 0; j < menuList[i].childmenu.length; j++) {\r\n // this.childmenuRole = {};\r\n // this.childmenuRole.menuName = menuList[i].childmenu[j].menuname; \r\n // this.childmenuRole.displayname = menuList[i].childmenu[j].displayname;\r\n // this.menuRole.enableAdd=false;\r\n // this.menuRole.enableEdit=false;\r\n // this.menuRole.enableView=false;\r\n // this.menuRole.enableDelete=false;\r\n\r\n // this.menuRole.childmenu.push(this.childmenuRole)\r\n // }\r\n\r\n // this.AddRoleData.menuRights.push(this.menuRole);\r\n // }\r\n\r\n // }\r\n\r\n ConvertAddtoSaveRoleRight = function (menuList) {\r\n //RoleData\r\n this.menuRole = {};\r\n this.RoleData.menuRights = [];\r\n this.RoleData.rolename = menuList.rolename;\r\n debugger;\r\n for (let i = 0; i < menuList.menuRights.length; i++) {\r\n this.menuRole = {};\r\n this.menuRole.childMenu = [];\r\n this.menuRole.menuName = menuList.menuRights[i].menuName;\r\n this.menuRole.enableAdd = menuList.menuRights[i].enableAdd;\r\n this.menuRole.enableEdit = menuList.menuRights[i].enableEdit;\r\n this.menuRole.enableView = menuList.menuRights[i].enableView;\r\n this.menuRole.enableDelete = menuList.menuRights[i].enableDelete;\r\n\r\n if (this.menuRole.enableAdd || this.menuRole.enableEdit || this.menuRole.enableView || this.menuRole.enableDelete) {\r\n this.RoleData.menuRights.push(this.menuRole);\r\n }\r\n\r\n for (let j = 0; j < menuList.menuRights[i].childMenu.length; j++) {\r\n this.childmenuRole = {};\r\n this.childmenuRole.menuName = menuList.menuRights[i].childMenu[j].menuName;\r\n // this.childmenuRole.displayname = menuList[i].childmenu[j].displayname;\r\n this.childmenuRole.enableAdd = menuList.menuRights[i].childMenu[j].enableAdd;\r\n this.childmenuRole.enableEdit = menuList.menuRights[i].childMenu[j].enableEdit;\r\n this.childmenuRole.enableView = menuList.menuRights[i].childMenu[j].enableView;\r\n this.childmenuRole.enableDelete = menuList.menuRights[i].childMenu[j].enableDelete;\r\n\r\n if (this.childmenuRole.enableAdd || this.childmenuRole.enableEdit || this.childmenuRole.enableView || this.childmenuRole.enableDelete) {\r\n this.RoleData.menuRights.push(this.childmenuRole);\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n addRole = function (flag) {\r\n\r\n this.isSubmitted = true;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n //this.RoleData.menuRights = this.roleFormatData;\r\n this.ConvertAddtoSaveRoleRight(this.AddRoleData);\r\n debugger;\r\n\r\n if (this.addRoleForm.invalid) {\r\n return;\r\n }\r\n if (this.RoleData.menuRights.length == 0) {\r\n this.dialogService.openConfirmDialog(\"Please select menu rights\")\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.roleService.saveRole(this.RoleData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Role \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addRoleForm.reset();\r\n if (flag == \"update\") {\r\n this.router.navigate(['/userRoleRights']);\r\n\r\n }\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // Edit\r\n editon = function (name, flag) {\r\n debugger;\r\n this.add = false;\r\n if (flag == \"edit\") {\r\n this.edit = true;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.roleService.findRoleById(name, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.AddRoleData = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // Menu List function\r\n FilterData = {};\r\n MenuMasterData = {};\r\n AllMenuList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.roleService.getMenuList(headers).subscribe(resp => {\r\n debugger;\r\n this.AddRoleData = resp;\r\n console.log(this.AddRoleData);\r\n // this.GenerateAddRoleRight(resp);\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this.addRoleForm = this.formBuilder.group({\r\n rolename: ['', Validators.required]\r\n });\r\n\r\n\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n debugger;\r\n this.PageTitle = \"Update Role\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n }\r\n if (this.route.snapshot.params.page == 'view') {\r\n debugger;\r\n this.PageTitle = \"View Role\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n }\r\n if (this.route.snapshot.params.page == 'add') {\r\n debugger;\r\n this.AllMenuList();\r\n }\r\n\r\n }\r\n get formControls() {\r\n return this.addRoleForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Role\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n

Assign Menu role/rights

\r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n\r\n
\r\n Menu/Module Name\r\n
\r\n\r\n
\r\n View/Read\r\n
\r\n\r\n
\r\n Add/Write\r\n
\r\n\r\n
\r\n Edit/Write\r\n
\r\n
\r\n Delete / Deactivate\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n \r\n
\r\n {{MenuDataList.displayname}}\r\n
\r\n
\r\n \r\n \r\n
\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 {{MenuDataList.displayname}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \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 {{childMenu.displayname}}\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { RoleService } from './role.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-role',\r\n templateUrl: './role.component.html',\r\n providers: [RoleService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class RoleComponent implements OnInit {\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private roleService: RoleService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['rolename', 'maction'];\r\n RoleMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n deactivate: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n FilterData = { \"rolename\": \"\" };\r\n PageTitle = \"Role List\";\r\n filterDiv: boolean = false;\r\n roleEdit: boolean = false;\r\n roleView: boolean = false;\r\n roleDelete: boolean = false;\r\n roleAdd: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.RoleMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n addRole = function (page) { \r\n this.router.navigate(['/AddRoleRights', page]);\r\n }\r\n // Delete Function\r\n onDelete = function (name) { \r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.roleService.deleteRoleByName(name, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n filterFunc = function () { \r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n search = function () { \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.roleService.roleList(headers).subscribe(resp => {\r\n this.RoleMasterData = new MatTableDataSource(resp);\r\n this.RoleMasterData.sort = this.sort;\r\n this.RoleMasterData.paginator = this.paginator;\r\n this.totalRecords = this.RoleMasterData.filteredData.length;\r\n\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.roleEdit = this._global.UserRights.includes(\"Role_Master_EDIT\");\r\n this.roleView = this._global.UserRights.includes(\"Role_Master_VIEW\");\r\n this.roleDelete = this._global.UserRights.includes(\"Role_Master_DELETE\");\r\n this.roleAdd = this._global.UserRights.includes(\"Role_Master_ADD\");\r\n\r\n this.search();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n Role Name \r\n \r\n {{RoleMasterData.rolename}}\r\n \r\n \r\n\r\n \r\n \r\n Action \r\n \r\n \r\n visibility\r\n \r\n \r\n edit\r\n \r\n \r\n \r\n \r\n \r\n\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 { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders, HttpEvent, HttpErrorResponse, HttpEventType } from \"@angular/common/http\";\r\nimport { map } from 'rxjs/operators';\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n roleList(header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/role';\r\n return this._http.get(url, { headers: header });\r\n\r\n }\r\n\r\n getMenuList(header) {\r\n var url = this._global.baseAPIUrl + 'ipms/role/menuhierarchy';\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n findRoleById(name, header, flag) {\r\n if (flag == 'edit') {\r\n var url = this._global.baseAPIUrl + 'ipms/role/menuhierarchy/' + name;\r\n return this._http.get(url, { headers: header });\r\n }\r\n if (flag == 'view') {\r\n var url = this._global.baseAPIUrl + 'ipms/role/menuhierarchy/' + name;\r\n return this._http.get(url, { headers: header });\r\n }\r\n }\r\n\r\n\r\n saveRole(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/role';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/role';\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n }\r\n\r\n deleteRoleByName(name, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/role/' + name;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { UserProfileService } from '../user-profile.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-add-user',\r\n templateUrl: './add-user.component.html',\r\n providers: [UserProfileService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class AddUserComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private userProfileService: UserProfileService,\r\n private _global: AppGlobals, private dialogService: DialogService,\r\n private sharedService: SharedService, private fileuploadService: FileuploadService) { }\r\n\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n @ViewChild('picker') picker: any;\r\n open() {\r\n this.picker.open();\r\n }\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n profilefiles: any = [];\r\n\r\n PageTitle = \"Add User\";\r\n add: boolean = true;\r\n edit: boolean = false;\r\n list: boolean = true;\r\n roleAdmin: boolean = false;\r\n roleAdminbtn: boolean = false;\r\n profilepic: boolean = true;\r\n compareOrg(o1: any, o2: any): boolean {\r\n return o1 == o2.entityId;\r\n }\r\n compareRole(o1: any, o2: any): boolean {\r\n return o1 == o2.rolename;\r\n }\r\n compareTlDist(o1: any, o2: any): boolean {\r\n return o1 == o2.id.geographyname;\r\n }\r\n UserProfileData = {\r\n \"firstName\": null, \"lastName\": null, \"mobileNumber\": null,\r\n \"gender\": null, \"bloodGroup\": null, \"dob\": null,\r\n \"emailId\": null, \"emergencyContactMobile\": null, \"emergencyContactPerson\": null,\r\n \"address\": null, \"state\": null, \"district\": null,\r\n \"country\": null, \"designation\": null, \"doj\": null,\r\n \"employeeCode\": null, \"department\": null, \"organizations\": null,\r\n \"roles\": [], \"profileImage\": null, \"mappeddistrict\": null,\r\n };\r\n tLState: string = null;\r\n TLdistrictList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n departmentList: any = [];\r\n organizationsList: any = [];\r\n roleList: any = [];\r\n orgFormatData: any = [];\r\n roleFormatData: any = [];\r\n districtFormatData: any = [];\r\n tlFlag: boolean = false;\r\n addUserForm: FormGroup;\r\n isSubmitted: boolean = false;\r\n back = function () {\r\n this.router.navigate(['/searchUsers']);\r\n }\r\n backprofile = function () {\r\n this.router.navigate(['/profile']);\r\n }\r\n getAllTLDistrictByState = function (stateName) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDistrictList(headers, stateName).subscribe(resp => {\r\n this.TLdistrictList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Department List\r\n getAllDepartment = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n this.departmentList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Organizations List\r\n getAllOrganizations = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n this.organizationsList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Role List\r\n getAllRole = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getRoleList(headers).subscribe(resp => {\r\n this.roleList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // State List\r\n getAllState = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // DistrictL List\r\n getAllDistrictByState = function (stateName) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDistrictList(headers, stateName).subscribe(resp => {\r\n this.districtList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n orgElements = [];\r\n SelectORG = function (items) {\r\n this.orgFormatData = [];\r\n for (let i = 0; i < items.length; i++) {\r\n this.item1 = {};\r\n this.item1.entityId = items[i];\r\n this.orgFormatData.push(this.item1);\r\n }\r\n }\r\n\r\n SelectRole = function (items) {\r\n this.disableTLStateDist();\r\n for (let i = 0; i < items.length; i++) {\r\n if (items[i] == \"ROLE_TEAM_LEADER\") {\r\n this.addUserForm.get('mappeddistrict').enable();\r\n this.addUserForm.get('tLState').enable();\r\n break;\r\n }\r\n }\r\n this.roleFormatData = [];\r\n for (let i = 0; i < items.length; i++) {\r\n this.item2 = {};\r\n this.item2.rolename = items[i];\r\n this.roleFormatData.push(this.item2);\r\n if (items[i] == 'ROLE_TEAM_LEADER') {\r\n this.tlFlag = true;\r\n }\r\n console.log(this.roleFormatData);\r\n }\r\n }\r\n GetRoleAsString = function (roleList) {\r\n let roleString = \"\";\r\n for (let i = 0; i < roleList.length; i++) {\r\n roleString = roleList[i].rolename + \",\";\r\n }\r\n }\r\n SelectDistrict = function (items) {\r\n this.districtFormatData = [];\r\n for (let i = 0; i < items.length; i++) {\r\n this.item3 = {};\r\n this.itemtemp = {};\r\n this.itemtemp.geographyname = items[i];\r\n this.itemtemp.parentgeography = this.tLState;\r\n this.item3.id = this.itemtemp;\r\n this.districtFormatData.push(this.item3);\r\n }\r\n }\r\n addUser = function () {\r\n this.isSubmitted = true;\r\n if (this.addUserForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n //If mandatory then check for atleast one fileuploaded\r\n if (!this.fileuploadService.hasfile(this.profilefiles)) {\r\n this.dialogService.openConfirmDialog(\"Please uplaod profile pic\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.profilefiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n this.UserProfileData.profileImage = this.fileuploadService.getFirstFilePath(this.profilefiles);\r\n this.UserProfileData.organizations = this.orgFormatData;\r\n this.UserProfileData.roles = this.roleFormatData;\r\n this.UserProfileData.mappeddistrict = this.districtFormatData;\r\n this.UserProfileData.confirmed = true;\r\n this.UserProfileData.userName = this.UserProfileData.emailId;\r\n this.UserProfileData.password = \"admin\";\r\n if (this.UserProfileData.dob != null) {\r\n this.UserProfileData.dob = this.UserProfileData.dob.getTime();\r\n }\r\n if (this.UserProfileData.doj != null) {\r\n this.UserProfileData.doj = this.UserProfileData.doj.getTime();\r\n }\r\n\r\n this.showLoading = true;\r\n this.userProfileService.saveUser(this.UserProfileData, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"User added successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.router.navigate(['/searchUsers']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n updateprofile = function () {\r\n this.isSubmitted = true;\r\n if (this.addUserForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n //If mandatory then check for atleast one fileuploaded\r\n if (!this.fileuploadService.hasfile(this.profilefiles)) {\r\n this.dialogService.openConfirmDialog(\"Please uplaod profile pic\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.profilefiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.UserProfileData.profileImage = this.fileuploadService.getFirstFilePath(this.profilefiles);\r\n if (this.UserProfileData.dob != null) {\r\n this.UserProfileData.dob = this.UserProfileData.dob.getTime();\r\n }\r\n if (this.UserProfileData.doj != null) {\r\n this.UserProfileData.doj = this.UserProfileData.doj.getTime();\r\n }\r\n // this.UserProfileData.mappeddistrict = null;\r\n\r\n this.showLoading = true;\r\n this.userProfileService.updateProfile(this.UserProfileData, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"User profile update successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addUserForm.reset();\r\n this.router.navigate(['/profile']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.UserProfileData.dob = (new Date(this.UserProfileData.dob));\r\n this.UserProfileData.doj = (new Date(this.UserProfileData.doj));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n updateroles = function () {\r\n this.isSubmitted = true;\r\n if (this.addUserForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.UserProfileData.dob != null) {\r\n this.UserProfileData.dob = this.UserProfileData.dob.getTime();\r\n }\r\n if (this.UserProfileData.doj != null) {\r\n this.UserProfileData.doj = this.UserProfileData.doj.getTime();\r\n }\r\n this.UserProfileData.organizations = this.orgFormatData;\r\n this.UserProfileData.roles = this.roleFormatData;\r\n this.UserProfileData.mappeddistrict = this.districtFormatData;\r\n\r\n this.showLoading = true;\r\n this.userProfileService.updateAdminRight(this.UserProfileData, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"User role update successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addUserForm.reset();\r\n this.router.navigate(['/profile/', this.route.snapshot.params.id]);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Edit\r\n editon = function (id, flag) {\r\n this.add = false;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var userId = id;\r\n this.userProfileService.findUserById(userId, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n debugger;\r\n this.UserProfileData = resp;\r\n if (this.UserProfileData.doj > 0) {\r\n this.UserProfileData.doj = (new Date(this.UserProfileData.doj));\r\n }\r\n else {\r\n this.UserProfileData.doj = null;\r\n }\r\n if (this.UserProfileData.dob > 0) {\r\n this.UserProfileData.dob = (new Date(this.UserProfileData.dob));\r\n }\r\n else {\r\n this.UserProfileData.dob = null;\r\n }\r\n this.orgFormatData = this.UserProfileData.organizations;\r\n this.roleFormatData = this.UserProfileData.roles;\r\n if (this.UserProfileData.mappeddistrict.length > 0) {\r\n this.districtFormatData = this.UserProfileData.mappeddistrict;\r\n this.tLState = this.districtFormatData[0].id.parentgeography;\r\n }\r\n for (let i = 0; i < this.roleFormatData.length; i++) {\r\n if (this.roleFormatData[i].rolename == \"ROLE_TEAM_LEADER\") {\r\n this.addUserForm.get('mappeddistrict').enable();\r\n this.addUserForm.get('tLState').enable();\r\n this.districtFormatData = this.UserProfileData.mappeddistrict;\r\n this.tLState = this.districtFormatData[0].id.parentgeography;\r\n break;\r\n }\r\n else {\r\n this.UserProfileData.mappeddistrict = null;\r\n this.tLState = null;\r\n }\r\n }\r\n if (this.UserProfileData.profileImage != null) {\r\n this.profilefiles = this.fileuploadService.getSingleFileArray(this.UserProfileData.profileImage);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.UserProfileData.doj = (new Date(this.UserProfileData.doj));\r\n this.UserProfileData.dob = (new Date(this.UserProfileData.dob));\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addUserForm.get('firstName').disable();\r\n this.addUserForm.get('lastName').disable();\r\n this.addUserForm.get('dob').disable();\r\n this.addUserForm.get('emailId').disable();\r\n this.addUserForm.get('doj').disable();\r\n this.addUserForm.get('employeeCode').disable();\r\n this.addUserForm.get('department').disable();\r\n this.addUserForm.get('organizations').disable();\r\n this.addUserForm.get('roles').disable();\r\n this.profilepic = true;\r\n this.disableTLStateDist();\r\n }\r\n // Disabled Function\r\n adminrole: boolean = false;\r\n AdmindisabledField = function () {\r\n this.addUserForm.get('firstName').disable();\r\n this.addUserForm.get('lastName').disable();\r\n this.addUserForm.get('mobileNumber').disable();\r\n this.addUserForm.get('gender').disable();\r\n this.addUserForm.get('bloodGroup').disable();\r\n this.addUserForm.get('dob').disable();\r\n this.addUserForm.get('emailId').disable();\r\n this.addUserForm.get('emergencyContactMobile').disable();\r\n this.addUserForm.get('emergencyContactPerson').disable();\r\n this.addUserForm.get('address').disable();\r\n this.addUserForm.get('state').disable();\r\n this.addUserForm.get('district').disable();\r\n this.addUserForm.get('country').disable();\r\n this.addUserForm.get('designation').disable();\r\n this.addUserForm.get('doj').disable();\r\n this.addUserForm.get('employeeCode').disable();\r\n this.addUserForm.get('department').disable();\r\n this.adminrole = true;\r\n this.profilepic = false;\r\n }\r\n disableTLStateDist() {\r\n this.addUserForm.get('mappeddistrict').disable();\r\n this.addUserForm.get('tLState').disable();\r\n }\r\n ngOnInit(): void {\r\n this.roleAdmin = this._global.UserRights.includes(\"ROLE_ADMIN\");\r\n this.getAllState();\r\n this.getAllDepartment();\r\n this.getAllOrganizations();\r\n this.getAllRole();\r\n this.addUserForm = this.formBuilder.group({\r\n firstName: [null, Validators.required],\r\n lastName: [null, Validators.required],\r\n mobileNumber: [null, Validators.required],\r\n gender: [null, Validators.required],\r\n bloodGroup: [null, Validators.required],\r\n dob: [null, Validators.required],\r\n emailId: [null, Validators.required],\r\n emergencyContactMobile: [null, Validators.required],\r\n emergencyContactPerson: [null, Validators.required],\r\n address: [null, Validators.required],\r\n state: [null, Validators.required],\r\n district: [null, Validators.required],\r\n country: ['INDIA', Validators.required],\r\n designation: [null, Validators.required],\r\n doj: [null, Validators.required],\r\n employeeCode: [null, Validators.required],\r\n department: [null, Validators.required],\r\n organizations: [null],\r\n roles: [''],\r\n mappeddistrict: [null],\r\n tLState: [null],\r\n });\r\n this.disableTLStateDist();\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update User\";\r\n this.AdmindisabledField();\r\n this.edit = false;\r\n this.roleAdminbtn = true;\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n }\r\n if (this.route.snapshot.params.page == 'editprofile') {\r\n this.PageTitle = \"Update Profile\";\r\n this.edit = true;\r\n this.roleAdminbtn = false;\r\n this.disabledField();\r\n this.editon(this.route.snapshot.params.id, 'editprofile');\r\n }\r\n }\r\n get formControls() {\r\n return this.addUserForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n Fill out basic information\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
First\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Last\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Mobile\r\n No. is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Gender\r\n \r\n -Select-\r\n Male\r\n Female\r\n Transgender \r\n \r\n
\r\n
Gender is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Blood Group\r\n \r\n -Select-\r\n A+\r\n A-\r\n B+ \r\n B- \r\n o+ \r\n O- \r\n AB+ \r\n AB- \r\n \r\n
\r\n
Blood group\r\n is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Date of birth is\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Email Id\r\n is required
\r\n
Email must be a\r\n valid email\r\n address
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Emergency Mobile\r\n No. is required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Emergency contact\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Address is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n District\r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n
\r\n
District is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Country is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Fill out organization information\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Designation is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Date of Joining is\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Employee code\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Department\r\n \r\n -Select-\r\n \r\n {{departmentData.selectionvalue}}\r\n \r\n
\r\n
Department is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{organizationsData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{RoleData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Team Leader State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{TlDistrictData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { UserProfileService } from './user-profile.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { flatMap } from 'rxjs/operators';\r\nimport { ManagerUserFilterSession } from '../ConfigurationMgmtFilterData';\r\n\r\n@Component({\r\n selector: 'app-user-profile',\r\n templateUrl: './user-profile.component.html',\r\n providers: [UserProfileService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n result: boolean = false;\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private userProfileService: UserProfileService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['firstName', 'emailId', 'address-pcol', 'employeeCode', 'action'];\r\n UserMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n FilterData = { \"fullName\": null, \"employeeCode\": null, \"emailId\": null, \"mobileNumber\": null, \"organizations\": null, \"roles\": null };\r\n\r\n PageTitle = \"User List\";\r\n filterDiv: boolean = false;\r\n\r\n //User Rgiht Declaration\r\n userEdit: boolean = false;\r\n userView: boolean = false;\r\n userAdd: boolean = false;\r\n userDelete: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.UserMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n addUser = function () {\r\n this.router.navigate(['/registerEmployee']);\r\n }\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"USERFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.FilterData.confirmed = true;\r\n this.userProfileService.userList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let userFilterSession = new ManagerUserFilterSession();\r\n userFilterSession.fullName = this.FilterData.fullName;\r\n userFilterSession.employeeCode = this.FilterData.employeeCode;\r\n userFilterSession.roles = this.FilterData.roles;\r\n userFilterSession.organizations = this.FilterData.organizations;\r\n userFilterSession.emailId = this.FilterData.emailId;\r\n userFilterSession.mobileNumber = this.FilterData.mobileNumber;\r\n sessionStorage.setItem('USERFILTERSESSION', JSON.stringify(userFilterSession));\r\n this.result = !Object.values(userFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.UserMasterData = new MatTableDataSource(resp);\r\n this.UserMasterData.sort = this.sort;\r\n this.UserMasterData.paginator = this.paginator;\r\n this.totalRecords = this.UserMasterData.filteredData.length;\r\n this.showLoading = false;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete Function\r\n onDelete = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this user?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.userProfileService.deleteUserById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n })\r\n }\r\n\r\n roleList: any = [];\r\n\r\n organizationsList: any = [];\r\n\r\n // organizationsList\r\n getAllOrganizations = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n this.organizationsList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // organizationsList\r\n getAllRole = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getRoleList(headers).subscribe(resp => {\r\n this.roleList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Lock unlock Function\r\n lockUnlock = function (status, profileid) {\r\n debugger;\r\n if (status == 'LOCK') {\r\n this.DeleteMsg = 'Are you sure you want to lock this user?';\r\n }\r\n if (status == 'UNLOCK') {\r\n this.DeleteMsg = 'Are you sure you want to unlock this user?';\r\n }\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.userProfileService.getlockUnlock(status, profileid, headers).subscribe(resp => {\r\n debugger;\r\n this.successMessage = 'Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n })\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.userEdit = this._global.UserRights.includes(\"Manage_User_EDIT\");\r\n this.userView = this._global.UserRights.includes(\"Manage_User_VIEW\");\r\n this.userDelete = this._global.UserRights.includes(\"Manage_User_DELETE\");\r\n this.userAdd = this._global.UserRights.includes(\"Manage_User_ADD\");\r\n this.getAllOrganizations();\r\n this.getAllRole();\r\n //Assign Filter\r\n let userFilterSession = JSON.parse(sessionStorage.getItem('USERFILTERSESSION'));\r\n if (sessionStorage.getItem('USERFILTERSESSION') != null) {\r\n this.FilterData.fullName = userFilterSession.fullName;\r\n this.FilterData.employeeCode = userFilterSession.employeeCode;\r\n this.FilterData.roles = userFilterSession.roles;\r\n this.FilterData.organizations = userFilterSession.organizations;\r\n this.FilterData.emailId = userFilterSession.emailId;\r\n this.FilterData.mobileNumber = userFilterSession.mobileNumber;\r\n }\r\n if (userFilterSession != null) {\r\n this.result = !Object.values(userFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{RoleData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{organizationsData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Full Name/ Designation \r\n
{{UserMasterData.firstName}}\r\n {{UserMasterData.lastName}}
\r\n
{{UserMasterData.designation}}
\r\n
Email / Mobile \r\n
{{UserMasterData.emailId}}
\r\n
{{UserMasterData.mobileNumber}}
\r\n
Address \r\n
{{UserMasterData.address}}
\r\n\r\n
Emp. Code / DOJ \r\n
{{UserMasterData.employeeCode}}
\r\n
{{UserMasterData.doj | date:'dd-MM-yyyy'}}
\r\n
Action \r\n \r\n \r\n \r\n visibility View\r\n \r\n \r\n edit Edit\r\n \r\n \r\n edit Projects\r\n \r\n \r\n\r\n \r\n \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 { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders, HttpEvent, HttpErrorResponse, HttpEventType } from \"@angular/common/http\";\r\nimport { map } from 'rxjs/operators';\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserProfileService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveUser(body, header, flag) {\r\n var url = this._global.baseAPIUrl + 'ipms/user';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n updateProfile(body, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/userprofile';\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n updateAdminRight(body, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/admin';\r\n return this._http.put(url, body, { headers: header });\r\n\r\n}\r\n\r\n userList(body, header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/profileByFilter';\r\n return this._http.post(url, body, { headers: header });\r\n\r\n }\r\n\r\n findUserById(id, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getlockUnlock(status, profileid, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/lockUnlockProfile/'+status+'/'+profileid;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteUserById(id, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/' + id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { CurrencyMasterService } from './currency-master.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-currency-master',\r\n templateUrl: './currency-master.component.html',\r\n providers: [CurrencyMasterService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class CurrencyMasterComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private currencyMasterService: CurrencyMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['currencyName', 'currencySymbol', 'action'];\r\n\r\n CurrencyMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Currency Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n CurrencyData = {\r\n \"currencyName\": null, \"currencySymbol\": null, \"organisationId\": null };\r\n addCurrencyMasterForm: FormGroup;\r\n isSubmitted = false;\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.CurrencyData = {};\r\n this.PageTitle = \"Currency Master\";\r\n }\r\n\r\n clear = function () {\r\n this.CurrencyData = {};\r\n this.search();\r\n }\r\n\r\n FilterData = {\"currencyName\": null, \"currencySymbol\": null, \"organisationId\": null};\r\n\r\n // Add / update function\r\n addCurrency = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addCurrencyMasterForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.currencyMasterService.saveCurrency(this.CurrencyData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Currency \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.CurrencyData = {};\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.currencyMasterService.currencyList(this.CurrencyData, headers).subscribe(resp => {\r\n debugger;\r\n this.CurrencyMasterData = new MatTableDataSource(resp);\r\n this.CurrencyMasterData.sort = this.sort;\r\n this.CurrencyMasterData.paginator = this.paginator;\r\n this.totalRecords = this.CurrencyMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete function\r\n onDelete = function (currencyName, isDeleted) {\r\n debugger;\r\n if(isDeleted){\r\n this.DeleteMsg = 'Are you sure you want to activate this currency?';\r\n } else {\r\n this.DeleteMsg = 'Are you sure you want to deactivate this currency?';\r\n }\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.currencyMasterService.deleteCurrencyById(currencyName, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n if(isDeleted){\r\n this.successMessage = 'Currency activated.';\r\n } else {\r\n this.successMessage = 'Currency de-activated.';\r\n }\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addCurrencyMasterForm = this.formBuilder.group({\r\n currencyName: [null, Validators.required],\r\n currencySymbol: [null, Validators.required],\r\n organisationId: [null]\r\n });\r\n this.search();\r\n }\r\n get formControls() { return this.addCurrencyMasterForm.controls; }\r\n}\r\n\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Currency name\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Currency\r\n symbol required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Currency Name \r\n {{CurrencyMasterData.currencyName}} Currency Symbol \r\n {{CurrencyMasterData.currencySymbol}} Action \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CurrencyMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveCurrency(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/currencyMaster';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/currencyMaster/'+body.currencyName;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n currencyList(body,header ) {\r\n \r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/currencyMaster/currencyByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n \r\n }\r\n \r\n\r\nCurrencyById(categoryName, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/currencyMaster/'+categoryName;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteCurrencyById(currencyName, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/currencyMaster/'+currencyName;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n\r\n}","export class TicketFilterSession {\r\n ticketNo: string;\r\n priority: string;\r\n accountName: string;\r\n state:string;\r\n district:string;\r\n location:string;\r\n assetid:string;\r\n ticketStatus:string;\r\n}\r\n\r\nexport class TicketMISFilterSession {\r\n ticketNo: string;\r\n priority: string;\r\n accountName: string;\r\n state:string;\r\n district:string;\r\n location:string;\r\n fromDate:string;\r\n toDate:string;\r\n ticketStatus:string;\r\n}\r\n\r\nexport class TicketSLAFilterSession {\r\n ticketNo: string;\r\n priority: string;\r\n accountName: string;\r\n fromDate:string;\r\n toDate:string;\r\n}\r\n\r\nexport class TicketAgingFilterSession {\r\n ticketNo: string;\r\n priority: string;\r\n accountName: string;\r\n ticketStatus:string;\r\n vendorName:string;\r\n}\r\n\r\nexport class VehicleFilterSession {\r\n vehicleType: string;\r\n vehicleName: string;\r\n vehicleRegNumber: string;\r\n}\r\n\r\nexport class SupportFilterSession {\r\n firstName: string;\r\n lastName: string;\r\n employeeId: string;\r\n}\r\nexport class IncidentFilterSession {\r\n ticketNo: string;\r\n priority: string;\r\n accountName: string;\r\n state: string;\r\n district: string;\r\n fromDate: string;\r\n toDate: string;\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { LicenseMasterService } from '../license-master.service';\r\n\r\n@Component({\r\n selector: 'app-add-license',\r\n templateUrl: './add-license.component.html',\r\n providers: [LicenseMasterService,AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class AddLicenseComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private licenseMasterService: LicenseMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n\r\n PageTitle = \"License Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n LicenseData = {\r\n \"licenseTag\":\"\",\"softwareName\":\"\",\"serialNo\":\"\",\"licenseToName\":\"\",\"licenseToEmail\":\"\",\"seats\":\"\",\r\n \"orderNo\":\"\",\"category\":\"\",\r\n \"subCategory\":\"\",\"purchaseDate\":\"\",\"purchaseCost\":\"\",\r\n \"depreciation\":\"\",\"warranty\":\"\",\"eol\":\"\",\"uploadedAttachment\":null,\"notes\":\"\"\r\n };\r\n \r\n categoryList : any = []; \r\n subcategoryList : any = []; \r\n uploadFiles : any = []; \r\n \r\n eolList={};\r\n\r\n addLicenseMasterForm: FormGroup;\r\n isSubmitted = false;\r\n \r\n\r\n back = function () {\r\n this.router.navigate(['/searchLicense']);\r\n }\r\n\r\n\r\n\r\n getEolList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.eolList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // Add / update function\r\n addLicense = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addLicenseMasterForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.LicenseData.purchaseDate = this.LicenseData.purchaseDate.getTime();\r\n this.LicenseData.warranty = this.LicenseData.warranty.getTime();\r\n this.showLoading = true;\r\n if (this.uploadFiles.length>0){\r\n \r\n if (!this.fileuploadService.allFilesUploaded(this.uploadFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.LicenseData.uploadedAttachment = this.fileuploadService.getFirstFilePath(this.uploadFiles); \r\n }\r\n this.licenseMasterService.saveLicense(this.LicenseData,headers,flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"License \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.LicenseData = {};\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.enabledField();\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n getActiveCategory = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n debugger;\r\n this.categoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // subcategory List from category\r\n\r\n getActiveSubCategoryfromcategory = function (name) {\r\n debugger;\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, name).subscribe(resp => {\r\n debugger;\r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n // getAllCategory = function () {\r\n // debugger;\r\n // const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n // this.showLoading = true;\r\n // this.sharedService.ActiveCategoryList(headers).subscribe(resp => {\r\n // debugger;\r\n // this.CategoryList = resp;\r\n // this.showLoading = false;\r\n // }, (error: any) => {\r\n // debugger;\r\n // this.showLoading = false;\r\n // const errStr = error.message;\r\n // this.dialogService.openConfirmDialog(errStr)\r\n // });\r\n // }\r\n\r\n // getAllSubcategory = function () {\r\n // debugger;\r\n // const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n // this.showLoading = true;\r\n // this.sharedService.getActiveSubCategory(headers).subscribe(resp => {\r\n // debugger;\r\n // this.subCategoryList = resp;\r\n // this.showLoading = false;\r\n // }, (error: any) => {\r\n // debugger;\r\n // this.showLoading = false;\r\n // const errStr = error.message;\r\n // this.dialogService.openConfirmDialog(errStr)\r\n // });\r\n // }\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n // Get data by id\r\n editon = function (id,flag) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var licenseTag = id;\r\n this.PageTitle = \"Update License Master\";\r\n this.disabledField();\r\n this.licenseMasterService.licenseById(licenseTag,headers,flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.LicenseData = resp;\r\n if (this.LicenseData.uploadedAttachment != null) {\r\n this.uploadFiles = this.fileuploadService.getSingleFileArray(this.LicenseData.uploadedAttachment);\r\n } \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addLicenseMasterForm.get('licenseTag').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addLicenseMasterForm.get('licenseTag').enable();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addLicenseMasterForm = this.formBuilder.group({\r\n licenseTag:['', Validators.required],\r\n softwareName:['', Validators.required],\r\n serialNo:['', Validators.required],\r\n licenseToName:['', Validators.required],\r\n licenseToEmail:[''],\r\n seats:['', Validators.required],\r\n orderNo:['', Validators.required],\r\n category:['', Validators.required],\r\n subCategory:[''],\r\n purchaseDate:['',Validators.required],\r\n purchaseCost:['',Validators.required],\r\n depreciation:['',Validators.required],\r\n warranty:['',Validators.required],\r\n eol:[''],\r\n uploadedAttachment:[''],\r\n notes:[''],\r\n\r\n \r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update License\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n this.getActiveCategory();\r\n \r\n this.getEolList;\r\n\r\n }\r\n get formControls() { \r\n return this.addLicenseMasterForm.controls;\r\n }\r\n \r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n Add License\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
License Tag is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Software Name is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Serial No is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
License To Name is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
License To Email is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Seat is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Order No is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ category.selectionvalue }}\r\n \r\n \r\n
\r\n
Category\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n Subcategory\r\n \r\n -Select-\r\n \r\n {{categoryData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Purchase Date\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Purchase Cost is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n Depreciation\r\n \r\n -Select-\r\n Pay-Loader\r\n \r\n\r\n \r\n
\r\n
Vehicle Type is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Warrenty Date\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n End Of Life\r\n \r\n -Select-\r\n EOL Asseus\r\n General\r\n Standard\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { LicenseMasterService } from './license-master.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-license-master',\r\n templateUrl: './license-master.component.html',\r\n providers: [LicenseMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\n\r\nexport class LicenseMasterComponent implements OnInit {\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private licenseMasterService: LicenseMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['licenseTag', 'licenseToName', 'serialNo', 'action'];\r\n LicenseMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"License List\";\r\n filterDiv: boolean = false;\r\n licenceAdd: boolean = false;\r\n licenceEdit: boolean = false;\r\n licenceView: boolean = false;\r\n licenceDelete: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.LicenseMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addLicense = function () { \r\n this.router.navigate(['/LicenseMaster']);\r\n }\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n\r\n cancel = function () { \r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n onDelete = function (licenseTag) { \r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.licenseMasterService.deleteLicenseByTag(licenseTag, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.dialogService.openConfirmDialog(obj.message)\r\n });\r\n }\r\n })\r\n }\r\n\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.licenseMasterService.getLicenseList(headers).subscribe(resp => {\r\n this.LicenseMasterData = new MatTableDataSource(resp);\r\n this.LicenseMasterData.sort = this.sort;\r\n this.LicenseMasterData.paginator = this.paginator;\r\n this.totalRecords = this.LicenseMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.licenceAdd = this._global.UserRights.includes(\"Licence_Master_ADD\");\r\n this.licenceEdit = this._global.UserRights.includes(\"Licence_Master_EDIT\");\r\n this.licenceView = this._global.UserRights.includes(\"Licence_Master_VIEW\");\r\n this.licenceDelete = this._global.UserRights.includes(\"Licence_Master_DELETE\");\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
License Tag \r\n {{LicenseMasterData.licenseTag}}\r\n License To Name \r\n {{LicenseMasterData.licenseToName}}\r\n Serial No \r\n {{LicenseMasterData.serialNo}}\r\n Action \r\n\r\n\r\n \r\n\r\n\r\n\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LicenseMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveLicense(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/licensemaster';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/licensemaster/'+body.licenseTag;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getLicenseList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/licensemaster';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\n \r\n\r\nlicenseById(licenseTag, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/licensemaster/'+licenseTag;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteLicenseByTag(licenseTag, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/licensemaster/'+licenseTag;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n}\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { SupportTeamService } from '../support-team.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-add-support-team',\r\n templateUrl: './add-support-team.component.html',\r\n providers: [SupportTeamService,AppGlobals, DialogService, SharedService,FileuploadService]\r\n\r\n})\r\nexport class AddSupportTeamComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private supportTeamService: SupportTeamService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,private fileuploadService: FileuploadService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Add Support\";\r\n\r\n supportIdFiles: any = [];\r\n supportAddressFiles: any = [];\r\n \r\n\r\n\r\n add = true;\r\n edit = false;\r\n list = true;\r\n SupportTeamData = {\r\n \"firstName\":\"\",\"lastName\":\"\",\"vehicleSupportType\":\"\",\"address\":\"\",\"pincode\":\"\",\r\n \"state\":\"\",\"district\":\"\",\"usid\":\"\",\r\n \"serviceStartDate\":\"\",\"idProof\":\"\",\"addressProof\":\"\",\r\n \"employeeId\":\"\"\r\n };\r\n\r\n\r\n stateList:any = [];\r\n districtList:any = [];\r\n locationList:any = [];\r\n \r\n \r\n\r\n\r\n addSupportTeamForm: FormGroup;\r\n isSubmitted = false;\r\n \r\n\r\n back = function () {\r\n this.router.navigate(['/searchDriver']);\r\n }\r\n\r\n getAllState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // districtL List\r\n\r\n getAllDistrictByState = function (stateName) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDistrictList(headers, stateName).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n\r\n\r\n getActiveLocationsFromDistrict = function (district) {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveLocationsFromDistrict(headers, district).subscribe(resp => {\r\n // debugger;\r\n this.locationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n// Add / update function\r\naddSupportTeam = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addSupportTeamForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n //If mandatory then check for atleast one fileuploaded\r\n // if (!this.fileuploadService.hasfile(this.supportIdFiles)) {\r\n // this.dialogService.openConfirmDialog(\"Please uplaod profile pic\")\r\n // return;\r\n // }\r\n\r\n // if (!this.fileuploadService.hasfile(this.supportAddressFiles)) {\r\n // this.dialogService.openConfirmDialog(\"Please uplaod profile pic\")\r\n // return;\r\n // }\r\n //Check if all files are uploaded Successfully\r\n if (this.supportIdFiles.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.supportIdFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.SupportTeamData = this.fileuploadService.getFirstFilePath(this.supportIdFiles);\r\n }\r\n if (this.supportAddressFiles.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.supportAddressFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.SupportTeamData.addressProof = this.fileuploadService.getFirstFilePath(this.supportAddressFiles);\r\n }\r\n \r\n this.SupportTeamData.serviceStartDate = this.SupportTeamData.serviceStartDate.getTime();\r\n this.showLoading = true;\r\n \r\n this.supportTeamService.saveSupportTeam(this.SupportTeamData,headers,flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Support Team \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n\r\n this.addSupportTeamForm.reset();\r\n if (flag == 'update' || 'save') {\r\n this.router.navigate(['/searchDriver']);\r\n }\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.SupportTeamData.serviceStartDate = (new Date(this.SupportTeamData.serviceStartDate));\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n\r\n \r\n\r\n // Get data by id\r\n editon = function (id,flag) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var entityId = id;\r\n this.PageTitle = \"Update Support Team \";\r\n this.supportTeamService.getSupportTeamByEmployeeId(entityId, headers,flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.SupportTeamData = resp;\r\n\r\n this.SupportTeamData.serviceStartDate = (new Date(this.SupportTeamData.serviceStartDate));\r\n this.getAllState();\r\n this.getAllDistrictByState(this.SupportTeamData.state);\r\n this.getActiveLocationsFromDistrict(this.SupportTeamData.district)\r\n \r\n if (this.SupportTeamData.idProof != null) {\r\n this.supportIdFiles = this.fileuploadService.getSingleFileArray(this.SupportTeamData.idProof);\r\n } \r\n\r\n if (this.SupportTeamData.addressProof != null) {\r\n this.supportAddressFiles = this.fileuploadService.getSingleFileArray(this.SupportTeamData.addressProof);\r\n } \r\n \r\n \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addSupportTeamForm = this.formBuilder.group({\r\n firstName:['', Validators.required],\r\n lastName:['', Validators.required],\r\n vehicleSupportType:['', Validators.required],\r\n address:[''],\r\n pincode:[''],\r\n state:[''],\r\n district:[''],\r\n usid:[''],\r\n serviceStartDate:['', Validators.required],\r\n idProof:[''],\r\n addressProof:[''],\r\n employeeId:['',Validators.required],\r\n \r\n \r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Support Team\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n\r\n this.getAllState();\r\n \r\n \r\n }\r\n get formControls() { \r\n return this.addSupportTeamForm.controls;\r\n }\r\n \r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n Add Support\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
First Name is required\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Last Name is required\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Vehicle Support Type\r\n \r\n -Select-\r\n Driver\r\n Service Engineer\r\n Support Engineer\r\n\r\n\r\n \r\n
\r\n
Vehicle Support Type is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n District\r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n USID\r\n \r\n -Select-\r\n \r\n {{locationData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Service Start Date is required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Employee Id is required\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n
\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SupportTeamService } from './support-team.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { SupportFilterSession } from '../helpdeskfilterdata';\r\n\r\n@Component({\r\n selector: 'app-support-team',\r\n templateUrl: './support-team.component.html',\r\n providers: [SupportTeamService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class SupportTeamComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private supportTeamService: SupportTeamService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['firstName', 'lastName', 'vehicleSupportType', 'usid', 'employeeId', 'serviceStartDate', 'action'];\r\n SupportTeamMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n FilterData = {\r\n \"firstName\": \"\", \"lastName\": \"\", \"employeeId\": \"\",\r\n isdeleted: false\r\n };\r\n PageTitle = \"Support Team Details\";\r\n filterDiv: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.SupportTeamMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n addSupportTeam = function () {\r\n this.router.navigate(['/addSupportTeam']);\r\n }\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"SUPPORTFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.FilterData.confirmed = true;\r\n this.supportTeamService.getSupportTeamList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n\r\n // Set Filter\r\n let supportFilterSession = new SupportFilterSession();\r\n supportFilterSession.firstName = this.FilterData.firstName;\r\n supportFilterSession.lastName = this.FilterData.lastName;\r\n supportFilterSession.employeeId = this.FilterData.employeeId;\r\n sessionStorage.setItem('SUPPORTFILTERSESSION', JSON.stringify(supportFilterSession));\r\n this.result = !Object.values(supportFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.SupportTeamMasterData = new MatTableDataSource(resp);\r\n this.SupportTeamMasterData.sort = this.sort;\r\n this.SupportTeamMasterData.paginator = this.paginator;\r\n this.totalRecords = this.SupportTeamMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n deleteVehicle = function (vehicleRegNo) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = vehicleRegNo;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.supportTeamService.deleteSupportTeam(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Support Team deleted successfully.\";\r\n this.search();\r\n // this.getActiveClassification();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n //Assign Filter\r\n let supportFilterSession = JSON.parse(sessionStorage.getItem('SUPPORTFILTERSESSION'));\r\n if (sessionStorage.getItem('SUPPORTFILTERSESSION') != null) {\r\n this.FilterData.firstName = supportFilterSession.firstName;\r\n this.FilterData.lastName = supportFilterSession.lastName;\r\n this.FilterData.employeeId = supportFilterSession.employeeId;\r\n }\r\n if (supportFilterSession != null) {\r\n this.result = !Object.values(supportFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n}\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
First Name \r\n
{{SupportTeamMasterData.firstName}}\r\n
\r\n
Last Name\r\n
{{SupportTeamMasterData.lastName}}
\r\n
Support Type\r\n
{{SupportTeamMasterData.vehicleSupportType}}
\r\n
Location \r\n
{{SupportTeamMasterData.usid}}
\r\n
Employee Id \r\n
{{SupportTeamMasterData.employeeId}}
\r\n
Joining Date \r\n
{{SupportTeamMasterData.serviceStartDate |date}}
\r\n
Action \r\n\r\n \r\n edit\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SupportTeamService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveSupportTeam(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/supportteam';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/supportteam/'+body.employeeId;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n\r\n getSupportTeamList(body,header ) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/supportteam/supportTeamByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n \r\n}\r\n\r\n \r\n\r\ngetSupportTeamByEmployeeId(employeeId, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/supportteam/'+employeeId;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteSupportTeam (employeeId, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/supportteam/'+employeeId;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n}\r\n\r\n\r\n\r\n\r\n","\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { TicketCategoryService } from './ticket-category.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-ticket-category',\r\n templateUrl: './ticket-category.component.html',\r\n providers: [TicketCategoryService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class TicketCategoryComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketCategoryService: TicketCategoryService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['categoryName', 'categoryType', 'parentCategoryId', 'action'];\r\n\r\n CategoryMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n ticketCategoryAdd: boolean = false;\r\n ticketCategoryEdit: boolean = false;\r\n ticketCategoryView: boolean = false;\r\n ticketCategoryDelete: boolean = false;\r\n\r\n FilterData = {\r\n\r\n };\r\n\r\n PageTitle = \"Ticket Category Details\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n CategoryData = {\r\n \"categoryName\": \"\", \"categoryType\": \"\", \"parentCategoryId\": null\r\n };\r\n\r\n ticketCategoryList = {};\r\n\r\n addTicketCategoryForm: FormGroup;\r\n isSubmitted = false;\r\n categoryList: any = [];\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.CategoryMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n //this.CategoryData = {};\r\n\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.PageTitle = \"Ticket Category Detais\";\r\n this.enabledField();\r\n }\r\n\r\n\r\n getAllCategory = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveCategoryList(headers).subscribe(resp => {\r\n this.ticketCategoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n getAllDistrictByState = function (name) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDistrictList(headers, name).subscribe(resp => {\r\n this.subcategoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Add / update function\r\n addCategory = function (flag) {\r\n this.isSubmitted = true;\r\n if (this.CategoryData.categoryType == \"Subcategory\") {\r\n if (this.CategoryData.parentCategoryId == null) {\r\n\r\n this.showLoading = false;\r\n const errStr = \"Parent Category is Required\"\r\n this.dialogService.openConfirmDialog(errStr)\r\n return;\r\n }\r\n }\r\n if (this.addTicketCategoryForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketCategoryService.saveCategory(this.CategoryData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Category \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.CategoryData = {};\r\n\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.getAllCategory();\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Ticket Category Details\";\r\n this.enabledField();\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n deleteCategoryData = function (name) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketCategoryService.deleteCategoryData(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Category deleted successfully.\";\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.search();\r\n //this.getActiveCategory();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n getActiveCategory = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.ticketCategoryService.getActiveCategory(headers).subscribe(resp => {\r\n this.categoryList = resp;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketCategoryService.getCategoryList(headers, this.FilterData).subscribe(resp => {\r\n this.CategoryMasterData = new MatTableDataSource(resp);\r\n this.CategoryMasterData.sort = this.sort;\r\n this.CategoryMasterData.paginator = this.paginator;\r\n this.totalRecords = this.CategoryMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (id) {\r\n //this.disabledField();\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var categoryName = id;\r\n this.PageTitle = \"Update Category\";\r\n this.ticketCategoryService.CategoyById(categoryName, headers).subscribe(resp => {\r\n\r\n this.showLoading = false;\r\n this.CategoryData = resp;\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addTicketCategoryForm.get('categoryName').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addTicketCategoryForm.get('categoryName').enable();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n //Role Rights\r\n this.ticketCategoryAdd = this._global.UserRights.includes(\"Ticket_Category_ADD\");\r\n this.ticketCategoryEdit = this._global.UserRights.includes(\"Ticket_Category_EDIT\");\r\n this.ticketCategoryView = this._global.UserRights.includes(\"Ticket_Category_VIEW\");\r\n this.ticketCategoryDelete = this._global.UserRights.includes(\"Ticket_Category_DELETE\");\r\n\r\n\r\n this.addTicketCategoryForm = this.formBuilder.group({\r\n categoryName: ['', Validators.required],\r\n categoryType: ['', Validators.required],\r\n parentCategoryId: [''],\r\n });\r\n this.search();\r\n this.getAllCategory();\r\n this.getActiveCategory();\r\n }\r\n get formControls() { return this.addTicketCategoryForm.controls; }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Ticket\r\n Category name\r\n is\r\n required
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n Ticket Category Type\r\n \r\n -Select-\r\n Category\r\n SubCategory\r\n\r\n\r\n \r\n
\r\n
Ticket\r\n Category Type is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n Ticket Parent Category\r\n \r\n -Select-\r\n \r\n {{categoryData.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Ticket Category Name \r\n {{CategoryMasterData.categoryName}} Ticket Category Type \r\n {{CategoryMasterData.categoryType}} Parent Category Name\r\n {{CategoryMasterData.parentCategoryId}} Action \r\n \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 { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TicketCategoryService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveCategory(body, header, flag) {\r\n if (flag == 'save') {\r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n if (flag == 'update') {\r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory/' + body.categoryName;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n }\r\n\r\n // getCategoryList(header) {\r\n // debugger;\r\n // var url = this._global.baseAPIUrl + 'ipms/ticketcategory/categoryByFilter';\r\n // return this._http.post(url , {headers: header});\r\n // }\r\n\r\n getCategoryList(header, body) {\r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory/categoryByFilter';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n\r\n\r\n CategoyById(categoryName, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory/' + categoryName;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteCategoryData(categoryname, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory/' + categoryname;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n getActiveCategory(header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory/getActiveCategoryList';\r\n return this._http.get(url, { headers: header });\r\n }\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { TicketClassificationService } from './ticket-classification.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-ticket-classification',\r\n templateUrl: './ticket-classification.component.html',\r\n providers: [TicketClassificationService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class TicketClassificationComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketClassificationService: TicketClassificationService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['classificationValue', 'projectname', 'action'];\r\n\r\n ClassificationMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n ticketClassificationsAdd: boolean = false;\r\n ticketClassificationsEdit: boolean = false;\r\n ticketClassificationsView: boolean = false;\r\n ticketClassificationsDelete: boolean = false;\r\n FilterData = {\r\n\r\n };\r\n PageTitle = \"Ticket Classification\";\r\n filterDiv: boolean = false;\r\n add = true;\r\n edit = false;\r\n list = true;\r\n ClassificationData = {\r\n \"classificationValue\": \"\", \"projectId\": null\r\n };\r\n\r\n projectList: any = [];\r\n\r\n addTicketClassificationForm: FormGroup;\r\n isSubmitted = false;\r\n classificationList: any = [];\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ClassificationMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n\r\n // cancel = function () {\r\n // this.list = true;\r\n // this.edit = false;\r\n // this.ClassificationData = {};\r\n // this.filterDiv = false;\r\n // this.FilterData = {};\r\n\r\n // this.PageTitle = \"Classification Master\";\r\n // }\r\n\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.ClassificationData = {};\r\n this.PageTitle = \"Classification Master\";\r\n this.enabledField();\r\n }\r\n\r\n\r\n // cancel = function () {\r\n // debugger;\r\n // this.filterDiv = false;\r\n // this.FilterData = {};\r\n // }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name == o2.name && o1.id == o2.id;\r\n }\r\n\r\n //get all project list\r\n getProjectList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Add / update function\r\n addClassification = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addTicketClassificationForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketClassificationService.saveClassification(this.ClassificationData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Classification \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addTicketClassificationForm.reset();\r\n this.ClassificationData = {};\r\n\r\n this.search();\r\n this.getActiveClassification();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.enabledField();\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n deleteClassificationData = function (name) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketClassificationService.deleteClassificationData(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Classification deleted successfully.\";\r\n this.search();\r\n // this.getActiveClassification();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n getActiveClassification = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.ticketClassificationService.getActiveClassification(headers).subscribe(resp => {\r\n debugger;\r\n this.classificationList = resp;\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n // this.FilterData.confirmed = true;\r\n\r\n this.ticketClassificationService.getClassificationList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.ClassificationMasterData = new MatTableDataSource(resp);\r\n this.ClassificationMasterData.sort = this.sort;\r\n this.ClassificationMasterData.paginator = this.paginator;\r\n this.totalRecords = this.ClassificationMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (id) {\r\n debugger;\r\n this.disabledField();\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var classificationValue = id;\r\n this.PageTitle = \"Update Classification\";\r\n this.ticketClassificationService.classificationById(classificationValue, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ClassificationData = resp;\r\n //this.getProjectList(this.ClassificationData.projectname)\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addTicketClassificationForm.get('classificationValue').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addTicketClassificationForm.get('classificationValue').enable();\r\n }\r\n ngOnInit(): void {\r\n\r\n\r\n //Role Rights\r\n this.ticketClassificationsAdd = this._global.UserRights.includes(\"Ticket_Classifications_ADD\");\r\n this.ticketClassificationsEdit = this._global.UserRights.includes(\"Ticket_Classifications_EDIT\");\r\n this.ticketClassificationsView = this._global.UserRights.includes(\"Ticket_Classifications_VIEW\");\r\n this.ticketClassificationsDelete = this._global.UserRights.includes(\"Ticket_Classifications_DELETE\");\r\n\r\n\r\n\r\n this.addTicketClassificationForm = this.formBuilder.group({\r\n classificationValue: ['', Validators.required],\r\n projectId: ['', Validators.required]\r\n });\r\n this.search();\r\n this.getProjectList();\r\n this.getActiveClassification();\r\n\r\n }\r\n get formControls() { return this.addTicketClassificationForm.controls; }\r\n}\r\n\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Classfication Name\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Project Name\r\n \r\n -Select-\r\n \r\n {{projectData.selectionvalue}}\r\n \r\n
\r\n
Project Name is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Classification Name \r\n {{ClassificationMasterData.classificationValue}} Project Name \r\n {{ClassificationMasterData.projectname}} Action \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TicketClassificationService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveClassification(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getClassificationList(body,header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification/classificationByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\n \r\n\r\nclassificationById(classificationValue, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification/'+classificationValue;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteClassificationData (classification, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification/'+classification;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\ngetActiveClassification(header) {\r\n \r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification/getActiveClassificationList';\r\n return this._http.get(url , {headers: header});\r\n}\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { TicketMasterService } from '../ticket-master.service';\r\nimport { TicketTaskService } from '../ticket-task/ticket-task.service';\r\nimport { LocationService } from '../../../UniqueSiteId/location/location.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-add-ticket',\r\n templateUrl: './add-ticket.component.html',\r\n providers: [TicketMasterService, AppGlobals, DialogService, SharedService, FileuploadService, TicketTaskService, LocationService]\r\n})\r\nexport class AddTicketComponent implements OnInit {\r\n\r\n\r\n maxDateDisabled: string;\r\n \r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketMasterService: TicketMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService,\r\n private taskService: TicketTaskService, private locationService: LocationService) { }\r\n\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n showLoading: boolean = false;\r\n BackToTask: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n PageTitle = \"Ticket Master\";\r\n add = true;\r\n edit = false;\r\n view = false;\r\n TicketData = {\r\n \"ticketNo\": \"\", \"otherProblemDescription\": \"\", \"accountName\": null, \"district\": \"\", \"state\": \"\", \"location\": \"\",\r\n \"category\": \"\", \"subCategory\": \"\", \"description\": null, \"attachment\": \"\", \"ticketOwner\": null,\r\n \"ticketType\": \"\", \"ticketTitle\": \"\", \"contactName\": \"\", \"channel\": \"\", \"email\": \"\", \"phone\": \"\",\r\n \"dueDate\": \"\", \"resolutionDate\": \"\", \"assignTo\": null, \"assetid\": null, \"ticketStatus\": null, \"ticketClosedTime\": \"\",\r\n \"classifications\": null, \"department\": null, \"ticketCategory\": null, \"ticketSubcategory\": null, \"resolution\": \"\", \"priority\": null\r\n };\r\n state = null;\r\n contactEmail = null;\r\n assettag = null;\r\n ticketAttachment: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n locationList: any = [];\r\n assetList: any = [];\r\n assetTagList: any = [];\r\n taskHistoryList: any = [];\r\n classifications: any = [];\r\n departmentList: any = [];\r\n projectList: any = [];\r\n problemReportList: any = [];\r\n classificationList: any = [];\r\n userList: any = [];\r\n\r\n emailAndPhone = {};\r\n mobileNo: String = '';\r\n ticketCategoryList: any = [];\r\n subCategoryList: any = [];\r\n BackToMis: boolean = false;\r\n BackToSla: boolean = false;\r\n BackToInc: boolean = false;\r\n BackToAge: boolean = false;\r\n BackToEsc: boolean = false;\r\n\r\n addTicketMasterForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n debugger;\r\n if (this.BackToTask == true) {\r\n this.router.navigate(['/searchTicketAction']);\r\n }\r\n else if (this.BackToAge == true) {\r\n this.router.navigate(['/AgingReport']);\r\n }\r\n else if (this.BackToEsc == true) {\r\n this.router.navigate(['/TicketEscalationReport']);\r\n }\r\n else if (this.BackToInc == true) {\r\n this.router.navigate(['/TicketIncidentReport']);\r\n }\r\n else if (this.BackToSla == true) {\r\n this.router.navigate(['/TicketSLAReport']);\r\n }\r\n else if (this.BackToMis == true) {\r\n this.router.navigate(['/AllTicketReport']);\r\n }\r\n else {\r\n this.router.navigate(['/searchTicket']);\r\n }\r\n }\r\n\r\n getAllState = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // districtL List\r\n getAllDistrictByState = function (stateName) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDistrictList(headers, stateName).subscribe(resp => {\r\n this.districtList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getActiveLocationsFromDistrict = function (district) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveLocationsFromDistrict(headers, district).subscribe(resp => {\r\n this.locationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n onLocation = function (location) {\r\n this.getAssetByLocation(location);\r\n }\r\n\r\n getAssetByLocation = function (location) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAssetByLocation(headers, location).subscribe(resp => {\r\n this.assetList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllDepartment = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n this.departmentList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //get all project list\r\n getProjectList = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getDataByProject = function (project) {\r\n this.getClassificationByProject(project);\r\n this.getProblemByProject(project);\r\n }\r\n\r\n getClassificationByProject = function (project) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketMasterService.getClassificationByProject(headers, project).subscribe(resp => {\r\n debugger;\r\n this.classificationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getProblemByProject = function (project) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketMasterService.getProblemByProject(headers, project).subscribe(resp => {\r\n debugger;\r\n this.problemReportList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //get all profile list\r\n getAllUser = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveUserList(headers).subscribe(resp => {\r\n this.userList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getEmailByAssignName = function (id) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getEmailByUserProfielName(headers, id).subscribe(resp => {\r\n this.emailAndPhone = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getMobileNoByUserProfile = function (name) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getMobileNoByUserProfile(headers, name).subscribe(resp => {\r\n this.mobileNo = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllCategory = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveCategoryList(headers).subscribe(resp => {\r\n this.ticketCategoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllSubcategoryByCategory = function (name) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketMasterService.getSubcategoryByCategory(headers, name).subscribe(resp => {\r\n this.subCategoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAssetById = function (id) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAssetById(headers, id).subscribe(resp => {\r\n this.showLoading = false;\r\n this.asset = resp;\r\n this.TicketData.category = this.asset.category;\r\n this.TicketData.subCategory = this.asset.subcategory;\r\n this.assettag = this.asset.assettag;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getUserProfileById = function (id) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getUserProfileById(headers, id).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.userProfileList = resp;\r\n this.contactEmail = this.userProfileList.emailId;\r\n this.mobileNo = this.userProfileList.mobileNumber;\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n location = {};\r\n getLocationById = function (id) {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.locationService.findlocationById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.location = resp;\r\n this.state = this.location.state;\r\n this.getAllDistrictByState(this.state);\r\n this.getActiveLocationsFromDistrict(this.TicketData.district);\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n ticketClosedTime = null;\r\n generateCloseTime = function (time) {\r\n debugger;\r\n this.TicketData.ticketClosedTime = time;\r\n }\r\n\r\n TicketDate = function () {\r\n if (this.TicketData.ticketStatus == \"CLOSED\") {\r\n this.addTicketMasterForm.get('ticketClosedTime').enable();\r\n let localdate = new Date();\r\n let newDate = localdate.getFullYear() + \"-\" + (localdate.getMonth() + 1).toString().padStart(2, '0') + \"-\" + localdate.getDate().toString().padStart(2, '0') + \"T\" + localdate.getHours().toString().padStart(2, '0') + \":\" + localdate.getMinutes().toString().padStart(2, '0')\r\n this.ticketClosedTime = this.getFormattedDate(newDate);\r\n }\r\n else {\r\n this.addTicketMasterForm.get('ticketClosedTime').disable();\r\n this.TicketData.ticketClosedTime = \"\";\r\n }\r\n }\r\n\r\n problemChange() {\r\n this.addTicketMasterForm.get('otherProblemDescription').disable();\r\n if (this.TicketData.description != 'Other') {\r\n this.addTicketMasterForm.get('otherProblemDescription').disable();\r\n }\r\n else {\r\n if (this.view == false) {\r\n this.addTicketMasterForm.get('otherProblemDescription').enable();\r\n }\r\n }\r\n }\r\n\r\n classificationsChange(obj) {\r\n debugger;\r\n let temp: any = [];\r\n for (let i = 0; i < obj.length; i++) {\r\n if (i == 0) {\r\n temp = obj[i];\r\n }\r\n else {\r\n temp = temp + \",\" + obj[i];\r\n }\r\n }\r\n this.TicketData.classifications = temp;\r\n }\r\n\r\n // Add / update function\r\n addTicket = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addTicketMasterForm.invalid) {\r\n return;\r\n }\r\n if (this.classifications.length != 0) {\r\n this.classificationsChange(this.classifications);\r\n }\r\n if (this.TicketData.ticketStatus == 'OPEN') {\r\n if (this.TicketData.assignTo == null) {\r\n this.dialogService.openConfirmDialog(\"Assigned to is required\")\r\n return;\r\n }\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (this.ticketAttachment.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.ticketAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.TicketData.attachment = this.fileuploadService.getFirstFilePath(this.ticketAttachment);\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n let duedate = new Date(this.TicketData.dueDate);\r\n let resDate = new Date(this.TicketData.resolutionDate);\r\n let currentDate = new Date ();\r\n if (this.TicketData.ticketClosedTime != null) {\r\n if (this.TicketData.ticketClosedTime != \"\") {\r\n let closetime = new Date(this.TicketData.ticketClosedTime);\r\n\r\n if (duedate.getTime() > closetime.getTime()) {\r\n this.dialogService.openConfirmDialog(\"Ticket Created Date Time should be less than Ticket Closed Date Time \");\r\n return;\r\n }\r\n\r\n if (duedate.getTime() > currentDate.getTime()) {\r\n this.dialogService.openConfirmDialog(\"Ticket Created Date Time should be less than Current Date Time \");\r\n return;\r\n }\r\n if (closetime.getTime() > currentDate.getTime()) {\r\n this.dialogService.openConfirmDialog(\"Ticket Closed Date Time should be less than Current Date Time \");\r\n return;\r\n }\r\n this.TicketData.ticketClosedTime = closetime.getTime();\r\n }\r\n }\r\n this.TicketData.dueDate = duedate.getTime();\r\n this.TicketData.resolutionDate = resDate.getTime();\r\n\r\n\r\n if (this.TicketData.ticketStatus == 'CLOSED') {\r\n if (this.TicketData.ticketClosedTime > this.TicketData.resolutionDate) {\r\n this.dialogService.openConfirmDialog(\"Ticket Closed Date Time is greater than SLA Resolution Date Time. Do you want to proceed.?\")\r\n .afterClosed().subscribe(res => {\r\n debugger;\r\n if (res) {\r\n this.showLoading = true;\r\n this.ticketMasterService.saveTicket(this.TicketData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Ticket \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.router.navigate(['/searchTicket']);\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TicketData.dueDate = (new Date(this.TicketData.dueDate));\r\n this.TicketData.resolutionDate = (new Date(this.TicketData.resolutionDate));\r\n this.TicketData.ticketClosedTime = (new Date(this.TicketData.ticketClosedTime));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n } else {\r\n this.TicketData.dueDate = null;\r\n this.TicketData.resolutionDate = null;\r\n this.TicketData.ticketClosedTime = null;\r\n }\r\n })\r\n } else {\r\n this.showLoading = true;\r\n this.ticketMasterService.saveTicket(this.TicketData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Ticket \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.router.navigate(['/searchTicket']);\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TicketData.dueDate = (new Date(this.TicketData.dueDate));\r\n this.TicketData.resolutionDate = (new Date(this.TicketData.resolutionDate));\r\n this.TicketData.ticketClosedTime = (new Date(this.TicketData.ticketClosedTime));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n }\r\n else {\r\n this.showLoading = true;\r\n this.ticketMasterService.saveTicket(this.TicketData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Ticket \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.router.navigate(['/searchTicket']);\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TicketData.dueDate = (new Date(this.TicketData.dueDate));\r\n this.TicketData.resolutionDate = (new Date(this.TicketData.resolutionDate));\r\n this.TicketData.ticketClosedTime = (new Date(this.TicketData.ticketClosedTime));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n }\r\n\r\n saveAsDraft = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addTicketMasterForm.invalid) {\r\n return;\r\n }\r\n if (this.classifications.length != 0) {\r\n this.classificationsChange(this.classifications);\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (this.ticketAttachment.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.ticketAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.TicketData.attachment = this.fileuploadService.getFirstFilePath(this.ticketAttachment);\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n let duedate = new Date(this.TicketData.dueDate);\r\n let resDate = new Date(this.TicketData.resolutionDate);\r\n let currentDate = new Date();\r\n if (this.TicketData.ticketClosedTime != null) {\r\n if (this.TicketData.ticketClosedTime != \"\") {\r\n let closetime = new Date(this.TicketData.ticketClosedTime);\r\n\r\n if (duedate.getTime() > closetime.getTime()) {\r\n this.dialogService.openConfirmDialog(\"Ticket Created Date Time should be less than Ticket Closed Date Time \");\r\n return;\r\n }\r\n if (duedate.getTime() > currentDate.getTime()) {\r\n this.dialogService.openConfirmDialog(\"Ticket Created Date Time should be less than Current Date Time \");\r\n return;\r\n }\r\n if (closetime.getTime() > currentDate.getTime()) {\r\n this.dialogService.openConfirmDialog(\"Ticket Closed Date Time should be less than Current Date Time \");\r\n return;\r\n }\r\n this.TicketData.ticketClosedTime = closetime.getTime();\r\n }\r\n }\r\n this.TicketData.dueDate = duedate.getTime();\r\n this.TicketData.resolutionDate = resDate.getTime();\r\n\r\n this.showLoading = true;\r\n this.ticketMasterService.saveAsDraft(this.TicketData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Ticket saved as draft successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addTicketMasterForm.reset();\r\n this.TicketData = {};\r\n //this.search();\r\n this.router.navigate(['/searchTicket']);\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TicketData.dueDate = (new Date(this.TicketData.dueDate));\r\n this.TicketData.resolutionDate = (new Date(this.TicketData.resolutionDate));\r\n this.TicketData.ticketClosedTime = (new Date(this.TicketData.ticketClosedTime));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updateTicketData = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addTicketMasterForm.invalid) {\r\n return;\r\n }\r\n if (this.classifications.length != 0) {\r\n this.classificationsChange(this.classifications);\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (this.ticketAttachment.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.ticketAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.TicketData.attachment = this.fileuploadService.getFirstFilePath(this.ticketAttachment);\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n let duedate = new Date(this.TicketData.dueDate);\r\n let resDate = new Date(this.TicketData.resolutionDate);\r\n if (this.TicketData.ticketClosedTime != null) {\r\n if (this.TicketData.ticketClosedTime != \"\") {\r\n let closetime = new Date(this.TicketData.ticketClosedTime);\r\n\r\n if (duedate.getTime() > closetime.getTime()) {\r\n this.dialogService.openConfirmDialog(\"Ticket Created Date Time should be less than Ticket Closed Date Time \");\r\n return;\r\n }\r\n this.TicketData.ticketClosedTime = closetime.getTime();\r\n }\r\n }\r\n this.TicketData.dueDate = duedate.getTime();\r\n this.TicketData.resolutionDate = resDate.getTime();\r\n\r\n\r\n this.showLoading = true;\r\n this.ticketMasterService.updateTicketData(this.TicketData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Ticket updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addTicketMasterForm.reset();\r\n this.TicketData = {};\r\n this.router.navigate(['/searchTicket']);\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TicketData.dueDate = (new Date(this.TicketData.dueDate));\r\n this.TicketData.resolutionDate = (new Date(this.TicketData.resolutionDate));\r\n this.TicketData.ticketClosedTime = (new Date(this.TicketData.ticketClosedTime));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n generateSLADateTime = function () {\r\n debugger\r\n let createdDate = this.TicketData.dueDate;\r\n this.TicketData.resolutionDate = new Date(createdDate);\r\n this.TicketData.resolutionDate.setHours(this.TicketData.resolutionDate.getHours() + 4);\r\n }\r\n\r\n closedFlag: Boolean = false;\r\n draftFlag: Boolean = true;\r\n\r\n // Get data by id\r\n editon = function (entityId, flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var entityId = entityId;\r\n this.PageTitle = \"Update Ticket Master\";\r\n this.ticketMasterService.ticketById(entityId, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TicketData = resp;\r\n\r\n if (this.TicketData.ticketStatus != 'DRAFT') {\r\n this.draftFlag = false;\r\n }\r\n\r\n if (this.TicketData.ticketStatus != 'CLOSED') {\r\n this.closedFlag = true;\r\n }\r\n // this.TicketData.dueDate = (new Date(this.TicketData.dueDate));\r\n let createdDate = this.TicketData.dueDate;\r\n this.TicketData.dueDate = this.getFormattedDate(createdDate);\r\n //.slice(0, 16);\r\n if (this.TicketData.ticketClosedTime > 0) {\r\n let ticketClosedTime = this.TicketData.ticketClosedTime;\r\n this.TicketData.ticketClosedTime = this.getFormattedDate(ticketClosedTime);\r\n }\r\n else {\r\n this.TicketData.ticketClosedTime = null;\r\n }\r\n\r\n this.TicketData.resolutionDate = (new Date(this.TicketData.resolutionDate));\r\n // this.TicketData.ticketClosedTime = (new Date(this.TicketData.ticketClosedTime));\r\n this.getLocationById(this.TicketData.location);\r\n this.getAssetByLocation(this.TicketData.location);\r\n this.getAssetById(this.TicketData.assetid);\r\n this.getProblemByProject(this.TicketData.accountName);\r\n this.getUserProfileById(this.TicketData.assignTo);\r\n this.getAllSubcategoryByCategory(this.TicketData.ticketCategory);\r\n this.getClassificationByProject(this.TicketData.accountName);\r\n this.problemChange();\r\n if (this.TicketData.classifications != null) {\r\n debugger;\r\n let classificationTemp = [];\r\n var splitted = this.TicketData.classifications.split(\",\");\r\n this.classifications = splitted;\r\n\r\n }\r\n if (this.TicketData.attachment != null) {\r\n this.ticketAttachment = this.fileuploadService.getSingleFileArray(this.TicketData.attachment);\r\n }\r\n //this.getEmailByAssignName(this.TicketData.assignName)\r\n //this.getMobileNoByUserProfile(this.TicketData.assignName)\r\n if (flag == 'edit') {\r\n this.edit = true;\r\n this.view = false;\r\n }\r\n else {\r\n this.edit = false;\r\n this.view = true;\r\n\r\n this.getHistoryDataById(this.TicketData.ticketNo);\r\n }\r\n\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getFormattedDate(datemilli) {\r\n debugger;\r\n let localdate = new Date(datemilli);\r\n return localdate.getFullYear() + \"-\" + (localdate.getMonth() + 1).toString().padStart(2, '0') + \"-\" + localdate.getDate().toString().padStart(2, '0') + \"T\" + localdate.getHours().toString().padStart(2, '0') + \":\" + localdate.getMinutes().toString().padStart(2, '0')\r\n }\r\n\r\n maxDateMethod() {\r\n let maxDate: string = new Date().toISOString();\r\n this.maxDateDisabled = this.getFormattedDate(maxDate);\r\n return;\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name == o2.name && o1.id == o2.id;\r\n }\r\n\r\n compareUser(o1: any, o2: any): boolean {\r\n return o1 == o2;\r\n }\r\n\r\n getHistoryDataById = function (entityId) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getHistoryDataById(entityId, headers).subscribe(resp => {\r\n debugger;\r\n this.taskHistoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n disableFields = function () {\r\n\r\n this.addTicketMasterForm.get('otherProblemDescription').disable();\r\n this.addTicketMasterForm.get('accountName').disable();\r\n this.addTicketMasterForm.get('state').disable();\r\n this.addTicketMasterForm.get('district').disable();\r\n this.addTicketMasterForm.get('location').disable();\r\n this.addTicketMasterForm.get('assetid').disable();\r\n this.addTicketMasterForm.get('assettag').disable();\r\n this.addTicketMasterForm.get('category').disable();\r\n this.addTicketMasterForm.get('subCategory').disable();\r\n this.addTicketMasterForm.get('description').disable();\r\n this.addTicketMasterForm.get('attachment').disable();\r\n this.addTicketMasterForm.get('ticketOwner').disable();\r\n this.addTicketMasterForm.get('ticketType').disable();\r\n this.addTicketMasterForm.get('ticketTitle').disable();\r\n this.addTicketMasterForm.get('contactName').disable();\r\n this.addTicketMasterForm.get('channel').disable();\r\n this.addTicketMasterForm.get('email').disable();\r\n this.addTicketMasterForm.get('phone').disable();\r\n this.addTicketMasterForm.get('dueDate').disable();\r\n this.addTicketMasterForm.get('resolutionDate').disable();\r\n this.addTicketMasterForm.get('assignName').disable();\r\n this.addTicketMasterForm.get('contactEmail').disable();\r\n this.addTicketMasterForm.get('mobileNo').disable();\r\n this.addTicketMasterForm.get('ticketStatus').disable();\r\n this.addTicketMasterForm.get('ticketClosedTime').disable();\r\n this.addTicketMasterForm.get('ticketCategory').disable();\r\n this.addTicketMasterForm.get('ticketSubcategory').disable();\r\n this.addTicketMasterForm.get('department').disable();\r\n this.addTicketMasterForm.get('classifications').disable();\r\n this.addTicketMasterForm.get('resolution').disable();\r\n this.addTicketMasterForm.get('ticketNo').disable();\r\n this.addTicketMasterForm.get('priority').disable();\r\n }\r\n\r\n url: string = null;\r\n hasRole: Boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.maxDateMethod();\r\n this.getAllState();\r\n this.getAllDepartment();\r\n this.getProjectList();\r\n //this.getAllProblemList();\r\n //this.getAllClassificationList();\r\n this.getAllUser();\r\n this.getAllCategory();\r\n\r\n this.addTicketMasterForm = this.formBuilder.group({\r\n ticketNo: [''],\r\n otherProblemDescription: ['', Validators.required],\r\n accountName: ['', Validators.required],\r\n state: ['', Validators.required],\r\n district: ['', Validators.required],\r\n location: ['', Validators.required],\r\n assetid: [null, Validators.required],\r\n assettag: [''],\r\n category: [''],\r\n subCategory: [''],\r\n description: ['', Validators.required],\r\n attachment: [''],\r\n ticketOwner: ['', Validators.required],\r\n ticketType: ['', Validators.required],\r\n ticketTitle: ['', Validators.required],\r\n contactName: ['', Validators.required],\r\n channel: ['', Validators.required],\r\n email: [''],\r\n phone: [''],\r\n dueDate: ['', Validators.required],\r\n resolutionDate: ['', Validators.required],\r\n assignName: [''],\r\n contactEmail: [''],\r\n mobileNo: [''],\r\n ticketStatus: [''],\r\n ticketClosedTime: [''],\r\n ticketCategory: ['', Validators.required],\r\n ticketSubcategory: ['', Validators.required],\r\n department: [''],\r\n classifications: [null],\r\n resolution: ['', Validators.required],\r\n priority: [''],\r\n\r\n });\r\n this.addTicketMasterForm.get('resolutionDate').disable();\r\n this.addTicketMasterForm.get('otherProblemDescription').disable();\r\n\r\n this.hasRole = this._global.UserRights.includes(\"ROLE_CHM\");\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Ticket\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n }\r\n if (this.route.snapshot.params.page == 'view') {\r\n this.PageTitle = \"View Ticket\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n this.disableFields();\r\n }\r\n if (this.route.snapshot.params.page == 'viewTask') {\r\n this.PageTitle = \"View Ticket\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n this.disableFields();\r\n this.BackToTask = true;\r\n }\r\n if (this.route.snapshot.params.page == 'slaView') {\r\n this.PageTitle = \"View Ticket\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n this.disableFields();\r\n this.BackToSla = true;\r\n }\r\n if (this.route.snapshot.params.page == 'incView') {\r\n this.PageTitle = \"View Ticket\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n this.disableFields();\r\n this.BackToInc = true;\r\n }\r\n if (this.route.snapshot.params.page == 'escView') {\r\n this.PageTitle = \"View Ticket\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n this.disableFields();\r\n this.BackToEsc = true;\r\n }\r\n if (this.route.snapshot.params.page == 'ageView') {\r\n this.PageTitle = \"View Ticket\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n this.disableFields();\r\n this.BackToAge = true;\r\n }\r\n if (this.route.snapshot.params.page == 'misView') {\r\n this.PageTitle = \"View Ticket\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n this.disableFields();\r\n this.BackToMis = true;\r\n }\r\n\r\n if (this.route.snapshot.params.page == null) {\r\n this.TicketData.ticketOwner = sessionStorage.getItem(\"userEntityId\");\r\n }\r\n\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n\r\n this.TicketData.district = district;\r\n this.TicketData.state = state;\r\n this.getAllDistrictByState(state);\r\n this.addTicketMasterForm.get('district').disable();\r\n this.addTicketMasterForm.get('state').disable();\r\n this.getActiveLocationsFromDistrict(district);\r\n }\r\n //this.getAllSubcategoryByCategory(name); \r\n this.url = this._global.baseUrl;\r\n }\r\n get formControls() {\r\n return this.addTicketMasterForm.controls;\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n Ticket Creation Details\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Ticket Title is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Account Name\r\n \r\n -Select-\r\n \r\n {{projectData.selectionvalue}}\r\n \r\n
\r\n
Account Name\r\n is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n District\r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n
\r\n
District is\r\n required\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Unique Site Id\r\n \r\n -Select-\r\n \r\n {{locationData.selectionvalue}}\r\n \r\n
\r\n
Unique Site Id is\r\n required\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Asset Name\r\n \r\n -Select-\r\n \r\n {{assetData.selectionvalue}}\r\n \r\n
\r\n
Asset Name is\r\n required\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Problem Report\r\n \r\n -Select-\r\n \r\n {{problemReportData.selectionvalue}}\r\n \r\n
\r\n
Problem Report\r\n is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Other\r\n Problem Description is\r\n required
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n Ticket Logging Details\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Ticket Owner\r\n \r\n -Select-\r\n \r\n {{userData.selectionvalue}}\r\n \r\n
\r\n
Ticket Owner\r\n is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Ticket Type\r\n \r\n -Select-\r\n Incident/Breakdown\r\n \r\n Service\r\n Preventive Maintenance\r\n \r\n\r\n \r\n
\r\n
Ticket Type is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Priority\r\n \r\n -Select-\r\n High\r\n Medium\r\n Low \r\n\r\n \r\n
\r\n
Priority is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Ticket Logged\r\n By\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Mode\r\n \r\n -Select-\r\n Email\r\n Phone\r\n Facebook \r\n Twitter \r\n Chat \r\n Forums \r\n Feedback Widgets\r\n \r\n
\r\n
Mode is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n Ticket Created Date Time \r\n \r\n\r\n
\r\n
Ticket Created\r\n Date is\r\n required
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n SLA Resolution Date Time\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Assigned To\r\n \r\n -Select-\r\n \r\n {{userData.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Status\r\n \r\n -Select-\r\n OPEN\r\n CLOSED\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Status\r\n \r\n -Select-\r\n OPEN\r\n ESCALATED\r\n RESOLVED\r\n FORWARDED\r\n REASSIGNED\r\n ONHOLD\r\n CLOSED\r\n REOPENED\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n Ticket Closed Time\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Ticket Category\r\n \r\n -Select-\r\n \r\n {{categoryData.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n Subcategory\r\n \r\n -Select-\r\n \r\n {{categoryData.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Department\r\n \r\n -Select-\r\n \r\n {{departmentData.selectionvalue}}\r\n \r\n
\r\n
Department is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Classification\r\n \r\n \r\n {{classificationData.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\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\">HelpDesk/IT Comments\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 \r\n
DateActioned ByAssigned To Role / Assigned To RoleStatusRemark
\r\n
\r\n {{commentsData.createdDate |date : 'dd/MM/yyyy hh:mm:ss'}}
\r\n
{{commentsData.updatedBy}}{{commentsData.assignToRole}}\r\n \r\n / {{commentsData.assignToUser}}\r\n {{commentsData.approvalStatus}}{{commentsData.remark}}\r\n
\r\n View attachment\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n .\r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { TicketMasterService } from './ticket-master.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { TicketFilterSession } from '../helpdeskfilterdata';\r\n\r\n@Component({\r\n selector: 'app-ticket-master',\r\n templateUrl: './ticket-master.component.html',\r\n providers: [TicketMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class TicketMasterComponent implements OnInit {\r\n result: boolean = false;\r\n pageEvent: PageEvent;\r\n // ticketNumber='ticketNo';\r\n //filter = 'GSG';\r\n pageNumber: number = 1;\r\n pageSize: number = 10;\r\n //sortName = 'DESC'\r\n\r\n totalElementsRecords:number;\r\n loading:boolean =false;\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketMasterService: TicketMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['ticketNo', 'location',\r\n 'ticketType', 'ticketStatus', 'ticketOwnerName', 'createdDate', 'action'];\r\n\r\n exportColumns: string[] = ['ticketNo', 'location', 'assettag', 'serialNo', 'priority', 'category', 'subCategory',\r\n 'resolution', 'dueDate', 'ticketClosedTime', 'ticketStatus', 'ticketOwnerName', 'assignName', 'createdBy']\r\n\r\n TicketMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n TicketDataExport: any = [];\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n ticketMasterAdd: boolean = false;\r\n ticketMasterEdit: boolean = false;\r\n ticketMasterView: boolean = false;\r\n ticketMasterDelete: boolean = false;\r\n\r\n FilterData = {\r\n \"ticketNo\": null, \"priority\": null, \"accountName\": null, \"state\": null,\r\n \"district\": null, \"location\": null, \"ticketStatus\": null, \"ticketTitle\": null, \"assetid\": null\r\n };\r\n\r\n PageTitle = \"Ticket List\";\r\n filterDiv: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TicketMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addUser = function () {\r\n\r\n this.router.navigate(['/TicketMaster']);\r\n }\r\n\r\n filterFunc = function () {\r\n\r\n this.filterDiv = true;\r\n\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"TICKETFILTERSESSION\");\r\n this.result = false;\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim();\r\n this.FilterData.state = state.trim();\r\n this.getActiveDistrictFromstate(this.FilterData.state);\r\n this.getActiveLocationsFromDistrict(this.FilterData.district);\r\n this.disable = true;\r\n this.result = true;\r\n }\r\n }\r\n\r\n projectList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n locationList: any = [];\r\n assetList: any = [];\r\n\r\n getAssetByLocation = function (location) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAssetByLocation(headers, location).subscribe(resp => {\r\n this.assetList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getActiveState = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n this.stateList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // district List\r\n\r\n getActiveDistrictFromstate = function (state) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // City List\r\n\r\n getActiveLocationsFromDistrict = function (district) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveLocationsFromDistrict(headers, district).subscribe(resp => {\r\n this.locationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.FilterData.confirmed = true;\r\n debugger; \r\n this.ticketMasterService.ticketList(this.FilterData, headers, this.pageNumber, this.pageSize).subscribe(resp => {\r\n debugger;\r\n // Set Filter\r\n this.totalRecords = resp.totalElements;\r\n let ticketfilterSession = new TicketFilterSession();\r\n ticketfilterSession.ticketNo = this.FilterData.ticketNo;\r\n ticketfilterSession.priority = this.FilterData.priority;\r\n ticketfilterSession.accountName = this.FilterData.accountName;\r\n ticketfilterSession.state = this.FilterData.state;\r\n ticketfilterSession.district = this.FilterData.district;\r\n ticketfilterSession.location = this.FilterData.location;\r\n ticketfilterSession.assetid = this.FilterData.assetid;\r\n ticketfilterSession.ticketStatus = this.FilterData.ticketStatus;\r\n sessionStorage.setItem('TICKETFILTERSESSION', JSON.stringify(ticketfilterSession));\r\n this.result = !Object.values(ticketfilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.TicketMasterData = new MatTableDataSource(resp.content);\r\n this.TicketMasterData.sort = this.sort;\r\n this.showLoading = false;\r\n this.exportToExcel();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n exportToExcel = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.loading = true;\r\n this.FilterData.confirmed = true;\r\n this.ticketMasterService.ticketList(this.FilterData, headers, this.pageNumber, 5000).subscribe(resp => {\r\n this.TicketDataExport = resp.content;\r\n this.loading = false;\r\n }, (error: any) => {\r\n this.loading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // search = function () {\r\n // const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n // this.showLoading = true;\r\n // this.FilterData.confirmed = true;\r\n // debugger; \r\n // this.ticketMasterService.ticketList(headers, this.ticketNumber, this.filter, this.pageNumber, this.pageSize, this.sortName).subscribe(resp => {\r\n // debugger;\r\n // // Set Filter\r\n // this.totalRecords = resp.totalElements;\r\n // let ticketfilterSession = new TicketFilterSession();\r\n // ticketfilterSession.ticketNo = this.FilterData.ticketNo;\r\n // ticketfilterSession.priority = this.FilterData.priority;\r\n // ticketfilterSession.accountName = this.FilterData.accountName;\r\n // ticketfilterSession.state = this.FilterData.state;\r\n // ticketfilterSession.district = this.FilterData.district;\r\n // ticketfilterSession.location = this.FilterData.location;\r\n // ticketfilterSession.assetid = this.FilterData.assetid;\r\n // ticketfilterSession.ticketStatus = this.FilterData.ticketStatus;\r\n // sessionStorage.setItem('TICKETFILTERSESSION', JSON.stringify(ticketfilterSession));\r\n // this.result = !Object.values(ticketfilterSession).every(o => o === null || o === undefined);\r\n // this.filterDiv = false;\r\n // this.TicketDataExport = resp.content;\r\n // this.TicketMasterData = new MatTableDataSource(resp.content);\r\n // this.TicketMasterData.sort = this.sort;\r\n // this.showLoading = false;\r\n // }, (error: any) => {\r\n // this.showLoading = false;\r\n // const errStr = error.error.errorDetail[0];\r\n // this.dialogService.openConfirmDialog(errStr)\r\n // });\r\n // }\r\n\r\n\r\n onPaginateChange(event: PageEvent) {\r\n debugger;\r\n this.pageNumber = event.pageIndex;\r\n this.pageSize = event.pageSize;\r\n this.pageNumber = this.pageNumber + 1;\r\n this.search();\r\n\r\n }\r\n\r\n reopenTicket = function (name) {\r\n this.DeleteMsg = 'Are you sure you want to Re-open this ticket?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketMasterService.reopenTicket(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Ticket is reopened successfully.\";\r\n this.search();\r\n // this.getActiveClassification();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n hasRole: boolean = false;\r\n hasRoleCHM: boolean = false;\r\n disable: boolean = false;\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.getActiveState();\r\n this.getActiveProject();\r\n this.TicketMasterData = new MatTableDataSource();\r\n // this.TicketMasterData.sort = this.sort;\r\n this.TicketMasterData.paginator = this.paginator;\r\n \r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim();\r\n this.FilterData.state = state.trim();\r\n this.getActiveLocationsFromDistrict(this.FilterData.district);\r\n this.getActiveDistrictFromstate(this.FilterData.state);\r\n this.disable = true;\r\n }\r\n\r\n this.ticketMasterAdd = this._global.UserRights.includes(\"Ticket_Master_ADD\");\r\n this.ticketMasterEdit = this._global.UserRights.includes(\"Ticket_Master_EDIT\");\r\n this.ticketMasterView = this._global.UserRights.includes(\"Ticket_Master_VIEW\");\r\n this.ticketMasterDelete = this._global.UserRights.includes(\"Ticket_Master_DELETE\");\r\n\r\n this.hasRole = this._global.UserRights.includes(\"ROLE_ADMIN\");\r\n\r\n this.hasRoleCHM = this._global.UserRights.includes(\"ROLE_CHM\");\r\n //Assign Filter\r\n let ticketfilterSession = JSON.parse(sessionStorage.getItem('TICKETFILTERSESSION'));\r\n if (sessionStorage.getItem('TICKETFILTERSESSION') != null) {\r\n this.FilterData.ticketNo = ticketfilterSession.ticketNo;\r\n this.FilterData.priority = ticketfilterSession.priority;\r\n this.FilterData.accountName = ticketfilterSession.accountName;\r\n this.FilterData.state = ticketfilterSession.state;\r\n this.FilterData.district = ticketfilterSession.district;\r\n this.FilterData.location = ticketfilterSession.location;\r\n this.FilterData.assetid = ticketfilterSession.assetid;\r\n this.FilterData.ticketStatus = ticketfilterSession.ticketStatus;\r\n\r\n if (Object.keys(ticketfilterSession).length === 0 && ticketfilterSession.constructor === Object) {\r\n return;\r\n }\r\n else {\r\n this.search();\r\n }\r\n }\r\n if (ticketfilterSession != null) {\r\n this.result = !Object.values(ticketfilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n\r\n\r\n // this.search();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Priority\r\n \r\n -Select-\r\n High\r\n Medium\r\n Low \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ state.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ district.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ location.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n OPEN\r\n ESCALATED\r\n RESOLVED\r\n FORWARDED\r\n REASSIGNED\r\n ONHOLD\r\n CLOSED\r\n REOPENED\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Ticket No. / Title \r\n \r\n
{{TicketMasterData.ticketTitle}}
\r\n\r\n
Unique Site Id / Asset\r\n \r\n
\r\n {{TicketMasterData.location}}\r\n
\r\n
{{TicketMasterData.assetName}}
\r\n\r\n
Ticket Type \r\n {{TicketMasterData.ticketType}}\r\n Status / Priority \r\n
\r\n {{TicketMasterData.ticketStatus}}
\r\n
\r\n {{TicketMasterData.priority}}
\r\n
Owner/Assigned To \r\n
\r\n {{TicketMasterData.ticketOwnerName}}
\r\n
\r\n {{TicketMasterData.assignName}}
\r\n\r\n
Created Date \r\n {{TicketMasterData.dueDate | date:'dd-MM-yyyy HH:mm'}}\r\n Action \r\n\r\n\r\n \r\n edit\r\n \r\n \r\n edit\r\n \r\n \r\n Re-Open\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Ticket No.\r\n \r\n {{TicketDataExport.ticketNo}}\r\n Unique Site ID\r\n \r\n {{TicketDataExport.location}}\r\n \r\n Device IP\r\n {{TicketDataExport.assetTag}}\r\n\r\n \r\n Serial No\r\n {{TicketDataExport.serialNo}}\r\n Priority\r\n {{TicketDataExport.priority}}\r\n Category\r\n \r\n {{TicketDataExport.category}}\r\n Sub Category\r\n \r\n {{TicketDataExport.subCategory}}\r\n Incident Description\r\n \r\n {{TicketDataExport.resolution}}\r\n \r\n Incident Date \r\n {{TicketDataExport.dueDate| date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Closed Date\r\n \r\n {{TicketDataExport.ticketClosedTime| date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Logged By \r\n {{TicketDataExport.contactName}}\r\n Ticket Status\r\n {{TicketDataExport.ticketStatus}}\r\n \r\n Ticket Owner Name\r\n {{TicketDataExport.ticketOwnerName}}\r\n \r\n Assign Name\r\n {{TicketDataExport.assignName}}\r\n \r\n Created By\r\n {{TicketDataExport.createdBy}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TicketMasterService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveAsDraft(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/saveAsDraft';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n saveTicket(body, header, flag) {\r\n if (flag == 'save') {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticket';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n if (flag == 'update') {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/' + body.entityId;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n }\r\n\r\n getTicketList(header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticket';\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n\r\n // ticketList(body, header) {\r\n\r\n // \r\n // var url = this._global.baseAPIUrl + 'ipms/ticket/getTicketByFilter';\r\n // return this._http.post(url , body, {headers: header});\r\n\r\n // }\r\n\r\n ticketList(body, header, pageNumber: number, pageSize: number) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/getTicketByFilter?page=' + pageNumber + '&size=' + pageSize +'&sort=' + 'ASC'+'&column=' + 'ticketno';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n\r\n\r\n \r\n // ticketList(header, ticketNo, filter, pageNumber: number, pageSize: number, sortName) {\r\n // debugger;\r\n // var url = this._global.baseAPIUrl + 'ipms/ticket/getTicketByFilterWithoutBodyRequest?column=' + ticketNo + '&filter=' + filter +'&pageNumber=' + pageNumber +'&pageSize=' + pageSize + '&sortOrder=' + sortName;\r\n // return this._http.get(url, { headers: header });\r\n // }\r\n\r\n\r\n\r\n ticketById(entityId, header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/tic/' + entityId;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n\r\n getTicketActiveProblemList(header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticketproblemreport/getActiveProblemReportList';\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n\r\n getTicketActiveCategoryList(header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticketproblemreport/getActiveProblemReportList';\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getTicketActiveClassificationList(header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification/getActiveClassificationList';\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n\r\n getSubcategoryByCategory(header, name) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory/getSubcategoryByCategory/' + name;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n\r\n\r\n getClassificationByProject(header, id) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification/getClassificationByProjectList/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n\r\n getProblemByProject(header, id) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticketproblemreport/getProblemByProjectList/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n reopenTicket(entityId, header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/reopenTicketByid/' + entityId;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n\r\n updateTicketData(body, header) {\r\n\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/updateTicketData';\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n\r\n\r\n // getActiveUserList(header) {\r\n\r\n // \r\n // var url = this._global.baseAPIUrl + 'ipms/userprofile/selectionUserlist';\r\n // return this._http.get(url , {headers: header});\r\n // }\r\n\r\n\r\n}\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../../global/app.global';\r\nimport { DialogService } from '../../../../service/dialog.service';\r\nimport { SharedService } from '../../../../service/shared.service';\r\nimport { TicketTaskService } from '../ticket-task.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { DateAdapter } from '@angular/material/core';\r\n\r\nimport { FileuploadService } from '../../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-add-task',\r\n templateUrl: './add-task.component.html',\r\n providers: [TicketTaskService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n\r\n})\r\nexport class AddTaskComponent implements OnInit {\r\n maxDateDisabled: any;\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketTaskService: TicketTaskService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService) { }\r\n\r\n displayedColumns: string[] = ['checkbox', 'tripId', 'sourceAdd', 'destAdd', 'startTime', 'endTime', 'distance'];\r\n tripSearchResultsFinal: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n FilterData = {};\r\n\r\n hasRole: boolean = false;\r\n buttonDisabled = true;\r\n filterDiv: boolean = false;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n outsideToken = \"\";\r\n tripSearchResults = [];\r\n thirdPartyRequest = { \"records\": [] };\r\n ticketId = \"\";\r\n tempTrip = [];\r\n tripSearch = { \"idList\": [], \"ticketNo\": [] };\r\n item1 = {};\r\n item = {};\r\n item2 = {};\r\n trip = {};\r\n //this.tripSearch.idList=[];\r\n ticketCategoryList: any = [];\r\n subCategoryList: any = [];\r\n classificationList: any = [];\r\n vendorList: any = [];\r\n taskHistoryList: any = [];\r\n ticketAttachment: any = [];\r\n PageTitle = \"Ticket Task\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n TicketTaskData = {\r\n \"approvalStatus\": \"\", \"resolutionDate\": \"\", \"assignName\": null, \"ticketCategory\": \"\", \"ticketSubcategory\": \"\", \"classifications\": \"\",\r\n \"attachment\": \"\", \"trip\": \"\", \"vehicleRegNo\": \"\", \"tripFromDate\": \"\", \"vendorname\": \"\", \"resolution\": null, \"selected\": \"\", \"ticketClosedTime\": \"\",\r\n \"assetname\": \"\", \"location\": \"\", \"duedate\": \"\", \"ticketStatus\": \"\", \"ticketNo\": \"\", \"firstname\": \"\", \"createdBy\": \"\", \"remark\": \"\"\r\n\r\n };\r\n TaskData = {\r\n \"entityId\": null, \"approvalStatus\": null, \"resolutionDate\": null, \"ticketCategory\": null,\r\n \"ticketSubcategory\": null, \"classifications\": null, \"captureImg\": null, \"trip\": null, \"ticketClosedTime\": null,\r\n \"resolution\": null, \"remark\": null, \"vendorname\": null\r\n };\r\n TicketData = {\r\n \"ticketNo\": \"\", \"otherProblemDescription\": \"\", \"location\": \"\", \"assettag\": \"\",\r\n \"category\": \"\", \"subCategory\": \"\",\r\n \"ticketType\": \"\", \"ticketTitle\": \"\",\r\n \"dueDate\": \"\", \"resolutionDate\": \"\", \"assetName\": null, \"contactEmail\": \"\",\r\n \"mobileNo\": \"\", \"assetid\": null, \"ticketStatus\": null, \"ticketClosedTime\": \"\",\r\n \"classifications\": null, \"toAddress\": \"\",\r\n \"department\": null, \"ticketCategory\": null, \"ticketSubcategory\": null, \"resolution\": \"\", \"draftFlag\": null\r\n };\r\n assignToUser: String = null;\r\n\r\n userList = {};\r\n vehicleList = {};\r\n classifications: any = [];\r\n addTaskForm: FormGroup;\r\n isSubmitted = false;\r\n //ticketAttachment :any =[];\r\n tripResults: any = [];\r\n\r\n maxDateMethod() {\r\n let maxDate: string = new Date().toISOString();\r\n this.maxDateDisabled = this.getFormattedDate(maxDate);\r\n return;\r\n }\r\n\r\n getFormattedDate(datemilli) {\r\n let localdate = new Date(datemilli);\r\n return localdate.getFullYear() + \"-\" + (localdate.getMonth() + 1).toString().padStart(2, '0') + \"-\" + localdate.getDate().toString().padStart(2, '0') + \"T\" + localdate.getHours().toString().padStart(2, '0') + \":\" + localdate.getMinutes().toString().padStart(2, '0')\r\n }\r\n\r\n back = function () {\r\n this.router.navigate(['/searchTicketAction']);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n\r\n\r\n getVehicleList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.getVehicleList(headers).subscribe(resp => {\r\n debugger;\r\n this.VehicleMasterData = resp;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllCategory = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveCategoryList(headers).subscribe(resp => {\r\n debugger;\r\n this.ticketCategoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllSubcategoryByCategory = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getSubcategoryByCategory(headers, name).subscribe(resp => {\r\n debugger;\r\n this.subCategoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n getVendorList = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.getVendorList(headers, id).subscribe(resp => {\r\n debugger;\r\n this.vendorList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getClassificationByProject = function (project) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.getClassificationByProject(headers, project).subscribe(resp => {\r\n debugger;\r\n this.classificationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n //get all profile list\r\n getAllUser = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveUserList(headers).subscribe(resp => {\r\n debugger;\r\n this.userList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n getActiveVehicleList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveVehicleList(headers).subscribe(resp => {\r\n debugger;\r\n this.vehicleList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n statusChanged() {\r\n debugger;\r\n if (this.TicketTaskData.approvalStatus == 'ESCALATED') {\r\n this.addTaskForm.get('vendorname').enable();\r\n }\r\n else if (this.TicketTaskData.approvalStatus == 'RESOLVED') {\r\n this.addTaskForm.get('resolutionDate').enable();\r\n }\r\n else if (this.TicketTaskData.approvalStatus == 'CLOSED') {\r\n this.addTaskForm.get('ticketClosedTime').enable();\r\n this.addTaskForm.get('trip').enable();\r\n }\r\n else if ((this.TicketTaskData.approvalStatus == 'REASSIGNED') || (this.TicketTaskData.approvalStatus == 'FORWARDED')) {\r\n this.addTaskForm.get('assignName').enable();\r\n }\r\n else {\r\n this.addTaskForm.get('trip').disable();\r\n this.addTaskForm.get('vendorname').disable();\r\n this.addTaskForm.get('assignName').disable();\r\n this.addTaskForm.get('resolutionDate').disable();\r\n this.addTaskForm.get('ticketClosedTime').disable();\r\n }\r\n }\r\n\r\n // Add / update function\r\n addTask = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addTaskForm.invalid) {\r\n return;\r\n }\r\n if (this.classifications.length != 0) {\r\n this.classificationsChange(this.classifications);\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n if (this.ticketAttachment.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.ticketAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.TaskData.captureImg = this.fileuploadService.getFirstFilePath(this.ticketAttachment);\r\n }\r\n this.TaskData.approvalStatus = this.TicketTaskData.approvalStatus;\r\n if (this.TaskData.ticketClosedTime != null) {\r\n let closetime = new Date(this.TaskData.ticketClosedTime);\r\n let currentDate = new Date(); \r\n if (closetime.getTime() > currentDate.getTime()) {\r\n this.dialogService.openConfirmDialog(\"Ticket Closed Date Time should be less than Current Date Time \");\r\n return;\r\n }\r\n this.TaskData.ticketClosedTime = closetime.getTime();\r\n }\r\n if (this.TaskData.resolutionDate != null) {\r\n let resolutiontime = new Date(this.TaskData.resolutionDate);\r\n this.TaskData.resolutionDate = resolutiontime.getTime();\r\n }\r\n this.TaskData.entityId = this.TaskData1.entityId;\r\n this.TaskData.ticketNo = this.TaskData1.ticketNo;\r\n //this.TicketTaskData.latitude =12435;\r\n this.ticketTaskService.saveTask(this.TaskData, headers, this.assignToUser).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Ticket Task is processed successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addTaskForm.reset();\r\n this.TicketTaskData = {};\r\n this.closeTrip();\r\n this.router.navigate(['/searchTicketAction']);\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n this.TaskData.resolutionDate = (new Date(this.TaskData.resolutionDate));\r\n this.TaskData.ticketClosedTime = (new Date(this.TaskData.ticketClosedTime));\r\n });\r\n }\r\n\r\n getHistoryDataById = function (entityId) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.getHistoryDataById(entityId, headers).subscribe(resp => {\r\n debugger;\r\n this.taskHistoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n classificationsChange(obj) {\r\n debugger;\r\n let temp: any = [];\r\n for (let i = 0; i < obj.length; i++) {\r\n if (i == 0) {\r\n temp = obj[i];\r\n }\r\n else {\r\n temp = temp + \",\" + obj[i];\r\n }\r\n }\r\n this.TaskData.classifications = temp;\r\n }\r\n\r\n optionToggled = function (TripData, selected) {\r\n debugger;\r\n if (TripData.tripId == null) {\r\n alert(\"Trips without 'Trip ID' cannot be selected.\");\r\n TripData.selected = (!selected);\r\n return;\r\n }\r\n if (this.sameDateFlag) {\r\n let item = {};\r\n this.item.id = TripData.entityId;\r\n this.item.tripId = TripData.tripId;\r\n this.item.parentId = TripData.parentId;\r\n this.item.groupId = TripData.groupId;\r\n this.item.latitude = TripData.latitude;\r\n this.item.longitude = TripData.longitude;\r\n this.item.startTime = TripData.startTime;\r\n this.item.endTime = TripData.endTime;\r\n this.item.maxSpeed = TripData.maxSpeed;\r\n this.item.urlString = TripData.urlString;\r\n this.item.polyline = TripData.polyLine;\r\n this.item.sourceLat = TripData.sourceLat;\r\n this.item.sourceLong = TripData.sourceLong;\r\n this.item.destinationLat = TripData.destLat;\r\n this.item.destinationLong = TripData.destLong;\r\n this.item.distanceValue = TripData.distanceValue;\r\n this.item.locationType = TripData.locationType;\r\n this.item.ignitionEvent = TripData.ignitionEvent;\r\n this.item.obdSerialId = TripData.obdSerialId;\r\n this.item.sourceAdd = TripData.sourceAdd;\r\n this.item.destAdd = TripData.destAdd;\r\n if (selected) {\r\n debugger;\r\n let item2 = {};\r\n this.item2.id = TripData.entityId;\r\n this.item2.tripId = TripData.tripId;\r\n this.item2.parentId = TripData.parentId;\r\n this.item2.vehicleNo = this.thirdPartyRequest.vehicleNo;\r\n\r\n this.tempTrip.push(item2);\r\n\r\n this.thirdPartyRequest.ticketId = this.TicketTaskData.entityId;\r\n this.thirdPartyRequest.records.push(item);\r\n } else {\r\n debugger;\r\n //vm.thirdPartyRequest.records.pop(item.id);\r\n this.removeByAttr(this.thirdPartyRequest.records, 'id', this.item.id);\r\n this.removeByAttr(this.tempTrip, 'id', this.item.id);\r\n }\r\n } else {\r\n if (selected) {\r\n debugger;\r\n var item1 = {};\r\n this.item1.id = TripData.entityId;\r\n this.item1.tripId = TripData.tripId;\r\n this.item1.parentId = TripData.parentId;\r\n this.item1.vehicleNo = TripData.vehicleNo;\r\n\r\n this.tempTrip.push(item1);\r\n\r\n this.tripSearch.ticketId = this.TicketData.entityId;\r\n this.tripSearch.idList.push(TripData.entityId);\r\n this.tripSearch.ticketNo.push(this.TicketData.ticketNo);\r\n } else {\r\n this.tripSearch.idList.pop(this.TripData.id);\r\n this.removeByAttr(this.tempTrip, 'id', this.TripData.id);\r\n }\r\n }\r\n }\r\n\r\n searchTrip = function (flag) {\r\n debugger;\r\n //this.tripSearchResults={};\r\n //this.tripSearchResults1={};\r\n this.request = {};\r\n this.recDeStaus = false;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sameDateFlag = false;\r\n\r\n this.TripData = [];\r\n this.TripData.sourceAdd = null;\r\n this.TripData.destAdd = null;\r\n\r\n if (this.TicketTaskData.tripFromDate == null) {\r\n (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n }\r\n }\r\n if ((this.TicketTaskData.vehicleRegNo == null) || (this.TicketTaskData.vehicleRegNo == \"\")) {\r\n (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n }\r\n }\r\n\r\n debugger;\r\n let fromDate = this.TicketTaskData.tripFromDate.getTime();\r\n let todayDate = new Date(new Date().getMonth() + 1 + '/' + new Date().getDate() + '/' + new Date().getFullYear());\r\n let today = todayDate.getTime();\r\n\r\n if (fromDate == today) {\r\n this.sameDateFlag = true;\r\n }\r\n\r\n if (this.sameDateFlag) {\r\n this.request.vehicle = this.TicketTaskData.vehicleRegNo;\r\n this.request.startTime = fromDate;\r\n this.request.endTime = new Date(new Date().getMonth() + 1 + '/' + new Date().getDate() + '/' + new Date().getFullYear() + \" 23:59:59\").getTime();\r\n this.request.parentId = this.parentId;\r\n\r\n this.showLoading = true;\r\n this.ticketTaskService.getAllDataFromOut(this.outsideToken, this.request).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n if (resp.status == \"FAILURE\") {\r\n (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n this.tripSearchResults = [];\r\n }\r\n } else {\r\n debugger;\r\n //this.tripSearchResults = {};\r\n this.tripSearchResults = [];\r\n\r\n\r\n //this.tripSearchResults.vehicleNo = \"\";\r\n this.tripSearchResults1 = resp.payLoad[0].records;\r\n\r\n this.tripSearchResults.vehicleNo = resp.payLoad[0].vehicleNo;\r\n this.thirdPartyRequest.vehicleNo = resp.payLoad[0].vehicleNo;\r\n if (this.tripSearchResults1.length != 0) {\r\n this.clearFlag2 = true;\r\n }\r\n\r\n var item = 0;\r\n for (var i = 0; i < this.tripSearchResults1.length; i++) {\r\n if (this.tripSearchResults1[i].hasOwnProperty(\"tripId\")) {\r\n //debugger;\r\n\r\n this.tripSearchResults.push(this.tripSearchResults1[i]);\r\n this.tripSearchResults[item].sourceAdd = null;\r\n this.tripSearchResults[item].destAdd = null;\r\n item = item + 1;\r\n }\r\n //debugger;\r\n }\r\n debugger;\r\n // for(var i = 0; i < this.tripSearchResults.length; i++){\r\n // debugger;\r\n // this.ticketTaskService.fillAddressByLatLong(this.tripSearchResults[i].sourceLat, this.tripSearchResults[i].sourceLong).subscribe(resp => {\r\n // debugger;\r\n // this.tripSearchResults[i].sourceAdd = resp.payLoad;\r\n // });\r\n // this.ticketTaskService.fillAddressByLatLong(this.tripSearchResults[i].destLat, this.tripSearchResults[i].destLong).subscribe(resp => {\r\n // debugger;\r\n // this.tripSearchResults[i].destAdd = resp.payLoad;\r\n // });\r\n // }\r\n\r\n\r\n this.tripSearchResultsFinal = new MatTableDataSource(this.tripSearchResults);\r\n }\r\n debugger;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n else {\r\n let tempDate = new Date(fromDate);\r\n let toDate = new Date(tempDate.getMonth() + 1 + '/' + tempDate.getDate() + '/' + tempDate.getFullYear() + \" 23:59:59\").getTime();\r\n debugger;\r\n this.request.vehicleNo = this.TicketTaskData.vehicleRegNo;\r\n this.request.startTime = fromDate;\r\n this.request.endTime = toDate;\r\n\r\n this.showLoading = true;\r\n this.ticketTaskService.tripList(headers, this.request).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.tripSearchResultsFinal = new MatTableDataSource(resp);\r\n if (this.tripSearchResultsFinal.length != 0) {\r\n this.clearFlag2 = true;\r\n }\r\n if (this.tripSearchResultsFinal.length == 0) {\r\n this.clearFlag2 = true;\r\n this.recDeStaus = true;\r\n return;\r\n }\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n }\r\n\r\n loginRequest = {};\r\n loginToThirdParty = function () {\r\n debugger;\r\n this.loginRequest.emailId = this._global.thirdPartyCredentials[0].userid;\r\n this.loginRequest.password = this._global.thirdPartyCredentials[0].password;\r\n this.ticketTaskService.loginToThirdParty(this.loginRequest, null).subscribe(resp => {\r\n debugger;\r\n this.outsideToken = resp.payLoad.authToken;\r\n this.parentId = resp.payLoad.parentId;\r\n this.loginRequest = {};\r\n this.showLoading = false;\r\n }, function (error) {\r\n this.loginRequest = {};\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n logoutToThirdParty = function () {\r\n this.ticketTaskService.logoutToThirdParty(this.loginRequest, this.authToken).subscribe(resp => {\r\n }, function (error) {\r\n this.loginRequest = {};\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n tripOption = function () {\r\n debugger;\r\n if (this.TaskData.trip == \"ADD TRIPS\")\r\n this.addTrip();\r\n\r\n else if (this.TaskData.trip == \"NO VEHICLES USED\")\r\n this.closeTrip();\r\n }\r\n\r\n addTrip = function () {\r\n debugger;\r\n this.addTripFlag = true;\r\n this.clearFlag2 = false;\r\n this.TripData = [];\r\n this.TripData.tripToDate = null;\r\n this.TripData.tripFromDate = null;\r\n this.trip.vehicle = null;\r\n this.loginToThirdParty();\r\n this.getVehicleList();\r\n }\r\n closeTrip = function () {\r\n this.addTripFlag = false;\r\n this.clearFlag2 = false;\r\n this.tripSearchResults = [];\r\n this.thirdPartyRequest.records = [];\r\n this.tripSearch.idList = [];\r\n this.trip.tripToDate = \"\";\r\n this.trip.tripFromDate = \"\";\r\n this.vehicle = \"\";\r\n this.showLoading = false;\r\n this.logoutToThirdParty();\r\n }\r\n\r\n getTripDataByTicket = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketId = id;\r\n this.showLoading = true;\r\n this.ticketTaskService.getTripDataByTicket(headers, this.ticketId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.tripResults = resp.data.searchResults;\r\n if (this.tripResults.length > 0)\r\n this.vehicleNo = this.tripResults[0].vehicleNo;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n removeTrip = function (removeTripId) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.removeTripId = removeTripId;\r\n this.showLoading = true;\r\n this.ticketTaskService.removeTripFromTicket(removeTripId, headers).subscribe(resp => {\r\n this.getTripDataByTicket(this.TripData.ticketId);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n removeByAttr = function (arr, attr, value) {\r\n debugger;\r\n var i = arr.length;\r\n while (i--) {\r\n if (arr[i] && arr[i].hasOwnProperty(attr) && (arr.length > 2 && arr[i][attr] === value)) {\r\n arr.splice(i, 1);\r\n }\r\n }\r\n return arr;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n saveTripAndUpdateTicket = function () {\r\n debugger;\r\n this.TicketTaskData.ticketId = this.TicketData.entityId;\r\n\r\n if (this.TicketTaskData.approvalStatus == null) {\r\n this.dialogService.openConfirmDialog(\" Please select one action.\")\r\n return;\r\n }\r\n\r\n if (this.TicketTaskData.approvalStatus == \"CLOSED\") {\r\n if (this.TaskData.ticketClosedTime == null) {\r\n this.dialogService.openConfirmDialog(\" Ticket Closed Time is required\")\r\n return;\r\n }\r\n\r\n if (this.TaskData.trip == null || this.TaskData.trip == \"\") {\r\n this.dialogService.openConfirmDialog(\" Please select trips.\")\r\n return;\r\n }\r\n }\r\n\r\n if ((this.TicketTaskData.approvalStatus == 'RE-ASSIGNED') || (this.TicketTaskData.approvalStatus == 'FORWARDED')) {\r\n if (this.assignToUser == null) {\r\n this.dialogService.openConfirmDialog(\"Please select assigned to.\")\r\n return;\r\n }\r\n }\r\n\r\n if (this.TicketTaskData.approvalStatus == \"CLOSED\") {\r\n if (this.TaskData.trip == \"ADD TRIPS\") {\r\n if ((this.thirdPartyRequest.records.length == 0) && (this.tripSearch.idList.length == 0) &&\r\n (this.tripResults.length == 0)) {\r\n this.dialogService.openConfirmDialog(\"Please add trips.\")\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if ((this.thirdPartyRequest.records.length != 0) || (this.tripSearch.idList.length != 0)) {\r\n if (this.sameDateFlag) {\r\n this.saveTripData(this.thirdPartyRequest);\r\n } else {\r\n this.updateTripData(this.tripSearch);\r\n }\r\n } else {\r\n this.updateTicket();\r\n }\r\n }\r\n\r\n\r\n saveTripData = function (thirdPartyRequest) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.thirdPartyRequest = thirdPartyRequest;\r\n this.showLoading = true;\r\n this.ticketTaskService.saveTripDataFromThirdParty(this.thirdPartyRequest, headers).subscribe(resp => {\r\n debugger;\r\n this.updateTicket(\"update\");\r\n }, function (error) {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n\r\n updateTripData = function (tripSearch) {\r\n debugger;\r\n this.tripSearch = tripSearch;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.updateTripData(this.tripSearch, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.updateTicket(\"update\");\r\n this.closeTrip();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n //Update Ticket\r\n updateTicket = function (flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var errorMessage = \"\";\r\n this.TicketTaskData.ticketId = this.TicketData.entityId;\r\n\r\n if (this.TicketTaskData.approvalStatus == null) {\r\n this.dialogService.openConfirmDialog(\" Please select one action.\")\r\n return;\r\n }\r\n\r\n if (this.TicketTaskData.approvalStatus == \"CLOSED\") {\r\n if (this.TicketTaskData.ticketClosedTime == null) {\r\n this.dialogService.openConfirmDialog(\" Ticket Closed Time is required\")\r\n return;\r\n }\r\n\r\n if (this.TaskData.trip == null || this.TaskData.trip == \"\") {\r\n this.dialogService.openConfirmDialog(\" Please select trips.\")\r\n return;\r\n }\r\n\r\n if (this.TaskData.ticketCategory == null || this.TaskData.ticketCategory == \"\") {\r\n this.dialogService.openConfirmDialog(\"Please select Ticket Category\")\r\n return;\r\n }\r\n\r\n if (this.TaskData.ticketSubcategory == null || this.TaskData.ticketSubcategory == \"\") {\r\n this.dialogService.openConfirmDialog(\"Please select Ticket Sub Category\")\r\n return;\r\n }\r\n }\r\n\r\n if (this.TicketTaskData.approvalStatus == \"RESOLVED\") {\r\n if (this.TaskData.resolutionDate == null) {\r\n this.dialogService.openConfirmDialog(\"Please select Resolution Date\")\r\n return;\r\n }\r\n }\r\n\r\n if ((this.TicketTaskData.approvalStatus == 'RE-ASSIGNED') || (this.TicketTaskData.approvalStatus == 'FORWARDED')) {\r\n if (this.assignToUser == null) {\r\n this.dialogService.openConfirmDialog(\"Please select assigned to.\")\r\n return;\r\n }\r\n }\r\n this.addTask('update');\r\n }\r\n\r\n // Get data by id\r\n projectname;\r\n editon = function (entityId, flag) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var entityId = entityId;\r\n this.PageTitle = \"Ticket Task Action\";\r\n this.ticketTaskService.taskById(entityId, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskData1 = resp;\r\n this.getTicketById(this.TaskData1.ticketId);\r\n this.getHistoryDataById(this.TaskData1.ticketNo);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n getTicketById = function (entityId, flag) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var entityId = entityId;\r\n this.ticketTaskService.ticketById(entityId, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TicketData = resp;\r\n let createdDate = this.TicketData.dueDate;\r\n this.TicketData.dueDate = new Date(createdDate).toISOString().slice(0, 16);\r\n\r\n this.TicketData.resolutionDate = (new Date(this.TicketData.resolutionDate));\r\n this.TicketData.ticketClosedTime = (new Date(this.TicketData.ticketClosedTime));\r\n this.projectname = this.TicketData.accountName;\r\n this.getVendorList(this.projectname);\r\n this.getClassificationByProject(this.projectname);\r\n this.TaskData.ticketCategory = this.TicketData.ticketCategory;\r\n this.TaskData.ticketSubcategory = this.TicketData.ticketSubcategory;\r\n this.getAllSubcategoryByCategory(this.TaskData.ticketCategory);\r\n this.TaskData.resolution = this.TicketData.resolution;\r\n if (this.TicketData.classifications != null) {\r\n debugger;\r\n let classificationTemp = [];\r\n var splitted = this.TicketData.classifications.split(\",\");\r\n this.classifications = splitted;\r\n\r\n }\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n url :string;\r\n\r\n ngOnInit(): void {\r\n this.maxDateMethod();\r\n this.addTaskForm = this.formBuilder.group({\r\n approvalStatus: [null, Validators.required],\r\n resolutionDate: [null, Validators.required],\r\n assignName: [null, Validators.required],\r\n ticketCategory: [null],\r\n ticketSubcategory: [null],\r\n classifications: [null],\r\n trip: [null, Validators.required],\r\n vehicleRegNo: [null],\r\n tripFromDate: [null],\r\n vendorname: [null, Validators.required],\r\n resolution: [null],\r\n ticketClosedTime: [null, Validators.required],\r\n remark: [null, Validators.required],\r\n\r\n\r\n\r\n\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Task\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n //this.getHistoryDataById(this.TicketTaskData.ticketNo);\r\n\r\n }\r\n this.addTaskForm.get('trip').disable();\r\n this.addTaskForm.get('vendorname').disable();\r\n this.addTaskForm.get('assignName').disable();\r\n this.addTaskForm.get('resolutionDate').disable();\r\n this.addTaskForm.get('ticketClosedTime').disable();\r\n this.hasRole = this._global.UserRights.includes(\"ROLE_CHM\") || this._global.UserRights.includes(\"ROLE_TEAM_LEADER\");\r\n this.getAllUser();\r\n this.getActiveVehicleList();\r\n //this.searchTrip();\r\n this.getVehicleList();\r\n this.getAllCategory();\r\n this.url = this._global.baseUrl;\r\n\r\n }\r\n get formControls() {\r\n return this.addTaskForm.controls;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n {{TicketData.ticketNo}}\r\n
\r\n
\r\n \r\n {{TicketData.dueDate |date : 'dd/MM/yyyy hh:mm:ss'}}\r\n
\r\n
\r\n \r\n {{TicketData.location}}\r\n\r\n
\r\n\r\n
\r\n \r\n {{TicketData.resolution}}\r\n
\r\n
\r\n \r\n {{TicketData.assetName}}\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n

HelpDesk/IT Comments

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
DateActioned ByAssigned To Role / Assigned To RoleStatusRemark
\r\n
\r\n {{commentsData.createdDate |date : 'dd/MM/yyyy hh:mm:ss'}}
\r\n
{{commentsData.updatedBy}}{{commentsData.assignToRole}}\r\n \r\n / {{commentsData.assignToUser}}\r\n {{commentsData.approvalStatus}}{{commentsData.remark}}\r\n
\r\n View attachment\r\n
\r\n
\r\n
\r\n Action\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n Ticket Task\r\n
\r\n\r\n
\r\n
\r\n \r\n Vendor Name\r\n \r\n -Select-\r\n \r\n {{vendorData.vendorName}}\r\n \r\n
\r\n
Vendor Name is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n SLA Resolution Date Time \r\n \r\n
\r\n
Resolution\r\n Date Time\r\n required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n Ticket Closed Time \r\n \r\n
\r\n
Ticket\r\n Closed Time\r\n required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Assign To\r\n \r\n -Select-\r\n \r\n {{userData.selectionvalue}}\r\n \r\n
\r\n
Assign To is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Ticket Category\r\n \r\n -Select-\r\n \r\n {{categoryData.selectionvalue}}\r\n \r\n
\r\n
Ticket\r\n Category is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Subcategory\r\n \r\n -Select-\r\n \r\n {{categoryData.selectionvalue}}\r\n \r\n
\r\n
Ticket\r\n Subcategory is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Classification\r\n \r\n\r\n \r\n {{classificationData.selectionvalue}}\r\n \r\n
\r\n
\r\n Classifications is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Ticket Resolution\r\n\r\n \r\n\r\n
\r\n
\r\n Ticket Resolution is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
Remark is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Trip\r\n \r\n -Select-\r\n Vehicles Used\r\n No vehicles Used\r\n\r\n \r\n
\r\n
Trip is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Add Trips\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Vehicle Name\r\n \r\n -Select-\r\n \r\n {{vehicleData.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Trip From\r\n Date required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n
\r\n Select\r\n \r\n \r\n \r\n \r\n\r\n Trip\r\n Id\r\n \r\n
\r\n {{tripSearchResultsFinal.tripId}}\r\n
\r\n\r\n
Source\r\n \r\n \r\n \r\n
\r\n Loading...\r\n
\r\n
\r\n Destination \r\n \r\n \r\n
Loading...\r\n
\r\n\r\n\r\n
Start\r\n Time \r\n
\r\n {{tripSearchResultsFinal.startTime | date}}
\r\n
End\r\n Time\r\n \r\n
\r\n {{tripSearchResultsFinal.endTime | date}}
\r\n
\r\n Distance\r\n \r\n
\r\n {{tripSearchResultsFinal.distance}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../../global/app.global';\r\nimport { DialogService } from '../../../../service/dialog.service';\r\nimport { TicketTaskService } from '.././ticket-task.service';\r\nimport { SharedService } from '../../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-add-trip',\r\n templateUrl: './add-trip.component.html',\r\n providers: [TicketTaskService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddTripComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketTaskService: TicketTaskService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['tripId', 'sourceAdd', 'destAdd', 'startTime', 'endTime', 'distance'];\r\n TripData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n FilterData = {};\r\n\r\n PageTitle = \"Trip List\";\r\n filterDiv: boolean = false;\r\n\r\n\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.tripList(headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.TripData = new MatTableDataSource(resp);\r\n this.TripData.sort = this.sort;\r\n this.TripData.paginator = this.paginator;\r\n this.totalRecords = this.TripData.filteredData.length;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.search();\r\n }\r\n\r\n}\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
Trip Id \r\n
{{TripData.tripId}}\r\n
\r\n \r\n
Source \r\n
{{TripData.sourceAdd}}
\r\n
Destination \r\n
{{TripData.destAdd}}
\r\n
Start Time \r\n
{{TripData.startTime}}
\r\n
End Time \r\n
{{TripData.endTime}}
\r\n
Distance \r\n
{{TripData.distance}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { TicketTaskService } from './ticket-task.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-ticket-task',\r\n templateUrl: './ticket-task.component.html',\r\n providers: [TicketTaskService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class TicketTaskComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketTaskService: TicketTaskService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['ticketNo', 'assetName', 'ticketType', 'approvalStatus', 'ticketOwnerName', 'action'];\r\n historyColumns: string[] = ['ticketNo', 'assetName', 'ticketType', 'approvalStatus', 'ticketOwnerName',];\r\n\r\n TicketTaskData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n FilterData = { \"state\": null, \"district\": null };\r\n\r\n PageTitle = \"Ticket Task List\";\r\n\r\n\r\n filterDiv: boolean = false;\r\n // addUser = function() {\r\n // \r\n // this.router.navigate(['/TicketMaster']);\r\n // }\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TicketTaskData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n filterFunc = function () {\r\n\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n search = function () {\r\n\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.ticketList(headers, this.FilterData).subscribe(resp => {\r\n \r\n this.TicketTaskData= new MatTableDataSource(resp.content);\r\n this.TicketTaskData.sort = this.sort;\r\n this.TicketTaskData.paginator = this.paginator;\r\n this.totalRecords = resp.totalElements;\r\n this.history = false;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getHistoryTask = function () {\r\ndebugger;\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.HistoryTaskList(headers, this.FilterData).subscribe(resp => {\r\ndebugger;\r\n this.TicketTaskData = new MatTableDataSource(resp.content);\r\n this.TicketTaskData.sort = this.sort;\r\n this.TicketTaskData.paginator = this.paginator;\r\n this.totalRecords = this.TicketTaskData.filteredData.length;\r\n this.showLoading = false;\r\n this.history = true;\r\n\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n this.search();\r\n\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
Ticket No. \r\n \r\n
\r\n {{TicketTaskData.ticketTitle}}\r\n
\r\n
Asset Name \r\n {{TicketTaskData.assetName}}\r\n Ticket Type \r\n {{TicketTaskData.ticketType}}\r\n Status/Priority \r\n
\r\n {{TicketTaskData.approvalStatus}}\r\n
\r\n
\r\n\r\n {{TicketTaskData.priority}}\r\n
\r\n
Owner/Assign To \r\n
\r\n {{TicketTaskData.ticketOwnerName}}\r\n
\r\n\r\n
\r\n {{TicketTaskData.assignToUser}}\r\n
\r\n
Action \r\n \r\n search Action\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TicketTaskService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\nticketList(header,body ) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/ticket/ticketTaskByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n \r\n}\r\nHistoryTaskList(header,body ) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/ticket/ticketHistoryByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n \r\n}\r\n\r\ntaskById(entityId, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/ticket/'+entityId;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\nsaveTask(body, header, assign) {\r\n \r\n \r\n if(assign != null)\r\n {\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/processworkflow?assignName='+ assign;\r\n }\r\n else\r\n { \r\n var url = this._global.baseAPIUrl + 'ipms/ticket/processworkflow';\r\n }\r\n return this._http.post(url , body, {headers: header}); \r\n}\r\n\r\ntripList(header,body ) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/tripmaster/tripByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n \r\n}\r\n\r\ngetVehicleList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/vehiclemaster/getAllVehicleList';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\n\r\nsaveTripDataFromThirdParty (body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/tripmaster/saveTripFromThirdParty';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\ngetTripDataByTicket(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/tripmaster/GetTripDataByTicket/' +id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n\r\nremoveTripFromTicket(id, header){\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/tripmaster/deleteTripFromTicket/' +id;\r\n return this._http.get(url, {headers:header });\r\n}\r\n\r\ngetAllDataFromOut(authToken,body) {\r\n \r\n \r\n var url =\"https://app.locate365.in/obd-search\";\r\n return this._http.post(url , body, {headers: { \"authToken\": authToken}});\r\n}\r\n\r\nloginToThirdParty(body, authToken){\r\n \r\n \r\n var url = \"https://app.locate365.in/business/login\";\r\n return this._http.post(url , body, {headers: authToken});\r\n}\r\n\r\n\r\nlogoutToThirdParty(body, authToken) {\r\n \r\n \r\n var url =\"https://app.locate365.in/business/logout\";\r\n return this._http.post(url , body, {headers: authToken});\r\n}\r\n\r\ngetAddressByLatLong(header,lat, long){\r\n \r\n var url =\"https://logisticdemo.in/auth/get-address\";\r\n return this._http.get(url, { headers:header });\r\n}\r\n\r\n// fillAddressByLatLong(lat, long){\r\n// var url =\"https://app.locate365.in/get-address?lat=\"+ lat +\"&long=\"+ long;\r\n// return this._http.get(url);\r\n// }\r\n\r\nupdateTripData(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/tripmaster/updateTrip';\r\n return this._http.put(url , body, {headers: header});\r\n}\r\n\r\ngetVendorList (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/ticket/getVendorList/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n getAllVendorList (header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/getAllVendorList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getClassificationByProject (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/ticketclassification/getClassificationByProjectList/'+id;\r\n return this._http.get(url , {headers: header});\r\n } \r\n\r\n getHistoryDataById(entityId, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/task/'+entityId;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n ticketById(entityId, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/ticket/ticketDataById/'+entityId;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { TicketProblemReportService } from './ticket-problem-report.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-ticket-problem-report',\r\n templateUrl: './ticket-problem-report.component.html',\r\n providers: [TicketProblemReportService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class TicketProblemReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketProblemReportService: TicketProblemReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['problemReportValue', 'projectname', 'action'];\r\n\r\n ProblemReportMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n showLoading: boolean = false;\r\n\r\n ticketproblemReportedAdd: boolean = false;\r\n ticketproblemReportedEdit: boolean = false;\r\n ticketproblemReportedView: boolean = false;\r\n ticketproblemReportedDelete: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = {};\r\n\r\n\r\n PageTitle = \"Problem Report Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n ProblemReportData = {\r\n \"problemReportValue\": \"\", \"projectId\": null\r\n };\r\n\r\n projectList: any = [];\r\n\r\n addTicketProblemReportForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProblemReportMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.ProblemReportData = {};\r\n\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.PageTitle = \"Problem Report Master\";\r\n this.enabledField();\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name == o2.name && o1.id == o2.id;\r\n }\r\n\r\n\r\n //get all project list\r\n getProjectList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Add / update function\r\n addProblemReport = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addTicketProblemReportForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketProblemReportService.saveProblemReport(this.ProblemReportData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Problem Report \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.ProblemReportData = {};\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Problem Report Master\";\r\n this.enabledField();\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n deleteProblemData = function (name) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketProblemReportService.deleteProblemData(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Problem Report deleted successfully.\";\r\n this.search();\r\n // this.getActiveClassification();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketProblemReportService.getproblemReportList(headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.ProblemReportMasterData = new MatTableDataSource(resp);\r\n this.ProblemReportMasterData.sort = this.sort;\r\n this.ProblemReportMasterData.paginator = this.paginator;\r\n this.totalRecords = this.ProblemReportMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (id) {\r\n debugger;\r\n this.disabledField();\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var problemReportValue = id;\r\n this.PageTitle = \"Update Problem Report\";\r\n this.ticketProblemReportService.problemReportById(problemReportValue, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ProblemReportData = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addTicketProblemReportForm.get('problemReportValue').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addTicketProblemReportForm.get('problemReportValue').enable();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n //Role Rights\r\n this.ticketproblemReportedAdd = this._global.UserRights.includes(\"Ticket_Problem_Reported_ADD\");\r\n this.ticketproblemReportedEdit = this._global.UserRights.includes(\"Ticket_Problem_Reported_EDIT\");\r\n this.ticketproblemReportedView = this._global.UserRights.includes(\"Ticket_Problem_Reported_VIEW\");\r\n this.ticketproblemReportedDelete = this._global.UserRights.includes(\"Ticket_Problem_Reported_DELETE\");\r\n\r\n\r\n this.addTicketProblemReportForm = this.formBuilder.group({\r\n problemReportValue: ['', Validators.required],\r\n projectId: ['', Validators.required]\r\n });\r\n this.search();\r\n this.getProjectList();\r\n\r\n }\r\n get formControls() { return this.addTicketProblemReportForm.controls; }\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Problem\r\n Report Name\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Project Name\r\n \r\n -Select-\r\n \r\n {{projectData.selectionvalue}}\r\n \r\n
\r\n
Project Name is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Problem Report Name \r\n {{ProblemReportMasterData.problemReportValue}} Project Name \r\n {{ProblemReportMasterData.projectname}} Action \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TicketProblemReportService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveProblemReport(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketproblemreport';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketproblemreport';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getproblemReportList(header,body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketproblemreport/ticketProblemByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\n \r\n\r\nproblemReportById(problemReportValue, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketproblemreport/'+problemReportValue;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteProblemData (problemReport, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketproblemreport/'+problemReport;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { TicketReportService } from '../ticket-report.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { TicketAgingFilterSession } from '../../helpdeskfilterdata';\r\n\r\n@Component({\r\n selector: 'app-ageing-report',\r\n templateUrl: './ageing-report.component.html',\r\n providers: [TicketReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class TicketAgeingReportComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketService: TicketReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['ticketNo', 'createdDate', 'assignName', 'priority', 'ticketStatus', 'vendorname', 'escalatedOn', 'ageingSince'];\r\n exportColumns: string[] = ['ticketNo', 'ticketTitle', 'createdDate', 'assignName', 'priority', 'ticketStatus',\r\n 'escalatedTo', 'escalatedOn', 'ageingsince']\r\n\r\n TicketData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = {\r\n \"ticketNo\": null, \"priority\": null, \"accountName\": null, \"state\": null,\r\n \"district\": null, \"vendorName\": null, \"ticketStatus\": null\r\n };\r\n\r\n\r\n PageTitle = \"Ticket Ageing Report\";\r\n vendorList: any = [];\r\n projectList: any = [];\r\n\r\n //get all project list\r\n getProjectList = function () {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n // debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n filterDiv: boolean = false;\r\n // addUser = function() {\r\n // debugger;\r\n // this.router.navigate(['/TicketMaster']);\r\n // }\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TicketData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n this.getProjectList();\r\n this.getVendorList();\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n sessionStorage.removeItem(\"AGEINGFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n\r\n }\r\n\r\n\r\n getVendorList = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.getAllVendorList(headers).subscribe(resp => {\r\n debugger;\r\n this.vendorList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n TicketDataExport: any = [];\r\n\r\n search = function () {\r\n debugger;\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketService.ticketAgeingReport(headers, this.FilterData).subscribe(resp => {\r\n\r\n // Set Filter\r\n let AgeingFilterSession = new TicketAgingFilterSession();\r\n AgeingFilterSession.ticketNo = this.FilterData.ticketNo;\r\n AgeingFilterSession.priority = this.FilterData.priority;\r\n AgeingFilterSession.accountName = this.FilterData.accountName;\r\n AgeingFilterSession.ticketStatus = this.FilterData.ticketStatus;\r\n AgeingFilterSession.vendorName = this.FilterData.vendorName;\r\n sessionStorage.setItem('AGEINGFILTERSESSION', JSON.stringify(AgeingFilterSession));\r\n this.result = !Object.values(AgeingFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n\r\n this.filterDiv = false;\r\n this.TicketDataExport = resp.content;\r\n this.TicketData = new MatTableDataSource(resp.content);\r\n this.TicketData.sort = this.sort;\r\n this.TicketData.paginator = this.paginator;\r\n this.totalRecords = resp.totalElements;\r\n this.showLoading = false;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n \r\n //Assign Filter\r\n let AgeingFilterSession = JSON.parse(sessionStorage.getItem('AGEINGFILTERSESSION'));\r\n if (sessionStorage.getItem('AGEINGFILTERSESSION') != null) {\r\n this.FilterData.ticketNo = AgeingFilterSession.ticketNo;\r\n this.FilterData.priority = AgeingFilterSession.priority;\r\n this.FilterData.accountName = AgeingFilterSession.accountName;\r\n this.FilterData.ticketStatus = AgeingFilterSession.ticketStatus;\r\n this.FilterData.vendorName = AgeingFilterSession.vendorName;\r\n }\r\n if (AgeingFilterSession != null) {\r\n this.result = !Object.values(AgeingFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n\r\n this.search();\r\n\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Priority\r\n \r\n -Select-\r\n High\r\n Medium\r\n Low \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n OPEN\r\n ESCALATED\r\n RESOLVED\r\n FORWARDED\r\n REASSIGNED\r\n ONHOLD\r\n CLOSED\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Vendor Name\r\n \r\n -Select-\r\n \r\n {{vendorData.vendorName}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Ticket No. \r\n {{TicketData.ticketNo}}\r\n {{TicketData.ticketTitle}}\r\n Ticket Logged Date \r\n
\r\n {{TicketData.createdDate| date:'dd-MM-yyyy HH:mm'}}
\r\n
Assign To \r\n
{{TicketData.assignName}}
\r\n
Priority\r\n
{{TicketData.priority}}
\r\n
Status \r\n
{{TicketData.ticketStatus}}
\r\n
Vender Name \r\n
{{TicketData.vendorname}}
\r\n
Escalated On \r\n
{{TicketData.escalatedOn}}
\r\n
Ageing Since \r\n
{{TicketData.ageingsince}}
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Incident ID\r\n \r\n {{TicketDataExport.ticketNo}}\r\n Ticket Title\r\n \r\n {{TicketDataExport.ticketTitle}}\r\n \r\n Created Date\r\n \r\n {{TicketDataExport.createdDate| date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Assign Name\r\n {{TicketDataExport.assignName}}\r\n\r\n Priority\r\n {{TicketDataExport.priority}}\r\n Ticket Status\r\n \r\n {{TicketDataExport.ticketStatus}}\r\n Escalated To\r\n \r\n {{TicketDataExport.escalatedTo}}\r\n \r\n Escalated On \r\n {{TicketDataExport.escalatedOn |date:'dd-MM-yyyy HH:mm' }\r\n \r\n Ageing Since \r\n {{TicketDataExport.ageingsince}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { TicketReportService } from '../ticket-report.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-escalated-report',\r\n templateUrl: './escalated-report.component.html',\r\n providers: [TicketReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class TicketEscalationReportComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketService: TicketReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['ticketNo', 'createdDate', 'assetName', 'location', 'ticketStatus', 'vendorname', 'escalatedOn'];\r\n TicketData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = {\r\n \"ticketNo\": null, \"priority\": null, \"accountName\": null, \"state\": null,\r\n \"district\": null, \"vendorName\": null, \"escalatedOn\": null\r\n };\r\n\r\n PageTitle = \"Ticket Escalation Report\";\r\n\r\n\r\n filterDiv: boolean = false;\r\n // addUser = function() {\r\n // debugger;\r\n // this.router.navigate(['/TicketMaster']);\r\n // }\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TicketData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n this.getProjectList();\r\n this.getVendorList();\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n }\r\n\r\n projectList: any = [];\r\n vendorList: any = [];\r\n\r\n //get all project list\r\n getProjectList = function () {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n // debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n getVendorList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.ticketTaskService.getAllVendorList(headers).subscribe(resp => {\r\n debugger;\r\n this.vendorList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n search = function () {\r\n debugger;\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n if (this.FilterData.escalatedOn != null) {\r\n this.FilterData.escalatedOn = this.FilterData.escalatedOn.getTime();\r\n }\r\n\r\n this.ticketService.ticketEscalationReport(headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.filterDiv = false;\r\n this.TicketData= new MatTableDataSource(resp.content);\r\n this.TicketData.sort = this.sort;\r\n this.TicketData.paginator = this.paginator;\r\n this.totalRecords = resp.totalElements;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n this.search();\r\n\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Priority\r\n \r\n -Select-\r\n High\r\n Medium\r\n Low \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\t\t\t\t\t\t\t\t
\r\n
\r\n \r\n Vendor Name\r\n \r\n -Select-\r\n \r\n {{vendorData.vendorName}}\r\n \r\n\r\n \r\n
\r\n
\r\n\t\t\t\t\t\t
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Ticket No. \r\n {{TicketData.ticketNo}} \r\n Ticket Created on \r\n
{{TicketData.createdDate | date:'dd-MM-yyyy HH:mm'}}
\r\n
Asset Name \r\n
{{TicketData.assetName}}
\r\n
USID\r\n
{{TicketData.location}}
\r\n
Status \r\n
{{TicketData.ticketStatus}}
\r\n
Vendor Name \r\n
{{TicketData.vendorName}}
\r\n
Escalated On \r\n
{{TicketData.escalatedOn}}
\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, ViewChild, ElementRef } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { TicketReportService } from '../ticket-report.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { IncidentFilterSession } from '../../helpdeskfilterdata';\r\n//import * as jsPDF from 'jspdf';\r\n\r\n@Component({\r\n selector: 'app-incident-report',\r\n templateUrl: './incident-report.component.html',\r\n providers: [TicketReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class TicketIncidentReportComponent implements OnInit {\r\n loading:boolean =false;\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketService: TicketReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['Serial', 'ticketNo', 'location', 'assettag', 'productModel',\r\n 'priority', 'ticketCategory', 'resolution', 'dueDate', 'totalCloserTime', 'contactName', 'ticketStatus']\r\n\r\n exportColumns: string[] = ['ticketNo', 'location','locationAddress', 'assettag', 'serialNo', 'productModel', 'subCategory',\r\n 'priority', 'ticketType', 'ticketCategory', 'ticketSubCategory','description','resolution', 'dueDate',\r\n 'ticketClosedTime', 'totalCloserTime', 'violationTime', 'contactName', 'updatedBy', 'ticketStatus',\r\n 'attachment']\r\n TicketData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('content') content:ElementRef;\r\n\r\n TicketDataExport: any = [];\r\ndownloadEnable:boolean = false;\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n projectList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n FilterData = {\r\n \"ticketNo\": null, \"priority\": null, \"accountName\": null, \"state\": null,\r\n \"district\": null, \"fromDate\": null, \"toDate\": null,\r\n };\r\n\r\n PageTitle = \"Ticket Incident Report\";\r\n\r\n\r\n filterDiv: boolean = false;\r\n // addUser = function() {\r\n // debugger;\r\n // this.router.navigate(['/TicketMaster']);\r\n // }\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TicketData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"INCIDENTFILTERSESSION\");\r\n this.result = false;\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim();\r\n this.FilterData.state = state.trim();\r\n this.disable = true;\r\n this.getActiveDistrictFromstate(state.trim());\r\n }\r\n }\r\n fromdateSheet: any;\r\n todateSheet: any;\r\n\r\n search = function () {\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n debugger;\r\n if ((this.FilterData.toDate != null) && (this.FilterData.fromDate != null)) {\r\n let toDate = this.FilterData.toDate.getTime();\r\n let fromDate = this.FilterData.fromDate.getTime();\r\n if (toDate == fromDate) {\r\n this.FilterData.toDate.setHours(this.FilterData.toDate.getHours() + 24);\r\n }\r\n }\r\n if (this.FilterData.fromDate != null) {\r\n this.fromdateSheet = this.FilterData.fromDate;\r\n this.FilterData.fromDate = this.FilterData.fromDate.getTime();\r\n }\r\n if (this.FilterData.toDate != null) {\r\n this.todateSheet = this.FilterData.toDate;\r\n this.FilterData.toDate = this.FilterData.toDate.getTime();\r\n }\r\n \r\n this.showLoading = true;\r\n this.ticketService.incidentReport(headers, this.FilterData).subscribe(resp => {\r\n // Set Filter\r\n debugger;\r\n let incidentFilterSession = new IncidentFilterSession();\r\n incidentFilterSession.ticketNo = this.FilterData.ticketNo;\r\n incidentFilterSession.priority = this.FilterData.priority;\r\n incidentFilterSession.accountName = this.FilterData.accountName;\r\n incidentFilterSession.state = this.FilterData.state;\r\n incidentFilterSession.district = this.FilterData.district;\r\n incidentFilterSession.fromDate = this.FilterData.fromDate;\r\n incidentFilterSession.toDate = this.FilterData.toDate;\r\n sessionStorage.setItem('INCIDENTFILTERSESSION', JSON.stringify(incidentFilterSession));\r\n this.result = !Object.values(incidentFilterSession).every(o => o === null || o === undefined|| o === \"\");\r\n this.filterDiv = false;\r\n this.FilterData.fromDate = this.fromdateSheet;\r\n this.FilterData.toDate = this.todateSheet;\r\n this.TicketData = new MatTableDataSource(resp.content);\r\n this.TicketData.sort = this.sort;\r\n this.TicketData.paginator = this.paginator;\r\n this.TicketDataExport = resp.content;\r\n this.totalRecords = resp.totalElements;\r\n // this.downloadEnable = false;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n return;\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n /* downloadExcel = function () {\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n debugger;\r\n if ((this.FilterData.toDate != null) && (this.FilterData.fromDate != null)) {\r\n let toDate = this.FilterData.toDate.getTime();\r\n let fromDate = this.FilterData.fromDate.getTime();\r\n if (toDate == fromDate) {\r\n this.FilterData.toDate.setHours(this.FilterData.toDate.getHours() + 24);\r\n }\r\n }\r\n if (this.FilterData.fromDate != null) {\r\n this.fromdateSheet = this.FilterData.fromDate;\r\n this.FilterData.fromDate = this.FilterData.fromDate.getTime();\r\n }\r\n if (this.FilterData.toDate != null) {\r\n this.todateSheet = this.FilterData.toDate;\r\n this.FilterData.toDate = this.FilterData.toDate.getTime();\r\n }\r\n \r\n this.loading = true;\r\n this.ticketService.downloadIncident(headers, this.FilterData).subscribe(resp => {\r\n // Set Filter\r\n debugger;\r\n this.TicketDataExport = resp.content;\r\n this.downloadEnable= true;\r\n this.loading = false;\r\n }, (error: any) => {\r\n this.loading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n */\r\n // State List\r\n\r\n getActiveState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n return;\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // district List\r\n\r\n getActiveDistrictFromstate = function (state) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n return;\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // City List\r\n\r\n getActiveCityFromDistrict = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, name).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n return;\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n return;\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n Purchase Order\r\n \r\n \r\n${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n disable: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.getActiveState();\r\n this.getActiveProject();\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim();\r\n this.FilterData.state = state.trim();\r\n this.disable = true;\r\n this.getActiveDistrictFromstate(this.FilterData.state);\r\n }\r\n \r\n //Assign Filter\r\n let incidentFilterSession = JSON.parse(sessionStorage.getItem('INCIDENTFILTERSESSION'));\r\n if (sessionStorage.getItem('INCIDENTFILTERSESSION') != null) {\r\n this.FilterData.ticketNo = incidentFilterSession.ticketNo;\r\n this.FilterData.priority = incidentFilterSession.priority;\r\n this.FilterData.accountName = incidentFilterSession.accountName;\r\n this.FilterData.state = incidentFilterSession.state;\r\n this.FilterData.district = incidentFilterSession.district;\r\n this.FilterData.toDate = (new Date(incidentFilterSession.toDate));\r\n this.FilterData.fromDate = (new Date(incidentFilterSession.fromDate));\r\n if (Object.keys(incidentFilterSession).length === 0 && incidentFilterSession.constructor === Object) {\r\n return;\r\n }\r\n else{\r\n \r\n this.search();\r\n }\r\n }\r\n if (incidentFilterSession != null) { \r\n this.result = !Object.values(incidentFilterSession).every(o => o === null || o === \"\");\r\n } else {\r\n this.result = false;\r\n }\r\n \r\n // this.search();\r\n \r\n }\r\n }\r\n ","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Priority\r\n \r\n -Select-\r\n High\r\n Medium\r\n Low \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ state.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ district.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
Preventive & Corrective Maintenance, Help Desk Support and Vendor Management Report
\r\n\r\n
District:
\r\n
{{FilterData.district}}
\r\n
Period From:
\r\n
{{fromdateSheet| date:'dd-MM-yyyy'}}
\r\n
Period To:
\r\n
{{todateSheet| date:'dd-MM-yyyy'}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Sr. No. \r\n {{i+1}}\r\n Incident ID \r\n \r\n {{TicketData.ticketNo}}\r\n Unique Site ID\r\n \r\n
{{TicketData.location}}
\r\n
\r\n Device Ip/Serial No\r\n
{{TicketData.assetTag}}
\r\n
{{TicketData.serialNo}}
\r\n
\r\n Model No. / Model Type\r\n
{{TicketData.productModel}}
\r\n
{{TicketData.subCategory}}
\r\n
Priority\r\n
{{TicketData.priority}}
\r\n
Category/SubCategory\r\n \r\n
{{TicketData.ticketType}}
\r\n
{{TicketData.ticketCategory}}
\r\n
Incident Description\r\n \r\n
{{TicketData.description}}
\r\n
\r\n Incident Date / Close Date \r\n\r\n
0\">\r\n {{TicketData.dueDate| date:'dd-MM-yyyy HH:mm'}}
\r\n
\r\n
0 \">\r\n {{TicketData.ticketClosedTime| date:'dd-MM-yyyy HH:mm'}}\r\n
\r\n
\r\n
\r\n
\r\n Time To Resolve / Violation Duration \r\n
{{TicketData.totalCloserTime}}
\r\n
{{TicketData.violationTime}}
\r\n
\r\n Logged By / Closed By\r\n
{{TicketData.contactName}}
\r\n
{{TicketData.updatedBy}}
\r\n\r\n
Ticket Status\r\n
{{TicketData.ticketStatus}}
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Incident ID\r\n {{TicketData.ticketNo}} Unique Site ID\r\n \r\n {{TicketData.location}}\r\n Unique Site Address\r\n \r\n
{{TicketData.locationAddress}}
\r\n
\r\n Device IP\r\n {{TicketData.assetTag}}\r\n \r\n Serial No\r\n {{TicketData.serialNo}}\r\n \r\n Model No.\r\n {{TicketData.productModel}}\r\n \r\n Model Type\r\n {{TicketData.subCategory}}\r\n Priority\r\n {{TicketData.priority}}\r\n Category\r\n \r\n {{TicketData.ticketType}}\r\n SubCategory\r\n \r\n {{TicketData.ticketCategory}}\r\n Vendor Name\r\n \r\n {{TicketData.ticketSubcategory}}\r\n Incident Description\r\n \r\n {{TicketData.description}}\r\n Action Description\r\n \r\n {{TicketData.resolution}}\r\n \r\n Incident Date \r\n
0\">\r\n {{TicketData.dueDate| date:'dd-MM-yyyy HH:mm'}}
\r\n
\r\n
\r\n Closed Date\r\n \r\n
0\">\r\n {{TicketData.ticketClosedTime| date:'dd-MM-yyyy HH:mm'}}
\r\n
\r\n
\r\n Time To Resolve \r\n {{TicketData.totalCloserTime}}\r\n \r\n Violation Duration \r\n {{TicketData.violationTime}}\r\n \r\n Logged By \r\n {{TicketData.contactName}}\r\n \r\n Closed By\r\n {{TicketData.updatedBy}}\r\n Ticket Status\r\n {{TicketData.ticketStatus}}\r\n Attachment\r\n
NO
\r\n
YES
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { TicketReportService } from '../ticket-report.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-orphan-trips',\r\n templateUrl: './orphan-trips.component.html',\r\n providers: [TicketReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class OrphanTripsComponent implements OnInit {\r\n\r\n constructor( private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketService: TicketReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = [ 'tripId','vehicleNo','distance','startTime', 'Source'];\r\n\r\n exportColumns: string[] = [ 'tripId','vehicleNo','distance','startTime', 'endTime','Source','destination'];\r\n TripData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = {\"vehicleNo\":null, \"startTime\": null, \"endTime\":null};\r\n\r\n TripDataExport:any = [];\r\n vehicleList:any = [];\r\n\r\n PageTitle = \"Orphan Trips Report\";\r\n\r\n\r\n filterDiv:boolean = false;\r\n // addUser = function() {\r\n // debugger;\r\n // this.router.navigate(['/TicketMaster']);\r\n // }\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TripData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n filterFunc = function() {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function() {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n getActiveVehicleList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveVehicleList(headers).subscribe(resp => {\r\n debugger;\r\n this.vehicleList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n if (this.FilterData.startTime != null)\r\n {\r\n this.FilterData.startTime = this.FilterData.startTime.getTime();\r\n }\r\n if (this.FilterData.endTime != null)\r\n {\r\n this.FilterData.endTime = this.FilterData.endTime.getTime();\r\n }\r\n this.ticketService.orphanTrips(headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.filterDiv = false;\r\n this.TripDataExport = resp;\r\n this.TripData= new MatTableDataSource(resp);\r\n this.TripData.sort = this.sort;\r\n this.TripData.paginator = this.paginator;\r\n this.totalRecords = this.TripData.filteredData.length;\r\n this.showLoading = false;\r\n \r\n \r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n ngOnInit(): void {\r\n this.search();\r\n \r\n }\r\n\r\n}\r\n\r\n ","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ v.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Trip Id \r\n
{{TripData.tripId}}
\r\n
Vehicle No \r\n
{{TripData.vehicleNo}}
\r\n
Distance \r\n
{{TripData.distance}}
\r\n
Start Time/ End Time\r\n
{{TripData.startTime| date:'dd-MM-yyyy HH:mm'}} \r\n
\r\n
{{TripData.endTime|date:'dd-MM-yyyy HH:mm'}}
\r\n
Source/ Destination \r\n
Loading...\r\n
\r\n
\r\n
\r\n
Loading...\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Trip Id \r\n
{{TripData.tripId}}
\r\n
Vehicle No \r\n
{{TripData.vehicleNo}}
\r\n
Distance \r\n
{{TripData.distance}}
\r\n
Start Time\r\n
{{TripData.startTime| date:'dd-MM-yyyy HH:mm'}} \r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t \r\n
End Time\r\n \r\n
{{TripData.endTime| date:'dd-MM-yyyy HH:mm'}}
\r\n
Source \r\n
Loading...\r\n
\r\n
\r\n \r\n
Destination \r\n \r\n
\r\n
Loading...\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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { TicketReportService } from '../ticket-report.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { TicketSLAFilterSession } from '../../helpdeskfilterdata';\r\n\r\n@Component({\r\n selector: 'app-sla-report',\r\n templateUrl: './sla-report.component.html',\r\n providers: [TicketReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class TicketSLAReportComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketService: TicketReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['ticketNo', 'location',\r\n 'ticketType', 'ticketStatus', 'priority', 'ticketOwnerName', 'assignName', 'createdate'];\r\n\r\n exportColumns: string[] = ['ticketNo', 'ticketCategory', 'location', 'category', 'subcategory', 'district', 'createdBy',\r\n 'assignName', 'ticketType', 'priority', 'dueDate', 'resolutionDate', 'ticketClosedTime', 'totalCloserTime', 'updatedBy', 'ticketStatus']\r\n\r\n TicketMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n TicketDataExport: any = [];\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n pageSizedisplay = this._global.pageSize;\r\n FilterData = {\r\n \"ticketNo\": null, \"priority\": null, \"accountName\": null, \"state\": null,\r\n \"district\": null, \"fromDate\": null, \"toDate\": null\r\n };\r\n\r\n PageTitle = \"Ticket SLA Report\";\r\n filterDiv: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TicketMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n projectList: any = [];\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n this.getProjectList();\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"ASSETFILTERSESSION\");\r\n this.result = false;\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n }\r\n //get all project list\r\n getProjectList = function () {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n // debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n fromdateSheet :any;\r\n todateSheet :any;\r\n\r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n // Set Filter\r\n debugger;\r\n let ticketSlafilterSession = new TicketSLAFilterSession();\r\n ticketSlafilterSession.ticketNo = this.FilterData.ticketNo;\r\n ticketSlafilterSession.priority = this.FilterData.priority;\r\n ticketSlafilterSession.accountName = this.FilterData.accountName;\r\n ticketSlafilterSession.fromDate = this.FilterData.fromDate;\r\n ticketSlafilterSession.toDate = this.FilterData.toDate;\r\n sessionStorage.setItem('TICKETSLAFILTERSESSION', JSON.stringify(ticketSlafilterSession));\r\n this.result = !Object.values(ticketSlafilterSession).every(o => o === null || o === undefined|| o === \"\");\r\n this.filterDiv = false;\r\n \r\n if ((this.FilterData.toDate != null) && (this.FilterData.fromDate != null)) {\r\n let toDate = this.FilterData.toDate.getTime();\r\n let fromDate = this.FilterData.fromDate.getTime();\r\n if (toDate == fromDate) {\r\n this.FilterData.toDate.setHours(this.FilterData.toDate.getHours() + 24);\r\n }\r\n }\r\n if (this.FilterData.fromDate != null) {\r\n this.fromdateSheet = this.FilterData.fromDate;\r\n this.FilterData.fromDate = this.FilterData.fromDate.getTime();\r\n }\r\n if (this.FilterData.toDate != null) {\r\n this.todateSheet = this.FilterData.toDate;\r\n this.FilterData.toDate = this.FilterData.toDate.getTime();\r\n }\r\n this.ticketService.ticketSLAReport(headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n this.FilterData.fromDate = this.fromdateSheet;\r\n this.FilterData.toDate = this.todateSheet;\r\n \r\n this.filterDiv = false;\r\n this.TicketDataExport = resp.content;\r\n this.TicketMasterData= new MatTableDataSource(resp.content);\r\n this.TicketMasterData.sort = this.sort;\r\n this.TicketMasterData.paginator = this.paginator;\r\n this.totalRecords = resp.totalElements;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim().toLowerCase();\r\n this.FilterData.state = state.trim().toLowerCase();\r\n }\r\n \r\n //Assign Filter\r\n let ticketSlafilterSession = JSON.parse(sessionStorage.getItem('TICKETSLAFILTERSESSION'));\r\n if (sessionStorage.getItem('TICKETSLAFILTERSESSION') != null) {\r\n this.FilterData.ticketNo = ticketSlafilterSession.ticketNo;\r\n this.FilterData.priority = ticketSlafilterSession.priority;\r\n this.FilterData.accountName = ticketSlafilterSession.accountName;\r\n this.FilterData.fromDate = ticketSlafilterSession.fromDate;\r\n this.FilterData.toDate = ticketSlafilterSession.toDate;\r\n if (Object.keys(ticketSlafilterSession).length === 0 && ticketSlafilterSession.constructor === Object) {\r\n return;\r\n }\r\n else{\r\n this.search();\r\n }\r\n }\r\n if (ticketSlafilterSession != null) { \r\n this.result = !Object.values(ticketSlafilterSession).every(o => o === null || o === \"\");\r\n } else {\r\n this.result = false;\r\n }\r\n\r\n //this.search();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Priority\r\n \r\n -Select-\r\n High\r\n Medium\r\n Low \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Ticket No. / Title \r\n \r\n
{{TicketMasterData.ticketTitle}}
\r\n\r\n
Unique Site Id / Asset\r\n \r\n
\r\n {{TicketMasterData.location}}\r\n
\r\n
{{TicketMasterData.assetName}}
\r\n\r\n
Ticket Type \r\n {{TicketMasterData.ticketType}}\r\n Status \r\n {{TicketMasterData.ticketStatus}}\r\n Priority \r\n {{TicketMasterData.priority}}\r\n Ticket Owner \r\n {{TicketMasterData.ticketOwnerName}}\r\n Assigned To \r\n {{TicketMasterData.assignName}}\r\n Created Date \r\n {{TicketMasterData.createdDate | date:'dd-MM-yyyy HH:mm'}}\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Incident ID\r\n \r\n {{TicketData.ticketNo}}\r\n \r\n Ticket Category\r\n {{TicketData.ticketCategory}}\r\n\r\n Unique Site ID\r\n \r\n {{TicketData.location}}\r\n \r\n Category\r\n {{TicketData.category}}\r\n \r\n Model No.\r\n {{TicketData.productModel}}\r\n \r\n Model Type\r\n {{TicketData.subcategory}}\r\n Sub Category\r\n {{TicketData.subcategory}}\r\n District\r\n \r\n {{TicketData.district}}\r\n Created By\r\n \r\n {{TicketData.createdBy}}\r\n Assign Name\r\n \r\n {{TicketData.assignName}}\r\n \r\n Ticket Type \r\n {{TicketData.ticketType}}\r\n \r\n Priority\r\n {{TicketData.priority}}\r\n \r\n Due Date\r\n {{TicketData.dueDate| date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Resolution Date\r\n {{TicketData.resolutionDate|date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Closed Date\r\n \r\n {{TicketData.ticketClosedTime| date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Time To Resolve \r\n {{TicketData.totalCloserTime}}\r\n \r\n Closed By\r\n {{TicketData.updatedBy}}\r\n Ticket Status\r\n {{TicketData.ticketStatus}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { TicketReportService } from '../ticket-report.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { TicketMISFilterSession } from '../../helpdeskfilterdata';\r\n\r\n@Component({\r\n selector: 'app-ticket-mis-report',\r\n templateUrl: './ticket-mis-report.component.html',\r\n providers: [TicketReportService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class TicketMISComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private ticketService: TicketReportService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['ticketNo', 'ticketCategory', 'location', 'category', 'createdBy',\r\n 'ticketType', 'dueDate', 'ticketClosedTime', 'updatedBy', 'ticketStatus'];\r\n\r\n exportColumns: string[] = ['ticketNo', 'ticketCategory', 'location', 'category', 'subcategory', 'district', 'createdBy',\r\n 'assignName', 'ticketType', 'priority', 'dueDate', 'resolutionDate', 'ticketClosedTime', 'totalCloserTime', 'updatedBy', 'ticketStatus']\r\n\r\n TicketData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n TicketDataExport: any = [];\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = {\r\n \"ticketNo\": null, \"priority\": null, \"accountName\": null, \"state\": null,\r\n \"district\": null, \"location\": null, \"ticketStatus\": null, \"fromDate\": null, \"toDate\": null\r\n };\r\n\r\n PageTitle = \"Ticket MIS Report\";\r\n\r\n projectList: any = [];\r\n stateList: any = [];\r\n districtList: any = [];\r\n locationList: any = [];\r\n filterDiv: boolean = false;\r\n // addUser = function() {\r\n // debugger;\r\n // this.router.navigate(['/TicketMaster']);\r\n // }\r\n\r\n getActiveState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // district List\r\n\r\n getActiveDistrictFromstate = function (state) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // City List\r\n\r\n getActiveLocationsFromDistrict = function (district) {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveLocationsFromDistrict(headers, district).subscribe(resp => {\r\n // debugger;\r\n this.locationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getActiveProject = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n disable: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TicketData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"TICKETMISFILTERSESSION\");\r\n this.result = false;\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim();\r\n this.FilterData.state = state.trim();\r\n this.disable = true;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n fromdateSheet: any;\r\n todateSheet: any;\r\n\r\n search = function () {\r\n debugger;\r\n // this.FilterData\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n if ((this.FilterData.toDate != null) && (this.FilterData.fromDate != null)) {\r\n let toDate = this.FilterData.toDate.getTime();\r\n let fromDate = this.FilterData.fromDate.getTime();\r\n if (toDate == fromDate) {\r\n this.FilterData.toDate.setHours(this.FilterData.toDate.getHours() + 24);\r\n }\r\n }\r\n if (this.FilterData.fromDate != null) {\r\n this.fromdateSheet = this.FilterData.fromDate;\r\n this.FilterData.fromDate = this.FilterData.fromDate.getTime();\r\n }\r\n if (this.FilterData.toDate != null) {\r\n this.todateSheet = this.FilterData.toDate;\r\n this.FilterData.toDate = this.FilterData.toDate.getTime();\r\n }\r\n\r\n this.ticketService.ticketMisReport(headers, this.FilterData).subscribe(resp => {\r\n debugger;\r\n // Set Filter\r\n debugger;\r\n this.FilterData.fromDate = this.fromdateSheet;\r\n this.FilterData.toDate = this.todateSheet;\r\n\r\n let ticketMisfilterSession = new TicketMISFilterSession();\r\n ticketMisfilterSession.ticketNo = this.FilterData.ticketNo;\r\n ticketMisfilterSession.priority = this.FilterData.priority;\r\n ticketMisfilterSession.accountName = this.FilterData.accountName;\r\n ticketMisfilterSession.state = this.FilterData.state;\r\n ticketMisfilterSession.district = this.FilterData.district;\r\n ticketMisfilterSession.location = this.FilterData.location;\r\n ticketMisfilterSession.fromDate = this.FilterData.fromDate;\r\n ticketMisfilterSession.toDate = this.FilterData.toDate;\r\n ticketMisfilterSession.ticketStatus = this.FilterData.ticketStatus;\r\n sessionStorage.setItem('TICKETMISFILTERSESSION', JSON.stringify(ticketMisfilterSession));\r\n this.result = !Object.values(ticketMisfilterSession).every(o => o === null || o === undefined || o === \"\");\r\n\r\n this.filterDiv = false;\r\n this.TicketDataExport = resp.content;\r\n this.TicketData = new MatTableDataSource(resp.content);\r\n this.TicketData.sort = this.sort;\r\n this.TicketData.paginator = this.paginator;\r\n this.totalRecords = resp.totalElements;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getActiveState();\r\n this.getActiveProject();\r\n var district = sessionStorage.getItem(\"selectedDistrict\");\r\n var state = sessionStorage.getItem(\"selectedState\");\r\n if (district != null) {\r\n this.FilterData.district = district.trim();\r\n this.FilterData.state = state.trim();\r\n this.disable = true;\r\n this.getActiveDistrictFromstate(state.trim());\r\n this.getActiveLocationsFromDistrict(district.trim());\r\n }\r\n\r\n //Assign Filter\r\n let ticketMisfilterSession = JSON.parse(sessionStorage.getItem('TICKETMISFILTERSESSION'));\r\n if (sessionStorage.getItem('TICKETMISFILTERSESSION') != null) {\r\n this.FilterData.ticketNo = ticketMisfilterSession.ticketNo;\r\n this.FilterData.priority = ticketMisfilterSession.priority;\r\n this.FilterData.accountName = ticketMisfilterSession.accountName;\r\n this.FilterData.state = ticketMisfilterSession.state;\r\n this.FilterData.district = ticketMisfilterSession.district;\r\n this.FilterData.location = ticketMisfilterSession.location;\r\n this.FilterData.fromDate = ticketMisfilterSession.fromDate;\r\n this.FilterData.toDate = ticketMisfilterSession.toDate;\r\n this.FilterData.ticketStatus = ticketMisfilterSession.ticketStatus;\r\n if (Object.keys(ticketMisfilterSession).length === 0 && ticketMisfilterSession.constructor === Object) {\r\n return;\r\n }\r\n else {\r\n this.search();\r\n }\r\n }\r\n if (ticketMisfilterSession != null) {\r\n this.result = !Object.values(ticketMisfilterSession).every(o => o === null || o === \"\");\r\n } else {\r\n this.result = false;\r\n }\r\n\r\n // this.search();\r\n\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Priority\r\n \r\n -Select-\r\n High\r\n Medium\r\n Low \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ project.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ state.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ district.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ location.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n OPEN\r\n ESCALATED\r\n RESOLVED\r\n FORWARDED\r\n REASSIGNED\r\n ONHOLD\r\n CLOSED\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Ticket No./ Problem\r\n Identified Category \r\n \r\n {{TicketData.ticketNo}}\r\n
{{TicketData.ticketCategory}}
\r\n
\r\n \r\n\r\n USID/ District \r\n
{{TicketData.location}}
\r\n
{{TicketData.district}}
\r\n\r\n
Category/SubCategory\r\n \r\n
{{TicketData.category}}
\r\n
{{TicketData.subcategory}}
\r\n
Created By/ Assigned To\r\n \r\n
{{TicketData.createdBy}}
\r\n
{{TicketData.assignName}}
\r\n
Ticket Type / Priority\r\n \r\n
{{TicketData.ticketType}}
\r\n
{{TicketData.priority}}
\r\n
Ticket Created Date Time/\r\n Resolution Date \r\n
{{TicketData.dueDate| date:'dd-MM-yyyy HH:mm'}}\r\n
\r\n
{{TicketData.resolutionDate| date:'dd-MM-yyyy HH:mm'}}\r\n
\r\n
Ticket Closed Date Time/\r\n Total Ticket Closer Time \r\n
\r\n {{TicketData.ticketClosedTime| date:'dd-MM-yyyy HH:mm'}}
\r\n
{{TicketData.totalCloserTime}}
\r\n
Closed By \r\n
\r\n {{TicketData.updatedBy}}\r\n
\r\n
\r\n
Ticket Status\r\n
{{TicketData.ticketStatus}}
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Incident ID\r\n \r\n {{TicketData.ticketNo}}\r\n \r\n Ticket Category\r\n {{TicketData.ticketCategory}}\r\n\r\n Unique Site ID\r\n \r\n {{TicketData.location}}\r\n \r\n Category\r\n {{TicketData.category}}\r\n \r\n Model No.\r\n {{TicketData.productModel}}\r\n \r\n Model Type\r\n {{TicketData.subcategory}}\r\n Sub Category\r\n {{TicketData.subcategory}}\r\n District\r\n \r\n {{TicketData.district}}\r\n Created By\r\n \r\n {{TicketData.createdBy}}\r\n Assign Name\r\n \r\n {{TicketData.assignName}}\r\n \r\n Ticket Type \r\n {{TicketData.ticketType}}\r\n \r\n Priority\r\n {{TicketData.priority}}\r\n \r\n Due Date\r\n {{TicketData.dueDate| date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Resolution Date\r\n {{TicketData.resolutionDate| date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Closed Date\r\n \r\n {{TicketData.ticketClosedTime| date:'dd-MM-yyyy HH:mm'}}\r\n \r\n Time To Resolve \r\n {{TicketData.totalCloserTime}}\r\n \r\n Closed By\r\n {{TicketData.updatedBy}}\r\n Ticket Status\r\n {{TicketData.ticketStatus}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TicketReportService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n\r\n\r\n ticketAgeingReport(header,body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketReport/ticketAgingReport';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n ticketEscalationReport(header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketReport/getEscalationReport/';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n ticketMisReport(header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketReport/getTicketMisReport?page='+1+'&size='+5000;\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n incidentReport(header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketReport/getIncidentReportByFilter?page='+1+'&size='+5000;\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n downloadIncident(header, body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketReport/getIncidentReportByFilter?page='+1+'&size='+ 15000;\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n orphanTrips(header,body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketReport/getAllOrphanTickets';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n\r\n ticketSLAReport(header,body) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ticketReport/missedSLAResolutionReport';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n\r\n}\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { VehicleMasterService } from '../vehicle-master.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-vehicle',\r\n templateUrl: './add-vehicle.component.html',\r\n providers: [VehicleMasterService,AppGlobals, DialogService, SharedService,FileuploadService]\r\n\r\n})\r\nexport class AddVehicleComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private vehicleMasterService: VehicleMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,private fileuploadService: FileuploadService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Vehicle Master\";\r\n\r\n vehRegFiles: any = [];\r\n vehInsFiles: any = [];\r\n vehPollFiles: any = [];\r\n vehOtherFiles: any = [];\r\n vehLetterFiles: any = [];\r\n vehInvoiceFiles: any = [];\r\n vehReleaseFiles: any = [];\r\n\r\n\r\n add = true;\r\n edit = false;\r\n list = true;\r\n VehicleData = {\r\n \"vehicleType\":null,\"vehicleName\":null,\"vehicleMake\":null,\"vendorName\":null,\"vehicleCateory\":null,\r\n \"vehicleRegNumber\":null,\"vehiclepurchaseDate\":null,\"deliveryDate\":null,\r\n \"projectName\":null,\"vehicleInsurance\":null,\"pollutionClearanceDone\":null,\r\n \"state\":null,\"district\":null,\"usid\":null,\"remarks\":null\r\n };\r\n\r\n\r\n stateList:any = [];\r\n districtList:any = [];\r\n projectList:any = [];\r\n manufactureList:any = [];\r\n categoryList:any = [];\r\n locationList:any = [];\r\n \r\n \r\n\r\n\r\n addVehicleMasterForm: FormGroup;\r\n isSubmitted = false;\r\n \r\n\r\n back = function () {\r\n this.router.navigate(['/searchVehicle']);\r\n }\r\n\r\n getAllState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // districtL List\r\n\r\n getAllDistrictByState = function (stateName) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDistrictList(headers, stateName).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n getProjectList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveProject(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n getManfactureList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveManufacturer(headers).subscribe(resp => {\r\n debugger;\r\n this.manufactureList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getActiveCategory = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n debugger;\r\n this.categoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n \r\n \r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n\r\n\r\n getActiveLocationsFromDistrict = function (district) {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveLocationsFromDistrict(headers, district).subscribe(resp => {\r\n // debugger;\r\n this.locationList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n // getLocationList = function () {\r\n // debugger;\r\n // const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n // this.showLoading = true;\r\n // this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n // debugger;\r\n // this.categoryList = resp;\r\n // this.showLoading = false;\r\n // }, (error: any) => {\r\n // debugger;\r\n // this.showLoading = false;\r\n // const errStr = error.message;\r\n // this.dialogService.openConfirmDialog(errStr)\r\n // });\r\n // }\r\n\r\n // Add / update function\r\n addVehicle = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addVehicleMasterForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n //If mandatory then check for atleast one fileuploaded\r\n // if (!this.fileuploadService.hasfile(this.vehRegFiles)) {\r\n // this.dialogService.openConfirmDialog(\"Please uplaod profile pic\")\r\n // return;\r\n // }\r\n //Check if all files are uploaded Successfully\r\n if (this.vehRegFiles.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.vehRegFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.VehicleData.regCertificate = this.fileuploadService.getFirstFilePath(this.vehRegFiles);\r\n }\r\n if (this.vehInsFiles.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.vehInsFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.VehicleData.insuranceCertificate = this.fileuploadService.getFirstFilePath(this.vehInsFiles);\r\n }\r\n if (this.vehPollFiles.length>0){\r\n \r\n if (!this.fileuploadService.allFilesUploaded(this.vehPollFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.VehicleData.pollutionCertificate = this.fileuploadService.getFirstFilePath(this.vehPollFiles); \r\n }\r\n if (this.vehOtherFiles.length>0){\r\n \r\n if (!this.fileuploadService.allFilesUploaded(this.vehOtherFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.VehicleData.otherDocuments = this.fileuploadService.getFirstFilePath(this.vehOtherFiles);\r\n }\r\n if (this.vehLetterFiles.length>0){\r\n \r\n if (!this.fileuploadService.allFilesUploaded(this.vehLetterFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.VehicleData.letterOfIntent = this.fileuploadService.getFirstFilePath(this.vehLetterFiles);\r\n\r\n }\r\n if (this.vehInvoiceFiles.length>0){\r\n \r\n if (!this.fileuploadService.allFilesUploaded(this.vehInvoiceFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.VehicleData.invoice = this.fileuploadService.getFirstFilePath(this.vehInvoiceFiles);\r\n }\r\n if (this.vehReleaseFiles.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.vehReleaseFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.VehicleData.releaseDocument = this.fileuploadService.getFirstFilePath(this.vehReleaseFiles);\r\n}\r\n \r\n this.VehicleData.vehiclepurchaseDate = this.VehicleData.vehiclepurchaseDate.getTime();\r\n this.VehicleData.deliveryDate = this.VehicleData.deliveryDate.getTime();\r\n this.showLoading = true;\r\n \r\n this.vehicleMasterService.saveVehicle(this.VehicleData,headers,flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Vehicle \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n\r\n this.addVehicleMasterForm.reset();\r\n if (flag == 'update' || 'save') {\r\n this.router.navigate(['/searchVehicle']);\r\n }\r\n //this.VehicleData = {};\r\n //this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.VehicleData.vehiclepurchaseDate = (new Date(this.VehicleData.vehiclepurchaseDate));\r\n this.VehicleData.deliveryDate = (new Date(this.VehicleData.deliveryDate));\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n\r\n \r\n\r\n // Get data by id\r\n editon = function (id,flag) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var entityId = id;\r\n this.PageTitle = \"Update Vehicle Master\";\r\n this.disabledField();\r\n this.vehicleMasterService.vehicleById(entityId, headers,flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.VehicleData = resp;\r\n\r\n this.VehicleData.vehiclepurchaseDate = (new Date(this.VehicleData.vehiclepurchaseDate));\r\n this.VehicleData.deliveryDate = (new Date(this.VehicleData.deliveryDate));\r\n this.getAllState();\r\n this.getAllDistrictByState(this.VehicleData.state);\r\n this.getActiveLocationsFromDistrict(this.VehicleData.district)\r\n \r\n \r\n if ( this.VehicleData.regCertificate != null) {\r\n this.vehRegFiles = this.fileuploadService.getSingleFileArray( this.VehicleData.regCertificate);\r\n } \r\n \r\n if ( this.VehicleData.insuranceCertificate != null) {\r\n this.vehInsFiles = this.fileuploadService.getSingleFileArray(this.VehicleData.insuranceCertificate);\r\n } \r\n \r\n if ( this.VehicleData.pollutionCertificate != null) {\r\n this.vehPollFiles = this.fileuploadService.getSingleFileArray(this.VehicleData.pollutionCertificate);\r\n } \r\n if ( this.VehicleData.otherDocuments != null) {\r\n this.vehOtherFiles = this.fileuploadService.getSingleFileArray( this.VehicleData.otherDocuments );\r\n } \r\nif ( this.VehicleData.letterOfIntent != null) {\r\n this.vehLetterFiles = this.fileuploadService.getSingleFileArray(this.VehicleData.letterOfIntent);\r\n } \r\nif ( this.VehicleData.invoice!= null) {\r\n this.vehInvoiceFiles = this.fileuploadService.getSingleFileArray(this.VehicleData.invoice);\r\n } \r\nif ( this.VehicleData.releaseDocument!= null) {\r\n this.vehReleaseFiles = this.fileuploadService.getSingleFileArray(this.VehicleData.releaseDocument);\r\n } \r\n \r\n \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n // Disabled Function\r\n disabledField = function () {\r\n this.addVehicleMasterForm.get('vehicleRegNumber').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addVehicleMasterForm.get('vehicleRegNumber').enable();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addVehicleMasterForm = this.formBuilder.group({\r\n vehicleType:[null, Validators.required],\r\n vehicleName:[null, Validators.required],\r\n vehicleMake:[null, Validators.required],\r\n vendorName:[null, Validators.required],\r\n vehicleCateory:[null, Validators.required],\r\n vehicleRegNumber:[null, Validators.required],\r\n vehiclepurchaseDate:[null, Validators.required],\r\n deliveryDate:[null, Validators.required],\r\n projectName:[null],\r\n vehicleInsurance:[null,Validators.required],\r\n pollutionClearanceDone:[null,Validators.required],\r\n state:[null,Validators.required],\r\n district:[null,Validators.required],\r\n usid:[null,Validators.required],\r\n remarks:[null],\r\n \r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Vehicle\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n\r\n this.getAllState();\r\n this.getProjectList(); \r\n this.getManfactureList();\r\n this.getActiveCategory();\r\n // this.getLocationList\r\n }\r\n get formControls() { \r\n return this.addVehicleMasterForm.controls;\r\n }\r\n \r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n Basic Vehicle Details\r\n
\r\n\r\n
\r\n
\r\n \r\n Vehicle Type\r\n \r\n -Select-\r\n Pay-Loader\r\n Crane\r\n Pick-Up\r\n Any Other\r\n\r\n \r\n
\r\n
Vehicle Type is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Vehicle Type is required\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Vehicle Make\r\n \r\n -Select-\r\n \r\n {{vehicleMakeData.selectionvalue}}\r\n \r\n
\r\n
Vehicle Make is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Vendor Name is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Vehicle Category\r\n \r\n -Select-\r\n \r\n {{categoryData.selectionvalue}}\r\n \r\n
\r\n
Vehicle Category is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Vehicle Register Number is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Vehicle Purchase Date required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Vehicle delivery Date required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Project Name\r\n \r\n -Select-\r\n \r\n {{projectData.selectionvalue}}\r\n \r\n
\r\n
Project is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n Insurance Details\r\n
\r\n\r\n
\r\n
\r\n \r\n Vehicle Insurance\r\n \r\n -Select-\r\n YES\r\n NO\r\n\r\n\r\n \r\n
\r\n
Vehicle Insurance required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n Other Details\r\n
\r\n\r\n
\r\n
\r\n \r\n Pollution Clearance Details\r\n \r\n -Select-\r\n YES\r\n NO\r\n\r\n\r\n \r\n
\r\n
Vehicle Insurance required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n District\r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n
\r\n
District is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n USID\r\n \r\n -Select-\r\n \r\n {{locationData.selectionvalue}}\r\n \r\n
\r\n
Location is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Upload Documents/Ceritficates\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n
\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { VehicleMasterService } from './vehicle-master.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { VehicleFilterSession } from '../helpdeskfilterdata';\r\n@Component({\r\n selector: 'app-vehicle-master',\r\n templateUrl: './vehicle-master.component.html',\r\n providers: [VehicleMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class VehicleMasterComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private vehicleMasterService: VehicleMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['vehicleType', 'vehicleName', 'vehicleRegNumber', 'vehiclepurchaseDate', 'vehicleInsurance', 'pollutionClearanceDone', 'action'];\r\n VehicleMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n FilterData = {\r\n \"vehicleType\": \"\", \"vehicleName\": \"\", \"vehicleRegNumber\": \"\",\r\n isdeleted: false\r\n };\r\n PageTitle = \"Vehicle Details\";\r\n filterDiv: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.VehicleMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n addVehicle = function () {\r\n this.router.navigate(['/VehicleMaster']);\r\n }\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"VEHICLEFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.FilterData.confirmed = true;\r\n this.vehicleMasterService.getVehicleList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let vehicleFilterSession = new VehicleFilterSession();\r\n vehicleFilterSession.vehicleType = this.FilterData.vehicleType;\r\n vehicleFilterSession.vehicleName = this.FilterData.vehicleName;\r\n vehicleFilterSession.vehicleRegNumber = this.FilterData.vehicleRegNumber;\r\n sessionStorage.setItem('VEHICLEFILTERSESSION', JSON.stringify(vehicleFilterSession));\r\n this.result = !Object.values(vehicleFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.VehicleMasterData = new MatTableDataSource(resp);\r\n this.VehicleMasterData.sort = this.sort;\r\n this.VehicleMasterData.paginator = this.paginator;\r\n this.totalRecords = this.VehicleMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n deleteVehicle = function (vehicleRegNo) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = vehicleRegNo;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.vehicleMasterService.deleteVehicle(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Vehicle deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n ngOnInit(): void { \r\n //Assign Filter\r\n let vehicleFilterSession = JSON.parse(sessionStorage.getItem('VEHICLEFILTERSESSION'));\r\n if (sessionStorage.getItem('VEHICLEFILTERSESSION') != null) {\r\n this.FilterData.vehicleType = vehicleFilterSession.vehicleType;\r\n this.FilterData.vehicleName = vehicleFilterSession.vehicleName;\r\n this.FilterData.vehicleRegNumber = vehicleFilterSession.vehicleRegNumber;\r\n }\r\n if (vehicleFilterSession != null) {\r\n this.result = !Object.values(vehicleFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Veh.Type \r\n {{VehicleMasterData.vehicleType}}\r\n Veh.Name\r\n {{VehicleMasterData.vehicleName}}\r\n Veh.Reg.No \r\n {{VehicleMasterData.vehicleRegNumber}}\r\n Purchase Date \r\n {{VehicleMasterData.vehiclepurchaseDate |date}}\r\n Ins.Status \r\n \r\n \r\n \r\n Pollution Clearance \r\n \r\n \r\n Action \r\n \r\n edit\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VehicleMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveVehicle(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehiclemaster';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehiclemaster/'+body.vehicleRegNumber;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n// getVehicleList(header) {\r\n// debugger;\r\n// var url = this._global.baseAPIUrl + 'ipms/vehiclemaster/vehicleByFilter';\r\n// return this._http.get(url , {headers: header});\r\n// }\r\n\r\ngetVehicleList(body,header ) {\r\n \r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehiclemaster/vehicleByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n \r\n}\r\n\r\n// getVehicleList(header) {\r\n// debugger;\r\n// var url = this._global.baseAPIUrl + 'ipms/vehiclemaster/vehicleByFilter';\r\n// return this._http.get(url , {headers: header});\r\n// }\r\n\r\n \r\n\r\nvehicleById(vehicleRegNumber, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehiclemaster/'+vehicleRegNumber;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteVehicle (vehicleRegNo, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehiclemaster/'+vehicleRegNo;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n}\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { VehicleServiceMasterService } from '../vehicle-service-master.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-vehicle-service',\r\n templateUrl: './add-vehicle-service.component.html',\r\n providers: [VehicleServiceMasterService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n\r\n})\r\nexport class AddVehicleServiceComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient,\r\n private vehicleServiceMasterService: VehicleServiceMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Vehicle Service Master\";\r\n vehServiceFiles: any = [];\r\n\r\n add = true;\r\n edit = false;\r\n list = true;\r\n VehicleServiceData = {\r\n \"vehicleRegistrationNumber\": \"\", \"servicePeriodFrom\": \"\", \"servicePeriodTo\": \"\", \"serviceInvoiceNumber\": \"\", \"serviceCentreName\": \"\",\r\n \"kilometerReading\": \"\", \"serviceStatus\": \"\", \"nextServiceDueDate\": \"\", \"serviceCostIncurred\": \"\",\r\n \"uploadedAttachment\": null, \"remark\": \"\", \"isAFreeService\": \"NO\"\r\n };\r\n\r\n addVehicleServiceForm: FormGroup;\r\n isSubmitted = false;\r\n IsAFreeService = \"NO\";\r\n vehicleList: any = [];\r\n\r\n\r\n\r\n\r\n back = function () {\r\n this.router.navigate(['/searchService']);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name === o2.name && o1.id === o2.id;\r\n }\r\n\r\n\r\n getActiveVehicleList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveVehicleList(headers).subscribe(resp => {\r\n debugger;\r\n this.vehicleList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n checked: boolean = false;\r\n checkChange(checked: boolean) {\r\n debugger;\r\n this.checked = !checked;\r\n this.IsAFreeService = this.checked ? \"YES\" : \"NO\";\r\n this.VehicleServiceData.isAFreeService = this.IsAFreeService;\r\n // this.POEntityData.currency = this.checked ? \"INR\" : null;\r\n }\r\n\r\n\r\n\r\n\r\n // Add / update function\r\n addVehicleService = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addVehicleServiceForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n if (this.vehServiceFiles.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.vehServiceFiles)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.VehicleServiceData.uploadedAttachment = this.fileuploadService.getFirstFilePath(this.vehServiceFiles);\r\n }\r\n this.VehicleServiceData.servicePeriodFrom = this.VehicleServiceData.servicePeriodFrom.getTime();\r\n this.VehicleServiceData.servicePeriodTo = this.VehicleServiceData.servicePeriodTo.getTime();\r\n this.VehicleServiceData.nextServiceDueDate = this.VehicleServiceData.nextServiceDueDate.getTime();\r\n this.showLoading = true;\r\n\r\n this.vehicleServiceMasterService.saveVehicleService(this.VehicleServiceData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Vehicle Service \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n\r\n this.addVehicleServiceForm.reset();\r\n if (flag == 'update' || 'save') {\r\n this.router.navigate(['/searchService']);\r\n }\r\n //this.VehicleServiceData = {};\r\n //this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n this.VehicleServiceData.servicePeriodFrom = (new Date(this.VehicleServiceData.servicePeriodFrom));\r\n this.VehicleServiceData.servicePeriodTo = (new Date(this.VehicleServiceData.servicePeriodTo));\r\n this.VehicleServiceData.nextServiceDueDate = (new Date(this.VehicleServiceData.nextServiceDueDate));\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // Get data by id\r\n editon = function (id, flag) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var vehicleRegistrationNumber = id;\r\n this.PageTitle = \"Update Vehicle Service Master\";\r\n this.vehicleServiceMasterService.vehicleServiceByVehicleRegNo(vehicleRegistrationNumber, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.VehicleServiceData = resp;\r\n if (this.VehicleServiceData.isAFreeService != null) {\r\n if (this.VehicleServiceData.isAFreeService == \"YES\") {\r\n this.checked = true;\r\n }\r\n else {\r\n this.checked = false;\r\n }\r\n }\r\n this.VehicleServiceData.servicePeriodFrom = (new Date(this.VehicleServiceData.servicePeriodFrom));\r\n this.VehicleServiceData.servicePeriodTo = (new Date(this.VehicleServiceData.servicePeriodTo));\r\n this.VehicleServiceData.nextServiceDueDate = (new Date(this.VehicleServiceData.nextServiceDueDate));\r\n if (this.VehicleServiceData.uploadedAttachment != null) {\r\n this.vehServiceFiles = this.fileuploadService.getSingleFileArray(this.VehicleServiceData.uploadedAttachment);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addVehicleServiceForm = this.formBuilder.group({\r\n vehicleRegistrationNumber: ['', Validators.required],\r\n servicePeriodFrom: ['', Validators.required],\r\n servicePeriodTo: ['', Validators.required],\r\n serviceInvoiceNumber: [''],\r\n serviceCentreName: ['', Validators.required],\r\n kilometerReading: ['', Validators.required],\r\n serviceStatus: [''],\r\n nextServiceDueDate: ['', Validators.required],\r\n serviceCostIncurred: [''],\r\n uploadedAttachment: [null],\r\n remark: [''],\r\n\r\n\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Vehicle Service\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n //this.getEolList;\r\n this.getActiveVehicleList();\r\n\r\n }\r\n get formControls() {\r\n return this.addVehicleServiceForm.controls;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n Add Vehicle Service\r\n
\r\n\r\n \r\n \r\n\r\n\r\n
\r\n
\r\n \r\n Vehicle Registration Number\r\n \r\n -Select-\r\n \r\n {{VehicleServiceData.selectionvalue}}\r\n \r\n\r\n
\r\n
Vehicle Registration No is\r\n required
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Purchase Date\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Servicce Period To Date\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
service Centre Name is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Kilometer Reading is\r\n required
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n Service Status\r\n \r\n -Select-\r\n On-Going\r\n Done\r\n Pending \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Next Service Due Date\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Is A Free Service?\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n\r\n\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { VehicleServiceMasterService } from './vehicle-service-master.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-vehicle-service-master',\r\n templateUrl: './vehicle-service-master.component.html',\r\n providers: [VehicleServiceMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class VehicleServiceMasterComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private vehicleServiceMasterService: VehicleServiceMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['vehicleRegistrationNumber', 'servicePeriodFrom', 'servicePeriodTo', 'serviceStatus', 'nextServiceDueDate', 'action'];\r\n\r\n VehicleServiceMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n FilterData = {\r\n \"vehicleRegistrationNumber\": \"\",\r\n isdeleted: false\r\n };\r\n\r\n //isdeleted:false\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.VehicleServiceMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n PageTitle = \" Service Details\";\r\n filterDiv: boolean = false;\r\n addVehicleService = function () {\r\n debugger;\r\n this.router.navigate(['/VehicleServiceMaster']);\r\n }\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.vehicleServiceMasterService.getVehicleServiceList(headers).subscribe(resp => {\r\n debugger;\r\n this.VehicleServiceMasterData = new MatTableDataSource(resp);\r\n this.VehicleServiceMasterData.sort = this.sort;\r\n this.VehicleServiceMasterData.paginator = this.paginator;\r\n this.totalRecords = this.VehicleServiceMasterData.filteredData.length;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n deleteVehicleService = function (vehicleRegNo) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var id = vehicleRegNo;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.vehicleServiceMasterService.deleteVehicleService(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Vehicle deleted successfully.\";\r\n this.search();\r\n // this.getActiveClassification();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.search();\r\n }\r\n\r\n}\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Vehicle Registration Number\r\n \r\n
{{VehicleServiceMasterData.vehicleRegistrationNumber}}\r\n
\r\n
Service Period From\r\n
{{VehicleServiceMasterData.servicePeriodFrom |date}}
\r\n
Service Period To \r\n
{{VehicleServiceMasterData.servicePeriodTo |date}}
\r\n
Service Status \r\n
{{VehicleServiceMasterData.serviceStatus}}
\r\n
Next Service Due Date \r\n
{{VehicleServiceMasterData.nextServiceDueDate | date}}\r\n
\r\n
Action \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VehicleServiceMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveVehicleService(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehicleservice';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehicleservice/'+body.vehicleRegistrationNumber;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getVehicleServiceList(header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehicleservice';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\n \r\n\r\nvehicleServiceByVehicleRegNo(vehicleRegistrationNumber, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehicleservice/'+vehicleRegistrationNumber;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteVehicleService (vehicleRegNo, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vehicleservice/'+vehicleRegNo;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n}\r\n\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-grn-report',\r\n templateUrl: './grn-report.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class GrnReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['poName','orderDate','suppName','product','quantity','grnQuantity','pendingQuantity'];\r\n GrnReportData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"GRN Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n grnReportForm: FormGroup;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.GrnReportData.filter = filterValue.trim().toLowerCase();\r\n }\r\n GrnData = {\r\n \"purchaseOrderNo\":null, \"suppId\": null, \"fromDate\": null, \"toDate\": null\r\n };\r\n\r\n cancel = function() {\r\n this.GrnData = {};\r\n this.search();\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if(this.GrnData.fromDate != null){\r\n this.GrnData.fromDate = this.GrnData.fromDate.getTime();\r\n }\r\n if(this.GrnData.toDate != null){\r\n this.GrnData.toDate = this.GrnData.toDate.getTime();\r\n }\r\n this.showLoading = true;\r\n this.poReportsService.getGrnReport(this.GrnData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.GrnReportData = new MatTableDataSource(resp.content);\r\n this.GrnReportData.sort = this.sort;\r\n this.GrnReportData.paginator = this.paginator;\r\n this.totalRecords = this.GrnReportData.filteredData.length;\r\n if(this.GrnData.fromDate != null){\r\n this.GrnData.fromDate = new Date(this.GrnData.fromDate);\r\n }\r\n if(this.GrnData.toDate != null){\r\n this.GrnData.toDate = new Date(this.GrnData.toDate);\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n this.GrnData.fromDate = new Date(this.GrnData.fromDate);\r\n this.GrnData.toDate = new Date(this.GrnData.toDate);\r\n });\r\n }\r\n\r\n // Party List\r\n partyList:any = [];\r\n getActiveVendors = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n poList:any = [];\r\n getPoList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getPoList(headers).subscribe(resp => {\r\n debugger;\r\n this.poList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.grnReportForm = this.formBuilder.group({\r\n purchaseOrderNo: [null],\r\n suppId: [null],\r\n fromDate: [null],\r\n toDate: [null]\r\n });\r\n this.search();\r\n this.getActiveVendors();\r\n this.getPoList();\r\n }\r\n get formControls() { return this.grnReportForm.controls; }\r\n }","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n -Search By PO-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Party Name-\r\n \r\n {{ vendor.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PO No. \r\n
{{GrnReportData.poName}}
\r\n
Order Date \r\n
{{GrnReportData.orderDate | date : 'dd/MM/yyyy'}}
\r\n
Supplier Name \r\n
{{GrnReportData.suppName}}
\r\n
Product Name \r\n
{{GrnReportData.product}}
\r\n
PO Quantity \r\n
{{GrnReportData.quantity | number : '1.2-2'}}
\r\n
GRN Quantity \r\n
{{GrnReportData.grnQuantity | number : '1.2-2'}}
\r\n
{{0 | number : '1.2-2'}}
\r\n
Pending Qty \r\n
{{GrnReportData.pendingQuantity | number : '1.2-2'}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\n//import { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-monthly-payment',\r\n templateUrl: './monthly-payment.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService]\r\n\r\n})\r\nexport class MonthlyPaymentComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['scheduleDate', 'poNumber', 'partyName', 'amount'];\r\n POMonthData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Month Wise Payment Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n addPoMonthlyForm: FormGroup;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.POMonthData.filter = filterValue.trim().toLowerCase();\r\n }\r\n MonthlyData = {\r\n \"year\": null, \"month\": null\r\n };\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n var error = \"\";\r\n if (this.MonthlyData.year == null) {\r\n error += \"Year is required.\" + \"\\n\";\r\n }\r\n if (this.MonthlyData.month == null) {\r\n error += \"Month is required.\";\r\n }\r\n if(error != \"\") {\r\n this.dialogService.openConfirmDialog(error);\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.poReportsService.getPoMonthlyReport(this.MonthlyData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.POMonthData = new MatTableDataSource(resp.content);\r\n console.log(resp);\r\n this.POMonthData.sort = this.sort;\r\n this.POMonthData.paginator = this.paginator;\r\n this.totalRecords = this.POMonthData.filteredData.length;\r\n }, (error: any) => {\r\n debugger; \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.addPoMonthlyForm = this.formBuilder.group({\r\n year: [null],\r\n month: [null]\r\n });\r\n //this.search();\r\n }\r\n get formControls() { return this.addPoMonthlyForm.controls; }\r\n }\r\n ","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Month\r\n \r\n - Select -\r\n 2018\r\n 2019\r\n 2020\r\n 2021\r\n 2022\r\n 2023\r\n 2024\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Year\r\n \r\n - Select -\r\n January\r\n February\r\n March\r\n April\r\n May\r\n June\r\n July\r\n August\r\n September\r\n October\r\n November\r\n December\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Schedule Date\r\n {{POMonthData.scheduleDate | date : 'dd/MM/yyyy'}} Purchase Order No.\r\n {{POMonthData.poNumber}} Vendor \r\n {{POMonthData.partyName}} Amount (in ₹) \r\n {{POMonthData.amount | number : '1.2-2'}}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\n//import { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-pending-payment',\r\n templateUrl: './pending-payment.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService]\r\n\r\n})\r\nexport class PendingPaymentComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['scheduleDate', 'poNumber', 'partyName', 'amount'];\r\n POPendingPaymentData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Pending Payment Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n addPoPendingForm: FormGroup;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.POPendingPaymentData.filter = filterValue.trim().toLowerCase();\r\n }\r\n POPendingData = {\r\n \"toDate\": null,\r\n };\r\n\r\n // Search function\r\n search = function () {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n var error = \"\";\r\n if (this.POPendingData.toDate == null) {\r\n error += \"Date is required.\";\r\n this.dialogService.openConfirmDialog(error);\r\n return;\r\n }\r\n this.POPendingData.toDate = this.POPendingData.toDate.getTime();\r\n this.showLoading = true;\r\n this.poReportsService.getPoPendingReport(this.POPendingData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.POPendingPaymentData = new MatTableDataSource(resp.content);\r\n this.POPendingPaymentData.sort = this.sort;\r\n this.POPendingPaymentData.paginator = this.paginator;\r\n this.totalRecords = this.POPendingPaymentData.filteredData.length;\r\n this.POPendingData.toDate = (new Date(this.POPendingData.toDate));\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.POPendingData.toDate = (new Date(this.POPendingData.toDate));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.addPoPendingForm = this.formBuilder.group({\r\n toDate: [null]\r\n });\r\n //this.search();\r\n }\r\n get formControls() { return this.addPoPendingForm.controls; }\r\n }\r\n ","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Schedule Date\r\n {{POPendingPaymentData.scheduleDate | date : 'dd/MM/yyyy'}} Purchase Order No.\r\n {{POPendingPaymentData.poNumber}} Vendor \r\n {{POPendingPaymentData.partyName}} Amount (in ₹) \r\n {{POPendingPaymentData.amount | number : '1.2-2'}}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-po-criteria-report',\r\n templateUrl: './po-criteria-report.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class PoCriteriaReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['purchaseOrderNo', 'accName', 'suppName', 'buyName' ,'grandTotal', 'currency', 'approvalStatus', 'createdDate'];\r\n PoCriteriaData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Po Criteria Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n addPoCriteriaForm: FormGroup;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.PoCriteriaData.filter = filterValue.trim().toLowerCase();\r\n }\r\n ReportRequest = {\r\n \"accountName\": null, \"category\": null, \"subcategory\": null, \"productId\": null, \"fromDate\": null, \"toDate\": null, \"wiseReport\": null\r\n };\r\n\r\n FilterData = {\r\n \r\n };\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n /*if(this.ReportRequest.wiseReport == null){\r\n this.dialogService.openConfirmDialog(\"Please select category or product.\");\r\n return;\r\n }*/\r\n if(this.ReportRequest.wiseReport == \"Category\"){\r\n if(this.ReportRequest.category == null && this.ReportRequest.subcategory == null){\r\n this.dialogService.openConfirmDialog(\"Please select category or sub-category.\");\r\n return;\r\n }\r\n this.ReportRequest.productId = null;\r\n }\r\n if(this.ReportRequest.wiseReport == \"Product\"){\r\n if(this.ReportRequest.productId == null){\r\n this.dialogService.openConfirmDialog(\"Please select product.\");\r\n return;\r\n }\r\n this.ReportRequest.category = null;\r\n this.ReportRequest.subcategory = null;\r\n }\r\n if(this.ReportRequest.fromDate != null){\r\n this.ReportRequest.fromDate = this.ReportRequest.fromDate.getTime();\r\n }\r\n if(this.ReportRequest.toDate != null){\r\n this.ReportRequest.toDate = this.ReportRequest.toDate.getTime();\r\n }\r\n this.showLoading = true;\r\n this.poReportsService.getPoCriteriaReport(this.ReportRequest, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PoCriteriaData = new MatTableDataSource(resp);\r\n console.log(resp);\r\n this.PoCriteriaData.sort = this.sort;\r\n this.PoCriteriaData.paginator = this.paginator;\r\n if(this.PoCriteriaData.filteredData != null){\r\n this.totalRecords = this.PoCriteriaData.filteredData.length;\r\n } else {\r\n this.totalRecords = 0;\r\n }\r\n if(this.ReportRequest.fromDate != null){\r\n this.ReportRequest.fromDate = (new Date(this.ReportRequest.fromDate));\r\n }\r\n if(this.ReportRequest.toDate != null){\r\n this.ReportRequest.toDate = (new Date(this.ReportRequest.toDate));\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(this.ReportRequest.fromDate != null){\r\n this.ReportRequest.fromDate = (new Date(this.ReportRequest.fromDate));\r\n }\r\n if(this.ReportRequest.toDate != null){\r\n this.ReportRequest.toDate = (new Date(this.ReportRequest.toDate));\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n // category List\r\n categoryList:any = [];\r\n getActiveCategory = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveCategory(headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.categoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // subcategory List from category\r\n subcategoryList:any = [];\r\n getActiveSubCategoryfromcategory = function (Name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveSubCategoryfromcategory(headers, Name).subscribe(resp => {\r\n debugger;\r\n this.subcategoryList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // productList\r\n productList:any = [];\r\n getProductList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getAllProduct(headers).subscribe(resp => {\r\n debugger;\r\n this.productList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n } \r\n \r\n // projectList\r\n projectList:any = [];\r\n getProjectList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.addPoCriteriaForm = this.formBuilder.group({\r\n accountName: [null],\r\n category: [null],\r\n subcategory: [null],\r\n productId: [null],\r\n fromDate: [null],\r\n toDate: [null],\r\n wiseReport: [null]\r\n });\r\n //this.search();\r\n this.getActiveCategory();\r\n this.getProductList();\r\n this.getProjectList();\r\n }\r\n get formControls() { return this.addPoCriteriaForm.controls; }\r\n }\r\n \r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Project\r\n \r\n -Search By Project-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Category\r\n \r\n -Select Category-\r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Sub-Category\r\n \r\n -Select Sub-Category-\r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Product\r\n \r\n -Select Product-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n
Po No. \r\n
{{PoCriteriaData.purchaseOrderNo}}
\r\n
Project \r\n
{{PoCriteriaData.accName}}
\r\n
{{PoCriteriaData.projectPin}}
\r\n
Supplier Name \r\n
{{PoCriteriaData.suppName}}
\r\n
Purchaser Name \r\n
{{PoCriteriaData.buyName}}
\r\n
Total Value \r\n
{{PoCriteriaData.grandTotal | number : '1.2-2'}}
\r\n
Currency \r\n
{{PoCriteriaData.currency}}
\r\n
Approval Status \r\n
{{PoCriteriaData.approvalStatus}}
\r\n
Creation Date \r\n
{{PoCriteriaData.createdDate | date : 'dd/MM/yyyy'}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-po-fullfillment-report',\r\n templateUrl: './po-fullfillment-report.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class PoFullfillmentReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['purchaseOrderNo', 'accName', 'vendor', 'orderDate' ,'grandTotal', 'invoiceAmount', 'balanceInvoice','paymentDueDate'];\r\n PoFulfillmentData: MatTableDataSource;\r\n displayedColumns1: string[] = ['purchaseOrderNo', 'accName', 'vendor', 'orderDate' ,'grandTotal', 'invoiceAmount', 'amount', 'balanceInvoice','balancePayment','paymentDueDate'];\r\n PoFulfillment: any =[];\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Po Fulfillment Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n addPoCriteriaForm: FormGroup;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.PoFulfillmentData.filter = filterValue.trim().toLowerCase();\r\n }\r\n ReportRequest = {\r\n \"projectId\": null, \"partyId\": null, \"fromDate\": null, \"toDate\": null\r\n };\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n /*if(this.ReportRequest.wiseReport == null){\r\n this.dialogService.openConfirmDialog(\"Please select category or product.\");\r\n return;\r\n }*/\r\n \r\n if(this.ReportRequest.fromDate != null){\r\n this.ReportRequest.fromDate = this.ReportRequest.fromDate.getTime();\r\n }\r\n if(this.ReportRequest.toDate != null){\r\n this.ReportRequest.toDate = this.ReportRequest.toDate.getTime();\r\n }\r\n this.showLoading = true;\r\n this.poReportsService.getPoFulfilmentReport(this.ReportRequest, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PoFulfillmentData = new MatTableDataSource(resp.content);\r\n this.PoFulfillmentData.sort = this.sort;\r\n this.PoFulfillment = resp.content\r\n this.PoFulfillmentData.paginator = this.paginator;\r\n if(this.PoFulfillmentData.filteredData != null){\r\n this.totalRecords = this.PoFulfillmentData.filteredData.length;\r\n } else {\r\n this.totalRecords = 0;\r\n }\r\n if(this.ReportRequest.fromDate != null){\r\n this.ReportRequest.fromDate = (new Date(this.ReportRequest.fromDate));\r\n }\r\n if(this.ReportRequest.toDate != null){\r\n this.ReportRequest.toDate = (new Date(this.ReportRequest.toDate));\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(this.ReportRequest.fromDate != null){\r\n this.ReportRequest.fromDate = (new Date(this.ReportRequest.fromDate));\r\n }\r\n if(this.ReportRequest.toDate != null){\r\n this.ReportRequest.toDate = (new Date(this.ReportRequest.toDate));\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n \r\n // projectList\r\n projectList:any = [];\r\n partyList:any = [];\r\n getProjectList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllParty = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n //this.supplierPartyList = resp;\r\n this.partyList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.addPoCriteriaForm = this.formBuilder.group({\r\n projectId: [null],\r\n fromDate: [null],\r\n toDate: [null],\r\n partyId: [null]\r\n });\r\n //this.search();\r\n this.getAllParty();\r\n this.getProjectList();\r\n }\r\n get formControls() { return this.addPoCriteriaForm.controls; }\r\n }\r\n \r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Project\r\n \r\n -Search By Project-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Vendor\r\n \r\n -Search By Vendor-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Po No. \r\n
{{PoFulfillmentData.purchaseOrderNo}}
\r\n
Project \r\n
{{PoFulfillmentData.projectName}}
\r\n
{{PoFulfillmentData.projectPin}}
\r\n
Vendor\r\n
{{PoFulfillmentData.partyName}}
\r\n
Order Date \r\n
{{PoFulfillmentData.orderDate| date : 'dd/MM/yyyy'}}
\r\n
Gross Amount \r\n
{{PoFulfillmentData.grandTotal | number : '1.2-2'}}
\r\n
Invoice Amount/Paid Amount \r\n
{{PoFulfillmentData.invoiceAmount| number : '1.2-2'}}
\r\n
{{PoFulfillmentData.amount| number : '1.2-2'}}
\r\n
Balance Invoice/ Balance Payment \r\n
{{PoFulfillmentData.balanceInvoice| number : '1.2-2'}}
\r\n
{{PoFulfillmentData.balancePayment| number : '1.2-2'}}
\r\n
Payment Due Date \r\n
{{PoFulfillmentData.paymentDueDate| date : 'dd/MM/yyyy'}}
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Po No. \r\n
{{PoFulfillment.purchaseOrderNo}}
\r\n
Project \r\n
{{PoFulfillment.projectName}}
\r\n
{{PoFulfillment.projectPin}}
\r\n
Vendor\r\n
{{PoFulfillment.partyName}}
\r\n
Order Date \r\n
{{PoFulfillment.orderDate| date : 'dd/MM/yyyy'}}
\r\n
Gross Amount \r\n
{{PoFulfillment.grandTotal | number : '1.2-2'}}
\r\n
Invoice Amount \r\n
{{PoFulfillment.invoiceAmount| number : '1.2-2'}}
\r\n
Paid Amount \r\n
{{PoFulfillment.amount| number : '1.2-2'}}
\r\n
Balance Invoice \r\n
{{PoFulfillment.balanceInvoice| number : '1.2-2'}}
\r\n
Balance Payment \r\n
{{PoFulfillment.balancePayment| number : '1.2-2'}}
\r\n
Payment Due Date \r\n
{{PoFulfillment.paymentDueDate| date : 'dd/MM/yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PoReportsService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n getPoMonthlyReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/popayment/getmonthwisepaymentreport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getPoPendingReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/popayment/getpendingpaymentreport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n getPrsReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prs/getprsreport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getPoCriteriaReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorderreports/getCatWiseReport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getPowiseProductReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorderreports/getpowiseproductreport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n \r\n getApprovalCount(projectId, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorderreports/getApprovalCount/'+projectId;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getAllApprovalReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorderreports/getAllApprovalReport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getProjectVendorWiseReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorderreports/getProjectVendorWiseReport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getPoFulfilmentReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorderreports/getPoFulfilmentReport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getGrnReport(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grn/getgrnreport';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\n//import { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-po-wise-product-report',\r\n templateUrl: './po-wise-product-report.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService]\r\n\r\n})\r\nexport class PoWiseProductReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['poNumber','projectName','projectPin','partyName','orderDate','productName','hsnCode','rate','quantity','amount','cgstAmount','sgstAmount','igstAmount','totalDiscount','finalAmount','poGrandTotal'];\r\n PoWiseProductData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Po Wise Product Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n addPoWiseProductForm: FormGroup;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.PoWiseProductData.filter = filterValue.trim().toLowerCase();\r\n }\r\n PoWiseData = {\r\n \"poNumber\": null, \"projectName\": null\r\n };\r\n\r\n FilterData = {\r\n };\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poReportsService.getPowiseProductReport(this.PoWiseData, headers).subscribe(resp => {\r\n debugger;\r\n this.PoWiseProductData = new MatTableDataSource(resp);\r\n console.log(resp);\r\n this.PoWiseProductData.sort = this.sort;\r\n this.PoWiseProductData.paginator = this.paginator;\r\n this.totalRecords = this.PoWiseProductData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.addPoWiseProductForm = this.formBuilder.group({\r\n poNumber: [null],\r\n projectName: [null]\r\n });\r\n this.search();\r\n }\r\n get formControls() { return this.addPoWiseProductForm.controls; }\r\n }\r\n \r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
PO. No. \r\n
{{PoWiseProductData.poNumber}}
\r\n
Project \r\n
{{PoWiseProductData.projectName}}
\r\n
Project Pin \r\n
{{PoWiseProductData.projectPin}}
\r\n
Vendor \r\n
{{PoWiseProductData.partyName}}
\r\n
Order Dt.\r\n
{{PoWiseProductData.orderDate | date : 'dd/MM/yyyy'}}\r\n
\r\n
Product \r\n
{{PoWiseProductData.productName}}
\r\n
HSN Code \r\n
{{PoWiseProductData.hsnCode}}
\r\n
Rate \r\n
\r\n {{PoWiseProductData.rate | number : '1.2-2'}}
\r\n
Quatity \r\n
\r\n {{PoWiseProductData.quantity | number : '1.2-2'}}
\r\n
Amount \r\n
\r\n {{PoWiseProductData.amount | number : '1.2-2'}}
\r\n
CGST \r\n
\r\n {{PoWiseProductData.cgstAmount | number : '1.2-2'}}
\r\n
SGST \r\n
\r\n {{PoWiseProductData.sgstAmount | number : '1.2-2'}}
\r\n
IGST \r\n
\r\n {{PoWiseProductData.igstAmount | number : '1.2-2'}}
\r\n
Total Discount \r\n
\r\n {{PoWiseProductData.totalDiscount | number : '1.2-2'}}
\r\n
Final Amt. \r\n
\r\n {{PoWiseProductData.finalAmount | number : '1.2-2'}}
\r\n
PO Grand Total \r\n
\r\n {{PoWiseProductData.poGrandTotal | number : '1.2-2'}}
\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\n//import { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-project-vendor-wise-po-report',\r\n templateUrl: './project-vendor-wise-po-report.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService]\r\n\r\n})\r\nexport class ProjectVendorWisePoReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['name', 'count', 'allTotalOfPo'];\r\n ReportData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Project-Vendor Wise Report\";\r\n add = false;\r\n edit = false;\r\n list = true;\r\n projectVendorWiseReportForm: FormGroup;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ReportData.filter = filterValue.trim().toLowerCase();\r\n }\r\n ReportRequest = {\r\n \"wiseReport\": null,\r\n };\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n // if(this.ReportRequest.wiseReport == null){\r\n // this.ReportRequest.wiseReport = \"PROJECT\";\r\n // }\r\n this.showLoading = true;\r\n this.poReportsService.getProjectVendorWiseReport(this.ReportRequest, headers).subscribe(resp => {\r\n console.log(resp);\r\n this.ReportData = new MatTableDataSource(resp);\r\n this.ReportData.sort = this.sort;\r\n this.ReportData.paginator = this.paginator;\r\n this.totalRecords = this.ReportData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.projectVendorWiseReportForm = this.formBuilder.group({\r\n wiseReport: [null]\r\n });\r\n //this.search();\r\n this.ReportRequest.wiseReport = \"PROJECT\";\r\n }\r\n get formControls() { return this.projectVendorWiseReportForm.controls; }\r\n }\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Project\r\n {{ReportData.name}} Vendor\r\n {{ReportData.name}} Count\r\n {{ReportData.count}} Total\r\n {{ReportData.allTotalOfPo}}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-prs-report',\r\n templateUrl: './prs-report.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class PrsReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['prsNo','projectPin','purchaseOrderNo','partyName','invoiceNo','invoiceAmount','paymentDueDate','approvalStatus','totalWithoutTaxes','totalTaxes','poGrandTotalInr','currency'];\r\n PrsReportData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Prs Report\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n addPrsReportForm: FormGroup;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.PrsReportData.filter = filterValue.trim().toLowerCase();\r\n }\r\n PrsData = {\r\n \"prsNo\":null, \"purchaseOrderNumber\": null, \"projectName\": null, \"issueChequeTo\": null, \"approvalStatus\": null, \"fromDate\": null, \"toDate\": null\r\n };\r\n\r\n cancel = function() {\r\n this.PrsData = {};\r\n this.search();\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if(this.PrsData.fromDate != null){\r\n this.PrsData.fromDate = this.PrsData.fromDate.getTime();\r\n }\r\n if(this.PrsData.toDate != null){\r\n this.PrsData.toDate = this.PrsData.toDate.getTime();\r\n }\r\n this.showLoading = true;\r\n this.poReportsService.getPrsReport(this.PrsData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PrsReportData = new MatTableDataSource(resp.content);\r\n this.PrsReportData.sort = this.sort;\r\n this.PrsReportData.paginator = this.paginator;\r\n this.totalRecords = this.PrsReportData.filteredData.length;\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n this.PrsData.fromDate = new Date(this.PrsData.fromDate);\r\n this.PrsData.toDate = new Date(this.PrsData.toDate);\r\n });\r\n }\r\n\r\n // Party List\r\n partyList:any = [];\r\n getActiveVendors = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting project list\r\n projectList: any = [];\r\n getAllProjects = function () {\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n\r\n this.showLoading = false;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.addPrsReportForm = this.formBuilder.group({\r\n prsNo: [null],\r\n purchaseOrderNumber: [null],\r\n projectName: [null],\r\n issueChequeTo: [null],\r\n fromDate: [null],\r\n toDate: [null],\r\n approvalStatus: [null]\r\n });\r\n this.search();\r\n this.getActiveVendors();\r\n this.getAllProjects();\r\n }\r\n get formControls() { return this.addPrsReportForm.controls; }\r\n }\r\n \r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Project-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ vendor.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n APPROVED\r\n PENDING\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PRS No \r\n
{{PrsReportData.prsNo}}
\r\n
Pin/Project \r\n
{{PrsReportData.projectPin}} - {{PrsReportData.project}}
\r\n
PO No. \r\n
{{PrsReportData.purchaseOrderNumber}}
\r\n
Vendor \r\n
{{PrsReportData.partyName}}
\r\n
Invoice No. \r\n
{{PrsReportData.invoiceNo}}
\r\n
Invoice Amount \r\n
{{PrsReportData.invoiceAmount | number : '1.2-2'}}
\r\n
Payment Due Date \r\n
{{PrsReportData.paymentDueDate | date : 'dd/MM/yyyy'}}
\r\n
Status \r\n
{{PrsReportData.approvalStatus}}
\r\n
PO Amt w/o Tax \r\n
{{PrsReportData.totalWithoutTaxes | number : '1.2-2'}}
\r\n
PO Tax \r\n
{{PrsReportData.totalTaxes | number : '1.2-2'}}
\r\n
PO Total \r\n
{{PrsReportData.poGrandTotalInr | number : '1.2-2'}}
\r\n
Currency \r\n
{{PrsReportData.currency}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoReportsService } from '../po-reports.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-status-wise-po-report',\r\n templateUrl: './status-wise-po-report.component.html',\r\n providers: [PoReportsService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class StatusWisePoReportComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poReportsService: PoReportsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService\r\n ) { }\r\n\r\n displayedColumns: string[] = ['approvalStatus', 'approvalStatusCount'];\r\n displayedPoColumns: string[] = ['purchaseOrderNo', 'orderDate', 'departmentName', 'accName', 'approvalStatus'];\r\n PoSearch: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Purchase Order Status Report\";\r\n add = false;\r\n edit = false;\r\n list = true;\r\n poStatusForm: FormGroup;\r\n StatusCountReport : any = {};\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.StatusCountReport.filter = filterValue.trim().toLowerCase();\r\n }\r\n ReportRequest = {\r\n \"projectId\": 0,\r\n };\r\n PoRequest = {\r\n \"approvalStatus\": null,\r\n \"accountName\" : null\r\n };\r\n\r\n projectList:any = [];\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poReportsService.getApprovalCount(this.ReportRequest.projectId, headers).subscribe(resp => {\r\n this.StatusCountReport = new MatTableDataSource(resp);\r\n console.log(resp);\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Search function\r\n posearch = function (status) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PoRequest.approvalStatus = status;\r\n if(this.ReportRequest.projectId > 0){\r\n this.PoRequest.accountName = this.ReportRequest.projectId;\r\n }\r\n this.poReportsService.getAllApprovalReport(this.PoRequest, headers).subscribe(resp => {\r\n this.PoSearch = new MatTableDataSource(resp);\r\n console.log(resp);\r\n this.PoSearch.sort = this.sort;\r\n this.PoSearch.paginator = this.paginator;\r\n this.totalRecords = this.PoSearch.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting project list\r\n getAllProjects = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n\r\n ngOnInit(): void {\r\n\r\n //Fromgroup collection\r\n this.poStatusForm = this.formBuilder.group({\r\n projectId: [null]\r\n });\r\n this.search();\r\n this.getAllProjects();\r\n }\r\n get formControls() { return this.poStatusForm.controls; }\r\n }\r\n ","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Project\r\n \r\n -Select Project-\r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Status\r\n {{StatusCountReport.approvalStatus}} Count\r\n {{StatusCountReport.approvalStatusCount}}
\r\n \r\n\r\n \r\n
0\">\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Purchase Order No.\r\n {{PoSearch.purchaseOrderNo}} Order Date\r\n {{PoSearch.orderDate | date : 'dd/MM/yyyy'}} Department\r\n {{PoSearch.departmentName}} Project\r\n {{PoSearch.accName}} Status\r\n {{PoSearch.approvalStatus}}
\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { BoqMasterService } from '../../../OrderMgmt/boq-master/boq-master.service';\r\n\r\n@Component({\r\n selector: 'app-add-boq',\r\n templateUrl: './add-boq.component.html',\r\n providers: [BoqMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddBoqComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private boqMasterService: BoqMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Add Boq\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n BoqEntityData = {\r\n \"boqNo\": \"\", \"accountId\": \"\", \"boqDate\": \"\"\r\n };\r\n\r\n projectList = {};\r\n\r\n addBoqForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n cancel = function () {\r\n this.router.navigate(['/SearchBoq']);\r\n }\r\n\r\n // getting project list\r\n getAllProjects = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n saveBoq = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.BoqEntityData.boqDate = this.BoqEntityData.boqDate.getTime();\r\n if (this.addBoqForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.boqMasterService.saveBoq(this.BoqEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Boq created successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addBoqForm.reset();\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updateBoq = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.BoqEntityData.boqDate = this.BoqEntityData.boqDate.getTime();\r\n if (this.addBoqForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.boqMasterService.updateBoq(this.BoqEntityData, headers, this.BoqEntityData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Boq updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addBoqForm.reset();\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.boqMasterService.getBoqById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.BoqEntityData = resp;\r\n this.BoqEntityData.boqDate = (new Date(this.BoqEntityData.boqDate));\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addBoqForm = this.formBuilder.group({\r\n boqNo: ['', Validators.required],\r\n accountId: ['', Validators.required],\r\n boqDate: ['', Validators.required]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Boq\";\r\n this.editon(this.route.snapshot.params.id);\r\n }\r\n\r\n this.getAllProjects();\r\n }\r\n get formControls() {\r\n return this.addBoqForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n BOQ No.\r\n \r\n
\r\n
BOQ No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Project\r\n \r\n \r\n \r\n {{project.selectionvalue}}\r\n \r\n
\r\n
Project is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
BOQ date\r\n is required
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { BoqMasterService } from '../../OrderMgmt/boq-master/boq-master.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-boq-master',\r\n templateUrl: './boq-master.component.html',\r\n providers: [BoqMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class BoqMasterComponent implements OnInit {\r\n\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private boqMasterService: BoqMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n\r\n displayedColumns: string[] = ['boqNo', 'accountId', 'boqDate', 'action'];\r\n BoqListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n \r\n showLoading: boolean = false;\r\n \r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n \r\n FilterData = {\"boqNo\":\"\"};\r\n \r\n PageTitle = \"Boq Master\";\r\n filterDiv:boolean = false;\r\n addBoq = function() {\r\n debugger;\r\n this.router.navigate(['/AddBoq']);\r\n }\r\n \r\n filterFunc = function() {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function() {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n \r\n /* search = function () {\r\n debugger;\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.FilterData.confirmed = true;\r\n this.userProfileService.userList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.UserMasterData= new MatTableDataSource(resp);\r\n this.UserMasterData.sort = this.sort;\r\n this.UserMasterData.paginator = this.paginator;\r\n this.totalRecords = this.UserMasterData.filteredData.length;\r\n this.showLoading = false;\r\n \r\n \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorMessage;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n } */\r\n\r\n // Search function\r\n searchBoq = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n this.boqMasterService.getAllBoq(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n\r\n this.BoqListData = new MatTableDataSource(resp);\r\n this.BoqListData.sort = this.sort;\r\n this.BoqListData.paginator = this.paginator;\r\n this.totalRecords = this.BoqListData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n \r\n \r\n ngOnInit(): void {\r\n this.searchBoq();\r\n }\r\n\r\n\r\n\r\n\r\n/* \r\n displayedColumns: string[] = ['type', 'value', 'action'];\r\n BoqListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"BOQ Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n BoqEntityData = {\r\n \"boqNo\": \"\", \"accountId\": \"\", \"boqDate\": \"\"\r\n };\r\n addBoqForm: FormGroup;\r\n isSubmitted = false;\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.addBoqForm.reset();\r\n this.PageTitle = \"Constant Master\";\r\n }\r\n\r\n addBoq = function() {\r\n debugger;\r\n this.router.navigate(['/AddBoq']);\r\n }\r\n\r\n // Add function\r\n addConstant = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addBoqForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.constantMasterService.saveConstant(this.ConstantData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Department saved successfully.\";\r\n this.search();\r\n\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.ConstantData = {};\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // update function\r\n updateConstant = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addBoqForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.constantMasterService.updateConstant(this.ConstantData, headers, this.ConstantData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Constant updated successfully.\";\r\n this.search();\r\n\r\n this.dialogService.openConfirmDialog(this.successMessage).afterClosed().subscribe(res => {\r\n this.ConstantData = {};\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Constant Master\"\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.boqMasterService.searchBoq(headers).subscribe(resp => {\r\n debugger;\r\n\r\n this.BoqListData = new MatTableDataSource(resp);\r\n this.BoqListData.sort = this.sort;\r\n this.BoqListData.paginator = this.paginator;\r\n this.totalRecords = this.BoqListData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (id) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update Constant\";\r\n this.constantMasterService.getConstantById(headers, id).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ConstantData = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // delete by id\r\n deleteon = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.PageTitle = \"Update Constant\";\r\n this.constantMasterService.deleteConstantById(headers, id).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n //this.ConstantData = resp;\r\n this.successMessage = \"Constant deleted successfully.\";\r\n this.search();\r\n\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.addBoqForm = this.formBuilder.group({\r\n type: ['', Validators.required],\r\n value: ['', Validators.required]\r\n });\r\n this.search();\r\n }\r\n get formControls() { return this.addBoqForm.controls; }\r\n */\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
BOQ No. \r\n
{{BoqListData.boqNo}}
\r\n
Project \r\n
{{BoqListData.accountId}}
\r\n
Date \r\n
{{BoqListData.boqDate | date:'dd-MM-yyyy'}}
\r\n\r\n
Action \r\n \r\n edit\r\n \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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BoqMasterService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveBoq(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/boq';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updateBoq(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/boq/editBOQ/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getAllBoq(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/boq/getAllBOQs';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n\r\n getBoqById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/boq/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteConstantById(header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/boq/' + id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { ConstantMasterService } from '../../OrderMgmt/constant-master/constant-master.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-constant-master',\r\n templateUrl: './constant-master.component.html',\r\n providers: [ConstantMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ConstantMasterComponent implements OnInit {\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private constantMasterService: ConstantMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['type', 'value', 'organisationName', 'action'];\r\n ConstantMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n constantAdd: boolean = false;\r\n constantEdit: boolean = false;\r\n constantView: boolean = false;\r\n constantDelete: boolean = false;\r\n PageTitle = \"Constant Master\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n ConstantData = {\r\n \"type\": null, \"value\": null, \"organisationId\": null\r\n };\r\n addConstantForm: FormGroup;\r\n isSubmitted = false;\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.addConstantForm.reset();\r\n this.PageTitle = \"Constant Master\";\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ConstantMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n // Add function\r\n addConstant = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addConstantForm.invalid) {\r\n return;\r\n }\r\n var error = \"\";\r\n if (this.ConstantData.type == null) {\r\n error += \"Type is required.\\n\";\r\n }\r\n if (this.ConstantData.value == null) {\r\n error += \"Value is required.\\n\";\r\n }\r\n if (this.ConstantData.organisationId == null) {\r\n error += \"Organisation is required.\\n\";\r\n }\r\n if(error != \"\") {\r\n this.dialogService.openConfirmDialog(error);\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.constantMasterService.saveConstant(this.ConstantData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Constant saved successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.ConstantData = {};\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // update function\r\n updateConstant = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addConstantForm.invalid) {\r\n return;\r\n }\r\n var error = \"\";\r\n if (this.ConstantData.type == null) {\r\n error += \"Type is required.\\n\";\r\n }\r\n if (this.ConstantData.value == null) {\r\n error += \"Value is required.\\n\";\r\n }\r\n if (this.ConstantData.organisationId == null) {\r\n error += \"Organisation is required.\\n\";\r\n }\r\n if(error != \"\") {\r\n this.dialogService.openConfirmDialog(error);\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.constantMasterService.updateConstant(this.ConstantData, headers, this.ConstantData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Constant updated successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage).afterClosed().subscribe(res => {\r\n this.ConstantData = {};\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Constant Master\"\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.constantMasterService.getAllConstant(this.ConstantData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ConstantMasterData = new MatTableDataSource(resp);\r\n this.ConstantMasterData.sort = this.sort;\r\n this.ConstantMasterData.paginator = this.paginator;\r\n this.totalRecords = this.ConstantMasterData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (id) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update Constant\";\r\n this.constantMasterService.getConstantById(headers, id).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ConstantData = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // delete by id\r\n deleteon = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.constantMasterService.deleteConstantById(headers, id).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Constant deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n // Org List\r\n orgList:any = [];\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.orgList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.constantAdd = this._global.UserRights.includes(\"Constant_Master_ADD\");\r\n this.constantEdit = this._global.UserRights.includes(\"Constant_Master_EDIT\");\r\n this.constantView = this._global.UserRights.includes(\"Constant_Master_VIEW\");\r\n this.constantDelete = this._global.UserRights.includes(\"Constant_Master_DELETE\");\r\n this.addConstantForm = this.formBuilder.group({\r\n type: [null, Validators.required],\r\n value: [null, Validators.required],\r\n organisationId: [null, Validators.required]\r\n });\r\n this.search();\r\n this.getAllOrganizations();\r\n }\r\n get formControls() { return this.addConstantForm.controls; }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n {{PageTitle}}\r\n
\r\n\r\n
\r\n
\r\n \r\n Type\r\n \r\n -Select Type-\r\n Payment Term\r\n Delivery Term\r\n Payment Mode\r\n Unit Of Measurement\r\n Office\r\n Utility Type\r\n \r\n
\r\n
Type is\r\n required
\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
Value is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Organisation\r\n \r\n \r\n \r\n {{org.selectionvalue}}\r\n \r\n
\r\n
Organisation is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Type \r\n {{ConstantMasterData.type}} Value \r\n {{ConstantMasterData.value}} Organisation \r\n {{ConstantMasterData.organisationName}} Action \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConstantMasterService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveConstant(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/constant';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updateConstant(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/constant/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getAllConstant(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/constant/getallconstants';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getConstantById(header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/constant/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteConstantById(header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/constant/' + id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n}","import { Component, OnInit, ChangeDetectorRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormGroupDirective } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { GrnMasterService } from '../grn-master.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { GrnTaskService } from '../../../OrderMgmt/grn-task/grn-task.service';\r\nimport { map, startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-add-grn',\r\n templateUrl: './add-grn.component.html',\r\n providers: [GrnMasterService, AppGlobals, DialogService, SharedService, FileuploadService, GrnTaskService]\r\n})\r\nexport class AddGrnComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private grnMasterService: GrnMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private fileuploadService: FileuploadService, private grnTaskService: GrnTaskService, private cdr: ChangeDetectorRef) { }\r\n\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n ngAfterViewChecked(){\r\n this.cdr.detectChanges();\r\n }\r\n\r\n displayedColumns: string[] = ['productName', 'quantity', 'receivedQuantity', 'acceptedQuantity', 'rejectedQuantity'];\r\n //productDetails: MatTableDataSource;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n\r\n\r\n PageTitle = \"Add GRN\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n view = false;\r\n\r\n addGrnForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n GrnData = {\r\n \"grnNumber\": null, \"grnDate\": null, \"deliveryDate\": null, \"deliveryChallanNo\": null, \"deliveryChallanDate\": null,\r\n \"invoiceNo\": null, \"invoiceDate\": null, \"description\": null, \"vehicleNo\": null, \"transporterName\": null,\r\n \"dcCopyUpload\": null, \"lrCopyUpload\": null, \"poNo\": null, \"approvalStatus\": null, \"entityId\": null, \"prodDetails\": null,\r\n \"prodList\": null\r\n };\r\n\r\n TaskEntityData = {\r\n \"entityId\": null, \"grnId\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null\r\n };\r\n\r\n poList: any = [];\r\n dcCopyUpload: any = [];\r\n lrCopyUpload: any = [];\r\n taskId = null;\r\n filteredPoList: any = [];\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n //return o1.name === o2.name && o1.id === o2.id;\r\n return o1 == o2;\r\n }\r\n\r\n cancel = function () {\r\n if (this.route.snapshot.params.task === undefined || this.route.snapshot.params.task == null) {\r\n this.router.navigate(['/grnMasterSearch']);\r\n } else {\r\n this.router.navigate(['/grnTaskSearch']);\r\n }\r\n }\r\n\r\n saveGrn = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addGrnForm.invalid) {\r\n return;\r\n }\r\n var error = \"\";\r\n if (this.GrnData.grnNumber == null) {\r\n error += \"GRN no. is required.\\n\";\r\n }\r\n if (this.GrnData.grnDate == null) {\r\n error += \"GRN date is required.\\n\";\r\n }\r\n if (this.GrnData.deliveryDate == null) {\r\n error += \"Delivery date is required.\\n\";\r\n }\r\n if (this.GrnData.poNo == null) {\r\n error += \"Purchase order is required.\\n\";\r\n }\r\n if (this.GrnData.poNo != null) {\r\n if (this.productDetails.length != this.prodDetails.length) {\r\n error += \"Please fill all the accepted quantities of products.\\n\";\r\n } else {\r\n this.GrnData.prodDetails = this.prodDetails;\r\n }\r\n }\r\n if (error != \"\") {\r\n this.dialogService.openConfirmDialog(error);\r\n return;\r\n }\r\n //Check if files are uploaded Successfully\r\n if (this.dcCopyUpload.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.dcCopyUpload)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.GrnData.dcCopyUpload = this.fileuploadService.getFirstFilePath(this.dcCopyUpload);\r\n }\r\n //Check if files are uploaded Successfully\r\n if (this.lrCopyUpload.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.lrCopyUpload)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.GrnData.lrCopyUpload = this.fileuploadService.getFirstFilePath(this.lrCopyUpload);\r\n }\r\n\r\n this.GrnData.grnDate = this.GrnData.grnDate.getTime();\r\n this.GrnData.deliveryDate = this.GrnData.deliveryDate.getTime();\r\n if (this.GrnData.deliveryChallanDate != null) {\r\n this.GrnData.deliveryChallanDate = this.GrnData.deliveryChallanDate.getTime();\r\n }\r\n if (this.GrnData.invoiceDate != null) {\r\n this.GrnData.invoiceDate = this.GrnData.invoiceDate.getTime();\r\n }\r\n\r\n //this.GrnData.prodDetails = this.productDetails;\r\n //return;\r\n\r\n this.showLoading = true;\r\n this.grnMasterService.saveGrn(this.GrnData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"GRN created successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addGrnForm.reset();\r\n this.dcCopyUpload = [];\r\n this.lrCopyUpload = [];\r\n this.prodDetails = [];\r\n this.productDetails = {};\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.GrnData.grnDate = (new Date(this.GrnData.grnDate));\r\n this.GrnData.deliveryDate = (new Date(this.GrnData.deliveryDate));\r\n if (this.GrnData.deliveryChallanDate != null) {\r\n this.GrnData.deliveryChallanDate = (new Date(this.GrnData.deliveryChallanDate));\r\n }\r\n if (this.GrnData.invoiceDate != null) {\r\n this.GrnData.invoiceDate = (new Date(this.GrnData.invoiceDate));\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updateGrn = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addGrnForm.invalid) {\r\n return;\r\n }\r\n var error = \"\";\r\n if (this.GrnData.grnNumber == null) {\r\n error += \"GRN no. is required.\\n\";\r\n }\r\n if (this.GrnData.grnDate == null) {\r\n error += \"GRN date is required.\\n\";\r\n }\r\n if (this.GrnData.deliveryDate == null) {\r\n error += \"Delivery date is required.\\n\";\r\n }\r\n if (this.GrnData.poNo == null) {\r\n error += \"Purchase order is required.\\n\";\r\n }\r\n for (var i = 0; i < this.productDetails.length; i++) {\r\n if (this.productDetails[i].acceptedQuantity === undefined) {\r\n error += \"Accepted quantity can not be NULL or can not exceed the total quantity.\\n\";\r\n }\r\n if (this.productDetails[i].acceptedQuantity == null) {\r\n error += \"Accepted quantity can not be NULL.\\n\";\r\n }\r\n }\r\n if (error != \"\") {\r\n this.dialogService.openConfirmDialog(error);\r\n return;\r\n }\r\n //Check if files are uploaded Successfully\r\n if (this.dcCopyUpload.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.dcCopyUpload)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.GrnData.dcCopyUpload = this.fileuploadService.getFirstFilePath(this.dcCopyUpload);\r\n }\r\n //Check if files are uploaded Successfully\r\n if (this.lrCopyUpload.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.lrCopyUpload)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.GrnData.lrCopyUpload = this.fileuploadService.getFirstFilePath(this.lrCopyUpload);\r\n }\r\n\r\n this.GrnData.prodDetails = this.productDetails;\r\n\r\n this.GrnData.grnDate = this.GrnData.grnDate.getTime();\r\n this.GrnData.deliveryDate = this.GrnData.deliveryDate.getTime();\r\n if (this.GrnData.deliveryChallanDate != null) {\r\n this.GrnData.deliveryChallanDate = this.GrnData.deliveryChallanDate.getTime();\r\n }\r\n if (this.GrnData.invoiceDate != null) {\r\n this.GrnData.invoiceDate = this.GrnData.invoiceDate.getTime();\r\n }\r\n\r\n this.showLoading = true;\r\n this.grnMasterService.updateGrn(this.GrnData, headers, this.GrnData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"GRN updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addGrnForm.reset();\r\n this.dcCopyUpload = [];\r\n this.lrCopyUpload = [];\r\n this.prodDetails = [];\r\n this.productDetails = {};\r\n if (this.route.snapshot.params.task === undefined || this.route.snapshot.params.task == null) {\r\n this.router.navigate(['/grnMasterSearch']);\r\n } else {\r\n this.router.navigate(['/grnTaskSearch']);\r\n }\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.GrnData.grnDate = (new Date(this.GrnData.grnDate));\r\n this.GrnData.deliveryDate = (new Date(this.GrnData.deliveryDate));\r\n if (this.GrnData.deliveryChallanDate != null) {\r\n this.GrnData.deliveryChallanDate = (new Date(this.GrnData.deliveryChallanDate));\r\n }\r\n if (this.GrnData.invoiceDate != null) {\r\n this.GrnData.invoiceDate = (new Date(this.GrnData.invoiceDate));\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n //debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.grnMasterService.getGrnById(id, headers).subscribe(resp => {\r\n //debugger;\r\n this.showLoading = false;\r\n this.GrnData = resp;\r\n this.GrnData.poNo = this.GrnData.poNo.toString();\r\n console.log(resp);\r\n console.log(this.GrnData.poNo);\r\n this.GrnData.grnDate = (new Date(this.GrnData.grnDate));\r\n this.GrnData.deliveryDate = (new Date(this.GrnData.deliveryDate));\r\n if (this.GrnData.deliveryChallanDate != null) {\r\n this.GrnData.deliveryChallanDate = (new Date(this.GrnData.deliveryChallanDate));\r\n }\r\n if (this.GrnData.invoiceDate != null) {\r\n this.GrnData.invoiceDate = (new Date(this.GrnData.invoiceDate));\r\n }\r\n if (this.GrnData.dcCopyUpload != null) {\r\n this.dcCopyUpload = this.fileuploadService.getSingleFileArray(this.GrnData.dcCopyUpload);\r\n }\r\n if (this.GrnData.lrCopyUpload != null) {\r\n this.lrCopyUpload = this.fileuploadService.getSingleFileArray(this.GrnData.lrCopyUpload);\r\n }\r\n //this.productDetails = this.GrnData.prodViewDetails;\r\n this.productDetails = this.GrnData.prodList;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getPoList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getApprovedPoList(headers).subscribe(resp => {\r\n debugger;\r\n this.poList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //getting product list of selected po\r\n //productDetails:any = {\"productId\": null, \"productName\": null, \"quantity\": 0, \"receivedQuantity\": 0, \"acceptedQuantity\": 0, \"rejectedQuantity\": 0};\r\n productDetails: any = {};\r\n //productDetails: ProductDetails[] = [];\r\n getProductListByPo = function (poId) {\r\n debugger;\r\n if (poId == null) return;\r\n if (poId.length >= 6) {\r\n if (isNaN(poId))\r\n return;\r\n } else {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.grnMasterService.getProductListByPo(poId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n //this.productDetails = resp;\r\n if (this.route.snapshot.params.page === undefined || this.route.snapshot.params.page == 'add') {\r\n this.productDetails = resp;\r\n this.prodDetails = [];\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n tempArray: any = {};\r\n prodDetails: any = [];\r\n changeQuantity = function (index, obj) {\r\n debugger;\r\n obj.rejectedQuantity = obj.receivedQuantity - obj.acceptedQuantity;\r\n\r\n //check for validations\r\n var errorMessage = \"\";\r\n if ((obj.receivedQuantity === undefined) || (obj.receivedQuantity == null)) {\r\n errorMessage += \"Received quantity can not be NULL or can not exceed the total quantity.\\n\";\r\n }\r\n /* if(vm.userform.acceptedQuantity.$touched){\r\n if((obj.acceptedQuantity === undefined)||(obj.acceptedQuantity == null)){\r\n errorMessage += \"Accepted quantity can not be NULL or can not exceed the Received quantity.\\n\";\r\n }\r\n } */\r\n if ((obj.acceptedQuantity === undefined) || (obj.acceptedQuantity == null)) {\r\n errorMessage += \"Accepted quantity can not be NULL or can not exceed the Received quantity.\\n\";\r\n }\r\n if (errorMessage != \"\") {\r\n this.dialogService.openConfirmDialog(errorMessage);\r\n return;\r\n }\r\n\r\n /*if($rootScope.iserrorMsg2==true)\r\n return;*/\r\n\r\n if (this.add) {\r\n this.tempArray = {};\r\n this.tempArray.productId = obj.productId;\r\n this.tempArray.quantity = obj.quantity;\r\n this.tempArray.productName = obj.productName;\r\n if (obj.receivedQuantity === null) {\r\n //vm.tempArray.receivedQuantity = 0;\r\n this.tempArray.acceptedQuantity = 0;\r\n this.tempArray.rejectedQuantity = 0;\r\n }\r\n else {\r\n this.tempArray.receivedQuantity = obj.receivedQuantity;\r\n this.tempArray.acceptedQuantity = obj.acceptedQuantity;\r\n this.tempArray.rejectedQuantity = (obj.receivedQuantity - obj.acceptedQuantity);\r\n obj.rejectedQuantity = (obj.receivedQuantity - obj.acceptedQuantity);\r\n }\r\n this.prodDetails[index] = this.tempArray;\r\n } else if (this.edit) {\r\n if (obj.receivedQuantity === null) {\r\n //obj.receivedQuantity = 0;\r\n obj.acceptedQuantity = 0;\r\n obj.rejectedQuantity = 0;\r\n }\r\n else {\r\n obj.rejectedQuantity = (obj.receivedQuantity - obj.acceptedQuantity);\r\n }\r\n }\r\n }\r\n\r\n disabledField = function (state) {\r\n if (state == \"edit\") {\r\n this.addGrnForm.get('poNo').disable();\r\n } else if (state == \"view\") {\r\n this.addGrnForm.get('grnNumber').disable();\r\n this.addGrnForm.get('grnDate').disable();\r\n this.addGrnForm.get('deliveryDate').disable();\r\n this.addGrnForm.get('deliveryChallanNo').disable();\r\n this.addGrnForm.get('deliveryChallanDate').disable();\r\n this.addGrnForm.get('invoiceNo').disable();\r\n this.addGrnForm.get('invoiceDate').disable();\r\n this.addGrnForm.get('description').disable();\r\n this.addGrnForm.get('vehicleNo').disable();\r\n this.addGrnForm.get('transporterName').disable();\r\n this.addGrnForm.get('dcCopyUpload').disable();\r\n this.addGrnForm.get('lrCopyUpload').disable();\r\n this.addGrnForm.get('poNo').disable();\r\n this.addGrnForm.get('transporterName').disable();\r\n }\r\n //this.addGrnForm.get('poNo').disable();\r\n }\r\n\r\n // Get task for resending\r\n getTaskById = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.grnTaskService.getTaskById(taskId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n //re-send task for approval\r\n reSendTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.TaskEntityData.approvalStatus = \"APPROVED\";\r\n this.grnTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"GRN re-sent for approval.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.router.navigate(['/grnTaskSearch']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.getPoList();\r\n this.addGrnForm = this.formBuilder.group({\r\n grnNumber: [null, Validators.required],\r\n grnDate: [null, Validators.required],\r\n deliveryDate: [null, Validators.required],\r\n deliveryChallanNo: [null],\r\n deliveryChallanDate: [null],\r\n invoiceNo: [null],\r\n invoiceDate: [null],\r\n description: [null],\r\n vehicleNo: [null],\r\n transporterName: [null],\r\n dcCopyUpload: [null],\r\n lrCopyUpload: [null],\r\n poNo: [null, Validators.required],\r\n approvalStatus: [null],\r\n entityId: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update GRN\";\r\n this.editon(this.route.snapshot.params.id);\r\n this.disabledField(this.route.snapshot.params.page);\r\n }\r\n\r\n if (this.route.snapshot.params.page == 'view') {\r\n this.PageTitle = \"View GRN\";\r\n this.editon(this.route.snapshot.params.id);\r\n this.edit = false;\r\n this.view = true;\r\n this.disabledField(this.route.snapshot.params.page);\r\n }\r\n\r\n //this.getPoList();\r\n\r\n if (this.route.snapshot.params.task != null) {\r\n this.taskId = this.route.snapshot.params.task\r\n this.getTaskById(this.taskId);\r\n }\r\n\r\n //Autocomplete\r\n this.filteredPoList = this.addGrnForm.controls['poNo'].valueChanges.pipe(\r\n startWith(''),\r\n map(value => this.getFilteredPoData(value))\r\n );\r\n }\r\n\r\n //Autocomplete\r\n getFilteredPoData(val: string) {\r\n debugger;\r\n if (val) {\r\n let filterValue = val;\r\n filterValue = filterValue.toLowerCase();\r\n return this.poList.filter(item => item.selectionvalue.toLowerCase().includes(filterValue));\r\n }\r\n return this.poList;\r\n }\r\n\r\n getName(poId: string) {\r\n debugger;\r\n let poitem = this.poList.find(po => po.selectionid == poId);\r\n if (poitem != null) {\r\n return poitem.selectionvalue;\r\n }\r\n }\r\n\r\n get formControls() {\r\n return this.addGrnForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
GRN no. is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
GRN date is required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Delivery date is required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Delivery Challan No.\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Invoice No.\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Vehicle No.\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Transporter Name\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Description\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n Purchase Order No.\r\n \r\n \r\n \r\n \r\n {{option.selectionvalue }}\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 \r\n \r\n \r\n \r\n
Product Quantity Received Quantity Accepted Quantity Rejected Quantity
{{p.productName}} {{p.quantity}} \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \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, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { GrnMasterService } from './grn-master.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { GrnTaskService } from '../../OrderMgmt/grn-task/grn-task.service';\r\nimport { GrnFilterSession } from '../ordermgmtfilterdata';\r\n\r\n@Component({\r\n selector: 'app-grn-master',\r\n templateUrl: './grn-master.component.html',\r\n providers: [GrnMasterService, AppGlobals, DialogService, SharedService, GrnTaskService]\r\n})\r\nexport class GrnMasterComponent implements OnInit {\r\n result: boolean = false;\r\n\r\n constructor(\r\n //private formBuilder: FormBuilder, \r\n private router: Router, private route: ActivatedRoute, private http: HttpClient, private grnMasterService: GrnMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private grnTaskService: GrnTaskService) { }\r\n\r\n displayedColumns: string[] = ['grnNumber', 'grnDate', 'deliveryDate', 'purchaseOrderNo', 'approvalStatus', 'action'];\r\n GrnMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = { \"grnNumber\": null, \"purchaseOrderNo\": null };\r\n TaskData = { \"grnId\": null, \"remark\": null, \"workflowName\": null };\r\n TaskEntityData = {\r\n \"entityId\": null, \"grnId\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null\r\n };\r\n\r\n poList: any = [];\r\n grnAdd: boolean = true;\r\n grnEdit: boolean = true;\r\n grnView: boolean = true;\r\n grnDelete: boolean = true;\r\n PageTitle = \"GRN Master\";\r\n filterDiv: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.GrnMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addGrn = function () {\r\n this.router.navigate(['/grnMasterAdd']);\r\n }\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"GRNFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n getPoList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getPoList(headers).subscribe(resp => {\r\n debugger;\r\n this.poList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.grnMasterService.getAllGrn(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n // Set Filter\r\n let grnFilterSession = new GrnFilterSession();\r\n grnFilterSession.grnNumber = this.FilterData.grnNumber;\r\n grnFilterSession.purchaseOrderNo = this.FilterData.purchaseOrderNo;\r\n sessionStorage.setItem('GRNFILTERSESSION', JSON.stringify(grnFilterSession));\r\n this.result = !Object.values(grnFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.showLoading = false;\r\n this.GrnMasterData = new MatTableDataSource(resp.content);\r\n this.GrnMasterData.sort = this.sort;\r\n this.GrnMasterData.paginator = this.paginator;\r\n this.totalRecords = this.GrnMasterData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n saveTask = function (grnId) {\r\n debugger;\r\n this.DeleteMsg = 'Send grn for approval?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.grnTaskService.saveTask(grnId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"GRN sent for approval\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.search();\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n // Get task for resending\r\n getTaskById = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.grnTaskService.getTaskById(taskId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error.error.errorDetail[0];\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n //re-send task for approval\r\n reSendTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.TaskEntityData.approvalStatus = \"APPROVED\";\r\n this.grnTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"GRN re-sent for approval.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addPoTaskForm.reset();\r\n this.router.navigate(['/grnTaskSearch']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n onDelete = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to delete this record?';\r\n var experienceId = id;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.grnMasterService.onDelete(experienceId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"GRN is deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n //this.grnAdd = this._global.UserRights.includes(\"PRS_Master_ADD\");\r\n //this.grnEdit = this._global.UserRights.includes(\"PRS_Master_EDIT\");\r\n //this.grnView = this._global.UserRights.includes(\"PRS_Master_VIEW\");\r\n //this.grnDelete = this._global.UserRights.includes(\"PRS_Master_DELETE\");\r\n\r\n //Assign Filter\r\n let grnFilterSession = JSON.parse(sessionStorage.getItem('GRNFILTERSESSION'));\r\n if (sessionStorage.getItem('GRNFILTERSESSION') != null) {\r\n this.FilterData.grnNumber = grnFilterSession.grnNumber;\r\n this.FilterData.purchaseOrderNo = grnFilterSession.purchaseOrderNo;\r\n }\r\n if (grnFilterSession != null) {\r\n this.result = !Object.values(grnFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
GRN No \r\n
{{GrnMasterData.grnNumber}}
\r\n
GRN Date \r\n
{{GrnMasterData.grnDate | date : 'dd/MM/yyyy'}}
\r\n
Delivery Date \r\n
{{GrnMasterData.deliveryDate | date : 'dd/MM/yyyy'}}
\r\n
PO No. \r\n
{{GrnMasterData.purchaseOrderNo}}
\r\n
Status \r\n
{{GrnMasterData.approvalStatus}}
\r\n
Action \r\n \r\n visibility\r\n \r\n\r\n \r\n edit\r\n \r\n\r\n \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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GrnMasterService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n getAllGrn(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grn/getallgrn';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n\r\n saveGrn(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grn/savegrndetails';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n\r\n updateGrn(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grn/updategrndetails/'+id;\r\n return this._http.put(url, body,{ headers: header });\r\n }\r\n\r\n getGrnById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grn/getgrnbyid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getProductListByPo(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grn/getProductListByPo/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n onDelete(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grn/deletegrn/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { GrnTaskService } from '../../OrderMgmt/grn-task/grn-task.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { GrnFilterSession } from '../ordermgmtfilterdata';\r\n@Component({\r\n selector: 'app-grn-task',\r\n templateUrl: './grn-task.component.html',\r\n providers: [AppGlobals, DialogService, SharedService, GrnTaskService]\r\n})\r\n\r\nexport class GrnTaskComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private grnTaskService: GrnTaskService) { }\r\n displayedColumns: string[] = ['grnNumber', 'approvalStatus', 'stageName', 'action'];\r\n TaskListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n FilterData = { \"grnNumber\": null, \"approvalStatus\": null };\r\n PageTitle = \"Approval Task\";\r\n filterDiv: boolean = false;\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"GRNTASKFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n addPO = function () {\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n // Set Filter\r\n let GrnTaskFilterSession = new GrnFilterSession();\r\n GrnTaskFilterSession.grnNumber = this.FilterData.grnNumber;\r\n sessionStorage.setItem('FILTERSESSION', JSON.stringify(GrnTaskFilterSession));\r\n this.result = !Object.values(GrnTaskFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.grnTaskService.getAllPendingTask(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskListData = new MatTableDataSource(resp);\r\n this.TaskListData.sort = this.sort;\r\n this.TaskListData.paginator = this.paginator;\r\n this.totalRecords = this.TaskListData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n //Assign Filter\r\n let GrnTaskFilterSession = JSON.parse(sessionStorage.getItem('GRNTASKFILTERSESSION'));\r\n if (sessionStorage.getItem('GRNTASKFILTERSESSION') != null) {\r\n this.FilterData.grnNumber = GrnTaskFilterSession.purchaseOrderNo;\r\n }\r\n if (GrnTaskFilterSession != null) {\r\n this.result = !Object.values(GrnTaskFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
GRN Number \r\n
{{TaskListData.grnNumber}}
\r\n
Stage Name \r\n
{{TaskListData.stageName}}
\r\n
Approval Status \r\n
{{TaskListData.approvalStatus}}
\r\n
Action \r\n \r\n\r\n \r\n Action\r\n \r\n\r\n \r\n edit\r\n \r\n \r\n delete\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GrnTaskService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n getAllPendingTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grntask/getallgrntasks';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getAllHistoryTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grntask/getallgrnhistorytasks';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getTaskById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grntask/getgnrtaskbyid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n saveTask(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grntask/sendGrnForApproval/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n processTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grntask/processworkflow';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getWorkflowHistory(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/grntask/getworkflowhistorybyid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { GrnTaskService } from '../../../OrderMgmt/grn-task/grn-task.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-update-grn-task',\r\n templateUrl: './update-grn-task.component.html',\r\n providers: [AppGlobals, DialogService, SharedService, GrnTaskService]\r\n})\r\nexport class UpdateGrnTaskComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private grnTaskService: GrnTaskService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n displayedColumns: string[] = ['stageName', 'approvalStatus', 'updatedBy', 'updatedDate', 'remark'];\r\n WorkflowHistoryData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Approve/Reject\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addGrnTaskForm: FormGroup;\r\n isSubmitted = false;\r\n baseUrl: any = null;\r\n\r\n TaskEntityData = {\r\n \"entityId\": null, \"grnId\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null\r\n };\r\n\r\n cancel = function () {\r\n this.router.navigate(['/grnTaskSearch']);\r\n }\r\n\r\n updateTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.grnTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Task updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addGrnTaskForm.reset();\r\n this.router.navigate(['/grnTaskSearch']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.grnTaskService.getTaskById(taskId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n this.searchWorkflowHistory(this.TaskEntityData.grnId);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n // Search function\r\n searchWorkflowHistory = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.grnTaskService.getWorkflowHistory(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.WorkflowHistoryData = new MatTableDataSource(resp);\r\n this.WorkflowHistoryData.sort = this.sort;\r\n //this.WorkflowHistoryData.paginator = this.paginator;\r\n this.totalRecords = this.WorkflowHistoryData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addGrnTaskForm = this.formBuilder.group({\r\n entityId: [null, Validators.required],\r\n grnId: [null],\r\n stageName: [null],\r\n workflowName: [null],\r\n assignToRole: [null],\r\n assignToUser: [null],\r\n approvalStatus: [null],\r\n remark: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Approve/Reject\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n //this.searchWorkflowHistory(this.route.snapshot.params.id);\r\n }\r\n\r\n this.baseUrl = this._global.baseUrl;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n Not Sent For Approval\r\n
\r\n\r\n
\r\n
Workflow History
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Level \r\n
{{WorkflowHistoryData.stageName}}
\r\n
Action Taken \r\n
{{WorkflowHistoryData.approvalStatus}}
\r\n
Actioned By \r\n
{{WorkflowHistoryData.updatedBy}}
\r\n
Actioned On \r\n
{{WorkflowHistoryData.updatedDate | date : 'dd/MM/yyyy HH:mm'}}
\r\n
Remarks \r\n
{{WorkflowHistoryData.remark}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n \r\n Remarks\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","export class PoFilterSession {\r\n purchaseOrderNo: string;\r\n accountName: string;\r\n organisationId: string;\r\n supplierName: string;\r\n department: string;\r\n}\r\nexport class RcFilterSession {\r\n rateContractNo: string;\r\n accountName: string;\r\n organisationId: string;\r\n supplierName: string;\r\n department: string;\r\n}\r\n\r\nexport class PrsFilterSession {\r\n prsNo: string;\r\n issueChequeTo: string;\r\n purchaseOrderNumber: string;\r\n}\r\nexport class GrnFilterSession {\r\n grnNumber: string;\r\n purchaseOrderNo: string;\r\n}\r\nexport class PoApprovalFilterSession {\r\n purchaseOrderNo: string;\r\n accountName: string;\r\n supplierName: string;\r\n stageName:string;\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoFulfilmentService } from '../po-fulfilment.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\n@Component({\r\n selector: 'app-add-po-fulfilment',\r\n templateUrl: './add-po-fulfilment.component.html',\r\n providers: [PoFulfilmentService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class AddPoFulfilmentComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poFulfilmentService: PoFulfilmentService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n PageTitle = \"Add PO Fulfilment\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n PoFulfilmentData = {\r\n \"fulfilmentDate\": null, \"delayReason\": null, \"nextdeliveryDate\": null,\r\n \"delayCategory\": null, \"purchaseOrderNo\": null\r\n };\r\n addPoFulfilmentForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.router.navigate(['searchPurchaseOrder/searchPoFulfilment', this.PoFulfilmentData.purchaseOrderNo, 'list']);\r\n } else if (this.route.snapshot.params.page == 'add') {\r\n this.router.navigate(['searchPurchaseOrder/searchPoFulfilment', this.route.snapshot.params.id, 'list']);\r\n }\r\n }\r\n\r\n addPoFulfilment = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPoFulfilmentForm.invalid) {\r\n return;\r\n }\r\n this.PoFulfilmentData.fulfilmentDate = this.PoFulfilmentData.fulfilmentDate.getTime();\r\n this.PoFulfilmentData.nextdeliveryDate = this.PoFulfilmentData.nextdeliveryDate.getTime();\r\n if (flag == \"save\") {\r\n this.PoFulfilmentData.purchaseOrderNo = this.route.snapshot.params.id;\r\n }\r\n this.showLoading = true;\r\n this.poFulfilmentService.saveFulfilment(this.PoFulfilmentData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PO Fulfilment \" + flag + \"d successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addPoFulfilmentForm.reset();\r\n if (flag == \"save\") {\r\n this.router.navigate(['searchPurchaseOrder/searchPoFulfilment', this.route.snapshot.params.id, 'list']);\r\n } else if (flag == \"update\") {\r\n this.router.navigate(['searchPurchaseOrder/searchPoFulfilment', this.PoFulfilmentData.purchaseOrderNo, 'list']);\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poFulfilmentService.getFulfilmentById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PoFulfilmentData = resp;\r\n this.PoFulfilmentData.fulfilmentDate = (new Date(this.PoFulfilmentData.fulfilmentDate));\r\n this.PoFulfilmentData.nextdeliveryDate = (new Date(this.PoFulfilmentData.nextdeliveryDate));\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addPoFulfilmentForm = this.formBuilder.group({\r\n fulfilmentDate: [null, Validators.required],\r\n delayReason: [null, Validators.required],\r\n nextdeliveryDate: [null, Validators.required],\r\n delayCategory: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update PO Fulfilment\";\r\n this.editon(this.route.snapshot.params.id);\r\n }\r\n\r\n }\r\n get formControls() {\r\n return this.addPoFulfilmentForm.controls;\r\n }\r\n\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Fulfilment date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Delay reason is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Next delivery date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Delay Category\r\n \r\n - Select -\r\n High\r\n Medium\r\n Low\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \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, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { PoFulfilmentService } from './po-fulfilment.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-po-fulfilment',\r\n templateUrl: './po-fulfilment.component.html',\r\n providers: [PoFulfilmentService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class PoFulfilmentComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private poFulfilmentService: PoFulfilmentService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['fulfilmentDate', 'delayReason', 'nextdeliveryDate', 'delayCategory', 'action'];\r\n PoFulfilmentMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"PO Fulfilment Delay\";\r\n\r\n addPoFulfilment = function () {\r\n debugger;\r\n this.router.navigate(['searchPurchaseOrder/AddPoFulfilment', this.route.snapshot.params.id, 'add']);\r\n }\r\n\r\n goBack = function () {\r\n debugger;\r\n this.router.navigate(['searchPurchaseOrder']);\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poFulfilmentService.getAllFulfilmentsByPo(this.route.snapshot.params.id, headers).subscribe(resp => {\r\n debugger;\r\n this.PoFulfilmentMasterData = new MatTableDataSource(resp);\r\n this.PoFulfilmentMasterData.sort = this.sort;\r\n this.PoFulfilmentMasterData.paginator = this.paginator;\r\n this.totalRecords = this.PoFulfilmentMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete function\r\n deleteFulfilment = function (id) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to delete this fulfilment delay?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poFulfilmentService.deleteFulfilmentById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Fulfilment delay deleted successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
Total Records: {{totalRecords}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Fulfilment Date\r\n {{PoFulfilmentMasterData.fulfilmentDate | date : 'dd/MM/yyyy'}}\r\n Delay Reason\r\n {{PoFulfilmentMasterData.delayReason}}\r\n Next Delivery Date\r\n {{PoFulfilmentMasterData.nextdeliveryDate | date : 'dd/MM/yyyy'}}\r\n Delivery Category\r\n {{PoFulfilmentMasterData.delayCategory}}\r\n Action \r\n\r\n \r\n edit\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders, HttpEvent, HttpErrorResponse, HttpEventType} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PoFulfilmentService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveFulfilment(body, header, flag) {\r\n debugger;\r\n if(flag==\"save\"){\r\n var url = this._global.baseAPIUrl + 'ipms/fulfilmentdelay';\r\n return this._http.post(url, body, { headers: header });\r\n } else if(flag==\"update\"){\r\n var url = this._global.baseAPIUrl + 'ipms/fulfilmentdelay/'+body.entityId;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n }\r\n\r\n getFulfilmentById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/fulfilmentdelay/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteFulfilmentById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/fulfilmentdelay/'+id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n getAllFulfilments(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/fulfilmentdelay/searchfulfilmentdelay';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getAllFulfilmentsByPo(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/fulfilmentdelay/getfulfilmentdelaysbypoid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PoPaymentService } from '../po-payment.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\n@Component({\r\n selector: 'app-add-payment',\r\n templateUrl: './add-payment.component.html',\r\n providers: [PoPaymentService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class AddPaymentComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private poPaymentService: PoPaymentService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n PageTitle = \"Add PO Payment\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n PoPaymentData = {\r\n \"scheduleDate\": null, \"amount\": null, \"paymentMode\": null,\r\n \"paymentDate\": null, \"ddNumber\": null, \"ddBank\": null,\r\n \"invoiceNumber\": null, \"invoiceDate\": null, \"cashBackReceived\": null,\r\n \"interestPaid\": null, \"purchaseOrderNo\": null\r\n };\r\n addPoPaymentForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n //this.router.navigate(['searchPurchaseOrder/searchPoPayment']);\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.router.navigate(['searchPurchaseOrder/searchPoPayment', this.PoPaymentData.purchaseOrderNo, 'list']);\r\n } else if (this.route.snapshot.params.page == 'add') {\r\n this.router.navigate(['searchPurchaseOrder/searchPoPayment', this.route.snapshot.params.id, 'list']);\r\n }\r\n }\r\n\r\n addPoPaymnet = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPoPaymentForm.invalid) {\r\n return;\r\n }\r\n this.PoPaymentData.scheduleDate = this.PoPaymentData.scheduleDate.getTime();\r\n if (this.PoPaymentData.paymentDate != null) {\r\n this.PoPaymentData.paymentDate = this.PoPaymentData.paymentDate.getTime();\r\n }\r\n if (this.PoPaymentData.invoiceDate != null) {\r\n this.PoPaymentData.invoiceDate = this.PoPaymentData.invoiceDate.getTime();\r\n }\r\n if (flag == \"save\") {\r\n this.PoPaymentData.purchaseOrderNo = this.route.snapshot.params.id;\r\n }\r\n this.showLoading = true;\r\n this.poPaymentService.savePayment(this.PoPaymentData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PO Payment \" + flag + \"d successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addPoPaymentForm.reset();\r\n if (flag == \"save\") {\r\n this.router.navigate(['searchPurchaseOrder/searchPoPayment', this.route.snapshot.params.id, 'list']);\r\n } else if (flag == \"update\") {\r\n this.router.navigate(['searchPurchaseOrder/searchPoPayment', this.PoPaymentData.purchaseOrderNo, 'list']);\r\n }\r\n //this.router.navigate(['searchPurchaseOrder/searchPoPayment',this.route.snapshot.params.id,'list']);\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PoPaymentData.scheduleDate = (new Date(this.PoPaymentData.scheduleDate));\r\n if (this.PoPaymentData.paymentDate != null || this.PoPaymentData.paymentDate != 0) {\r\n this.PoPaymentData.paymentDate = (new Date(this.PoPaymentData.paymentDate));\r\n }\r\n if (this.PoPaymentData.invoiceDate != null || this.PoPaymentData.paymentDate != 0) {\r\n this.PoPaymentData.invoiceDate = (new Date(this.PoPaymentData.invoiceDate));\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poPaymentService.getPaymentById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PoPaymentData = resp;\r\n this.PoPaymentData.scheduleDate = (new Date(this.PoPaymentData.scheduleDate));\r\n this.PoPaymentData.paymentDate = (new Date(this.PoPaymentData.paymentDate));\r\n this.PoPaymentData.invoiceDate = (new Date(this.PoPaymentData.invoiceDate));\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.addPoPaymentForm = this.formBuilder.group({\r\n scheduleDate: [null, Validators.required],\r\n amount: [null, Validators.required],\r\n paymentMode: [null],\r\n paymentDate: [null],\r\n ddNumber: [null],\r\n ddBank: [null],\r\n invoiceNumber: [null],\r\n invoiceDate: [null],\r\n cashBackReceived: [null],\r\n interestPaid: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update PO Payment\";\r\n this.editon(this.route.snapshot.params.id);\r\n }\r\n\r\n }\r\n get formControls() {\r\n return this.addPoPaymentForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Schedule Date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Amount is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \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, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { PoPaymentService } from './po-payment.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-po-payment',\r\n templateUrl: './po-payment.component.html',\r\n providers: [PoPaymentService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class PoPaymentComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private poPaymentService: PoPaymentService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['scheduleDate', 'amount', 'paymentMode', 'paymentDate', 'invoiceNumber', 'invoiceDate', 'action'];\r\n PoPaymentMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"PO Payment Schedule\";\r\n\r\n addPoPayment = function () {\r\n debugger;\r\n this.router.navigate(['searchPurchaseOrder/AddPoPayment', this.route.snapshot.params.id, 'add']);\r\n }\r\n /* editPoPayment = function(id) { //on edit button click\r\n debugger;\r\n this.router.navigate(['searchPurchaseOrder/EditPoPayment',id,'edit']);\r\n } */\r\n goBack = function () {\r\n debugger;\r\n this.router.navigate(['searchPurchaseOrder']);\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poPaymentService.getAllPaymentsByPo(this.route.snapshot.params.id, headers).subscribe(resp => {\r\n debugger;\r\n this.PoPaymentMasterData = new MatTableDataSource(resp);\r\n this.PoPaymentMasterData.sort = this.sort;\r\n this.PoPaymentMasterData.paginator = this.paginator;\r\n this.totalRecords = this.PoPaymentMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete function\r\n deletePayment = function (id) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to delete this payment?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poPaymentService.deletePaymentById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Payment deleted successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Schedule Date\r\n {{PoPaymentMasterData.scheduleDate | date : 'dd/MM/yyyy'}}\r\n Amount\r\n {{PoPaymentMasterData.amount}}\r\n Payment Mode\r\n {{PoPaymentMasterData.paymentMode}}\r\n Payment Date\r\n {{PoPaymentMasterData.paymentDate | date : 'dd/MM/yyyy'}}\r\n Invoice Number\r\n {{PoPaymentMasterData.invoiceNumber}}\r\n Invoice Date\r\n {{PoPaymentMasterData.invoiceDate | date : 'dd/MM/yyyy'}}\r\n Action \r\n\r\n \r\n edit\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders, HttpEvent, HttpErrorResponse, HttpEventType} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PoPaymentService {\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n savePayment(body, header, flag) {\r\n debugger;\r\n if(flag==\"save\"){\r\n var url = this._global.baseAPIUrl + 'ipms/popayment';\r\n return this._http.post(url, body, { headers: header });\r\n } else if(flag==\"update\"){\r\n var url = this._global.baseAPIUrl + 'ipms/popayment/'+body.entityId;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n \r\n }\r\n\r\n updatePayment(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/popayment/'+id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getPaymentById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/popayment/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deletePaymentById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/popayment/'+id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n getAllPayments(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/popayment/searchpopayment';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getAllPaymentsByPo(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/popayment/getpopaymentsbypoid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { ProductDetailsService } from '../../../OrderMgmt/product-details/product-details.service';\r\nimport { HsnMasterService } from '../../../AssetMgmt/HsnMaster/hsn-master.service';\r\n\r\n@Component({\r\n selector: 'app-add-product-details',\r\n templateUrl: './add-product-details.component.html',\r\n providers: [ProductDetailsService, AppGlobals, DialogService, SharedService, HsnMasterService]\r\n})\r\nexport class AddProductDetailsComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private productDetailsService: ProductDetailsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private hsnMasterService: HsnMasterService) { }\r\n\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Add Product Details\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addProductDetailsForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n // isHistoricData = \"NO\";\r\n // applyGstFlag = \"YES\";\r\n // currency = \"INR\";\r\n // isSameState = \"true\";\r\n debugger;\r\n isHistoricData = sessionStorage.getItem('isHistoricData');\r\n applyGstFlag = sessionStorage.getItem('applyGstFlag');\r\n currency = sessionStorage.getItem('currencyFlag');\r\n isSameState = sessionStorage.getItem('sameStateFlag');\r\n\r\n ProductDetailsEntityData = {\r\n \"productName\": null, \"hsnId\": null, \"rate\": 0,\r\n \"quantity\": 0, \"amount\": 0, \"discount\": 0,\r\n \"discountAmount\": 0, \"totalDiscount\": 0, \"totalAmount\": 0,\r\n \"description\": null, \"cgst\": 0, \"sgst\": 0, \"igst\": 0,\r\n \"cgstAmount\": 0, \"sgstAmount\": 0, \"igstAmount\": 0,\r\n \"serviceTax\": 0, \"vat\": 0, \"finalAmount\": 0,\r\n \"purchaseOrder\": null, \"isHistoricData\": sessionStorage.getItem('isHistoricData'), \"applyGstFlag\": sessionStorage.getItem('applyGstFlag'), \"currency\": sessionStorage.getItem('currencyFlag'), \"stateFlag\": sessionStorage.getItem('sameStateFlag')\r\n };\r\n\r\n PoParent = { \"entityId\": \"\" };\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n debugger;\r\n return o1 == o2;\r\n }\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addProductDetailsForm.get('amount').disable();\r\n this.addProductDetailsForm.get('totalDiscount').disable();\r\n this.addProductDetailsForm.get('totalAmount').disable();\r\n this.addProductDetailsForm.get('cgst').disable();\r\n this.addProductDetailsForm.get('sgst').disable();\r\n this.addProductDetailsForm.get('igst').disable();\r\n this.addProductDetailsForm.get('cgstAmount').disable();\r\n this.addProductDetailsForm.get('sgstAmount').disable();\r\n this.addProductDetailsForm.get('igstAmount').disable();\r\n this.addProductDetailsForm.get('finalAmount').disable();\r\n }\r\n\r\n cancel = function () {\r\n //this.router.navigate(['/SearchProductDetails']);\r\n if (this.route.snapshot.params.page == 'edit') {\r\n //this.router.navigate(['searchPurchaseOrder/SearchProductDetails/' + this.ProductDetailsEntityData.purchaseOrder.entityId + '/list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/SearchProductDetails', this.ProductDetailsEntityData.purchaseOrder.entityId, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/SearchProductDetails', this.ProductDetailsEntityData.purchaseOrder.entityId, 'list', this.route.snapshot.params.task]);\r\n }\r\n } else if (this.route.snapshot.params.page == 'add') {\r\n //this.router.navigate(['searchPurchaseOrder/SearchProductDetails/' + this.route.snapshot.params.id + '/list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/SearchProductDetails', this.route.snapshot.params.id, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/SearchProductDetails', this.route.snapshot.params.id, 'list', this.route.snapshot.params.task]);\r\n }\r\n }\r\n }\r\n\r\n saveProductDetails = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n if (this.addProductDetailsForm.invalid) {\r\n return;\r\n }\r\n if ((this.ProductDetailsEntityData.discount != 0) && (this.ProductDetailsEntityData.discountAmount != 0)) {\r\n this.errStr = \"Enter either discount or discount amount\";\r\n this.dialogService.openConfirmDialog(this.errStr);\r\n return;\r\n }\r\n this.PoParent.entityId = this.route.snapshot.params.id;\r\n this.ProductDetailsEntityData.purchaseOrder = this.PoParent;\r\n this.ProductDetailsEntityData.isHistoricData = sessionStorage.getItem('isHistoricData');\r\n this.ProductDetailsEntityData.applyGstFlag = sessionStorage.getItem('applyGstFlag');\r\n this.ProductDetailsEntityData.currency = sessionStorage.getItem('currencyFlag');\r\n this.ProductDetailsEntityData.stateFlag = sessionStorage.getItem('sameStateFlag');\r\n this.showLoading = true;\r\n this.productDetailsService.saveProductDetails(this.ProductDetailsEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Product saved successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addProductDetailsForm.reset();\r\n //this.router.navigate(['searchPurchaseOrder/SearchProductDetails',this.route.snapshot.params.id,'list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/SearchProductDetails', this.route.snapshot.params.id, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/SearchProductDetails', this.route.snapshot.params.id, 'list', this.route.snapshot.params.task]);\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updateProductDetails = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n if (this.addProductDetailsForm.invalid) {\r\n return;\r\n }\r\n if ((this.ProductDetailsEntityData.discount != 0) && (this.ProductDetailsEntityData.discountAmount != 0)) {\r\n this.errStr = \"Enter either discount or discount amount\";\r\n this.dialogService.openConfirmDialog(this.errStr);\r\n return;\r\n }\r\n this.ProductDetailsEntityData.isHistoricData = sessionStorage.getItem('isHistoricData');\r\n this.ProductDetailsEntityData.applyGstFlag = sessionStorage.getItem('applyGstFlag');\r\n this.ProductDetailsEntityData.currency = sessionStorage.getItem('currencyFlag');\r\n this.ProductDetailsEntityData.stateFlag = sessionStorage.getItem('sameStateFlag');\r\n this.showLoading = true;\r\n this.productDetailsService.updateProductDetails(this.ProductDetailsEntityData, headers, this.ProductDetailsEntityData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Product updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addProductDetailsForm.reset();\r\n //this.router.navigate(['searchPurchaseOrder/SearchProductDetails',this.ProductDetailsEntityData.purchaseOrder.entityId,'list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/SearchProductDetails', this.ProductDetailsEntityData.purchaseOrder.entityId, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/SearchProductDetails', this.ProductDetailsEntityData.purchaseOrder.entityId, 'list', this.route.snapshot.params.task]);\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var productId = id;\r\n this.productDetailsService.getProductDetailsById(productId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ProductDetailsEntityData = resp;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n // product List\r\n productList: any = [];\r\n getProductList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.sharedService.getAllProduct(headers).subscribe(resp => {\r\n this.sharedService.getAllProductByOrg(sessionStorage.getItem(\"poOrgId\"),headers).subscribe(resp => {\r\n debugger;\r\n this.productList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //rate contract product List\r\n getRcProductList = function (rcId) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getListOfProductsInRc(rcId, headers).subscribe(resp => {\r\n debugger;\r\n this.productList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // hsn List\r\n hsnList: any = [];\r\n getHsnList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAllHsn(headers).subscribe(resp => {\r\n debugger;\r\n this.hsnList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //Get selected hsn by code\r\n getPerticularHSN = function (code) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (code == null) {\r\n //this.ProductDetailsEntityData.hsnId = null;\r\n this.ProductDetailsEntityData.cgst = null;\r\n this.ProductDetailsEntityData.sgst = null;\r\n this.ProductDetailsEntityData.igst = null;\r\n return;\r\n }\r\n this.hsnMasterService.getHsnByCodeValue(code, headers).subscribe(resp => {\r\n debugger;\r\n //this.ProductDetailsEntityData.hsnId = resp.hsnCode;\r\n this.ProductDetailsEntityData.cgst = resp.cgst;\r\n this.ProductDetailsEntityData.sgst = resp.sgst;\r\n this.ProductDetailsEntityData.igst = resp.igst;\r\n if ((this.ProductDetailsEntityData.rate != null) || (this.ProductDetailsEntityData.quantity != null)) { this.cal(); }\r\n //vm.hsnCode= this.ProductDetailsEntityData.hsnId;\r\n //if(vm.hsnCode != vm.hsnCodeFromDB)\r\n //vm.needToUpdate = true;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n cal = function () {\r\n debugger;\r\n this.ProductDetailsEntityData.amount = +(this.ProductDetailsEntityData.rate * this.ProductDetailsEntityData.quantity).toFixed(2);\r\n this.ProductDetailsEntityData.totalDiscount = 0;\r\n this.ProductDetailsEntityData.totalDiscount += +((this.ProductDetailsEntityData.discount / 100) * this.ProductDetailsEntityData.amount).toFixed(2);\r\n if (this.ProductDetailsEntityData.discountAmount != null) {\r\n this.ProductDetailsEntityData.totalDiscount += +parseFloat(this.ProductDetailsEntityData.discountAmount).toFixed(2);\r\n }\r\n this.ProductDetailsEntityData.totalAmount = this.ProductDetailsEntityData.amount - this.ProductDetailsEntityData.totalDiscount;\r\n\r\n if (this.currency == \"INR\") {\r\n\r\n if (this.isHistoricData == \"NO\") {\r\n if (this.applyGstFlag == \"YES\") {\r\n if (this.isSameState == \"true\") {\r\n this.ProductDetailsEntityData.cgstAmount = +((this.ProductDetailsEntityData.cgst / 100) * this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n this.ProductDetailsEntityData.sgstAmount = +((this.ProductDetailsEntityData.sgst / 100) * this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n this.ProductDetailsEntityData.igstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.finalAmount = +parseFloat(this.ProductDetailsEntityData.totalAmount + this.ProductDetailsEntityData.cgstAmount + this.ProductDetailsEntityData.sgstAmount).toFixed(2);\r\n //vm.finalAmount = this.ProductDetailsEntityData.totalAmount + ((this.ProductDetailsEntityData.cgst + this.ProductDetailsEntityData.sgst) / 100 * this.ProductDetailsEntityData.totalAmount);\r\n } else {\r\n this.ProductDetailsEntityData.igstAmount = +((this.ProductDetailsEntityData.igst / 100) * this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n this.ProductDetailsEntityData.cgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.sgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.finalAmount = +parseFloat(this.ProductDetailsEntityData.totalAmount + this.ProductDetailsEntityData.igstAmount).toFixed(2);\r\n //vm.finalAmount = this.ProductDetailsEntityData.totalAmount + ((this.ProductDetailsEntityData.igst) / 100 * this.ProductDetailsEntityData.totalAmount);\r\n }\r\n } else {\r\n this.ProductDetailsEntityData.cgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.sgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.igstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.finalAmount = +parseFloat(this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n //vm.finalAmount = this.ProductDetailsEntityData.totalAmount;\r\n }\r\n /*\r\n if($state.params.isSameState==\"true\") {\r\n this.ProductDetailsEntityData.cgstAmount=(this.ProductDetailsEntityData.cgst/100)*this.ProductDetailsEntityData.totalAmount;\r\n this.ProductDetailsEntityData.sgstAmount=(this.ProductDetailsEntityData.sgst/100)*this.ProductDetailsEntityData.totalAmount;\r\n this.ProductDetailsEntityData.finalAmount=parseFloat(this.ProductDetailsEntityData.totalAmount+this.ProductDetailsEntityData.cgstAmount+this.ProductDetailsEntityData.sgstAmount);\r\n vm.finalAmount=this.ProductDetailsEntityData.totalAmount+((this.ProductDetailsEntityData.cgst+this.ProductDetailsEntityData.sgst)/100*this.ProductDetailsEntityData.totalAmount);\r\n getHSN }else { \r\n this.ProductDetailsEntityData.igstAmount=(this.ProductDetailsEntityData.igst/100)*this.ProductDetailsEntityData.totalAmount;\r\n this.ProductDetailsEntityData.finalAmount=parseFloat(this.ProductDetailsEntityData.totalAmount+this.ProductDetailsEntityData.igstAmount);\r\n vm.finalAmount=this.ProductDetailsEntityData.totalAmount+((this.ProductDetailsEntityData.igst)/100*this.ProductDetailsEntityData.totalAmount);\r\n }*/\r\n } else if (this.isHistoricData == \"YES\") {\r\n this.ProductDetailsEntityData.cgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.sgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.igstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.finalAmount = +parseFloat(this.ProductDetailsEntityData.totalAmount + this.ProductDetailsEntityData.serviceTax + this.ProductDetailsEntityData.vat).toFixed(2);\r\n }\r\n }\r\n else {\r\n this.ProductDetailsEntityData.igstAmount = +((this.ProductDetailsEntityData.igst / 100) * this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n this.ProductDetailsEntityData.finalAmount = +(this.ProductDetailsEntityData.totalAmount + this.ProductDetailsEntityData.igstAmount).toFixed(2);\r\n }\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n this.addProductDetailsForm = this.formBuilder.group({\r\n productName: [null, Validators.required],\r\n hsnId: [null, Validators.required],\r\n rate: [0, Validators.required],\r\n quantity: [0, Validators.required],\r\n amount: [0, Validators.required],\r\n discount: [0],\r\n discountAmount: [0],\r\n totalDiscount: [0],\r\n totalAmount: [0],\r\n description: [null],\r\n cgst: [0],\r\n sgst: [0],\r\n igst: [0],\r\n cgstAmount: [0],\r\n sgstAmount: [0],\r\n igstAmount: [0],\r\n serviceTax: [0],\r\n vat: [0],\r\n finalAmount: [0]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Product Details\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n this.debugger;\r\n /* this.isHistoricData = sessionStorage.getItem('isHistoricData');\r\n this.applyGstFlag = sessionStorage.getItem('applyGstFlag');\r\n this.currency = sessionStorage.getItem('currencyFlag');\r\n this.isSameState = sessionStorage.getItem('sameStateFlag'); */\r\n\r\n this.disabledField();\r\n this.getHsnList();\r\n\r\n if (sessionStorage.getItem(\"rcId\") == null) {\r\n this.getProductList();\r\n } else {\r\n this.getRcProductList(sessionStorage.getItem(\"rcId\"));\r\n }\r\n }\r\n\r\n get formControls() {\r\n return this.addProductDetailsForm.controls;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n Product\r\n \r\n - Select Product -\r\n \r\n \r\n {{p.selectionvalue}}\r\n \r\n
\r\n
Product is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n HSN Code\r\n \r\n - Select Hsn -\r\n \r\n \r\n {{h.selectionvalue}}\r\n \r\n
\r\n
Hsn code is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Rate\r\n \r\n
\r\n
Rate is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Quantity\r\n \r\n
\r\n
Quantity is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Amount\r\n \r\n
\r\n
Amount is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Discount %\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Discount Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Total Discount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Total Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n CGST (%)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n SGST (%)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n IGST (%)\r\n Tax (%)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n CGST Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n SGST Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n IGST Amount\r\n IGST Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Service Tax Amount (in Rs.)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n VAT Amount (in Rs.)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Final Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Description\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { ProductDetailsService } from '../../OrderMgmt/product-details/product-details.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { PoTaskService } from '../../OrderMgmt/purchase-order-task/po-task.service';\r\n\r\n@Component({\r\n selector: 'app-product-details',\r\n templateUrl: './product-details.component.html',\r\n providers: [ProductDetailsService, AppGlobals, DialogService, SharedService, PoTaskService]\r\n})\r\nexport class ProductDetailsComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private productDetailsService: ProductDetailsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private poTaskService: PoTaskService) { }\r\n\r\n displayedColumns: string[] = ['product', 'hsnId', 'cgst', 'sgst', 'igst', 'cgstAmount', 'sgstAmount', 'igstAmount', 'finalAmount', 'action'];\r\n ProductDetailsList: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n\r\n FilterData = { \"entityId\": \"\" };\r\n TaskData = { \"poId\": null, \"poRcFlag\": null, \"remark\": null, \"workflowType\": null, \"workflowName\": null };\r\n TaskEntityData = {\r\n \"entityId\": null, \"poId\": null, \"uploadFile\": null,\r\n \"poRcFlag\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null\r\n };\r\n workflowDiv: boolean = false;\r\n additionalTerms: boolean = false;\r\n rcId: any = null;\r\n\r\n taskId = null;\r\n\r\n PageTitle = \"Product Details\";\r\n filterDiv: boolean = false;\r\n /* addProductDetails = function() {\r\n debugger;\r\n this.router.navigate(['/AddProductDetails']);\r\n } */\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProductDetailsList.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n ProductDetailsCard: any = [];\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.FilterData.entityId = this.route.snapshot.params.id;\r\n this.showLoading = true;\r\n\r\n this.productDetailsService.searchAllProductDetailsByPo(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.ProductDetailsCard = resp;\r\n this.ProductDetailsList = new MatTableDataSource(resp);\r\n this.ProductDetailsList.sort = this.sort;\r\n this.ProductDetailsList.paginator = this.paginator;\r\n this.totalRecords = this.ProductDetailsList.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addProduct = function () {\r\n debugger;\r\n //this.router.navigate(['searchPurchaseOrder/AddProductDetails',this.route.snapshot.params.id,'add']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/AddProductDetails', this.route.snapshot.params.id, 'add']);\r\n } else {\r\n this.router.navigate(['searchTask/AddProductDetails', this.route.snapshot.params.id, 'add', this.route.snapshot.params.task]);\r\n }\r\n }\r\n\r\n editProduct = function (id) {\r\n debugger;\r\n //this.router.navigate(['searchPurchaseOrder/UpdateProductDetails',id,'edit']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/UpdateProductDetails', id, 'edit']);\r\n } else {\r\n this.router.navigate(['searchTask/UpdateProductDetails', id, 'edit', this.route.snapshot.params.task]);\r\n }\r\n }\r\n\r\n // Delete function\r\n deleteProduct = function (productId) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to delete this product?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.productDetailsService.deleteProductDetailsById(productId, headers).subscribe(resp => {\r\n this.successMessage = 'Product deleted successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n openTask = function () {\r\n /* if($rootScope.poMadeFrom ==\"RC\")\r\n {\r\n vm.task.poMadeFrom= $rootScope.poMadeFrom;\r\n vm.saveTask();\r\n }\r\n else\r\n {\r\n vm.task.poMadeFrom= \"\";\r\n vm.workflow();\r\n vm.openDiv=true;\r\n } */\r\n\r\n if (this.taskId == null) {\r\n if (this.rcId == null) {\r\n this.getAllWorkflowsByType();\r\n this.workflowDiv = true;\r\n } else {\r\n this.TaskData.workflowName = this._global.poRcWorkflow;\r\n this.workflowDiv = true;\r\n //this.saveTask();\r\n }\r\n } else {\r\n this.reSendTask();\r\n }\r\n }\r\n\r\n closeTask = function () {\r\n this.workflowDiv = false;\r\n }\r\n\r\n saveTask = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n if (this.TaskData.workflowName == null || this.TaskData.workflowName == \"\") {\r\n this.dialogService.openConfirmDialog(\"Please select workflow.\");\r\n return;\r\n }\r\n if (this.TaskData.remark == null || this.TaskData.remark == \"\") {\r\n this.dialogService.openConfirmDialog(\"Please enter remark.\");\r\n return;\r\n }\r\n this.TaskData.poId = this.route.snapshot.params.id;\r\n this.TaskData.poRcFlag = \"PO\";\r\n this.showLoading = true;\r\n this.poTaskService.saveTask(this.TaskData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskData = {};\r\n this.successMessage = \"Order sent for approval\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addProductDetailsForm.reset();\r\n this.router.navigate(['searchPurchaseOrder']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get task for resending\r\n getTaskById = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.poTaskService.getTaskById(taskId, headers, \"PO\").subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n //re-send task for approval\r\n reSendTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.TaskEntityData.poRcFlag = this.route.snapshot.params.poRcFlag;\r\n this.TaskEntityData.approvalStatus = \"APPROVED\";\r\n this.poTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PO re-sent for approval.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addPoTaskForm.reset();\r\n this.router.navigate(['/searchTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting workflow list\r\n WorkflowRequest = { \"workflowType\": null, \"projectType\": null, \"organisation\": null };\r\n workflowList: any = [];\r\n getAllWorkflowsByType = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n let orgName = sessionStorage.getItem(\"poOrgName\");\r\n if (orgName == \"Aurionpro Solutions Ltd\") {\r\n this.WorkflowRequest.workflowType = \"PO\";\r\n } else {\r\n this.WorkflowRequest.workflowType = \"BRAVO PO\";\r\n this.WorkflowRequest.projectType = sessionStorage.getItem(\"poProjectType\");\r\n this.WorkflowRequest.organisation = sessionStorage.getItem(\"poOrgId\");\r\n }\r\n this.showLoading = true;\r\n this.sharedService.getAllWorkflowsByType(this.WorkflowRequest, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.workflowList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n //this.search();\r\n debugger;\r\n if (this.route.snapshot.params.page == 'list') {\r\n this.PageTitle = \"Product Details\";\r\n this.search();\r\n //this.disabledField();\r\n }\r\n\r\n if (this.route.snapshot.params.task != null) {\r\n this.taskId = this.route.snapshot.params.task;\r\n this.getTaskById(this.taskId);\r\n }\r\n\r\n //this.additionalTerms = sessionStorage.getItem(\"additionalTerms\");\r\n this.rcId = sessionStorage.getItem(\"rcId\");\r\n this.additionalTerms = (sessionStorage.getItem(\"additionalTerms\") == \"false\") ? false : true;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n {{produtcard.product}}\r\n \r\n \r\n \r\n
\r\n
HSN Code:{{produtcard.hsnId}}
\r\n
CGST:{{produtcard.cgstAmount}} ({{produtcard.cgst}}%)
\r\n
Rate:{{produtcard.rate}}
\r\n
SGST:{{produtcard.sgstAmount}} ({{produtcard.sgst}}%)
\r\n
QTY.:{{produtcard.quantity}}
\r\n
IGST:{{produtcard.igstAmount}} ({{produtcard.igst}}%)
\r\n
Amount:{{produtcard.amount}}
\r\n
Total\r\n Dsc.:{{produtcard.totalDiscount}}
\r\n
Total Amt:{{produtcard.totalAmount}}\r\n
\r\n
Final Amt:{{produtcard.finalAmount}}\r\n
\r\n
Desc:{{produtcard.description}}\r\n
\r\n
\r\n
\r\n \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 Workflow\r\n \r\n -Select-\r\n \r\n \r\n {{work.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Remarks\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductDetailsService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveProductDetails(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/productdetails/addproductdetail';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updateProductDetails(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/productdetails/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getProductDetailsById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/productdetails/getproductdetailbyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteProductDetailsById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/productdetails/' + id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n getAllProductDetailsByPo(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/productdetails/getproductdetailsbypo';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n searchAllProductDetailsByPo(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/productdetails/searchproductdetailsbypo';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PRSService } from '../prs.service';\r\nimport { PrsTaskService } from '../prstask/prstask.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { PurchaseOrderService } from '../../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { map, startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-add-prs',\r\n templateUrl: './add-prs.component.html',\r\n providers: [PRSService, AppGlobals, DialogService, SharedService, FileuploadService, PurchaseOrderService, PrsTaskService]\r\n})\r\nexport class AddPrsComponent implements OnInit {\r\n\r\n filteredPoList: any = [];\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private prsService: PRSService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService,\r\n private fileuploadService: FileuploadService, private purchaseOrderService: PurchaseOrderService,private prsTaskService: PrsTaskService,\r\n private cdr: ChangeDetectorRef) { }\r\n\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n ngAfterViewChecked(){\r\n this.cdr.detectChanges();\r\n }\r\n\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Add PRS\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addPrsForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n PrsData = {\r\n \"prsNo\": null, \"prsDate\": null, \"purchaseOrderNo\": null, \"issueChequeTo\": null, \"invoiceNo\": null,\r\n \"invoiceDate\": null, \"invoiceAmount\": null, \"paymentDueDate\": null, \"description\": null, \"note\": null,\r\n \"department\": null, \"projectName\": null, \"approvalStatus\": null, \"location\": null, \"requestedBy\": null,\r\n \"approvedBy\": null, \"signature\": null, \"checklist\": null, \"quotation\": null, \"poCopy\": null, \"checkedInvoiceCopy\": null,\r\n \"approval\": null, \"supportingDocuments\": null, \"invoiceFileUpload\": null, \"grnId\": null,\r\n \"isUtilityPayment\": false, \"office\": null, \"billType\": null, \"billNo\": null, \"attachedBill\": null, \"entityId\": null\r\n };\r\n\r\n projectList: any = [];\r\n deptList: any = [];\r\n orgList: any = [];\r\n officeList: any = [];\r\n grnList: any = [];\r\n partyList: any = [];\r\n billTypeList: any = [];\r\n ConstantData = { \"type\": \"\" };\r\n isUtilityPayment: Boolean = false;\r\n poList: any = [];\r\n attachedBill: any = [];\r\n invoiceFileUpload: any = [];\r\n attachments: any = [];\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n //return o1.name === o2.name && o1.id === o2.id;\r\n return o1 == o2;\r\n }\r\n\r\n cancel = function () {\r\n if (this.taskFlag == false)\r\n {\r\n this.router.navigate(['/searchPrs']);\r\n }\r\n else{\r\n this.router.navigate(['/searchPrsTask']);\r\n }\r\n \r\n }\r\n\r\n savePrs = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPrsForm.invalid) {\r\n return;\r\n }\r\n if (this.PrsData.isUtilityPayment == false) {\r\n if (this.PrsData.purchaseOrderNo == null) {\r\n this.dialogService.openConfirmDialog(\"Purchase Order is required\");\r\n return;\r\n }\r\n if (this.PrsData.grnId == null) {\r\n this.dialogService.openConfirmDialog(\"GRN is required\");\r\n return;\r\n }\r\n }\r\n else {\r\n if (this.PrsData.office == null) {\r\n this.dialogService.openConfirmDialog(\"Office is required\");\r\n return;\r\n }\r\n if (this.PrsData.billType == null) {\r\n this.dialogService.openConfirmDialog(\"Bill Type is required\");\r\n return;\r\n }\r\n if (this.PrsData.billNo == null) {\r\n this.dialogService.openConfirmDialog(\"Bill/Agreement No. is required\");\r\n return;\r\n }\r\n if (!this.fileuploadService.hasfile(this.attachedBill)) {\r\n this.dialogService.openConfirmDialog(\"Please upload bill\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (this.attachedBill.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.attachedBill)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PrsData.attachedBill = this.fileuploadService.getFirstFilePath(this.attachedBill);\r\n }\r\n\r\n }\r\n\r\n /* if (!this.fileuploadService.hasfile(this.invoiceFileUpload)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Invoice\")\r\n return;\r\n } */\r\n\r\n //Check if all files are uploaded Successfully\r\n if (this.invoiceFileUpload.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.invoiceFileUpload)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PrsData.invoiceFileUpload = this.fileuploadService.getFirstFilePath(this.invoiceFileUpload);\r\n }\r\n\r\n /* if (!this.fileuploadService.hasfile(this.attachments)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Attachments\")\r\n return;\r\n } */\r\n\r\n //Check if all files are uploaded Successfully\r\n if (this.attachments.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.attachments)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PrsData.attachments = this.fileuploadService.allUploadedFiles(this.attachments);\r\n }\r\n this.PrsData.prsDate = this.PrsData.prsDate.getTime();\r\n this.PrsData.paymentDueDate = this.PrsData.paymentDueDate.getTime();\r\n if (this.PrsData.invoiceDate != null) {\r\n this.PrsData.invoiceDate = this.PrsData.invoiceDate.getTime();\r\n }\r\n\r\n this.showLoading = true;\r\n this.prsService.savePrs(this.PrsData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PRS created successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.attachBill = [];\r\n this.invoiceFileUpload = [];\r\n this.attachments = [];\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PrsData.prsDate = (new Date(this.PrsData.prsDate));\r\n this.PrsData.paymentDueDate = (new Date(this.PrsData.paymentDueDate));\r\n if (this.PrsData.invoiceDate != null) {\r\n this.PrsData.invoiceDate = (new Date(this.PrsData.invoiceDate));\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updatePrs = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPrsForm.invalid) {\r\n return;\r\n }\r\n if (this.PrsData.isUtilityPayment == false) {\r\n if (this.PrsData.purchaseOrderNo == null) {\r\n this.dialogService.openConfirmDialog(\"Purchase Order is required\");\r\n return;\r\n }\r\n if (this.PrsData.grnId == null) {\r\n this.dialogService.openConfirmDialog(\"GRN is required\");\r\n return;\r\n }\r\n }\r\n else {\r\n if (this.PrsData.office == null) {\r\n this.dialogService.openConfirmDialog(\"Office is required\");\r\n return;\r\n }\r\n if (this.PrsData.billType == null) {\r\n this.dialogService.openConfirmDialog(\"Bill Type is required\");\r\n return;\r\n }\r\n if (this.PrsData.billNo == null) {\r\n this.dialogService.openConfirmDialog(\"Bill/Agreement No. is required\");\r\n return;\r\n }\r\n if (!this.fileuploadService.hasfile(this.attachedBill)) {\r\n this.dialogService.openConfirmDialog(\"Please upload bill\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (this.attachedBill.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.attachedBill)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PrsData.attachedBill = this.fileuploadService.getFirstFilePath(this.attachedBill);\r\n }\r\n }\r\n\r\n if (this.PrsData.invoiceAmount == null) {\r\n this.dialogService.openConfirmDialog(\"Invoice amount is required\");\r\n return;\r\n }\r\n\r\n /* if (!this.fileuploadService.hasfile(this.invoiceFileUpload)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Invoice\")\r\n return;\r\n } */\r\n\r\n //Check if all files are uploaded Successfully\r\n if (this.invoiceFileUpload.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.invoiceFileUpload)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PrsData.invoiceFileUpload = this.fileuploadService.getFirstFilePath(this.invoiceFileUpload);\r\n }\r\n\r\n /* if (!this.fileuploadService.hasfile(this.attachments)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Attachments\")\r\n return;\r\n } */\r\n\r\n //Check if all files are uploaded Successfully\r\n if (this.attachments.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.attachments)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PrsData.attachments = this.fileuploadService.allUploadedFiles(this.attachments);\r\n }\r\n\r\n this.PrsData.prsDate = this.PrsData.prsDate.getTime();\r\n this.PrsData.paymentDueDate = this.PrsData.paymentDueDate.getTime();\r\n if (this.PrsData.invoiceDate != null) {\r\n this.PrsData.invoiceDate = this.PrsData.invoiceDate.getTime();\r\n }\r\n\r\n this.showLoading = true;\r\n this.prsService.updatePrs(this.PrsData, headers, this.PrsData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PRS updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.PrsData.prsDate = (new Date(this.PrsData.prsDate));\r\n this.PrsData.paymentDueDate = (new Date(this.PrsData.paymentDueDate));\r\n if (this.PrsData.invoiceDate != null) {\r\n this.PrsData.invoiceDate = (new Date(this.PrsData.invoiceDate));\r\n } \r\n \r\n if (this.taskFlag == false)\r\n {\r\n this.router.navigate(['/searchPrs']);\r\n }\r\n\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PrsData.prsDate = (new Date(this.PrsData.prsDate));\r\n this.PrsData.paymentDueDate = (new Date(this.PrsData.paymentDueDate));\r\n if (this.PrsData.invoiceDate != null) {\r\n this.PrsData.invoiceDate = (new Date(this.PrsData.invoiceDate));\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var prsId = id;\r\n this.prsService.getPrsById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PrsData = resp;\r\n this.PrsData.purchaseOrderNo = this.PrsData.purchaseOrderNo.toString(); \r\n this.PrsData.prsDate = (new Date(this.PrsData.prsDate));\r\n this.PrsData.invoiceDate = (new Date(this.PrsData.invoiceDate));\r\n this.PrsData.paymentDueDate = (new Date(this.PrsData.paymentDueDate));\r\n if (this.PrsData.attachments != null) {\r\n this.attachments = this.fileuploadService.getMultipleFileArray(this.PrsData.attachments);\r\n }\r\n if (this.PrsData.invoiceFileUpload != null) {\r\n this.invoiceFileUpload = this.fileuploadService.getSingleFileArray(this.PrsData.invoiceFileUpload);\r\n }\r\n if (this.PrsData.attachedBill != null) {\r\n this.attachedBill = this.fileuploadService.getSingleFileArray(this.PrsData.attachedBill);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n taskFlag:boolean= false;\r\n\r\n taskData = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsTaskService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.taskData = resp;\r\n this.taskFlag = true;\r\n this.editon(this.taskData.prsId);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n // getting project list\r\n getAllProjects = function () {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n // debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting project list\r\n getAllDepartments = function () {\r\n // debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n // debugger;\r\n this.deptList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //get all constants\r\n getAllConstants = function (flag) {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.ConstantData.type = flag;\r\n this.sharedService.getAllConstant(this.ConstantData, headers).subscribe(resp => {\r\n //debugger;\r\n if (flag == \"BILL\") {\r\n this.billTypeList = resp;\r\n } else if (flag == \"OFC\") {\r\n this.officeList = resp;\r\n }\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Org List\r\n getAllGrn = function (id) {\r\n //debugger;\r\n if (id == null) return;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAllGrnByPo(id, headers).subscribe(resp => {\r\n //debugger;\r\n this.grnList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // party List\r\n getAllParty = function () {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n //debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n getAllOffice = function () {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOfficeList(headers).subscribe(resp => {\r\n //debugger;\r\n this.officeList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getPoList = function () {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAllPoListFromGrn(headers).subscribe(resp => {\r\n debugger;\r\n this.poList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n saveTask = function (name) {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsService.submitForApproval(name, headers).subscribe(resp => {\r\n //debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PRS is successfully submitted for Approval.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addProductDetailsForm.reset();\r\n this.router.navigate(['searchPrs']);\r\n })\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n //re-send task for approval\r\n reSendTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.TaskEntityData.poRcFlag = this.route.snapshot.params.poRcFlag;\r\n this.taskData.approvalStatus = \"APPROVED\";\r\n this.taskData.remark = \"RE-SUBMITTED\";\r\n this.prsTaskService.processTask(this.taskData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PRS re-sent for approval.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addPoTaskForm.reset();\r\n this.router.navigate(['/searchPrsTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n}\r\n\r\n //getting selected po\r\n PoEntity: any = {};\r\n getSelectedPurchaseOrder = function (poId) {\r\n //debugger;\r\n if (poId == null) return;\r\n if (poId.length >= 6) {\r\n if (isNaN(poId))\r\n return;\r\n } else {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.purchaseOrderService.getPOById(poId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PoEntity = resp;\r\n this.PrsData.issueChequeTo = this.PoEntity.supplierName;\r\n this.getAllGrn(poId);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n debugger;\r\n this.getPoList();\r\n this.addPrsForm = this.formBuilder.group({\r\n prsNo: [null, Validators.required],\r\n prsDate: [null, Validators.required],\r\n invoiceNo: [null, Validators.required],\r\n paymentDueDate: [null, Validators.required],\r\n purchaseOrderNo: [null],\r\n grnId: [null],\r\n issueChequeTo: [null],\r\n invoiceDate: [null, Validators.required],\r\n invoiceAmount: [null, Validators.required],\r\n description: [null],\r\n note: [null],\r\n department: [null],\r\n projectName: [null, Validators.required],\r\n location: [null],\r\n quotation: [false],\r\n poCopy: [false],\r\n checkedInvoiceCopy: [false],\r\n approval: [false],\r\n supportingDocuments: [false],\r\n office: [null],\r\n billType: [null],\r\n billNo: [null],\r\n isUtilityPayment: [false]\r\n });\r\n\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Prs\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n if (this.route.snapshot.params.page == 'taskedit') {\r\n this.PageTitle = \"Update Prs\";\r\n this.taskData(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n\r\n this.getAllProjects();\r\n this.getAllDepartments();\r\n this.getAllConstants(\"BILL\");\r\n this.getAllConstants(\"OFC\");\r\n this.getAllParty();\r\n //this.getAllOffice();\r\n //this.getAllGrn();\r\n\r\n\r\n //Autocomplete\r\n this.filteredPoList = this.addPrsForm.controls['purchaseOrderNo'].valueChanges.pipe(\r\n startWith(''),\r\n map(value => this.getFilteredPoData(value))\r\n );\r\n }\r\n\r\n //Autocomplete\r\n getFilteredPoData(val: string) {\r\n debugger;\r\n if (val) {\r\n let filterValue = val;\r\n filterValue = filterValue.toLowerCase();\r\n return this.poList.filter(item => item.selectionvalue.toLowerCase().includes(filterValue));\r\n }\r\n return this.poList;\r\n }\r\n\r\n getName(poId: string) {\r\n debugger;\r\n let poitem = this.poList.find(po => po.selectionid == poId);\r\n if (poitem != null) {\r\n return poitem.selectionvalue;\r\n }\r\n }\r\n\r\n\r\n get formControls() {\r\n return this.addPrsForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n

Basic Details\r\n
\r\n isUtilityPayment\r\n \r\n\r\n
\r\n

\r\n
\r\n
\r\n
\r\n \r\n PRS No.\r\n \r\n
\r\n
PRS No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
PRS date\r\n is required
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Invoice No.\r\n \r\n
\r\n
Invoice No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Project\r\n \r\n -Select Project-\r\n \r\n {{p.selectionvalue}}\r\n \r\n
\r\n
Project is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Purchase Order No.\r\n \r\n \r\n \r\n \r\n {{option.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n GRN No.\r\n\r\n \r\n -Select-\r\n \r\n {{grn.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Office Location\r\n\r\n \r\n -Select-\r\n \r\n {{office.value}}\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Utility Type\r\n\r\n \r\n -Select Project-\r\n \r\n {{type.value}}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Bill/Agreement No.\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Issue Cheque To\r\n \r\n -Select-\r\n \r\n {{party.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Invoice Date\r\n is required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Invoice Amount\r\n \r\n
\r\n
Invoice\r\n amount is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Payment Due\r\n Date is required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n Description\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Note\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Department\r\n \r\n -Select Project-\r\n \r\n {{dept.selectionvalue}}\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Location\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n

CheckList

\r\n\r\n
\r\n
\r\n
\r\n Quotation\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n PO Copy\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Checked Invoice Copy\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Approval\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Supporting Documents\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n

Other Attachment

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { PRSService } from './prs.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { PrsFilterSession } from '../ordermgmtfilterdata';\r\n\r\n@Component({\r\n selector: 'app-prs',\r\n templateUrl: './prs.component.html',\r\n providers: [PRSService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class PRSComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private prsService: PRSService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['prsNo', 'purchaseOrderNumber', 'partyName',\r\n 'invoiceAmount', 'approvalStatus', 'action'];\r\n PrsListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = { \"purchaseOrderNumber\": null, \"issueChequeTo\": null, \"prsNo\": null };\r\n partyList: any = [];\r\n poList: any = [];\r\n prsAdd: boolean = false;\r\n prsEdit: boolean = false;\r\n prsView: boolean = false;\r\n prsDelete: boolean = false;\r\n PageTitle = \"PRS Master\";\r\n filterDiv: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.PrsListData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addPrs = function () {\r\n this.router.navigate(['/addPrs']);\r\n }\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n this.getActiveVendors();\r\n }\r\n\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"PRSFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n // Party List\r\n getActiveVendors = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.partyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getPoList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getPoList(headers).subscribe(resp => {\r\n debugger;\r\n this.poList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsService.getPrsList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n debugger;\r\n let prsfilterSession = new PrsFilterSession();\r\n prsfilterSession.prsNo = this.FilterData.prsNo;\r\n prsfilterSession.issueChequeTo = this.FilterData.issueChequeTo;\r\n prsfilterSession.purchaseOrderNumber = this.FilterData.purchaseOrderNumber;\r\n sessionStorage.setItem('PRSFILTERSESSION', JSON.stringify(prsfilterSession));\r\n this.result = !Object.values(prsfilterSession).every(o => o === null || o === undefined || o === \"\");\r\n this.filterDiv = false;\r\n this.PrsListData = new MatTableDataSource(resp.content);\r\n this.PrsListData.sort = this.sort;\r\n this.PrsListData.paginator = this.paginator;\r\n this.totalRecords = this.PrsListData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n saveTask = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PRS is successfully submitted for Approval.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n onDelete = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var experienceId = id;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsService.onDelete(experienceId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PRS is deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n submitForApproval = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PRS is successfully submitted for Approval.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.prsAdd = this._global.UserRights.includes(\"PRS_Master_ADD\");\r\n this.prsEdit = this._global.UserRights.includes(\"PRS_Master_EDIT\");\r\n this.prsView = this._global.UserRights.includes(\"PRS_Master_VIEW\");\r\n this.prsDelete = this._global.UserRights.includes(\"PRS_Master_DELETE\");\r\n //Assign Filter\r\n let prsfilterSession = JSON.parse(sessionStorage.getItem('PRSFILTERSESSION'));\r\n if (sessionStorage.getItem('PRSFILTERSESSION') != null) {\r\n this.FilterData.prsNo = prsfilterSession.prsNo;\r\n this.FilterData.issueChequeTo = prsfilterSession.issueChequeTo;\r\n this.FilterData.purchaseOrderNumber = prsfilterSession.purchaseOrderNumber;\r\n }\r\n if (prsfilterSession != null) {\r\n this.result = !Object.values(prsfilterSession).every(o => o === null || o === \"\");\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n sessionStorage.removeItem(\"prsTaskId\");\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ vendor.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
PRS No. / PRS Date \r\n
{{PrsListData.prsNo}}
\r\n
{{PrsListData.prsDate | date : 'dd/MM/yyyy'}}
\r\n
Purchase Order No. / Project\r\n \r\n
{{PrsListData.purchaseOrderNumber}}
\r\n
{{PrsListData.project}}
\r\n
Party Name \r\n
{{PrsListData.partyName}}
\r\n
Invoice Amount \r\n
{{PrsListData.invoiceAmount}}
\r\n
Approval Status \r\n
{{PrsListData.approvalStatus}}
\r\n
Action \r\n \r\n\r\n\r\n \r\n \r\n \r\n visibility View\r\n \r\n \r\n edit Edit\r\n \r\n \r\n \r\n send Send for Approval\r\n \r\n \r\n article Add Payments\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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PRSService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n savePrs(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prs/addprs';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updatePrs(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prs/updateprs/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getPrsList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prs/getallprsbyfilter';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n\r\n getPrsById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prs/getprsbyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getPrsView(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prs/getPrsView/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n onDelete(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prs/deactiveprsbyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n submitForApproval(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prstask/sendPrsForApproval/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n getHistoryDataById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prstask/getprstaskhistorybyid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n \r\n}\r\n","import { Component, OnInit, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../../global/app.global';\r\nimport { DialogService } from '../../../../service/dialog.service';\r\nimport { PrsTaskService } from '../prstask.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-prsaction',\r\n templateUrl: './prsaction.component.html',\r\n providers: [PrsTaskService, AppGlobals, DialogService]\r\n})\r\nexport class PrsActionComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, \r\n private _global: AppGlobals, private dialogService: DialogService, private taskService: PrsTaskService,\r\n public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n flag= '';\r\n\r\n PageTitle = \"Action\";\r\n \r\n ActionData = {\r\n \"approvalStatus\": null, \"remark\": null, \r\n };\r\n taskHistoryList:any=[];\r\n addAssetForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n this.dialogRef.close(false);\r\n }\r\n getHistoryDataById = function (entityId) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getHistoryDataById(entityId, headers).subscribe(resp => {\r\n debugger;\r\n this.taskHistoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n processTask = function (action) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAssetForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n \r\n this.taskService.processTask(this.ActionData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PRS \" + action.toLowerCase() + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.dialogRef.close(false);\r\n \r\n })\r\n \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n \r\n }\r\n \r\n editTask = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n this.getHistoryDataById(this.ActionData.prsId);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n ngOnInit(): void {\r\n debugger;\r\n this.addAssetForm = this.formBuilder.group({\r\n approvalStatus: [null, Validators.required],\r\n remark: [null],\r\n \r\n });\r\n\r\n \r\n this.editTask(this.data.id); \r\n \r\n }\r\n get formControls() {\r\n return this.addAssetForm.controls;\r\n }\r\n\r\n}\r\n\r\n","
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n

PRS Task History

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DateAssigned ToActioned ByActioned OnStatusRemark
{{commentsData.taskCreatedDate | date : 'dd/MM/yyyy'}}{{commentsData.assigntorole}} {{commentsData.taskUpdatedBy}}{{commentsData.taskUpdatedDate| date : 'dd/MM/yyyy'}}{{commentsData.approvalStatus}}{{commentsData.remark}}
\r\n
\r\n
\r\n
\r\n \r\n Approve\r\n Reject\r\n \r\n
\r\n
Action is Required \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \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, ViewChild , Inject, Optional} from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { PrsTaskService } from './prstask.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\nimport { PrsActionComponent} from './action/prsaction.component';\r\nimport { PrsFilterSession } from '../../ordermgmtfilterdata';\r\n\r\n@Component({\r\n selector: 'app-prstask',\r\n templateUrl: './prstask.component.html',\r\n providers: [AppGlobals, DialogService, SharedService, PrsTaskService]\r\n})\r\nexport class PrsTaskComponent implements OnInit {\r\n result: boolean = false;\r\n constructor( private router: Router, private route: ActivatedRoute, private http: HttpClient, private taskService: PrsTaskService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n displayedColumns: string[] = ['prsNo' , 'project','partyName', 'invoiceAmount', 'approvalStatus', 'stageName', 'action'];\r\n historyColumns: string[] = ['prsNo' , 'project','partyName', 'invoiceAmount', 'approvalStatus', 'stageName', 'action'];\r\n TaskRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n FilterData = {\"prsNo\" : null};\r\n PageTitle = \"PRS Task List\";\r\n filterDiv:boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.TaskRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n filterFunc = function() {\r\n this.filterDiv = true;\r\n }\r\n cancel = function() {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"PRSTASKFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n\r\n }\r\n \r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getTaskList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let PrsTaskFilterSession = new PrsFilterSession();\r\n PrsTaskFilterSession.prsNo = this.FilterData.prsNo;\r\n sessionStorage.setItem('PrsTaskFilterSession', JSON.stringify(PrsTaskFilterSession));\r\n this.result = !Object.values(PrsTaskFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.TaskRecord= new MatTableDataSource(resp.content);\r\n this.TaskRecord.sort = this.sort;\r\n this.TaskRecord.paginator = this.paginator;\r\n this.totalRecords = this.TaskRecord.filteredData.length;\r\n this.history=false;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getHistoryTask = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getHistoryTaskList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.TaskRecord= new MatTableDataSource(resp.content);\r\n this.TaskRecord.sort = this.sort;\r\n this.TaskRecord.paginator = this.paginator;\r\n this.totalRecords = this.TaskRecord.filteredData.length;\r\n this.history= true;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n action = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n this.data.flag = 'invoice';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(PrsActionComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n this.search();\r\n })\r\n }\r\n\r\n saveTaskId = function (taskId) {\r\n debugger;\r\n sessionStorage.setItem('prsTaskId', taskId);\r\n }\r\n \r\n ngOnInit(): void {\r\n //Assign Filter\r\n let PrsTaskFilterSession = JSON.parse(sessionStorage.getItem('PRSTASKFILTERSESSION'));\r\n if (sessionStorage.getItem('PRSTASKFILTERSESSION') != null) {\r\n this.FilterData.prsNo = PrsTaskFilterSession.prsNo;\r\n }\r\n if (PrsTaskFilterSession != null) {\r\n this.result = !Object.values(PrsTaskFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
PRS No \r\n \r\n Project \r\n
{{TaskRecord.project}}
\r\n
Party Name \r\n
{{TaskRecord.partyName}}
\r\n
Invoice Amount \r\n
{{TaskRecord.invoiceAmount}}
\r\n
Approval Status \r\n
{{TaskRecord.approvalStatus}}
\r\n
Stage Name \r\n
{{TaskRecord.stageName}}
\r\n
\r\n
Action
\r\n
Remarks
\r\n
\r\n \r\n Action\r\n \r\n \r\n Edit\r\n \r\n
{{TaskRecord.remark}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrsTaskService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n processTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prstask/processworkflow';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n\r\ngetTaskList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prstask/getpotasks';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\n/*getTaskList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/collectiontask/historytaskByFilters';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n*/\r\n\r\ntaskById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prstask/getpotaskbyid/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ngetHistoryDataById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prstask/getprstaskhistorybyid/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ngetHistoryTaskList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/prstask/getallprshistorytasks';\r\n return this._http.post(url, body,{ headers: header });\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 { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PRSService } from '../prs.service';\r\n\r\n@Component({\r\n selector: 'app-view-prs',\r\n templateUrl: './view-prs.component.html',\r\n providers: [PRSService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ViewPRSComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private prsService: PRSService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n prsTaskId:any = null;\r\n\r\n taskHistoryList: any = [];\r\n isUtilityPayment: Boolean = false;\r\n prs = {\r\n \"prsNo\": \"\", \"prsDate\": \"\", \"purchaseOrderNumber\": \"\", \"partyName\": \"\", \"invoiceNo\": \"\",\r\n \"invoiceDate\": \"\", \"invoiceAmount\": \"\", \"paymentDueDate\": \"\", \"description\": \"\", \"note\": \"\",\r\n \"department\": \"\", \"project\": \"\", \"approvalStatus\": \"\", \"location\": \"\", \"requestedBy\": \"\",\r\n \"approvedBy\": \"\", \"signature\": \"\", \"checklist\": \"\", \"quotation\": \"\", \"poCopy\": \"\", \"checkedInvoiceCopy\": \"\",\r\n \"approval\": \"\", \"supportingDocuments\": \"\", \"invoiceFileUpload\": \"\", \"grnNo\": \"\",\r\n \"isUtilityPayment\": \"\", \"office\": \"\", \"billType\": \"\", \"billNo\": \"\", \"attachedBill\": \"\", \"entityId\": null,\r\n \"attachments\":[]\r\n };\r\n\r\n back = function () {\r\n if(this.prsTaskId == null){\r\n this.router.navigate(['/searchPrs']);\r\n } else {\r\n this.router.navigate(['/searchPrsTask']);\r\n }\r\n }\r\n\r\n // printComponent(cmpName) {\r\n // let printContents = document.getElementById(cmpName).innerHTML;\r\n // let originalContents = document.body.innerHTML;\r\n // document.body.innerHTML = printContents;\r\n // window.print();\r\n // document.body.innerHTML = originalContents;\r\n // //window.location.reload();\r\n // }\r\n\r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n Purchase Order\r\n \r\n \r\n${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n \r\n getHistoryDataById = function (entityId) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsService.getHistoryDataById(entityId, headers).subscribe(resp => {\r\n debugger;\r\n this.taskHistoryList = resp;\r\n this.showLoading = false;\r\n this.history = true;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Search function\r\n search = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsService.getPrsView(id, headers).subscribe(resp => {\r\n debugger;\r\n this.prs = resp;\r\n this.isUtilityPayment= this.prs.isUtilityPayment;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n/*\r\n lessThan = function(value) {\r\n let name = value;\r\n if(name.length < 37){\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n greaterThan = function(value) {\r\n let name = value;\r\n if(name.length >= 37){\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n*/\r\n\r\n //for checking if string contains uuid.\r\n regExpUuid = new RegExp(\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\");\r\n containsUUID = function(s) {\r\n   let result = false;\r\n   if(s.length > 36)\r\n   {\r\n let str = s.substring(0, 36);\r\n result = this.regExpUuid.test(str);\r\n   }\r\n return result;\r\n }\r\n\r\n baseUrl:string=null;\r\n ngOnInit(): void {\r\n this.search(this.route.snapshot.params.id);\r\n this.getHistoryDataById(this.route.snapshot.params.id);\r\n this.baseUrl = this._global.baseUrl;\r\n this.prsTaskId = sessionStorage.getItem(\"prsTaskId\");\r\n }\r\n\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
PRS Task History
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DateAssigned ToActioned ByActioned OnStatusRemark
{{commentsData.taskCreatedDate | date : 'dd/MM/yyyy'}}{{commentsData.assigntorole}} {{commentsData.taskUpdatedBy}}{{commentsData.taskUpdatedDate| date : 'dd/MM/yyyy'}}{{commentsData.approvalStatus}}{{commentsData.remark}}
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PAYMENT REQUEST SLIP \r\n
PRS NO{{prs.prsNo}}\r\n
Date{{prs.prsDate| date : 'dd/MM/yyyy'}}\r\n
Issue Cheque to {{prs.partyName}}\r\n
Invoice No{{prs.invoiceNo}}\r\n
Invoice Date{{prs.invoiceDate | date : 'dd/MM/yyyy'}}\r\n
Invoice Amount{{prs.invoiceAmount}}\r\n
Purchase Order Number{{prs.purchaseOrderNumber}}\r\n
GRN Number{{prs.grnNo}}\r\n\r\n
Office{{prs.office}}\r\n
Bill/Agreement Type{{prs.billType}}\r\n
Bill/Agreement No.{{prs.billNo}}\r\n
Bill/Agreemnt AttachmentView Bill\r\n Attachment\r\n\r\n
Description{{prs.description}}\r\n
Note{{prs.note}}\r\n
Department{{prs.department}}\r\n
Project Name{{prs.project}}\r\n
Location{{prs.location}}\r\n
Requested By{{prs.requestedBy}}\r\n
Approved By{{prs.approvedBy}}\r\n
\r\n
\r\n
Check list
QuatationYes\r\n No\r\n
Po CopyYes\r\n No\r\n\r\n
Checked Invoice CopyYes\r\n\r\n No\r\n\r\n
ApprovalYes\r\n No\r\n\r\n
Supporting DocumentsYes\r\n\r\n No\r\n\r\n
\r\n
\r\n
This is a digitally approved PRS and does not require signature.
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Invoice Attachment
\r\n View Attachment\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

No Documents

\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { PoTaskService } from '../../../OrderMgmt/purchase-order-task/po-task.service';\r\n\r\n@Component({\r\n selector: 'app-cancel-po-task',\r\n templateUrl: './cancel-po-task.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService, PoTaskService]\r\n})\r\nexport class CancelPoTaskComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private poTaskService: PoTaskService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Cancellation\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n cancelPoTaskForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n TaskEntityData = {\r\n \"entityId\": null, \"poId\": null, \"uploadFile\": null,\r\n \"poRcFlag\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null, \"rcId\": null\r\n };\r\n\r\n cancel = function () {\r\n this.router.navigate(['/searchTask']);\r\n }\r\n\r\n updateTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.TaskEntityData.poRcFlag = this.route.snapshot.params.poRcFlag;\r\n this.poTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PO sent for cancellation.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.cancelPoTaskForm.reset();\r\n this.router.navigate(['/searchTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id, poRcFlag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.poTaskService.getTaskById(taskId, headers, poRcFlag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n this.TaskEntityData.approvalStatus = \"CANCELLED\";\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.cancelPoTaskForm = this.formBuilder.group({\r\n entityId: [null, Validators.required],\r\n poId: [null],\r\n uploadFile: [null],\r\n poRcFlag: [null],\r\n stageName: [null],\r\n workflowName: [null],\r\n assignToRole: [null],\r\n assignToUser: [null],\r\n approvalStatus: [null],\r\n remark: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Cancellation\";\r\n this.editon(this.route.snapshot.params.id, this.route.snapshot.params.poRcFlag);\r\n //this.disabledField();\r\n }\r\n }\r\n\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n \r\n Remarks\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { PoTaskService } from '../../../OrderMgmt/purchase-order-task/po-task.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-history-task',\r\n templateUrl: './history-task.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService, PoTaskService]\r\n})\r\nexport class HistoryTaskComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private poTaskService: PoTaskService) { }\r\n\r\n displayedColumns: string[] = ['poRcFlag', 'purchaseOrderNo', 'approvalStatus', 'stageName', 'remark'];\r\n TaskListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n \r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n \r\n FilterData = {\"purchaseOrderNo\": null, \"approvalStatus\": null};\r\n \r\n PageTitle = \"Task Approval History\";\r\n filterDiv:boolean = false;\r\n \r\n filterFunc = function() {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function() {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poTaskService.getAllHistoryTask(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskListData = new MatTableDataSource(resp.content);\r\n this.TaskListData.sort = this.sort;\r\n this.TaskListData.paginator = this.paginator;\r\n this.totalRecords = this.TaskListData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
PO/RC \r\n
{{TaskListData.poRcFlag}}
\r\n
PO/RC No. \r\n \r\n Approval Status \r\n
{{TaskListData.approvalStatus}}
\r\n
Stage Name \r\n
{{TaskListData.stageName}}
\r\n
Remarks \r\n
{{TaskListData.remark}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PoTaskService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n getAllPendingTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/potask/getpendingpotasksfromview';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getAllHistoryTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/potask/gethistorypotasksfromview';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getTaskById(id, header, poRcFlag) {\r\n debugger;\r\n //var url = this._global.baseAPIUrl + 'ipms/potask/getpotaskbyid/'+id;\r\n if(poRcFlag == \"PO\" || poRcFlag == \"AMEND\"){\r\n var url = this._global.baseAPIUrl + 'ipms/potask/getpotaskbyid/'+id;\r\n } else if(poRcFlag == \"RC\"){\r\n var url = this._global.baseAPIUrl + 'ipms/rctask/getrctaskbyid/'+id;\r\n }\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n saveTask(body, header) {\r\n debugger;\r\n /*if(body.workflowType == \"TYPE A\"){\r\n var url = this._global.baseAPIUrl + 'ipms/potask/sendPoForApprovalTypeA';\r\n } else if(body.workflowType == \"TYPE B\"){\r\n var url = this._global.baseAPIUrl + 'ipms/potask/sendPoForApprovalTypeB';\r\n } else if(body.workflowType == \"AMEND\"){\r\n var url = this._global.baseAPIUrl + 'ipms/potask/sendPoForAmendment/'+body.poId;\r\n }*/\r\n\r\n if(body.workflowType == \"AMEND\"){\r\n var url = this._global.baseAPIUrl + 'ipms/potask/sendPoForAmendment';\r\n } else {\r\n var url = this._global.baseAPIUrl + 'ipms/potask/sendPoForApproval';\r\n }\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n processTask(body, header) {\r\n debugger;\r\n //var url = this._global.baseAPIUrl + 'ipms/potask/processworkflow';\r\n if(body.poRcFlag == \"PO\" || body.poRcFlag == \"AMEND\"){\r\n var url = this._global.baseAPIUrl + 'ipms/potask/processworkflow';\r\n } else if(body.poRcFlag == \"RC\"){\r\n var url = this._global.baseAPIUrl + 'ipms/rctask/processworkflow';\r\n }\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n saveRcTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/rctask/sendRcForApproval';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getWorkflowHistory(id, header, flag) {\r\n debugger;\r\n if(flag == \"PO\" || flag == \"POTASK\"){\r\n var url = this._global.baseAPIUrl + 'ipms/potask/getpohistorybyid/'+id;\r\n } else if(flag == \"RC\" || flag == \"RCTASK\"){\r\n var url = this._global.baseAPIUrl + 'ipms/rctask/getrchistorybyid/'+id;\r\n }\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n //not used\r\n processRcTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/rctask/processworkflow';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { PoTaskService } from '../../OrderMgmt/purchase-order-task/po-task.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { PoApprovalFilterSession } from '../ordermgmtfilterdata';\r\n\r\n@Component({\r\n selector: 'app-purchase-order-task',\r\n templateUrl: './purchase-order-task.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService, PoTaskService]\r\n})\r\nexport class PurchaseOrderTaskComponent implements OnInit {\r\n\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private poTaskService: PoTaskService) { }\r\n\r\n displayedColumns: string[] = ['poRcFlag', 'purchaseOrderNo', 'grandTotal', 'projectName', 'orgName', 'approvalStatus', 'stageName', 'action'];\r\n TaskListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n FilterData = { \"purchaseOrderNo\": null, \"supplierName\": null, \"accountName\": null, \"approvalStatus\": null, \"stageName\": null };\r\n\r\n PageTitle = \"Approval Task\";\r\n filterDiv: boolean = false;\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n \r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"POAPPROVALFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n addPO = function () {\r\n }\r\n\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poTaskService.getAllPendingTask(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n // Set Filter\r\n let poApprovalFilterSession = new PoApprovalFilterSession();\r\n poApprovalFilterSession.purchaseOrderNo = this.FilterData.purchaseOrderNo;\r\n poApprovalFilterSession.accountName = this.FilterData.accountName;\r\n poApprovalFilterSession.supplierName = this.FilterData.supplierName;\r\n poApprovalFilterSession.stageName = this.FilterData.stageName;\r\n sessionStorage.setItem('POAPPROVALFILTERSESSION', JSON.stringify(poApprovalFilterSession));\r\n this.result = !Object.values(poApprovalFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.TaskListData = new MatTableDataSource(resp.content);\r\n this.TaskListData.sort = this.sort;\r\n this.TaskListData.paginator = this.paginator;\r\n this.totalRecords = this.TaskListData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n saveTask = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n this.showLoading = true;\r\n this.TaskData.poId = this.route.snapshot.params.id;\r\n this.TaskData.poRcFlag = \"PO\";\r\n this.poTaskService.saveTask(this.TaskData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskData = {};\r\n this.successMessage = \"Order sent for approval\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addProductDetailsForm.reset();\r\n this.router.navigate(['searchPurchaseOrder']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n saveTaskId = function (taskId) {\r\n debugger;\r\n sessionStorage.setItem('taskId', taskId);\r\n }\r\n\r\n // getting project list\r\n projectList: any = [];\r\n getAllProjects = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // party List\r\n supplierPartyList: any = [];\r\n getAllParty = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n this.supplierPartyList = resp;\r\n }, (error: any) => {\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n //Assign Filter\r\n let poApprovalFilterSession = JSON.parse(sessionStorage.getItem('POAPPROVALFILTERSESSION'));\r\n if (sessionStorage.getItem('POAPPROVALFILTERSESSION') != null) {\r\n this.FilterData.purchaseOrderNo = poApprovalFilterSession.purchaseOrderNo;\r\n this.FilterData.accountName = poApprovalFilterSession.accountName;\r\n this.FilterData.supplierName = poApprovalFilterSession.supplierName;\r\n this.FilterData.stageName = poApprovalFilterSession.stageName;\r\n }\r\n if (poApprovalFilterSession != null) {\r\n this.result = !Object.values(poApprovalFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n this.getAllProjects();\r\n this.getAllParty();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n -Search By Project-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n -Search By Vendor-\r\n \r\n {{supp.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n -Search By Level-\r\n PO HEAD\r\n DELIVERY HEAD\r\n FINANCE HEAD\r\n SERVICE HEAD\r\n BU HEAD\r\n PROJECT DIRECTOR INDIA\r\n PROJECT DIRECTOR SING\r\n ACCOUNT HEAD SCSOFT\r\n FINANCE HEAD SCSOFT\r\n BU HEAD SCSOFT\r\n PO TEAM\r\n PO TEAM SCSOFT\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
PO/RC \r\n
{{TaskListData.poRcFlag}}
\r\n
PO/RC No. \r\n \r\n Grand Total \r\n
{{TaskListData.grandTotal | number : '1.2-2'}}
\r\n
Project \r\n
{{TaskListData.projectName}}
\r\n
Organisation \r\n
{{TaskListData.orgName}}
\r\n
Approval Status \r\n
{{TaskListData.approvalStatus}}
\r\n
Stage Name \r\n
{{TaskListData.stageName}}
\r\n
Action \r\n \r\n Action\r\n \r\n \r\n Action\r\n \r\n \r\n edit\r\n \r\n \r\n delete\r\n \r\n\r\n \r\n Action\r\n \r\n \r\n edit\r\n \r\n \r\n delete\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { PoTaskService } from '../../../OrderMgmt/purchase-order-task/po-task.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-update-po-task',\r\n templateUrl: './update-po-task.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService, PoTaskService]\r\n})\r\nexport class UpdatePoTaskComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private poTaskService: PoTaskService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n displayedColumns: string[] = ['stageName', 'approvalStatus', 'updatedBy', 'updatedDate', 'remark'];\r\n WorkflowHistoryData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Approve/Reject\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addPoTaskForm: FormGroup;\r\n isSubmitted = false;\r\n baseUrl: any = null;\r\n\r\n TaskEntityData = {\r\n \"entityId\": null, \"poId\": null, \"uploadFile\": null,\r\n \"poRcFlag\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null, \"rcId\": null\r\n };\r\n\r\n cancel = function () {\r\n this.router.navigate(['/searchTask']);\r\n }\r\n\r\n updateTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.TaskEntityData.poRcFlag = this.route.snapshot.params.poRcFlag;\r\n this.poTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Task updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addPoTaskForm.reset();\r\n this.router.navigate(['/searchTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id, poRcFlag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.poTaskService.getTaskById(taskId, headers, poRcFlag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n if (poRcFlag == \"PO\") {\r\n this.searchWorkflowHistory(this.TaskEntityData.poId, poRcFlag);\r\n } else if (poRcFlag == \"RC\") {\r\n this.searchWorkflowHistory(this.TaskEntityData.rcId, poRcFlag);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n // Search function\r\n searchWorkflowHistory = function (id, flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poTaskService.getWorkflowHistory(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.WorkflowHistoryData = new MatTableDataSource(resp);\r\n this.WorkflowHistoryData.sort = this.sort;\r\n //this.WorkflowHistoryData.paginator = this.paginator;\r\n this.totalRecords = this.WorkflowHistoryData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addPoTaskForm = this.formBuilder.group({\r\n entityId: [null, Validators.required],\r\n poId: [null],\r\n uploadFile: [null],\r\n poRcFlag: [null],\r\n stageName: [null],\r\n workflowName: [null],\r\n assignToRole: [null],\r\n assignToUser: [null],\r\n approvalStatus: [null],\r\n remark: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Approve/Reject\";\r\n this.editon(this.route.snapshot.params.id, this.route.snapshot.params.poRcFlag);\r\n //this.disabledField();\r\n //this.searchWorkflowHistory(this.route.snapshot.params.id, this.route.snapshot.params.poRcFlag);\r\n }\r\n\r\n this.baseUrl = this._global.baseUrl;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n Not Sent For Approval\r\n
\r\n\r\n \r\n
\r\n
Workflow History
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Level \r\n
{{WorkflowHistoryData.stageName}}
\r\n
Action Taken \r\n
{{WorkflowHistoryData.approvalStatus}}
\r\n
Actioned By \r\n
{{WorkflowHistoryData.updatedBy}}
\r\n
Actioned On \r\n
{{WorkflowHistoryData.updatedDate | date : 'dd/MM/yyyy HH:mm'}}
\r\n
Remarks \r\n
{{WorkflowHistoryData.remark}}
\r\n
{{WorkflowHistoryData.remark}} Download Draft
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n \r\n Remarks\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { PoTaskService } from '../../../OrderMgmt/purchase-order-task/po-task.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-view-workflow',\r\n templateUrl: './view-workflow.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService, PoTaskService]\r\n})\r\nexport class ViewWorkflowComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private poTaskService: PoTaskService) { }\r\n\r\n displayedColumns: string[] = ['stageName', 'approvalStatus', 'updatedBy', 'updatedDate', 'remark'];\r\n WorkflowHistoryData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n \r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n baseUrl:any = null;\r\n \r\n PageTitle = \"Workflow History\";\r\n\r\n // Search function\r\n searchWorkflowHistory = function (id, flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poTaskService.getWorkflowHistory(id, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.WorkflowHistoryData = new MatTableDataSource(resp);\r\n this.WorkflowHistoryData.sort = this.sort;\r\n //this.WorkflowHistoryData.paginator = this.paginator;\r\n this.totalRecords = this.WorkflowHistoryData.filteredData.length;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n back() {\r\n if(this.route.snapshot.params.flag == \"PO\"){\r\n this.router.navigate(['/ViewPoById',this.route.snapshot.params.id, 'PO']);\r\n } else if(this.route.snapshot.params.flag == \"POTASK\"){\r\n this.router.navigate(['/ViewPoById',this.route.snapshot.params.id, 'POTASK']);\r\n } else if(this.route.snapshot.params.flag == \"RC\"){\r\n this.router.navigate(['/ViewRcById',this.route.snapshot.params.id, 'RC']);\r\n } else if(this.route.snapshot.params.flag == \"RCTASK\"){\r\n this.router.navigate(['/ViewRcById',this.route.snapshot.params.id, 'RCTASK']);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.baseUrl = this._global.baseUrl;\r\n this.searchWorkflowHistory(this.route.snapshot.params.id, this.route.snapshot.params.flag);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n Not Sent For Approval\r\n
\r\n\r\n \r\n
\r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Level \r\n
{{WorkflowHistoryData.stageName}}
\r\n
{{item}}
\r\n
Action Taken \r\n
{{WorkflowHistoryData.approvalStatus}}
\r\n
Actioned By \r\n
{{WorkflowHistoryData.updatedBy}}
\r\n
Actioned On \r\n
{{WorkflowHistoryData.updatedDate | date : 'dd/MM/yyyy HH:mm'}}
\r\n
Remarks \r\n
{{WorkflowHistoryData.remark}}
\r\n
{{WorkflowHistoryData.remark}} Download Draft
\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { RateContractService } from '../../../OrderMgmt/rate-contract/rate-contract.service';\r\nimport { ProjectMasterService } from '../../../ProjectMgmt/ProjectMaster/projectmaster.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { OrganizationService } from '../../../ConfigurationMgmt/organization/organization.service';\r\nimport { MatCheckbox } from '@angular/material/checkbox';\r\nimport { map, startWith } from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-po',\r\n templateUrl: './add-po.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService, RateContractService, ProjectMasterService, OrganizationService, FileuploadService]\r\n})\r\nexport class AddPoComponent implements OnInit {\r\n\r\n filteredProjectList: any = [];\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private rateContractService: RateContractService,\r\n private projectMasterService: ProjectMasterService, private organizationService: OrganizationService, private fileuploadService: FileuploadService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Add PO\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n view = false;\r\n\r\n addPoForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n POEntityData = {\r\n \"entityId\": null, \"purchaseOrderNo\": null, \"orderDate\": null, \"poMadeFrom\": null,\r\n \"rateContractId\": null, \"department\": null, \"accountName\": null,\r\n \"organisationId\": null, \"orderType\": null, \"modeOfPayment\": null,\r\n \"dispatchThrough\": null, \"currency\": null, \"deliveryTerm\": null,\r\n \"paymentMethod\": null, \"suppliersReference\": null, \"discountAmt\": 0,\r\n \"otherReference\": null, \"supplierName\": null, \"supplierDetails\": null,\r\n \"billFromState\": null, \"billFromGstNo\": null, \"buyerName\": null,\r\n \"invoiceToAddress\": null, \"billToAddress\": null, \"shipToAddress\": null,\r\n \"termsConditions\": null, \"isHistoricData\": null, \"uploadedTermsAnnexure\": null,\r\n \"additionalTerms\": null, \"includeTerms\": null, \"signedCopyPath\": null, \"attachment\": []\r\n };\r\n\r\n projectList: any = [];\r\n deptList: any = [];\r\n orgList: any = [];\r\n ConstantData = { \"type\": null, \"organisationId\": null };\r\n paymentModeList: any = [];\r\n deliveryTermList: any = [];\r\n paymentMethodList: any = [];\r\n isHistoricData = \"NO\";\r\n isSameState = null;\r\n applyGstFlag = null;\r\n currencyFlag = null;\r\n PoAttachments: any = [];\r\n signedCopyPath: any = [];\r\n attachmentsFlag = false;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n //for setting yes or no to checkbox\r\n /* falseValue = \"NO\";\r\n trueValue = \"YES\";\r\n checkboxChange(checked: boolean) {\r\n debugger;\r\n this.isHistoricData = checked ? this.trueValue : this.falseValue;\r\n } */\r\n\r\n checked: boolean = false;\r\n checkChange(checked: boolean) {\r\n debugger;\r\n this.checked = !checked;\r\n this.isHistoricData = this.checked ? \"YES\" : \"NO\";\r\n this.POEntityData.currency = this.checked ? \"INR\" : null;\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n //return o1.name === o2.name && o1.id === o2.id;\r\n return o1 == o2;\r\n }\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addPoForm.get('billFromGstNo').disable();\r\n this.addPoForm.get('billFromState').disable();\r\n }\r\n\r\n // Disabled Function\r\n disableFieldsForUploadSignCopy = function () {\r\n this.addPoForm.get('purchaseOrderNo').disable();\r\n this.addPoForm.get('orderDate').disable();\r\n this.addPoForm.get('poMadeFrom').disable();\r\n this.addPoForm.get('rateContractId').disable();\r\n this.addPoForm.get('department').disable();\r\n this.addPoForm.get('accountName').disable();\r\n this.addPoForm.get('organisationId').disable();\r\n this.addPoForm.get('orderType').disable();\r\n this.addPoForm.get('modeOfPayment').disable();\r\n this.addPoForm.get('dispatchThrough').disable();\r\n this.addPoForm.get('currency').disable();\r\n this.addPoForm.get('deliveryTerm').disable();\r\n this.addPoForm.get('paymentMethod').disable();\r\n this.addPoForm.get('suppliersReference').disable();\r\n this.addPoForm.get('discountAmt').disable();\r\n this.addPoForm.get('otherReference').disable();\r\n this.addPoForm.get('supplierName').disable();\r\n this.addPoForm.get('supplierDetails').disable();\r\n this.addPoForm.get('buyerName').disable();\r\n this.addPoForm.get('invoiceToAddress').disable();\r\n this.addPoForm.get('billToAddress').disable();\r\n this.addPoForm.get('shipToAddress').disable();\r\n this.addPoForm.get('termsConditions').disable();\r\n this.addPoForm.get('includeTerms').disable();\r\n }\r\n\r\n // Disabled Function\r\n disableFieldsForRc = function () {\r\n //this.addPoForm.get('purchaseOrderNo').disable();\r\n //this.addPoForm.get('orderDate').disable();\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.addPoForm.get('poMadeFrom').disable();\r\n this.addPoForm.get('rateContractId').disable();\r\n }\r\n //this.addPoForm.get('poMadeFrom').disable();\r\n //this.addPoForm.get('rateContractId').disable();\r\n //this.addPoForm.get('department').disable();\r\n this.addPoForm.get('accountName').disable();\r\n this.addPoForm.get('organisationId').disable();\r\n //this.addPoForm.get('orderType').disable();\r\n //this.addPoForm.get('modeOfPayment').disable();\r\n //this.addPoForm.get('dispatchThrough').disable();\r\n this.addPoForm.get('currency').disable();\r\n //this.addPoForm.get('deliveryTerm').disable();\r\n //this.addPoForm.get('paymentMethod').disable();\r\n //this.addPoForm.get('suppliersReference').disable();\r\n //this.addPoForm.get('discountAmt').disable();\r\n //this.addPoForm.get('otherReference').disable();\r\n this.addPoForm.get('supplierName').disable();\r\n this.addPoForm.get('supplierDetails').disable();\r\n this.addPoForm.get('buyerName').disable();\r\n //this.addPoForm.get('invoiceToAddress').disable();\r\n this.addPoForm.get('billToAddress').disable();\r\n //this.addPoForm.get('shipToAddress').disable();\r\n //this.addPoForm.get('termsConditions').disable();\r\n //this.addPoForm.get('includeTerms').disable();\r\n }\r\n\r\n // Disabled Function\r\n enableFieldsForRc = function () {\r\n this.addPoForm.get('accountName').enable();\r\n this.addPoForm.get('organisationId').enable();\r\n this.addPoForm.get('currency').enable();\r\n this.addPoForm.get('supplierName').enable();\r\n this.addPoForm.get('supplierDetails').enable();\r\n this.addPoForm.get('buyerName').enable();\r\n this.addPoForm.get('billToAddress').enable();\r\n }\r\n\r\n cancel = function () {\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['/searchPurchaseOrder']);\r\n } else {\r\n this.router.navigate(['/searchTask']);\r\n }\r\n }\r\n\r\n savePO = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n //this.POEntityData.isHistoricData = this.isHistoricData;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPoForm.invalid) {\r\n return;\r\n }\r\n this.POEntityData.orderDate = this.POEntityData.orderDate.getTime();\r\n this.POEntityData.isHistoricData = this.isHistoricData;\r\n this.POEntityData.includeTerms = this.POEntityData.includeTerms ? \"YES\" : \"NO\";\r\n this.showLoading = true;\r\n this.purchaseOrderService.savePO(this.POEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Basic PO is created successfully. Please proceed further for adding products.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addPoForm.reset();\r\n this.router.navigate(['searchPurchaseOrder/UpdatePO', resp.entityId, 'edit']);\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.POEntityData.orderDate = (new Date(this.POEntityData.orderDate));\r\n this.POEntityData.includeTerms = this.POEntityData.includeTerms == \"NO\" ? false : true;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n additionalTerms: boolean = false;\r\n updatePO = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPoForm.invalid) {\r\n return;\r\n }\r\n\r\n if (this.route.snapshot.params.page == 'view') {\r\n //If mandatory then check for fileuploaded\r\n if (!this.fileuploadService.hasfile(this.signedCopyPath)) {\r\n this.dialogService.openConfirmDialog(\"Please uplaod signed copy\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.signedCopyPath)) {\r\n this.dialogService.openConfirmDialog(\"Files are uploading...\")\r\n return;\r\n }\r\n this.POEntityData.signedCopyPath = this.fileuploadService.getFirstFilePath(this.signedCopyPath);\r\n } else {\r\n //If mandatory then check for atleast one fileuploaded\r\n if (!this.fileuploadService.hasfile(this.PoAttachments)) {\r\n this.dialogService.openConfirmDialog(\"Please uplaod atleast one attachment.\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.PoAttachments)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.POEntityData.attachment = this.fileuploadService.allUploadedFiles(this.PoAttachments);\r\n }\r\n this.POEntityData.orderDate = this.POEntityData.orderDate.getTime();\r\n //this.POEntityData.isHistoricData = this.isHistoricData;\r\n this.POEntityData.includeTerms = this.POEntityData.includeTerms ? \"YES\" : \"NO\";\r\n this.showLoading = true;\r\n this.purchaseOrderService.updatePO(this.POEntityData, headers, this.POEntityData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.POEntityData.orderDate = (new Date(this.POEntityData.orderDate));\r\n this.POEntityData.includeTerms = this.POEntityData.includeTerms == \"NO\" ? false : true;\r\n sessionStorage.setItem(\"additionalTerms\", this.POEntityData.includeTerms);\r\n this.successMessage = \"PO updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n // .afterClosed().subscribe(res => {\r\n // this.addPoForm.reset();\r\n // })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.POEntityData.orderDate = (new Date(this.POEntityData.orderDate));\r\n this.POEntityData.includeTerms = this.POEntityData.includeTerms == \"NO\" ? false : true;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n //this.edit = true;\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.edit = true;\r\n } else if (this.route.snapshot.params.page == 'view') {\r\n this.edit = false;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var poId = id;\r\n this.purchaseOrderService.getPOById(poId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.POEntityData = resp;\r\n this.POEntityData.orderDate = (new Date(this.POEntityData.orderDate));\r\n this.POEntityData.includeTerms = this.POEntityData.includeTerms == \"NO\" ? false : true;\r\n sessionStorage.setItem(\"additionalTerms\", this.POEntityData.includeTerms);\r\n sessionStorage.setItem('currencyFlag', this.POEntityData.currency);\r\n sessionStorage.setItem('isHistoricData', this.POEntityData.isHistoricData);\r\n this.compareStateOfAddress(this.POEntityData.supplierDetails, this.POEntityData.billToAddress);\r\n if (this.POEntityData.billFromGstNo != null) {\r\n if (this.POEntityData.billFromGstNo == \"NA\") {\r\n sessionStorage.setItem('applyGstFlag', \"NO\");\r\n } else {\r\n sessionStorage.setItem('applyGstFlag', \"YES\");\r\n }\r\n }\r\n if (this.POEntityData.attachment != null) {\r\n this.PoAttachments = this.fileuploadService.getMultipleFileArray(this.POEntityData.attachment);\r\n }\r\n if (this.POEntityData.signedCopyPath != null) {\r\n this.signedCopyPath = this.fileuploadService.getSingleFileArray(this.POEntityData.signedCopyPath);\r\n }\r\n this.checked = (this.POEntityData.isHistoricData == \"YES\") ? true : false;\r\n if (this.POEntityData.rateContractId != null) {\r\n sessionStorage.setItem(\"rcId\", this.rateContractData.entityId);\r\n }\r\n if (!this.fileuploadService.hasfile(this.PoAttachments)) {\r\n //attachmentsFlag\r\n this.dialogService.openConfirmDialog(\"Please uplaod atleast one attachment.\")\r\n return;\r\n }\r\n //this.getProjectById(this.POEntityData.accountName);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n changeRcSelection = function (poMadeFrom) {\r\n debugger;\r\n if (this.route.snapshot.params.page != 'edit' && this.route.snapshot.params.page != 'view') {\r\n sessionStorage.removeItem(\"rcId\");\r\n this.POEntityData.rateContractId = null;\r\n }\r\n if (poMadeFrom == \"RC\") {\r\n this.disableFieldsForRc();\r\n this.getAllApprovedRcList();\r\n } else {\r\n this.enableFieldsForRc();\r\n this.rcList = [];\r\n }\r\n }\r\n\r\n // getting approved rc list\r\n rcList: any = [];\r\n getAllApprovedRcList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getApprovedRcList(headers).subscribe(resp => {\r\n debugger;\r\n this.rcList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting project list\r\n getAllProjects = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting department list\r\n getAllDepartments = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n debugger;\r\n this.deptList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting currency list\r\n currencyList: any = [];\r\n getAllCurrency = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getCurrencyList(headers).subscribe(resp => {\r\n debugger;\r\n this.currencyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //get all constants\r\n getAllConstants = function (flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.ConstantData.type = flag;\r\n // if(flag=='PM')\r\n // vm.constant.type = \"PM\";\r\n // else if(flag=='DT')\r\n // vm.constant.type = \"DT\";\r\n // else if(flag=='PMethod')\r\n // vm.constant.type = \"PMethod\";\r\n if (flag == 'PM')\r\n this.ConstantData.organisationId = this.POEntityData.organisationId;\r\n else if (flag == 'PMethod')\r\n this.ConstantData.organisationId = this.POEntityData.organisationId;\r\n this.sharedService.getAllConstant(this.ConstantData, headers).subscribe(resp => {\r\n debugger\r\n if (flag == \"PM\")\r\n this.paymentModeList = resp;\r\n else if (flag == \"DT\")\r\n this.deliveryTermList = resp;\r\n else if (flag == \"PMethod\")\r\n this.paymentMethodList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Org List\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.orgList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // party List\r\n supplierPartyList: any = [];\r\n purchaserPartyList: any = [];\r\n getAllParty = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n //this.supplierPartyList = resp;\r\n this.purchaserPartyList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllPartyByOrg = function (orgId) {\r\n debugger;\r\n if (orgId == null) return;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActivePartyByOrg(orgId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.supplierPartyList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // address List\r\n supplierAddressList: any = [];\r\n addressListPurchaser: any = [];\r\n getAddressByParty = function (partyId, flag) {\r\n debugger;\r\n if ((partyId == \"\") || (partyId == null))\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAllAddressOfParty(headers, partyId).subscribe(resp => {\r\n debugger;\r\n if (flag == \"supplier\") {\r\n this.supplierAddressList = resp;\r\n }\r\n else if (flag == \"purchaser\") {\r\n this.addressListPurchaser = resp;\r\n }\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // address List\r\n gstDetails: any = [];\r\n getGstByPartyAndAddress = function (partyId, addressId) {\r\n debugger;\r\n if (addressId == \"\" || addressId == null || partyId == \"\" || partyId == null)\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getGstFromAddress(headers, partyId, addressId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.gstDetails = resp;\r\n //this.POEntityData.billFromState = this.gstDetails.state;\r\n if (this.gstDetails != null) {\r\n if (this.gstDetails.gstNo != null) {\r\n this.POEntityData.billFromGstNo = this.gstDetails.gstNo;\r\n sessionStorage.setItem('applyGstFlag', \"YES\");\r\n } else {\r\n this.POEntityData.billFromGstNo = \"NA\";\r\n sessionStorage.setItem('applyGstFlag', \"NO\");\r\n }\r\n } else {\r\n this.POEntityData.billFromGstNo = \"NA\";\r\n sessionStorage.setItem('applyGstFlag', \"NO\");\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // State List\r\n stateList: any = [];\r\n getAllState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Compare Addresses\r\n compareStateOfAddress = function (address1, address2) {\r\n debugger;\r\n if (address1 == null || address2 == null || address1 == \"\" || address2 == \"\") {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.compareStateOfAddress(headers, address1, address2).subscribe(resp => {\r\n debugger;\r\n this.isSameState = resp;\r\n sessionStorage.setItem('sameStateFlag', this.isSameState);\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n selectedAddress: any = [];\r\n getSelectedAddress = function (id) {\r\n debugger;\r\n if (id == null || id == \"\") {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAddressById(headers, id).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.selectedAddress = resp;\r\n if (this.selectedAddress != null) {\r\n if (this.selectedAddress.state != null) {\r\n this.POEntityData.billFromState = this.selectedAddress.state;\r\n } else {\r\n this.POEntityData.billFromState = \"NA\";\r\n }\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addressChange = function (suppPartyId, suppAddress, purchaserAddress) {\r\n debugger;\r\n this.getSelectedAddress(suppAddress);\r\n this.getGstByPartyAndAddress(suppPartyId, suppAddress);\r\n this.compareStateOfAddress(suppAddress, purchaserAddress);\r\n }\r\n\r\n // get selected rate contract\r\n rateContractData: any = {};\r\n getRateContractById = function (rcId) {\r\n debugger;\r\n //sessionStorage.removeItem(\"rcId\");\r\n if (rcId == null)\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.rateContractService.getRCById(rcId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.rateContractData = resp;\r\n sessionStorage.setItem(\"rcId\", this.rateContractData.entityId);\r\n\r\n this.POEntityData.department = this.rateContractData.department;\r\n this.POEntityData.accountName = this.rateContractData.accountName;\r\n this.POEntityData.organisationId = this.rateContractData.organisationId;\r\n this.POEntityData.modeOfPayment = this.rateContractData.modeOfPayment;\r\n this.POEntityData.dispatchThrough = this.rateContractData.dispatchThrough;\r\n this.POEntityData.currency = this.rateContractData.currency;\r\n this.POEntityData.deliveryTerm = this.rateContractData.deliveryTerm;\r\n this.POEntityData.suppliersReference = this.rateContractData.suppliersReference;\r\n this.POEntityData.supplierName = this.rateContractData.supplierName;\r\n this.POEntityData.supplierDetails = this.rateContractData.supplierDetails;\r\n\r\n\r\n this.POEntityData.buyerName = this.rateContractData.buyerName;\r\n this.POEntityData.invoiceToAddress = this.rateContractData.invoiceToAddress;\r\n this.POEntityData.billToAddress = this.rateContractData.billToAddress;\r\n this.POEntityData.shipToAddress = this.rateContractData.shipToAddress;\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // get selected project\r\n projectData: any = {};\r\n getProjectById = function (projId) {\r\n debugger;\r\n //return; // api is returning 404 error\r\n if (projId == null)\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectMasterService.projectById(projId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.projectData = resp;\r\n sessionStorage.setItem(\"poProjectType\", this.projectData.projectType);\r\n //sessionStorage.setItem(\"poOrgId\", this.projectData.organization); //writing in organisation change\r\n if (this.projectData.organization != null) {\r\n this.getOrganisationById(this.projectData.organization);\r\n //this.POEntityData.organisationId = this.projectData.organization;\r\n }\r\n /*\r\n //--------------------\r\n let organisationId = this.projectData.organization;\r\n this.organizationName = vm.project[0].organizationName;\r\n \r\n vm.getSelProject(id);\r\n \r\n if(organisationId != null){\r\n if(vm.organizationName == \"STAR ORGANIZATION\"){\r\n vm.starOrganisationFlag = true;\r\n } else {\r\n debugger;\r\n vm.purchaseOrder.organisationId = organisationId;\r\n vm.starOrganisationFlag = false;\r\n vm.organisationOnChange(vm.purchaseOrder.organisationId);\r\n }\r\n }\r\n //---------------------\r\n */\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // get selected organisation\r\n organisationData: any = {};\r\n getOrganisationById = function (orgId) {\r\n debugger;\r\n if (orgId == null)\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.organizationService.OrgById(orgId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.organisationData = resp;\r\n if (this.organisationData.entityId != null) {\r\n if (this.organisationData.orgName == \"STAR ORGANIZATION\") {\r\n this.starOrganisationFlag = false;\r\n } else {\r\n this.POEntityData.organisationId = this.organisationData.entityId;\r\n this.starOrganisationFlag = true;\r\n }\r\n sessionStorage.setItem(\"poOrgName\", this.organisationData.orgName);\r\n /*if(this.organisationData.orgName != \"STAR ORGANIZATION\"){\r\n this.POEntityData.organisationId = this.organisationData.entityId;\r\n }*/\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n organisationChange = function (orgId) {\r\n debugger;\r\n /*$rootScope.organization = id;\r\n vm.getPartiesByOrganisation(id);\r\n vm.getPaymentTermsByOrganisation(id);\r\n vm.getPaymentMethodByOrganisation(id);*/\r\n sessionStorage.setItem(\"poOrgId\", orgId);\r\n this.getAllConstants(\"PM\");\r\n this.getAllConstants(\"PMethod\");\r\n this.getAllPartyByOrg(orgId);\r\n }\r\n\r\n\r\n\r\n\r\n //------------------\r\n starOrganisationFlag = true;\r\n /*organizationName = \"\";\r\n \r\n getSelectedProject = function(id){\r\n \r\n vm.project = GetAllFactory.getProjectFromId(vm.accountListForOrder,$state.params.state,id);\r\n \r\n var organisationId = vm.project[0].id;\r\n vm.organizationName = vm.project[0].organizationName;\r\n \r\n vm.getSelProject(id);\r\n \r\n if(organisationId != null){\r\n if(vm.organizationName == \"STAR ORGANIZATION\"){\r\n vm.starOrganisationFlag = true;\r\n //vm.purchaseOrder.organisationId = null;\r\n } else {\r\n debugger;\r\n vm.purchaseOrder.organisationId = organisationId;\r\n vm.starOrganisationFlag = false;\r\n vm.organisationOnChange(vm.purchaseOrder.organisationId);\r\n }\r\n }\r\n }\r\n \r\n vm.getSelProject = function(id){\r\n debugger;\r\n vm.projectType = GetAllFactory.getProjectTypeFromId(vm.accountListForOrder,$state.params.state,id);\r\n \r\n var projectType = vm.projectType[0].id;\r\n var projectTypeName = vm.projectType[0].projectTypeName;\r\n \r\n if (vm.organizationName ==\"Aurionpro Solutions Ltd\")\r\n {\r\n debugger;\r\n $rootScope.project = null;\r\n }\r\n else\r\n {\r\n debugger;\r\n if (projectTypeName ==\"\")\r\n {\r\n debugger;\r\n $rootScope.project = null;\r\n }\r\n else\r\n {\r\n debugger;\r\n $rootScope.project = projectType;\r\n }\r\n }\r\n }\r\n\r\n vm.organisationOnChange = function(id){\r\n $rootScope.organization = id;\r\n vm.getPartiesByOrganisation(id);\r\n vm.getPaymentTermsByOrganisation(id);\r\n vm.getPaymentMethodByOrganisation(id);\r\n }\r\n\r\n //-------------------\r\n*/\r\n filterStates(val: string) {\r\n\r\n debugger;\r\n if (val != \"\") {\r\n this.getProjectById(val);\r\n }\r\n if (val) {\r\n let filterValue = val.toLowerCase();\r\n return this.projectList.filter(item => item.selectionvalue.toLowerCase().startsWith(filterValue));\r\n }\r\n\r\n return this.projectList;\r\n }\r\n ngOnInit() {\r\n this.addPoForm = this.formBuilder.group({\r\n purchaseOrderNo: [null, Validators.required],\r\n orderDate: [null, Validators.required],\r\n orderType: [null, Validators.required],\r\n poMadeFrom: [null],\r\n rateContractId: [null],\r\n department: [null, Validators.required],\r\n accountName: [null, Validators.required],\r\n organisationId: [null, Validators.required],\r\n modeOfPayment: [null, Validators.required],\r\n dispatchThrough: [null, Validators.required],\r\n currency: [null, Validators.required],\r\n deliveryTerm: [null, Validators.required],\r\n paymentMethod: [null],\r\n suppliersReference: [null, Validators.required],\r\n discountAmt: [0],\r\n otherReference: [null],\r\n supplierName: [null, Validators.required],\r\n supplierDetails: [null, Validators.required],\r\n billFromState: [null, Validators.required],\r\n billFromGstNo: [null, Validators.required],\r\n buyerName: [null, Validators.required],\r\n invoiceToAddress: [null, Validators.required],\r\n billToAddress: [null, Validators.required],\r\n shipToAddress: [null, Validators.required],\r\n termsConditions: [null, Validators.required],\r\n includeTerms: [null],\r\n signedCopyPath: [null]\r\n });\r\n\r\n this.filteredProjectList = this.addPoForm.controls['accountName'].valueChanges.pipe(\r\n startWith(''),\r\n map(value => this.filterStates(value))\r\n );\r\n\r\n sessionStorage.setItem(\"tabFlag\", \"PO\");\r\n sessionStorage.removeItem(\"rcId\");\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update PO\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n if (this.route.snapshot.params.page == 'view') {\r\n this.PageTitle = \"Update PO\";\r\n this.editon(this.route.snapshot.params.id);\r\n this.view = true;\r\n this.disableFieldsForUploadSignCopy();\r\n }\r\n\r\n this.disabledField();\r\n this.getAllProjects();\r\n this.getAllOrganizations();\r\n this.getAllDepartments();\r\n this.getAllCurrency();\r\n //this.getAllConstants(\"PM\");\r\n this.getAllConstants(\"DT\");\r\n //this.getAllConstants(\"PMethod\");\r\n this.getAllParty();\r\n this.getAllState();\r\n //this.getAllApprovedRcList();\r\n }\r\n\r\n get formControls() {\r\n return this.addPoForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n \r\n \r\n Is Historic PO?\r\n
\r\n
\r\n Basic Details\r\n
\r\n
\r\n
\r\n \r\n Purchase Order No.\r\n \r\n
\r\n
PO No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Order date\r\n is required
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Make PO From\r\n \r\n - Select -\r\n Rate Contract (RC)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Rate Contract No.\r\n \r\n \r\n \r\n {{rc.selectionvalue}}\r\n \r\n
\r\n
RC No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Department\r\n \r\n \r\n \r\n {{dept.selectionvalue}}\r\n \r\n
\r\n
Department is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Project\r\n \r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
Project is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Organisation\r\n \r\n \r\n \r\n {{org.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n Organisation is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Order Type\r\n \r\n \r\n New Order\r\n Repeat Order\r\n \r\n
\r\n
Order type is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Payment Term\r\n \r\n -Select-\r\n \r\n {{pt.value}}\r\n \r\n \r\n
\r\n
Payment term\r\n is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Dispatch Through\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tAir\r\n Rail\r\n Road\r\n Services\r\n \r\n
\r\n
Dispatch\r\n through is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Currency\r\n \r\n \r\n \r\n \r\n {{curr.selectionvalue}}\r\n \r\n
\r\n
Currency is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Delivery Term\r\n \r\n -Select-\r\n {{dt.value}}\r\n \r\n \r\n
\r\n
Delivery term\r\n is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Payment Method\r\n \r\n -Select-\r\n {{pm.value}}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Suppliers Reference\r\n \r\n
\r\n
\r\n Suppliers reference is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Discount Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Other Reference\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n Supplier & Purchaser Details\r\n
\r\n
\r\n
\r\n \r\n Supplier Name\r\n \r\n -Select-\r\n \r\n {{supp.selectionvalue}}\r\n \r\n \r\n
\r\n
Supplier name\r\n is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Supplier Address\r\n \r\n -Select-\r\n \r\n {{suppAdd.selectionvalue}}\r\n \r\n \r\n
\r\n
Supplier\r\n address is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Bill From State\r\n \r\n -Select-\r\n \r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
Bill from\r\n state is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n GST No.\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Purchaser Name\r\n \r\n -Select-\r\n \r\n {{buy.selectionvalue}}\r\n \r\n
\r\n
Purchaser name\r\n is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Invoice Postal Address\r\n \r\n -Select-\r\n \r\n {{invo.selectionvalue}}\r\n \r\n \r\n
\r\n
Invoice\r\n to address is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Bill To Address\r\n \r\n -Select-\r\n \r\n {{bill.selectionvalue}}\r\n \r\n \r\n
\r\n
Bill to\r\n address is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Ship To Address\r\n \r\n -Select-\r\n \r\n {{ship.selectionvalue}}\r\n \r\n \r\n
\r\n
Ship to\r\n address is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n Terms & Conditions\r\n
\r\n
\r\n
\r\n \r\n Terms & Conditions\r\n \r\n
\r\n
Terms &\r\n conditions are required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n Include Additional Terms\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { PoTaskService } from '../../../OrderMgmt/purchase-order-task/po-task.service';\r\n\r\n@Component({\r\n selector: 'app-additional-terms',\r\n templateUrl: './additional-terms.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService, FileuploadService, PoTaskService]\r\n})\r\nexport class AdditionalTermsComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService,\r\n private poTaskService: PoTaskService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n //additionalTerms: any = false;\r\n\r\n PageTitle = \"Additional Terms\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addTermsForm: FormGroup;\r\n isSubmitted = false;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n\r\n POEntityData = {\r\n \"entityId\": null, \"purchaseOrderNo\": null, \"orderDate\": null, \"poMadeFrom\": null,\r\n \"rateContractId\": null, \"department\": null, \"accountName\": null,\r\n \"organisationId\": null, \"orderType\": null, \"modeOfPayment\": null,\r\n \"dispatchThrough\": null, \"currency\": null, \"deliveryTerm\": null,\r\n \"paymentMethod\": null, \"suppliersReference\": null, \"discountAmt\": 0,\r\n \"otherReference\": null, \"supplierName\": null, \"supplierDetails\": null,\r\n \"billFromState\": null, \"billFromGstNo\": null, \"buyerName\": null,\r\n \"invoiceToAddress\": null, \"billToAddress\": null, \"shipToAddress\": null,\r\n \"termsConditions\": null, \"isHistoricData\": null, \"uploadedTermsAnnexure\": null,\r\n \"additionalTerms\": null, \"includeTerms\": null\r\n };\r\n\r\n uploadedTermsAnnexure: any = [];\r\n\r\n TaskData = { \"poId\": null, \"poRcFlag\": null, \"remark\": null, \"workflowType\": null, \"workflowName\": null };\r\n TaskEntityData = {\r\n \"entityId\": null, \"poId\": null, \"uploadFile\": null,\r\n \"poRcFlag\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null\r\n };\r\n workflowDiv: boolean = false;\r\n taskId = null;\r\n rcId: any = null;\r\n\r\n cancel = function () {\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['/searchPurchaseOrder']);\r\n } else {\r\n this.router.navigate(['/searchTask']);\r\n }\r\n }\r\n\r\n updatePO = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addTermsForm.invalid) {\r\n return;\r\n }\r\n //this.POEntityData.orderDate = this.POEntityData.orderDate.getTime();\r\n //this.POEntityData.isHistoricData = this.isHistoricData;\r\n\r\n //If mandatory then check for atleast one fileuploaded\r\n if (!this.fileuploadService.hasfile(this.uploadedTermsAnnexure)) {\r\n this.dialogService.openConfirmDialog(\"Please uplaod annexure.\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.uploadedTermsAnnexure)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.POEntityData.uploadedTermsAnnexure = this.fileuploadService.getFirstFilePath(this.uploadedTermsAnnexure);\r\n this.showLoading = true;\r\n this.purchaseOrderService.updatePO(this.POEntityData, headers, this.POEntityData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n //this.POEntityData.orderDate = (new Date(this.POEntityData.orderDate));\r\n this.successMessage = \"PO updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n // .afterClosed().subscribe(res => {\r\n // this.addTermsForm.reset();\r\n // })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var poId = id;\r\n this.purchaseOrderService.getPOById(poId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.POEntityData = resp;\r\n /* this.POEntityData.orderDate = (new Date(this.POEntityData.orderDate));\r\n sessionStorage.setItem('currencyFlag', this.POEntityData.currency);\r\n sessionStorage.setItem('isHistoricData', this.POEntityData.isHistoricData);\r\n this.compareStateOfAddress(this.POEntityData.supplierDetails, this.POEntityData.billToAddress);\r\n if(this.POEntityData.billFromGstNo != null){\r\n if(this.POEntityData.billFromGstNo == \"NA\"){\r\n sessionStorage.setItem('applyGstFlag', \"NO\");\r\n } else {\r\n sessionStorage.setItem('applyGstFlag', \"YES\");\r\n }\r\n }\r\n this.checked = (this.POEntityData.isHistoricData == \"YES\") ? true : false; */\r\n if (this.POEntityData.uploadedTermsAnnexure != null) {\r\n this.uploadedTermsAnnexure = this.fileuploadService.getSingleFileArray(this.POEntityData.uploadedTermsAnnexure);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n openTask = function () {\r\n /* if($rootScope.poMadeFrom ==\"RC\")\r\n {\r\n vm.task.poMadeFrom= $rootScope.poMadeFrom;\r\n vm.saveTask();\r\n }\r\n else\r\n {\r\n vm.task.poMadeFrom= \"\";\r\n vm.workflow();\r\n vm.openDiv=true;\r\n } */\r\n\r\n if (this.taskId == null) {\r\n if (this.rcId == null) {\r\n this.getAllWorkflowsByType();\r\n this.workflowDiv = true;\r\n } else {\r\n this.TaskData.workflowName = this._global.poRcWorkflow;\r\n this.workflowDiv = true;\r\n //this.saveTask();\r\n }\r\n } else {\r\n this.reSendTask();\r\n }\r\n }\r\n\r\n closeTask = function () {\r\n this.workflowDiv = false;\r\n }\r\n\r\n saveTask = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n if (this.TaskData.workflowName == null || this.TaskData.workflowName == \"\") {\r\n this.dialogService.openConfirmDialog(\"Please select workflow.\");\r\n return;\r\n }\r\n if (this.TaskData.remark == null || this.TaskData.remark == \"\") {\r\n this.dialogService.openConfirmDialog(\"Please enter remark.\");\r\n return;\r\n }\r\n this.showLoading = true;\r\n this.TaskData.poId = this.route.snapshot.params.id;\r\n this.TaskData.poRcFlag = \"PO\";\r\n this.poTaskService.saveTask(this.TaskData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskData = {};\r\n this.successMessage = \"Order sent for approval\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addProductDetailsForm.reset();\r\n this.router.navigate(['searchPurchaseOrder']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get task for resending\r\n getTaskById = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.poTaskService.getTaskById(taskId, headers, \"PO\").subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n //re-send task for approval\r\n reSendTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.TaskEntityData.poRcFlag = this.route.snapshot.params.poRcFlag;\r\n this.TaskEntityData.approvalStatus = \"APPROVED\";\r\n this.poTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"PO re-sent for approval.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addPoTaskForm.reset();\r\n this.router.navigate(['/searchTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting workflow list\r\n WorkflowRequest = { \"workflowType\": null, \"projectType\": null, \"organisation\": null };\r\n workflowList: any = [];\r\n getAllWorkflowsByType = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n let orgName = sessionStorage.getItem(\"poOrgName\");\r\n if (orgName == \"Aurionpro Solutions Ltd\") {\r\n this.WorkflowRequest.workflowType = \"PO\";\r\n } else {\r\n this.WorkflowRequest.workflowType = \"BRAVO PO\";\r\n this.WorkflowRequest.projectType = sessionStorage.getItem(\"poProjectType\");\r\n this.WorkflowRequest.organisation = sessionStorage.getItem(\"poOrgId\");\r\n }\r\n this.showLoading = true;\r\n this.sharedService.getAllWorkflowsByType(this.WorkflowRequest, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.workflowList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.addTermsForm = this.formBuilder.group({\r\n uploadedTermsAnnexure: [null],\r\n additionalTerms: [null, Validators.required],\r\n workflowName: [null],\r\n remark: [null]\r\n });\r\n\r\n //sessionStorage.setItem(\"tabFlag\", \"PO\");\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Additional Terms\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n\r\n if (this.route.snapshot.params.task != null) {\r\n this.taskId = this.route.snapshot.params.task;\r\n this.getTaskById(this.taskId);\r\n }\r\n\r\n //this.additionalTerms = sessionStorage.getItem(\"additionalTerms\");\r\n this.rcId = sessionStorage.getItem(\"rcId\");\r\n }\r\n\r\n get formControls() {\r\n return this.addTermsForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n Additional Terms & Conditions\r\n \r\n
\r\n
Additional terms & conditions are\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Workflow\r\n \r\n -Select-\r\n \r\n {{work.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Remarks\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../OrderMgmt/purchase-order/purchase-order.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { PoTaskService } from '../../OrderMgmt/purchase-order-task/po-task.service';\r\nimport { PoFilterSession } from '../ordermgmtfilterdata';\r\n//import { MatSelect } from '@angular/material/select';\r\n\r\n@Component({\r\n selector: 'app-purchase-order',\r\n templateUrl: './purchase-order.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService, PoTaskService]\r\n})\r\nexport class PurchaseOrderComponent implements OnInit {\r\n result: boolean = false;\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private poTaskService: PoTaskService) { }\r\n\r\n displayedColumns: string[] = ['purchaseOrderNo', 'vendor', 'departmentName', 'workflowName', 'amount', 'action'];\r\n POListData: MatTableDataSource;\r\n\r\n exportColumns: string[] = ['purchaseOrderNo', 'vendor', 'orderDate', 'departmentName', 'accName', 'workflowName', 'approvalStatus', 'amount'];\r\n exportPOData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('closebutton') closebutton;\r\n\r\n amendmentForm: FormGroup;\r\n isSubmitted = false;\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n filterlbl: string = \"Filter\";\r\n\r\n FilterData = { \"purchaseOrderNo\": null, \"accountName\": null, \"organisationId\": null, \"supplierName\": null, \"department\": null ,\"approvalStatus\":null};\r\n poDuplicate = { \"entityId\": null, \"isAmendedFlag\": \"NO\" };\r\n TaskData = { \"poId\": null, \"poRcFlag\": null, \"remark\": null, \"workflowType\": null };\r\n\r\n poAdd: boolean = false;\r\n poEdit: boolean = false;\r\n poView: boolean = false;\r\n poDelete: boolean = false;\r\n\r\n PageTitle = \"PO Master\";\r\n filterDiv: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.POListData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addPO = function () {\r\n this.router.navigate(['/AddPO']);\r\n }\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"FILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.purchaseOrderService.getAllPoFromView(this.FilterData, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n // Set Filter\r\n debugger;\r\n\r\n this.exportPOData = resp.content;\r\n let filterSession = new PoFilterSession();\r\n filterSession.purchaseOrderNo = this.FilterData.purchaseOrderNo;\r\n filterSession.accountName = this.FilterData.accountName;\r\n filterSession.organisationId = this.FilterData.organisationId;\r\n filterSession.supplierName = this.FilterData.supplierName;\r\n filterSession.department = this.FilterData.department;\r\n sessionStorage.setItem('FILTERSESSION', JSON.stringify(filterSession));\r\n this.result = !Object.values(filterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.POListData = new MatTableDataSource(resp.content);\r\n this.POListData.sort = this.sort;\r\n this.POListData.paginator = this.paginator;\r\n this.totalRecords = this.POListData.filteredData.length;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Delete function\r\n deletePo = function (poId) {\r\n this.DeleteMsg = 'Are you sure you want to delete this order?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.purchaseOrderService.deletePurchaseOrder(poId, headers).subscribe(resp => {\r\n this.successMessage = 'PO deleted successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n // Delete function\r\n generateDuplicateOrder = function (poId, amendFlag) {\r\n this.poDuplicate.entityId = poId;\r\n if (amendFlag == null) {\r\n this.DeleteMsg = 'Are you sure you want to duplicate this order?';\r\n this.poDuplicate.isAmendedFlag = \"NO\";\r\n } else if (amendFlag == \"AMEND\") {\r\n this.DeleteMsg = 'Are you sure you want to create new PO for this order?';\r\n this.poDuplicate.isAmendedFlag = \"YES\";\r\n }\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.purchaseOrderService.generateDuplicatePo(this.poDuplicate, headers).subscribe(resp => {\r\n if (amendFlag == null) {\r\n this.successMessage = 'New order has been created';\r\n } else if (amendFlag == \"AMEND\") {\r\n this.successMessage = 'New order has been created for amendment';\r\n }\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n requestForAmendment = function (poId) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.amendmentForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.TaskData.poId = poId;\r\n this.TaskData.poRcFlag = \"AMEND\";\r\n this.TaskData.workflowType = \"AMEND\";\r\n this.showLoading = true;\r\n this.poTaskService.saveTask(this.TaskData, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.closebutton.nativeElement.click();\r\n this.successMessage = 'PO requested for amendment';\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n\r\n // party List\r\n supplierPartyList: any = [];\r\n getAllParty = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n //this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n //this.showLoading = false;\r\n this.supplierPartyList = resp;\r\n }, (error: any) => {\r\n //this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n return;\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting project list\r\n projectList: any = [];\r\n getAllProjects = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n //this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n //this.showLoading = false;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n //this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Org List\r\n orgList: any = [];\r\n getAllOrganizations = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n //this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n this.orgList = resp;\r\n //this.showLoading = false;\r\n }, (error: any) => {\r\n //this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting department list\r\n deptList: any = [];\r\n getAllDepartments = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n //this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n debugger;\r\n this.deptList = resp;\r\n //this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n //this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n pushPoToOpenBravo = function (poId) {\r\n this.DeleteMsg = 'Are you sure you want to push this PO to open-bravo?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.purchaseOrderService.pushPoToOpenBravo(poId, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n if (resp.status == \"SUCCESS\") {\r\n this.successMessage = 'PO pushed successfully.';\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n } else {\r\n const errStr = \"ERROR\\n\" + resp.errorMessage;\r\n this.dialogService.openConfirmDialog(errStr);\r\n }\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = \"ERROR\\n\" + error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n });\r\n }\r\n\r\n amendPoId:number = null;\r\n getPoId = function(poId:number) {\r\n this.amendPoId = poId;\r\n console.log(this.amendPoId);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.amendmentForm = this.formBuilder.group({\r\n remark: [null, Validators.required],\r\n })\r\n //Role Rights\r\n this.poAdd = this._global.UserRights.includes(\"Purchase_Order_ADD\");\r\n this.poEdit = this._global.UserRights.includes(\"Purchase_Order_EDIT\");\r\n this.poView = this._global.UserRights.includes(\"Purchase_Order_VIEW\");\r\n this.poDelete = this._global.UserRights.includes(\"Purchase_Order_DELETE\");\r\n sessionStorage.setItem(\"tabFlag\", \"PO\");\r\n //Assign Filter\r\n let filterSession = JSON.parse(sessionStorage.getItem('FILTERSESSION'));\r\n if (sessionStorage.getItem('FILTERSESSION') != null) {\r\n this.FilterData.purchaseOrderNo = filterSession.purchaseOrderNo;\r\n this.FilterData.accountName = filterSession.accountName;\r\n this.FilterData.organisationId = filterSession.organisationId;\r\n this.FilterData.supplierName = filterSession.supplierName;\r\n this.FilterData.department = filterSession.department;\r\n if (Object.keys(filterSession).length === 0 && filterSession.constructor === Object) {\r\n return;\r\n }\r\n else{\r\n this.search();\r\n }\r\n }\r\n if (filterSession != null) { \r\n this.result = !Object.values(filterSession).every(o => o === null || o === \"\");\r\n } else {\r\n this.result = false;\r\n }\r\n //this.search();\r\n this.getAllProjects();\r\n this.getAllOrganizations();\r\n this.getAllParty();\r\n this.getAllDepartments();\r\n sessionStorage.removeItem(\"taskId\");\r\n }\r\n\r\n get formControls() {\r\n return this.amendmentForm.controls;\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Project-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Organisation-\r\n \r\n {{org.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Vendor-\r\n \r\n {{supp.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Department-\r\n \r\n {{d.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
PO No. / Order Date\r\n
{{POListData.purchaseOrderNo}}
\r\n
{{POListData.orderDate | date : 'dd/MM/yyyy'}}
\r\n
Vendor\r\n
{{POListData.suppName}}
\r\n
Department / Project Name\r\n \r\n
{{POListData.departmentName}}
\r\n
{{POListData.accName}}
\r\n
Workflow / Status \r\n
{{POListData.workflowName}}
\r\n
{{POListData.approvalStatus}}
\r\n
Total Amount \r\n
{{POListData.grandTotal}}
\r\n
Action \r\n \r\n \r\n \r\n visibility View\r\n \r\n\r\n \r\n edit Edit\r\n \r\n\r\n \r\n attach_file Upload signed copy\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n payment PO Payment\r\n \r\n \r\n payment PO Fulfilment\r\n \r\n \r\n compare_arrows Vendor\r\n Comparison\r\n \r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n
PO No.\r\n
{{exportPOData.purchaseOrderNo}}
\r\n
Order Date\r\n
{{exportPOData.orderDate | date : 'dd/MM/yyyy'}}\r\n
\r\n
Vendor\r\n
{{exportPOData.suppName}}
\r\n
Department\r\n \r\n
{{exportPOData.departmentName}}
\r\n
Project Name\r\n \r\n
{{exportPOData.accName}}
\r\n
Workflow\r\n
{{exportPOData.workflowName}}
\r\n
Status \r\n
{{exportPOData.approvalStatus}}
\r\n
Total Amount \r\n
{{exportPOData.grandTotal}}
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Are you sure you want to send amendment request for this PO?\r\n \r\n Remarks\r\n \r\n
\r\n
Remark\r\n is required
\r\n
\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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PurchaseOrderService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n savePO(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/addpurchaseorder';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updatePO(body, header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getAllPO(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/getallpurchaseorders';\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getPOById(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/getorderbyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getPurchaseOrderInfo(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/getpurchaseorderinfo/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getAllPoFromView(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/getallpobyfilter';\r\n console.log(url);\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n deletePurchaseOrder(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/deleteorderbyid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n generateDuplicatePo(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/generateduplicateorder';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n verifyPo(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/updateverifyflag';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n sendMailToVendor(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/sendPoMailToVendor/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n pushPoToOpenBravo(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/pushPoToOpenBravo/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n cancelVerificationOfPoById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/cancelverificationofpobyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PurchaseOrderService } from '../../../OrderMgmt/purchase-order/purchase-order.service';\r\n\r\n@Component({\r\n selector: 'app-view-po',\r\n templateUrl: './view-po.component.html',\r\n providers: [PurchaseOrderService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ViewPoComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private purchaseOrderService: PurchaseOrderService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n /* purchaseOrder = {\"purchaseOrderNo\": \"\", \"orderDate\": \"\", \"poMadeFrom\": \"\",\r\n \"rateContractId\": \"\", \"department\": \"\", \"accountName\": \"\",\r\n \"organisationId\": \"\", \"orderType\": \"\", \"modeOfPayment\": \"\",\r\n \"dispatchThrough\": \"\", \"currency\": \"\", \"deliveryTerm\": \"\",\r\n \"paymentMethod\": \"\", \"suppliersReference\": \"\", \"discountAmt\": \"\",\r\n \"otherReference\": \"\", \"supplierName\": \"\", \"supplierDetails\": \"\",\r\n \"billFromState\": \"\", \"billFromGstNo\": \"\", \"buyerName\": \"\",\r\n \"invoiceToAddress\": \"\", \"billToAddress\": \"\", \"shipToAddress\": \"\",\r\n \"termsConditions\": \"\", \"isHistoricData\": \"\", \"poheaddesignation\": \"\", \"approvalStatus\": \"\",\r\n \"buyName\": \"\", \"buyInvoAddress1\": \"\", \"buyContactPerson\": \"\", \"buyMobNo\": \"\", \"buyEmail\": \"\"}; */\r\n\r\n purchaseOrder = {\r\n \"entityId\": \"\",\r\n \"createdDate\": \"\",\r\n \"createdBy\": \"\",\r\n \"updatedDate\": \"\",\r\n \"updatedBy\": \"\",\r\n \"isDeleted\": \"\",\r\n \"organizationId\": \"\",\r\n \"purchaseOrderNo\": \"\",\r\n \"orderDate\": \"\",\r\n \"department\": \"\",\r\n \"accountName\": \"\",\r\n \"orderType\": \"\",\r\n \"modeOfPayment\": \"\",\r\n \"suppliersReference\": \"\",\r\n \"otherReference\": \"\",\r\n \"dispatchThrough\": \"\",\r\n \"currency\": \"\",\r\n \"deliveryTerm\": \"\",\r\n \"invoiceToAddress\": \"\",\r\n \"supplierDetails\": \"\",\r\n \"billFromState\": \"\",\r\n \"billToAddress\": \"\",\r\n \"shipToAddress\": \"\",\r\n \"termsConditions\": \"\",\r\n \"uploadedTermsAnnexure\": \"\",\r\n \"additionalTerms\": \"\",\r\n \"approvalStatus\": \"\",\r\n \"signedCopyPath\": \"\",\r\n \"supplierName\": \"\",\r\n \"buyerName\": \"\",\r\n \"billFromGstNo\": \"\",\r\n \"billToGstNo\": \"\",\r\n \"includeTerms\": \"\",\r\n \"grandTotal\": \"\",\r\n \"totalTaxes\": \"\",\r\n \"totalWithoutTaxes\": \"\",\r\n \"discountAmt\": \"\",\r\n \"isHistoricData\": \"\",\r\n \"workflowName\": \"\",\r\n \"poMadeFrom\": \"\",\r\n \"rateContractId\": \"\",\r\n \"remark\": \"\",\r\n \"oldPoId\": \"\",\r\n \"oldPoNo\": \"\",\r\n \"oldPoDate\": \"\",\r\n \"isAmendedFlag\": \"\",\r\n \"amendedPoId\": \"\",\r\n \"paymentMethod\": \"\",\r\n \"organisationId\": \"\",\r\n \"verify\": \"\",\r\n \"verifyDate\": \"\",\r\n \"verfiedPOAttachment\": \"\",\r\n \"verifiedBy\": \"\",\r\n \"mailSentDate\": \"\",\r\n \"mailSentBy\": \"\",\r\n \"poCopy\": \"\",\r\n \"poPushedStatus\": \"\",\r\n \"poPushedDate\": \"\",\r\n \"invoicetoname\": \"\",\r\n \"invoicetoaddressforhistory\": \"\",\r\n \"invoicetocontact\": \"\",\r\n \"invoicetophone\": \"\",\r\n \"invoicetoemail\": \"\",\r\n \"suppliernameforhistory\": \"\",\r\n \"supplieraddress\": \"\",\r\n \"suppliercontact\": \"\",\r\n \"supplierphone\": \"\",\r\n \"supplieremail\": \"\",\r\n \"billtoname\": \"\",\r\n \"billtoaddressforhistory\": \"\",\r\n \"billtocontact\": \"\",\r\n \"billtophone\": \"\",\r\n \"billtoemail\": \"\",\r\n \"billtogstin\": \"\",\r\n \"shiptoname\": \"\",\r\n \"shiptoaddressforhistory\": \"\",\r\n \"shiptocontact\": \"\",\r\n \"shiptophone\": \"\",\r\n \"shiptoemail\": \"\",\r\n \"suppName\": \"\",\r\n \"suppContactPerson\": \"\",\r\n \"suppMobNo\": \"\",\r\n \"suppEmail\": \"\",\r\n \"buyName\": \"\",\r\n \"buyContactPerson\": \"\",\r\n \"buyMobNo\": \"\",\r\n \"buyEmail\": \"\",\r\n \"suppAddress\": \"\",\r\n \"suppCity\": \"\",\r\n \"suppDist\": \"\",\r\n \"suppState\": \"\",\r\n \"buyInvoAddress\": \"\",\r\n \"buyInvoCity\": \"\",\r\n \"buyInvoDist\": \"\",\r\n \"buyInvoState\": \"\",\r\n \"buyBillToGstNo\": \"\",\r\n \"buyBillToAddress\": \"\",\r\n \"buyBillToCity\": \"\",\r\n \"buyBillToDist\": \"\",\r\n \"buyBillToState\": \"\",\r\n \"buyShipToAddress\": \"\",\r\n \"buyShipToCity\": \"\",\r\n \"buyShipToDist\": \"\",\r\n \"buyShipToState\": \"\",\r\n \"priceList\": \"\",\r\n \"contactId\": \"\",\r\n \"departmentName\": \"\",\r\n \"accName\": \"\",\r\n \"currencySymbol\": \"\",\r\n \"paymentTermId\": \"\",\r\n \"paymentMethodId\": \"\",\r\n \"productDetailsList\": \"\",\r\n \"attachments\": null,\r\n\r\n \"poheaddesignation\": \"\",\r\n \"poheadname\": \"\",\r\n \"organisationName\": \"\",\r\n \"amountInWords\": \"\"\r\n };\r\n\r\n\r\n oldPoData = {\r\n \"entityId\": \"\",\r\n \"createdDate\": \"\",\r\n \"createdBy\": \"\",\r\n \"updatedDate\": \"\",\r\n \"updatedBy\": \"\",\r\n \"isDeleted\": \"\",\r\n \"organizationId\": \"\",\r\n \"purchaseOrderNo\": \"\",\r\n \"orderDate\": \"\",\r\n \"department\": \"\",\r\n \"accountName\": \"\",\r\n \"orderType\": \"\",\r\n \"modeOfPayment\": \"\",\r\n \"suppliersReference\": \"\",\r\n \"otherReference\": \"\",\r\n \"dispatchThrough\": \"\",\r\n \"currency\": \"\",\r\n \"deliveryTerm\": \"\",\r\n \"invoiceToAddress\": \"\",\r\n \"supplierDetails\": \"\",\r\n \"billFromState\": \"\",\r\n \"billToAddress\": \"\",\r\n \"shipToAddress\": \"\",\r\n \"termsConditions\": \"\",\r\n \"uploadedTermsAnnexure\": \"\",\r\n \"additionalTerms\": \"\",\r\n \"approvalStatus\": \"\",\r\n \"signedCopyPath\": \"\",\r\n \"supplierName\": \"\",\r\n \"buyerName\": \"\",\r\n \"billFromGstNo\": \"\",\r\n \"billToGstNo\": \"\",\r\n \"includeTerms\": \"\",\r\n \"grandTotal\": \"\",\r\n \"totalTaxes\": \"\",\r\n \"totalWithoutTaxes\": \"\",\r\n \"discountAmt\": \"\",\r\n \"isHistoricData\": \"\",\r\n \"workflowName\": \"\",\r\n \"poMadeFrom\": \"\",\r\n \"rateContractId\": \"\",\r\n \"remark\": \"\",\r\n \"oldPoId\": \"\",\r\n \"oldPoNo\": \"\",\r\n \"oldPoDate\": \"\",\r\n \"isAmendedFlag\": \"\",\r\n \"amendedPoId\": \"\",\r\n \"paymentMethod\": \"\",\r\n \"organisationId\": \"\",\r\n \"verify\": \"\",\r\n \"verifyDate\": \"\",\r\n \"verfiedPOAttachment\": \"\",\r\n \"verifiedBy\": \"\",\r\n \"mailSentDate\": \"\",\r\n \"mailSentBy\": \"\",\r\n \"poCopy\": \"\",\r\n \"poPushedStatus\": \"\",\r\n \"poPushedDate\": \"\",\r\n \"invoicetoname\": \"\",\r\n \"invoicetoaddressforhistory\": \"\",\r\n \"invoicetocontact\": \"\",\r\n \"invoicetophone\": \"\",\r\n \"invoicetoemail\": \"\",\r\n \"suppliernameforhistory\": \"\",\r\n \"supplieraddress\": \"\",\r\n \"suppliercontact\": \"\",\r\n \"supplierphone\": \"\",\r\n \"supplieremail\": \"\",\r\n \"billtoname\": \"\",\r\n \"billtoaddressforhistory\": \"\",\r\n \"billtocontact\": \"\",\r\n \"billtophone\": \"\",\r\n \"billtoemail\": \"\",\r\n \"billtogstin\": \"\",\r\n \"shiptoname\": \"\",\r\n \"shiptoaddressforhistory\": \"\",\r\n \"shiptocontact\": \"\",\r\n \"shiptophone\": \"\",\r\n \"shiptoemail\": \"\",\r\n \"suppName\": \"\",\r\n \"suppContactPerson\": \"\",\r\n \"suppMobNo\": \"\",\r\n \"suppEmail\": \"\",\r\n \"buyName\": \"\",\r\n \"buyContactPerson\": \"\",\r\n \"buyMobNo\": \"\",\r\n \"buyEmail\": \"\",\r\n \"suppAddress\": \"\",\r\n \"suppCity\": \"\",\r\n \"suppDist\": \"\",\r\n \"suppState\": \"\",\r\n \"buyInvoAddress\": \"\",\r\n \"buyInvoCity\": \"\",\r\n \"buyInvoDist\": \"\",\r\n \"buyInvoState\": \"\",\r\n \"buyBillToGstNo\": \"\",\r\n \"buyBillToAddress\": \"\",\r\n \"buyBillToCity\": \"\",\r\n \"buyBillToDist\": \"\",\r\n \"buyBillToState\": \"\",\r\n \"buyShipToAddress\": \"\",\r\n \"buyShipToCity\": \"\",\r\n \"buyShipToDist\": \"\",\r\n \"buyShipToState\": \"\",\r\n \"priceList\": \"\",\r\n \"contactId\": \"\",\r\n \"departmentName\": \"\",\r\n \"accName\": \"\",\r\n \"currencySymbol\": \"\",\r\n \"paymentTermId\": \"\",\r\n \"paymentMethodId\": \"\",\r\n \"productDetailsList\": \"\",\r\n\r\n \"poheaddesignation\": \"\",\r\n \"poheadname\": \"\",\r\n \"organisationName\": \"\",\r\n \"amountInWords\": \"\"\r\n };\r\n\r\n //searchResults = {};\r\n oldProductDetails = {};\r\n attachFlag: boolean = false;\r\n isSameState: boolean = true;\r\n isSameStateOld: boolean = true;\r\n finalAmount = 0;\r\n oldfinalAmount = 0;\r\n baseUrl: any = null;\r\n taskId:any = null;\r\n\r\n VerifyEntity = { \"entityId\": null };\r\n\r\n\r\n // printComponent1(cmpName) {\r\n // debugger;\r\n // let printContents = document.getElementById(cmpName).innerHTML;\r\n // let originalContents = document.body.innerHTML;\r\n // document.body.innerHTML = printContents;\r\n // window.print();\r\n // window.close();\r\n // document.body.innerHTML = originalContents;\r\n // }\r\n\r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n Purchase Order\r\n \r\n \r\n${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n // Search function\r\n search = function (id) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.purchaseOrderService.getPurchaseOrderInfo(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n debugger;\r\n this.purchaseOrder = resp;\r\n console.log(this.purchaseOrder);\r\n //this.searchResults = this.purchaseOrder.productdetails;\r\n if(this.purchaseOrder.suppState.toLowerCase() == this.purchaseOrder.buyBillToState.toLowerCase())\r\n this.isSameState = true;\r\n else\r\n this.isSameState = false;\r\n\r\n if(this.purchaseOrder.amountInWords == null || this.purchaseOrder.amountInWords == \"\"){\r\n if(this.purchaseOrder.currency == 'INR')\r\n this.finalAmount = this.withDecimal(this.purchaseOrder.grandTotal);\r\n else\r\n this.finalAmount = this.withDecimalUSD(this.purchaseOrder.grandTotal.toFixed(2));\r\n }\r\n\r\n if(this.purchaseOrder.isAmendedFlag == \"YES\"){\r\n this.getOldPoData(this.purchaseOrder.oldPoId);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Search function\r\n getOldPoData = function (id) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.purchaseOrderService.getPurchaseOrderInfo(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n debugger;\r\n this.oldPoData = resp;\r\n console.log(this.oldPoData);\r\n //this.searchResults = this.oldPoData.productdetails;\r\n if(this.oldPoData.suppState.toLowerCase() == this.oldPoData.buyBillToState.toLowerCase())\r\n this.isSameStateOld = true;\r\n else\r\n this.isSameStateOld = false;\r\n\r\n if(this.oldPoData.amountInWords == null || this.oldPoData.amountInWords == \"\"){\r\n if(this.oldPoData.currency == 'INR')\r\n this.oldfinalAmount = this.withDecimal(this.oldPoData.grandTotal);\r\n else\r\n this.oldfinalAmount = this.withDecimalUSD(this.oldPoData.grandTotal.toFixed(2));\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n back() {\r\n debugger;\r\n if (this.route.snapshot.params.flag == \"PO\") {\r\n this.router.navigate(['/searchPurchaseOrder'])\r\n } else if (this.route.snapshot.params.flag == \"POTASK\") {\r\n this.router.navigate(['/searchTask'])\r\n }\r\n //this.router.navigate(['/searchPurchaseOrder'])\r\n }\r\n\r\n verifyPo = function () {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to verify this PO?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.VerifyEntity.entityId = this.route.snapshot.params.id;\r\n this.showLoading = true;\r\n this.purchaseOrderService.verifyPo(this.VerifyEntity, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = 'PO verified successfully.';\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n this.search(this.route.snapshot.params.id);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n });\r\n }\r\n\r\n sendMail = function () {\r\n debugger;\r\n this.DeleteMsg = 'Do you want to send mail to vendor?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.purchaseOrderService.sendMailToVendor(this.route.snapshot.params.id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = 'Mail sent successfully.';\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n this.search(this.route.snapshot.params.id);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n });\r\n }\r\n\r\n viewWorkflowHistory = function () {\r\n debugger;\r\n this.router.navigate(['/ViewWorkflow', this.route.snapshot.params.id, this.route.snapshot.params.flag]);\r\n }\r\n\r\n takeAction = function () {\r\n debugger;\r\n if(this.taskId != null){\r\n this.router.navigate(['/UpdatePoTask', this.taskId, 'edit', 'PO']);\r\n }\r\n }\r\n/*\r\n lessThan = function(value) {\r\n let name = value;\r\n if(name.length < 37){\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n greaterThan = function(value) {\r\n let name = value;\r\n if(name.length >= 37){\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n*/\r\n //for checking if string contains uuid.\r\n regExpUuid = new RegExp(\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\");\r\n containsUUID = function(s) {\r\n   let result = false;\r\n   if(s.length > 36)\r\n   {\r\n let str = s.substring(0, 36);\r\n result = this.regExpUuid.test(str);\r\n   }\r\n return result;\r\n }\r\n\r\n //for converting number to words\r\n convertNumberToWords = function (amount) {\r\n var words = new Array();\r\n words[0] = '';\r\n words[1] = 'One';\r\n words[2] = 'Two';\r\n words[3] = 'Three';\r\n words[4] = 'Four';\r\n words[5] = 'Five';\r\n words[6] = 'Six';\r\n words[7] = 'Seven';\r\n words[8] = 'Eight';\r\n words[9] = 'Nine';\r\n words[10] = 'Ten';\r\n words[11] = 'Eleven';\r\n words[12] = 'Twelve';\r\n words[13] = 'Thirteen';\r\n words[14] = 'Fourteen';\r\n words[15] = 'Fifteen';\r\n words[16] = 'Sixteen';\r\n words[17] = 'Seventeen';\r\n words[18] = 'Eighteen';\r\n words[19] = 'Nineteen';\r\n words[20] = 'Twenty';\r\n words[30] = 'Thirty';\r\n words[40] = 'Forty';\r\n words[50] = 'Fifty';\r\n words[60] = 'Sixty';\r\n words[70] = 'Seventy';\r\n words[80] = 'Eighty';\r\n words[90] = 'Ninety';\r\n\r\n amount = amount.toString();\r\n var atemp = amount.split(\".\");\r\n var number = atemp[0].split(\",\").join(\"\");\r\n var n_length = number.length;\r\n var words_string = \"\";\r\n if (n_length <= 9) {\r\n var n_array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\r\n var received_n_array = new Array();\r\n for (var i = 0; i < n_length; i++) {\r\n received_n_array[i] = number.substr(i, 1);\r\n }\r\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\r\n n_array[i] = received_n_array[j];\r\n }\r\n for (var i = 0, j = 1; i < 9; i++, j++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n if (n_array[i] == 1) {\r\n n_array[j] = 10 + parseInt(n_array[j].toString());\r\n n_array[i] = 0;\r\n }\r\n }\r\n }\r\n\r\n var value = 0;\r\n\r\n for (var i = 0; i < 9; i++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n value = n_array[i] * 10;\r\n } else {\r\n value = n_array[i];\r\n }\r\n if (value != 0) {\r\n words_string += words[value] + \" \";\r\n }\r\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Crores \";\r\n }\r\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Lakhs \";\r\n }\r\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Thousand \";\r\n }\r\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\r\n words_string += \"Hundred \";\r\n } else if (i == 6 && value != 0) {\r\n words_string += \"Hundred \";\r\n }\r\n }\r\n\r\n words_string = words_string.split(\" \").join(\" \");\r\n }\r\n return words_string;\r\n }\r\n\r\n withDecimal = function (n) {\r\n debugger;\r\n var nums = n.toString().split('.')\r\n var whole = this.convertNumberToWords(nums[0])\r\n\r\n if (nums.length == 2) {\r\n var fraction = this.convertNumberToWords(nums[1])\r\n if (fraction == '') {\r\n return whole;\r\n } else {\r\n return whole + 'and ' + fraction;\r\n }\r\n } else {\r\n return whole;\r\n }\r\n }\r\n\r\n\r\n withDecimalUSD = function (n) {\r\n debugger;\r\n var nums = n.toString().split('.')\r\n var whole = this.USDtoWords(nums[0])\r\n\r\n if (nums.length == 2) {\r\n var fraction = this.USDtoWords(nums[1])\r\n if (fraction == '') {\r\n return whole;\r\n } else {\r\n return whole + 'and ' + fraction;\r\n }\r\n } else {\r\n return whole;\r\n }\r\n }\r\n\r\n //for converting number to words\r\n th = ['','thousand','million', 'billion','trillion'];\r\n dg = ['zero','one','two','three','four', 'five','six','seven','eight','nine'];\r\n tn = ['ten','eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];\r\n tw = ['twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];\r\n\r\n USDtoWords = function(s) {\r\n debugger;\r\n s = s.toString();\r\n //s = s.replace(/[\\, ]/g,'');\r\n if (s != parseFloat(s)) return 'not a number';\r\n var x = s.indexOf('.');\r\n if (x == -1)\r\n x = s.length;\r\n if (x > 15)\r\n return 'too big';\r\n /*var nums = s.split('.');\r\n if (nums[1] == '00'){\r\n s = nums[0];\r\n x = s.length;\r\n }*/\r\n var n = s.split(''); \r\n var str = '';\r\n var sk = 0;\r\n for (var i=0; i < x; i++) {\r\n if ((x-i)%3==2) { \r\n if (n[i] == '1') {\r\n str += this.tn[Number(n[i+1])] + ' ';\r\n i++;\r\n sk=1;\r\n } else if (n[i]!=0) {\r\n str += this.tw[n[i]-2] + ' ';\r\n sk=1;\r\n }\r\n } else if (n[i]!=0) { // 0235\r\n str += this.dg[n[i]] +' ';\r\n if ((x-i)%3==0) str += 'hundred ';\r\n sk=1;\r\n }\r\n if ((x-i)%3==1) {\r\n if (sk)\r\n str += this.th[(x-i-1)/3] + ' ';\r\n sk=0;\r\n }\r\n }\r\n\r\n /*if (x != s.length) {\r\n var y = s.length;\r\n str += 'And ';\r\n for (let i=x+1; i\r\n @media print {\r\n\r\n /* table {\r\n -fs-table-paginate: paginate;\r\n }\r\n\r\n thead {\r\n display: table-header-group;\r\n } */\r\n table {\r\n page-break-after: auto\r\n }\r\n\r\n tr {\r\n page-break-inside: avoid;\r\n page-break-after: auto\r\n }\r\n\r\n td {\r\n page-break-inside: avoid;\r\n page-break-after: auto\r\n }\r\n\r\n thead {\r\n display: table-header-group\r\n }\r\n\r\n tfoot {\r\n display: table-footer-group\r\n }\r\n\r\n }\r\n\r\n @page {\r\n size: auto;\r\n margin: 25mm 25mm 125mm 125mm;\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n DRAFT PURCHASE ORDER \r\n DRAFT \r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Supplier Address:
\r\n {{purchaseOrder.suppName}}
\r\n {{purchaseOrder.suppAddress}}
\r\n \r\n Contact Person: {{purchaseOrder.suppContactPerson}}
\r\n Phone No. {{purchaseOrder.suppMobNo}}
\r\n Email: {{purchaseOrder.suppEmail}}
\r\n \r\n \r\n GST No.: {{purchaseOrder.billFromGstNo}}\r\n \r\n \r\n \r\n Supplier Address:
\r\n {{purchaseOrder.suppliernameforhistory}}
\r\n {{purchaseOrder.supplieraddress}}
\r\n Contact Person: {{purchaseOrder.suppliercontact}}
\r\n Phone No. {{purchaseOrder.supplierphone}}
\r\n Email: {{purchaseOrder.supplieremail}}
\r\n GST No.: {{purchaseOrder.billFromGstNo}}\r\n \r\n \r\n \r\n Bill To Address:
\r\n {{purchaseOrder.buyName}}
\r\n {{purchaseOrder.buyBillToAddress}}
\r\n \r\n Contact Person: {{purchaseOrder.buyContactPerson}}
\r\n Phone No. {{purchaseOrder.buyMobNo}}
\r\n Email: {{purchaseOrder.buyEmail}}
\r\n GST No.:\r\n {{purchaseOrder.buyBillToGstNo}}\r\n NA\r\n \r\n \r\n Bill To Address:
\r\n {{purchaseOrder.billtoname}}
\r\n {{purchaseOrder.billtoaddressforhistory}}
\r\n Contact Person: {{purchaseOrder.billtocontact}}
\r\n Phone No. {{purchaseOrder.billtophone}}
\r\n Email: {{purchaseOrder.billtoemail}}
\r\n GST No.: {{purchaseOrder.billtogstin}}\r\n \r\n \r\n \r\n Ship To Address:
\r\n {{purchaseOrder.buyName}}
\r\n {{purchaseOrder.buyShipToAddress}}\r\n \r\n Contact Person: {{purchaseOrder.buyContactPerson}}
\r\n Phone No. {{purchaseOrder.buyMobNo}}
\r\n Email: {{purchaseOrder.buyEmail}}
\r\n \r\n \r\n Ship To Address:
\r\n {{purchaseOrder.shiptoname}}
\r\n {{purchaseOrder.shiptoaddressforhistory}}
\r\n Contact Person: {{purchaseOrder.shiptocontact}}
\r\n Phone No. {{purchaseOrder.shiptophone}}
\r\n Email: {{purchaseOrder.shiptoemail}}
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Invoice Postal Address:
\r\n {{purchaseOrder.buyName}}
\r\n {{purchaseOrder.buyInvoAddress}}
\r\n \r\n Contact Person: {{purchaseOrder.buyContactPerson}}
\r\n Phone No. {{purchaseOrder.buyMobNo}}
\r\n Email: {{purchaseOrder.buyEmail}}
\r\n
\r\n Invoice Postal Address:
\r\n {{purchaseOrder.invoicetoname}}
\r\n {{purchaseOrder.invoicetoaddressforhistory}}
\r\n Contact Person: {{purchaseOrder.invoicetocontact}}
\r\n Phone No. {{purchaseOrder.invoicetophone}}
\r\n Email: {{purchaseOrder.invoicetoemail}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Order No.:\r\n

\r\n {{purchaseOrder.purchaseOrderNo}}\r\n

\r\n
\r\n Old Order No.:\r\n

\r\n {{purchaseOrder.oldPoNo}}\r\n

\r\n
\r\n Order Type:\r\n

\r\n {{purchaseOrder.orderType}}\r\n

\r\n
\r\n Supplier's Ref:\r\n \r\n {{purchaseOrder.suppliersReference}}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Order Date:\r\n

\r\n {{purchaseOrder.orderDate | date : 'dd/MM/yyyy'}}\r\n

\r\n
\r\n Old Order Date:\r\n

\r\n {{purchaseOrder.oldPoDate | date : 'dd/MM/yyyy'}}\r\n

\r\n
\r\n Mode / Terms of Payment:\r\n

\r\n {{purchaseOrder.modeOfPayment}}\r\n

\r\n
\r\n Other reference(s):\r\n

\r\n {{purchaseOrder.otherReference}}\r\n

\r\n
\r\n
\r\n Delivery Term: {{purchaseOrder.deliveryTerm}}\r\n \r\n \r\n Dispatch through: {{purchaseOrder.dispatchThrough}}\r\n \r\n \r\n Currency: {{purchaseOrder.currency}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n CGST\r\n \r\n SGST\r\n \r\n IGST\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{productdetails.product}}\r\n ({{productdetails.productDesc}})\r\n {{productdetails.product}}\r\n ({{productdetails.description}})\r\n {{productdetails.product}}\r\n ({{productdetails.productDesc}} - {{productdetails.description}})\r\n
\r\n \r\n
\r\n {{productdetails.product}}
\r\n \r\n \r\n {{productdetails.productNameWithDesc}}\r\n
\r\n \r\n \r\n \r\n {{productdetails.quantity}} ({{productdetails.baseuom}})\r\n \r\n {{productdetails.quantity}} ({{productdetails.baseUomData}})\r\n \r\n \r\n \r\n {{productdetails.cgstAmount | number : '1.2-2'}} ({{productdetails.cgst}}%)\r\n \r\n {{productdetails.sgstAmount | number : '1.2-2'}} ({{productdetails.sgst}}%)\r\n \r\n {{productdetails.igstAmount | number : '1.2-2'}} ({{productdetails.igst}}%)\r\n \r\n \r\n \r\n \r\n \r\n
Amendment Details
Sr.No.ProductHSN/SACRateQty (UOM)AmountDisc.TaxService Tax (Rs.)VAT (Rs.)Final Amt
{{i+1}}{{productdetails.hsnId}}{{productdetails.rate}}.00{{productdetails.rate | number : '1.2-2'}}{{productdetails.amount | number : '1.2-2'}} {{productdetails.totalDiscount | number : '1.2-2'}}\r\n {{productdetails.igstAmount | number : '1.2-2'}}\r\n ({{productdetails.igst}}%){{productdetails.serviceTax}}{{productdetails.vat}}{{productdetails.finalAmount | number : '1.2-2'}}
\r\n
Total excluding Taxes {{purchaseOrder.totalWithoutTaxes | number : '1.2-2'}}
Total Taxes {{purchaseOrder.totalTaxes | number : '1.2-2'}}
Discount {{purchaseOrder.discountAmt | number : '1.2-2'}}
Grand Total {{purchaseOrder.grandTotal | number : '1.2-2'}}\r\n \r\n
Amount in words :\r\n {{finalAmount}}\r\n Only.\r\n {{purchaseOrder.amountInWords}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Old PO Details
Sr.No.ProductHSN/SACRateQty (UOM)AmountDisc.CGSTSGSTIGSTService Tax (Rs.)VAT (Rs.)Final Amt
{{i+1}}{{productdetails.productNameWithDesc}}{{productdetails.hsnId}}{{productdetails.rate}}.00{{productdetails.rate | number : '1.2-2'}}{{productdetails.quantity}} ({{productdetails.baseUomData}}){{productdetails.amount | number : '1.2-2'}} {{productdetails.totalDiscount | number : '1.2-2'}}\r\n {{productdetails.cgstAmount | number : '1.2-2'}}\r\n ({{productdetails.cgst}}%)\r\n {{productdetails.sgstAmount | number : '1.2-2'}}\r\n ({{productdetails.sgst}}%)\r\n {{productdetails.igstAmount | number : '1.2-2'}} ({{productdetails.igst}}%)\r\n {{productdetails.serviceTax | number : '1.2-2'}}{{productdetails.vat | number : '1.2-2'}}{{productdetails.finalAmount | number : '1.2-2'}}
\r\n
Total excluding Taxes {{oldPoData.totalWithoutTaxes | number : '1.2-2'}}
Total Taxes {{oldPoData.totalTaxes | number : '1.2-2'}}
Discount {{oldPoData.discountAmt | number : '1.2-2'}}
Grand Total {{oldPoData.grandTotal | number : '1.2-2'}}\r\n \r\n
Amount in words :\r\n {{oldfinalAmount}}\r\n Only.\r\n {{oldPoData.amountInWords}}\r\n
\r\n Terms & Conditions: \r\n

\r\n {{purchaseOrder.termsConditions}}\r\n

\r\n
\r\n Annexure Terms & Conditions: \r\n

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

\r\n
\r\n

\r\n E. & O. E.
\r\n For {{purchaseOrder.suppName}},
\r\n Date:
\r\n Authorized Signatory\r\n

\r\n
\r\n

\r\n \r\n

\r\n
**This is an electronically generated Purchase Order. No signatures are required.**\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n

Attachments

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

No Attachments

\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { RateContractService } from '../../../OrderMgmt/rate-contract/rate-contract.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { ProjectMasterService } from '../../../ProjectMgmt/ProjectMaster/projectmaster.service';\r\nimport { OrganizationService } from '../../../ConfigurationMgmt/organization/organization.service';\r\nimport { MatCheckbox } from '@angular/material/checkbox';\r\n\r\n@Component({\r\n selector: 'app-add-rc',\r\n templateUrl: './add-rc.component.html',\r\n providers: [RateContractService, AppGlobals, DialogService, SharedService, FileuploadService, ProjectMasterService, OrganizationService]\r\n})\r\nexport class AddRcComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private rateContractService: RateContractService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService, private projectMasterService: ProjectMasterService, private organizationService: OrganizationService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n\r\n\r\n PageTitle = \"Add RC\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n view = false;\r\n\r\n addRcForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n RCEntityData = {\r\n \"entityId\": null, \"rateContractNo\": null, \"contractDate\": null, \"validTill\": null,\r\n \"department\": null, \"accountName\": null, \"organisationId\": null,\r\n \"contractType\": null, \"modeOfPayment\": null, \"dispatchThrough\": null,\r\n \"currency\": null, \"deliveryTerm\": null, \"suppliersReference\": null,\r\n \"maxLimit\": 0, \"otherReference\": null, \"supplierName\": null, \"supplierDetails\": null,\r\n \"billFromState\": null, \"billFromGstNo\": null, \"buyerName\": null,\r\n \"invoiceToAddress\": null, \"billToAddress\": null, \"shipToAddress\": null,\r\n \"termsConditions\": null, \"isHistoricData\": null, \"uploadedTermsAnnexure\": null,\r\n \"additionalTerms\": null, \"includeTerms\": null, \"signedCopyPath\": null, \"attachment\": []\r\n };\r\n\r\n projectList: any = [];\r\n deptList: any = [];\r\n orgList: any = [];\r\n ConstantData = { \"type\": null, \"organisationId\": null };\r\n paymentModeList: any = [];\r\n deliveryTermList: any = [];\r\n paymentMethodList: any = [];\r\n isHistoricData = \"NO\";\r\n isSameState = null;\r\n applyGstFlag = null;\r\n currencyFlag = null;\r\n RcAttachments: any = [];\r\n signedCopyPath: any = [];\r\n\r\n //for setting yes or no to checkbox\r\n /* falseValue = \"NO\";\r\n trueValue = \"YES\";\r\n checkboxChange(checkbox: MatCheckbox, checked: boolean) {\r\n debugger;\r\n this.isHistoricData = checked ? this.trueValue : this.falseValue;\r\n } */\r\n\r\n checked: boolean = false;\r\n checkChange(checked: boolean) {\r\n debugger;\r\n this.checked = !checked;\r\n this.isHistoricData = this.checked ? \"YES\" : \"NO\";\r\n this.RCEntityData.currency = this.checked ? \"INR\" : null;\r\n }\r\n\r\n // Disable Function\r\n disabledField = function () {\r\n this.addRcForm.get('billFromGstNo').disable();\r\n this.addRcForm.get('billFromState').disable();\r\n }\r\n\r\n // Disabled Function\r\n disableFieldsForUploadSignCopy = function () {\r\n this.addRcForm.get('rateContractNo').disable();\r\n this.addRcForm.get('contractDate').disable();\r\n this.addRcForm.get('validTill').disable();\r\n this.addRcForm.get('contractType').disable();\r\n this.addRcForm.get('department').disable();\r\n this.addRcForm.get('accountName').disable();\r\n this.addRcForm.get('organisationId').disable();\r\n this.addRcForm.get('maxLimit').disable();\r\n this.addRcForm.get('modeOfPayment').disable();\r\n this.addRcForm.get('dispatchThrough').disable();\r\n this.addRcForm.get('currency').disable();\r\n this.addRcForm.get('deliveryTerm').disable();\r\n this.addRcForm.get('suppliersReference').disable();\r\n this.addRcForm.get('otherReference').disable();\r\n this.addRcForm.get('supplierName').disable();\r\n this.addRcForm.get('supplierDetails').disable();\r\n this.addRcForm.get('buyerName').disable();\r\n this.addRcForm.get('invoiceToAddress').disable();\r\n this.addRcForm.get('billToAddress').disable();\r\n this.addRcForm.get('shipToAddress').disable();\r\n this.addRcForm.get('termsConditions').disable();\r\n this.addRcForm.get('includeTerms').disable();\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n //return o1.name === o2.name && o1.id === o2.id;\r\n return o1 == o2;\r\n }\r\n\r\n cancel = function () {\r\n //this.router.navigate(['/searchRateContract']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['/searchRateContract']);\r\n } else {\r\n this.router.navigate(['/searchTask']);\r\n }\r\n }\r\n\r\n saveRC = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n //this.RCEntityData.isHistoricData = this.isHistoricData;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addRcForm.invalid) {\r\n return;\r\n }\r\n this.RCEntityData.contractDate = this.RCEntityData.contractDate.getTime();\r\n this.RCEntityData.validTill = this.RCEntityData.validTill.getTime();\r\n this.RCEntityData.isHistoricData = this.isHistoricData;\r\n this.RCEntityData.includeTerms = this.RCEntityData.includeTerms ? \"YES\" : \"NO\";\r\n this.showLoading = true;\r\n this.rateContractService.saveRC(this.RCEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Basic RC is created successfully. Please proceed further for adding products.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addRcForm.reset();\r\n this.router.navigate(['searchRateContract/editRateContract', resp.entityId, 'edit']);\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n this.RCEntityData.contractDate = (new Date(this.RCEntityData.contractDate));\r\n this.RCEntityData.validTill = (new Date(this.RCEntityData.validTill));\r\n this.RCEntityData.includeTerms = this.RCEntityData.includeTerms == \"NO\" ? false : true;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updateRC = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addRcForm.invalid) {\r\n return;\r\n }\r\n\r\n if (this.route.snapshot.params.page == 'view') {\r\n //If mandatory then check for fileuploaded\r\n if (!this.fileuploadService.hasfile(this.signedCopyPath)) {\r\n this.dialogService.openConfirmDialog(\"Please uplaod signed copy\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.signedCopyPath)) {\r\n this.dialogService.openConfirmDialog(\"Files are uploading...\")\r\n return;\r\n }\r\n this.RCEntityData.signedCopyPath = this.fileuploadService.getFirstFilePath(this.signedCopyPath);\r\n } else {\r\n //If mandatory then check for atleast one fileuploaded\r\n if (!this.fileuploadService.hasfile(this.RcAttachments)) {\r\n this.dialogService.openConfirmDialog(\"Please uplaod atleast one attachment.\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.RcAttachments)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.RCEntityData.attachment = this.fileuploadService.allUploadedFiles(this.RcAttachments);\r\n }\r\n this.RCEntityData.contractDate = this.RCEntityData.contractDate.getTime();\r\n this.RCEntityData.validTill = this.RCEntityData.validTill.getTime();\r\n this.RCEntityData.includeTerms = this.RCEntityData.includeTerms ? \"YES\" : \"NO\";\r\n //this.RCEntityData.isHistoricData = this.isHistoricData;\r\n this.showLoading = true;\r\n this.rateContractService.updateRC(this.RCEntityData, headers, this.RCEntityData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.RCEntityData.contractDate = (new Date(this.RCEntityData.contractDate));\r\n this.RCEntityData.validTill = (new Date(this.RCEntityData.validTill));\r\n this.RCEntityData.includeTerms = this.RCEntityData.includeTerms == \"NO\" ? false : true;\r\n sessionStorage.setItem(\"additionalTerms\", this.RCEntityData.includeTerms);\r\n this.successMessage = \"RC updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n // .afterClosed().subscribe(res => {\r\n // this.addRcForm.reset();\r\n // })\r\n }, (error: any) => {\r\n debugger;\r\n this.RCEntityData.contractDate = (new Date(this.RCEntityData.contractDate));\r\n this.RCEntityData.validTill = (new Date(this.RCEntityData.validTill));\r\n this.RCEntityData.includeTerms = this.RCEntityData.includeTerms == \"NO\" ? false : true;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n //this.edit = true;\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.edit = true;\r\n } else if (this.route.snapshot.params.page == 'view') {\r\n this.edit = false;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var poId = id;\r\n this.rateContractService.getRCById(poId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.RCEntityData = resp;\r\n this.RCEntityData.contractDate = (new Date(this.RCEntityData.contractDate));\r\n this.RCEntityData.validTill = (new Date(this.RCEntityData.validTill));\r\n this.RCEntityData.includeTerms = this.RCEntityData.includeTerms == \"NO\" ? false : true;\r\n sessionStorage.setItem(\"additionalTerms\", this.RCEntityData.includeTerms);\r\n //sessionStorage.setItem('poId', this.RCEntityData.entityId);\r\n sessionStorage.setItem('currencyFlag', this.RCEntityData.currency);\r\n sessionStorage.setItem('isHistoricData', this.RCEntityData.isHistoricData);\r\n this.compareStateOfAddress(this.RCEntityData.supplierDetails, this.RCEntityData.billToAddress);\r\n if (this.RCEntityData.billFromGstNo != null) {\r\n if (this.RCEntityData.billFromGstNo == \"NA\") {\r\n sessionStorage.setItem('applyGstFlag', \"NO\");\r\n } else {\r\n sessionStorage.setItem('applyGstFlag', \"YES\");\r\n }\r\n }\r\n if (this.RCEntityData.attachment != null) {\r\n this.RcAttachments = this.fileuploadService.getMultipleFileArray(this.RCEntityData.attachment);\r\n }\r\n if (this.RCEntityData.signedCopyPath != null) {\r\n this.signedCopyPath = this.fileuploadService.getSingleFileArray(this.RCEntityData.signedCopyPath);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n // getting project list\r\n getAllProjects = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n debugger;\r\n this.projectList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting project list\r\n getAllDepartments = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n debugger;\r\n this.deptList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting currency list\r\n currencyList: any = [];\r\n getAllCurrency = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getCurrencyList(headers).subscribe(resp => {\r\n debugger;\r\n this.currencyList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //get all constants\r\n getAllConstants = function (flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.ConstantData.type = flag;\r\n // if(flag=='PM')\r\n // vm.constant.type = \"PM\";\r\n // else if(flag=='DT')\r\n // vm.constant.type = \"DT\";\r\n // else if(flag=='PMethod')\r\n // vm.constant.type = \"PMethod\";\r\n if (flag == 'PM')\r\n this.ConstantData.organisationId = this.RCEntityData.organisationId;\r\n this.sharedService.getAllConstant(this.ConstantData, headers).subscribe(resp => {\r\n debugger\r\n if (flag == \"PM\")\r\n this.paymentModeList = resp;\r\n else if (flag == \"DT\")\r\n this.deliveryTermList = resp;\r\n /*else if(flag==\"PMethod\")\r\n this.paymentMethodList = resp;*/\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Org List\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.orgList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // party List\r\n supplierPartyList: any = [];\r\n purchaserPartyList: any = [];\r\n getAllParty = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n //this.supplierPartyList = resp;\r\n this.purchaserPartyList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getAllPartyByOrg = function (orgId) {\r\n debugger;\r\n if (orgId == null) return;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActivePartyByOrg(orgId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.supplierPartyList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // address List\r\n supplierAddressList: any = [];\r\n addressListPurchaser: any = [];\r\n getAddressByParty = function (partyId, flag) {\r\n debugger;\r\n if ((partyId == \"\") || (partyId == null))\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAllAddressOfParty(headers, partyId).subscribe(resp => {\r\n debugger;\r\n if (flag == \"supplier\") {\r\n this.supplierAddressList = resp;\r\n }\r\n else if (flag == \"purchaser\") {\r\n this.addressListPurchaser = resp;\r\n }\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // address List\r\n gstDetails: any = [];\r\n getGstByPartyAndAddress = function (partyId, addressId) {\r\n debugger;\r\n if (addressId == \"\" || addressId == null || partyId == \"\" || partyId == null)\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getGstFromAddress(headers, partyId, addressId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.gstDetails = resp;\r\n //this.RCEntityData.billFromState = this.gstDetails.state;\r\n if (this.gstDetails != null) {\r\n if (this.gstDetails.gstNo != null) {\r\n this.RCEntityData.billFromGstNo = this.gstDetails.gstNo;\r\n sessionStorage.setItem('applyGstFlag', \"YES\");\r\n } else {\r\n this.RCEntityData.billFromGstNo = \"NA\";\r\n sessionStorage.setItem('applyGstFlag', \"NO\");\r\n }\r\n } else {\r\n this.RCEntityData.billFromGstNo = \"NA\";\r\n sessionStorage.setItem('applyGstFlag', \"NO\");\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // State List\r\n stateList: any = [];\r\n getAllState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Compare Addresses\r\n compareStateOfAddress = function (address1, address2) {\r\n debugger;\r\n if (address1 == null || address2 == null || address1 == \"\" || address2 == \"\") {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.compareStateOfAddress(headers, address1, address2).subscribe(resp => {\r\n debugger;\r\n this.isSameState = resp;\r\n sessionStorage.setItem('sameStateFlag', this.isSameState);\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n selectedAddress: any = [];\r\n getSelectedAddress = function (id) {\r\n debugger;\r\n if (id == null || id == \"\") {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAddressById(headers, id).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.selectedAddress = resp;\r\n if (this.selectedAddress != null) {\r\n if (this.selectedAddress.state != null) {\r\n this.RCEntityData.billFromState = this.selectedAddress.state;\r\n } else {\r\n this.RCEntityData.billFromState = \"NA\";\r\n }\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addressChange = function (suppPartyId, suppAddress, purchaserAddress) {\r\n debugger;\r\n this.getSelectedAddress(suppAddress);\r\n this.getGstByPartyAndAddress(suppPartyId, suppAddress);\r\n this.compareStateOfAddress(suppAddress, purchaserAddress);\r\n }\r\n\r\n // get selected project\r\n projectData: any = {};\r\n getProjectById = function (projId) {\r\n debugger;\r\n if (projId == null)\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectMasterService.projectById(projId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.projectData = resp;\r\n if (this.projectData.organization != null) {\r\n this.getOrganisationById(this.projectData.organization);\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // get selected organisation\r\n starOrganisationFlag = true;\r\n organisationData: any = {};\r\n getOrganisationById = function (orgId) {\r\n debugger;\r\n if (orgId == null)\r\n return\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.organizationService.OrgById(orgId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.organisationData = resp;\r\n if (this.organisationData.entityId != null) {\r\n if (this.organisationData.orgName == \"STAR ORGANIZATION\") {\r\n this.starOrganisationFlag = false;\r\n } else {\r\n this.RCEntityData.organisationId = this.organisationData.entityId;\r\n this.starOrganisationFlag = true;\r\n }\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n organisationChange = function (orgId) {\r\n debugger;\r\n sessionStorage.setItem(\"rcOrgId\", orgId);\r\n this.getAllConstants(\"PM\");\r\n //this.getAllConstants(\"PMethod\");\r\n this.getAllPartyByOrg(orgId);\r\n }\r\n\r\n ngOnInit() {\r\n this.addRcForm = this.formBuilder.group({\r\n rateContractNo: [null, Validators.required],\r\n contractDate: [null, Validators.required],\r\n validTill: [null, Validators.required],\r\n contractType: [null, Validators.required],\r\n department: [null, Validators.required],\r\n accountName: [null, Validators.required],\r\n organisationId: [null, Validators.required],\r\n modeOfPayment: [null, Validators.required],\r\n dispatchThrough: [null, Validators.required],\r\n currency: [null, Validators.required],\r\n deliveryTerm: [null, Validators.required],\r\n suppliersReference: [null, Validators.required],\r\n maxLimit: [0],\r\n otherReference: [null],\r\n supplierName: [null, Validators.required],\r\n supplierDetails: [null, Validators.required],\r\n billFromState: [null, Validators.required],\r\n billFromGstNo: [null, Validators.required],\r\n buyerName: [null, Validators.required],\r\n invoiceToAddress: [null, Validators.required],\r\n billToAddress: [null, Validators.required],\r\n shipToAddress: [null, Validators.required],\r\n termsConditions: [null, Validators.required],\r\n includeTerms: [null],\r\n signedCopyPath: [null]\r\n });\r\n\r\n sessionStorage.setItem(\"tabFlag\", \"RC\");\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update RC\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n if (this.route.snapshot.params.page == 'view') {\r\n this.PageTitle = \"Update PO\";\r\n this.editon(this.route.snapshot.params.id);\r\n this.view = true;\r\n this.disableFieldsForUploadSignCopy();\r\n }\r\n\r\n this.disabledField();\r\n this.getAllProjects();\r\n this.getAllOrganizations();\r\n this.getAllDepartments();\r\n this.getAllCurrency();\r\n //this.getAllConstants(\"PM\");\r\n this.getAllConstants(\"DT\");\r\n //this.getAllConstants(\"PMethod\");\r\n this.getAllParty();\r\n this.getAllState();\r\n }\r\n\r\n get formControls() {\r\n return this.addRcForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n

Basic Details

\r\n \r\n Is Historic PO?\r\n
\r\n
\r\n
\r\n \r\n Rate Contract No.\r\n \r\n
\r\n
RC No. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Contract date\r\n is required
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Valid till\r\n is required
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Department\r\n \r\n \r\n \r\n {{dept.selectionvalue}}\r\n \r\n
\r\n
Department is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Project\r\n \r\n \r\n \r\n {{p.selectionvalue}}\r\n \r\n
\r\n
Project is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Organisation\r\n \r\n \r\n \r\n {{org.selectionvalue}}\r\n \r\n \r\n
\r\n
Organisation is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Contract Type\r\n \r\n \r\n New Order\r\n Repeat Order\r\n \r\n
\r\n
Contract type is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Payment Term\r\n \r\n -Select-\r\n {{pt.value}}\r\n \r\n \r\n
\r\n
Payment term is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Dispatch Through\r\n \r\n \r\n Rail\r\n Road\r\n Services\r\n \r\n
\r\n
Dispatch through is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Currency \r\n \r\n \r\n \r\n \r\n {{curr.selectionvalue}}\r\n \r\n
\r\n
Currency is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Delivery Term\r\n \r\n -Select-\r\n {{dt.value}}\r\n \r\n \r\n
\r\n
Delivery term is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Max Limit\r\n \r\n
\r\n
Max limit is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Suppliers Reference\r\n \r\n
\r\n
Suppliers reference is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Other Reference\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n

Supplier & Purchaser Details

\r\n
\r\n
\r\n
\r\n \r\n Supplier Name\r\n \r\n -Select-\r\n \r\n {{supp.selectionvalue}}\r\n \r\n
\r\n
Supplier name is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Supplier Address\r\n \r\n -Select-\r\n \r\n {{suppAdd.selectionvalue}}\r\n \r\n
\r\n
Supplier address is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Bill From State\r\n \r\n -Select-\r\n \r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
Bill from state is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n GST No.\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Purchaser Name\r\n \r\n -Select-\r\n \r\n {{buy.selectionvalue}}\r\n \r\n
\r\n
Purchaser name is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Invoice Postal Address\r\n \r\n -Select-\r\n \r\n {{invo.selectionvalue}}\r\n \r\n
\r\n
Invoice postal address is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Bill To Address\r\n \r\n -Select-\r\n \r\n {{bill.selectionvalue}}\r\n \r\n
\r\n
Bill to address is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Ship To Address\r\n \r\n -Select-\r\n \r\n {{ship.selectionvalue}}\r\n \r\n
\r\n
Ship to address is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n

Terms & Conditions

\r\n
\r\n
\r\n
\r\n \r\n Terms & Conditions\r\n \r\n
\r\n
Terms & conditions are required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n Include Additional Terms\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { RateContractService } from '../../OrderMgmt/rate-contract/rate-contract.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { RcFilterSession } from '../ordermgmtfilterdata';\r\n\r\n@Component({\r\n selector: 'app-rate-contract',\r\n templateUrl: './rate-contract.component.html',\r\n providers: [RateContractService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class RateContractComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private rateContractService: RateContractService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['rateContractNo', 'contractDate', 'departmentName', 'accName', 'approvalStatus', 'action'];\r\n RCListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n FilterData = { \"rateContractNo\": null, \"accountName\": null, \"organisationId\": null, \"supplierName\": null, \"department\": null };\r\n\r\n PageTitle = \"RC Master\";\r\n\r\n rcAdd: boolean = false;\r\n rcEdit: boolean = false;\r\n rcView: boolean = false;\r\n rcDelete: boolean = false;\r\n\r\n filterDiv: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.RCListData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n addRC = function () {\r\n debugger;\r\n this.router.navigate(['/registerRateContract']);\r\n }\r\n\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"FILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.rateContractService.getAllRcFromView(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n // Set Filter\r\n let RcfilterSession = new RcFilterSession();\r\n RcfilterSession.rateContractNo = this.FilterData.rateContractNo;\r\n RcfilterSession.accountName = this.FilterData.accountName;\r\n RcfilterSession.organisationId = this.FilterData.organisationId;\r\n RcfilterSession.supplierName = this.FilterData.supplierName;\r\n RcfilterSession.department = this.FilterData.department;\r\n sessionStorage.setItem('RCFILTERSESSION', JSON.stringify(RcfilterSession));\r\n this.result = !Object.values(RcfilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.RCListData = new MatTableDataSource(resp.content);\r\n this.RCListData.sort = this.sort;\r\n this.RCListData.paginator = this.paginator;\r\n this.totalRecords = this.RCListData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if (error.statusText == \"Unknown Error\") {\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //deleting rc\r\n deleteRc = function (rcId) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to delete this rate contract?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.rateContractService.deleteRateContract(rcId, headers).subscribe(resp => {\r\n this.successMessage = 'RC deleted successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n // Delete function\r\n poDuplicate = { \"entityId\": null };\r\n generateDuplicateOrder = function (poId) {\r\n debugger;\r\n this.poDuplicate.entityId = poId;\r\n this.DeleteMsg = 'Are you sure you want to duplicate this rate contract?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.rateContractService.generateDuplicateRc(this.poDuplicate, headers).subscribe(resp => {\r\n this.successMessage = 'New rate contract has been created';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n // party List\r\n supplierPartyList: any = [];\r\n getAllParty = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveParty(headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.supplierPartyList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting project list\r\n projectList: any = [];\r\n getAllProjects = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getProjectList(headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.projectList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Org List\r\n orgList: any = [];\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.orgList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // getting department list\r\n deptList: any = [];\r\n getAllDepartments = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n debugger;\r\n this.deptList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.rcAdd = this._global.UserRights.includes(\"Rate_Contract_ADD\");\r\n this.rcEdit = this._global.UserRights.includes(\"Rate_Contract_EDIT\");\r\n this.rcView = this._global.UserRights.includes(\"Rate_Contract_VIEW\");\r\n this.rcDelete = this._global.UserRights.includes(\"Rate_Contract_DELETE\");\r\n sessionStorage.setItem(\"tabFlag\", \"RC\");\r\n //Assign Filter\r\n let RcfilterSession = JSON.parse(sessionStorage.getItem('RCFILTERSESSION'));\r\n if (sessionStorage.getItem('RCFILTERSESSION') != null) {\r\n this.FilterData.rateContractNo = RcfilterSession.rateContractNo;\r\n this.FilterData.accountName = RcfilterSession.accountName;\r\n this.FilterData.organisationId = RcfilterSession.organisationId;\r\n this.FilterData.supplierName = RcfilterSession.supplierName;\r\n this.FilterData.department = RcfilterSession.department;\r\n }\r\n if (RcfilterSession != null) {\r\n this.result = !Object.values(RcfilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n this.getAllProjects();\r\n this.getAllOrganizations();\r\n this.getAllParty();\r\n sessionStorage.removeItem(\"taskId\");\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Project-\r\n \r\n {{p.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Organisation-\r\n \r\n {{org.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Vendor-\r\n \r\n {{supp.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Search By Department-\r\n \r\n {{d.selectionvalue}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
RC No. \r\n
{{RCListData.rateContractNo}}
\r\n
Contract Date \r\n
{{RCListData.contractDate | date : 'dd/MM/yyyy'}}
\r\n
Department \r\n
{{RCListData.departmentName}}
\r\n
Project \r\n
{{RCListData.accName}}
\r\n
Approval Status \r\n
{{RCListData.approvalStatus}}
\r\n
Action \r\n\r\n \r\n\r\n \r\n \r\n visibility View\r\n \r\n \r\n edit Edit\r\n \r\n \r\n cloud_upload Upload Signed Copy\r\n \r\n\r\n \r\n \r\n\r\n \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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RateContractService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveRC(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/addratecontract';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updateRC(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getAllRC(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/getallratecontracts';\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getRCById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/getorderbyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getRateContractInfo(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/getratecontractinfo/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getAllRcFromView(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/getallrcbyfilter';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n generateDuplicateRc(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/generateduplicateorder';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n deleteRateContract(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/deleteorderbyid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { RateContractService } from '../../../OrderMgmt/rate-contract/rate-contract.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-rc-additional-terms',\r\n templateUrl: './rc-additional-terms.component.html',\r\n providers: [RateContractService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class RcAdditionalTermsComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private rateContractService: RateContractService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Additional Terms\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addTermsForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n RCEntityData = {\r\n \"entityId\": null, \"rateContractNo\": null, \"contractDate\": null, \"validTill\": null,\r\n \"department\": null, \"accountName\": null, \"organisationId\": null,\r\n \"contractType\": null, \"modeOfPayment\": null, \"dispatchThrough\": null,\r\n \"currency\": null, \"deliveryTerm\": null, \"suppliersReference\": null,\r\n \"maxLimit\": 0, \"otherReference\": null, \"supplierName\": null, \"supplierDetails\": null,\r\n \"billFromState\": null, \"billFromGstNo\": null, \"buyerName\": null,\r\n \"invoiceToAddress\": null, \"billToAddress\": null, \"shipToAddress\": null,\r\n \"termsConditions\": null, \"isHistoricData\": null, \"uploadedTermsAnnexure\": null,\r\n \"additionalTerms\": null, \"includeTerms\": null\r\n };\r\n\r\n uploadedTermsAnnexure: any = [];\r\n\r\n TaskData = { \"rcId\": null, \"poRcFlag\": null, \"remark\": null, \"workflowType\": null };\r\n TaskEntityData = {\r\n \"entityId\": null, \"rcId\": null, \"uploadFile\": null,\r\n \"poRcFlag\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null\r\n };\r\n taskId = null;\r\n additionalTerms: any = false;\r\n\r\n cancel = function () {\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['/searchRateContract']);\r\n } else {\r\n this.router.navigate(['/searchTask']);\r\n }\r\n }\r\n\r\n updateRC = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addTermsForm.invalid) {\r\n return;\r\n }\r\n //this.RCEntityData.contractDate = this.RCEntityData.contractDate.getTime();\r\n //this.RCEntityData.validTill = this.RCEntityData.validTill.getTime();\r\n //this.RCEntityData.isHistoricData = this.isHistoricData;\r\n\r\n //If mandatory then check for atleast one fileuploaded\r\n if (!this.fileuploadService.hasfile(this.uploadedTermsAnnexure)) {\r\n this.dialogService.openConfirmDialog(\"Please uplaod annexure.\")\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.uploadedTermsAnnexure)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.RCEntityData.uploadedTermsAnnexure = this.fileuploadService.allUploadedFiles(this.uploadedTermsAnnexure);\r\n this.showLoading = true;\r\n this.rateContractService.updateRC(this.RCEntityData, headers, this.RCEntityData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n //this.RCEntityData.contractDate = (new Date(this.RCEntityData.contractDate));\r\n //this.RCEntityData.validTill = (new Date(this.RCEntityData.validTill));\r\n this.successMessage = \"RC updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n // .afterClosed().subscribe(res => {\r\n // this.addTermsForm.reset();\r\n // })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var poId = id;\r\n this.rateContractService.getRCById(poId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.RCEntityData = resp;\r\n /* this.RCEntityData.contractDate = (new Date(this.RCEntityData.contractDate));\r\n this.RCEntityData.validTill = (new Date(this.RCEntityData.validTill));\r\n sessionStorage.setItem('currencyFlag', this.RCEntityData.currency);\r\n sessionStorage.setItem('isHistoricData', this.RCEntityData.isHistoricData);\r\n this.compareStateOfAddress(this.RCEntityData.supplierDetails, this.RCEntityData.billToAddress);\r\n if(this.RCEntityData.billFromGstNo != null){\r\n if(this.RCEntityData.billFromGstNo == \"NA\"){\r\n sessionStorage.setItem('applyGstFlag', \"NO\");\r\n } else {\r\n sessionStorage.setItem('applyGstFlag', \"YES\");\r\n }\r\n } */\r\n if (this.RCEntityData.uploadedTermsAnnexure != null) {\r\n this.uploadedTermsAnnexure = this.fileuploadService.getSingleFileArray(this.RCEntityData.uploadedTermsAnnexure);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n saveTask = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n this.showLoading = true;\r\n this.TaskData.rcId = this.route.snapshot.params.id;\r\n this.TaskData.poRcFlag = \"RC\";\r\n this.poTaskService.saveRcTask(this.TaskData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskData = {};\r\n this.successMessage = \"Rate contract sent for approval\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addProductDetailsForm.reset();\r\n this.router.navigate(['searchRateContract']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get task for resending\r\n getTaskById = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.poTaskService.getTaskById(taskId, headers, \"RC\").subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n //re-send task for approval\r\n reSendTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.TaskEntityData.poRcFlag = this.route.snapshot.params.poRcFlag;\r\n this.TaskEntityData.approvalStatus = \"APPROVED\";\r\n this.poTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"RC re-sent for approval.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addPoTaskForm.reset();\r\n this.router.navigate(['/searchTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.addTermsForm = this.formBuilder.group({\r\n uploadedTermsAnnexure: [null, Validators.required],\r\n additionalTerms: [null, Validators.required]\r\n });\r\n\r\n //sessionStorage.setItem(\"tabFlag\", \"PO\");\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Additional Terms\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n\r\n this.additionalTerms = sessionStorage.getItem(\"additionalTerms\");\r\n }\r\n\r\n get formControls() {\r\n return this.addTermsForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n Additional Terms & Conditions\r\n \r\n
\r\n
Annexure is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\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 { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { RateContractService } from '../../../OrderMgmt/rate-contract/rate-contract.service';\r\n\r\n@Component({\r\n selector: 'app-view-rc',\r\n templateUrl: './view-rc.component.html',\r\n providers: [RateContractService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ViewRcComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private rateContractService: RateContractService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n /* purchaseOrder = {\"purchaseOrderNo\": \"\", \"orderDate\": \"\", \"poMadeFrom\": \"\",\r\n \"rateContractId\": \"\", \"department\": \"\", \"accountName\": \"\",\r\n \"organisationId\": \"\", \"orderType\": \"\", \"modeOfPayment\": \"\",\r\n \"dispatchThrough\": \"\", \"currency\": \"\", \"deliveryTerm\": \"\",\r\n \"paymentMethod\": \"\", \"suppliersReference\": \"\", \"discountAmt\": \"\",\r\n \"otherReference\": \"\", \"supplierName\": \"\", \"supplierDetails\": \"\",\r\n \"billFromState\": \"\", \"billFromGstNo\": \"\", \"buyerName\": \"\",\r\n \"invoiceToAddress\": \"\", \"billToAddress\": \"\", \"shipToAddress\": \"\",\r\n \"termsConditions\": \"\", \"isHistoricData\": \"\", \"poheaddesignation\": \"\", \"approvalStatus\": \"\",\r\n \"buyName\": \"\", \"buyInvoAddress1\": \"\", \"buyContactPerson\": \"\", \"buyMobNo\": \"\", \"buyEmail\": \"\"}; */\r\n\r\n rateContract = {\r\n \"entityId\": \"\",\r\n \"createdDate\": \"\",\r\n \"createdBy\": \"\",\r\n \"updatedDate\": \"\",\r\n \"updatedBy\": \"\",\r\n \"isDeleted\": \"\",\r\n \"organizationId\": \"\",\r\n \"rateContractNo\": \"\",\r\n \"contractDate\": \"\",\r\n \"validTill\": \"\",\r\n \"maxLimit\": \"\",\r\n \"department\": \"\",\r\n \"accountName\": \"\",\r\n \"contractType\": \"\",\r\n \"modeOfPayment\": \"\",\r\n \"suppliersReference\": \"\",\r\n \"otherReference\": \"\",\r\n \"dispatchThrough\": \"\",\r\n \"currency\": \"\",\r\n \"deliveryTerm\": \"\",\r\n \"invoiceToAddress\": \"\",\r\n \"supplierDetails\": \"\",\r\n \"billFromState\": \"\",\r\n \"billToAddress\": \"\",\r\n \"shipToAddress\": \"\",\r\n \"termsConditions\": \"\",\r\n \"uploadedTermsAnnexure\": \"\",\r\n \"additionalTerms\": \"\",\r\n \"approvalStatus\": \"\",\r\n \"signedCopyPath\": \"\",\r\n \"supplierName\": \"\",\r\n \"buyerName\": \"\",\r\n \"billFromGstNo\": \"\",\r\n \"billToGstNo\": \"\",\r\n \"includeTerms\": \"\",\r\n \"grandTotal\": \"\",\r\n \"totalTaxes\": \"\",\r\n \"totalWithoutTaxes\": \"\",\r\n //\"discountAmt\" : \"\",\r\n \"isHistoricData\": \"\",\r\n \"workflowName\": \"\",\r\n \"remark\": \"\",\r\n \"organisationId\": \"\",\r\n \"invoicetoname\": \"\",\r\n \"invoicetoaddressforhistory\": \"\",\r\n \"invoicetocontact\": \"\",\r\n \"invoicetophone\": \"\",\r\n \"invoicetoemail\": \"\",\r\n \"suppliernameforhistory\": \"\",\r\n \"supplieraddress\": \"\",\r\n \"suppliercontact\": \"\",\r\n \"supplierphone\": \"\",\r\n \"supplieremail\": \"\",\r\n \"billtoname\": \"\",\r\n \"billtoaddressforhistory\": \"\",\r\n \"billtocontact\": \"\",\r\n \"billtophone\": \"\",\r\n \"billtoemail\": \"\",\r\n \"billtogstin\": \"\",\r\n \"shiptoname\": \"\",\r\n \"shiptoaddressforhistory\": \"\",\r\n \"shiptocontact\": \"\",\r\n \"shiptophone\": \"\",\r\n \"shiptoemail\": \"\",\r\n \"suppName\": \"\",\r\n \"suppContactPerson\": \"\",\r\n \"suppMobNo\": \"\",\r\n \"suppEmail\": \"\",\r\n \"buyName\": \"\",\r\n \"buyContactPerson\": \"\",\r\n \"buyMobNo\": \"\",\r\n \"buyEmail\": \"\",\r\n \"suppAddress\": \"\",\r\n \"suppCity\": \"\",\r\n \"suppDist\": \"\",\r\n \"suppState\": \"\",\r\n \"buyInvoAddress\": \"\",\r\n \"buyInvoCity\": \"\",\r\n \"buyInvoDist\": \"\",\r\n \"buyInvoState\": \"\",\r\n \"buyBillToGstNo\": \"\",\r\n \"buyBillToAddress\": \"\",\r\n \"buyBillToCity\": \"\",\r\n \"buyBillToDist\": \"\",\r\n \"buyBillToState\": \"\",\r\n \"buyShipToAddress\": \"\",\r\n \"buyShipToCity\": \"\",\r\n \"buyShipToDist\": \"\",\r\n \"buyShipToState\": \"\",\r\n \"departmentName\": \"\",\r\n \"accName\": \"\",\r\n \"currencySymbol\": \"\",\r\n \"rcProductDetailsList\": \"\",\r\n \"attachments\": null,\r\n\r\n \"poheaddesignation\": \"\",\r\n \"poheadname\": \"\",\r\n \"organisationName\": \"\",\r\n \"amountInWords\": \"\"\r\n };\r\n\r\n baseUrl: any = null;\r\n taskId: any = null;\r\n\r\n back() {\r\n //this.router.navigate(['/searchRateContract'])\r\n debugger;\r\n if (this.route.snapshot.params.flag == \"RC\") {\r\n this.router.navigate(['/searchRateContract'])\r\n } else if (this.route.snapshot.params.flag == \"RCTASK\") {\r\n this.router.navigate(['/searchTask'])\r\n }\r\n }\r\n // printComponent(cmpName) {\r\n // let printContents = document.getElementById(cmpName).innerHTML;\r\n // let originalContents = document.body.innerHTML;\r\n // document.body.innerHTML = printContents;\r\n // window.print();\r\n // document.body.innerHTML = originalContents;\r\n // //window.location.reload();\r\n // }\r\n printComponent(cmpName): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById(cmpName).innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n Purchase Order\r\n \r\n \r\n ${printContents}\r\n `\r\n );\r\n popupWin.document.close();\r\n }\r\n\r\n //searchResults = {};\r\n attachFlag: boolean = false;\r\n isSameState: boolean = true;\r\n finalAmount = 0;\r\n\r\n // Search function\r\n search = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.rateContractService.getRateContractInfo(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.rateContract = resp;\r\n console.log(this.rateContract);\r\n //this.searchResults = this.purchaseOrder.productdetails;\r\n //this.finalAmount = this.withDecimal(this.rateContract.maxLimit);\r\n if (this.rateContract.suppState.toLowerCase() == this.rateContract.buyBillToState.toLowerCase())\r\n this.isSameState = true;\r\n else\r\n this.isSameState = false;\r\n if (this.rateContract.amountInWords == null || this.rateContract.amountInWords == \"\") {\r\n if (this.rateContract.currency == 'INR')\r\n this.finalAmount = this.withDecimal(this.rateContract.maxLimit);\r\n else\r\n this.finalAmount = this.withDecimalUSD(this.rateContract.maxLimit.toFixed(2));\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n viewWorkflowHistory = function () {\r\n debugger;\r\n this.router.navigate(['/ViewWorkflow', this.route.snapshot.params.id, this.route.snapshot.params.flag])\r\n }\r\n\r\n takeAction = function () {\r\n debugger;\r\n if (this.taskId != null) {\r\n this.router.navigate(['/UpdatePoTask', this.taskId, 'edit', 'RC']);\r\n }\r\n }\r\n\r\n //for checking if string contains uuid.\r\n regExpUuid = new RegExp(\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\");\r\n containsUUID = function (s) {\r\n let result = false;\r\n if (s.length > 36) {\r\n let str = s.substring(0, 36);\r\n result = this.regExpUuid.test(str);\r\n }\r\n return result;\r\n }\r\n\r\n //for converting number to words\r\n convertNumberToWords = function (amount) {\r\n var words = new Array();\r\n words[0] = '';\r\n words[1] = 'One';\r\n words[2] = 'Two';\r\n words[3] = 'Three';\r\n words[4] = 'Four';\r\n words[5] = 'Five';\r\n words[6] = 'Six';\r\n words[7] = 'Seven';\r\n words[8] = 'Eight';\r\n words[9] = 'Nine';\r\n words[10] = 'Ten';\r\n words[11] = 'Eleven';\r\n words[12] = 'Twelve';\r\n words[13] = 'Thirteen';\r\n words[14] = 'Fourteen';\r\n words[15] = 'Fifteen';\r\n words[16] = 'Sixteen';\r\n words[17] = 'Seventeen';\r\n words[18] = 'Eighteen';\r\n words[19] = 'Nineteen';\r\n words[20] = 'Twenty';\r\n words[30] = 'Thirty';\r\n words[40] = 'Forty';\r\n words[50] = 'Fifty';\r\n words[60] = 'Sixty';\r\n words[70] = 'Seventy';\r\n words[80] = 'Eighty';\r\n words[90] = 'Ninety';\r\n\r\n amount = amount.toString();\r\n var atemp = amount.split(\".\");\r\n var number = atemp[0].split(\",\").join(\"\");\r\n var n_length = number.length;\r\n var words_string = \"\";\r\n if (n_length <= 9) {\r\n var n_array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\r\n var received_n_array = new Array();\r\n for (var i = 0; i < n_length; i++) {\r\n received_n_array[i] = number.substr(i, 1);\r\n }\r\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\r\n n_array[i] = received_n_array[j];\r\n }\r\n for (var i = 0, j = 1; i < 9; i++, j++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n if (n_array[i] == 1) {\r\n n_array[j] = 10 + parseInt(n_array[j].toString());\r\n n_array[i] = 0;\r\n }\r\n }\r\n }\r\n\r\n var value = 0;\r\n\r\n for (var i = 0; i < 9; i++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n value = n_array[i] * 10;\r\n } else {\r\n value = n_array[i];\r\n }\r\n if (value != 0) {\r\n words_string += words[value] + \" \";\r\n }\r\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Crores \";\r\n }\r\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Lakhs \";\r\n }\r\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Thousand \";\r\n }\r\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\r\n words_string += \"Hundred \";\r\n } else if (i == 6 && value != 0) {\r\n words_string += \"Hundred \";\r\n }\r\n }\r\n\r\n words_string = words_string.split(\" \").join(\" \");\r\n }\r\n return words_string;\r\n }\r\n\r\n withDecimal = function (n) {\r\n debugger;\r\n var nums = n.toString().split('.')\r\n var whole = this.convertNumberToWords(nums[0])\r\n\r\n if (nums.length == 2) {\r\n var fraction = this.convertNumberToWords(nums[1])\r\n if (fraction == '') {\r\n return whole;\r\n } else {\r\n return whole + 'and ' + fraction;\r\n }\r\n } else {\r\n return whole;\r\n }\r\n }\r\n\r\n withDecimalUSD = function (n) {\r\n debugger;\r\n var nums = n.toString().split('.')\r\n var whole = this.USDtoWords(nums[0])\r\n\r\n if (nums.length == 2) {\r\n var fraction = this.USDtoWords(nums[1])\r\n if (fraction == '') {\r\n return whole;\r\n } else {\r\n return whole + 'and ' + fraction;\r\n }\r\n } else {\r\n return whole;\r\n }\r\n }\r\n\r\n //for converting number to words\r\n th = ['', 'thousand', 'million', 'billion', 'trillion'];\r\n dg = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];\r\n tn = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'];\r\n tw = ['twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];\r\n\r\n USDtoWords = function (s) {\r\n debugger;\r\n s = s.toString();\r\n //s = s.replace(/[\\, ]/g,'');\r\n if (s != parseFloat(s)) return 'not a number';\r\n var x = s.indexOf('.');\r\n if (x == -1)\r\n x = s.length;\r\n if (x > 15)\r\n return 'too big';\r\n /*var nums = s.split('.');\r\n if (nums[1] == '00'){\r\n s = nums[0];\r\n x = s.length;\r\n }*/\r\n var n = s.split('');\r\n var str = '';\r\n var sk = 0;\r\n for (var i = 0; i < x; i++) {\r\n if ((x - i) % 3 == 2) {\r\n if (n[i] == '1') {\r\n str += this.tn[Number(n[i + 1])] + ' ';\r\n i++;\r\n sk = 1;\r\n } else if (n[i] != 0) {\r\n str += this.tw[n[i] - 2] + ' ';\r\n sk = 1;\r\n }\r\n } else if (n[i] != 0) { // 0235\r\n str += this.dg[n[i]] + ' ';\r\n if ((x - i) % 3 == 0) str += 'hundred ';\r\n sk = 1;\r\n }\r\n if ((x - i) % 3 == 1) {\r\n if (sk)\r\n str += this.th[(x - i - 1) / 3] + ' ';\r\n sk = 0;\r\n }\r\n }\r\n\r\n /*if (x != s.length) {\r\n var y = s.length;\r\n str += 'And ';\r\n for (let i=x+1; i\r\n @media print {\r\n table {\r\n page-break-after: auto\r\n }\r\n\r\n tr {\r\n page-break-inside: avoid;\r\n page-break-after: auto\r\n }\r\n\r\n td {\r\n page-break-inside: avoid;\r\n page-break-after: auto\r\n }\r\n\r\n thead {\r\n display: table-header-group;\r\n }\r\n\r\n tfoot {\r\n display: table-footer-group;\r\n }\r\n }\r\n\r\n @page {\r\n size: auto;\r\n margin: 25mm 25mm 125mm 125mm;\r\n }\r\n\r\n @media screen {\r\n /* thead { display: none; }\r\n tfoot { display: none; }*/\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n DRAFT RATE CONTRACT \r\n DRAFT \r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Supplier Address:
\r\n {{rateContract.suppName}}
\r\n {{rateContract.suppAddress}}
\r\n \r\n Contact Person: {{rateContract.suppContactPerson}}
\r\n Phone No. {{rateContract.suppMobNo}}
\r\n Email: {{rateContract.suppEmail}}
\r\n \r\n \r\n GST No.: {{rateContract.billFromGstNo}}\r\n \r\n \r\n \r\n Supplier Address:
\r\n {{rateContract.suppliernameforhistory}}
\r\n {{rateContract.supplieraddress}}
\r\n Contact Person: {{rateContract.suppliercontact}}
\r\n Phone No. {{rateContract.supplierphone}}
\r\n Email: {{rateContract.supplieremail}}
\r\n GST No.: {{rateContract.billFromGstNo}}\r\n \r\n \r\n \r\n Bill To Address:
\r\n {{rateContract.buyName}}
\r\n {{rateContract.buyBillToAddress}}
\r\n \r\n Contact Person: {{rateContract.buyContactPerson}}
\r\n Phone No. {{rateContract.buyMobNo}}
\r\n Email: {{rateContract.buyEmail}}
\r\n GST No.:\r\n {{rateContract.buyBillToGstNo}}\r\n NA\r\n \r\n \r\n Bill To Address:
\r\n {{rateContract.billtoname}}
\r\n {{rateContract.billtoaddressforhistory}}
\r\n Contact Person: {{rateContract.billtocontact}}
\r\n Phone No. {{rateContract.billtophone}}
\r\n Email: {{rateContract.billtoemail}}
\r\n GST No.: {{rateContract.billtogstin}}\r\n \r\n \r\n \r\n Ship To Address:
\r\n {{rateContract.buyName}}
\r\n {{rateContract.buyShipToAddress}}\r\n \r\n Contact Person: {{rateContract.buyContactPerson}}
\r\n Phone No. {{rateContract.buyMobNo}}
\r\n Email: {{rateContract.buyEmail}}
\r\n \r\n \r\n Ship To Address:
\r\n {{rateContract.shiptoname}}
\r\n {{rateContract.shiptoaddressforhistory}}
\r\n Contact Person: {{rateContract.shiptocontact}}
\r\n Phone No. {{rateContract.shiptophone}}
\r\n Email: {{rateContract.shiptoemail}}
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Invoice Postal Address:
\r\n {{rateContract.buyName}}
\r\n {{rateContract.buyInvoAddress}}
\r\n \r\n Contact Person: {{rateContract.buyContactPerson}}
\r\n Phone No. {{rateContract.buyMobNo}}
\r\n Email: {{rateContract.buyEmail}}
\r\n
\r\n Invoice Postal Address:
\r\n {{rateContract.invoicetoname}}
\r\n {{rateContract.invoicetoaddressforhistory}}
\r\n Contact Person: {{rateContract.invoicetocontact}}
\r\n Phone No. {{rateContract.invoicetophone}}
\r\n Email: {{rateContract.invoicetoemail}}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Rate Contract No.:\r\n

\r\n {{rateContract.rateContractNo}}\r\n

\r\n
\r\n Contract Type:\r\n

\r\n {{rateContract.contractType}}\r\n

\r\n
\r\n Supplier's Ref:\r\n

\r\n {{rateContract.suppliersReference}}\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Contract Date:\r\n

\r\n {{rateContract.contractDate | date : 'dd/MM/yyyy'}}\r\n

\r\n
\r\n Valid Till:\r\n

\r\n {{rateContract.validTill | date : 'dd/MM/yyyy'}}\r\n

\r\n
\r\n Mode / Terms of Payment:\r\n

\r\n {{rateContract.modeOfPayment}}\r\n

\r\n
\r\n Other reference(s):\r\n

\r\n {{rateContract.otherReference}}\r\n

\r\n
\r\n
\r\n Delivery Term: {{rateContract.deliveryTerm}}\r\n \r\n \r\n Dispatch through: {{rateContract.dispatchThrough}}\r\n \r\n \r\n Currency: {{rateContract.currency}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n CGST\r\n \r\n SGST\r\n \r\n IGST\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{productdetails.product}}\r\n ({{productdetails.productDesc}})\r\n {{productdetails.product}}\r\n ({{productdetails.description}})\r\n {{productdetails.product}}\r\n ({{productdetails.productDesc}} - {{productdetails.description}})\r\n
\r\n \r\n
\r\n {{productdetails.product}}
\r\n \r\n \r\n {{productdetails.productNameWithDesc}}\r\n
\r\n \r\n \r\n \r\n {{productdetails.quantity}} ({{productdetails.baseuom}})\r\n \r\n {{productdetails.quantity}} ({{productdetails.baseUomData}})\r\n \r\n \r\n \r\n {{productdetails.cgstAmount | number : '1.2-2'}} ({{productdetails.cgst}}%)\r\n \r\n {{productdetails.sgstAmount | number : '1.2-2'}} ({{productdetails.sgst}}%)\r\n \r\n {{productdetails.igstAmount | number : '1.2-2'}} ({{productdetails.igst}}%)\r\n \r\n \r\n \r\n \r\n \r\n
Sr.No.ProductHSN/SACRateQty (UOM)AmountDisc.TaxService Tax (Rs.)VAT (Rs.)Final Amt
{{i+1}}{{productdetails.hsnId}}{{productdetails.rate}}.00{{productdetails.rate | number : '1.2-2'}}{{productdetails.amount | number : '1.2-2'}} {{productdetails.totalDiscount | number : '1.2-2'}}{{productdetails.igstAmount | number : '1.2-2'}}\r\n ({{productdetails.igst}}%)\r\n {{productdetails.serviceTax | number : '1.2-2'}}{{productdetails.vat | number : '1.2-2'}}\r\n {{productdetails.finalAmount | number : '1.2-2'}}
\r\n
Max Limit {{rateContract.maxLimit | number : '1.2-2'}}
Max amount in words : \r\n \r\n {{finalAmount}} Only.\r\n {{rateContract.amountInWords}}\r\n
\r\n Terms & Conditions: \r\n

\r\n {{rateContract.termsConditions}}\r\n

\r\n
\r\n Annexure Terms & Conditions: \r\n

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

\r\n
\r\n

\r\n E. & O. E.
\r\n For {{rateContract.suppName}},
\r\n Date:
\r\n Authorized Signatory\r\n

\r\n
\r\n

\r\n \r\n

\r\n
**This is an electronically generated Rate Contract. No signatures are required.**
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n

Attachments

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

No Attachments

\r\n
\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { RcProductDetailsService } from '../../../OrderMgmt/rc-product-details/rc-product-details.service';\r\nimport { HsnMasterService } from '../../../AssetMgmt/HsnMaster/hsn-master.service';\r\n\r\n@Component({\r\n selector: 'app-add-rc-product-details',\r\n templateUrl: './add-rc-product-details.component.html',\r\n providers: [RcProductDetailsService, AppGlobals, DialogService, SharedService, HsnMasterService]\r\n})\r\nexport class AddRcProductDetailsComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private productDetailsService: RcProductDetailsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private hsnMasterService: HsnMasterService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Add Product Details\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addProductDetailsForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n // isHistoricData = \"NO\";\r\n // applyGstFlag = \"YES\";\r\n // currency = \"INR\";\r\n // isSameState = \"true\";\r\n debugger;\r\n isHistoricData = sessionStorage.getItem('isHistoricData');\r\n applyGstFlag = sessionStorage.getItem('applyGstFlag');\r\n currency = sessionStorage.getItem('currencyFlag');\r\n isSameState = sessionStorage.getItem('sameStateFlag');\r\n\r\n ProductDetailsEntityData = {\r\n \"productName\": null, \"hsnId\": null, \"rate\": 0,\r\n \"quantity\": 1, \"amount\": 0, \"discount\": 0,\r\n \"discountAmount\": 0, \"totalDiscount\": 0, \"totalAmount\": 0,\r\n \"description\": null, \"cgst\": 0, \"sgst\": 0, \"igst\": 0,\r\n \"cgstAmount\": 0, \"sgstAmount\": 0, \"igstAmount\": 0,\r\n \"serviceTax\": 0, \"vat\": 0, \"finalAmount\": 0,\r\n \"rateContract\": null, \"isHistoricData\": sessionStorage.getItem('isHistoricData'), \"applyGstFlag\": sessionStorage.getItem('applyGstFlag'), \"currency\": sessionStorage.getItem('currencyFlag'), \"stateFlag\": sessionStorage.getItem('sameStateFlag')\r\n };\r\n\r\n RcParent = { \"entityId\": \"\" };\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n //return o1.name === o2.name && o1.id === o2.id;\r\n return o1 == o2;\r\n }\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addProductDetailsForm.get('quantity').disable();\r\n this.addProductDetailsForm.get('amount').disable();\r\n this.addProductDetailsForm.get('totalDiscount').disable();\r\n this.addProductDetailsForm.get('totalAmount').disable();\r\n this.addProductDetailsForm.get('cgst').disable();\r\n this.addProductDetailsForm.get('sgst').disable();\r\n this.addProductDetailsForm.get('igst').disable();\r\n this.addProductDetailsForm.get('cgstAmount').disable();\r\n this.addProductDetailsForm.get('sgstAmount').disable();\r\n this.addProductDetailsForm.get('igstAmount').disable();\r\n this.addProductDetailsForm.get('finalAmount').disable();\r\n }\r\n\r\n cancel = function () {\r\n //this.router.navigate(['/SearchProductDetails']);\r\n if (this.route.snapshot.params.page == 'edit') {\r\n //this.router.navigate(['searchRateContract/searchRcProductDetails/' + this.ProductDetailsEntityData.rateContract.entityId + '/list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/searchRcProductDetails', this.ProductDetailsEntityData.rateContract.entityId, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/searchRcProductDetails', this.ProductDetailsEntityData.rateContract.entityId, 'list', this.route.snapshot.params.task]);\r\n }\r\n } else if (this.route.snapshot.params.page == 'add') {\r\n //this.router.navigate(['searchRateContract/searchRcProductDetails/' + this.route.snapshot.params.id + '/list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/searchRcProductDetails', this.route.snapshot.params.id, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/searchRcProductDetails', this.route.snapshot.params.id, 'list', this.route.snapshot.params.task]);\r\n }\r\n }\r\n }\r\n\r\n saveProductDetails = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n if (this.addProductDetailsForm.invalid) {\r\n return;\r\n }\r\n if ((this.ProductDetailsEntityData.discount != 0) && (this.ProductDetailsEntityData.discountAmount != 0)) {\r\n this.errStr = \"Enter either discount or discount amount\";\r\n this.dialogService.openConfirmDialog(this.errStr);\r\n return;\r\n }\r\n this.RcParent.entityId = this.route.snapshot.params.id;\r\n this.ProductDetailsEntityData.rateContract = this.RcParent;\r\n this.ProductDetailsEntityData.isHistoricData = sessionStorage.getItem('isHistoricData');\r\n this.ProductDetailsEntityData.applyGstFlag = sessionStorage.getItem('applyGstFlag');\r\n this.ProductDetailsEntityData.currency = sessionStorage.getItem('currencyFlag');\r\n this.ProductDetailsEntityData.stateFlag = sessionStorage.getItem('sameStateFlag');\r\n this.showLoading = true;\r\n this.productDetailsService.saveProductDetails(this.ProductDetailsEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Product saved successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addProductDetailsForm.reset();\r\n //this.router.navigate(['searchRateContract/searchRcProductDetails/',this.route.snapshot.params.id,'list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/searchRcProductDetails/', this.route.snapshot.params.id, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/searchRcProductDetails', this.route.snapshot.params.id, 'list', this.route.snapshot.params.task]);\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updateProductDetails = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n if (this.addProductDetailsForm.invalid) {\r\n return;\r\n }\r\n if ((this.ProductDetailsEntityData.discount != 0) && (this.ProductDetailsEntityData.discountAmount != 0)) {\r\n this.errStr = \"Enter either discount or discount amount\";\r\n this.dialogService.openConfirmDialog(this.errStr);\r\n return;\r\n }\r\n this.ProductDetailsEntityData.isHistoricData = sessionStorage.getItem('isHistoricData');\r\n this.ProductDetailsEntityData.applyGstFlag = sessionStorage.getItem('applyGstFlag');\r\n this.ProductDetailsEntityData.currency = sessionStorage.getItem('currencyFlag');\r\n this.ProductDetailsEntityData.stateFlag = sessionStorage.getItem('sameStateFlag');\r\n this.showLoading = true;\r\n this.productDetailsService.updateProductDetails(this.ProductDetailsEntityData, headers, this.ProductDetailsEntityData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Product updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addProductDetailsForm.reset();\r\n //this.router.navigate(['searchRateContract/searchRcProductDetails/',this.ProductDetailsEntityData.rateContract.entityId,'list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/searchRcProductDetails', this.ProductDetailsEntityData.rateContract.entityId, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/searchRcProductDetails', this.ProductDetailsEntityData.rateContract.entityId, 'list', this.route.snapshot.params.task]);\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var productId = id;\r\n this.productDetailsService.getProductDetailsById(productId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ProductDetailsEntityData = resp;\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n // product List\r\n productList: any = [];\r\n getProductList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.sharedService.getAllProduct(headers).subscribe(resp => {\r\n this.sharedService.getAllProductByOrg(sessionStorage.getItem(\"rcOrgId\"),headers).subscribe(resp => {\r\n debugger;\r\n this.productList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // hsn List\r\n hsnList: any = [];\r\n getHsnList = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getAllHsn(headers).subscribe(resp => {\r\n debugger;\r\n this.hsnList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //Get selected hsn by code\r\n getPerticularHSN = function (code) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (code == null) {\r\n //this.ProductDetailsEntityData.hsnId = null;\r\n this.ProductDetailsEntityData.cgst = null;\r\n this.ProductDetailsEntityData.sgst = null;\r\n this.ProductDetailsEntityData.igst = null;\r\n return;\r\n }\r\n this.hsnMasterService.getHsnByCodeValue(code, headers).subscribe(resp => {\r\n debugger;\r\n //this.ProductDetailsEntityData.hsnId = resp.hsnCode;\r\n this.ProductDetailsEntityData.cgst = resp.cgst;\r\n this.ProductDetailsEntityData.sgst = resp.sgst;\r\n this.ProductDetailsEntityData.igst = resp.igst;\r\n if ((this.ProductDetailsEntityData.rate != null) || (this.ProductDetailsEntityData.quantity != null)) { this.cal(); }\r\n //vm.hsnCode= this.ProductDetailsEntityData.hsnId;\r\n //if(vm.hsnCode != vm.hsnCodeFromDB)\r\n //vm.needToUpdate = true;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n cal = function () {\r\n debugger;\r\n this.ProductDetailsEntityData.amount = +(this.ProductDetailsEntityData.rate * this.ProductDetailsEntityData.quantity).toFixed(2);\r\n this.ProductDetailsEntityData.totalDiscount = 0;\r\n this.ProductDetailsEntityData.totalDiscount += +((this.ProductDetailsEntityData.discount / 100) * this.ProductDetailsEntityData.amount).toFixed(2);\r\n if (this.ProductDetailsEntityData.discountAmount != null) {\r\n this.ProductDetailsEntityData.totalDiscount += +parseFloat(this.ProductDetailsEntityData.discountAmount).toFixed(2);\r\n }\r\n this.ProductDetailsEntityData.totalAmount = this.ProductDetailsEntityData.amount - this.ProductDetailsEntityData.totalDiscount;\r\n\r\n if (this.currency == \"INR\") {\r\n\r\n if (this.isHistoricData == \"NO\") {\r\n if (this.applyGstFlag == \"YES\") {\r\n if (this.isSameState == \"true\") {\r\n this.ProductDetailsEntityData.cgstAmount = +((this.ProductDetailsEntityData.cgst / 100) * this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n this.ProductDetailsEntityData.sgstAmount = +((this.ProductDetailsEntityData.sgst / 100) * this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n this.ProductDetailsEntityData.igstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.finalAmount = +parseFloat(this.ProductDetailsEntityData.totalAmount + this.ProductDetailsEntityData.cgstAmount + this.ProductDetailsEntityData.sgstAmount).toFixed(2);\r\n //vm.finalAmount = this.ProductDetailsEntityData.totalAmount + ((this.ProductDetailsEntityData.cgst + this.ProductDetailsEntityData.sgst) / 100 * this.ProductDetailsEntityData.totalAmount);\r\n } else {\r\n this.ProductDetailsEntityData.igstAmount = +((this.ProductDetailsEntityData.igst / 100) * this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n this.ProductDetailsEntityData.cgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.sgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.finalAmount = +parseFloat(this.ProductDetailsEntityData.totalAmount + this.ProductDetailsEntityData.igstAmount).toFixed(2);\r\n //vm.finalAmount = this.ProductDetailsEntityData.totalAmount + ((this.ProductDetailsEntityData.igst) / 100 * this.ProductDetailsEntityData.totalAmount);\r\n }\r\n } else {\r\n this.ProductDetailsEntityData.cgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.sgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.igstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.finalAmount = +parseFloat(this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n //vm.finalAmount = this.ProductDetailsEntityData.totalAmount;\r\n }\r\n /*\r\n if($state.params.isSameState==\"true\") {\r\n this.ProductDetailsEntityData.cgstAmount=(this.ProductDetailsEntityData.cgst/100)*this.ProductDetailsEntityData.totalAmount;\r\n this.ProductDetailsEntityData.sgstAmount=(this.ProductDetailsEntityData.sgst/100)*this.ProductDetailsEntityData.totalAmount;\r\n this.ProductDetailsEntityData.finalAmount=parseFloat(this.ProductDetailsEntityData.totalAmount+this.ProductDetailsEntityData.cgstAmount+this.ProductDetailsEntityData.sgstAmount);\r\n vm.finalAmount=this.ProductDetailsEntityData.totalAmount+((this.ProductDetailsEntityData.cgst+this.ProductDetailsEntityData.sgst)/100*this.ProductDetailsEntityData.totalAmount);\r\n getHSN }else { \r\n this.ProductDetailsEntityData.igstAmount=(this.ProductDetailsEntityData.igst/100)*this.ProductDetailsEntityData.totalAmount;\r\n this.ProductDetailsEntityData.finalAmount=parseFloat(this.ProductDetailsEntityData.totalAmount+this.ProductDetailsEntityData.igstAmount);\r\n vm.finalAmount=this.ProductDetailsEntityData.totalAmount+((this.ProductDetailsEntityData.igst)/100*this.ProductDetailsEntityData.totalAmount);\r\n }*/\r\n } else if (this.isHistoricData == \"YES\") {\r\n this.ProductDetailsEntityData.cgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.sgstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.igstAmount = parseFloat(\"0\");\r\n this.ProductDetailsEntityData.finalAmount = +parseFloat(this.ProductDetailsEntityData.totalAmount + this.ProductDetailsEntityData.serviceTax + this.ProductDetailsEntityData.vat).toFixed(2);\r\n }\r\n }\r\n else {\r\n this.ProductDetailsEntityData.igstAmount = +((this.ProductDetailsEntityData.igst / 100) * this.ProductDetailsEntityData.totalAmount).toFixed(2);\r\n this.ProductDetailsEntityData.finalAmount = +(this.ProductDetailsEntityData.totalAmount + this.ProductDetailsEntityData.igstAmount).toFixed(2);\r\n }\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n this.addProductDetailsForm = this.formBuilder.group({\r\n productName: [null, Validators.required],\r\n hsnId: [null, Validators.required],\r\n rate: [0, Validators.required],\r\n quantity: [1, Validators.required],\r\n amount: [0, Validators.required],\r\n discount: [0],\r\n discountAmount: [0],\r\n totalDiscount: [0],\r\n totalAmount: [0],\r\n description: [null],\r\n cgst: [0],\r\n sgst: [0],\r\n igst: [0],\r\n cgstAmount: [0],\r\n sgstAmount: [0],\r\n igstAmount: [0],\r\n serviceTax: [0],\r\n vat: [0],\r\n finalAmount: [0]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Product Details\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n this.debugger;\r\n /* this.isHistoricData = sessionStorage.getItem('isHistoricData');\r\n this.applyGstFlag = sessionStorage.getItem('applyGstFlag');\r\n this.currency = sessionStorage.getItem('currencyFlag');\r\n this.isSameState = sessionStorage.getItem('sameStateFlag'); */\r\n\r\n this.disabledField();\r\n this.getProductList();\r\n this.getHsnList();\r\n }\r\n\r\n get formControls() {\r\n return this.addProductDetailsForm.controls;\r\n }\r\n\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n Product\r\n \r\n - Select Product -\r\n \r\n \r\n {{p.selectionvalue}}\r\n \r\n
\r\n
Product is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n HSN Code\r\n \r\n - Select Hsn -\r\n \r\n \r\n {{h.selectionvalue}}\r\n \r\n
\r\n
Hsn code is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Rate\r\n \r\n
\r\n
Rate is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Quantity\r\n \r\n
\r\n
Quantity is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Amount\r\n \r\n
\r\n
Amount is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Discount %\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Discount Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Total Discount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Total Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n CGST (%)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n SGST (%)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n IGST (%)\r\n Tax (%)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n CGST Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n SGST Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n IGST Amount\r\n IGST Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Service Tax Amount (in Rs.)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n VAT Amount (in Rs.)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Final Amount\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Description\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { RcProductDetailsService } from '../../OrderMgmt/rc-product-details/rc-product-details.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { PoTaskService } from '../../OrderMgmt/purchase-order-task/po-task.service';\r\n\r\n@Component({\r\n selector: 'app-rc-product-details',\r\n templateUrl: './rc-product-details.component.html',\r\n providers: [RcProductDetailsService, AppGlobals, DialogService, SharedService, PoTaskService]\r\n})\r\nexport class RcProductDetailsComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private productDetailsService: RcProductDetailsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private poTaskService: PoTaskService) { }\r\n\r\n displayedColumns: string[] = ['product', 'hsnId', 'cgst', 'sgst', 'igst', 'cgstAmount', 'sgstAmount', 'igstAmount', 'finalAmount', 'action'];\r\n ProductDetailsList: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n FilterData = { \"entityId\": \"\" };\r\n TaskData = { \"rcId\": null, \"poRcFlag\": null, \"remark\": null, \"workflowType\": null };\r\n TaskEntityData = {\r\n \"entityId\": null, \"rcId\": null, \"uploadFile\": null,\r\n \"poRcFlag\": null, \"stageName\": null, \"workflowName\": null,\r\n \"assignToRole\": null, \"assignToUser\": null, \"approvalStatus\": null,\r\n \"remark\": null\r\n };\r\n //workflowDiv:boolean = false;\r\n additionalTerms: any = false;\r\n\r\n taskId = null;\r\n\r\n PageTitle = \"Product Details\";\r\n filterDiv: boolean = false;\r\n /* addProductDetails = function() {\r\n debugger;\r\n this.router.navigate(['/addRcProductDetails']);\r\n } */\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n ProductDetailsCard: any = [];\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.FilterData.entityId = this.route.snapshot.params.id;\r\n this.showLoading = true;\r\n\r\n this.productDetailsService.searchAllProductDetailsByRc(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.ProductDetailsCard = resp;\r\n this.ProductDetailsList = new MatTableDataSource(resp);\r\n this.ProductDetailsList.sort = this.sort;\r\n this.ProductDetailsList.paginator = this.paginator;\r\n this.totalRecords = this.ProductDetailsList.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addProduct = function () {\r\n debugger;\r\n //this.router.navigate(['searchRateContract/addRcProductDetails',this.route.snapshot.params.id,'add']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/addRcProductDetails', this.route.snapshot.params.id, 'add']);\r\n } else {\r\n this.router.navigate(['searchTask/addRcProductDetails', this.route.snapshot.params.id, 'add', this.route.snapshot.params.task]);\r\n }\r\n }\r\n\r\n editProduct = function (id) {\r\n debugger;\r\n //this.router.navigate(['searchRateContract/editRcProductDetails',id,'edit']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/editRcProductDetails', id, 'edit']);\r\n } else {\r\n this.router.navigate(['searchTask/editRcProductDetails', id, 'edit', this.route.snapshot.params.task]);\r\n }\r\n }\r\n\r\n // Delete function\r\n deleteProduct = function (productId) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to delete this product?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.productDetailsService.deleteProductDetailsById(productId, headers).subscribe(resp => {\r\n this.successMessage = 'Product deleted successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n saveTask = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n const errStr = null;\r\n this.showLoading = true;\r\n this.TaskData.rcId = this.route.snapshot.params.id;\r\n this.TaskData.poRcFlag = \"RC\";\r\n this.poTaskService.saveRcTask(this.TaskData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskData = {};\r\n this.successMessage = \"Rate contract sent for approval\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addProductDetailsForm.reset();\r\n this.router.navigate(['searchRateContract']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get task for resending\r\n getTaskById = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var taskId = id;\r\n this.poTaskService.getTaskById(taskId, headers, \"RC\").subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n //re-send task for approval\r\n reSendTask = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n //this.TaskEntityData.poRcFlag = this.route.snapshot.params.poRcFlag;\r\n this.TaskEntityData.approvalStatus = \"APPROVED\";\r\n this.poTaskService.processTask(this.TaskEntityData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"RC re-sent for approval.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addPoTaskForm.reset();\r\n this.router.navigate(['/searchTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n //this.search();\r\n debugger;\r\n if (this.route.snapshot.params.page == 'list') {\r\n this.PageTitle = \"RC Product Details\";\r\n this.search();\r\n //this.disabledField();\r\n }\r\n\r\n if (this.route.snapshot.params.task != null) {\r\n this.taskId = this.route.snapshot.params.task;\r\n this.getTaskById(this.taskId);\r\n }\r\n\r\n this.additionalTerms = sessionStorage.getItem(\"additionalTerms\");\r\n }\r\n\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
Total Records: {{totalRecords}}
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n {{produtcard.product}}\r\n \r\n \r\n \r\n
\r\n
HSN Code:{{produtcard.hsnId}}
\r\n
CGST:{{produtcard.cgstAmount | number : '1.2-2'}} ({{produtcard.cgst}}%)
\r\n
Rate:{{produtcard.rate}}
\r\n
SGST:{{produtcard.sgstAmount | number : '1.2-2'}} ({{produtcard.cgst}}%)
\r\n
QTY.:{{produtcard.quantity}}
\r\n
IGST:{{produtcard.igstAmount | number : '1.2-2'}} ({{produtcard.cgst}}%)
\r\n
Amount:{{produtcard.amount}}
\r\n
Total Disc.:{{produtcard.totalDiscount}}
\r\n
Total Amt:{{produtcard.totalAmount}}
\r\n
Final Amt:{{produtcard.finalAmount}}
\r\n
Desc:{{produtcard.description}}
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Product \r\n
{{ProductDetailsList.product}}
\r\n
HSN \r\n
{{ProductDetailsList.hsnId}}
\r\n
CGST \r\n
{{ProductDetailsList.cgst}}
\r\n
SGST \r\n
{{ProductDetailsList.sgst}}
\r\n
IGST \r\n
{{ProductDetailsList.igst}}
\r\n
CGST Amount \r\n
{{ProductDetailsList.cgstAmount | number : '1.2-2'}}
\r\n
SGST Amount \r\n
{{ProductDetailsList.sgstAmount | number : '1.2-2'}}
\r\n
IGST Amount \r\n
{{ProductDetailsList.igstAmount | number : '1.2-2'}}
\r\n
Final Amount \r\n
{{ProductDetailsList.finalAmount | number : '1.2-2'}}
\r\n
Action \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
","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RcProductDetailsService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveProductDetails(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/rcproductdetails/addproductdetail';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updateProductDetails(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/rcproductdetails/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getProductDetailsById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/rcproductdetails/getproductdetailbyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteProductDetailsById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/rcproductdetails/' + id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n getAllProductDetailsByRc(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/rcproductdetails/getproductdetailsbyrc';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n searchAllProductDetailsByRc(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/rcproductdetails/searchproductdetailsbyrc';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { VendorComparisonService } from '../vendor-comparison.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\n@Component({\r\n selector: 'app-add-vendor-comparison',\r\n templateUrl: './add-vendor-comparison.component.html',\r\n providers: [VendorComparisonService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class AddVendorComparisonComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private vendorComparisonService: VendorComparisonService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n PageTitle = \"Add Vendor Comparison\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n VendorComparisonData = {\r\n \"customerName\": null, \"amount\": null, \"deliveryTime\": null,\r\n \"paymentTerms\": null, \"quality\": null, \"remarks\": null, \"purchaseOrderNo\": null\r\n };\r\n addVendorComparisonForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n back = function () {\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.router.navigate(['searchPurchaseOrder/searchVendorComparison', this.VendorComparisonData.purchaseOrderNo, 'list']);\r\n } else if (this.route.snapshot.params.page == 'add') {\r\n this.router.navigate(['searchPurchaseOrder/searchVendorComparison', this.route.snapshot.params.id, 'list']);\r\n }\r\n }\r\n\r\n addVendorComparison = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addVendorComparisonForm.invalid) {\r\n return;\r\n }\r\n this.VendorComparisonData.deliveryTime = this.VendorComparisonData.deliveryTime.getTime();\r\n if (flag == \"save\") {\r\n this.VendorComparisonData.purchaseOrderNo = this.route.snapshot.params.id;\r\n }\r\n this.showLoading = true;\r\n this.vendorComparisonService.saveVendorComparison(this.VendorComparisonData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Vendor comparison \" + flag + \"d successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addVendorComparisonForm.reset();\r\n if (flag == \"save\") {\r\n this.router.navigate(['searchPurchaseOrder/searchVendorComparison', this.route.snapshot.params.id, 'list']);\r\n } else if (flag == \"update\") {\r\n this.router.navigate(['searchPurchaseOrder/searchVendorComparison', this.VendorComparisonData.purchaseOrderNo, 'list']);\r\n }\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.vendorComparisonService.getVendorComparisonById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.VendorComparisonData = resp;\r\n this.VendorComparisonData.deliveryTime = (new Date(this.VendorComparisonData.deliveryTime));\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addVendorComparisonForm = this.formBuilder.group({\r\n customerName: [null, Validators.required],\r\n amount: [null, Validators.required],\r\n deliveryTime: [null, Validators.required],\r\n paymentTerms: [null],\r\n quality: [null],\r\n remarks: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Vendor Comparison\";\r\n this.editon(this.route.snapshot.params.id);\r\n }\r\n\r\n }\r\n get formControls() {\r\n return this.addVendorComparisonForm.controls;\r\n }\r\n\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Customer name is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Amount is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Delivery date is\r\n required
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Remarks\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \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, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { VendorComparisonService } from './vendor-comparison.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-vendor-comparison',\r\n templateUrl: './vendor-comparison.component.html',\r\n providers: [VendorComparisonService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class VendorComparisonComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private vendorComparisonService: VendorComparisonService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['customerName', 'amount', 'deliveryTime', 'paymentTerms', 'quality', 'remarks', 'action'];\r\n VendorComparisonMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n PageTitle = \"Vendor Comparison\";\r\n\r\n addVendorComparison = function () {\r\n debugger;\r\n this.router.navigate(['searchPurchaseOrder/AddVendorComparison', this.route.snapshot.params.id, 'add']);\r\n }\r\n\r\n goBack = function () {\r\n debugger;\r\n this.router.navigate(['searchPurchaseOrder']);\r\n }\r\n IsVendorComparison:any = [];\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.vendorComparisonService.getAllVendorComparisonsByPo(this.route.snapshot.params.id, headers).subscribe(resp => {\r\n debugger;\r\n this.IsVendorComparison = resp;\r\n this.VendorComparisonMasterData = new MatTableDataSource(resp);\r\n this.VendorComparisonMasterData.sort = this.sort;\r\n this.VendorComparisonMasterData.paginator = this.paginator;\r\n this.totalRecords = this.VendorComparisonMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete function\r\n deleteVendorComparison = function (id) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to delete this vendor comparison?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.vendorComparisonService.deleteVendorComparisonById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Vendor comparison deleted successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\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
  • Customer Name
  • \r\n
  • Amount
  • \r\n
  • Delivery Date
  • \r\n
  • Payment Terms
  • \r\n
  • Quality
  • \r\n
  • Remarks
  • \r\n
  • Action
  • \r\n
\r\n
\r\n\r\n
\r\n
    \r\n
  • \r\n
      \r\n
    • {{vc.customerName}}
    • \r\n
    • {{vc.amount}}
    • \r\n
    • {{vc.deliveryTime | date : 'dd/MM/yyyy'}}
    • \r\n
    • {{vc.paymentTerms}}
    • \r\n
    • {{vc.quality}}
    • \r\n
    • {{vc.remarks}}
    • \r\n
    • \r\n \r\n edit\r\n \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n No Comparison Found\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders, HttpEvent, HttpErrorResponse, HttpEventType} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VendorComparisonService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveVendorComparison(body, header, flag) {\r\n debugger;\r\n if(flag==\"save\"){\r\n var url = this._global.baseAPIUrl + 'ipms/vendorcomparison';\r\n return this._http.post(url, body, { headers: header });\r\n } else if(flag==\"update\"){\r\n var url = this._global.baseAPIUrl + 'ipms/vendorcomparison/'+body.entityId;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n }\r\n\r\n getVendorComparisonById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorcomparison/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteVendorComparisonById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorcomparison/'+id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n getAllVendorComparisons(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorcomparison/searchvendorcomparison';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getAllVendorComparisonsByPo(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorcomparison/getvendorcomparisonsbypoid/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { VendorPaymentsService } from '../payments.service';\r\n\r\n@Component({\r\n selector: 'app-add-payments',\r\n templateUrl: './add-payments.component.html',\r\n providers: [VendorPaymentsService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddVendorPaymentComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private prsService: VendorPaymentsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Add Payments\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n addPaymentForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n prsId: any = null;\r\n\r\n PaymentData = {\r\n \"paymentDate\": null, \"amount\": null, \"paymentReference\": null, \"remark\": null, \"prsId\": null\r\n };\r\n\r\n\r\n cancel = function () {\r\n this.router.navigate(['/searchPayments', this.prsId]);\r\n }\r\n\r\n savePayments = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPaymentForm.invalid) {\r\n return;\r\n }\r\n this.PaymentData.paymentDate = this.PaymentData.paymentDate.getTime();\r\n this.PaymentData.prsId = this.route.snapshot.params.prsid;\r\n this.showLoading = true;\r\n this.prsService.savePayments(this.PaymentData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Payment is saved successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.router.navigate(['/searchPayments', this.prsId]);\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n //const errStr = error.error.errorMessage;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n updatePayments = function () {\r\n debugger;\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPaymentForm.invalid) {\r\n return;\r\n }\r\n this.PaymentData.paymentDate = this.PaymentData.paymentDate.getTime();\r\n this.showLoading = true;\r\n this.prsService.updatePayments(this.PaymentData, headers, this.PaymentData.entityId).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Payment is updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.router.navigate(['/searchPayments', this.prsId]);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.prsService.getPaymentById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PaymentData = resp;\r\n this.PaymentData.paymentDate = (new Date(this.PaymentData.paymentDate));\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n var obj = JSON.parse(errStr);\r\n this.errorMessage = obj.message;\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n this.addPaymentForm = this.formBuilder.group({\r\n paymentDate: [null, Validators.required],\r\n amount: [null, Validators.required],\r\n paymentReference: [null, Validators.required],\r\n remark: [null, Validators.required]\r\n });\r\n\r\n this.prsId = this.route.snapshot.params.prsid;\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Payments\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n }\r\n\r\n get formControls() {\r\n return this.addPaymentForm.controls;\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Payment date\r\n is required
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n Amount\r\n \r\n
\r\n
Amount\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Payment Reference No\r\n \r\n
\r\n
Payment Reference No\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Remark\r\n \r\n
\r\n
Remark\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n\r\n \r\n\r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { VendorPaymentsService } from './payments.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-payments',\r\n templateUrl: './payments.component.html',\r\n providers: [VendorPaymentsService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class VendorPaymentsComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private vendorPaymentsService: VendorPaymentsService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['paymentDate' , 'amount' , 'paymentReference','action'];\r\n PaymentListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n showLoading: boolean = false;\r\n \r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n \r\n FilterData = {\"prsId\":null};\r\n\r\n prsId:any = null;\r\n \r\n PageTitle = \"Vendor Payments Master\";\r\n filterDiv:boolean = false;\r\n addPayment = function() {\r\n debugger;\r\n this.router.navigate(['/addPayment', this.prsId]);\r\n }\r\n\r\n back = function () {\r\n this.router.navigate(['/searchPrs']);\r\n }\r\n \r\n filterFunc = function() {\r\n debugger;\r\n this.filterDiv = true;\r\n \r\n }\r\n cancel = function() {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n \r\n\r\n // Search function\r\n search = function (prsId) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.vendorPaymentsService.getPaymentListByPrs(prsId, headers).subscribe(resp => {\r\n debugger;\r\n this.PaymentListData = new MatTableDataSource(resp);\r\n this.PaymentListData.sort = this.sort;\r\n this.PaymentListData.paginator = this.paginator;\r\n this.totalRecords = this.PaymentListData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n\r\n onDelete = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to delete this record?';\r\n var experienceId = id;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.vendorPaymentsService.onDelete(experienceId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Payment is deleted successfully.\";\r\n this.search(this.prsId);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => { \r\n })\r\n \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n})\r\n }\r\n \r\n ngOnInit(): void {\r\n this.prsId = this.route.snapshot.params.prsid;\r\n //this.FilterData.prsId = this.prsId;\r\n this.search(this.prsId);\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Payment Date \r\n
{{PaymentListData.paymentDate| date : 'dd/MM/yyyy'}}
\r\n
Amount \r\n
{{PaymentListData.amount}}
\r\n
Payment Reference No. \r\n
{{PaymentListData.paymentReference}}
\r\n
Action \r\n \r\n edit\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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VendorPaymentsService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n savePayments(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorinvoice';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updatePayments(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorinvoice/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getPaymentList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorinvoice/getallvendorpayments';\r\n return this._http.post(url, body,{ headers: header });\r\n }\r\n\r\n getPaymentListByPrs(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorinvoice/getallvendorpaymentsbyprs/'+id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n getPaymentById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorinvoice/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n onDelete(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/vendorinvoice/' + id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n \r\n}\r\n","import { Component, OnInit, ViewChild, Inject, Optional } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { ProjectApprovalTaskService } from './projectapproval.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ActionComponent } from '../../AssetMgmt/InterDistrictDeliveryChallan/action/action.component';\r\nimport { ViewProjectComponent } from './../ProjectMaster/viewproject/viewproject.component';\r\n\r\n@Component({\r\n selector: 'app-projectapproval',\r\n templateUrl: './projectapproval.component.html',\r\n providers: [AppGlobals, DialogService, SharedService, ProjectApprovalTaskService]\r\n})\r\nexport class ProjectApprovalTaskComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private taskService: ProjectApprovalTaskService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['projectName', 'clientName', 'projectStartDate', 'projectStopDate',\r\n 'approvalStatus', 'action'];\r\n historyColumns: string[] = ['projectName', 'clientName', 'projectStartDate', 'projectStopDate',\r\n 'approvalStatus'];\r\n ProjectRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n history: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n FilterData = { \"projectName\": null };\r\n\r\n PageTitle = \"Project Approval Task List\";\r\n filterDiv: boolean = false;\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProjectRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getTaskList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.ProjectRecord = new MatTableDataSource(resp);\r\n this.ProjectRecord.sort = this.sort;\r\n this.ProjectRecord.paginator = this.paginator;\r\n this.totalRecords = this.ProjectRecord.filteredData.length;\r\n this.history = false;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n getHistoryTask = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.getHistoryTask(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.ProjectRecord = new MatTableDataSource(resp);\r\n this.ProjectRecord.sort = this.sort;\r\n this.ProjectRecord.paginator = this.paginator;\r\n this.totalRecords = this.ProjectRecord.filteredData.length;\r\n this.history = true;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n action = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n this.data.flag = 'projectApproval';\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ActionComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n this.search();\r\n })\r\n }\r\n\r\n viewProject = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ViewProjectComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.search();\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
Project Name \r\n
{{ProjectRecord.projectName}}
\r\n
Client Name \r\n
{{ProjectRecord.clientName}}
\r\n\r\n
Project Start Date \r\n
{{ProjectRecord.projectStartDate| date:'dd-MM-yyyy'}}
\r\n
Project End Date \r\n
{{ProjectRecord.projectStopDate| date:'dd-MM-yyyy'}}
\r\n
Approval Status \r\n
{{ProjectRecord.approvalStatus}}
\r\n
Action \r\n\r\n\r\n \r\n visibility View\r\n \r\n \r\n edit Edit\r\n \r\n \r\n mouse Action\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectApprovalTaskService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n processTask(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectApproval';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n\r\ngetTaskList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectApproval/taskByFilters';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n\r\n getHistoryTask(body, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/projectApproval/historyTaskByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n\r\ntaskById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectApproval/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n}\r\n","import { Component, OnInit, Inject, Optional, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { ProjectMappingService} from '../project-mapping.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'app-addprojectMapping',\r\n templateUrl: './addprojectMapping.component.html',\r\n providers: [ProjectMappingService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddProjectMappingComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private projectMappingService: ProjectMappingService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Add Project Mapping\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n ProjectMappingModel = {\r\n \"projectid\": null, \"orgid\": null, \"workflowlevel\":null};\r\n\r\n compareOrg(o1: any, o2: any): boolean {\r\n return o1 == o2.entityId;\r\n }\r\n \r\n ProjectMappingForm: FormGroup;\r\n isSubmitted = false;\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n this.formDirective.resetForm();\r\n }\r\n \r\n displayedColumns1: string[] = ['selectionvalue'];\r\n OrganizationData: MatTableDataSource;\r\n \r\n ProjectData: MatTableDataSource;\r\n displayedColumns2: string[] = ['checkbox','selectionvalue'];\r\n \r\n LevelData: MatTableDataSource;\r\n displayedColumns3: string[] = ['checkbox','selectionvalue'];\r\n \r\n orgIdList: any = [];\r\n orgRecord:any;\r\n projectRecord: any;\r\n levelRecord:any;\r\n\r\n projectFlag:boolean = true;\r\n levelFlag:boolean = true;\r\n\r\n applyFilterOrg(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.OrganizationData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n applyFilterProject(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProjectData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n applyFilterLevel(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.LevelData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n // Add / update function\r\n addProjectMapping = function () {\r\n this.isSubmitted = true;\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n if (this.projectWorkFlowLevel.length == 0) {\r\n this.dialogService.openConfirmDialog(\"Please select atleast one project and level \");\r\n return;\r\n }\r\n \r\n this.showLoading = true;\r\n this.projectMappingService.addLevels(this.projectWorkFlowLevel, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project mapping(s) saved successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.router.navigate(['/projectMapping', this.route.snapshot.params.id]);\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n // Add / update function\r\n addAllProjectMapping = function () {\r\n this.isSubmitted = true;\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n if (this.islevelSelected == false) {\r\n this.dialogService.openConfirmDialog(\"Please select atleast one level \");\r\n return;\r\n }\r\n var userid = this.route.snapshot.params.id;\r\n this.showLoading = true;\r\n this.projectMappingService.addAllLevels(this.org, userid, this.level, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project mapping(s) saved successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.router.navigate(['/projectMapping', this.route.snapshot.params.id]);\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n // projectList\r\n getAllProject = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectMappingService.getprojectList(id,headers).subscribe(resp => {\r\n debugger;\r\n this.ProjectData = new MatTableDataSource(resp);\r\n this.projectRecord = this.ProjectData.filteredData.length;\r\n if (this.projectRecord > 0){\r\n this.projectFlag = false;\r\n }\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // organizationsList\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.OrganizationData = new MatTableDataSource(resp);\r\n this.orgRecord = this.OrganizationData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // levelList\r\n getAllLevel = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var project = id;\r\n var user = this.route.snapshot.params.id;\r\n this.projectMappingService.getAllLevels(project, headers, user).subscribe(resp => {\r\n debugger;\r\n this.LevelData = new MatTableDataSource(resp);\r\n this.levelRecord = this.LevelData.filteredData.length;\r\n if (this.levelRecord > 0){\r\n this.levelFlag = false;\r\n }\r\n\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n org:any;\r\nproject:any;\r\n SelectORG = function (items) {\r\n debugger;\r\n this.org = items;\r\n this.getAllProject(items);\r\n }\r\n projectName:string;\r\n islevelSelected :boolean;\r\n displayList:any=[];\r\n SelectProjects = function (item, selected) { \r\n debugger;\r\n if(selected)\r\n {\r\n if ( this.islevelSelected == false)\r\n {\r\n this.dialogService.openConfirmDialog(\"Please select level for Previous Project\");\r\n selected = false;\r\n return;\r\n }\r\n this.islevelSelected = false;\r\n this.project=item.selectionid;\r\n this.projectName = item.selectionvalue;\r\n this.getAllLevel(item.selectionid);\r\n }\r\n else\r\n {\r\n this.projectWorkFlowLevel.pop(item.selectionid);\r\n this.displayList.pop(item.selectionvalue);\r\n this.islevelSelected = false;\r\n }\r\n }\r\n\r\n isAllSelected:boolean= false;\r\n SelectAllProjects = function (selected) { \r\n debugger;\r\n if ( selected == false) {\r\n this.isAllSelected = false;\r\n this.islevelSelected = false;\r\n this.LevelData = new MatTableDataSource(); \r\n for(var i=0; i < this.ProjectData.length; i++) {\r\n this.ProjectData[i].selected = false;\r\n }\r\n } else\r\n {\r\n this.isAllSelected = true;\r\n this.islevelSelected = false;\r\n this.getAllLevels();\r\n for(var i=0; i < this.ProjectData.length; i++) {\r\n this.ProjectData[i].selected = true;\r\n }\r\n}\r\n}\r\n\r\ngetAllLevels = function (id) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectMappingService.getAllLevelsByOrg(this.org, headers).subscribe(resp => {\r\n debugger;\r\n this.LevelData = new MatTableDataSource(resp);\r\n this.levelRecord = this.LevelData.filteredData.length;\r\n if (this.levelRecord > 0){\r\n this.levelFlag = false;\r\n }\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n}\r\n\r\n projectWorkFlowLevel:any= [];\r\n level:String;\r\n isDisabled: boolean = false;\r\n SelectLevels = function (item, selected) {\r\n debugger;\r\n \r\n if (this.isAllSelected == true)\r\n {\r\n this.level = item;\r\n this.isDisabled = true;\r\n this.islevelSelected = true;\r\n }\r\n else\r\n {\r\n if(selected)\r\n {\r\n this.item1 = {};\r\n this.item1.orgid= this.org;\r\n this.item1.projectid = this.project;\r\n this.item1.userid = this.route.snapshot.params.id;\r\n this.item1.workflowlevel = item;\r\n this.projectWorkFlowLevel.push(this.item1);\r\n \r\n this.item2={};\r\n this.item2.project = this.projectName;\r\n this.item2.level = item;\r\n this.displayList.push(this.item2);\r\n \r\n this.islevelSelected = true;\r\n }\r\n else{\r\n this.projectWorkFlowLevel.pop(item);\r\n this.displayList.pop(item);\r\n this.islevelSelected = false;\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n\r\n back = function () {\r\n debugger;\r\n this.router.navigate(['/projectMapping', this.route.snapshot.params.id]);\r\n \r\n }\r\n\r\n \r\n ngOnInit(): void {\r\n //Fromgroup collection\r\n this.getAllOrganizations();\r\n //Assign Filter\r\n \r\n }\r\n get formControls() { return this.ProjectMappingForm.controls; }\r\n}\r\n\r\n\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Total Records:\r\n {{orgRecord}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Organization\r\n \r\n \r\n {{OrganizationData.selectionvalue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
Total Records:\r\n {{projectRecord}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Select All\r\n\r\n \r\n \r\n \r\n \r\n \r\n Project\r\n \r\n {{ProjectData.selectionvalue}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Total Records:\r\n {{levelRecord}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Select\r\n \r\n \r\n \r\n Workflow level\r\n \r\n {{LevelData.workflowlevel}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0 \">\r\n
\r\n \r\n {{i+1}}\r\n {{item.project}}\t\t\t\t\t\t\r\n {{item.level}}\t\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { ProjectMappingService } from './project-mapping.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n@Component({\r\n selector: 'app-project-mapping',\r\n templateUrl: './project-mapping.component.html',\r\n providers: [ProjectMappingService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ProjectMappingComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private formBuilder: FormBuilder, \r\n private router: Router, \r\n private route: ActivatedRoute, \r\n private http: HttpClient, \r\n private projectMappingService: ProjectMappingService,\r\n private _global: AppGlobals, \r\n private dialogService: DialogService, \r\n private sharedService: SharedService\r\n ) { }\r\n\r\n \r\n displayedColumns: string[] = ['projectname', 'orgname', 'levelname' ,'action'];\r\n ProjectMappingData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n PageTitle = \"Project Mapping\";\r\n filterDiv: boolean = false;\r\n add = true;\r\n edit = false;\r\n list = true;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProjectMappingData.filter = filterValue.trim().toLowerCase();\r\n }\r\n ProjectMappingModel = {\r\n \"projectid\": null, \"orgid\": null, \"workflowlevel\":null};\r\n\r\n compareOrg(o1: any, o2: any): boolean {\r\n return o1 == o2.entityId;\r\n }\r\n\r\n FilterData = {\r\n \"projectname\": null, \"orgname\": null,\r\n };\r\n\r\n ProjectMappingForm: FormGroup;\r\n isSubmitted = false;\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n this.formDirective.resetForm();\r\n }\r\n\r\n addProjectMapping = function () {\r\n this.router.navigate(['/addProjectMapping', this.route.snapshot.params.id]);\r\n }\r\n\r\n organizationsList: any = [];\r\n projectList: any = [];\r\n levelList: any = [];\r\n\r\n orgIdList: any = [];\r\n \r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.PageTitle = \"Project Mapping\";\r\n this.enabledField();\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n }\r\n \r\n // Search function\r\n search = function (id) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n \r\n this.projectMappingService.getProjectLevelList(this.FilterData, headers, id).subscribe(resp => {\r\n debugger;\r\n this.ProjectMappingData = new MatTableDataSource(resp.content);\r\n this.ProjectMappingData.sort = this.sort;\r\n this.ProjectMappingData.paginator = this.paginator;\r\n this.totalRecords = this.ProjectMappingData.filteredData.length;\r\n this.history = false;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n\r\n // Delete Function\r\n onDelete = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectMappingService.deleteById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search(this.route.snapshot.params.id);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n \r\n \r\n ngOnInit(): void {\r\n //Fromgroup collection\r\n \r\n this.search(this.route.snapshot.params.id);\r\n }\r\n \r\n}","\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Project Name \r\n {{ProjectMappingData.projectname}} Organisation Name \r\n {{ProjectMappingData.orgname}} Level Name \r\n {{ProjectMappingData.workflowlevel}} Action \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectMappingService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n getProjectLevelList(body, header, id) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/getAllProjectsOfUsers/'+id;\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n \r\n getAllLevels(id, header, user) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/getAllLevelsByProjectId/'+id+ '/' + user;;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n /*getprojectList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project/getProjectListByOrg';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n*/\r\n\r\ngetprojectList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project/getProjectListByOrg/'+body;\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\ndeleteById (id, header) {\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\naddLevels(levels, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/saveUsersProjects';\r\n return this._http.post(url, levels, { headers: header });\r\n}\r\n\r\naddAllLevels(org, user, level,header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/saveAllProjects/'+ org +'/'+user +'/'+ level;\r\n return this._http.get(url, { headers: header });\r\n}\r\ngetAllLevelsByOrg(org, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/getAllLevelsByOrg/'+org;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n}\r\n\r\n","import { Component, OnInit, Inject, Optional, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { ProjectMasterService } from '../projectmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { ProjectApprovalTaskService } from '../../ProjectApproval/projectapproval.service';\r\n\r\n@Component({\r\n selector: 'app-addproject',\r\n templateUrl: './addproject.component.html',\r\n providers: [ProjectMasterService, AppGlobals, DialogService, SharedService, FileuploadService, MatStepper, ProjectApprovalTaskService]\r\n})\r\nexport class AddProjectComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private projectService: ProjectMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService,\r\n private taskService: ProjectApprovalTaskService) { }\r\n @ViewChild('stepper') private myStepper: MatStepper;\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n showSubmit: boolean = false;\r\n uploadFlag: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Add Project\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n backToTask: boolean = false;\r\n\r\n ProjectData = {\r\n \"projectName\": null, \"clientName\": null, \"departmentName\": null, \"projectLocation\": null,\r\n \"projectStopDate\": null, \"projectStartDate\": null, \"projectStatus\": null,\r\n \"remark\": null, \"poAttached\": false, \"projectPlan\": false, \"completionStatus\": null,\r\n \"percentageCompleted\": null, \"budget\": null, \"percentagePaymentReceived\": null,\r\n \"planAttachment\": null, \"poAttachment\": null, \"projectType\": null, \"projectPin\": null,\r\n \"practiceName\": null, \"organization\": null, \"entityId\": null, \"accountManager\": null,\r\n \"projectManager\": null, \"approvalStatus\": null\r\n };\r\n\r\n addProjectForm: FormGroup;\r\n MappingForm: FormGroup;\r\n uploadForm: FormGroup;\r\n\r\n poAttachment: any = [];\r\n planAttachment: any = [];\r\n\r\n isSubmitted = false;\r\n completionStatusList = this._global.completionStatus;\r\n\r\n back = function () {\r\n if (this.backToTask == true) {\r\n debugger;\r\n this.router.navigate(['/searchProjectTask']);\r\n }\r\n else {\r\n this.router.navigate(['/searchProject']);\r\n }\r\n\r\n }\r\n\r\n projectTypeList: any = [];\r\n statusList: any = [];\r\n organizationsList: any = [];\r\n departmentList: any = [];\r\n userList: any = [];\r\n levelList: any = [];\r\n newLevelList: any = [];\r\n AlllevelList: any = [];\r\n\r\n addLevelFlag: boolean = false;\r\n\r\n showUploadFlag: boolean = false;\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n debugger;\r\n return o1.name == o2.name && o1.id == o2.id;\r\n }\r\n\r\n compareUser(o1: any, o2: any): boolean {\r\n debugger;\r\n return o1 == o2;\r\n }\r\n\r\n getUserName(o1: any): boolean {\r\n debugger;\r\n for (let i = 0; i < this.userList.length; i++) {\r\n\r\n if (o1 == this.userList[i].selectionid) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n getProjectType = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getProjectType(headers).subscribe(resp => {\r\n debugger;\r\n this.projectTypeList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getProgressStatus = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getProgressStatus(headers).subscribe(resp => {\r\n debugger;\r\n this.statusList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // organizationsList\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.organizationsList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // organizationsList\r\n getAllDepartment = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n debugger;\r\n this.departmentList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // userList\r\n getAllUsers = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveUserList(headers).subscribe(resp => {\r\n debugger;\r\n this.userList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // levelList\r\n getAllLevel = function (flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var org = this.ProjectData.organization;\r\n // var projectType = this.ProjectData.projectType;\r\n var projectType = '';\r\n if (this.ProjectData.projectType == 'P/L Projects' || this.ProjectData.projectType == 'Miscellaneous') {\r\n projectType = this.ProjectData.projectType;\r\n }\r\n else {\r\n projectType = 'ALL';\r\n }\r\n\r\n var project = this.ProjectData.entityId;\r\n this.projectService.getAllLevels(org, projectType, project, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.levelList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n\r\n getLevels = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var org = this.ProjectData.organization;\r\n // var projectType = this.ProjectData.projectType;\r\n var projectType = '';\r\n if (this.ProjectData.projectType == 'P/L Projects' || this.ProjectData.projectType == 'Miscellaneous') {\r\n projectType = this.ProjectData.projectType;\r\n\r\n }\r\n else {\r\n projectType = 'ALL';\r\n }\r\n\r\n var project = this.ProjectData.entityId;\r\n this.projectService.getLevels(org, projectType, headers).subscribe(resp => {\r\n debugger;\r\n this.AlllevelList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n isEditable: boolean = false;\r\n next : boolean = false;\r\n\r\n addProject = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addProjectForm.invalid) {\r\n this.dialogService.openConfirmDialog(\"Invalid Form Data\");\r\n return;\r\n }\r\n this.ProjectData.projectStartDate = this.ProjectData.projectStartDate.getTime();\r\n this.ProjectData.projectStopDate = this.ProjectData.projectStopDate.getTime();\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n if (parseInt(this.ProjectData.projectStartDate) > parseInt(this.ProjectData.projectStopDate)) {\r\n this.dialogService.openConfirmDialog(\"Project Start Date should be less than Project End Date\");\r\n return;\r\n }\r\n if (this.ProjectData.percentagePaymentReceived > this.ProjectData.percentageCompleted) {\r\n this.dialogService.openConfirmDialog(\"Percentage Payment Recieved should be less than Percentage Completed\");\r\n return;\r\n }\r\n if (parseInt(this.ProjectData.percentagePaymentReceived) > 100) {\r\n this.dialogService.openConfirmDialog(\"Percentage Payment Recieved can't be more than 100 %\");\r\n return;\r\n }\r\n if (parseInt(this.ProjectData.percentageCompleted) > 100) {\r\n this.dialogService.openConfirmDialog(\"Percentage Completedcan't be more than 100 %\");\r\n return;\r\n }\r\n\r\n\r\n this.showLoading = true;\r\n var flagForLevel = flag\r\n this.projectService.saveProjectData(this.ProjectData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.ProjectData = resp;\r\n this.ProjectData.projectStartDate = (new Date(this.ProjectData.projectStartDate));\r\n this.ProjectData.projectStopDate = (new Date(this.ProjectData.projectStopDate));\r\n\r\n this.getAllLevel(flagForLevel);\r\n this.next = true;\r\n\r\n if (flag == 'save') {\r\n this.dialogService.openConfirmDialog(\"Next Step, Please fill Project Configuration Details below\");\r\n }\r\n\r\n \r\n if ((this.ProjectData.poAttached != false) || (this.ProjectData.projectPlan != false)) {\r\n this.showUploadFlag = true;\r\n }\r\n else{\r\n this.router.navigate(['searchProject/updateProjectDetails', this.ProjectData.entityId, 'edit']);\r\n }\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.ProjectData.projectStartDate = (new Date(this.ProjectData.projectStartDate));\r\n this.ProjectData.projectStopDate = (new Date(this.ProjectData.projectStopDate));\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n clearfields = function () {\r\n this.ProjectData = {\r\n \"projectName\": null, \"clientName\": null, \"departmentName\": null, \"projectLocation\": null,\r\n \"projectStopDate\": null, \"projectStartDate\": null, \"projectStatus\": null,\r\n \"remark\": null, \"poAttached\": false, \"projectPlan\": false, \"completionStatus\": null,\r\n \"percentageCompleted\": null, \"budget\": null, \"percentagePaymentReceived\": null,\r\n \"planAttachment\": null, \"poAttachment\": null, \"projectType\": null, \"projectPin\": null,\r\n \"practiceName\": null, \"organization\": null, \"entityId\": null\r\n };\r\n }\r\n // Edit\r\n\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.projectById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ProjectData = resp;\r\n this.ProjectData.projectStartDate = (new Date(this.ProjectData.projectStartDate));\r\n this.ProjectData.projectStopDate = (new Date(this.ProjectData.projectStopDate));\r\n if (this.ProjectData.poAttachment != null) {\r\n this.poAttachment = this.fileuploadService.getSingleFileArray(this.ProjectData.poAttachment);\r\n }\r\n if (this.ProjectData.planAttachment != null) {\r\n this.planAttachment = this.fileuploadService.getSingleFileArray(this.ProjectData.planAttachment);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n submitForApproval = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project is successfully submitted for Approval.\";\r\n this.router.navigate(['/searchProject']);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n sendForApproval = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n if (this.backToTask == false) {\r\n var name = this.ProjectData.entityId;\r\n this.projectService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project is successfully submitted for Approval.\";\r\n this.router.navigate(['/searchProject']);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n else {\r\n this.ActionData.approvalStatus = \"APPROVED\";\r\n this.taskService.processTask(this.ActionData, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project is re-submitted successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.router.navigate(['/searchProjectTask']);\r\n\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n\r\n }\r\n editProject = function (id) {\r\n debugger;\r\n this.dc = false;\r\n this.project = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n this.editon(this.ActionData.projectid);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n submitUploads = function () {\r\n debugger;\r\n if (this.ProjectData.poAttached == true) {\r\n if (!this.fileuploadService.hasfile(this.poAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Please upload PO Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.poAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n this.ProjectData.poAttachment = this.fileuploadService.getFirstFilePath(this.poAttachment);\r\n\r\n }\r\n if (this.ProjectData.projectPlan == true) {\r\n //If mandatory then check for atleast one fileuploaded\r\n if (!this.fileuploadService.hasfile(this.planAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Plan Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.planAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n this.ProjectData.planAttachment = this.fileuploadService.getFirstFilePath(this.planAttachment);\r\n\r\n }\r\n this.uploadFlag = true;\r\n this.addProject('update');\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getProjectType();\r\n this.getProgressStatus();\r\n this.getAllOrganizations();\r\n this.getAllDepartment();\r\n this.getAllUsers();\r\n\r\n this.addProjectForm = this.formBuilder.group({\r\n projectName: [null, Validators.required],\r\n organization: [null, Validators.required],\r\n departmentName: [null, Validators.required],\r\n clientName: [null, Validators.required],\r\n practiceName: [null, Validators.required],\r\n projectLocation: [null, Validators.required],\r\n projectStopDate: [null, Validators.required],\r\n projectStartDate: [null, Validators.required],\r\n projectStatus: [null, Validators.required],\r\n projectType: [null, Validators.required],\r\n percentagePaymentReceived: [null, Validators.required],\r\n percentageCompleted: [null, Validators.required],\r\n completionStatus: [null, Validators.required],\r\n accountManager: [null, Validators.required],\r\n projectManager: [null, Validators.required],\r\n planAttachment: [null],\r\n poAttachment: [null],\r\n poAttached: [false],\r\n projectPlan: [false],\r\n budget: [null],\r\n remark: [null],\r\n projectPin: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'editTask') {\r\n this.PageTitle = \"Update Project\";\r\n this.editProject(this.route.snapshot.params.id);\r\n\r\n this.backToTask = true;\r\n }\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Project\";\r\n this.editon(this.route.snapshot.params.id);\r\n }\r\n\r\n\r\n }\r\n get formControls() {\r\n return this.addProjectForm.controls;\r\n }\r\n\r\n}\r\n\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ type.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Project Type is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Client Name is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ org.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Organization is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ dept.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Department is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ user.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Project Manager is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ user.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Account Manager is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Practice Name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Location is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Start Date is required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Stop Date is required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ projectStatus.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n Project Plan\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n PO Attached\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Percentage Payment Received is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Percentage Completed is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ status.name }}\r\n \r\n \r\n
\r\n
\r\n Department is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\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\n\r\n@Component({\r\n selector: 'app-projectattachment',\r\n templateUrl: './projectattachment.component.html'\r\n})\r\nexport class ProjectattachmentComponent implements OnInit {\r\n\r\n constructor() { }\r\n showLoading: boolean = false;\r\n PageTitle = \"Project Attachment\";\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\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, Inject, Optional, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { ProjectMasterService } from '../projectmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { ProjectApprovalTaskService } from '../../ProjectApproval/projectapproval.service';\r\n\r\n@Component({\r\n selector: 'app-projectconfiguration',\r\n templateUrl: './projectconfiguration.component.html',\r\n providers: [ProjectMasterService, AppGlobals, DialogService, SharedService, FileuploadService, ProjectApprovalTaskService]\r\n\r\n})\r\nexport class ProjectconfigurationComponent implements OnInit {\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private http: HttpClient,\r\n private projectService: ProjectMasterService,\r\n private _global: AppGlobals,\r\n private dialogService: DialogService,\r\n private sharedService: SharedService,\r\n private fileuploadService: FileuploadService,\r\n private taskService: ProjectApprovalTaskService) {\r\n\r\n }\r\n showLoading: boolean = false;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n PageTitle = \"Project Configuration\";\r\n userList: any = [];\r\n AlllevelList: any = [];\r\n levelList: any = [];\r\n newLevelList: any = [];\r\n addProjectForm: FormGroup;\r\n actionFlag: boolean = false; \r\n backToTask: boolean = false;\r\n organization:any ;\r\n projectManager:any;\r\n submitToFlag: boolean = true;\r\n \r\n compareUser(o1: any, o2: any): boolean {\r\n return o1 == o2;\r\n }\r\n deleteLevel = function (item) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var experienceId = item.entityId;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n if (experienceId == null)\r\n {\r\n this.levelList.splice(this.levelList.indexOf(item), 1);\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.deleteLevel(experienceId, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Project Configuration is deleted successfully.\";\r\n this.levelList.splice(this.levelList.indexOf(item), 1);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n addMoreLevel = function () {\r\n debugger;\r\n this.item = {};\r\n this.item.workflowlevel = null;\r\n this.item.userid = null;\r\n this.newLevelList.push(this.item);\r\n this.addLevelFlag = true;\r\n this.getAllLevel(this.route.snapshot.params.id,'all');\r\n return;\r\n }\r\n addLevel = function (flag) {\r\n this.isSubmitted = true;\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n for (let i = 0; i < this.newLevelList.length; i++) {\r\n this.levelList.push(this.newLevelList[i])\r\n }\r\n\r\n for (let i = 0; i < this.levelList.length; i++) {\r\n this.temp = this.levelList[i];\r\n if (this.temp.workflowlevel == null) {\r\n this.dialogService.openConfirmDialog(\"Workflow id required for item \" + i + 1);\r\n return;\r\n }\r\n if (this.temp.userid == null) {\r\n this.dialogService.openConfirmDialog(\"User is required for \" + this.temp.workflowlevel);\r\n return;\r\n }\r\n }\r\nvar id =this.route.snapshot.params.id;\r\n this.showLoading = true;\r\n this.projectService.addLevel(this.organization,id, this.levelList, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project Configuration is \" + flag + \"d successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n // this.addAssetForm.reset();\r\n this.newLevelList = [];\r\n this.actionFlag = true;\r\n this.getAllLevel(id,'all');\r\n })\r\n //this.myStepper.next();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n removeLevel = function (item) {\r\n this.newLevelList.splice(this.newLevelList.indexOf(item), 1);\r\n return;\r\n }\r\n\r\n // levelList\r\n getAllLevel = function (id, flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var project = id;\r\n this.projectService.getAllLevels(project, headers, flag).subscribe(resp => {\r\n debugger;\r\n if (flag =='default')\r\n {\r\n this.levelList = resp;\r\n }\r\n else\r\n {\r\n this.AlllevelList = resp;\r\n }\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n back = function () {\r\n if (this.backToTask == true) {\r\n this.router.navigate(['/searchProjectTask']);\r\n }\r\n else {\r\n this.router.navigate(['/searchProject']);\r\n }\r\n }\r\n\r\n sendForApproval = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var name = this.route.snapshot.params.id;\r\n if (this.backToTask == false) {\r\n this.projectService.submitForApproval(name, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Project is successfully submitted for Approval.\";\r\n this.router.navigate(['/searchProject']);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n else {\r\n this.ActionData.approvalStatus = \"APPROVED\";\r\n this.taskService.processTask(this.ActionData, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Project is re-submitted successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.router.navigate(['/searchProjectTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n }\r\n \r\n //Get Level\r\n getLevelsByProject = function (id) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var project = id;\r\n this.projectService.getLevelsByProject(project, headers).subscribe(resp => {\r\n var listOfLevels = resp;\r\n if (listOfLevels.length ==0)\r\n {\r\n this.getAllLevel(this.route.snapshot.params.id,'default');\r\n this.actionFlag = false;\r\n }\r\n else{\r\n this.actionFlag= true;\r\n this.levelList = resp;\r\n }\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n \r\n\r\n // userList\r\n getAllUsers = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveUserList(headers).subscribe(resp => {\r\n debugger;\r\n this.userList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n editProject = function (id) {\r\n debugger;\r\n this.dc = false;\r\n this.project = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n this.editon(this.ActionData.projectid);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n editon = function (id) {\r\n debugger;\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.projectById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ProjectData = resp;\r\n this.organization= this.ProjectData.organization;\r\n this.projectManager = this.ProjectData.projectManager;\r\n if (this.ProjectData.approvalStatus!='PENDING')\r\n {\r\n this.submitToFlag = false;\r\n }\r\n \r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getAllUsers();\r\n this.getLevelsByProject(this.route.snapshot.params.id);\r\n this.addProjectForm =this.formBuilder.group({});\r\n if (this.route.snapshot.params.page == 'editTask') {\r\n this.PageTitle = \"Update Project\";\r\n this.editProject(this.route.snapshot.params.taskid);\r\n\r\n this.backToTask = true;\r\n }\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.editon(this.route.snapshot.params.id);\r\n }\r\n }\r\n\r\n \r\n get formControls() {\r\n return this.addProjectForm.controls;\r\n }\r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
*Fields are Mandatory
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{item.workflowlevel}} \r\n \r\n -Select-\r\n \r\n {{ type.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ type.workflowlevel }}\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ type.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \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, Inject, Optional, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { ProjectMasterService } from '../projectmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n//import { MatStepper } from '@angular/material/stepper';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\nimport { ProjectApprovalTaskService } from '../../ProjectApproval/projectapproval.service';\r\n\r\n@Component({\r\n selector: 'app-projectdetails',\r\n templateUrl: './projectdetails.component.html',\r\n providers: [ProjectMasterService, AppGlobals, DialogService, SharedService, FileuploadService, ProjectApprovalTaskService]\r\n\r\n})\r\nexport class ProjectdetailsComponent implements OnInit {\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private http: HttpClient,\r\n private projectService: ProjectMasterService,\r\n private _global: AppGlobals,\r\n private dialogService: DialogService,\r\n private sharedService: SharedService,\r\n private fileuploadService: FileuploadService,\r\n private taskService: ProjectApprovalTaskService) {\r\n\r\n }\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n showSubmit: boolean = false;\r\n uploadFlag: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n PageTitle = \"Add Project\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n backToTask: boolean = false;\r\n addProjectForm: FormGroup;\r\n poAttachment: any = [];\r\n planAttachment: any = [];\r\n isSubmitted = false;\r\n completionStatusList = this._global.completionStatus;\r\n projectTypeList: any = [];\r\n statusList: any = [];\r\n organizationsList: any = [];\r\n departmentList: any = [];\r\n userList: any = [];\r\n \r\n addLevelFlag: boolean = false;\r\n showUploadFlag: boolean = false;\r\n ProjectData = {\r\n \"projectName\": null, \"clientName\": null, \"departmentName\": null, \"projectLocation\": null,\r\n \"projectStopDate\": null, \"projectStartDate\": null, \"projectStatus\": null,\r\n \"remark\": null, \"poAttached\": false, \"projectPlan\": false, \"completionStatus\": null,\r\n \"percentageCompleted\": null, \"budget\": null, \"percentagePaymentReceived\": null,\r\n \"planAttachment\": null, \"poAttachment\": null, \"projectType\": null, \"projectPin\": null,\r\n \"practiceName\": null, \"organization\": null, \"entityId\": null, \"accountManager\": null,\r\n \"projectManager\": null, \"approvalStatus\": null\r\n };\r\n\r\n back = function () {\r\n if (this.backToTask == true) {\r\n this.router.navigate(['/searchProjectTask']);\r\n }\r\n else {\r\n this.router.navigate(['/searchProject']);\r\n }\r\n }\r\n //Get Project Type\r\n getProjectType = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getProjectType(headers).subscribe(resp => {\r\n debugger;\r\n this.projectTypeList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Get Organizations List\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.organizationsList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //Get Department List\r\n getAllDepartment = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n this.departmentList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // userList\r\n getAllUsers = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveUserList(headers).subscribe(resp => {\r\n this.userList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //Status List\r\n getProgressStatus = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getProgressStatus(headers).subscribe(resp => {\r\n this.statusList = resp;\r\n }, (error: any) => {\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addProject = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addProjectForm.invalid) {\r\n this.dialogService.openConfirmDialog(\"Invalid Form Data\");\r\n return;\r\n }\r\n this.ProjectData.projectStartDate = this.ProjectData.projectStartDate.getTime();\r\n this.ProjectData.projectStopDate = this.ProjectData.projectStopDate.getTime();\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n if (parseInt(this.ProjectData.projectStartDate) > parseInt(this.ProjectData.projectStopDate)) {\r\n this.dialogService.openConfirmDialog(\"Project Start Date should be less than Project End Date\");\r\n return;\r\n }\r\n if (this.ProjectData.percentagePaymentReceived > this.ProjectData.percentageCompleted) {\r\n this.dialogService.openConfirmDialog(\"Percentage Payment Recieved should be less than Percentage Completed\");\r\n return;\r\n }\r\n if (parseInt(this.ProjectData.percentagePaymentReceived) > 100) {\r\n this.dialogService.openConfirmDialog(\"Percentage Payment Recieved can't be more than 100 %\");\r\n return;\r\n }\r\n if (parseInt(this.ProjectData.percentageCompleted) > 100) {\r\n this.dialogService.openConfirmDialog(\"Percentage Completedcan't be more than 100 %\");\r\n return;\r\n }\r\n\r\n\r\n this.showLoading = true;\r\n var flagForLevel = flag\r\n this.projectService.saveProjectData(this.ProjectData, headers, flag).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Project \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.ProjectData = resp;\r\n this.ProjectData.projectStartDate = (new Date(this.ProjectData.projectStartDate));\r\n this.ProjectData.projectStopDate = (new Date(this.ProjectData.projectStopDate));\r\n // this.getAllLevel(flagForLevel);\r\n // this.next = true;\r\n \r\n this.router.navigate(['searchProject/updateProjectDetails', this.ProjectData.entityId, 'edit']);\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.ProjectData.projectStartDate = (new Date(this.ProjectData.projectStartDate));\r\n this.ProjectData.projectStopDate = (new Date(this.ProjectData.projectStopDate));\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n sendForApproval = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n if (this.backToTask == false) {\r\n var name = this.ProjectData.entityId;\r\n this.projectService.submitForApproval(name, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Project is successfully submitted for Approval.\";\r\n this.router.navigate(['/searchProject']);\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n else {\r\n this.ActionData.approvalStatus = \"APPROVED\";\r\n this.taskService.processTask(this.ActionData, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Project is re-submitted successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.router.navigate(['/searchProjectTask']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n }\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.name == o2.name && o1.id == o2.id;\r\n }\r\n compareUser(o1: any, o2: any): boolean {\r\n return o1 == o2;\r\n }\r\n \r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.projectById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ProjectData = resp;\r\n this.ProjectData.projectStartDate = (new Date(this.ProjectData.projectStartDate));\r\n this.ProjectData.projectStopDate = (new Date(this.ProjectData.projectStopDate));\r\n if (this.ProjectData.poAttachment != null) {\r\n this.poAttachment = this.fileuploadService.getSingleFileArray(this.ProjectData.poAttachment);\r\n }\r\n if (this.ProjectData.planAttachment != null) {\r\n this.planAttachment = this.fileuploadService.getSingleFileArray(this.ProjectData.planAttachment);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n \r\n editProject = function (id) {\r\n debugger;\r\n this.dc = false;\r\n this.project = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.taskService.taskById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ActionData = resp;\r\n this.editon(this.ActionData.projectid);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n submitUploads = function () {\r\n debugger;\r\n if (this.ProjectData.poAttached == true) {\r\n if (!this.fileuploadService.hasfile(this.poAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Please upload PO Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.poAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n this.ProjectData.poAttachment = this.fileuploadService.getFirstFilePath(this.poAttachment);\r\n\r\n }\r\n if (this.ProjectData.projectPlan == true) {\r\n //If mandatory then check for atleast one fileuploaded\r\n if (!this.fileuploadService.hasfile(this.planAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Please upload Plan Attachment\")\r\n return;\r\n }\r\n\r\n //Check if all files are uploaded Successfully\r\n if (!this.fileuploadService.allFilesUploaded(this.planAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n\r\n this.ProjectData.planAttachment = this.fileuploadService.getFirstFilePath(this.planAttachment);\r\n\r\n }\r\n this.uploadFlag = true;\r\n this.addProject('update');\r\n\r\n }\r\n ngOnInit(): void {\r\n this.getProjectType();\r\n this.getAllOrganizations();\r\n this.getAllDepartment();\r\n this.getAllUsers();\r\n this.getProgressStatus();\r\n this.addProjectForm = this.formBuilder.group({\r\n projectName: [null, Validators.required],\r\n organization: [null, Validators.required],\r\n departmentName: [null, Validators.required],\r\n clientName: [null, Validators.required],\r\n practiceName: [null, Validators.required],\r\n projectLocation: [null, Validators.required],\r\n projectStopDate: [null, Validators.required],\r\n projectStartDate: [null, Validators.required],\r\n projectStatus: [null],\r\n projectType: [null, Validators.required],\r\n percentagePaymentReceived: [null, Validators.required],\r\n percentageCompleted: [null, Validators.required],\r\n completionStatus: [null, Validators.required],\r\n accountManager: [null, Validators.required],\r\n projectManager: [null, Validators.required],\r\n planAttachment: [null],\r\n poAttachment: [null],\r\n poAttached: [false],\r\n projectPlan: [false],\r\n budget: [null],\r\n remark: [null],\r\n projectPin: [null]\r\n });\r\n if (this.route.snapshot.params.page == 'editTask') {\r\n this.PageTitle = \"Update Project\";\r\n this.editProject(this.route.snapshot.params.taskid);\r\n\r\n this.backToTask = true;\r\n }\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Project\";\r\n this.editon(this.route.snapshot.params.id);\r\n }\r\n\r\n }\r\n get formControls() {\r\n return this.addProjectForm.controls;\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ type.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Project Type is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Client Name is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ org.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Organization is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ dept.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Department is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ user.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Project Manager is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ user.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Account Manager is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Practice Name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Location is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Start Date is required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Stop Date is required\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ projectStatus.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n Project Plan\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n PO Attached\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Percentage Payment Received is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Percentage Completed is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ status.name }}\r\n \r\n \r\n
\r\n
\r\n Completion Status is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \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, ViewChild, Inject, Optional } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { ProjectMasterService } from './projectmaster.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ViewProjectComponent } from './viewproject/viewproject.component';\r\n\r\n@Component({\r\n selector: 'app-project',\r\n templateUrl: './projectmaster.component.html',\r\n providers: [ProjectMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ProjectMasterComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private projectService: ProjectMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['projectPin', 'projectName', 'clientName',\r\n 'projectStartDate', 'projectStatus', 'approvalStatus', 'action'];\r\n ProjectRecord: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n FilterData = {\r\n \"projectType\": null, \"projectName\": null, \"clientName\": null, \"organization\": null,\r\n \"projectStartDate\": null, \"projectStopDate\": null, \"projectStatus\": null\r\n };\r\n\r\n PageTitle = \"Project List\";\r\n filterDiv: boolean = false;\r\n projectId:any;\r\n\r\n projectMasterAdd: boolean = false;\r\n projectMasterEdit: boolean = false;\r\n projectMasterView: boolean = false;\r\n projectMasterDelete: boolean = false;\r\n\r\n addProject = function () {\r\n this.router.navigate(['/addProject']);\r\n // this.router.navigate(['/projectDetails']);\r\n //this.router.navigate(['/projectConfiguration']);\r\n }\r\n\r\n itemValue: any;\r\n onEdit = function (rowIndex) {\r\n this.itemValue = rowIndex;\r\n }\r\n\r\n filterFunc = function () {\r\n this.getProjectType();\r\n this.getProgressStatus();\r\n this.getAllOrganizations();\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n projectTypeList: any = [];\r\n statusList: any = [];\r\n organizationsList: any = [];\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.ProjectRecord.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n // organizationsList\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.organizationsList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // category List\r\n\r\n getProjectType = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getProjectType(headers).subscribe(resp => {\r\n debugger;\r\n this.projectTypeList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getProgressStatus = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getProgressStatus(headers).subscribe(resp => {\r\n debugger;\r\n this.statusList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n search = function () {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.getProjectList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.ProjectRecord = new MatTableDataSource(resp.content);\r\n this.ProjectRecord.sort = this.sort;\r\n this.ProjectRecord.paginator = this.paginator;\r\n this.totalRecords = this.ProjectRecord.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n //delete \r\n\r\n onDelete = function (name) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n var experienceId = name;\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.deleteProject(experienceId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project is deleted successfully.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n saveOpenBravoId = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.saveOpenBravoId(this.projectId, name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Openbravo project id is successfully updated.\";\r\n this.search();\r\n\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.itemValue = null;\r\n this.projectId = null;\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n submitForApproval = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project is successfully submitted for Approval.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n viewProject = function (id) {\r\n debugger;\r\n this.data = {};\r\n this.data.id = id;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.width = \"70%\";\r\n dialogConfig.data = this.data;\r\n this.dialog.open(ViewProjectComponent, dialogConfig).afterClosed().subscribe(res => {\r\n debugger;\r\n\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //Role Rights\r\n this.projectMasterAdd = this._global.UserRights.includes(\"Project_Master_ADD\");\r\n this.projectMasterEdit = this._global.UserRights.includes(\"Project_Master_EDIT\");\r\n this.projectMasterView = this._global.UserRights.includes(\"Project_Master_VIEW\");\r\n this.projectMasterDelete = this._global.UserRights.includes(\"Project_Master_DELETE\");\r\n\r\n this.search();\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ type.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ status.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ organization.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Project Pin \r\n
{{ProjectRecord.projectPin}}
\r\n
Project Name / Type\r\n \r\n
{{ProjectRecord.projectName}}
\r\n
{{ProjectRecord.projectType}}
\r\n\r\n
Client Name \r\n
{{ProjectRecord.clientName}}
\r\n\r\n
Proj. Start / End \r\n
{{ProjectRecord.projectStartDate| date:'dd-MM-yyyy'}}
\r\n
{{ProjectRecord.projectStopDate| date:'dd-MM-yyyy'}}
\r\n
Proj. Status \r\n
{{ProjectRecord.projectStatus}}
\r\n
Approval Status \r\n
{{ProjectRecord.approvalStatus}}
\r\n
Action \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n visibility\r\n \r\n\r\n \r\n \r\n \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveProjectData(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\ngetProjectList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project/projectByFilters';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nprojectById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project/getProjectById/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteProject(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\nsubmitForApproval(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project/getSubmitForApproval/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ngetAllLevels(project,header, flag) {\r\n debugger;\r\n \r\n if (flag == 'default') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/getDefaultAllLevels?project='+ project;\r\n return this._http.get(url, { headers: header });\r\n }\r\n if (flag == 'all') {\r\n debugger; \r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/getAllLevels?project='+ project ;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}\r\ngetLevelsByProject(project,header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/mappingByProject/'+ project ;\r\n return this._http.get(url, { headers: header });\r\n}\r\naddLevel(org, project, body, header, flag) {\r\n debugger;\r\n \r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/'+ project + '/' + org;\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/'+ project + '/' + org;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n}\r\n\r\ngetHistoryDataById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectApproval/taskHistory/'+id;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteLevel(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/projectmapping/'+id;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\nsaveOpenBravoId(project, id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/project/saveOpenBravoId?id='+id+\"&project=\"+project;\r\n return this._http.get(url , {headers: header});\r\n}\r\n}\r\n","import { Component, OnInit, Inject, Optional, } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { ProjectMasterService } from '../projectmaster.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-viewproject',\r\n templateUrl: './viewproject.component.html',\r\n providers: [ProjectMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class ViewProjectComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private projectService: ProjectMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n\r\n\r\n showLoading: boolean = false;\r\n disable = false;\r\n showSubmit: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n url = null;\r\n taskBackflag: boolean = false;\r\n\r\n PageTitle = \"Add Project\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n ProjectData = {\r\n \"projectName\": null, \"clientName\": null, \"departmentName\": null, \"projectLocation\": null,\r\n \"projectStopDate\": null, \"projectStartDate\": null, \"projectStatus\": null,\r\n \"remark\": null, \"poAttached\": false, \"projectPlan\": false, \"completionStatus\": null,\r\n \"percentageCompleted\": null, \"budget\": null, \"percentagePaymentReceived\": null,\r\n \"planAttachment\": null, \"poAttachment\": null, \"projectType\": null, \"projectPin\": null,\r\n \"practiceName\": null, \"organization\": null, \"entityId\": null, \"accountManager\": null,\r\n \"projectManager\": null, \"approvalStatus\": null, \"isDeleted\": null\r\n };\r\n\r\n addProjectForm: FormGroup;\r\n MappingForm: FormGroup;\r\n uploadForm: FormGroup;\r\n\r\n poAttachment: any = [];\r\n planAttachment: any = [];\r\n\r\n isSubmitted = false;\r\n completionStatusList = this._global.completionStatus;\r\n\r\n back = function () {\r\n if (this.taskBackflag == false) {\r\n this.router.navigate(['/searchProject']);\r\n }\r\n else {\r\n this.router.navigate(['/searchProjectTask']);\r\n }\r\n\r\n }\r\n\r\n projectTypeList: any = [];\r\n statusList: any = [];\r\n organizationsList: any = [];\r\n departmentList: any = [];\r\n userList: any = [];\r\n levelList: any = [];\r\n newLevelList: any = [];\r\n taskHistoryList: any = [];\r\n\r\n addLevelFlag: boolean = false;\r\n\r\n showUploadFlag: boolean = false;\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n debugger;\r\n return o1.name == o2.name && o1.id == o2.id;\r\n }\r\n\r\n compareUser(o1: any, o2: any): boolean {\r\n debugger;\r\n return o1 == o2;\r\n }\r\n\r\n getUserName(o1: any): boolean {\r\n debugger;\r\n for (let i = 0; i < this.userList.length; i++) {\r\n\r\n if (o1 == this.userList[i].selectionid) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n getProjectType = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getProjectType(headers).subscribe(resp => {\r\n debugger;\r\n this.projectTypeList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // projectList\r\n getProgressStatus = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n this.sharedService.getProgressStatus(headers).subscribe(resp => {\r\n debugger;\r\n this.statusList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // organizationsList\r\n getAllOrganizations = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n debugger;\r\n this.organizationsList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // organizationsList\r\n getAllDepartment = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDepartmentList(headers).subscribe(resp => {\r\n debugger;\r\n this.departmentList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // userList\r\n getAllUsers = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getActiveUserList(headers).subscribe(resp => {\r\n debugger;\r\n this.userList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // levelList\r\n getAllLevel = function (flag) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n // var projectType = this.ProjectData.projectType;\r\n var project = this.ProjectData.entityId;\r\n this.projectService.getLevelsByProject(project, headers).subscribe(resp => {\r\n debugger;\r\n this.levelList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n // Edit\r\n\r\n editon = function (id) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.projectById(id, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.ProjectData = resp;\r\n this.ProjectData.projectStartDate = (new Date(this.ProjectData.projectStartDate));\r\n this.ProjectData.projectStopDate = (new Date(this.ProjectData.projectStopDate));\r\n this.getAllLevel('update');\r\n this.getHistoryDataById(this.ProjectData.entityId);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n submitForApproval = function (name) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project is successfully submitted for Approval.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n\r\n getHistoryDataById = function (entityId) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.projectService.getHistoryDataById(entityId, headers).subscribe(resp => {\r\n debugger;\r\n this.taskHistoryList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n sendForApproval = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var name = this.ProjectData.entityId;\r\n this.projectService.submitForApproval(name, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Project is successfully submitted for Approval.\";\r\n this.search();\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n })\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n\r\n }\r\n disableFields = function () {\r\n this.addProjectForm.get('projectName').disable();\r\n this.addProjectForm.get('user').disable();\r\n this.addProjectForm.get('organization').disable();\r\n this.addProjectForm.get('departmentName').disable();\r\n this.addProjectForm.get('clientName').disable();\r\n this.addProjectForm.get('practiceName').disable();\r\n this.addProjectForm.get('projectLocation').disable();\r\n this.addProjectForm.get('projectStopDate').disable();\r\n this.addProjectForm.get('projectStartDate').disable();\r\n this.addProjectForm.get('projectStatus').disable();\r\n this.addProjectForm.get('projectType').disable();\r\n this.addProjectForm.get('percentagePaymentReceived').disable();\r\n this.addProjectForm.get('percentageCompleted').disable();\r\n this.addProjectForm.get('completionStatus').disable();\r\n this.addProjectForm.get('accountManager').disable();\r\n this.addProjectForm.get('projectManager').disable();\r\n this.addProjectForm.get('poAttached').disable();\r\n this.addProjectForm.get('projectPlan').disable();\r\n this.addProjectForm.get('budget').disable();\r\n this.addProjectForm.get('remark').disable();\r\n this.addProjectForm.get('projectPin').disable();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getProjectType();\r\n this.getProgressStatus();\r\n this.getAllOrganizations();\r\n this.getAllDepartment();\r\n this.getAllUsers();\r\n\r\n this.addProjectForm = this.formBuilder.group({\r\n projectName: [null],\r\n organization: [null],\r\n departmentName: [null],\r\n clientName: [null],\r\n practiceName: [null],\r\n projectLocation: [null],\r\n projectStopDate: [null],\r\n projectStartDate: [null],\r\n projectStatus: [null],\r\n projectType: [null],\r\n percentagePaymentReceived: [null],\r\n percentageCompleted: [null],\r\n completionStatus: [null],\r\n accountManager: [null],\r\n projectManager: [null],\r\n planAttachment: [null],\r\n poAttachment: [null],\r\n poAttached: [false],\r\n projectPlan: [false],\r\n budget: [null],\r\n remark: [null],\r\n projectPin: [null],\r\n user: [null]\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'view') {\r\n this.taskBackflag = false;\r\n }\r\n if (this.route.snapshot.params.page == 'viewTask') {\r\n this.taskBackflag = true;\r\n }\r\n this.PageTitle = \"View Project\";\r\n this.editon(this.route.snapshot.params.id);\r\n this.disableFields();\r\n\r\n this.url = this._global.baseUrl;\r\n\r\n }\r\n get formControls() {\r\n return this.addProjectForm.controls;\r\n }\r\n\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

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

\r\n Project Details\r\n

\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ type.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Project Type\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project\r\n Name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Client\r\n Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ org.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Organization\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ dept.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Department\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ user.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Project Manager\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ user.selectionvalue }}\r\n \r\n \r\n
\r\n
\r\n Account Manager\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Practice Name\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Location\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Start Date is\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Project Stop Date is\r\n required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ projectStatus.selectionvalue }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n View Attachment \r\n Project Plan\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n View Attachment\r\n \r\n PO Attached\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Percentage Payment Received\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Percentage Completed\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ status.name }}\r\n \r\n \r\n
\r\n
\r\n Department\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n

0\">\r\n Project Configuration\r\n

\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n {{item.workflowlevel}}\r\n\r\n \r\n -Select-\r\n \r\n {{ type.selectionvalue }}\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

Project Approval History\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
DateActioned ByAssigned ToStatusRemark
{{commentsData.createdDate |date}}{{commentsData.updatedBy}}{{commentsData.assignToRole}} {{commentsData.approvalStatus}}{{commentsData.remark}}
\r\n\r\n\r\n
\r\n \r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
","export class MasterFilterSession {\r\n locationid: string;\r\n policestation: string; \r\n}\r\n\r\nexport class PoliceStnFilterSession {\r\n policestationname: string;\r\n}\r\n\r\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient, HttpEventType, HttpErrorResponse } from '@angular/common/http';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { CityService } from './city.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n\r\n@Component({\r\n selector: 'app-city',\r\n templateUrl: './city.component.html',\r\n providers: [CityService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class CityComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private cityService: CityService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = ['cityname', 'citycode', 'state', 'district', 'action'];\r\n CityMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n\r\n showLoading: boolean = false;\r\n FilterData = {\r\n \"citycode\": null\r\n };\r\n filterDiv: boolean = false;\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n closeFilter = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"City Master\";\r\n add: boolean = true;\r\n edit: boolean = false;\r\n list: boolean = true;\r\n cityAdd: boolean = false;\r\n cityEdit: boolean = false;\r\n cityDelete: boolean = false;\r\n CityData = {\r\n \"citycode\": \"\"\r\n };\r\n stateList: any = [];\r\n districtList: any = [];\r\n formatData = {};\r\n CityName = \"\";\r\n StateName = \"\";\r\n DistrictName = \"\";\r\n\r\n addCityForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n \r\n applyFilter(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.CityMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.PageTitle = \"City Master\";\r\n this.enabledField();\r\n }\r\n\r\n\r\n\r\n\r\n onDelete = function (name, district, state) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.cityService.deleteCityByid(name, district, state, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n })\r\n }\r\n\r\n // State List\r\n\r\n getAllState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // State List\r\n\r\n getAllDistrictByState = function (stateName) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDistrictList(headers, stateName).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addCity = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addCityForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.formatData.cityname = this.CityName;\r\n this.formatData.state = this.StateName;\r\n this.formatData.district = this.DistrictName;\r\n this.CityData.id = this.formatData;\r\n this.showLoading = true;\r\n this.cityService.saveCity(this.CityData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"City \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.GeographyData = {};\r\n //this.addCityForm.reset()\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"City Master\";\r\n this.enabledField();\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.cityService.getCityList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.CityMasterData = new MatTableDataSource(resp);\r\n this.CityMasterData.filterPredicate = (data: any, filter) => {\r\n const dataStr =JSON.stringify(data).toLowerCase();\r\n return dataStr.indexOf(filter) != -1; \r\n }\r\n\r\n this.CityMasterData.sort = this.sort;\r\n this.CityMasterData.paginator = this.paginator;\r\n this.totalRecords = this.CityMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (name, district, state) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update City\";\r\n this.disabledField();\r\n this.cityService.CityById(name, district, state, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.CityData = resp;\r\n this.CityName = this.CityData.id.cityname;\r\n this.StateName = this.CityData.id.state;\r\n this.DistrictName = this.CityData.id.district;\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addCityForm.get('cityname').disable();\r\n this.addCityForm.get('state').disable();\r\n this.addCityForm.get('district').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addCityForm.get('cityname').enable();\r\n this.addCityForm.get('state').enable();\r\n this.addCityForm.get('district').enable();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n //Role Rights\r\n this.cityEdit = this._global.UserRights.includes(\"City_Master_EDIT\");\r\n this.cityDelete = this._global.UserRights.includes(\"City_Master_DELETE\");\r\n this.cityAdd = this._global.UserRights.includes(\"City_Master_ADD\");\r\n\r\n\r\n this.addCityForm = this.formBuilder.group({\r\n cityname: ['', Validators.required],\r\n citycode: ['', Validators.required],\r\n state: ['', Validators.required],\r\n district: ['', Validators.required]\r\n });\r\n this.getAllState();\r\n this.search();\r\n }\r\n get formControls() { return this.addCityForm.controls; }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n filter Filter\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
City\r\n name is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
City\r\n Code is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n District\r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n
\r\n
District is\r\n required
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
City Name \r\n {{CityMasterData.id.cityname}} City Code \r\n {{CityMasterData.citycode}} State \r\n {{CityMasterData.id.state}} District \r\n {{CityMasterData.id.district}} Action \r\n \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 { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders, HttpEvent, HttpErrorResponse, HttpEventType } from \"@angular/common/http\";\r\nimport { map } from 'rxjs/operators';\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CityService {\r\n\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n\r\n \r\n\r\n saveCity(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/city';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/city';\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n }\r\n\r\n getCityList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/city/cityByFilter';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n CityById(name, district, state, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/city/' + name + '/' + district + '/' + state;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deleteCityByid(name, district, state, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/city/' + name + '/' + district + '/' + state;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { GeographyService } from './geography.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n// import { Observable } from 'rxjs';\r\n// import { map, startWith } from 'rxjs/operators';\r\n\r\n// export interface stateList {\r\n// name: string;\r\n// }\r\n\r\n@Component({\r\n selector: 'app-geography',\r\n templateUrl: './geography.component.html',\r\n providers: [GeographyService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class GeographyComponent implements OnInit {\r\n\r\n // parentgeography = new FormControl();\r\n // options: stateList[] = [\r\n // { name: 'Mary' },\r\n // { name: 'Shelley' },\r\n // { name: 'Igor' }\r\n // ];\r\n // filteredOptions: Observable;\r\n \r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private geographyService: GeographyService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['geographyname', 'geographycode', 'parentgeography', 'action'];\r\n GeographyMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n showLoading: boolean = false;\r\n filterDiv: boolean = false;\r\n FilterData = {\r\n \"geographycode\": null,\r\n \"isDeleted\": false\r\n };\r\n\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n\r\n closeFilter = function () {\r\n debugger;\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"Geography Master\";\r\n add: boolean = true;\r\n edit: boolean = false;\r\n list: boolean = true;\r\n geographyAdd: boolean = false;\r\n geographyEdit: boolean = false;\r\n geographyDelete: boolean = false;\r\n GeographyData = {\r\n \"type\": \"\", \"geographycode\": \"\"\r\n };\r\n stateList: any = [];\r\n formatData = {};\r\n GeographyName = \"\";\r\n ParentGeographyName = \"\";\r\n districtError: boolean = false;\r\n\r\n addGeographyForm: FormGroup;\r\n isSubmitted = false;\r\n\r\n applyFilter(event: Event) {\r\n debugger;\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.GeographyMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n //this.GeographyData = {};\r\n // this.addGeographyForm.reset()\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.PageTitle = \"Geography Master\";\r\n this.enabledField();\r\n }\r\n\r\n // State List\r\n\r\n getAllState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.addGeographyForm.get('type').disable();\r\n this.addGeographyForm.get('parentgeography').disable();\r\n this.addGeographyForm.get('geographyname').disable();\r\n }\r\n // enabled Function\r\n enabledField = function () {\r\n this.addGeographyForm.get('type').enable();\r\n this.addGeographyForm.get('parentgeography').enable();\r\n this.addGeographyForm.get('geographyname').enable();\r\n }\r\n\r\n // Add / update function\r\n addGeography = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addGeographyForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n\r\n if (this.GeographyData.type == 'State') {\r\n this.ParentGeographyName = \"NA\";\r\n }\r\n if (this.GeographyData.type == 'District') {\r\n if (this.ParentGeographyName == null || this.ParentGeographyName == \"\" || this.ParentGeographyName == \"NA\") {\r\n this.districtError = true;\r\n return;\r\n }\r\n }\r\n this.formatData.geographyname = this.GeographyName;\r\n this.formatData.parentgeography = this.ParentGeographyName;\r\n this.GeographyData.id = this.formatData;\r\n this.showLoading = true;\r\n this.districtError = false;\r\n this.geographyService.saveGeography(this.GeographyData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Geography \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.GeographyData = {};\r\n //this.addGeographyForm.reset()\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Geography Master\";\r\n this.enabledField();\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n onDelete = function (name, state) {\r\n debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.geographyService.deleteGeographyByid(name, state, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n })\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.geographyService.getGeographyList(this.FilterData, headers).subscribe(resp => {\r\n debugger;\r\n this.GeographyMasterData = new MatTableDataSource(resp);\r\n \r\n this.GeographyMasterData.filterPredicate = (data: any, filter) => {\r\n const dataStr =JSON.stringify(data).toLowerCase();\r\n return dataStr.indexOf(filter) != -1; \r\n }\r\n\r\n this.GeographyMasterData.sort = this.sort;\r\n this.GeographyMasterData.paginator = this.paginator;\r\n\r\n this.totalRecords = this.GeographyMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (name, state) {\r\n debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update Geography\";\r\n this.disabledField();\r\n this.geographyService.GeoById(name, state, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.GeographyData = resp;\r\n this.GeographyName = this.GeographyData.id.geographyname;\r\n this.ParentGeographyName = this.GeographyData.id.parentgeography;\r\n if (this.ParentGeographyName == \"NA\" || this.ParentGeographyName == null) {\r\n this.GeographyData.type = \"State\";\r\n } else {\r\n this.GeographyData.type = \"District\";\r\n }\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //Role Rights \r\n this.geographyEdit = this._global.UserRights.includes(\"Geography_Master_EDIT\");\r\n this.geographyDelete = this._global.UserRights.includes(\"Geography_Master_DELETE\");\r\n this.geographyAdd = this._global.UserRights.includes(\"Geography_Master_ADD\");\r\n\r\n\r\n this.addGeographyForm = this.formBuilder.group({\r\n type: ['', Validators.required],\r\n geographyname: ['', Validators.required],\r\n geographycode: ['', Validators.required],\r\n parentgeography: ['']\r\n });\r\n this.getAllState();\r\n this.search();\r\n\r\n\r\n\r\n // this.filteredOptions = this.parentgeography.valueChanges\r\n // .pipe(\r\n // startWith(''),\r\n // map(value => typeof value === 'string' ? value : value.name),\r\n // map(name => name ? this._filter(name) : this.options.slice())\r\n // );\r\n\r\n }\r\n // displayFn(user: stateList): string {\r\n // return user && user.name ? user.name : '';\r\n // }\r\n // private _filter(name: string): stateList[] {\r\n // const filterValue = name.toLowerCase();\r\n // return this.options.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\r\n // }\r\n\r\n\r\n get formControls() { return this.addGeographyForm.controls; }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n filter Filter\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n Geography Type\r\n \r\n -Select-\r\n State\r\n District\r\n\r\n \r\n
\r\n
Geography type is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Geography\r\n Code is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Geography\r\n name is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n State is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Geography Name \r\n {{GeographyMasterData.id.geographyname}} Geography Code \r\n {{GeographyMasterData.geographycode}} State \r\n {{GeographyMasterData.id.parentgeography}} Action \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GeographyService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n \r\n saveGeography(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/geograpghy';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/geograpghy';\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getGeographyList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/geograpghy/geographyByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\nGeoById(name, state, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/geograpghy/'+name+'/'+state;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\ndeleteGeographyByid(name, state, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/geograpghy/'+name+'/' +state;\r\n return this._http.delete(url, { headers: header });\r\n}\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { LocationService } from '../location.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\n@Component({\r\n selector: 'app-add-location',\r\n templateUrl: './add-location.component.html',\r\n providers: [LocationService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddLocationComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private locationService: LocationService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n showLoading: boolean = false;\r\n PageTitle = \"Location Master\";\r\n addLocationForm: FormGroup;\r\n isSubmitted = false;\r\n successMessage: string;\r\n add: boolean = true;\r\n edit: boolean = false;\r\n list: boolean = true;\r\n disablefield:boolean=false; \r\n matSelectDuration = this._global.matSelectDurationTime; \r\n \r\n\r\n\r\n back = function () {\r\n this.router.navigate(['/searchLocation']);\r\n }\r\n addlocation(flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addLocationForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n console.log(this.addLocationForm.value);\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.addLocationForm.value.surveydate = this.addLocationForm.value.surveydate.getTime();\r\n this.addLocationForm.value.approvaldate = this.addLocationForm.value.approvaldate.getTime();\r\n this.locationService.saveLocation(this.addLocationForm.value, headers, flag).subscribe(res => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Unique Site ID \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.router.navigate(['/searchLocation']); \r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Edit\r\n editon = function (locationId, flag) {\r\n debugger;\r\n this.add = false;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.locationService.findlocationById(locationId, headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.addLocationForm.value = resp;\r\n //this.getActiveDistrictFromstate(this.addLocationForm.value.state);\r\n this.addLocationForm.patchValue({\r\n locationid: this.addLocationForm.value.locationid,\r\n state: this.addLocationForm.value.state,\r\n district: this.addLocationForm.value.district,\r\n city: this.addLocationForm.value.city,\r\n policestation: this.addLocationForm.value.policestation,\r\n locationaddress: this.addLocationForm.value.locationaddress,\r\n surveydate: (new Date(this.addLocationForm.value.surveydate)),\r\n approvaldate: (new Date(this.addLocationForm.value.approvaldate)),\r\n \r\n zip: this.addLocationForm.value.zip,\r\n country: this.addLocationForm.value.country,\r\n latitude: this.addLocationForm.value.latitude,\r\n longitude: this.addLocationForm.value.longitude,\r\n contactperson: this.addLocationForm.value.contactperson,\r\n emailid: this.addLocationForm.value.emailid,\r\n phoneno: this.addLocationForm.value.phoneno,\r\n isprioritysite: this.addLocationForm.value.isprioritysite,\r\n warehouse: this.addLocationForm.value.warehouse\r\n });\r\n\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // State List\r\n stateList: any = [];\r\n\r\n getActiveState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // district List\r\n districtList: any = [];\r\n getActiveDistrictFromstate = function (state) {\r\n debugger;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getDistrictList(headers, state).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // City List\r\n cityList: any = [];\r\n getActiveCityFromDistrict = function (district) {\r\n debugger;\r\n if (district == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, district).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // PoliceStation List\r\n policestationList: any = [];\r\n getActivePoliceStationFromCity = function (name) {\r\n debugger;\r\n if (name == null) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActivePoliceStationFromCity(headers, name).subscribe(resp => {\r\n debugger;\r\n this.policestationList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Disabled Function\r\n disabledField = function () {\r\n this.disablefield =true;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.disabledField();\r\n this.edit = true;\r\n this.PageTitle = \"Update Unique Site Id\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n }\r\n\r\n if (this.route.snapshot.params.page == 'view') {\r\n this.edit = false;\r\n this.PageTitle = \"View Unique Site Id\";\r\n this.editon(this.route.snapshot.params.id, 'view');\r\n }\r\n\r\n this.getActiveState();\r\n\r\n this.addLocationForm = new FormGroup({\r\n locationid: new FormControl('', Validators.required),\r\n state: new FormControl('', Validators.required),\r\n district: new FormControl('', Validators.required),\r\n city: new FormControl('', Validators.required),\r\n policestation: new FormControl('', Validators.required),\r\n locationaddress: new FormControl('', Validators.required),\r\n zip: new FormControl('', Validators.required),\r\n country: new FormControl('INDIA'),\r\n latitude: new FormControl('0'),\r\n longitude: new FormControl('0'),\r\n contactperson: new FormControl(''),\r\n warehouse: new FormControl(Boolean),\r\n //contact_person:new FormControl('', Validators.required),\r\n phoneno: new FormControl(''),\r\n emailid: new FormControl(''),\r\n isprioritysite: new FormControl(Boolean),\r\n surveydate: new FormControl('', Validators.required),\r\n approvaldate: new FormControl('', Validators.required)\r\n\r\n //name: new FormControl('', [Validators.required, Validators.minLength(3)]),\r\n //email: new FormControl('', [Validators.required, Validators.email]),\r\n\r\n })\r\n }\r\n\r\n get formControls() {\r\n return this.addLocationForm.controls;\r\n }\r\n public hasError = (controlName: string, errorName: string) => {\r\n return this.addLocationForm.controls[controlName].hasError(errorName);\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n Unique Site Id is\r\n required\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n State is required\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n District\r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n District is required\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ city.selectionvalue }}\r\n \r\n \r\n City is required\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n -Select-\r\n \r\n {{ policestation.selectionvalue }}\r\n \r\n \r\n Police Station\r\n is required\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n Unique Site\r\n ID Address is required\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Survey date is\r\n required\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Approval date is\r\n required\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n Zip code is\r\n required\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n IS Priority Site\r\n
\r\n
\r\n
\r\n
\r\n \r\n Warehouse\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { LocationService } from './location.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MasterFilterSession } from '../UniqueSiteIdFilterData';\r\n@Component({\r\n selector: 'app-location',\r\n templateUrl: './location.component.html',\r\n providers: [LocationService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class LocationComponent implements OnInit {\r\n result: boolean = false;\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private locationService: LocationService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['locationid', 'contactperson', 'phoneno', 'state', 'city', 'isprioritysite', 'action'];\r\n LocationMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n showLoading: boolean = false;\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n FilterData = { \"locationid\": \"\", \"policestation\": \"\" };\r\n PageTitle = \"Unique Site ID Details\";\r\n filterDiv: boolean = false;\r\n //User Rgiht Declaration\r\n locationEdit: boolean = false;\r\n locationView: boolean = false;\r\n locationAdd: boolean = false;\r\n locationDelete: boolean = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.LocationMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n UniqueSiteId = function () {\r\n this.router.navigate(['/addLocation']);\r\n }\r\n filterFunc = function () {\r\n this.filterDiv = true;\r\n }\r\n cancel = function () {\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n sessionStorage.removeItem(\"LOCATIONFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n }\r\n search = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.locationService.locationList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let locationFilterSession = new MasterFilterSession();\r\n locationFilterSession.locationid = this.FilterData.locationid;\r\n locationFilterSession.policestation = this.FilterData.policestation;\r\n sessionStorage.setItem('LOCATIONFILTERSESSION', JSON.stringify(locationFilterSession));\r\n this.result = !Object.values(locationFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.LocationMasterData = new MatTableDataSource(resp);\r\n this.LocationMasterData.sort = this.sort;\r\n this.LocationMasterData.paginator = this.paginator;\r\n this.totalRecords = this.LocationMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Delete Function\r\n onDelete = function (id) {\r\n this.DeleteMsg = 'Are you sure you want to Delete this user?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.locationService.deleteLocationById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.locationEdit = this._global.UserRights.includes(\"UniqueSiteID_Master_EDIT\");\r\n this.locationView = this._global.UserRights.includes(\"UniqueSiteID_Master_VIEW\");\r\n this.locationDelete = this._global.UserRights.includes(\"UniqueSiteID_Master_DELETE\");\r\n this.locationAdd = this._global.UserRights.includes(\"UniqueSiteID_Master_ADD\"); \r\n //Assign Filter\r\n let locationFilterSession = JSON.parse(sessionStorage.getItem('LOCATIONFILTERSESSION'));\r\n if (sessionStorage.getItem('LOCATIONFILTERSESSION') != null) {\r\n this.FilterData.locationid = locationFilterSession.locationid;\r\n this.FilterData.policestation = locationFilterSession.policestation;\r\n }\r\n if (locationFilterSession != null) {\r\n this.result = !Object.values(locationFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Unique Site Id \r\n {{LocationMasterData.locationid}}\r\n Contact Person \r\n {{LocationMasterData.contactperson}}\r\n Phone No. / Email\r\n\r\n
{{LocationMasterData.phoneno}}
\r\n
{{LocationMasterData.emailid}}
\r\n
State/District \r\n
{{LocationMasterData.state}}
\r\n
{{LocationMasterData.district}}
\r\n
City / Police Station \r\n
{{LocationMasterData.city}}
\r\n
{{LocationMasterData.policestation}}
\r\n
Is priority \r\n \r\n \r\n Action \r\n \r\n visibility\r\n \r\n \r\n edit\r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders, HttpEvent, HttpErrorResponse, HttpEventType} from \"@angular/common/http\";\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { Location } from '../../app_data/location'\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n //'X-PINGOTHER': 'pinpong',\r\n // 'Content-Type': 'application/json',\r\n // 'Access-Control-Allow-Origin': '*',\r\n // 'Access-Control-Allow-Method': 'GET,POST,PUT'\r\n }\r\n )\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n locationList(body, header) { \r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/location/locationByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n\r\n public saveLocation(location: Location, header, flag):Observable {\r\n if (flag == 'save') {\r\n var url = this._global.baseAPIUrl + 'ipms/location';\r\n return this._http.post(url, location, {headers: header});\r\n }\r\n\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/location';\r\n return this._http.put(url, location, {headers: header});\r\n }\r\n\r\n }\r\n\r\n public findlocationById(id, header):Observable {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/location?locationid='+id;\r\n return this._http.get(url, {headers: header});\r\n\r\n }\r\n\r\n deleteLocationById(id, header):Observable {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/location?locationid='+id;\r\n return this._http.delete(url, { headers: header });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators, FormControl } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { PoliceStationService } from './police-station.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { PoliceStnFilterSession } from '../UniqueSiteIdFilterData';\r\n@Component({\r\n selector: 'app-police-station',\r\n templateUrl: './police-station.component.html',\r\n providers: [PoliceStationService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class PoliceStationComponent implements OnInit {\r\n result: boolean = false;\r\n filteredOptions: any = [];\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private policeStationService: PoliceStationService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['policestationname', 'policestationcode', 'city', 'action'];\r\n PoliceMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n\r\n FilterData = {\r\n \"policestationname\": null\r\n };\r\n filterDiv: boolean = false;\r\n filterFunc = function () {\r\n debugger;\r\n this.filterDiv = true;\r\n }\r\n closeFilter = function () {\r\n sessionStorage.removeItem(\"POLICESTNFILTERSESSION\");\r\n this.result = false;\r\n this.search();\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n PageTitle = \"Police Station Master\";\r\n add: boolean = true;\r\n edit: boolean = false;\r\n list: boolean = true;\r\n policeAdd: boolean = false;\r\n policeEdit: boolean = false;\r\n policeDelete: boolean = false;\r\n PoliceStnData = {\r\n \"policestationname\": \"\", \"policestationcode\": \"\", \"city\": \"\"\r\n };\r\n cityList: any = [];\r\n addPoliceStationForm: FormGroup;\r\n isSubmitted = false;\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.PoliceMasterData.filter = filterValue.trim().toLowerCase();\r\n }\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.PageTitle = \"Police Station Master\";\r\n }\r\n // City List\r\n getAllCity = function () {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getCityList(headers).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n if(error.statusText==\"Unknown Error\"){\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n // Add / update function\r\n addPoliceStn = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n if (this.addPoliceStationForm.invalid) {\r\n return;\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.policeStationService.savePoliceStation(this.PoliceStnData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Police Station \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n //this.addPoliceStationForm.reset()\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"Police Station Master\";\r\n }\r\n })\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n onDelete = function (name) {\r\n //debugger;\r\n this.DeleteMsg = 'Are you sure you want to Delete this record?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.policeStationService.deletePoliceStnById(name, headers).subscribe(resp => {\r\n //debugger;\r\n this.successMessage = 'Deleted Successfully';\r\n this.showLoading = false;\r\n this.formDirective.resetForm();\r\n this.isSubmitted = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n // Search function\r\n search = function () {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.policeStationService.getpoliceStationList(this.FilterData, headers).subscribe(resp => {\r\n // Set Filter\r\n let policeStnFilterSession = new PoliceStnFilterSession();\r\n policeStnFilterSession.policestationname = this.FilterData.policestationname;\r\n sessionStorage.setItem('POLICESTNFILTERSESSION', JSON.stringify(policeStnFilterSession));\r\n this.result = !Object.values(policeStnFilterSession).every(o => o === null || o === undefined);\r\n this.filterDiv = false;\r\n this.PoliceMasterData = new MatTableDataSource(resp);\r\n this.PoliceMasterData.sort = this.sort;\r\n this.PoliceMasterData.paginator = this.paginator;\r\n this.totalRecords = this.PoliceMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Get data by id\r\n editon = function (name) {\r\n //debugger;\r\n this.list = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.PageTitle = \"Update Police Station\";\r\n this.policeStationService.policeStnById(name, headers).subscribe(resp => {\r\n //debugger;\r\n this.showLoading = false;\r\n this.PoliceStnData = resp;\r\n }, (error: any) => {\r\n //debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n filterStates(val: string) {\r\n debugger;\r\n if (val) {\r\n let filterValue = val.toLowerCase();\r\n return this.cityList.filter(item => item.selectionvalue.toLowerCase().startsWith(filterValue));\r\n }\r\n return this.cityList;\r\n }\r\n ngOnInit(): void {\r\n\r\n //Role Rights\r\n this.policeAdd = this._global.UserRights.includes(\"Police_Station_Master_ADD\");\r\n this.policeEdit = this._global.UserRights.includes(\"Police_Station_Master_EDIT\");\r\n this.policeDelete = this._global.UserRights.includes(\"Police_Station_Master_DELETE\");\r\n this.addPoliceStationForm = this.formBuilder.group({\r\n policestationname: ['', Validators.required],\r\n policestationcode: ['', Validators.required],\r\n city: ['', Validators.required]\r\n });\r\n\r\n // this.filteredOptions = this.city.valueChanges.pipe(\r\n this.filteredOptions = this.addPoliceStationForm.controls['city'].valueChanges.pipe(\r\n startWith(''),\r\n map(value => this.filterStates(value))\r\n );\r\n this.getAllCity();\r\n \r\n //Assign Filter\r\n let policeStnFilterSession = JSON.parse(sessionStorage.getItem('POLICESTNFILTERSESSION'));\r\n if (sessionStorage.getItem('POLICESTNFILTERSESSION') != null) {\r\n this.FilterData.policestationname = policeStnFilterSession.policestationname;\r\n }\r\n if (policeStnFilterSession != null) {\r\n this.result = !Object.values(policeStnFilterSession).every(o => o === null);\r\n } else {\r\n this.result = false;\r\n }\r\n this.search();\r\n }\r\n get formControls() { return this.addPoliceStationForm.controls; }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
*Fields are Mandatory
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Police\r\n Station\r\n name is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Police\r\n Station\r\n Code is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n City\r\n \r\n \r\n \r\n \r\n {{option.selectionvalue }}\r\n \r\n \r\n
\r\n
City is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Police Station Name \r\n {{PoliceMasterData.policestationname}} Police Station Code \r\n {{PoliceMasterData.policestationcode}} City Name \r\n {{PoliceMasterData.city}} Action \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PoliceStationService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n \r\n savePoliceStation(body, header, flag) {\r\n if (flag == 'save') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/policestation';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/policestation/'+body.policestationname;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getpoliceStationList(body, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/policestation/policeByFilter';\r\n return this._http.post(url , body, {headers: header});\r\n}\r\n\r\n\r\n\r\ndeletePoliceStnById(name, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/policestation/'+name;\r\n return this._http.delete(url, { headers: header });\r\n\r\n}\r\n\r\npoliceStnById(name, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/policestation/'+name;\r\n return this._http.get(url, { headers: header });\r\n}\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { AddressMasterService } from '../../address-master/address-master.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\n\r\n@Component({\r\n selector: 'app-add-address',\r\n templateUrl: './add-address.component.html',\r\n providers: [AddressMasterService, AppGlobals, DialogService, SharedService]\r\n\r\n})\r\nexport class AddAddressComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private addressMasterService: AddressMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n\r\n\r\n PageTitle = \"Add Party Address\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n \r\n PartyAddressData = {\r\n \"addressType\": \"\", \"address1\": \"\", \"address2\": \"\",\r\n \"landmark\": \"\", \"state\": \"\", \"district\": \"\",\r\n \"city\": \"\", \"country\": \"INDIA\", \"pinCode\": \"\", \"partyMasterParent\": \"\", \"contactPerson\": \"\", \"contactNo\":\"\"\r\n };\r\n\r\n PartyParent = { \"entityId\": \"\" };\r\n\r\n stateList: any = [];\r\n districtList: any = [];\r\n cityList: any = [];\r\n\r\n addAddressForm: FormGroup;\r\n isSubmitted = false;\r\n back = function () {\r\n //this.router.navigate(['/SearchPartyAddress']);\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.router.navigate(['searchParty/SearchPartyAddress/' + this.PartyAddressData.partyMasterParent.entityId + '/list']);\r\n } else if (this.route.snapshot.params.page == 'add') {\r\n this.router.navigate(['searchParty/SearchPartyAddress/' + this.route.snapshot.params.id + '/list']);\r\n }\r\n }\r\n\r\n // compareObjects(o1: any, o2: any): boolean {\r\n // return o1.name === o2.name && o1.id === o2.id;\r\n // }\r\n\r\n // State List\r\n getAllState = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n debugger;\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n getActiveCityFromDistrict = function (districtName) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.sharedService.getActiveCityListFromDistrict(headers, districtName).subscribe(resp => {\r\n debugger;\r\n this.cityList = resp;\r\n }, (error: any) => {\r\n debugger;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // district List\r\n\r\n getAllDistrictByState = function (stateName) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getDistrictList(headers, stateName).subscribe(resp => {\r\n debugger;\r\n this.districtList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n addAddress = function (flag) {\r\n debugger;\r\n this.isSubmitted = true;\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addAddressForm.invalid) {\r\n return;\r\n }\r\n if (flag != \"update\") {\r\n this.PartyParent.entityId = this.route.snapshot.params.id;\r\n this.PartyAddressData.partyMasterParent = this.PartyParent;\r\n }\r\n\r\n this.showLoading = true;\r\n this.addressMasterService.saveAddress(this.PartyAddressData, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Party address \" + flag + \" successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addAddressForm.reset();\r\n if (flag == \"update\") {\r\n this.router.navigate(['searchParty/SearchPartyAddress/' + this.PartyAddressData.partyMasterParent.entityId + '/list']);\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n // Edit\r\n editon = function (id, flag) {\r\n debugger;\r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var addressId = id;\r\n this.addressMasterService.findAddressById(addressId, headers, flag).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.PartyAddressData = resp;\r\n this.getAllDistrictByState(this.PartyAddressData.state);\r\n this.getActiveCityFromDistrict(this.PartyAddressData.district);\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.addAddressForm = this.formBuilder.group({\r\n addressType: ['', Validators.required],\r\n address1: ['', Validators.required],\r\n address2: [''],\r\n landmark: [''],\r\n state: ['', Validators.required],\r\n district: ['', Validators.required],\r\n city: [''],\r\n country: ['', Validators.required],\r\n pinCode: [''],\r\n contactPerson:[''],\r\n contactNo:['']\r\n\r\n });\r\n\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Address\";\r\n this.editon(this.route.snapshot.params.id, 'edit');\r\n\r\n }\r\n\r\n this.getAllState();\r\n }\r\n get formControls() {\r\n return this.addAddressForm.controls;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n Address Type\r\n \r\n -Select-\r\n Head Office\r\n Regional Office\r\n Branch Office \r\n \r\n
\r\n
Address type is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Address Line 1 is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n District\r\n \r\n -Select-\r\n \r\n {{districtData.selectionvalue}}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n City\r\n \r\n -Select-\r\n \r\n {{cityData.selectionvalue}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Country is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
PinCode is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Contact Person\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Contact No.\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { AddressMasterService } from '../address-master/address-master.service';\r\nimport { SharedService } from '../../service/shared.service';\r\n\r\n@Component({\r\n selector: 'app-address-master',\r\n templateUrl: './address-master.component.html',\r\n providers: [AddressMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class AddressMasterComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient, private addressMasterService: AddressMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n displayedColumns: string[] = ['addressType', 'address1', 'landmark', 'cityName', 'stateName', 'districtName', 'country', 'pinCode', 'action'];\r\n AddressMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n\r\n PageTitle = \"Address\";\r\n addAddress = function () {\r\n\r\n //this.router.navigate(['/AddPartyAddress']);\r\n this.router.navigate(['searchParty/AddPartyAddress', this.route.snapshot.params.id, 'add']);\r\n }\r\n\r\n editAddress = function (id) {\r\n\r\n //this.router.navigate(['/AddPartyAddress']);\r\n this.router.navigate(['searchParty/UpdatePartyAddress', id, 'edit']);\r\n }\r\n\r\n\r\n cancel = function () {\r\n\r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n search = function () {\r\n\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.addressMasterService.getAllAddressOfParty(headers, this.route.snapshot.params.id).subscribe(resp => {\r\n\r\n this.AddressMasterData = new MatTableDataSource(resp);\r\n this.AddressMasterData.sort = this.sort;\r\n this.AddressMasterData.paginator = this.paginator;\r\n this.totalRecords = this.AddressMasterData.filteredData.length;\r\n this.showLoading = false;\r\n\r\n\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete function\r\n onDelete = function (id, isDeleted) {\r\n debugger;\r\n if(isDeleted){\r\n this.DeleteMsg = 'Are you sure you want to activate this address?';\r\n } else {\r\n this.DeleteMsg = 'Are you sure you want to deactivate this address?';\r\n }\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.addressMasterService.deleteAddressById(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n if(isDeleted){\r\n this.successMessage = 'Address activated.';\r\n } else {\r\n this.successMessage = 'Address de-activated.';\r\n }\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Address Type\r\n {{AddressMasterData.addressType}} \r\n Address\r\n {{AddressMasterData.address1}} \r\n Landmark\r\n {{AddressMasterData.landmark}} \r\n City\r\n \r\n {{AddressMasterData.city}}\r\n State\r\n \r\n {{AddressMasterData.state}}\r\n District\r\n \r\n {{AddressMasterData.district}}\r\n country\r\n {{AddressMasterData.country}} \r\n Pincode\r\n {{AddressMasterData.pinCode}} \r\n Action \r\n\r\n\r\n \r\n \r\n\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders, HttpEvent, HttpErrorResponse, HttpEventType} from \"@angular/common/http\";\r\nimport { map } from 'rxjs/operators';\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddressMasterService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveAddress(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/address/addaddress';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/address/' + body.entityId;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n findAddressById(id,header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/address/getaddressbyid/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n addressList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/address/getalladdress';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllAddressOfParty(header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/address/serachaddressbyparty/' + id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n deleteAddressById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/address/deleteaddressbyid/' + id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { PartyGstService } from './party-gst.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { FileuploadService } from '../../service/fileupload.service';\r\nimport { GeographyService } from '../../UniqueSiteId/geography/geography.service';\r\n\r\n@Component({\r\n selector: 'app-party-gst',\r\n templateUrl: './party-gst.component.html',\r\n providers: [PartyGstService, AppGlobals, DialogService, SharedService, FileuploadService, GeographyService]\r\n})\r\nexport class PartyGstComponent implements OnInit {\r\n\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private partyGstService: PartyGstService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService,\r\n private geographyService: GeographyService) { }\r\n displayedColumns: string[] = ['gstNo', 'state', 'gstNoAttachment', 'action'];\r\n GstMasterData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n matSelectDuration = this._global.matSelectDurationTime;\r\n\r\n PageTitle = \"GST Master\";\r\n\r\n add = true;\r\n edit = false;\r\n list = true;\r\n stateList: any = [];\r\n baseUrl: string = null;\r\n\r\n GSTData = {\r\n \"gstNo\": null, \"state\": null, \"gstNoAttachment\": null, \"partyMasterParent\": null\r\n };\r\n\r\n PartyParent = { \"entityId\": \"\" };\r\n addGstForm: FormGroup;\r\n isSubmitted = false;\r\n gstNoAttachment: any = [];\r\n\r\n cancel = function () {\r\n this.list = true;\r\n this.edit = false;\r\n this.addGstForm.reset()\r\n this.PageTitle = \"GST Master\";\r\n }\r\n getAllState = function () {\r\n\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getStateList(headers).subscribe(resp => {\r\n\r\n this.stateList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n\r\n // Add / update function\r\n addGst = function (flag) {\r\n this.isSubmitted = true;\r\n if (this.addGstForm.invalid) {\r\n return;\r\n }\r\n var error = \"\";\r\n if (this.codeFlag) {\r\n error += \"Please enter a valid GST IN.\";\r\n this.dialogService.openConfirmDialog(error);\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if (this.gstNoAttachment.length > 0) {\r\n if (!this.fileuploadService.allFilesUploaded(this.gstNoAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.GSTData.gstNoAttachment = this.fileuploadService.getFirstFilePath(this.gstNoAttachment);\r\n }\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.PartyParent.entityId = this.route.snapshot.params.id;\r\n this.GSTData.partyMasterParent = this.PartyParent;\r\n this.showLoading = true;\r\n this.partyGstService.saveGst(this.GSTData, headers, flag).subscribe(resp => {\r\n\r\n this.showLoading = false;\r\n this.successMessage = \"GST \" + flag + \"d successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addGstForm.reset()\r\n this.search();\r\n if (flag == \"update\") {\r\n this.edit = false;\r\n this.list = true;\r\n this.PageTitle = \"GST Master\";\r\n }\r\n })\r\n\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n\r\n\r\n // Search function\r\n search = function () {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.partyGstService.getAllGstOfParty(headers, this.route.snapshot.params.id).subscribe(resp => {\r\n debugger;\r\n this.GstMasterData = new MatTableDataSource(resp);\r\n this.GstMasterData.sort = this.sort;\r\n this.GstMasterData.paginator = this.paginator;\r\n this.totalRecords = this.GstMasterData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n\r\n editData = function (gstno) {\r\n this.list = false;\r\n this.edit = true;\r\n\r\n for (let i = 0; i < this.GstMasterData.filteredData.length; i++) {\r\n if (this.GstMasterData.filteredData[i].gstNo == gstno) {\r\n this.GSTData = this.GstMasterData.filteredData[i];\r\n if (this.GSTData.dateOfIncorporationAttachment != null) {\r\n this.gstNoAttachment = this.fileuploadService.getSingleFileArray(this.GSTData.gstNoAttachment);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n GeographyData: any = null;\r\n codeFlag: boolean = false;\r\n checkGst = function (statename) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n var error = \"\";\r\n if (this.GSTData.gstNo == null || this.GSTData.gstNo == \"\") {\r\n error += \"GST IN is required.\";\r\n this.dialogService.openConfirmDialog(error);\r\n this.GSTData = {};\r\n return;\r\n }\r\n if(this.GSTData.gstNo.substr(0,3) == \"TMP\")\r\n {\r\n this.codeFlag = false;\r\n return;\r\n }\r\n this.codeFlag = false;\r\n this.showLoading = true;\r\n this.geographyService.GeoById(statename, \"NA\", headers).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.GeographyData = resp;\r\n let stateCode: string = this.GeographyData.geographycode;\r\n if (this.GSTData.gstNo.substr(0, 2) != stateCode)\r\n this.codeFlag = true;\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n\r\n gstChange = function(){\r\n this.GSTData.state = null;\r\n }\r\n\r\n // Delete function\r\n onDelete = function (id, isDeleted) {\r\n debugger;\r\n if(isDeleted){\r\n this.DeleteMsg = 'Are you sure you want to activate this gst?';\r\n } else {\r\n this.DeleteMsg = 'Are you sure you want to deactivate this gst?';\r\n }\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.partyGstService.deleteGstById(id, headers).subscribe(resp => {\r\n this.showLoading = false;\r\n if(isDeleted){\r\n this.successMessage = 'Gst activated.';\r\n } else {\r\n this.successMessage = 'Gst de-activated.';\r\n }\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr);\r\n });\r\n }\r\n })\r\n }\r\n\r\n //for checking if string contains uuid.\r\n regExpUuid = new RegExp(\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\");\r\n containsUUID = function(s) {\r\n   let result = false;\r\n   if(s.length > 36)\r\n   {\r\n let str = s.substring(0, 36);\r\n result = this.regExpUuid.test(str);\r\n   }\r\n return result;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addGstForm = this.formBuilder.group({\r\n gstNo: [null, Validators.required],\r\n state: [null, Validators.required],\r\n gstNoAttachment: [null]\r\n });\r\n this.search();\r\n this.getAllState();\r\n this.baseUrl = this._global.baseUrl;\r\n }\r\n get formControls() { return this.addGstForm.controls; }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
GST No.\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n State\r\n \r\n -Select-\r\n \r\n {{stateData.selectionvalue}}\r\n \r\n
\r\n
State is\r\n required\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
Total Records: {{totalRecords}}
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
GST No. \r\n {{GstMasterData.gstNo}} State \r\n {{GstMasterData.state}} GST Attachment \r\n \r\n Action \r\n \r\n\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PartyGstService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { } \r\n\r\n saveGst(body, header, flag) {\r\n if (flag == 'save') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/gst/addgst';\r\n return this._http.post(url , body, {headers: header});\r\n }\r\n if (flag == 'update') {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/gst/'+body.entityId;\r\n return this._http.put(url , body, {headers: header});\r\n }\r\n }\r\n\r\n getGstList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/gst/getallgst';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllGstOfParty(header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/gst/getallgstbypartyid/' + id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n deleteGstById(id, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/gst/deletegstbyid/' + id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../../../global/app.global';\r\nimport { DialogService } from '../../../service/dialog.service';\r\nimport { SharedService } from '../../../service/shared.service';\r\nimport { PartyMasterService } from '../../../VendorMgmt/party-master/party-master.service';\r\nimport { FileuploadService } from '../../../service/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-add-party',\r\n templateUrl: './add-party.component.html',\r\n providers: [PartyMasterService, AppGlobals, DialogService, SharedService, FileuploadService]\r\n})\r\nexport class AddPartyComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private partyMasterService: PartyMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService, private fileuploadService: FileuploadService) { }\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n matSelectDuration = this._global.matSelectDurationTime; \r\n \r\n PageTitle = \"Add Party\";\r\n add = true;\r\n edit = false;\r\n list = true;\r\n \r\n addPartyForm: FormGroup;\r\n isSubmitted = false;\r\n \r\n PartyEntityData = {\r\n \"partyType\": null, \"partyNo\": null, \"partyName\": null,\r\n \"organizationId\": null, \"contactPersonName\": null, \"mobileNo\": null,\r\n \"landlineNo\": null, \"emailId\": null, \"dateOfIncorporation\": null,\r\n \"dateOfIncorporationAttachment\": null, \"natureOfServiceProviding\": null, \"smeRegNo\": null,\r\n \"contactId\": null, \"panNo\": null, \"panNoAttachment\": null,\r\n \"tanNo\": null, \"tanNoAttachment\": null, \"arnNo\": null,\r\n \"arnNoAttachment\": null, \"bankName\": null, \"bankNameAttachment\": null,\r\n \"branchNameandAddress\": null, \"accountType\": null, \"accountNo\": null,\r\n \"micrCode\": null, \"ifscNeftCode\": null, \"remarks\": null, \"organisationId\": null\r\n };\r\n\r\n orgList = {};\r\n dateOfIncorporationAttachment: any = [];\r\n panNoAttachment: any = [];\r\n tanNoAttachment: any = [];\r\n arnNoAttachment: any = [];\r\n bankNameAttachment: any = [];\r\n \r\n cancel = function () {\r\n this.router.navigate(['/searchParty']);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n //return o1.name === o2.name && o1.id === o2.id;\r\n return o1 == o2;\r\n }\r\n \r\n saveParty = function () {\r\n\r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPartyForm.invalid) {\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if(this.dateOfIncorporationAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.dateOfIncorporationAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.dateOfIncorporationAttachment = this.fileuploadService.getFirstFilePath(this.dateOfIncorporationAttachment);\r\n }\r\n if(this.panNoAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.panNoAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.panNoAttachment = this.fileuploadService.getFirstFilePath(this.panNoAttachment);\r\n }\r\n if(this.tanNoAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.tanNoAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.tanNoAttachment = this.fileuploadService.getFirstFilePath(this.tanNoAttachment);\r\n }\r\n if(this.arnNoAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.arnNoAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.arnNoAttachment = this.fileuploadService.getFirstFilePath(this.arnNoAttachment);\r\n }\r\n if(this.bankNameAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.bankNameAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.bankNameAttachment = this.fileuploadService.getFirstFilePath(this.bankNameAttachment);\r\n }\r\n\r\n this.PartyEntityData.dateOfIncorporation = this.PartyEntityData.dateOfIncorporation.getTime();\r\n this.showLoading = true;\r\n this.partyMasterService.saveParty(this.PartyEntityData, headers).subscribe(resp => {\r\n\r\n this.showLoading = false;\r\n this.successMessage = \"Party created successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addPartyForm.reset();\r\n this.router.navigate(['searchParty']);\r\n })\r\n }, (error: any) => {\r\n\r\n this.showLoading = false;\r\n this.PartyEntityData.dateOfIncorporation = (new Date(this.PartyEntityData.dateOfIncorporation));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n updateParty = function () {\r\n \r\n this.isSubmitted = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n if (this.addPartyForm.invalid) {\r\n return;\r\n }\r\n //Check if all files are uploaded Successfully\r\n if(this.dateOfIncorporationAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.dateOfIncorporationAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.dateOfIncorporationAttachment = this.fileuploadService.getFirstFilePath(this.dateOfIncorporationAttachment);\r\n }\r\n if(this.panNoAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.panNoAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.panNoAttachment = this.fileuploadService.getFirstFilePath(this.panNoAttachment);\r\n }\r\n if(this.tanNoAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.tanNoAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.tanNoAttachment = this.fileuploadService.getFirstFilePath(this.tanNoAttachment);\r\n }\r\n if(this.arnNoAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.arnNoAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.arnNoAttachment = this.fileuploadService.getFirstFilePath(this.arnNoAttachment);\r\n }\r\n if(this.bankNameAttachment.length>0){\r\n if (!this.fileuploadService.allFilesUploaded(this.bankNameAttachment)) {\r\n this.dialogService.openConfirmDialog(\"Files uploading...\")\r\n return;\r\n }\r\n this.PartyEntityData.bankNameAttachment = this.fileuploadService.getFirstFilePath(this.bankNameAttachment);\r\n }\r\n\r\n this.PartyEntityData.dateOfIncorporation = this.PartyEntityData.dateOfIncorporation.getTime();\r\n this.showLoading = true;\r\n this.partyMasterService.updateParty(this.PartyEntityData, headers, this.PartyEntityData.entityId).subscribe(resp => {\r\n this.showLoading = false;\r\n this.successMessage = \"Party updated successfully.\";\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n .afterClosed().subscribe(res => {\r\n this.addPartyForm.reset();\r\n this.router.navigate(['searchParty']);\r\n })\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.PartyEntityData.dateOfIncorporation = (new Date(this.PartyEntityData.dateOfIncorporation));\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n \r\n // Edit\r\n editon = function (id) {\r\n \r\n this.add = false;\r\n this.edit = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n var partyId = id;\r\n this.partyMasterService.getPartyById(partyId, headers).subscribe(resp => {\r\n \r\n this.showLoading = false;\r\n this.PartyEntityData = resp;\r\n this.PartyEntityData.dateOfIncorporation = (new Date(this.PartyEntityData.dateOfIncorporation));\r\n //this.getAllOrganizations();\r\n //sessionStorage.setItem('poId', this.PartyEntityData.entityId);\r\n if (this.PartyEntityData.dateOfIncorporationAttachment != null) {\r\n this.dateOfIncorporationAttachment = this.fileuploadService.getSingleFileArray(this.PartyEntityData.dateOfIncorporationAttachment);\r\n }\r\n if (this.PartyEntityData.panNoAttachment != null) {\r\n this.panNoAttachment = this.fileuploadService.getSingleFileArray(this.PartyEntityData.panNoAttachment);\r\n }\r\n if (this.PartyEntityData.tanNoAttachment != null) {\r\n this.tanNoAttachment = this.fileuploadService.getSingleFileArray(this.PartyEntityData.tanNoAttachment);\r\n }\r\n if (this.PartyEntityData.arnNoAttachment != null) {\r\n this.arnNoAttachment = this.fileuploadService.getSingleFileArray(this.PartyEntityData.arnNoAttachment);\r\n }\r\n if (this.PartyEntityData.bankNameAttachment != null) {\r\n this.bankNameAttachment = this.fileuploadService.getSingleFileArray(this.PartyEntityData.bankNameAttachment);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // State List\r\n getAllOrganizations = function () {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getOrganizationsList(headers).subscribe(resp => {\r\n \r\n this.orgList = resp;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.addPartyForm = this.formBuilder.group({\r\n partyType: [null, Validators.required],\r\n partyNo: [null, Validators.required],\r\n partyName: [null, Validators.required],\r\n organizationId: [null],\r\n contactPersonName: [null, Validators.required],\r\n mobileNo: [null, Validators.required],\r\n //mobileNo: [null, Validators.required, Validators.min(10000000000), Validators.max(9999999999)],\r\n landlineNo: [null],\r\n emailId: [null, Validators.required],\r\n dateOfIncorporation: [null, Validators.required],\r\n dateOfIncorporationAttachment: [null],\r\n natureOfServiceProviding: [null, Validators.required],\r\n smeRegNo: [null, Validators.required],\r\n contactId: [null],\r\n panNo: [null, Validators.required],\r\n panNoAttachment: [null],\r\n tanNo: [null, Validators.required],\r\n tanNoAttachment: [null],\r\n arnNo: [null],\r\n arnNoAttachment: [null],\r\n bankName: [null],\r\n bankNameAttachment: [null],\r\n branchNameandAddress: [null],\r\n accountType: [null],\r\n accountNo: [null],\r\n micrCode: [null],\r\n ifscNeftCode: [null],\r\n remarks: [null],\r\n organisationId: [null, Validators.required]\r\n });\r\n \r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.PageTitle = \"Update Party\";\r\n this.editon(this.route.snapshot.params.id);\r\n //this.disabledField();\r\n }\r\n\r\n this.getAllOrganizations();\r\n }\r\n \r\n get formControls() {\r\n return this.addPartyForm.controls;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
*Fields are Mandatory
\r\n

Basic Details

\r\n
\r\n
\r\n
\r\n \r\n Party Type\r\n \r\n - Select Type -\r\n Client\r\n Vendor\r\n Channel Partner\r\n \r\n
\r\n
Party type is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Party No.\r\n \r\n
\r\n
Party no. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Party Name\r\n \r\n
\r\n
Party name is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Organisation\r\n \r\n - Select Organisation -\r\n \r\n \r\n {{org.selectionvalue}}\r\n \r\n
\r\n
\r\n Organisation is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Contact Person\r\n \r\n
\r\n
Contact\r\n person is required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Mobile No.\r\n \r\n
\r\n
Mobile no. is\r\n required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Landline No.\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Email Id\r\n is required
\r\n
Email must be a valid email\r\n address
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Date of incorporation\r\n is required
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Contact Id\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Nature Of Service Providing\r\n \r\n
\r\n \r\n Nature of service providing is required
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n SME Reg. No.\r\n \r\n
\r\n
SME reg. no.\r\n is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n

Attachments

\r\n
\r\n
\r\n
\r\n \r\n PAN No.\r\n \r\n
\r\n
PAN no. is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n TAN No.\r\n \r\n
\r\n
TAN no. is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n ARN No.\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n

Bank Details

\r\n
\r\n\r\n
\r\n
\r\n \r\n Bank Name\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Branch Name & Address\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Account Type\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Account No\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n MICR Code\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n IFSC/NEFT Code\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Remarks\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { SharedService } from '../../service/shared.service';\r\nimport { PartyMasterService } from '../../VendorMgmt/party-master/party-master.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-party-master',\r\n templateUrl: './party-master.component.html',\r\n providers: [PartyMasterService, AppGlobals, DialogService, SharedService]\r\n})\r\nexport class PartyMasterComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private partyMasterService: PartyMasterService,\r\n private _global: AppGlobals, private dialogService: DialogService, private sharedService: SharedService) { }\r\n\r\n displayedColumns: string[] = [\"partyNo\", \"partyName\", \"contactPersonName\", \"mobileNo\", \"natureOfServiceProviding\", \"action\"];\r\n PartyListData: MatTableDataSource;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n showLoading: boolean = false;\r\n\r\n totalRecords: any;\r\n itemPerPage = this._global.pageNumer;\r\n pageSizedisplay = this._global.pageSize;\r\n\r\n partyAdd: boolean = false;\r\n partyEdit: boolean = false;\r\n partyView: boolean = false;\r\n partyDelete: boolean = false;\r\n\r\n FilterData = { \"partyNo\": null, \"partyName\": null, \"contactPersonName\": null, \"mobileNo\": null, \"natureOfServiceProviding\": null };\r\n //FilterData = {};\r\n\r\n PageTitle = \"Party Master\";\r\n filterDiv: boolean = false;\r\n addParty = function () {\r\n \r\n this.router.navigate(['/AddParty']);\r\n }\r\n\r\n filterFunc = function () {\r\n \r\n this.filterDiv = true;\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.PartyListData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n cancel = function () {\r\n \r\n this.filterDiv = false;\r\n this.FilterData = {};\r\n }\r\n\r\n // Search function\r\n search = function () {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n\r\n this.partyMasterService.getAllParty(this.FilterData, headers).subscribe(resp => {\r\n \r\n this.PartyListData = new MatTableDataSource(resp);\r\n this.PartyListData.sort = this.sort;\r\n this.PartyListData.paginator = this.paginator;\r\n this.totalRecords = this.PartyListData.filteredData.length;\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n // Delete function\r\n deleteParty = function (id) {\r\n \r\n this.DeleteMsg = 'Are you sure you want to deactivate this party?';\r\n this.dialogService.openConfirmDialog(this.DeleteMsg)\r\n .afterClosed().subscribe(res => {\r\n if (res) {\r\n \r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.partyMasterService.deletePartyById(id, headers).subscribe(resp => {\r\n this.successMessage = 'Deactivated Successfully';\r\n this.showLoading = false;\r\n this.dialogService.openConfirmDialog(this.successMessage)\r\n this.search();\r\n }, (error: any) => {\r\n \r\n this.showLoading = false;\r\n const errStr = error.message;\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n //Role Rights\r\n this.partyAdd = this._global.UserRights.includes(\"Party_Master_ADD\");\r\n this.partyEdit = this._global.UserRights.includes(\"Party_Master_EDIT\");\r\n this.partyView = this._global.UserRights.includes(\"Party_Master_VIEW\");\r\n this.partyDelete = this._global.UserRights.includes(\"Party_Master_DELETE\");\r\n\r\n this.search();\r\n }\r\n\r\n}","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{PageTitle}}

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
Total Records: {{totalRecords}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Party No. \r\n
{{PartyListData.partyNo}}
\r\n
Party Name \r\n
{{PartyListData.partyName}}
\r\n
Contact Person \r\n
{{PartyListData.contactPersonName}}
\r\n
Mobile No. \r\n
{{PartyListData.mobileNo}}
\r\n
Nature Of Service Providing\r\n \r\n
{{PartyListData.natureOfServiceProviding}}
\r\n
Action \r\n \r\n edit\r\n \r\n\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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PartyMasterService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n saveParty(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/party/addparty';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n updateParty(body, header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/party/' + id;\r\n return this._http.put(url, body, { headers: header });\r\n }\r\n\r\n getAllParty(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/party/getallparty';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n getPartyById(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/party/getpartybyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n\r\n deletePartyById(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/party/deletepartybyid/' + id;\r\n return this._http.get(url, { headers: header });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatNativeDateModule} from '@angular/material/core';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatSortModule} from '@angular/material/sort'\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatDialogModule} from '@angular/material/dialog';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport {MatMenuModule} from '@angular/material/menu';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatInputModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSelectModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatDialogModule,\r\n MatTooltipModule,\r\n MatCardModule,\r\n MatProgressBarModule,\r\n MatStepperModule,\r\n MatMenuModule,MatRadioModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n MatFormFieldModule,\r\n MatBadgeModule\r\n \r\n ],\r\n exports: [\r\n MatIconModule,\r\n MatButtonModule,\r\n MatInputModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSelectModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatDialogModule,\r\n MatTooltipModule,\r\n MatCardModule,\r\n MatProgressBarModule,\r\n MatStepperModule,\r\n MatMenuModule,\r\n MatCheckboxModule,MatRadioModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n MatFormFieldModule,\r\n MatBadgeModule\r\n ]\r\n})\r\nexport class AppMaterialModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { HsnMasterComponent } from './AssetMgmt/HsnMaster/hsn-master.component';\r\nimport { DepartmentComponent } from './ConfigurationMgmt/department/department.component';\r\nimport { OrganizationComponent } from './ConfigurationMgmt/organization/organization.component';\r\nimport { GeographyComponent } from './UniqueSiteId/geography/geography.component';\r\nimport { CityComponent } from './UniqueSiteId/city/city.component';\r\nimport { PoliceStationComponent } from './UniqueSiteId/police-station/police-station.component';\r\nimport { FamilyComponent } from './ConfigurationMgmt/family/family.component';\r\nimport { UserProfileComponent } from './ConfigurationMgmt/user-profile/user-profile.component';\r\nimport { AddUserComponent } from './ConfigurationMgmt/user-profile/add-user/add-user.component';\r\nimport { MenuComponent } from './ConfigurationMgmt/menu/menu.component';\r\nimport { ModelMasterComponent } from './AssetMgmt/ModelMaster/modelmaster.component';\r\nimport { ManufacturerComponent } from './AssetMgmt/Manufacturer/manufacturer.component';\r\nimport { CategoryMasterComponent } from './AssetMgmt/CategoryMaster/categorymaster.component';\r\nimport { AssetConstantMasterComponent } from './AssetMgmt/AssetConstantMaster/assetconstantmaster.component';\r\nimport { ProductMasterComponent } from './AssetMgmt/ProductMaster/productmaster.component';\r\nimport { AddProductComponent } from './AssetMgmt/ProductMaster/addproduct/addproduct.component';\r\nimport { AssetMasterComponent } from './AssetMgmt/AssetMaster/assetmaster.component';\r\nimport { AddAssetComponent } from './AssetMgmt/AssetMaster/addasset/addasset.component';\r\nimport { DeliveryChallanComponent } from './AssetMgmt/DeliveryChallan/dc.component';\r\nimport { AddDeliveryChallanComponent } from './AssetMgmt/DeliveryChallan/adddc/adddc.component';\r\nimport { AddInterDCComponent } from './AssetMgmt/InterDistrictDeliveryChallan/adddc/interDCAddcomponent';\r\nimport { InterDistrictDCComponent } from './AssetMgmt/InterDistrictDeliveryChallan/interDC.component';\r\nimport { OEMDCComponent } from './AssetMgmt/OEMDeliveryChallan/oemdc.component';\r\nimport { AddOEMDCComponent } from './AssetMgmt/OEMDeliveryChallan/adddc/addoemdc.component';\r\nimport { CityWiseAssetReportComponent } from './AssetMgmt/CityWiseAssetReport/citywiseasset.component';\r\nimport { AddCityInstallationComponent } from './AssetMgmt/CityAssetInstallationReport/generateReport/addcityassetinstallation.component';\r\nimport { CityInstallationComponent } from './AssetMgmt/CityAssetInstallationReport/cityassetinstallation.component';\r\nimport { AssetCountReportComponent } from './AssetMgmt/AssetCountReport/assetcountreport.component';\r\nimport { AssetTPAComponent } from './AssetMgmt/AssetTPA/assetTPA.component';\r\n\r\nimport { TicketCategoryComponent } from './HelpdeskMgmt/ticket-category/ticket-category.component';\r\nimport { TicketProblemReportComponent } from './HelpdeskMgmt/ticket-problem-report/ticket-problem-report.component';\r\nimport { TicketClassificationComponent } from './HelpdeskMgmt/ticket-classification/ticket-classification.component';\r\nimport { AddTicketComponent } from './HelpdeskMgmt/ticket-master/add-ticket/add-ticket.component';\r\nimport { TicketMasterComponent } from './HelpdeskMgmt/ticket-master/ticket-master.component';\r\nimport { AddVehicleComponent } from './HelpdeskMgmt/vehicle-master/add-vehicle/add-vehicle.component';\r\nimport { VehicleMasterComponent } from './HelpdeskMgmt/vehicle-master/vehicle-master.component';\r\nimport { SupportTeamComponent } from './HelpdeskMgmt/support-team/support-team.component';\r\nimport { AddSupportTeamComponent } from './HelpdeskMgmt/support-team/add-support-team/add-support-team.component';\r\n\r\n\r\n\r\nimport { AddLicenseComponent } from './HelpdeskMgmt/license-master/add-license/add-license.component';\r\nimport { LicenseMasterComponent } from './HelpdeskMgmt/license-master/license-master.component';\r\nimport { AddVehicleServiceComponent } from './HelpdeskMgmt/vehicle-service-master/add-vehicle-service/add-vehicle-service.component';\r\nimport { VehicleServiceMasterComponent } from './HelpdeskMgmt/vehicle-service-master/vehicle-service-master.component';\r\nimport { TicketTaskComponent } from './HelpdeskMgmt/ticket-master/ticket-task/ticket-task.component';\r\nimport { AddTaskComponent } from './HelpdeskMgmt/ticket-master/ticket-task/add-task/add-task.component';\r\n//import { AddTripComponent } from './HelpdeskMgmt/ticket-master/ticket-task/add-trip/add-trip.component';\r\nimport { AddressMasterComponent } from './VendorMgmt/address-master/address-master.component';\r\nimport { AddAddressComponent } from './VendorMgmt/address-master/add-address/add-address.component';\r\nimport { PartyGstComponent } from './VendorMgmt/party-gst/party-gst.component';\r\nimport { PoPaymentComponent } from './OrderMgmt/po-payment/po-payment.component';\r\nimport { AddPaymentComponent } from './OrderMgmt/po-payment/add-payment/add-payment.component';\r\n\r\nimport { RoleComponent } from './ConfigurationMgmt/role/role.component';\r\nimport { AddRoleComponent } from './ConfigurationMgmt/role/add-role/add-role.component';\r\nimport { MyprofileComponent } from './ConfigurationMgmt/myprofile/myprofile.component';\r\nimport { ConstantMasterComponent } from './OrderMgmt/constant-master/constant-master.component';\r\nimport { BoqMasterComponent } from './OrderMgmt/boq-master/boq-master.component';\r\nimport { AddBoqComponent } from './OrderMgmt/boq-master/add-boq/add-boq.component';\r\nimport { PurchaseOrderComponent } from './OrderMgmt/purchase-order/purchase-order.component';\r\nimport { AddPoComponent } from './OrderMgmt/purchase-order/add-po/add-po.component';\r\nimport { ProductDetailsComponent } from './OrderMgmt/product-details/product-details.component';\r\nimport { AddProductDetailsComponent } from './OrderMgmt/product-details/add-product-details/add-product-details.component';\r\nimport { PartyMasterComponent } from './VendorMgmt/party-master/party-master.component';\r\nimport { AddPartyComponent } from './VendorMgmt/party-master/add-party/add-party.component';\r\nimport { ViewPoComponent } from './OrderMgmt/purchase-order/view-po/view-po.component';\r\nimport { USIDInstallationComponent } from './AssetMgmt/USIDAssetInstallationReport/USIDassetinstallation.component';\r\nimport { AddUSIDInstallationComponent } from './AssetMgmt/USIDAssetInstallationReport/generateReport/generateassetinstallation.component';\r\nimport { ProjectApprovalTaskComponent } from './ProjectMgmt/ProjectApproval/projectapproval.component';\r\nimport { ProjectMasterComponent } from './ProjectMgmt/ProjectMaster/projectmaster.component';\r\nimport { ViewProjectComponent } from './ProjectMgmt/ProjectMaster/viewproject/viewproject.component';\r\nimport { AddProjectComponent } from './ProjectMgmt/ProjectMaster/addproject/addproject.component';\r\n\r\nimport { InvoiceTaskComponent } from './BillingMgmt/Invoice/invoicetask/invoicetask.component';\r\nimport { InvoiceComponent } from './BillingMgmt/Invoice/invoice.component';\r\nimport { BillingScheduleComponent } from './BillingMgmt/BillingSchedule/billingschedule.component';\r\nimport { CollectionTaggingComponent } from './BillingMgmt/CollectionTagging/collectiontagging.component';\r\nimport { CollectionTaskComponent } from './BillingMgmt/CollectionTagging/collectiontask/collectiontask.component';\r\nimport { LocationComponent } from './UniqueSiteId/location/location.component';\r\nimport { AddLocationComponent } from './UniqueSiteId/location/add-location/add-location.component';\r\nimport { InvoiceAgeingReportComponent } from './BillingMgmt/BillingReport/ageingreport/invoicereport.component';\r\nimport { BillingComparsionomponent } from './BillingMgmt/BillingReport/billingcomparison/billingcomparsion.component';\r\nimport { MonthlyBillingComponent } from './BillingMgmt/BillingReport/monthlybilling/monthlybilling.component';\r\nimport { MonthlyCollectionComponent } from './BillingMgmt/BillingReport/monthlycollection/monthlycollection.component';\r\nimport { PRSComponent } from './OrderMgmt/prs-master/prs.component';\r\nimport { AddPrsComponent } from './OrderMgmt/prs-master/add-prs/add-prs.component';\r\nimport { ViewPRSComponent } from './OrderMgmt/prs-master/view-prs/view-prs.component';\r\nimport { PrsTaskComponent } from './OrderMgmt/prs-master/prstask/prstask.component';\r\nimport { AddVendorPaymentComponent } from './OrderMgmt/vendor-payment-collection/add-payments/add-payments.component';\r\nimport { VendorPaymentsComponent } from './OrderMgmt/vendor-payment-collection/payments.component';\r\nimport { PurchaseOrderTaskComponent } from './OrderMgmt/purchase-order-task/purchase-order-task.component';\r\nimport { UpdatePoTaskComponent } from './OrderMgmt/purchase-order-task/update-po-task/update-po-task.component';\r\nimport { RateContractComponent } from './OrderMgmt/rate-contract/rate-contract.component';\r\nimport { AddRcComponent } from './OrderMgmt/rate-contract/add-rc/add-rc.component';\r\nimport { ViewRcComponent } from './OrderMgmt/rate-contract/view-rc/view-rc.component';\r\nimport { RcProductDetailsComponent } from './OrderMgmt/rc-product-details/rc-product-details.component';\r\nimport { AddRcProductDetailsComponent } from './OrderMgmt/rc-product-details/add-rc-product-details/add-rc-product-details.component';\r\nimport { PoFulfilmentComponent } from './OrderMgmt/po-fulfilment/po-fulfilment.component';\r\nimport { AddPoFulfilmentComponent } from './OrderMgmt/po-fulfilment/add-po-fulfilment/add-po-fulfilment.component';\r\nimport { VendorComparisonComponent } from './OrderMgmt/vendor-comparison/vendor-comparison.component';\r\nimport { AddVendorComparisonComponent } from './OrderMgmt/vendor-comparison/add-vendor-comparison/add-vendor-comparison.component';\r\nimport { AdditionalTermsComponent } from './OrderMgmt/purchase-order/additional-terms/additional-terms.component';\r\nimport { RcAdditionalTermsComponent } from './OrderMgmt/rate-contract/rc-additional-terms/rc-additional-terms.component';\r\nimport { AuthGuard } from './auth.guard';\r\nimport { ViewDeliveryChallanComponent } from './AssetMgmt/DeliveryChallan/viewDC/viewDC.component';\r\nimport { ViewInterDistrictDCComponent } from './AssetMgmt/InterDistrictDeliveryChallan/viewDC/viewInterDistrictDC.component';\r\nimport { ViewOEMDCComponent } from './AssetMgmt/OEMDeliveryChallan/viewDC/viewOEMDC.component';\r\nimport { ViewUSIDInstallationReport } from './AssetMgmt/USIDAssetInstallationReport/viewReport/viewInstallationReport.component';\r\nimport { ViewCityInstallationReport } from './AssetMgmt/CityAssetInstallationReport/viewReport/viewCityInstallationReport.component';\r\nimport { TicketAgeingReportComponent } from './HelpdeskMgmt/ticket-report/ageing-report/ageing-report.component';\r\nimport { TicketEscalationReportComponent } from './HelpdeskMgmt/ticket-report/escalated-report/escalated-report.component';\r\nimport { TicketIncidentReportComponent } from './HelpdeskMgmt/ticket-report/incident-report/incident-report.component';\r\nimport { OrphanTripsComponent } from './HelpdeskMgmt/ticket-report/orphan-trips-report/orphan-trips.component';\r\nimport { TicketMISComponent } from './HelpdeskMgmt/ticket-report/ticket-mis-report/ticket-mis-report.component';\r\nimport { TicketSLAReportComponent } from './HelpdeskMgmt/ticket-report/sla-report/sla-report.component';\r\nimport { ViewWorkflowComponent } from './OrderMgmt/purchase-order-task/view-workflow/view-workflow.component';\r\nimport { CancelPoTaskComponent } from './OrderMgmt/purchase-order-task/cancel-po-task/cancel-po-task.component';\r\nimport { from } from 'rxjs';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { MonthlyPaymentComponent } from './OrderMgmt/Reports/monthly-payment/monthly-payment.component';\r\nimport { PendingPaymentComponent } from './OrderMgmt/Reports/pending-payment/pending-payment.component';\r\nimport { PrsReportComponent } from './OrderMgmt/Reports/prs-report/prs-report.component';\r\nimport { PoCriteriaReportComponent } from './OrderMgmt/Reports/po-criteria-report/po-criteria-report.component';\r\nimport { PoWiseProductReportComponent } from './OrderMgmt/Reports/po-wise-product-report/po-wise-product-report.component';\r\nimport { StatusWisePoReportComponent } from './OrderMgmt/Reports/status-wise-po-report/status-wise-po-report.component';\r\nimport { ProjectVendorWisePoReportComponent } from './OrderMgmt/Reports/project-vendor-wise-po-report/project-vendor-wise-po-report.component';\r\nimport { ChangePasswordComponent } from './ConfigurationMgmt/change-password/change-password.component';\r\nimport { ForgotPasswordComponent } from './ConfigurationMgmt/forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './ConfigurationMgmt/reset-password/reset-password.component';\r\nimport { GrnMasterComponent } from './OrderMgmt/grn-master/grn-master.component';\r\nimport { AddGrnComponent } from './OrderMgmt/grn-master/add-grn/add-grn.component';\r\nimport { GrnTaskComponent } from './OrderMgmt/grn-task/grn-task.component';\r\nimport { UpdateGrnTaskComponent } from './OrderMgmt/grn-task/update-grn-task/update-grn-task.component';\r\nimport { HistoryTaskComponent } from './OrderMgmt/purchase-order-task/history-task/history-task.component';\r\nimport { CurrencyMasterComponent } from './HelpdeskMgmt/currency-master/currency-master.component';\r\nimport { GrnReportComponent } from './OrderMgmt/Reports/grn-report/grn-report.component';\r\nimport { ProjectdetailsComponent } from './ProjectMgmt/ProjectMaster/projectdetails/projectdetails.component';\r\nimport { ProjectconfigurationComponent } from './ProjectMgmt/ProjectMaster/projectconfiguration/projectconfiguration.component';\r\nimport { AddProjectMappingComponent } from './ProjectMgmt/ProjectMapping/addprojectMapping/addprojectMapping.component';\r\n\r\nimport { PoFullfillmentReportComponent} from './OrderMgmt/Reports/po-fullfillment-report/po-fullfillment-report.component';\r\nimport { ProjectMappingComponent } from './ProjectMgmt/ProjectMapping/project-mapping.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: \"\", component: LoginComponent },\r\n { path: \"login/:id/:status/:flag\", component: LoginComponent }, \r\n { path: \"login/:username/:token\", component: LoginComponent },\r\n { path: \"searchHsn\", canActivate: [AuthGuard], component: HsnMasterComponent },\r\n { path: \"searchDept\", canActivate: [AuthGuard], component: DepartmentComponent },\r\n { path: \"Organization\", canActivate: [AuthGuard], component: OrganizationComponent },\r\n { path: \"searchGeography\", canActivate: [AuthGuard], component: GeographyComponent },\r\n { path: \"searchCity\", canActivate: [AuthGuard], component: CityComponent },\r\n { path: \"searchPoliceStation\", canActivate: [AuthGuard], component: PoliceStationComponent },\r\n { path: \"FamilyMaster\", canActivate: [AuthGuard], component: FamilyComponent },\r\n { path: \"registerEmployee\", canActivate: [AuthGuard], component: AddUserComponent },\r\n { path: \"updateUser/:id/:page\", canActivate: [AuthGuard], component: AddUserComponent },\r\n { path: \"searchUsers\", canActivate: [AuthGuard], component: UserProfileComponent },\r\n { path: \"searchMenu\", canActivate: [AuthGuard], component: MenuComponent },\r\n { path: \"ModelMaster\", canActivate: [AuthGuard], component: ModelMasterComponent },\r\n { path: \"Manufacturer\", canActivate: [AuthGuard], component: ManufacturerComponent },\r\n { path: \"CategoryMaster\", canActivate: [AuthGuard], component: CategoryMasterComponent },\r\n { path: \"AssetConstantMaster\", canActivate: [AuthGuard], component: AssetConstantMasterComponent },\r\n { path: \"searchProduct\", canActivate: [AuthGuard], component: ProductMasterComponent },\r\n { path: \"addProduct\", canActivate: [AuthGuard], component: AddProductComponent },\r\n { path: \"updateProduct/:id/:page\", canActivate: [AuthGuard], component: AddProductComponent },\r\n { path: \"viewProduct/:id/:page\", canActivate: [AuthGuard], component: AddProductComponent },\r\n { path: \"searchAsset\", canActivate: [AuthGuard], component: AssetMasterComponent },\r\n { path: \"addAsset\", canActivate: [AuthGuard], component: AddAssetComponent },\r\n { path: \"updateAsset/:id/:page\", canActivate: [AuthGuard], component: AddAssetComponent },\r\n { path: \"viewAsset/:id/:page\", canActivate: [AuthGuard], component: AddAssetComponent },\r\n { path: \"assetMisReport\", canActivate: [AuthGuard], component: AssetTPAComponent },\r\n\r\n { path: \"searchDC\", canActivate: [AuthGuard], component: DeliveryChallanComponent },\r\n { path: \"addDC\", canActivate: [AuthGuard], component: AddDeliveryChallanComponent },\r\n { path: \"updateDC/:id/:page\", canActivate: [AuthGuard], component: AddDeliveryChallanComponent },\r\n { path: \"updateDCAsset/:id/:page\", canActivate: [AuthGuard], component: AddDeliveryChallanComponent },\r\n { path: \"viewDC/:id/:page\", canActivate: [AuthGuard], component: ViewDeliveryChallanComponent },\r\n\r\n { path: \"searchInterDC\", canActivate: [AuthGuard], component: InterDistrictDCComponent },\r\n { path: \"addInterDC\", canActivate: [AuthGuard], component: AddInterDCComponent },\r\n { path: \"updateInterDC/:id/:page\", canActivate: [AuthGuard], component: AddInterDCComponent },\r\n { path: \"viewInterDC/:id/:page\", canActivate: [AuthGuard], component: ViewInterDistrictDCComponent },\r\n\r\n { path: \"searchOEMDC\", canActivate: [AuthGuard], component: OEMDCComponent },\r\n { path: \"addOEMDC\", canActivate: [AuthGuard], component: AddOEMDCComponent },\r\n { path: \"updateOEMDC/:id/:page\", canActivate: [AuthGuard], component: AddOEMDCComponent },\r\n { path: \"updateOEMDCAsset/:id/:page\", canActivate: [AuthGuard], component: AddOEMDCComponent },\r\n { path: \"viewOEMDC/:id/:page\", canActivate: [AuthGuard], component: ViewOEMDCComponent },\r\n\r\n { path: \"cityWiseAssetReport\", canActivate: [AuthGuard], component: CityWiseAssetReportComponent },\r\n { path: \"searchPoPayment\", canActivate: [AuthGuard], component: PoPaymentComponent },\r\n { path: \"AddPoPayment\", canActivate: [AuthGuard], component: AddPaymentComponent },\r\n { path: \"searchCityInstallationReport\", canActivate: [AuthGuard], component: CityInstallationComponent },\r\n { path: \"addCityInstallationReport\", canActivate: [AuthGuard], component: AddCityInstallationComponent },\r\n { path: \"updateCityReport/:id/:page\", canActivate: [AuthGuard], component: AddCityInstallationComponent },\r\n { path: \"viewCityReport/:id/:page\", canActivate: [AuthGuard], component: ViewCityInstallationReport },\r\n\r\n { path: \"AssetsReport\", canActivate: [AuthGuard], component: AssetCountReportComponent },\r\n\r\n { path: \"searchTicketCategory\", canActivate: [AuthGuard], component: TicketCategoryComponent },\r\n { path: \"searchProblemReport\", canActivate: [AuthGuard], component: TicketProblemReportComponent },\r\n { path: \"searchClassification\", canActivate: [AuthGuard], component: TicketClassificationComponent },\r\n { path: \"TicketMaster\", canActivate: [AuthGuard], component: AddTicketComponent },\r\n { path: \"searchTicket\", canActivate: [AuthGuard], component: TicketMasterComponent },\r\n\r\n { path: \"VehicleMaster\", canActivate: [AuthGuard], component: AddVehicleComponent },\r\n { path: \"searchVehicle\", canActivate: [AuthGuard], component: VehicleMasterComponent },\r\n { path: \"searchDriver\", canActivate: [AuthGuard], component: SupportTeamComponent },\r\n { path: \"addSupportTeam\", canActivate: [AuthGuard], component: AddSupportTeamComponent },\r\n { path: \"updateSupportTeam/:id/:page\", canActivate: [AuthGuard], component: AddSupportTeamComponent },\r\n\r\n\r\n { path: \"updateVehicle/:id/:page\", canActivate: [AuthGuard], component: AddVehicleComponent },\r\n\r\n { path: \"updateLicense/:id/:page\", canActivate: [AuthGuard], component: AddLicenseComponent },\r\n { path: \"LicenseMaster\", canActivate: [AuthGuard], component: AddLicenseComponent },\r\n { path: \"searchLicense\", canActivate: [AuthGuard], component: LicenseMasterComponent },\r\n\r\n { path: \"updateVehicleService/:id/:page\", canActivate: [AuthGuard], component: AddVehicleServiceComponent },\r\n { path: \"VehicleServiceMaster\", canActivate: [AuthGuard], component: AddVehicleServiceComponent },\r\n { path: \"searchService\", canActivate: [AuthGuard], component: VehicleServiceMasterComponent },\r\n { path: \"searchTicketAction\", canActivate: [AuthGuard], component: TicketTaskComponent },\r\n { path: \"updateTicketTask/:id/:page\", canActivate: [AuthGuard], component: AddTaskComponent },\r\n { path: \"updateTicket/:id/:page\", canActivate: [AuthGuard], component: AddTicketComponent },\r\n { path: \"viewTicket/:id/:page\", canActivate: [AuthGuard], component: AddTicketComponent },\r\n // { path: \"SearchTicket\", canActivate: [AuthGuard], component: TicketMasterComponent },\r\n { path: \"SearchPartyAddress\", canActivate: [AuthGuard], component: AddressMasterComponent },\r\n { path: \"AddPartyAddress\", canActivate: [AuthGuard], component: AddAddressComponent },\r\n { path: \"searchGst\", canActivate: [AuthGuard], component: PartyGstComponent },\r\n { path: \"userRoleRights\", canActivate: [AuthGuard], component: RoleComponent },\r\n { path: \"AddRoleRights/:page\", canActivate: [AuthGuard], component: AddRoleComponent },\r\n { path: \"updateRole/:id/:page\", canActivate: [AuthGuard], component: AddRoleComponent },\r\n { path: \"profile\", canActivate: [AuthGuard], component: MyprofileComponent },\r\n { path: \"profile/:id\", canActivate: [AuthGuard], component: MyprofileComponent },\r\n { path: \"searchConstant\", canActivate: [AuthGuard], component: ConstantMasterComponent },\r\n { path: \"AddBoq\", canActivate: [AuthGuard], component: AddBoqComponent },\r\n { path: \"UpdateBoq/:id/:page\", canActivate: [AuthGuard], component: AddBoqComponent },\r\n { path: \"SearchBoq\", canActivate: [AuthGuard], component: BoqMasterComponent },\r\n { path: \"searchPurchaseOrder\", canActivate: [AuthGuard], component: PurchaseOrderComponent },\r\n { path: \"AddPO\", canActivate: [AuthGuard], component: AddPoComponent },\r\n { path: \"searchParty\", canActivate: [AuthGuard], component: PartyMasterComponent },\r\n { path: \"AddParty\", canActivate: [AuthGuard], component: AddPartyComponent },\r\n { path: \"ViewPoById/:id/:flag\", canActivate: [AuthGuard], component: ViewPoComponent },\r\n\r\n { path: \"searchTask\", canActivate: [AuthGuard], component: PurchaseOrderTaskComponent },\r\n { path: \"UpdatePoTask/:id/:page/:poRcFlag\", canActivate: [AuthGuard], component: UpdatePoTaskComponent },\r\n { path: \"CancelPoTask/:id/:page/:poRcFlag\", canActivate: [AuthGuard], component: CancelPoTaskComponent },\r\n { path: \"ViewWorkflow/:id/:flag\", canActivate: [AuthGuard], component: ViewWorkflowComponent },\r\n { path: \"historyTask\", canActivate: [AuthGuard], component: HistoryTaskComponent },\r\n {\r\n path: \"searchPurchaseOrder\",\r\n children: [\r\n { path: \"UpdatePO/:id/:page\", canActivate: [AuthGuard], component: AddPoComponent },\r\n { path: \"SearchProductDetails/:id/:page\", canActivate: [AuthGuard], component: ProductDetailsComponent },\r\n { path: \"AddProductDetails/:id/:page\", canActivate: [AuthGuard], component: AddProductDetailsComponent },\r\n { path: \"UpdateProductDetails/:id/:page\", canActivate: [AuthGuard], component: AddProductDetailsComponent },\r\n { path: \"searchPoTerms/:id/:page\", canActivate: [AuthGuard], component: AdditionalTermsComponent },\r\n { path: \"searchPoPayment/:id/:page\", canActivate: [AuthGuard], component: PoPaymentComponent },\r\n { path: \"AddPoPayment/:id/:page\", canActivate: [AuthGuard], component: AddPaymentComponent },\r\n { path: \"EditPoPayment/:id/:page\", canActivate: [AuthGuard], component: AddPaymentComponent },\r\n { path: \"searchPoFulfilment/:id/:page\", canActivate: [AuthGuard], component: PoFulfilmentComponent },\r\n { path: \"AddPoFulfilment/:id/:page\", canActivate: [AuthGuard], component: AddPoFulfilmentComponent },\r\n { path: \"EditPoFulfilment/:id/:page\", canActivate: [AuthGuard], component: AddPoFulfilmentComponent },\r\n { path: \"searchVendorComparison/:id/:page\", canActivate: [AuthGuard], component: VendorComparisonComponent },\r\n { path: \"AddVendorComparison/:id/:page\", canActivate: [AuthGuard], component: AddVendorComparisonComponent },\r\n { path: \"EditVendorComparison/:id/:page\", canActivate: [AuthGuard], component: AddVendorComparisonComponent },\r\n { path: \"uploadSignCopy/:id/:page\", canActivate: [AuthGuard], component: AddPoComponent },\r\n ]\r\n },\r\n { path: \"searchRateContract\", canActivate: [AuthGuard], component: RateContractComponent },\r\n { path: \"registerRateContract\", canActivate: [AuthGuard], component: AddRcComponent },\r\n { path: \"ViewRcById/:id/:flag\", canActivate: [AuthGuard], component: ViewRcComponent },\r\n {\r\n path: \"searchRateContract\",\r\n children: [\r\n { path: \"editRateContract/:id/:page\", canActivate: [AuthGuard], component: AddRcComponent },\r\n { path: \"searchRcProductDetails/:id/:page\", canActivate: [AuthGuard], component: RcProductDetailsComponent },\r\n { path: \"addRcProductDetails/:id/:page\", canActivate: [AuthGuard], component: AddRcProductDetailsComponent },\r\n { path: \"editRcProductDetails/:id/:page\", canActivate: [AuthGuard], component: AddRcProductDetailsComponent },\r\n { path: \"searchRcTerms/:id/:page\", canActivate: [AuthGuard], component: RcAdditionalTermsComponent },\r\n { path: \"uploadSignCopy/:id/:page\", canActivate: [AuthGuard], component: AddRcComponent },\r\n ]\r\n },\r\n {\r\n path: \"searchTask\",\r\n children: [\r\n { path: \"UpdatePO/:id/:page/:task\", canActivate: [AuthGuard], component: AddPoComponent },\r\n { path: \"SearchProductDetails/:id/:page/:task\", canActivate: [AuthGuard], component: ProductDetailsComponent },\r\n { path: \"AddProductDetails/:id/:page/:task\", canActivate: [AuthGuard], component: AddProductDetailsComponent },\r\n { path: \"UpdateProductDetails/:id/:page/:task\", canActivate: [AuthGuard], component: AddProductDetailsComponent },\r\n { path: \"searchPoTerms/:id/:page/:task\", canActivate: [AuthGuard], component: AdditionalTermsComponent },\r\n { path: \"editRateContract/:id/:page/:task\", canActivate: [AuthGuard], component: AddRcComponent },\r\n { path: \"searchRcProductDetails/:id/:page/:task\", canActivate: [AuthGuard], component: RcProductDetailsComponent },\r\n { path: \"addRcProductDetails/:id/:page/:task\", canActivate: [AuthGuard], component: AddRcProductDetailsComponent },\r\n { path: \"editRcProductDetails/:id/:page/:task\", canActivate: [AuthGuard], component: AddRcProductDetailsComponent },\r\n { path: \"searchRcTerms/:id/:page/:task\", canActivate: [AuthGuard], component: RcAdditionalTermsComponent },\r\n ]\r\n },\r\n {\r\n path: \"searchParty\",\r\n children: [\r\n { path: \"UpdateParty/:id/:page\", canActivate: [AuthGuard], component: AddPartyComponent },\r\n { path: \"SearchPartyAddress/:id/:page\", canActivate: [AuthGuard], component: AddressMasterComponent },\r\n { path: \"AddPartyAddress/:id/:page\", canActivate: [AuthGuard], component: AddAddressComponent },\r\n { path: \"UpdatePartyAddress/:id/:page\", canActivate: [AuthGuard], component: AddAddressComponent },\r\n { path: \"searchGst/:id/:page\", canActivate: [AuthGuard], component: PartyGstComponent },\r\n\r\n ]\r\n },\r\n { path: \"searchUSIDInstallationReport\", canActivate: [AuthGuard], component: USIDInstallationComponent },\r\n { path: \"addUSIDInstallationReport\", canActivate: [AuthGuard], component: AddUSIDInstallationComponent },\r\n { path: \"updateUSIDReport/:id/:page\", canActivate: [AuthGuard], component: AddUSIDInstallationComponent },\r\n { path: \"viewUSIDReport/:id/:page\", canActivate: [AuthGuard], component: ViewUSIDInstallationReport },\r\n \r\n { path: \"billingSchedule\", canActivate: [AuthGuard], component: BillingScheduleComponent },\r\n\r\n { path: \"searchInvoice\", canActivate: [AuthGuard], component: InvoiceComponent },\r\n { path: \"searchInvoiceTask\", canActivate: [AuthGuard], component: InvoiceTaskComponent },\r\n\r\n { path: \"collectionTagging\", canActivate: [AuthGuard], component: CollectionTaggingComponent },\r\n { path: \"searchCollectionTask\", canActivate: [AuthGuard], component: CollectionTaskComponent },\r\n { path: \"searchLocation\", canActivate: [AuthGuard], component: LocationComponent },\r\n { path: \"addLocation\", canActivate: [AuthGuard], component: AddLocationComponent },\r\n { path: \"updateLocation/:id/:page\", canActivate: [AuthGuard], component: AddLocationComponent },\r\n\r\n { path: \"invoiceAgeingReport\", canActivate: [AuthGuard], component: InvoiceAgeingReportComponent },\r\n\r\n { path: \"billingcomparison\", canActivate: [AuthGuard], component: BillingComparsionomponent },\r\n { path: \"monthlybilling\", canActivate: [AuthGuard], component: MonthlyBillingComponent },\r\n { path: \"monthlyCollection\", canActivate: [AuthGuard], component: MonthlyCollectionComponent },\r\n\r\n { path: \"searchPrs\", canActivate: [AuthGuard], component: PRSComponent },\r\n { path: \"addPrs\", canActivate: [AuthGuard], component: AddPrsComponent },\r\n { path: \"updatePrs/:id/:page\", canActivate: [AuthGuard], component: AddPrsComponent },\r\n { path: \"ViewPrsById/:id\", canActivate: [AuthGuard], component: ViewPRSComponent },\r\n { path: \"searchPrsTask\", canActivate: [AuthGuard], component: PrsTaskComponent },\r\n\r\n { path: \"searchPayments/:prsid\", canActivate: [AuthGuard], component: VendorPaymentsComponent },\r\n { path: \"addPayment/:prsid\", canActivate: [AuthGuard], component: AddVendorPaymentComponent },\r\n { path: \"updatePayment/:id/:page/:prsid\", canActivate: [AuthGuard], component: AddVendorPaymentComponent },\r\n { path: \"Dashboard\", canActivate: [AuthGuard], component: DashboardComponent },\r\n { path: \"poMonthlyPaymentReport\", canActivate: [AuthGuard], component: MonthlyPaymentComponent },\r\n { path: \"poPendingPaymentReport\", canActivate: [AuthGuard], component: PendingPaymentComponent },\r\n { path: \"prsReport\", canActivate: [AuthGuard], component: PrsReportComponent },\r\n { path: \"poCriteriaReport\", canActivate: [AuthGuard], component: PoCriteriaReportComponent },\r\n { path: \"poWiseProductReport\", canActivate: [AuthGuard], component: PoWiseProductReportComponent },\r\n { path: \"poStatusWiseReport\", canActivate: [AuthGuard], component: StatusWisePoReportComponent },\r\n { path: \"poProjectVendorWiseReport\", canActivate: [AuthGuard], component: ProjectVendorWisePoReportComponent },\r\n\r\n { path: \"TicketSLAReport\", canActivate: [AuthGuard], component: TicketSLAReportComponent },\r\n { path: \"AllTicketReport\", canActivate: [AuthGuard], component: TicketMISComponent },\r\n { path: \"AgingReport\", canActivate: [AuthGuard], component: TicketAgeingReportComponent },\r\n { path: \"TicketEscalationReport\", canActivate: [AuthGuard], component: TicketEscalationReportComponent },\r\n { path: \"TicketIncidentReport\", canActivate: [AuthGuard], component: TicketIncidentReportComponent },\r\n { path: \"OrphanTicket\", canActivate: [AuthGuard], component: OrphanTripsComponent },\r\n { path: \"changepassword\", canActivate: [AuthGuard], component: ChangePasswordComponent },\r\n { path: \"forgotpassword\", component: ForgotPasswordComponent },\r\n { path: \"resetpassword\", component: ResetPasswordComponent },\r\n { path: \"grnMasterSearch\", canActivate: [AuthGuard], component: GrnMasterComponent },\r\n { path: \"grnMasterAdd\", canActivate: [AuthGuard], component: AddGrnComponent },\r\n { path: \"grnMasterEdit/:id/:page\", canActivate: [AuthGuard], component: AddGrnComponent },\r\n { path: \"grnTaskSearch\", canActivate: [AuthGuard], component: GrnTaskComponent },\r\n { path: \"updateGrnTask/:id/:page\", canActivate: [AuthGuard], component: UpdateGrnTaskComponent },\r\n { path: \"grnMasterEdit/:id/:page/:task\", canActivate: [AuthGuard], component: AddGrnComponent },\r\n { path: \"searchCurrency\", canActivate: [AuthGuard], component: CurrencyMasterComponent },\r\n { path: \"searchGrnreport\", canActivate: [AuthGuard], component: GrnReportComponent },\r\n \r\n//{ path: \"projectDetails\", canActivate: [AuthGuard], component: ProjectdetailsComponent },\r\n { path: \"searchProject\", canActivate: [AuthGuard], component: ProjectMasterComponent },\r\n\r\n { path: \"addProject\", canActivate: [AuthGuard], component: ProjectdetailsComponent },\r\n { path: \"viewProject/:id/:page\", canActivate: [AuthGuard], component: ViewProjectComponent },\r\n { path: \"searchProjectTask\", canActivate: [AuthGuard], component: ProjectApprovalTaskComponent },\r\n {\r\n path: \"searchProjectTask\",\r\n children: [\r\n { path: \"updateProjectDetails/:id/:page/:taskid\", canActivate: [AuthGuard], component: ProjectdetailsComponent },\r\n { path: \"projectConfiguration/:id/:page/:taskid\", canActivate: [AuthGuard], component: ProjectconfigurationComponent },\r\n ]\r\n },\r\n \r\n {\r\n path: \"searchProject\",\r\n children: [\r\n { path: \"updateProjectDetails/:id/:page\", canActivate: [AuthGuard], component: ProjectdetailsComponent },\r\n { path: \"projectConfiguration/:id/:page\", canActivate: [AuthGuard], component: ProjectconfigurationComponent },\r\n ]\r\n },\r\n { path: \"poFullfillmentReport\", canActivate: [AuthGuard], component: PoFullfillmentReportComponent },\r\n { path: \"projectMapping/:id\", canActivate: [AuthGuard], component: ProjectMappingComponent },\r\n \r\n { path: \"addProjectMapping/:id\", canActivate: [AuthGuard], component: AddProjectMappingComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'angular9';\r\n}\r\n","","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\nimport { environment } from '../environments/environment';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { LoaderComponent } from './layout/loader/loader.component';\r\nimport { HeaderComponent } from './layout/header/header.component';\r\nimport { LeftmenuComponent } from './layout/leftmenu/leftmenu.component';\r\nimport { AppMaterialModule } from './app-material/app-material.module';\r\nimport { MatConfirmDialogComponent } from './mat-confirm-dialog/mat-confirm-dialog.component';\r\nimport { OnlynumberDirective } from './directive/onlynumber.directive';\r\nimport { HsnMasterComponent } from './AssetMgmt/HsnMaster/hsn-master.component';\r\nimport { DepartmentComponent } from './ConfigurationMgmt/department/department.component';\r\nimport { OrganizationComponent } from './ConfigurationMgmt/organization/organization.component';\r\nimport { GeographyComponent } from './UniqueSiteId/geography/geography.component';\r\nimport { CityComponent } from './UniqueSiteId/city/city.component';\r\nimport { PoliceStationComponent } from './UniqueSiteId/police-station/police-station.component';\r\nimport { FamilyComponent } from './ConfigurationMgmt/family/family.component';\r\nimport { UserProfileComponent } from './ConfigurationMgmt/user-profile/user-profile.component';\r\nimport { AddUserComponent } from './ConfigurationMgmt/user-profile/add-user/add-user.component';\r\nimport { MenuComponent } from './ConfigurationMgmt/menu/menu.component';\r\nimport { ModelMasterComponent } from './AssetMgmt/ModelMaster/modelmaster.component';\r\nimport { ManufacturerComponent } from './AssetMgmt/Manufacturer/manufacturer.component';\r\nimport { CategoryMasterComponent } from './AssetMgmt/CategoryMaster/categorymaster.component';\r\nimport { AssetConstantMasterComponent } from './AssetMgmt/AssetConstantMaster/assetconstantmaster.component';\r\nimport { ProductMasterComponent } from './AssetMgmt/ProductMaster/productmaster.component';\r\nimport { AddProductComponent } from './AssetMgmt/ProductMaster/addproduct/addproduct.component';\r\nimport { AssetMasterComponent } from './AssetMgmt/AssetMaster/assetmaster.component';\r\nimport { AddAssetComponent } from './AssetMgmt/AssetMaster/addasset/addasset.component';\r\nimport { AssetAuditComponent } from './AssetMgmt/AssetMaster/assetaudit/assetaudit.component';\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { DeliveryChallanComponent } from './AssetMgmt/DeliveryChallan/dc.component';\r\nimport { AddDeliveryChallanComponent } from './AssetMgmt/DeliveryChallan/adddc/adddc.component';\r\nimport { SearchAssetComponent } from './AssetMgmt/DeliveryChallan/searchAsset/searchasset.component';\r\nimport { UpdateDCAssetComponent } from './AssetMgmt/DeliveryChallan/addasset/updateasset.component';\r\n\r\nimport { AddInterDCComponent } from './AssetMgmt/InterDistrictDeliveryChallan/adddc/interDCAddcomponent';\r\nimport { InterDistrictDCComponent } from './AssetMgmt/InterDistrictDeliveryChallan/interDC.component';\r\nimport { OEMDCComponent } from './AssetMgmt/OEMDeliveryChallan/oemdc.component';\r\nimport { AddOEMDCComponent } from './AssetMgmt/OEMDeliveryChallan/adddc/addoemdc.component';\r\nimport { CityWiseAssetReportComponent } from './AssetMgmt/CityWiseAssetReport/citywiseasset.component';\r\nimport { OEMActionComponent } from './AssetMgmt/OEMDeliveryChallan/assetaction/assetaction.component';\r\nimport { ActionComponent } from './AssetMgmt/InterDistrictDeliveryChallan/action/action.component';\r\nimport { ViewInterDistrictDCComponent } from './AssetMgmt/InterDistrictDeliveryChallan/viewDC/viewInterDistrictDC.component';\r\nimport { ViewOEMDCComponent } from './AssetMgmt/OEMDeliveryChallan/viewDC/viewOEMDC.component';\r\nimport { ViewDeliveryChallanComponent } from './AssetMgmt/DeliveryChallan/viewDC/viewDC.component';\r\nimport { AddCityInstallationComponent } from './AssetMgmt/CityAssetInstallationReport/generateReport/addcityassetinstallation.component';\r\nimport { CityInstallationComponent } from './AssetMgmt/CityAssetInstallationReport/cityassetinstallation.component';\r\nimport { AssetCountReportComponent } from './AssetMgmt/AssetCountReport/assetcountreport.component';\r\n\r\nimport { TicketCategoryComponent } from './HelpdeskMgmt/ticket-category/ticket-category.component';\r\nimport { TicketProblemReportComponent } from './HelpdeskMgmt/ticket-problem-report/ticket-problem-report.component';\r\nimport { TicketClassificationComponent } from './HelpdeskMgmt/ticket-classification/ticket-classification.component';\r\nimport { TicketMasterComponent } from './HelpdeskMgmt/ticket-master/ticket-master.component';\r\nimport { AddTicketComponent } from './HelpdeskMgmt/ticket-master/add-ticket/add-ticket.component';\r\nimport { VehicleMasterComponent } from './HelpdeskMgmt/vehicle-master/vehicle-master.component';\r\nimport { AddVehicleComponent } from './HelpdeskMgmt/vehicle-master/add-vehicle/add-vehicle.component';\r\nimport { LicenseMasterComponent } from './HelpdeskMgmt/license-master/license-master.component';\r\nimport { AddLicenseComponent } from './HelpdeskMgmt/license-master/add-license/add-license.component';\r\nimport { VehicleServiceMasterComponent } from './HelpdeskMgmt/vehicle-service-master/vehicle-service-master.component';\r\nimport { AddVehicleServiceComponent } from './HelpdeskMgmt/vehicle-service-master/add-vehicle-service/add-vehicle-service.component';\r\nimport { TicketTaskComponent } from './HelpdeskMgmt/ticket-master/ticket-task/ticket-task.component';\r\nimport { AddTaskComponent } from './HelpdeskMgmt/ticket-master/ticket-task/add-task/add-task.component';\r\nimport { AddTripComponent } from './HelpdeskMgmt/ticket-master/ticket-task/add-trip/add-trip.component';\r\nimport { PartyMasterComponent } from './VendorMgmt/party-master/party-master.component';\r\nimport { AddPartyComponent } from './VendorMgmt/party-master/add-party/add-party.component';\r\nimport { AddressMasterComponent } from './VendorMgmt/address-master/address-master.component';\r\nimport { AddAddressComponent } from './VendorMgmt/address-master/add-address/add-address.component';\r\nimport { PartyGstComponent } from './VendorMgmt/party-gst/party-gst.component';\r\nimport { PoPaymentComponent } from './OrderMgmt/po-payment/po-payment.component';\r\nimport { AddPaymentComponent } from './OrderMgmt/po-payment/add-payment/add-payment.component';\r\nimport { RoleComponent } from './ConfigurationMgmt/role/role.component';\r\nimport { AddRoleComponent } from './ConfigurationMgmt/role/add-role/add-role.component';\r\nimport { MyprofileComponent } from './ConfigurationMgmt/myprofile/myprofile.component';\r\nimport { TripaddressDirective } from './directive/tripaddress.directive';\r\nimport { ConstantMasterComponent } from './OrderMgmt/constant-master/constant-master.component';\r\nimport { BoqMasterComponent } from './OrderMgmt/boq-master/boq-master.component';\r\nimport { AddBoqComponent } from './OrderMgmt/boq-master/add-boq/add-boq.component';\r\nimport { PurchaseOrderComponent } from './OrderMgmt/purchase-order/purchase-order.component';\r\nimport { AddPoComponent } from './OrderMgmt/purchase-order/add-po/add-po.component';\r\nimport { PotabComponent } from './layout/potab/potab.component';\r\nimport { ProductDetailsComponent } from './OrderMgmt/product-details/product-details.component';\r\nimport { AddProductDetailsComponent } from './OrderMgmt/product-details/add-product-details/add-product-details.component';\r\nimport { VendortabComponent } from './layout/vendortab/vendortab.component';\r\nimport { ViewPoComponent } from './OrderMgmt/purchase-order/view-po/view-po.component';\r\nimport { USIDInstallationComponent } from './AssetMgmt/USIDAssetInstallationReport/USIDassetinstallation.component';\r\nimport { AddUSIDInstallationComponent } from './AssetMgmt/USIDAssetInstallationReport/generateReport/generateassetinstallation.component';\r\n\r\nimport { ProjectApprovalTaskComponent } from './ProjectMgmt/ProjectApproval/projectapproval.component';\r\nimport { ProjectMasterComponent } from './ProjectMgmt/ProjectMaster/projectmaster.component';\r\nimport { ViewProjectComponent } from './ProjectMgmt/ProjectMaster/viewproject/viewproject.component';\r\nimport { AddProjectComponent } from './ProjectMgmt/ProjectMaster/addproject/addproject.component';\r\n\r\nimport { BillingScheduleComponent } from './BillingMgmt/BillingSchedule/billingschedule.component';\r\nimport { AddScheduleComponent } from './BillingMgmt/BillingSchedule/addbillingschedule/addschedule.component';\r\nimport { AddInvoiceComponent } from './BillingMgmt/Invoice/addinvoice/addinvoice.component';\r\nimport { InvoiceTaskComponent } from './BillingMgmt/Invoice/invoicetask/invoicetask.component';\r\nimport { ViewInvoiceComponent } from './BillingMgmt/Invoice/viewinvoice/viewinvoice.component';\r\nimport { InvoiceComponent } from './BillingMgmt/Invoice/invoice.component';\r\nimport { CollectionTaggingComponent } from './BillingMgmt/CollectionTagging/collectiontagging.component';\r\nimport { AddCollectionComponent } from './BillingMgmt/CollectionTagging/addcollection/addcollection.component';\r\nimport { CollectionTaskComponent } from './BillingMgmt/CollectionTagging/collectiontask/collectiontask.component';\r\nimport { CollectionActionComponent } from './BillingMgmt/CollectionTagging/collectiontask/action/action.component';\r\nimport { InvoiceAgeingReportComponent } from './BillingMgmt/BillingReport/ageingreport/invoicereport.component';\r\nimport { BillingComparsionomponent } from './BillingMgmt/BillingReport/billingcomparison/billingcomparsion.component';\r\nimport { MonthlyBillingComponent } from './BillingMgmt/BillingReport/monthlybilling/monthlybilling.component';\r\nimport { MonthlyCollectionComponent } from './BillingMgmt/BillingReport/monthlycollection/monthlycollection.component';\r\n\r\nimport { PRSComponent } from './OrderMgmt/prs-master/prs.component';\r\nimport { AddPrsComponent } from './OrderMgmt/prs-master/add-prs/add-prs.component';\r\nimport { ViewPRSComponent } from './OrderMgmt/prs-master/view-prs/view-prs.component';\r\nimport { PrsTaskComponent } from './OrderMgmt/prs-master/prstask/prstask.component';\r\nimport { PrsActionComponent } from './OrderMgmt/prs-master/prstask/action/prsaction.component';\r\nimport { AddVendorPaymentComponent } from './OrderMgmt/vendor-payment-collection/add-payments/add-payments.component';\r\nimport { VendorPaymentsComponent } from './OrderMgmt/vendor-payment-collection/payments.component';\r\n\r\nimport { UpdatePoTaskComponent } from './OrderMgmt/purchase-order-task/update-po-task/update-po-task.component';\r\nimport { PurchaseOrderTaskComponent } from './OrderMgmt/purchase-order-task/purchase-order-task.component';\r\nimport { RateContractComponent } from './OrderMgmt/rate-contract/rate-contract.component';\r\nimport { AddRcComponent } from './OrderMgmt/rate-contract/add-rc/add-rc.component';\r\nimport { ViewRcComponent } from './OrderMgmt/rate-contract/view-rc/view-rc.component';\r\nimport { RcProductDetailsComponent } from './OrderMgmt/rc-product-details/rc-product-details.component';\r\nimport { AddRcProductDetailsComponent } from './OrderMgmt/rc-product-details/add-rc-product-details/add-rc-product-details.component';\r\nimport { PoFulfilmentComponent } from './OrderMgmt/po-fulfilment/po-fulfilment.component';\r\nimport { AddPoFulfilmentComponent } from './OrderMgmt/po-fulfilment/add-po-fulfilment/add-po-fulfilment.component';\r\nimport { VendorComparisonComponent } from './OrderMgmt/vendor-comparison/vendor-comparison.component';\r\nimport { AddVendorComparisonComponent } from './OrderMgmt/vendor-comparison/add-vendor-comparison/add-vendor-comparison.component';\r\nimport { AdditionalTermsComponent } from './OrderMgmt/purchase-order/additional-terms/additional-terms.component';\r\nimport { RcAdditionalTermsComponent } from './OrderMgmt/rate-contract/rc-additional-terms/rc-additional-terms.component';\r\nimport { LocationComponent } from './UniqueSiteId/location/location.component';\r\nimport { AddLocationComponent } from './UniqueSiteId/location/add-location/add-location.component';\r\nimport { FileuploadComponent } from './global/fileupload/fileupload.component';\r\nimport { ViewUSIDInstallationReport } from './AssetMgmt/USIDAssetInstallationReport/viewReport/viewInstallationReport.component';\r\nimport { ViewCityInstallationReport } from './AssetMgmt/CityAssetInstallationReport/viewReport/viewCityInstallationReport.component';\r\nimport { MatTableExporterModule } from 'mat-table-exporter';\r\nimport { TicketAgeingReportComponent } from './HelpdeskMgmt/ticket-report/ageing-report/ageing-report.component';\r\nimport { TicketEscalationReportComponent } from './HelpdeskMgmt/ticket-report/escalated-report/escalated-report.component';\r\nimport { TicketIncidentReportComponent } from './HelpdeskMgmt/ticket-report/incident-report/incident-report.component';\r\nimport { OrphanTripsComponent } from './HelpdeskMgmt/ticket-report/orphan-trips-report/orphan-trips.component';\r\nimport { TicketMISComponent } from './HelpdeskMgmt/ticket-report/ticket-mis-report/ticket-mis-report.component';\r\nimport { TicketSLAReportComponent } from './HelpdeskMgmt/ticket-report/sla-report/sla-report.component';\r\nimport { ViewWorkflowComponent } from './OrderMgmt/purchase-order-task/view-workflow/view-workflow.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { SupportTeamComponent } from 'src/app/HelpdeskMgmt/support-team/support-team.component';\r\nimport { AddSupportTeamComponent } from './HelpdeskMgmt/support-team/add-support-team/add-support-team.component';\r\nimport { CancelPoTaskComponent } from './OrderMgmt/purchase-order-task/cancel-po-task/cancel-po-task.component';\r\nimport { MonthlyPaymentComponent } from './OrderMgmt/Reports/monthly-payment/monthly-payment.component';\r\nimport { PendingPaymentComponent } from './OrderMgmt/Reports/pending-payment/pending-payment.component';\r\nimport { PrsReportComponent } from './OrderMgmt/Reports/prs-report/prs-report.component';\r\nimport { PoCriteriaReportComponent } from './OrderMgmt/Reports/po-criteria-report/po-criteria-report.component';\r\nimport { PoWiseProductReportComponent } from './OrderMgmt/Reports/po-wise-product-report/po-wise-product-report.component';\r\nimport { StatusWisePoReportComponent } from './OrderMgmt/Reports/status-wise-po-report/status-wise-po-report.component';\r\nimport { ProjectVendorWisePoReportComponent } from './OrderMgmt/Reports/project-vendor-wise-po-report/project-vendor-wise-po-report.component';\r\nimport { ChangePasswordComponent } from './ConfigurationMgmt/change-password/change-password.component';\r\nimport { ForgotPasswordComponent } from './ConfigurationMgmt/forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './ConfigurationMgmt/reset-password/reset-password.component';\r\nimport { AssetTPAComponent } from './AssetMgmt/AssetTPA/assetTPA.component';\r\nimport { GrnMasterComponent } from './OrderMgmt/grn-master/grn-master.component';\r\nimport { AddGrnComponent } from './OrderMgmt/grn-master/add-grn/add-grn.component';\r\nimport { GrnTaskComponent } from './OrderMgmt/grn-task/grn-task.component';\r\nimport { UpdateGrnTaskComponent } from './OrderMgmt/grn-task/update-grn-task/update-grn-task.component';\r\nimport { HistoryTaskComponent } from './OrderMgmt/purchase-order-task/history-task/history-task.component';\r\nimport { CurrencyMasterComponent } from './HelpdeskMgmt/currency-master/currency-master.component';\r\nimport { GrnReportComponent } from './OrderMgmt/Reports/grn-report/grn-report.component';\r\nimport { ProjectdetailsComponent } from './ProjectMgmt/ProjectMaster/projectdetails/projectdetails.component';\r\nimport { ProjectconfigurationComponent } from './ProjectMgmt/ProjectMaster/projectconfiguration/projectconfiguration.component';\r\nimport { ProjectattachmentComponent } from './ProjectMgmt/ProjectMaster/projectattachment/projectattachment.component';\r\nimport { ProjecttabComponent } from './layout/projecttab/projecttab.component';\r\nimport { ExceptionhandlerService } from './service/exceptionhandler.service';\r\nimport { AppGlobals } from './global/app.global';\r\nimport { PoFullfillmentReportComponent } from './OrderMgmt/Reports/po-fullfillment-report/po-fullfillment-report.component';\r\nimport { ProjectMappingComponent } from './ProjectMgmt/ProjectMapping/project-mapping.component';\r\nimport { AddProjectMappingComponent } from './ProjectMgmt/ProjectMapping/addprojectMapping/addprojectMapping.component';\r\nimport { CourierDetailsComponent } from './AssetMgmt/DeliveryChallan/courierDetails/courierDetails.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n LoaderComponent,\r\n HeaderComponent,\r\n LeftmenuComponent,\r\n MatConfirmDialogComponent,\r\n OnlynumberDirective,\r\n HsnMasterComponent,\r\n DepartmentComponent,\r\n OrganizationComponent,\r\n GeographyComponent,\r\n CityComponent,\r\n PoliceStationComponent,\r\n FamilyComponent,\r\n UserProfileComponent,\r\n AddUserComponent,\r\n MenuComponent,\r\n ModelMasterComponent,\r\n ManufacturerComponent,\r\n CategoryMasterComponent,\r\n AssetConstantMasterComponent,\r\n ProductMasterComponent,\r\n AddProductComponent,\r\n AssetMasterComponent,\r\n AddAssetComponent,\r\n AssetAuditComponent,\r\n DeliveryChallanComponent,\r\n AddDeliveryChallanComponent,\r\n SearchAssetComponent,\r\n UpdateDCAssetComponent,\r\n AddInterDCComponent,\r\n InterDistrictDCComponent, ViewInterDistrictDCComponent,\r\n OEMDCComponent,\r\n AddOEMDCComponent,\r\n CityWiseAssetReportComponent,\r\n ActionComponent,\r\n OEMActionComponent,\r\n ViewDeliveryChallanComponent, ViewOEMDCComponent,\r\n AddCityInstallationComponent, CityInstallationComponent,\r\n AssetCountReportComponent,\r\n\r\n TicketCategoryComponent,\r\n TicketProblemReportComponent,\r\n TicketClassificationComponent,\r\n TicketMasterComponent,\r\n AddTicketComponent,\r\n VehicleMasterComponent,\r\n AddVehicleComponent,\r\n LicenseMasterComponent,\r\n AddLicenseComponent,\r\n VehicleServiceMasterComponent,\r\n AddVehicleServiceComponent,\r\n TicketTaskComponent,\r\n AddTaskComponent,\r\n AddTripComponent,\r\n PartyMasterComponent,\r\n AddPartyComponent,\r\n AddressMasterComponent,\r\n AddAddressComponent,\r\n PartyGstComponent,\r\n PoPaymentComponent,\r\n AddPaymentComponent,\r\n RoleComponent,\r\n AddRoleComponent,\r\n MyprofileComponent,\r\n TripaddressDirective,\r\n ConstantMasterComponent,\r\n BoqMasterComponent,\r\n AddBoqComponent,\r\n PurchaseOrderComponent,\r\n AddPoComponent,\r\n PotabComponent,\r\n ProductDetailsComponent,\r\n AddProductDetailsComponent,\r\n VendortabComponent,\r\n ViewPoComponent,\r\n USIDInstallationComponent, AddUSIDInstallationComponent,\r\n ProjectApprovalTaskComponent, ProjectMasterComponent, AddProjectComponent, ViewProjectComponent,\r\n AddScheduleComponent, BillingScheduleComponent,\r\n InvoiceTaskComponent, InvoiceComponent, ViewInvoiceComponent, AddInvoiceComponent,\r\n CollectionTaggingComponent, AddCollectionComponent,\r\n CollectionTaskComponent, CollectionActionComponent,\r\n InvoiceAgeingReportComponent, BillingComparsionomponent, MonthlyBillingComponent,\r\n MonthlyCollectionComponent, PRSComponent,\r\n AddPrsComponent, ViewPRSComponent, PrsTaskComponent, PrsActionComponent,\r\n AddVendorPaymentComponent, VendorPaymentsComponent,\r\n LocationComponent, AddLocationComponent, FileuploadComponent,\r\n UpdatePoTaskComponent,\r\n PurchaseOrderTaskComponent,\r\n RateContractComponent,\r\n AddRcComponent,\r\n ViewRcComponent,\r\n RcProductDetailsComponent,\r\n AddRcProductDetailsComponent,\r\n PoFulfilmentComponent,\r\n AddPoFulfilmentComponent,\r\n VendorComparisonComponent,\r\n AddVendorComparisonComponent,\r\n AdditionalTermsComponent,\r\n TicketAgeingReportComponent,\r\n TicketEscalationReportComponent,\r\n TicketIncidentReportComponent,\r\n OrphanTripsComponent,\r\n TicketMISComponent, TicketSLAReportComponent,\r\n RcAdditionalTermsComponent, ViewUSIDInstallationReport, ViewCityInstallationReport,\r\n ViewWorkflowComponent,\r\n DashboardComponent, SupportTeamComponent, AddSupportTeamComponent,\r\n CancelPoTaskComponent,\r\n MonthlyPaymentComponent,\r\n PendingPaymentComponent,\r\n PrsReportComponent,\r\n PoCriteriaReportComponent,\r\n PoWiseProductReportComponent,\r\n StatusWisePoReportComponent,\r\n ProjectVendorWisePoReportComponent,\r\n ChangePasswordComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n AssetTPAComponent,\r\n GrnMasterComponent,\r\n AddGrnComponent,\r\n GrnTaskComponent,\r\n UpdateGrnTaskComponent,\r\n HistoryTaskComponent,\r\n CurrencyMasterComponent,\r\n GrnReportComponent,\r\n ProjectdetailsComponent,\r\n ProjectconfigurationComponent,\r\n ProjectattachmentComponent,\r\n\r\n ProjecttabComponent, PoFullfillmentReportComponent,\r\n ProjectMappingComponent, AddProjectMappingComponent,\r\n CourierDetailsComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n AppMaterialModule,\r\n MatDialogModule,\r\n MatTableExporterModule,\r\n ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })\r\n ],\r\n providers: [ExceptionhandlerService, AppGlobals],\r\n bootstrap: [AppComponent],\r\n entryComponents: [AssetAuditComponent, SearchAssetComponent, UpdateDCAssetComponent, ActionComponent,\r\n OEMActionComponent, AddScheduleComponent,\r\n ViewInvoiceComponent, AddInvoiceComponent, AddCollectionComponent, CollectionActionComponent,\r\n PrsActionComponent, CourierDetailsComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n tokenTimeExpiryDate: number;\r\n constructor(private router: Router) { }\r\n\r\n canActivate(\r\n\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): boolean {\r\n this.tokenTimeExpiryDate = Number(sessionStorage.getItem('tokenTime'));\r\n let expiryDate = this.tokenTimeExpiryDate + 6900000;\r\n let chkLoginTime = new Date().getTime(); \r\n if (chkLoginTime >= expiryDate) {\r\n alert(\"Your session has expired. you will now be redirected to login page.\")\r\n this.router.navigate(['/']);\r\n }\r\n if (sessionStorage.getItem(\"token\") != null) {\r\n return true;\r\n }\r\n else {\r\n alert(\"Token has been not generated yet. \\n Please login.\")\r\n this.router.navigate(['/']);\r\n return false\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n//import { HttpClient } from '@angular/common/http';\r\n//import { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../global/app.global';\r\nimport { DialogService } from '../service/dialog.service';\r\nimport { DashboardService } from './dashboard.service';\r\n//import * as HighCharts from 'highcharts';\r\nimport * as Highcharts from 'highcharts';\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n providers: [DashboardService, DialogService, AppGlobals]\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n constructor(private dashboardService: DashboardService, private dialogService: DialogService,\r\n private _global: AppGlobals,) { }\r\n showLoading: boolean = false;\r\n dashboardData: any = [];\r\n errorMessage: string = \"\";\r\n\r\n dashboardCount = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.dashboardService.getCount(headers).subscribe(resp => {\r\n this.dashboardData = resp[0];\r\n this.pieChartBrowser();\r\n this.columnChartBrowser();\r\n console.log(this.dashboardData);\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n if (error.statusText == \"Unknown Error\") {\r\n this.dialogService.openConfirmDialog(\"Your session has been expired\");\r\n this.router.navigate(['/']);\r\n }\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.dashboardCount();\r\n\r\n }\r\n\r\n columnChartBrowser() {\r\n Highcharts.chart('columnChart', {\r\n chart: {\r\n type: 'column'\r\n },\r\n title: {\r\n text: 'Summary'\r\n },\r\n tooltip: {\r\n pointFormat: '{series.name}: {point.y}'\r\n },\r\n accessibility: {\r\n announceNewData: {\r\n enabled: true\r\n }\r\n },\r\n xAxis: {\r\n type: 'category'\r\n },\r\n yAxis: {\r\n title: {\r\n text: 'Total'\r\n }\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n plotOptions: {\r\n series: {\r\n borderWidth: 0,\r\n dataLabels: {\r\n enabled: true,\r\n format: '{point.y}'\r\n }\r\n }\r\n },\r\n series: [\r\n {\r\n name: '',\r\n colorByPoint: true,\r\n type: undefined,\r\n data: [{\r\n name: 'RC Approved',\r\n y: this.dashboardData.approvedrc\r\n }, {\r\n name: 'RC Pending',\r\n y: this.dashboardData.pendingrc\r\n }, {\r\n name: 'PO Approved',\r\n y: this.dashboardData.approvedpo,\r\n }, {\r\n name: 'PO Pending',\r\n y: this.dashboardData.pendingpo\r\n }, {\r\n name: 'Vendor Invoice Approved',\r\n y: this.dashboardData.approvedprs\r\n }, {\r\n name: 'Vendor Invoice Pending',\r\n y: this.dashboardData.pendingprs\r\n }]\r\n }\r\n ]\r\n });\r\n }\r\n pieChartBrowser() {\r\n Highcharts.chart('pieChart', {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n title: {\r\n text: 'Summary'\r\n },\r\n tooltip: {\r\n pointFormat: '{series.name}: {point.y}'\r\n },\r\n accessibility: {\r\n point: {\r\n valueSuffix: ''\r\n }\r\n },\r\n\r\n plotOptions: {\r\n series: {\r\n borderWidth: 0,\r\n dataLabels: {\r\n enabled: true,\r\n format: '{point.y}'\r\n },\r\n showInLegend: true\r\n }\r\n },\r\n series: [\r\n {\r\n name: '',\r\n colorByPoint: true,\r\n type: undefined,\r\n data: [\r\n {\r\n name: 'Total Assets',\r\n y: this.dashboardData.assets,\r\n sliced: true,\r\n selected: true\r\n },\r\n {\r\n name: 'Tickets Raised',\r\n y: this.dashboardData.tickets\r\n }]\r\n }\r\n ]\r\n });\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Dashboard

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

Purchase Order

\r\n
\r\n
\r\n check\r\n \r\n

{{dashboardData.approvedpo}}

\r\n
\r\n
\r\n settings\r\n \r\n

{{dashboardData.pendingpo}}

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

Rate Contract

\r\n
\r\n
\r\n check\r\n \r\n\r\n

{{dashboardData.approvedrc}}

\r\n
\r\n
\r\n settings\r\n \r\n

{{dashboardData.pendingrc}}

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

Vendor Invoice

\r\n
\r\n
\r\n check\r\n \r\n

{{dashboardData.approvedprs}}

\r\n
\r\n
\r\n settings\r\n \r\n

{{dashboardData.pendingprs}}

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

Assets
uploaded

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

{{dashboardData.assets}}

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

Tickets
raised

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

{{dashboardData.tickets}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../global/app.global';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ExceptionhandlerService } from '../service/exceptionhandler.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashboardService {\r\n\r\n constructor(private _http:HttpClient, \r\n private exceptionhandlerService:ExceptionhandlerService,\r\n private _global: AppGlobals,\r\n \r\n ) { } \r\n\r\n getCount(header) {\r\n var url = this._global.baseAPIUrl + 'ipms/user/getDashboardCount';\r\n //return this._http.get(url, { headers: header })\r\n return this._http.get(url, { headers: header }).pipe(catchError(this.exceptionhandlerService.handleError));\r\n }\r\n \r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[numbersOnly]'\r\n})\r\nexport class OnlynumberDirective {\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n @HostListener('input', ['$event']) onInputChange(event) {\r\n const initalValue = this._el.nativeElement.value;\r\n\r\n this._el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\r\n if ( initalValue !== this._el.nativeElement.value) {\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\n//import { Template } from '@angular/compiler/src/render3/r3_ast';\r\n\r\n@Directive({\r\n selector: '[appTripaddress]'\r\n})\r\nexport class TripaddressDirective {\r\n\r\n @Input() lat: string;\r\n @Input() long: string;\r\n \r\n constructor(private elementRef: ElementRef, private _http: HttpClient) {\r\n }\r\n resultobj:any = {\"payLoad\":null};\r\n ngOnInit() {\r\n //debugger;\r\n //console.log(\"input-box keys : \", this.lat, this.long);\r\n this._http.get(\"https://app.locate365.in/get-address?lat=\"+this.lat +\"&long=\"+ this.long).subscribe(resp => {\r\n debugger;\r\n //console.log(resp);\r\n this.resultobj=resp;\r\n this.elementRef.nativeElement.innerText = this.resultobj.payLoad;\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class AppGlobals {\r\n //readonly baseAPIUrl: string = 'http://gsgassetsdev.aurionpro.com:8092/ipms/';\r\n //readonly baseUrl: string = 'http://kisaan.aurionpro.com/';\r\n // readonly baseAPIUrl: string = 'http://103.11.155.191:8091/ipms/';\r\n // readonly baseUrl: string = 'http://103.11.155.191:8091/upsrtc/';\r\n\r\n readonly baseAPIUrl: string = 'https://ipms.aurionpro.com:8096/ipms/'; // Production Deployment\r\n readonly baseUrl: string = 'https://ipms.aurionpro.com/';\r\n\r\n // readonly baseAPIUrl: string = 'https://ipmstest.aurionpro.com:8092/ipms/'; // UAT Deployment\r\n // readonly baseUrl: string = 'https://ipmstest.aurionpro.com/'\r\n\r\n // readonly baseAPIUrl: string = 'http://172.16.3.52:8092/ipms/'; // UAT Deployment\r\n //readonly baseUrl: string = 'http://172.16.3.52:8092/'\r\n\r\n // readonly baseAPIUrl: string = 'http://localhost:8095/';\r\n readonly pageNumer: number[] = [5, 10, 25, 50, 100];\r\n readonly pageSize: number = 10;\r\n readonly matSelectDurationTime: number = 1000;\r\n readonly UserRights = sessionStorage.getItem('UserRights');\r\n readonly baseUomList: Object[] = [\r\n\r\n {\r\n \"id\": 1,\r\n \"name\": \"Unit\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Pieces\"\r\n },\r\n {\r\n \"id\": 3,\r\n \"name\": \"Box\"\r\n },\r\n {\r\n \"id\": 4,\r\n \"name\": \"Bag\"\r\n },\r\n {\r\n \"id\": 5,\r\n \"name\": \"Pair\"\r\n },\r\n {\r\n \"id\": 6,\r\n \"name\": \"Carton\"\r\n },\r\n {\r\n \"id\": 7,\r\n \"name\": \"Meter\"\r\n },\r\n {\r\n \"id\": 8,\r\n \"name\": \"KM\"\r\n },\r\n {\r\n \"id\": 9,\r\n \"name\": \"Sq KM\"\r\n },\r\n {\r\n \"id\": 10,\r\n \"name\": \"Nos\"\r\n },\r\n {\r\n \"id\": 11,\r\n \"name\": \"KG\"\r\n },\r\n {\r\n \"id\": 12,\r\n \"name\": \"Set\"\r\n },\r\n {\r\n \"id\": 13,\r\n \"name\": \"Years\"\r\n },\r\n {\r\n \"id\": 14,\r\n \"name\": \"Person\"\r\n },\r\n {\r\n \"id\": 15,\r\n \"name\": \"Months\"\r\n },\r\n {\r\n \"id\": 16,\r\n \"name\": \"Man-Days\"\r\n },\r\n {\r\n \"id\": 17,\r\n \"name\": \"Dozen\"\r\n }\r\n ];\r\n\r\n readonly assetStatusList: Object[] = [\r\n\r\n {\r\n \"id\": 1,\r\n \"name\": \"UNDER REPAIR\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"READY FOR USE\"\r\n },\r\n {\r\n \"id\": 3,\r\n \"name\": \"DEFECTIVE\"\r\n },\r\n {\r\n \"id\": 4,\r\n \"name\": \"SCRAPPED\"\r\n },\r\n {\r\n \"id\": 5,\r\n \"name\": \"RESERVED/SPARED\"\r\n },\r\n {\r\n \"id\": 6,\r\n \"name\": \"OK\"\r\n },\r\n {\r\n \"id\": 7,\r\n \"name\": \"DAMAGED\"\r\n },\r\n {\r\n \"id\": 8,\r\n \"name\": \"STOLEN\"\r\n },\r\n {\r\n \"id\": 9,\r\n \"name\": \"REPLACED\"\r\n }\r\n\r\n ];\r\n readonly completionStatus: Object[] = [{ \"id\": \"101\", \"name\": \"OPEN\" }, { \"id\": \"102\", \"name\": \"CLOSE\" },\r\n { \"id\": \"103\", \"name\": \"ONHOLD\" }, { \"id\": \"104\", \"name\": \"DEFERRED\" }];\r\n\r\n\r\n thirdPartyCredentials: Object[] = [\r\n\r\n {\r\n \"userid\": \"jitendra.dubey@aurionpro.com\",\r\n \"password\": \"959444170\"\r\n\r\n }\r\n\r\n ]\r\n\r\n readonly poRcWorkflow: string = \"PO_BY_RC_APPROVAL\";\r\n}","import { Component, OnInit, ViewChild, ElementRef, Input } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { FileuploadService } from '../../service/fileupload.service';\r\nimport { HttpClient, HttpEventType, HttpErrorResponse } from '@angular/common/http';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { DialogService } from '../../service/dialog.service';\r\nimport { of } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-fileupload',\r\n templateUrl: './fileupload.component.html',\r\n providers: [FileuploadService, AppGlobals, DialogService]\r\n})\r\nexport class FileuploadComponent implements OnInit {\r\n\r\n\r\n @Input() files: any = [];\r\n @Input() maxSize: number = 2048;\r\n @Input() labelname: string = \"Select File to Upload\";\r\n @Input() modulename: string = \"default\";\r\n @Input() entitydata: any = \"\";\r\n @Input() isSingle: boolean = true;\r\n\r\n errormsg: string = \"\";\r\n // uploadlabel:string = \"\";\r\n\r\n @ViewChild(\"fileUpload\", { static: false }) fileUpload: ElementRef;\r\n\r\n\r\n\r\n constructor(private http: HttpClient,\r\n private _global: AppGlobals, private fileuploadService: FileuploadService, private dialogService: DialogService) { }\r\n\r\n uploadFile(file) {\r\n debugger;\r\n const formData = new FormData();\r\n formData.append('file', file.data);\r\n file.inProgress = true;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.fileuploadService.upload(formData, headers, this.modulename, this.entitydata).pipe(\r\n map(event => {\r\n switch (event.type) {\r\n\r\n case HttpEventType.UploadProgress:\r\n file.progress = Math.round(event.loaded * 100 / event.total);\r\n\r\n break;\r\n case HttpEventType.Response:\r\n file.uploadedFileName = event.body.fileName;\r\n file.uploadedFilePath = event.body.filePath;\r\n file.uploadStatus = event.body.status;\r\n return event;\r\n debugger;\r\n\r\n }\r\n }\r\n\r\n ),\r\n catchError((error: HttpErrorResponse) => {\r\n file.inProgress = false;\r\n file.uploadStatus = \"FAILED\";\r\n return of(`${file.data.name} upload failed.`);\r\n })).subscribe((event: any) => {\r\n if (typeof (event) === 'object') {\r\n console.log(event.body);\r\n }\r\n });\r\n }\r\n\r\n\r\n private uploadFiles() {\r\n debugger;\r\n this.fileUpload.nativeElement.value = '';\r\n this.files.forEach(file => {\r\n if(file.progress<100){\r\n this.uploadFile(file);}\r\n else if(file.progress==null){\r\n this.uploadFile(file);}\r\n });\r\n }\r\n\r\n\r\n onClick() {\r\n if(this.isSingle)\r\n {\r\n if(this.files.length>=1)\r\n {\r\n this.dialogService.openConfirmDialog(\"Only Single file allowed\");\r\n return;\r\n }\r\n }\r\n const fileUpload = this.fileUpload.nativeElement; fileUpload.onchange = () => {\r\n this.errormsg = \"\";\r\n\r\n for (let index = 0; index < fileUpload.files.length; index++) {\r\n const file = fileUpload.files[index];\r\n if ((file.size / 1024) > this.maxSize) {\r\n this.errormsg = \"File size is greater than \" + this.maxSize + \" KB\";\r\n return;\r\n }\r\n }\r\n\r\n for (let index = 0; index < fileUpload.files.length; index++) {\r\n const file = fileUpload.files[index];\r\n debugger;\r\n if(file.progress==null)\r\n {\r\n this.files.push({ data: file, inProgress: false, progress: 0 });\r\n }\r\n }\r\n this.uploadFiles();\r\n };\r\n fileUpload.click();\r\n }\r\n\r\n removeFile(filename) {\r\n debugger;\r\n // const formData = new FormData();\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n let index = this.files.indexOf(filename);\r\n this.files.splice(index, 1); \r\n this.fileuploadService.deleteFile(filename, headers).subscribe(resp => {\r\n debugger;\r\n }, (error: any) => {\r\n debugger;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n\r\n\r\n \r\n
    \r\n\r\n\r\n
  • \r\n {{errormsg}}\r\n
  • \r\n\r\n
  • \r\n
    \r\n {{labelname}}\r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n
    \r\n \"icon\"\r\n\r\n
    \r\n
    \r\n \r\n {{file.data.name}}    \r\n {{(file.data.size/1024) | number:'1.0-0'}} kb\r\n \r\n \r\n close\r\n \r\n \r\n \r\n \r\n {{file.progress}} % done\r\n \r\n
    \r\n\r\n
    \r\n
  • \r\n
\r\n
\r\n \r\n \r\n file_upload\r\n Upload\r\n \r\n \r\n
\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n providers: [AppGlobals]\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private _global: AppGlobals) { }\r\n\r\n UserRights: string \r\n username: string\r\n roleTL: boolean = false;\r\n tldistict:any = [];\r\n district:string = \"\";\r\n state:string = \"\";\r\n \r\n logout() {\r\n sessionStorage.clear();\r\n window.location.href='';\r\n\r\n }\r\n\r\n selectDistrict(obj) {\r\n sessionStorage.setItem('selectedDistrict', obj);\r\n this.router.navigate(['/profile']);\r\n }\r\n \r\n \r\n ngOnInit(): void {\r\n this.username = sessionStorage.getItem('username');\r\n this.tldistict = JSON.parse(sessionStorage.getItem('UserDistricts'));\r\n this.roleTL = this._global.UserRights.includes(\"ROLE_TEAM_LEADER\");\r\n \r\n if (sessionStorage.getItem('selectedDistrict') != null)\r\n {\r\n this.district = sessionStorage.getItem('selectedDistrict');\r\n this.state = sessionStorage.getItem('selectedState');\r\n }\r\n else\r\n {\r\n if (this.tldistict.length>0)\r\n {\r\n this.district = this.tldistict[0].id.geographyname;\r\n this.state = this.tldistict[0].id.parentgeography;\r\n sessionStorage.setItem('selectedDistrict', this.district);\r\n sessionStorage.setItem('selectedState', this.state);\r\n \r\n }\r\n \r\n }\r\n \r\n\r\n }\r\n\r\n}\r\n","\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \"\" \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \"Logo\"\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{districtdata.id.geographyname}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \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 { SharedService } from '../../service/shared.service';\r\nimport { AppGlobals } from '../../global/app.global';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-leftmenu',\r\n templateUrl: './leftmenu.component.html',\r\n providers: [SharedService, AppGlobals]\r\n})\r\nexport class LeftmenuComponent implements OnInit {\r\n constructor(private sharedService: SharedService, private router: Router, private route: ActivatedRoute, private _global: AppGlobals) { }\r\n public isOpen = false;\r\n public isMenuOpen() {\r\n this.isOpen = !this.isOpen;\r\n }\r\n isShowDiv = false;\r\n toggleDisplayDiv() {\r\n this.isShowDiv = !this.isShowDiv;\r\n }\r\n menuList: any = [];\r\n //Menu List\r\n MyMenuList = function () {\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.sharedService.getMyMenuList(headers).subscribe(resp => {\r\n this.menuList = resp;\r\n console.log(this.menuList);\r\n var menudata = this.menuList;\r\n sessionStorage.setItem('menudata', JSON.stringify(menudata));\r\n this.showLoading = false;\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error._body;\r\n });\r\n }\r\n ngOnInit(): void {\r\n var menuObj = JSON.parse(sessionStorage.getItem('menudata'));\r\n if (menuObj == null || menuObj.length == 0) {\r\n this.MyMenuList();\r\n }\r\n else {\r\n this.menuList = menuObj;\r\n console.log(this.menuList);\r\n }\r\n }\r\n}"," \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html'\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n loading: boolean = false;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \"loader\" \r\n
\r\n
\r\n ","import { Component, OnInit, Injectable, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-potab',\r\n templateUrl: './potab.component.html'\r\n})\r\nexport class PotabComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) { }\r\n\r\n @Input() highlightedtab: string = \"potab\";\r\n @Input() additionalTerms: boolean = false;\r\n\r\n tabFlag: any = null;\r\n // additionalTerms:boolean = false;\r\n\r\n poTab = function () {\r\n debugger;\r\n if (this.tabFlag == \"PO\") {\r\n //this.router.navigate(['searchPurchaseOrder/UpdatePO',this.route.snapshot.params.id,'edit']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/UpdatePO', this.route.snapshot.params.id, 'edit']);\r\n } else {\r\n this.router.navigate(['searchTask/UpdatePO', this.route.snapshot.params.id, 'edit', this.route.snapshot.params.task]);\r\n }\r\n } else if (this.tabFlag == \"RC\") {\r\n //this.router.navigate(['searchRateContract/editRateContract',this.route.snapshot.params.id,'edit']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/editRateContract', this.route.snapshot.params.id, 'edit']);\r\n } else {\r\n this.router.navigate(['searchTask/editRateContract', this.route.snapshot.params.id, 'edit', this.route.snapshot.params.task]);\r\n }\r\n }\r\n }\r\n productTab = function () {\r\n debugger;\r\n if (this.tabFlag == \"PO\") {\r\n //this.router.navigate(['searchPurchaseOrder/SearchProductDetails',this.route.snapshot.params.id,'list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/SearchProductDetails', this.route.snapshot.params.id, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/SearchProductDetails', this.route.snapshot.params.id, 'list', this.route.snapshot.params.task]);\r\n }\r\n } else if (this.tabFlag == \"RC\") {\r\n //this.router.navigate(['searchRateContract/searchRcProductDetails',this.route.snapshot.params.id,'list']);\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/searchRcProductDetails', this.route.snapshot.params.id, 'list']);\r\n } else {\r\n this.router.navigate(['searchTask/searchRcProductDetails', this.route.snapshot.params.id, 'list', this.route.snapshot.params.task]);\r\n }\r\n }\r\n }\r\n poTermsTab = function () {\r\n debugger;\r\n if (this.tabFlag == \"PO\") {\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchPurchaseOrder/searchPoTerms', this.route.snapshot.params.id, 'edit']);\r\n } else {\r\n this.router.navigate(['searchTask/searchPoTerms', this.route.snapshot.params.id, 'edit', this.route.snapshot.params.task]);\r\n }\r\n } else if (this.tabFlag == \"RC\") {\r\n if (this.route.snapshot.params.task == null) {\r\n this.router.navigate(['searchRateContract/searchRcTerms', this.route.snapshot.params.id, 'edit']);\r\n } else {\r\n this.router.navigate(['searchTask/searchRcTerms', this.route.snapshot.params.id, 'edit', this.route.snapshot.params.task]);\r\n }\r\n }\r\n }\r\n /* paymentScheduleTab = function () {\r\n debugger;\r\n this.router.navigate(['SearchEmployee/updateEmployee',this.route.snapshot.params.id,'edit']);\r\n } */\r\n\r\n ishighlighted = function (tabname) {\r\n return tabname == this.highlightedtab\r\n }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.tabFlag = sessionStorage.getItem(\"tabFlag\");\r\n //this.additionalTerms = (sessionStorage.getItem(\"additionalTerms\") == \"false\") ? false : true;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n\t\t\t \r\n
  • \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, Injectable, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-projecttab',\r\n templateUrl: './projecttab.component.html'\r\n})\r\nexport class ProjecttabComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) { }\r\n\r\n @Input() highlightedtab: string = \"projecttab\";\r\n @Input() additionalTerms: boolean = false;\r\n tabFlag: any = null;\r\n projectDetailsTab = function () {\r\n debugger;\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.router.navigate(['searchProject/updateProjectDetails', this.route.snapshot.params.id, 'edit']);\r\n } \r\n if (this.route.snapshot.params.page == 'editTask') {\r\n this.router.navigate(['searchProjectTask/updateProjectDetails', this.route.snapshot.params.id, 'editTask', this.route.snapshot.params.taskid]);\r\n }\r\n }\r\n\r\n projectConfigurationTab = function () {\r\n debugger;\r\n if (this.route.snapshot.params.page == 'edit') {\r\n this.router.navigate(['searchProject/projectConfiguration', this.route.snapshot.params.id, 'edit']);\r\n } \r\n if (this.route.snapshot.params.page == 'editTask') {\r\n this.router.navigate(['searchProjectTask/projectConfiguration', this.route.snapshot.params.id, 'editTask', this.route.snapshot.params.taskid]);\r\n }\r\n }\r\n\r\n projectAttachmentTab = function () {\r\n this.router.navigate(['searchProject/projectAttachment', this.route.snapshot.params.id, 'edit']);\r\n }\r\n\r\n ishighlighted = function (tabname:string) {\r\n return tabname == this.highlightedtab\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.tabFlag = sessionStorage.getItem(\"tabFlag\");\r\n }\r\n\r\n}\r\n","
\r\n
\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, Injectable, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-vendortab',\r\n templateUrl: './vendortab.component.html'\r\n})\r\nexport class VendortabComponent implements OnInit {\r\n\r\n constructor( private router: Router, private route: ActivatedRoute) { }\r\n\r\n @Input() highlightedtab:string=\"partytab\";\r\n\r\n partyTab = function () {\r\n debugger;\r\n this.router.navigate(['searchParty/UpdateParty',this.route.snapshot.params.id,'edit']);\r\n }\r\n addressTab = function () {\r\n debugger;\r\n this.router.navigate(['searchParty/SearchPartyAddress',this.route.snapshot.params.id,'list']);\r\n }\r\n gstTab = function () {\r\n debugger;\r\n this.router.navigate(['searchParty/searchGst',this.route.snapshot.params.id,'list']);\r\n }\r\n\r\n ishighlighted=function(tabname){\r\n return tabname==this.highlightedtab\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
    \r\n
  • \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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Component, OnInit, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { LoginService } from './login.service';\r\nimport { PoTaskService } from '../OrderMgmt/purchase-order-task/po-task.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppGlobals } from '../global/app.global';\r\nimport { DialogService } from '../service/dialog.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n providers: [LoginService, AppGlobals, PoTaskService, DialogService]\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n logindata: any;\r\n tokenTime: number;\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private route: ActivatedRoute, private http: HttpClient, private loginService: LoginService, private _global: AppGlobals, private poTaskService: PoTaskService,private dialogService: DialogService) { }\r\n data = { username: \"\", password: \"\" };\r\n showLoading: boolean = false;\r\n errorHandle: boolean = false;\r\n loginForm: FormGroup;\r\n isSubmitted = false;\r\n errorMessage = \"\";\r\n // Login function\r\n Login = function () {\r\n \r\n this.isSubmitted = true;\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n this.showLoading = true;\r\n sessionStorage.clear();\r\n this.loginService.LoginUser(this.data).subscribe(res => {\r\n //debugger;\r\n this.showLoading = false;\r\n this.logindata = res;\r\n var token = 'Bearer ' + res.jwt;\r\n var username = res.firstName;\r\n var UserRights = res.userrights;\r\n var UserDistricts = res.userdistrict;\r\n \r\n this.tokenTime = new Date().getTime();\r\n \r\n sessionStorage.setItem('token', token);\r\n sessionStorage.setItem('UserRights', UserRights);\r\n sessionStorage.setItem('UserDistricts', JSON.stringify(UserDistricts));\r\n sessionStorage.setItem('username', username);\r\n sessionStorage.setItem('tokenTime', this.tokenTime);\r\n \r\n if(this.route.params.value.flag == \"PO\" || this.route.params.value.flag == \"RC\"){\r\n sessionStorage.setItem('taskId', this.route.params.value.id);\r\n sessionStorage.setItem('status', this.route.params.value.status);\r\n this.goToEntityByTaskId(this.route.params.value.id, this.route.params.value.flag);\r\n //this.router.navigate(['/UpdatePoTask',this.route.params.value.id,\"edit\",this.route.params.value.flag]);\r\n } else {\r\n this.router.navigate(['/Dashboard']);\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error.error.errorDetail[0];\r\n this.errorMessage = errStr;\r\n });\r\n }\r\n\r\n TaskEntityData:any = null;\r\n goToEntityByTaskId = function(taskId, poRcFlag) {\r\n //debugger;\r\n const headers = { \"Authorization\": sessionStorage.getItem(\"token\") };\r\n this.showLoading = true;\r\n this.poTaskService.getTaskById(taskId, headers, poRcFlag).subscribe(resp => {\r\n //debugger;\r\n this.showLoading = false;\r\n this.TaskEntityData = resp;\r\n if(this.TaskEntityData!=null){\r\n if(poRcFlag==\"PO\" || poRcFlag==\"AMEND\"){\r\n this.router.navigate(['/ViewPoById', this.TaskEntityData.poId, 'POTASK']);\r\n } else if(poRcFlag==\"RC\"){\r\n this.router.navigate(['/ViewRcById', this.TaskEntityData.poId, 'RCTASK']);\r\n }\r\n }\r\n }, (error: any) => {\r\n this.showLoading = false;\r\n this.errorHandle = true;\r\n const errStr = error.error.errorDetail[0];\r\n this.errorMessage = errStr;\r\n });\r\n }\r\n unlockUser = function (username, token) {\r\n this.isSubmitted = true;\r\n // const headers = { \"Authorization\": sessionStorage.getItem(\"token\") }; \r\n this.showLoading = true;\r\n this.loginService.unlockUser(username, token).subscribe(resp => {\r\n debugger;\r\n this.showLoading = false;\r\n this.successMessage = \"Your account has been unlocked successfully\";\r\n this.dialogService.openConfirmDialog(this.successMessage);\r\n //this.router.navigate(['/']);\r\n }, (error: any) => {\r\n debugger;\r\n this.showLoading = false;\r\n const errStr = error.error.errorDetail[0];\r\n this.dialogService.openConfirmDialog(errStr)\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required]\r\n });\r\n if ((this.route.snapshot.params.username != null) && (this.route.snapshot.params.token != null) )\r\n {\r\n this.unlockUser(this.route.snapshot.params.username, this.route.snapshot.params.token);\r\n }\r\n }\r\n get formControls() { return this.loginForm.controls; }\r\n}\r\n","\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \"HR\r\n
\r\n \r\n \r\n
\r\n
\r\n

Login

\r\n

Access to our dashboard

\r\n \r\n \r\n
{{errorMessage}}
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
Username is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Password is required
\r\n
\r\n
\r\n
\r\n \r\n \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 {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { }\r\n LoginUser(data) {\r\n var header = new HttpHeaders ({\r\n \"Content-Type\" : \"application/json\"\r\n });\r\n var url = this._global.baseAPIUrl + 'authenticate';\r\n return this._http.post(url , data, {headers: header});\r\n}\r\nunlockUser(username, token) {\r\n var header = new HttpHeaders ({\r\n \"Content-Type\" : \"application/json\"\r\n });\r\n var url = this._global.baseAPIUrl + 'unlockUser/'+username+\"/\"+ token;\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-mat-confirm-dialog',\r\n templateUrl: './mat-confirm-dialog.component.html'\r\n})\r\nexport class MatConfirmDialogComponent implements OnInit {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data,\r\n public dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit() {\r\n }\r\n closeDialog() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n close\r\n {{data.message}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport { MatConfirmDialogComponent } from '../mat-confirm-dialog/mat-confirm-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogService {\r\n\r\n constructor(public dialog: MatDialog) {}\r\ndebugger;\r\n openConfirmDialog(msg){\r\n debugger;\r\n return this.dialog.open(MatConfirmDialogComponent,{\r\n width:'390px',\r\n panelClass:'confirm-dialog-container',\r\n disableClose:true,\r\n data:{\r\n message:msg\r\n }\r\n });\r\n }\r\n \r\n \r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../global/app.global';\r\nimport { throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { DialogService } from '../service/dialog.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExceptionhandlerService {\r\n\r\n constructor(private _http:HttpClient, \r\n private _global: AppGlobals,\r\n private dialogService:DialogService,\r\n ) { } \r\n\r\n handleError(error: HttpErrorResponse) {\r\n debugger;\r\n let errorMessage = 'Unknown error!';\r\n if (error.error instanceof ErrorEvent) {\r\n // Client-side errors\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // Server-side errors\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.name}`;\r\n }\r\n debugger;\r\n //this.dialogService.openConfirmDialog(errorMessage);\r\n window.alert(errorMessage);\r\n window.location.href = \"/\";\r\n return throwError(errorMessage);\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { AppGlobals } from '../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileuploadService {\r\n\r\n constructor(private _http: HttpClient, private _global: AppGlobals) { }\r\n\r\n hasfile(fileUpload) {\r\n\r\n if (fileUpload.length > 0) {\r\n if (fileUpload[0].uploadStatus == \"SUCCESS\") { return true; }\r\n else { return false; }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n getFirstFilePath(fileUpload) {\r\n\r\n if (fileUpload.length > 0) {\r\n if (fileUpload[0].uploadStatus == \"SUCCESS\") { return fileUpload[0].uploadedFilePath; }\r\n else { return \"\"; }\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n\r\n getSingleFileArray(filepath) {\r\n let uploadfiles: any = [];\r\n let str = filepath;\r\n let lastSlash = str.lastIndexOf(\"/\");\r\n let name = str.substring(lastSlash + 1);\r\n let displayName = null;\r\n if(name.length >= 37){\r\n displayName = str.substring(lastSlash + 38);\r\n } else {\r\n displayName = str.substring(lastSlash + 1);\r\n }\r\n\r\n //let displayName = str.substring(lastSlash + 38);\r\n uploadfiles.push({\r\n data: { name: displayName, size: 0 }, inProgress: false, progress: 100, uploadedFileName: displayName,\r\n uploadedFilePath: filepath, uploadStatus: \"SUCCESS\"\r\n });\r\n return uploadfiles;\r\n }\r\n\r\n getMultipleFileArray(filearray) {\r\n let uploadfiles: any = [];\r\n \r\n debugger;\r\n for (let i = 0; i < filearray.length; i++) {\r\n let str = filearray[i];\r\n let lastSlash = str.lastIndexOf(\"/\");\r\n //let displayName = str.substring(lastSlash + 38);\r\n let name = str.substring(lastSlash + 1);\r\n let displayName = null;\r\n if(name.length >= 37){\r\n displayName = str.substring(lastSlash + 38);\r\n } else {\r\n displayName = str.substring(lastSlash + 1);\r\n }\r\n uploadfiles.push({\r\n data: { name: displayName, size: 0 }, inProgress: false, progress: 100, uploadedFileName: \"\",\r\n uploadedFilePath: filearray[i], uploadStatus: \"SUCCESS\"\r\n });\r\n }\r\n return uploadfiles;\r\n }\r\n\r\n allFilesUploaded(fileUpload) {\r\n debugger;\r\n let retValue = false;\r\n for (let index = 0; index < fileUpload.length; index++) {\r\n const file = fileUpload[index];\r\n if (file.uploadStatus == \"SUCCESS\" && file.progress == 100) {\r\n retValue = true;\r\n }\r\n else {\r\n retValue = false;\r\n return retValue;\r\n }\r\n }\r\n return retValue;\r\n }\r\n\r\n allUploadedFiles(filepath) {\r\n debugger;\r\n let retValue: any = [];\r\n if (filepath.length > 0) {\r\n for (let index = 0; index < filepath.length; index++) {\r\n const file = filepath[index];\r\n if (filepath[index].uploadStatus == \"SUCCESS\") {\r\n retValue.push(file.uploadedFilePath);\r\n }\r\n }\r\n return retValue;\r\n }\r\n }\r\n\r\n public deleteFile(filePath, header) {\r\n debugger;\r\n let apiname: string = \"fileupload/deletefile\";\r\n return this._http.post(this._global.baseAPIUrl + apiname, filePath.uploadedFilePath, {\r\n headers: header,\r\n reportProgress: true,\r\n observe: 'events'\r\n });\r\n }\r\n\r\n\r\n public upload(formData, header, entity, entitydata) {\r\n debugger;\r\n let apiname: string = \"fileupload\";\r\n switch (entity) {\r\n case 'userprofile':\r\n apiname = \"ipms/userprofile/uploadProfileImage\";\r\n break;\r\n case 'ticket':\r\n apiname = \"ipms/ticket/ticketAttachment\";\r\n break;\r\n\r\n case 'default':\r\n apiname = \"fileupload\";\r\n break;\r\n case 'poAttachment':\r\n apiname = \"ipms/project/uploadPoAttachment/\" + entitydata;\r\n break;\r\n case 'planAttachment':\r\n apiname = \"ipms/project/uploadPlanAttachment/\" + entitydata;\r\n break;\r\n case 'dc':\r\n apiname = \"ipms/dc/uploadDCAttachment/\" + entitydata;\r\n break;\r\n case 'interdc':\r\n apiname = \"ipms/interdistrictdc/uploadDCAttachment/\" + entitydata;\r\n break;\r\n case 'oemdc':\r\n apiname = \"ipms/oemdc/uploadDCAttachment/\" + entitydata;\r\n break;\r\n case 'locationAssets':\r\n apiname = \"ipms/locationinstallationreport/uploadInstallation/\" + entitydata;\r\n break;\r\n case 'cityAssets':\r\n apiname = \"ipms/ciyinstallationreport/uploadInstallation/\" + entitydata;\r\n break;\r\n case 'invoiceExcel':\r\n apiname = \"ipms/invoice/uploadInvoiceexcel\";\r\n break;\r\n case 'invoiceSupportDoc':\r\n apiname = \"ipms/invoice/uploadInvoicesupportingdoc\";\r\n break;\r\n case 'accountExcel':\r\n apiname = \"ipms/invoice/uploadAccountexcel\";\r\n break;\r\n case 'billAttachment':\r\n apiname = \"ipms/prs/uploadAttachedBill\";\r\n break;\r\n case 'invoiceFileUpload':\r\n apiname = \"ipms/prs/uploadInvoiceFile\";\r\n break;\r\n case 'prsAttachments':\r\n apiname = \"ipms/prs/uploadAttachments\";\r\n break;\r\n case 'collection':\r\n apiname = \"ipms/collection/uploadPaymentAdvice\";\r\n break;\r\n case 'tickettask':\r\n apiname = \"ipms/ticket/captureImg\";\r\n break;\r\n case 'vehicleReg':\r\n apiname = \"ipms/vehiclemaster/vehicleRegAttachment\";\r\n break;\r\n\r\n case 'vehicleIns':\r\n apiname = \"ipms/vehiclemaster/insuranceCertificateAttachment\";\r\n break;\r\n\r\n case 'vehiclePoll':\r\n apiname = \"ipms/vehiclemaster/pollutionCertificateAttachment\";\r\n break;\r\n\r\n case 'vehicleOthDoc':\r\n apiname = \"ipms/vehiclemaster/otherDocumentsAttachment\";\r\n break;\r\n\r\n case 'vehicleLetter':\r\n apiname = \"ipms/vehiclemaster/letterOfIntentAttachment\";\r\n break;\r\n\r\n case 'vehicleInvoice':\r\n apiname = \"ipms/vehiclemaster/invoiceAttachment\";\r\n break;\r\n\r\n case 'vehicleRelease':\r\n apiname = \"ipms/vehiclemaster/releaseDocumentAttachment\";\r\n break;\r\n\r\n case 'vehicleService':\r\n apiname = \"ipms/vehicleservice/vehicleServieAttachment\";\r\n break;\r\n\r\n case 'partyincorporationcertificate':\r\n apiname = \"ipms/party/uploadIncorporationCertificate\";\r\n break;\r\n case 'partypan':\r\n apiname = \"ipms/party/uploadPartyPan\";\r\n break;\r\n case 'partytan':\r\n apiname = \"ipms/party/uploadPartyTan\";\r\n break;\r\n case 'partyarn':\r\n apiname = \"ipms/party/uploadPartyArn\";\r\n break;\r\n case 'partycancelledcheque':\r\n apiname = \"ipms/party/uploadPartyCancelledCheque\";\r\n break;\r\n case 'posignedcopy':\r\n apiname = \"ipms/purchaseorder/uploadsignedcopy/\" + entitydata;\r\n break;\r\n case 'poattachments':\r\n apiname = \"ipms/purchaseorder/uploadpoattachments/\" + entitydata;\r\n break;\r\n case 'rcsignedcopy':\r\n apiname = \"ipms/ratecontract/uploadsignedcopy/\" + entitydata;\r\n break;\r\n case 'rcattachments':\r\n apiname = \"ipms/ratecontract/uploadrcattachments/\" + entitydata;\r\n break;\r\n case 'poannexure':\r\n apiname = \"ipms/purchaseorder/uploadannexure/\" + entitydata;\r\n break;\r\n case 'rcannexure':\r\n apiname = \"ipms/ratecontract/uploadannexure/\" + entitydata;\r\n break;\r\n\r\n case 'idProof':\r\n apiname = \"ipms/supportteam/idProofAttachment\";\r\n break;\r\n\r\n case 'addressProof':\r\n apiname = \"ipms/supportteam/addressProofAttachment\";\r\n break;\r\n case 'gstattach':\r\n apiname = \"ipms/gst/uploadGstCertificate\";\r\n break;\r\n case 'grndccopy':\r\n apiname = \"ipms/grn/uploaddccopy\";\r\n break;\r\n case 'grnlrcopy':\r\n apiname = \"ipms/grn/uploadlrcopy\";\r\n break;\r\n }\r\n return this._http.post(this._global.baseAPIUrl + apiname, formData, {\r\n headers: header,\r\n reportProgress: true,\r\n observe: 'events'\r\n });\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport { AppGlobals } from '../global/app.global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n\r\n constructor(private _http:HttpClient, private _global: AppGlobals) { }\r\n\r\n getStateList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/geograpghy/getActiveState';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\ngetActiveDistrictList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/geograpghy/getActiveDistrict';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\n\r\ngetDistrictList(header, stateName) {\r\n var url = this._global.baseAPIUrl + 'ipms/geograpghy/getActiveDistrict/'+stateName;\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\ngetCityList (header) {\r\n var url = this._global.baseAPIUrl + 'ipms/city/getActiveCity';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\ngetDepartmentList (header) {\r\n var url = this._global.baseAPIUrl + 'ipms/department/selectionlist';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\n\r\ngetOrganizationsList (header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/organization/selectionlist';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\ngetRoleList (header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/role/selectionlist';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\ngetParentMenuList (header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/menu/selectionlist';\r\n return this._http.get(url , {headers: header});\r\n}\r\n\r\n getMyMenuList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/menu/mymenus' ;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n \r\n\r\n logout(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'logout';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveCategory(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category/getActiveParentCategory';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveSubCategoryfromcategory(header, name) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category/getActiveSubCategoryfromParent?parent='+ name;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getProjectList(header) {\r\n var url = this._global.baseAPIUrl + 'ipms/project/selectionlist' ;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllProduct(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/product/getProductList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllProductByOrg(orgId, header) {\r\n debugger;\r\n var url = this._global.baseAPIUrl + 'ipms/product/getProductListByOrg/'+orgId;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllHsn(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/hsn/getHsnCodeList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllConstant(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/constant/getallconstants';\r\n return this._http.post(url, body, { headers: header });\r\n }\r\n\r\n compareStateOfAddress (header, addId1, addId2) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/address/comparestatesofaddress/'+ addId1 + '/' + addId2;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAddressById (header, addId) {\r\n var url = this._global.baseAPIUrl + 'ipms/address/getaddressbyid/'+addId;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveManufacturer(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/manufacture/getActiveManufacturerList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveHsn(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/hsn/getActiveHsnCodeList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveModel(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/model/getActiveModelList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveModelfrommanufacturer(header,name) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/model/getActiveModelListFromManufacturer/'+name;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n\r\n getActiveProductfromsubcategory(header, name) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/product/getActiveProductListFromSubCategory?subcategory='+ name;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveProject(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/project/selectionlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveParty(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/party/getpartyselectionlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActivePartyByOrg(orgId, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/party/getpartybyorgselectionlist/'+orgId;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveEol(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/assetconstant/getActiveEolList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveDepreciation(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/assetconstant/getActiveDepreciationList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveCityListFromDistrict (header, district) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/city/getActiveCityFromDistrict/'+ district;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActivePoliceStationFromCity (header, city) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/policestation/getActivePoliceStationFromCity/'+ city;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveLocationFromPoliceStation (header, policestation) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/location/getActiveLocationFromPoliceStation/'+ policestation;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveLocationFromCity (header, city) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/location/getActiveLocationFromCity/'+ city;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllAddressOfParty (header, party) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/address/getalladdressbypartyid/'+ party;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getPartyDetails (header, party) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/party/getpartybyid/'+ party ;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAddressDetails (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/address/getaddressbyid/'+ id ;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getGstFromAddress (header, party, address) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/gst/getGstFromAddress/'+ party + '/' + address;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveLocations (header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/location/getActiveLocationList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n getActiveLocationsFromDistrict (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/location/getActiveLocationFromDisrict/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n getAssetByLocation (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset/getAssetByLocation?locationid='+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveUserList(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/selectionUserlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getEmailByUserProfielName (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/getEmailByUserProfielName/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getMobileNoByUserProfile (header, name) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/getMobileNoByUserProfile/'+name;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveCategoryList(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory/getActiveCategoryList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n ActiveCategoryList(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category/getActiveCategoryListL';\r\n return this._http.get(url , {headers: header});\r\n }\r\n \r\n\r\n getAssetTagByAsset (header, entityId) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset/getAssetTagByAsset/'+entityId;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n \r\n getAssetById (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveVehicleList(header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/vehiclemaster/getActiveVehicleList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n \r\n getUserProfileById (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/userprofile/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAssetTagByLocation (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/asset/getAssetTagByLocation/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getActiveSubCategory(header, name) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/category/getActiveSubCategory/';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n \r\n\r\n //getAssetTagByLocation\r\n \r\n getProgressStatus (header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/progressstatus/selectionlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getProjectType (header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/projecttype/selectionlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getMilestoneList(id, header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/billingschedule/getActiveBillingScheduleList/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n getInvoiceList(id, header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/invoice/getActiveInvoiceFromProject/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n \r\n getApprovedPoList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/poapprovedselectionlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n \r\n getApprovedRcList(header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/ratecontract/rcapprovedselectionlist/';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllPoListFromGrn( header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/getallpolistfromgrn';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllGrn( header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/grn/grnselectionlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllGrnByPo(id, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/grn/grnselectionlistbypo/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getOfficeList( header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/officelocation/selectionlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getPoList( header) {\r\n \r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/poselectionlist';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getSubcategoryByCategory (header, name) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/ticketcategory/getSubcategoryByCategory/'+name;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getWarehouse (header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/location/getWarehouseList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n getAssetTagById (header, id) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/assetSerial/getAssetIp/'+id;\r\n return this._http.get(url , {headers: header});\r\n }\r\n \r\n getCurrencyList (header) {\r\n var url = this._global.baseAPIUrl + 'ipms/currencyMaster/getAllCurrencyList';\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getListOfProductsInRc(rcId, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/purchaseorder/getlistofproductsinrc/'+rcId;\r\n return this._http.get(url , {headers: header});\r\n }\r\n\r\n getAllWorkflowsByType(body, header) {\r\n \r\n var url = this._global.baseAPIUrl + 'ipms/workflow/getworkflowlist';\r\n return this._http.post(url, body, {headers: header});\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\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","/* (ignored) */","/* (ignored) */","/* (ignored) */"]}