{"version":3,"sources":["./src/app/confirm/error.component.ts","./src/app/selfRatingSection/selfRatingSection.component.ts","./src/app/selfRatingSection/selfRatingSection.component.html","./src/app/competency-report/competency-report.component.ts","./src/app/competency-report/competency-report.component.html","./src/app/position-ladder/position-ladder.component.html","./src/app/position-ladder/position-ladder.component.ts","./src/app/breadcrumb/breadcrumb.component.html","./src/app/breadcrumb/breadcrumb.component.ts","./src/app/functionalSkillMaster/functionalSkillMaster.component.ts","./src/app/functionalSkillMaster/functionalSkillMaster.component.html","./src/app/managerRatingSection/managerRatingSection.component.ts","./src/app/managerRatingSection/managerRatingSection.component.html","./src/environments/environment.ts","./src/app/superAdminUser/adminuser.component.ts","./src/app/superAdminUser/adminuser.component.html","./src/app/dashboard/index.ts","./src/app/nominate/nominate.component.ts","./src/app/nominate/nominate.component.html","./src/app/adminDashboard/adminDashboard.component.html","./src/app/adminDashboard/adminDashboard.component.ts","./src/app/util/app.config.ts","./src/app/util/common.ts","./src/app/addResource/addResource.component.ts","./src/app/addResource/addResource.component.html","./src/app/service/mail.service.ts","./src/app/service/commons-service.ts","./src/app/managementUser/managementusers.component.ts","./src/app/managementUser/managementusers.component.html","./src/app/behavioralSkillMaster/behavioralSkillMaster.component.ts","./src/app/behavioralSkillMaster/behavioralSkillMaster.component.html","./src/app/login/index.ts","./src/app/service/excel.service.ts","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard.component.html","./src/app/ibu/ibu.component.ts","./src/app/ibu/ibu.component.html","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.ts","./src/app/app.component.html","./src/app/tower/tower.component.ts","./src/app/tower/tower.component.html","./src/app/sidebarWrapper/sidebarWrapper.component.html","./src/app/sidebarWrapper/sidebarWrapper.component.ts","./src/app/skillRatingSection/skillRatingSection.component.ts","./src/app/skillRatingSection/skillRatingSection.component.html","./src/app/training/training.component.html","./src/app/training/training.component.ts","./src/app/app.module.ts","./src/app/header/headerCustom.component.ts","./src/app/header/headerCustom.component.html","./src/app/interested-users/interested-users.component.ts","./src/app/interested-users/interested-users.component.html","./src/app/scoreComputation/scoreComputation.component.ts","./src/app/scoreComputation/scoreComputation.component.html","./src/app/resourceIntervention/intervention.component.ts","./src/app/resourceIntervention/intervention.component.html","./src/app/user-dashboard/user-dashboard.component.ts","./src/app/user-dashboard/user-dashboard.component.html","./src/app/rating-history/rating-history.component.ts","./src/app/rating-history/rating-history.component.html","./src/app/util/index.ts","./src/app/skillRatingMaster/skillRatingMaster.component.ts","./src/app/skillRatingMaster/skillRatingMaster.component.html","./src/app/behavioralSkillMaster/index.ts","./src/app/app-routing.module.ts","./src/app/util/constant.config.ts","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/confirm/loginError.ts","./src/app/admin-sidebar/admin-sidebar.component.ts","./src/app/admin-sidebar/admin-sidebar.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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N,4GA6BM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGN,4GAWM;;QA3GA,0DAAmB;QAAnB,mFAAmB;QA4CA,2DAAkC;QAAlC,6IAAkC;QAiBhB,0DAA2B;QAA3B,4FAA2B;QAmCjD,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;ACnGlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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","file":"main-es2015.js","sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nexport interface ErrorModel {\r\n title: string;\r\n message: string;\r\n}\r\n@Component({\r\n selector: 'confirm',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ error_message }}\r\n
\r\n
\r\n \r\n OK\r\n \r\n
\r\n
\r\n \r\n
`,\r\n styleUrls: ['./error.component.css'],\r\n})\r\nexport class ErrorComponent {\r\n title: string;\r\n message: string;\r\n error_message: any;\r\n isChrome: any = false;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: ErrorModel\r\n ) {\r\n this.error_message = localStorage.getItem('errorMsg');\r\n if (navigator.userAgent.indexOf('Chrome') != -1) {\r\n console.log('Browser Chrome');\r\n this.isChrome = true;\r\n }\r\n }\r\n\r\n confirm(): void {\r\n localStorage.removeItem('errorMsg');\r\n this.dialogRef.close();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n refresh(): void {\r\n window.location.reload();\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Compiler,\r\n ViewChild,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\r\n\r\n@Component({\r\n templateUrl: 'selfRatingSection.component.html',\r\n styleUrls: ['selfRatingSection.component.css'],\r\n})\r\nexport class SelfRatingSectionComponent implements OnInit {\r\n @ViewChild('closeModel1', { read: ElementRef }) closeModel1: ElementRef;\r\n @ViewChild('closeModel2', { read: ElementRef }) closeModel2: ElementRef;\r\n notAbleToFillRating: boolean = false;\r\n showHideModel: boolean = false;\r\n loading: boolean = false;\r\n isAppr: number;\r\n isDisabled: boolean = true;\r\n isDisabledView: boolean = true;\r\n message = '';\r\n modelData: any[] = [];\r\n users: any = {};\r\n behavioralSkillRatingForm: any;\r\n functionalSkillRatingForm: any;\r\n config: any;\r\n fetchData: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n isShowModel: boolean = true;\r\n skillData: any[] = [];\r\n behSkillList: any[] = [];\r\n //Add users form fields\r\n userUpdatedId: Number = 0;\r\n skillRatingFromDate: any;\r\n towerId: number = 0;\r\n userRole: number = 0;\r\n skillRatingData: any[] = [];\r\n selectedPositionId: Number = 0;\r\n dateRanges: any[] = [1];\r\n fullFunRatingList: any;\r\n fullBehRatingList: any;\r\n convertedData: any[][] = [];\r\n allPositions: any = [];\r\n positionList: any;\r\n isNextTowerSame: boolean = true;\r\n ibuList: any = [];\r\n ibu: any = '';\r\n functionList: any = [];\r\n function: any = '';\r\n selectedIbuId: any = null;\r\n alltowerList: any = [];\r\n towerList: any = [];\r\n selectedTowerId: any;\r\n tower: any = '';\r\n nextPositionId: number = undefined;\r\n\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private common: Common,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.users = this.users.userData;\r\n if (this.users.userFullName) {\r\n this.loginUserName = this.users.userFullName;\r\n this.users.userFullName = this.users.userFullName.toLowerCase();\r\n } else {\r\n this.loginUserName = this.users.userName;\r\n this.users.userFullName = this.users.userName.toLowerCase();\r\n }\r\n if (\r\n !this.users.emailAddress ||\r\n this.users.emailAddress.trim().length == 0\r\n ) {\r\n this.users['emailAddress'] = this.users.email;\r\n }\r\n this.userRole = this.users.userRoll;\r\n this.towerId = this.users.towerId;\r\n this.nextPositionId = this.users.nextPosition;\r\n debugger;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth() + 1,\r\n day: currentDate.getDate(),\r\n };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.fetchSkillsData();\r\n this.getAllBehSkills();\r\n }\r\n\r\n ngOnInit() {\r\n if (JSON.parse(localStorage.user).userData.userRoll == 3) {\r\n this.router.navigate(['/interested-users']);\r\n }\r\n this.fetchSkillRatingData();\r\n if (this.userRole == 1) {\r\n this.fetchUserData(null, null);\r\n } else if (this.userRole == 5 || !this.userRole) {\r\n this.fetchUserData(this.users.userId, this.towerId);\r\n } else {\r\n this.fetchUserData(null, this.towerId);\r\n }\r\n this.initalizeFunSkillForm();\r\n this.initalizeBehSkillForm();\r\n this.fetchPositions();\r\n this.getAllIBUInfo();\r\n }\r\n\r\n // initalize Functional Skill Form\r\n private initalizeFunSkillForm() {\r\n this.userUpdatedId = 0;\r\n this.selectedPositionId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: [],\r\n skillRatingToDate: [],\r\n };\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\r\n '1',\r\n Validators.required\r\n );\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n //Initalize Behavioral Skill Form\r\n private initalizeBehSkillForm() {\r\n this.userUpdatedId = 0;\r\n this.selectedPositionId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: [],\r\n skillRatingToDate: [],\r\n };\r\n\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\r\n '1',\r\n Validators.required\r\n );\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n // /fetch user information data\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService\r\n .fetchSkillRatingData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkills() {\r\n this.loading = true;\r\n this.commonService\r\n .postAllBehSkills(undefined, this.nextPositionId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.behSkillList = data;\r\n this.initalizeBehSkillForm();\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Behavioral Skills Data Not Found'\r\n );\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private convertData(isFunctional, data) {\r\n var ratings1;\r\n if (isFunctional) ratings1 = data;\r\n else ratings1 = data;\r\n\r\n var ratings2 = [];\r\n this.dateRanges = [1];\r\n let j = 0;\r\n for (let i = 0; i < ratings1.length; i++) {\r\n var curIndex = this.getIndexOf(ratings2, ratings1[i].skillName);\r\n if (curIndex === -1) {\r\n ratings2[j] = [];\r\n ratings2[j][0] = ratings1[i].skillName;\r\n ratings2[j][1] = ratings1[i].skillScore;\r\n curIndex = j;\r\n j++;\r\n }\r\n\r\n // ratings2[curIndex].push(ratings1[i].skillScore);\r\n\r\n let newDateRange = this.formatDate(ratings1[i].skillRatingFromDate); //+ \" - \"\r\n // + this.formatDate(ratings1[i].skillRatingToDate);\r\n\r\n if (this.dateRanges.indexOf(newDateRange) === -1)\r\n this.dateRanges.push(newDateRange);\r\n }\r\n this.convertedData = ratings2;\r\n }\r\n\r\n // /fetch user information data\r\n private fetchPositions() {\r\n //var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n this.commonService\r\n .getAllPositionInfo(null)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.positionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getTowersListByIbuId(ibuId, towerId) {\r\n this.commonService.getTowersListByIbuId(ibuId, null).subscribe(\r\n (data) => {\r\n this.towerList = data;\r\n this.alltowerList = data;\r\n let selecteTower = this.towerList.find(\r\n (tower) => tower.towerId == towerId\r\n );\r\n this.selectedTowerId = selecteTower;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getFunctionListByIbuId(ibuId) {\r\n this.functionList = [];\r\n this.commonService.getFunctionListByIbuId(ibuId).subscribe(\r\n (data) => {\r\n this.functionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getAllIBUInfo() {\r\n this.loading = true;\r\n this.commonService\r\n .getAllIBUInfo()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.ibuList = data;\r\n this.loading = false;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n public setFieldsData(data) {\r\n this.commonService\r\n .allInfoPosition(data.nextPosition)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length) {\r\n const response = data[0];\r\n this.modelData['isNextTowerSame'] =\r\n response.towerId == this.modelData['towerId'];\r\n this.modelData['nextPositionIbuName'] = response.ibuName;\r\n this.modelData['nextPositionTowerName'] = response.towerName;\r\n this.modelData['nextPositionFunctionName'] = response.functionName;\r\n console.log({ response, test: this.modelData });\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private onChangeIBU() {\r\n this.resetFunctionValue();\r\n this.resetTowerValue();\r\n if (this.ibu?.ibuId) {\r\n this.getFunctionListByIbuId(this.ibu?.ibuId);\r\n this.getTowersListByIbuId(this.ibu?.ibuId, 0);\r\n } else {\r\n this.resetFunctionList();\r\n this.resetTowerList();\r\n }\r\n }\r\n\r\n private onChangeFunction() {\r\n this.resetTowerValue();\r\n if (this.function?.functionId) {\r\n console.log(this.function?.functionId);\r\n this.towerList = this.alltowerList.filter(\r\n (item) => item.functionId == this.function.functionId\r\n );\r\n } else {\r\n this.towerList = this.alltowerList;\r\n }\r\n }\r\n\r\n private resetFunctionValue() {\r\n this.function = '';\r\n }\r\n\r\n private resetTowerValue() {\r\n this.tower = '';\r\n }\r\n\r\n private resetFunctionList() {\r\n this.functionList = [];\r\n }\r\n\r\n private resetTowerList() {\r\n this.towerList = [];\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i in this.positionList) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n\r\n private getIndexOf(arr, item) {\r\n for (let i = 0; i < arr.length; i++) {\r\n if (arr[i] && arr[i][0] === item) return i;\r\n }\r\n return -1;\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions(userIds, towerId) {\r\n this.loading = true;\r\n this.commonService\r\n .getAllNextPositions(userIds, towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private formatDate(dateStr) {\r\n return (\r\n new Date(dateStr).getDate() +\r\n '/' +\r\n (new Date(dateStr).getMonth() + 1) +\r\n '/' +\r\n new Date(dateStr).getFullYear()\r\n );\r\n }\r\n\r\n // edit user skill information data\r\n private onEditSubmit(userData, isFuntion) {\r\n this.fullBehRatingList = [];\r\n this.fullFunRatingList = [];\r\n this.convertedData = [];\r\n this.dateRanges = [1];\r\n if (isFuntion) this.getAllFunSkillsForUser(userData.userId);\r\n else this.getAllBehSkillsForUser(userData.userId);\r\n\r\n if (userData) {\r\n this.userUpdatedId = userData.userId;\r\n this.selectedPositionId = userData.positionId;\r\n this.selectedPositionId = userData.nextPosition;\r\n let groupForm = {\r\n skillRatingFromDate: new FormControl(\r\n this.common.getJSONObj(userData.skillRatingFromDate)\r\n ),\r\n skillRatingToDate: new FormControl(\r\n this.common.getJSONObj(userData.skillRatingFromDate)\r\n ),\r\n };\r\n if (isFuntion) {\r\n // set value of functional skill from\r\n let userSkill = userData.funUserSkill;\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.skillData[i].skillId) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\r\n userSkill[j].skillLevel\r\n );\r\n }\r\n }\r\n }\r\n if (!groupForm[this.skillData[i].skillName]) {\r\n groupForm[this.skillData[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n } else {\r\n // set value of behavioral skill from\r\n let userSkill = userData.behUserSkill;\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.behSkillList[i].skillId) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\r\n userSkill[j].skillLevel\r\n );\r\n }\r\n }\r\n }\r\n if (!groupForm[this.behSkillList[i].skillName]) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n }\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkillsForUser(userId) {\r\n this.loading = true;\r\n\r\n this.commonService\r\n .getAllBehSelfRatingsForUser(this.towerId, userId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.notAbleToFillRating = false;\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.fullBehRatingList = data;\r\n this.convertData(false, this.fullBehRatingList);\r\n this.showHideModel = true;\r\n } else {\r\n this.showHideModel = true;\r\n this.notAbleToFillRating = true;\r\n // this.closeModels();\r\n //this.loading = false;\r\n // localStorage.setItem('errorMsg', \"Behavioral Ratings Data Not Found\");\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.showHideModel = true;\r\n this.notAbleToFillRating = true;\r\n // this.loading = false;\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllFunSkillsForUser(userId) {\r\n this.loading = true;\r\n this.commonService\r\n .getAllFunSelfRatingsForUser(this.towerId, userId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n //this.userId\r\n this.notAbleToFillRating = false;\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.fullFunRatingList = data;\r\n this.convertData(true, this.fullFunRatingList);\r\n this.showHideModel = true;\r\n } else {\r\n this.showHideModel = true;\r\n this.notAbleToFillRating = true;\r\n this.loading = false;\r\n // // this.closeModels();\r\n // this.loading = false;\r\n // localStorage.setItem('errorMsg', \"Functional Ratings Data Not Found\");\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.showHideModel = true;\r\n this.notAbleToFillRating = true;\r\n this.loading = false;\r\n // this.loading = false;\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch skills data\r\n private fetchSkillsData() {\r\n this.commonService\r\n .postAllFunSkills(undefined, this.nextPositionId)\r\n .pipe(first())\r\n .subscribe(\r\n //fetchskillsdata()\r\n (data) => {\r\n this.skillData = data;\r\n console.log(this.skillData);\r\n this.initalizeFunSkillForm();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchUserData(userId, towerId) {\r\n this.commonService\r\n .fetchUserData(userId, towerId, '')\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n let userIds = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].userId) {\r\n userIds.push(data[i].userId);\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n this.fetchData = data;\r\n for (let i in this.fetchData) {\r\n if (this.fetchData[i].userId == userId) {\r\n this.modelData = this.fetchData[i];\r\n this.setFieldsData(this.modelData);\r\n this.isAppr = this.fetchData[i].isApproved;\r\n }\r\n }\r\n // this.fetchData[0].isenabled = \"false\"\r\n // this.fetchUserFunctSkillsData(userIds, data);\r\n }\r\n this.getAllNextPositions(\r\n userIds,\r\n JSON.parse(localStorage.user).userData.towerId\r\n );\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch user functional skills data\r\n private fetchUserFunctSkillsData(userIds: any[], userData) {\r\n // this.commonService.fetchAllFunSkills(userIds).pipe(first()).subscribe(\r\n // data => {\r\n // for (let j = 0; j < userData.length; j++) {\r\n // let userSkill = [];\r\n // for (let i = 0; i < data.length; i++) {\r\n // if (userData[j].userId == data[i].userId) {\r\n // let skillLevel = data[i].skillLevel;\r\n // let skillName = '';\r\n // this.skillData.forEach((litem, index) => {\r\n // if (litem.skillId == data[i].skillId) {\r\n // skillName = litem.skillName\r\n // }\r\n // });\r\n // userSkill.push({ skillId: data[i].skillId, skillLevel: skillLevel, skillName: skillName });\r\n // }\r\n // }\r\n // userData[j]['funUserSkill'] = userSkill;\r\n // }\r\n // this.fetchData = userData;\r\n // this.categoriseLeaveUsers()\r\n // this.countActiveAndInactiveUsers();\r\n // this.fetchUserBehSkillsData(userIds, this.fetchData);\r\n // },\r\n // error => {\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n // }\r\n // )\r\n }\r\n\r\n //fetch user skills data\r\n private fetchUserBehSkillsData(userIds: any[], userData) {\r\n this.commonService\r\n .fetchAllBehSkills(userIds)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n for (let j = 0; j < userData.length; j++) {\r\n let userSkill = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (userData[j].userId == data[i].userId) {\r\n let skillLevel = data[i].skillLevel;\r\n let skillName = '';\r\n this.behSkillList.forEach((litem, index) => {\r\n if (litem.skillId == data[i].skillId) {\r\n skillName = litem.skillName;\r\n }\r\n });\r\n userSkill.push({\r\n skillId: data[i].skillId,\r\n skillLevel: skillLevel,\r\n skillName: skillName,\r\n });\r\n }\r\n }\r\n userData[j]['behUserSkill'] = userSkill;\r\n }\r\n this.fetchData = userData;\r\n this.categoriseLeaveUsers();\r\n this.countActiveAndInactiveUsers();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n //categorise leave users\r\n private categoriseLeaveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let currentDate = new Date();\r\n let userskillRatingToDate = new Date(\r\n this.fetchData[i].skillRatingToDate\r\n );\r\n if (currentDate > userskillRatingToDate) {\r\n this.fetchData[i]['leaveStyle'] = 'red';\r\n }\r\n }\r\n }\r\n }\r\n\r\n // validate resoucre leaving date should be equal or lessthen from current date\r\n private countActiveAndInactiveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let isFound = false;\r\n //remove user from the list if having leave date less then current date\r\n let currentTime = this.common.getTime(new Date());\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let leavingTime = this.common.getTime(\r\n this.fetchData[i].skillRatingToDate\r\n );\r\n if (currentTime > leavingTime) {\r\n isFound = true;\r\n }\r\n }\r\n if (isFound) {\r\n this.fetchData[i]['leaveUserCSS'] = 'leaveUserCSS';\r\n } else {\r\n this.fetchData[i]['leaveUserCSS'] = '';\r\n }\r\n }\r\n }\r\n\r\n // suave user information\r\n private onSubmit(skillRatingForm, isFunctional) {\r\n debugger;\r\n if (isFunctional) {\r\n if (this.functionalSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n } else {\r\n if (this.behavioralSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n }\r\n let skillRatingData = this.setUserSkillData(\r\n skillRatingForm,\r\n this.userUpdatedId,\r\n isFunctional\r\n );\r\n let currentUserSkill = this.setUserCurrentSkillData(\r\n skillRatingForm,\r\n this.userUpdatedId,\r\n isFunctional\r\n );\r\n this.loading = true;\r\n\r\n this.commonService\r\n .saveSkillRatingData(\r\n skillRatingData,\r\n currentUserSkill,\r\n isFunctional,\r\n this.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n this.closeModels();\r\n if (\r\n this.fetchData[0] &&\r\n data != 'Ratings are already present for these days.'\r\n ) {\r\n if (isFunctional) this.fetchData[0].isenabledFun = 'false';\r\n else this.fetchData[0].isenabledBeh = 'false';\r\n }\r\n this.isShowModel = false;\r\n localStorage.setItem('errorMsg', data);\r\n this.closeModels();\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any, isFunctional) {\r\n let userSkillData = [];\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n // if (this.skillData[i].positionId != this.selectedPositionId) continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.skillData[i].skillId;\r\n skillObj['targetScore'] = this.skillData[i].targetScore;\r\n skillObj['skillScore'] = this.getScoreBySkillName(\r\n userFormDetails[this.skillData[i].skillName]\r\n );\r\n skillObj['skillRatingBy'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['createDate'] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (\r\n this.getScoreBySkillName(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n ) === 0\r\n )\r\n continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.behSkillList[i].skillId;\r\n skillObj['targetScore'] = this.behSkillList[i].targetScore;\r\n skillObj['skillScore'] = this.getScoreBySkillName(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n );\r\n skillObj['skillRatingBy'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['createDate'] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n private getScoreBySkillName(skillName) {\r\n let score = 1;\r\n if (skillName && skillName.trim().length > 0) {\r\n for (let i = 0; i < this.skillRatingData.length; i++) {\r\n if (\r\n this.skillRatingData[i].ratingName.toLowerCase() ==\r\n skillName.toLowerCase()\r\n ) {\r\n score = this.skillRatingData[i].score;\r\n break;\r\n }\r\n }\r\n }\r\n return score;\r\n }\r\n //set user skill data\r\n private setUserCurrentSkillData(\r\n userFormDetails: any,\r\n userId: any,\r\n isFunctional\r\n ) {\r\n let userSkillData = [];\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n //if (this.skillData[i].positionId != this.selectedPositionId) continue;\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.skillData[i].skillId;\r\n skillObj['skillName'] = this.skillData[i].skillName;\r\n skillObj['skillLevel'] = Number(\r\n userFormDetails[this.skillData[i].skillName]\r\n );\r\n skillObj['createdByEmail'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n // if (this.behSkillList[i].positionId != this.selectedPositionId)\r\n // continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.behSkillList[i].skillId;\r\n skillObj['skillName'] = this.behSkillList[i].skillName;\r\n skillObj['skillLevel'] = Number(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n );\r\n skillObj['createdByEmail'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n //save skills data\r\n private saveSkillsData(userSkillData) {\r\n this.commonService\r\n .saveSkillsData(userSkillData, this.users.emailAddress)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data != null) {\r\n this.functionalSkillRatingForm.reset();\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'User successfully added as a TR Nominee'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set start date\r\n private setStartDate() {\r\n let currentDate = new Date();\r\n this.config.minDate = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth() + 1,\r\n day: currentDate.getDate(),\r\n };\r\n }\r\n\r\n //set end dates\r\n private setEndDate() {\r\n let currentDate = new Date();\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n currentDate.setMonth(currentDate.getMonth() + 3);\r\n if (this.functionalSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else if (this.behavioralSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else {\r\n localStorage.setItem('errorMsg', 'Please select Start Date');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel1.nativeElement.click();\r\n this.closeModel2.nativeElement.click();\r\n }\r\n\r\n //forward to next section\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward to login page\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n TR Nominee Functional Competency Rating Form\r\n
\r\n \r\n ×\r\n \r\n
\r\n \r\n
\r\n \r\n You will not be able to fill the ratings yet. You can fill\r\n self-ratings after HR initiates the process for you.\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n Cancel\r\n \r\n\r\n \r\n Submit Rating\r\n \r\n
\r\n \r\n\r\n
\r\n 1\"\r\n >\r\n \r\n \r\n S.No.\r\n Skill\r\n\r\n \r\n \r\n {{ dateRange == 1 ? \"\" : dateRange }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ i + 1 }}
\r\n \r\n \r\n \r\n
{{ cell }}
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n TR Nominee Behavioral Competency Rating Form\r\n
\r\n \r\n ×\r\n \r\n
\r\n \r\n
\r\n \r\n You will not be able to fill the ratings yet. You can fill\r\n self-ratings after HR initiates the process for you.\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n \r\n Submit Rating\r\n \r\n
\r\n \r\n\r\n
\r\n 1\"\r\n >\r\n \r\n \r\n S.No.\r\n Skill\r\n \r\n \r\n {{ dateRange == 1 ? \"\" : dateRange }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ i + 1 }}
\r\n \r\n \r\n \r\n
{{ cell }}
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

My 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 \r\n Functional Rating\r\n \r\n \r\n Behavioral Rating\r\n \r\n \r\n View\r\n \r\n \r\n \r\n \r\n
S.No.Emp CodeEmp NameSupervisorCurrent RoleNext RoleNomination Status
\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 Functional Rating\r\n \r\n \r\n Behavioral Rating\r\n \r\n \r\n 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 \r\n
\r\n \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.Emp CodeEmp NameSupervisorCurrent RoleNext RoleNomination Status
\r\n
\r\n {{ fetchData.indexOf(fetchuserData) + 1 }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.empCode }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.userName }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.resourceManager }}\r\n
\r\n
\r\n
{{ fetchuserData.positionName }}
\r\n
\r\n
{{ getPositionName(fetchuserData.nextPosition) }}
\r\n
\r\n \r\n \r\n {{\r\n commonService.getUserStatus(fetchuserData.isApproved)\r\n }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Applicant Detail Form
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Your Request has been Rejected.
\r\n Please contact to your HR for more query!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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, Compiler } from '@angular/core';\nimport { first, retry } from 'rxjs/operators';\nimport { Chart } from 'chart.js';\nimport { Router } from '@angular/router';\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { AppConfig } from '../util';\nimport { CommonService } from '../service/commons-service';\nimport { Common } from '../util/common';\nimport { ExcelService } from '../service/excel.service';\n\n@Component({\n selector: 'app-competency-report',\n templateUrl: './competency-report.component.html',\n styleUrls: ['./competency-report.component.css']\n})\nexport class CompetencyReportComponent implements OnInit {\n selectedLevel: any = '';\n users: any = [];\n baseUrl: any;\n loginUserName: any;\n loading: any = false;\n userList: any = [];\n columnsList: any = [];\n userData: any = [];\n ibuList: any = [];\n towerList: any = [];\n tempTowerList: any = [];\n selectedIbuId: any = '';\n selectedTowerId: any = '';\n towerIdsBySelectedIbu: any = [];\n userReportData: any = [];\n behCompByTowers: any = [];\n tempTowerIdsBySelectedIbu: any = [];\n ibuName: any = '';\n funCompByTowers: any = [];\n userAllNotesList: any = [];\n positionList: any = [];\n behDataByTower: any = [];\n funDataByTower: any = [];\n behDataByTowerForStatus: any = [];\n funDataByTowerForStatus: any = [];\n userIbuIds: any = [];\n ibuListForTraining: any = []\n userRole = 0;\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private excelService: ExcelService,\n private commonService: CommonService,\n private common: Common,\n private appConfig: AppConfig, config: NgbDatepickerConfig, private _compiler: Compiler\n ) {\n this.users = JSON.parse(localStorage.getItem('user'));\n // this.baseUrl = this.appConfig.getBaseUrl();\n if (!this.users || !this.users.userData) {\n this.commonService.logout();\n return;\n }\n if (this.users && this.users.userData) {\n this.users = this.users.userData;\n this.loginUserName = this.users.userFullName;\n this.userIbuIds = (this.users.ibuId) ? this.users.ibuId.split(',') : [];\n this.userRole = this.users.userRoll;\n }\n }\n\n ngOnInit(): void {\n this.getIbuList();\n this.getTowerList();\n this.getBehDataByTowerIdForReport();\n this.getFunDataByTowerIdForReport();\n this.getAllUserNotes();\n this.getFunDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReportForStatus();\n this.fetchPositions()\n }\n /**\n * Get list of IBU\n */\n getIbuList() {\n this.ibuList = [];\n this.commonService.getAllIBUInfo().subscribe(data => {\n if (data.length) {\n for (let i = 0; i < data.length; i++) {\n const index = this.userIbuIds.findIndex(x => Number(x) == data[i].ibuId);\n if (index != -1) {\n this.ibuListForTraining.push(data[i]);\n }\n }\n this.ibuList = data;\n }\n },\n error => {\n console.log('Ibu list not found', error);\n });\n }\n /**\n * Change IBU\n */\n changeIbu() {\n var tempTowerList = []\n this.towerIdsBySelectedIbu = [];\n this.towerList = this.tempTowerList;\n for (let i = 0; i < this.towerList.length; i++) {\n if (this.selectedIbuId == this.towerList[i].ibuId) {\n tempTowerList.push(this.towerList[i]);\n this.towerIdsBySelectedIbu.push(this.towerList[i].towerId);\n }\n if (i == this.towerList.length - 1) {\n this.towerList = tempTowerList;\n // Used in only change tower fun. if selected tower unselected.\n this.tempTowerIdsBySelectedIbu = this.towerIdsBySelectedIbu;\n }\n }\n this.getFunDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReport();\n this.getFunDataByTowerIdForReport();\n }\n /**\n * Get Tower List\n */\n getTowerList() {\n this.commonService.getTowerList().subscribe(data => {\n this.towerList = data;\n this.tempTowerList = data;\n },\n error => {\n console.log('Error', error);\n })\n }\n /**\n * Get the skill report on tower change.\n */\n changeTower() {\n // Push tower id \n this.towerIdsBySelectedIbu = [];\n if (this.selectedTowerId) {\n this.towerIdsBySelectedIbu.push(this.selectedTowerId);\n } else {\n this.towerIdsBySelectedIbu = this.tempTowerIdsBySelectedIbu;\n }\n this.getFunDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReport();\n this.getFunDataByTowerIdForReport();\n }\n /**\n * Get user report data.\n */\n getUserReportData() {\n this.loading = true;\n let postData = { towerId: this.towerIdsBySelectedIbu };\n this.commonService.getUsersForReportByTowerIdsArr(postData).pipe(first()).subscribe(\n data => {\n let userIds = [];\n if (data && data.length > 0) {\n this.userReportData = data;\n this.exportReportData();\n // this.loading = false;\n } else {\n this.loading = false;\n localStorage.setItem('errorMsg', 'Users Not Found');\n this.commonService.showerror();\n }\n },\n error => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n /**\n * Excel Report\n */\n async exportReportData() {\n\n\n let excelExportData = [];\n // let headers = [\"S.No.\", \"Employee Code\", \"Employee Name\", \"Email id\", \"IBU\", \"Function\", \"Tower\", \"Current Role\", \"Target Role\", \"Final Rating Status\", \"Self Rating Status (Behavioral)\", \"Self Rating Status (Functional)\", \"Manager Rating Status (Behavioral)\", \"Manager Rating Status (Functional)\", \"Rating Score Behavioral\", \"Rating Score Functional\", \"Aggregate Score\", \"Role Change Status\"];\n let headers = [\"S.No.\", \"Employee Code\", \"Employee Name\", \"Approve Date\", \"Email id\", \"IBU\", \"Function\", \"Tower\", \"Employee Status\", \"Batch Number\", \"Journey Completion Date\", \"TR Status\", \"Current Role\", \"Target Role\",\n \"Supervisor (1st Level)\", \"Supervisor (1st Level) Email\", \"Supervisor (2nd Level)\", \"Supervisor (2nd Level) Email\", \"Beh. Comp Submitted Date\", \"Fun. Comp Submitted Date\", \"Self Rating Status (Behavioral)\",\n \"Self Rating Status (Functional)\", \"Manager Rating Status (Behavioral)\", \"Manager Rating Status (Functional)\", \"Final Rating Status\", \"Rating Score Behavioral\",\n \"Rating Score Functional\", \"Average Score\", \"Role Change Status\", \"Notes\"];\n // for (let i of this.fetchData)\n\n\n for (let i = 0; i < this.userReportData.length; i++) {\n let strData = '' + this.userReportData[i].email;\n if (strData.match(/_old$/)) continue;\n let data = {};\n data[headers[0]] = i + 1;\n data[headers[1]] = this.userReportData[i].empCode;\n data[headers[2]] = this.userReportData[i].userName;\n let approvDate = new Date(this.userReportData[i].approvedAt);\n data[headers[3]] = (this.userReportData[i].approvedAt) ? approvDate.getDate() + \"-\" + Number(approvDate.getMonth() + 1) + \"-\" + approvDate.getFullYear() : '';\n data[headers[4]] = this.userReportData[i].email;\n data[headers[5]] = this.getIbuNameById();\n data[headers[6]] = this.userReportData[i].functionName;\n data[headers[7]] = this.userReportData[i].towerName;\n if (this.userReportData[i].empStatus == 0) {\n data[headers[8]] = \"Deactive\";\n } else if (this.userReportData[i].empStatus == 2) {\n data[headers[8]] = \"Resigned\";\n } else {\n data[headers[8]] = \"Active\";\n }\n data[headers[9]] = this.userReportData[i].batchNo;\n data[headers[10]] = this.userReportData[i].journeyCompletionDate;\n data[headers[11]] = this.commonService.getUserStatus(this.userReportData[i].isApproved)\n data[headers[12]] = this.userReportData[i].positionName;\n // data[headers[5]] = this.allPositions[this.fetchData[i].userId];\n data[headers[13]] = this.getPositionName(this.userReportData[i].nextPosition);\n data[headers[14]] = this.userReportData[i].resourceManager;\n data[headers[15]] = this.userReportData[i].resourceManagerEmail;\n data[headers[16]] = this.userReportData[i].SLS;\n data[headers[17]] = this.userReportData[i].SLSE;\n data[headers[18]] = this.getManagerBehCompLastDate(this.userReportData[i].userId);\n data[headers[19]] = this.getManagerFunCompLastDate(this.userReportData[i].userId);\n\n\n // var status = \"Pending with Self\";\n var compositeValues: any = this.getCompositeValueForExcel(this.userReportData[i].userId);\n \n\n data[headers[20]] = (this.checkSelfBehCompExist(this.userReportData[i].userId) > 0) ? 'Submitted' : 'Pending';\n data[headers[21]] = (this.checkSelfFunCompExist(this.userReportData[i].userId) > 0) ? 'Submitted' : 'Pending';\n data[headers[22]] = (this.checkManagerBehCompExist(this.userReportData[i].userId) > 0) ? 'Submitted' : 'Pending';\n data[headers[23]] = (this.checkManagerFunCompExist(this.userReportData[i].userId) > 0) ? 'Submitted' : 'Pending';\n\n \n if ((data[headers[20]] == 'Submitted' && data[headers[21]] == 'Submitted') && ((data[headers[22]] == 'Submitted' && data[headers[23]] == 'Submitted'))) {\n data[headers[24]] = 'Completed'\n }\n if (data[headers[22]] == 'Pending' || data[headers[23]] == 'Pending') {\n data[headers[24]] = 'Pending With Manager'\n }\n if (data[headers[20]] == 'Pending' || data[headers[21]] == 'Pending') {\n data[headers[24]] = 'Pending With Self'\n }\n\n\n data[headers[25]] = isNaN(compositeValues.beh) ? \"\" : compositeValues.beh;\n data[headers[26]] = isNaN(compositeValues.fun) ? \"\" : compositeValues.fun;\n data[headers[27]] = isNaN(compositeValues.full) ? \"\" : compositeValues.full;\n if (data[headers[27]] >= 80) { data[headers[28]] = \"Ready Now\"; }\n if (data[headers[27]] >= 60 && data[headers[27]] < 80) { data[headers[28]] = \"Ready Soon\"; }\n if (data[headers[27]] >= 30 && data[headers[27]] < 60) { data[headers[28]] = \"Ready Future\"; }\n if (data[headers[27]] < 30) { data[headers[28]] = \" \"; }\n data[headers[29]] = this.returnUserNotes(this.userReportData[i].userId)\n excelExportData.push(data);\n if (i == (this.userReportData.length - 1)) {\n this.loading = false;\n this.excelService.generateExcel(headers, excelExportData, 'Dashboard_Data');\n }\n }\n \n }\n /**\n * Get the competency and competency rating by towerIds\n */\n // Get Beh comp data\n\n\n /**\n* Get user Notes\n*/\n getAllUserNotes() {\n this.commonService.getAllUserNotes().subscribe(data => {\n this.loading = false;\n if (data) {\n this.userAllNotesList = data;\n\n }\n }, error => {\n console.log('Error', error);\n this.loading = false;\n });\n }\n /**\n * Return Users notes\n */\n returnUserNotes(userId) {\n for (let i = 0; i < this.userAllNotesList.length; i++) {\n if (userId == this.userAllNotesList[i].userId) {\n return this.userAllNotesList[i].userNotes;\n }\n }\n\n }\n\n private getPositionName(positionId) {\n for (let i = 0; i < this.positionList.length; i++) {\n if (this.positionList[i].positionId == positionId)\n return this.positionList[i].positionName;\n }\n }\n\n // Check users have self beh. competency submitted or not.\n getManagerBehCompLastDate($userId) {\n let lastDate = '';\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 4 && (lastDate == '' || new Date(lastDate) < new Date(this.behDataByTowerForStatus[i].createDate))) {\n\n lastDate = this.behDataByTowerForStatus[i].createDate;\n }\n }\n if (lastDate) {\n let date = new Date(lastDate);\n return date.getDate() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getFullYear();\n } else {\n return lastDate;\n }\n }\n // Check users have self beh. competency submitted or not.\n getManagerFunCompLastDate($userId) {\n let lastDate = '';\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 4 && (lastDate == '' || new Date(lastDate) < new Date(this.funDataByTowerForStatus[i].createDate))) {\n\n lastDate = this.funDataByTowerForStatus[i].createDate;\n }\n }\n if (lastDate) {\n let date = new Date(lastDate);\n return date.getDate() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getFullYear();\n } else {\n return lastDate;\n }\n }\n\n private getCompositeValueForExcel(userId) {\n var compositeBehSum = 0, compositeFunSum = 0;\n var managerPresentBeh = false, managerPresentFun = false, selfPresentBeh = false, selfPresentFun = false;\n var countBeh = 0, countFun = 0;\n\n for (var i = 0; i < this.behCompByTowers.length; i++) {\n if (this.behCompByTowers[i].ratedByRole == 4 && this.behCompByTowers[i].userId == userId) {\n managerPresentBeh = true;\n selfPresentBeh = true;\n }\n\n if (this.behCompByTowers[i].ratedByRole !== 4 || this.behCompByTowers[i].userId != userId) continue;\n\n var thisSkillsPercentage = (this.behCompByTowers[i].skillScore * 100) / this.behCompByTowers[i].targetScore;\n compositeBehSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\n \n countBeh++;\n }\n\n for (var j = 0; j < this.funCompByTowers.length; j++) {\n if (this.funCompByTowers[j].ratedByRole == 4 && this.funCompByTowers[j].userId == userId) {\n managerPresentFun = true;\n selfPresentFun = true;\n }\n\n if (this.funCompByTowers[j].ratedByRole !== 4 || this.funCompByTowers[j].userId != userId) continue;\n\n var thisSkillsPercentage = (this.funCompByTowers[j].skillScore * 100) / this.funCompByTowers[j].targetScore;\n\n compositeFunSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\n countFun++;\n }\n\n return {\n full: Math.floor(((compositeBehSum / countBeh) * 0.3 + (compositeFunSum / countFun) * 0.7)),\n beh: Math.floor(compositeBehSum / countBeh),\n fun: Math.floor(compositeFunSum / countFun),\n managerPresentFun,\n managerPresentBeh,\n selfPresentFun,\n selfPresentBeh\n };\n\n }\n\n // Check users have self beh. competency submitted or not.\n checkSelfBehCompExist($userId) {\n let count = 0;\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 5) {\n count++;\n }\n }\n return count;\n }\n // Check users have self beh. competency submitted or not.\n checkManagerBehCompExist($userId) {\n let count = 0;\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 4) {\n count++;\n }\n }\n return count;\n }\n\n // Check users have self beh. competency submitted or not.\n checkSelfFunCompExist($userId) {\n let count = 0;\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 5) {\n count++;\n }\n }\n return count;\n }\n // Check users have self beh. competency submitted or not.\n checkManagerFunCompExist($userId) {\n let count = 0;\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 4) {\n count++;\n }\n }\n return count;\n }\n\n\n // Get Beh comp data\n private getBehDataByTowerIdForReportForStatus() {\n this.loading = true;\n // let postData = { towerId: this.selectedTowerId };\n let postData = { towerId: this.towerIdsBySelectedIbu };\n this.commonService.getBehDataByTowerIdReportForStatus(postData).pipe(first()).subscribe(\n data => {\n this.behDataByTowerForStatus = data;\n this.loading = false;\n \n },\n error => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n\n // Get Beh comp data\n private getFunDataByTowerIdForReportForStatus() {\n this.loading = true;\n // let postData = { towerId: this.selectedTowerId };\n let postData = { towerId: this.towerIdsBySelectedIbu };\n this.commonService.getFunDataByTowerIdReportForStatus(postData).pipe(first()).subscribe(\n data => {\n this.funDataByTowerForStatus = data;\n this.loading = false;\n \n },\n error => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n\n\n\n async getBehDataByTowerIdForReport() {\n let postData = { towerId: this.towerIdsBySelectedIbu };\n return new Promise((resolve, reject) => {\n this.commonService.getBehDataByTowerIdReport(postData).pipe(first()).subscribe(\n data => {\n data = (data) ? data : [];\n this.behCompByTowers = data;\n \n resolve(data);\n },\n error => {\n reject(error);\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n this.loading = false;\n }\n )\n });\n\n }\n // Get functional competency and competency rating details.\n async getFunDataByTowerIdForReport() {\n let postData = { towerId: this.towerIdsBySelectedIbu };\n return new Promise((resolve, reject) => {\n this.commonService.getFunDataByTowerIdReport(postData).pipe(first()).subscribe(\n data => {\n this.funCompByTowers = data;\n resolve(data);\n },\n error => {\n reject(error);\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n })\n }\n // Get IBU name\n getIbuNameById() {\n for (let i = 0; i < this.ibuList.length; i++) {\n if (this.ibuList[i].ibuId == this.selectedIbuId) {\n this.ibuName = this.ibuList[i].ibuName;\n return this.ibuList[i].ibuName;\n }\n }\n }\n\n private fetchPositions() {\n this.commonService.getAllPositionInfo(this.selectedTowerId).pipe(first()).subscribe(\n data => {\n this.positionList = data;\n },\n error => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n\n\n \n \n\n}\n","\n\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Competency Report

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","\n\n\n
\n
\n
\n
\n
\n
\n
\n

Role Ladder

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Role Ladder
Delivery Manager
Senior Project Manager
Project Manager
Associate Project Manager
Project  Lead
Associate Lead
Senior Software Engineer II
Senior Software Engineer I
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-position-ladder',\n templateUrl: './position-ladder.component.html',\n styleUrls: ['./position-ladder.component.css']\n})\nexport class PositionLadderComponent implements OnInit {\n loading: boolean = false;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.css']\n})\nexport class BreadcrumbComponent implements OnInit {\n selectedIbuName: any = '';\n selectedFunctionName: any = '';\n selectedTowerName: any = '';\n users: any = {};\n userRoll: number = 0;\n constructor() { \n this.users = JSON.parse(localStorage.getItem('user'));\n\n if (this.users && this.users.userData) {\n this.userRoll = this.users.userData.userRoll;\n \n }\n this.selectedIbuName = localStorage.getItem('ibuName');\n this.selectedFunctionName = localStorage.getItem('functionName');\n this.selectedTowerName = localStorage.getItem('selectedTowerName');\n }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit, Compiler, ViewChild, Input, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './functionalSkillMaster.component.html', styleUrls: ['./functionalSkillMaster.component.css'] })\r\nexport class FunctionalSkillMasterComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n formObj: any;\r\n config: any;\r\n formInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n allTowers: any = [];\r\n allTraining: any = [];\r\n allIbus: any = [];\r\n positionName: any;\r\n allPositions: any = [];\r\n selectedTowerId: any = 0;\r\n selectedPositionId: any = 0; //10\r\n towerSelect: any = \"1\";\r\n currIndex:number;\r\n\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n public common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = '/assets/default.png';\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n // All process done with tower selected on dashboard\r\n this.selectedTowerId = (this.towerId != null || this.towerId != undefined) ? this.towerId : 0;\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.formObj = this.formBuilder.group({\r\n skillName: ['', Validators.required],\r\n skillId: new FormControl(null),\r\n towerId: new FormControl(this.selectedTowerId),\r\n skillCode: ['Dummy', Validators.required],\r\n targetScore: ['', Validators.required],\r\n positionId: ['', Validators.required],\r\n arrOfTraining : this.formBuilder.array([this.formBuilder.group({trainingPoint:''})])\r\n });\r\n this.initialization();\r\n }\r\n\r\n get arr_of_training() {\r\n return this.formObj.get('arrOfTraining') as FormArray;\r\n }\r\n\r\n addTraining() {\r\n this.arr_of_training.push(this.formBuilder.group({trainingPoint:''})); \r\n }\r\n\r\n deleteTraining(i) {\r\n this.arr_of_training.removeAt(-1); \r\n }\r\n\r\n get arr_of_training_update() {\r\n return this.formObj.get('arrOfTraining') as FormArray;\r\n }\r\n\r\n addTrainingUpdate(obj?) {\r\n if(obj){\r\n this.arr_of_training_update.push(this.formBuilder.group({trainingPoint:obj.trainingPoint})); \r\n }else{\r\n this.arr_of_training_update.push(this.formBuilder.group({trainingPoint:''})); \r\n } \r\n }\r\n\r\n deleteTrainingUpdate(i) {\r\n this.arr_of_training_update.removeAt(-1); \r\n }\r\n\r\n \r\n\r\n //initial setup level assets\r\n private initialization() {\r\n this.getAllSkills();\r\n this.getTowerList();\r\n this.getPositionList(this.selectedTowerId); \r\n }\r\n /**\r\n * Update position list if cange tower in add comp. form\r\n */\r\n updatePositionList() {\r\n this.getPositionList(this.selectedTowerId);\r\n }\r\n //reset user form\r\n initUserInfo() {\r\n this.formObj = this.formBuilder.group({\r\n skillName: ['', Validators.required],\r\n skillId: new FormControl(null),\r\n towerId: new FormControl(this.selectedTowerId),\r\n skillCode: ['Dummy', Validators.required],\r\n targetScore: ['', Validators.required],\r\n positionId: ['', Validators.required],\r\n arrOfTraining: new FormArray([])\r\n \r\n });\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(formInfo, i) {\r\n this.initUserInfo();\r\n this.allTraining = JSON.parse(this.formInfoList[i].arrOfTraining);\r\n\r\n this.formObj = this.formBuilder.group({\r\n skillName: new FormControl(formInfo.skillName),\r\n skillId: new FormControl(formInfo.skillId),\r\n towerId: new FormControl(formInfo.towerId),\r\n skillCode: new FormControl(formInfo.skillCode),\r\n targetScore: new FormControl(formInfo.targetScore),\r\n positionId: new FormControl(formInfo.positionId),\r\n arrOfTraining: new FormArray([])\r\n });\r\n\r\n for(const obj of this.allTraining) {\r\n this.addTrainingUpdate(obj);\r\n }\r\n }\r\n\r\n // Get All user list\r\n private getAllSkills() {\r\n this.formInfoList = [];\r\n if(this.selectedTowerId > 0 && this.selectedPositionId > 0) {\r\n this.loading = true;\r\n this.commonService.postAllFunSkills(this.selectedTowerId, this.selectedPositionId).pipe(first()).subscribe( data => {\r\n this.formInfoList = data;\r\n this.loading = false;\r\n if(data.length === 0) {\r\n localStorage.setItem('errorMsg', \"No results! Please change the filter to see the results.\");\r\n this.showerror();\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n \r\n\r\n // Save new user profile\r\n private onSubmit(formInfo) {\r\n if (this.formObj.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n // check ibu name is already exits\r\n if (this.checkSkillName(formInfo.skillName)) {\r\n localStorage.setItem('errorMsg', formInfo.skillName + ' competency already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n if (!this.common.isSuperUser()) {\r\n delete formInfo.towerId;\r\n formInfo.towerId = 0;\r\n formInfo.towerId = this.selectedTowerId;\r\n }\r\n formInfo.arrOfTraining.forEach((element, index) => {\r\n formInfo.arrOfTraining[index]['id'] = index+1;\r\n });\r\n this.commonService.saveFunSkill(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.formObj.reset();\r\n localStorage.setItem('errorMsg', 'Competency Added successfully!');\r\n this.initialization();\r\n this.closeModels();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateSkill(formInfo) {\r\n if (this.formObj.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror(); \r\n return\r\n }\r\n if (formInfo != null) {\r\n if (formInfo) {\r\n this.loading = true;\r\n formInfo.arrOfTraining.forEach((element, index) => {\r\n formInfo.arrOfTraining[index]['id'] = index+1;\r\n });\r\n this.commonService.updateFunSkill(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Competency is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Record is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check if name is already exits\r\n private checkSkillName(skillName) {\r\n let isSkillNameExits = false;\r\n for (let i = 0; i < this.formInfoList.length; i++) {\r\n if (skillName.toLowerCase() == this.formInfoList[i].skillName.toLowerCase()) {\r\n isSkillNameExits = true;\r\n break;\r\n }\r\n }\r\n return isSkillNameExits;\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n\r\n private getTowerList() {\r\n this.loading = true;\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allTowers = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n getPositionList(towerId) {\r\n \r\n if(towerId > 0) {\r\n this.loading = true; \r\n this.commonService.getPositionList(towerId).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allPositions = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n } else {\r\n this.formInfoList = [];\r\n this.allPositions = [];\r\n this.selectedPositionId = 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
Functional Competencies Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Functional Competencies Information

\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Definition\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
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 Level 1\r\n \r\n \r\n Clear need to improve in the competency (deficiency/improvement required)\r\n \r\n
\r\n Needs handholding\r\n
\r\n
\r\n
\r\n Level 2\r\n \r\n \r\n Not always up to standard, with inconsistent demonstration of the competency (below average)\r\n \r\n
\r\n Needs review\r\n
\r\n
\r\n
\r\n Level 3\r\n \r\n \r\n Mostly demonstrates the competency as expected (at standard/average)\r\n \r\n
\r\n Needs audit\r\n
\r\n
\r\n
\r\n Level 4\r\n \r\n \r\n Notable strength in the competency (better than most)\r\n \r\n
\r\n Is independent\r\n
\r\n
\r\n
\r\n Level 5\r\n \r\n \r\n Strong role model (one of the best)\r\n \r\n
\r\n Can train others\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 \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
S.NoCompetency nameTarget scoreTowerPositionAction
\r\n
{{formInfoList.indexOf(formInfo) + 1}}
\r\n
\r\n
{{formInfo.skillName}}
\r\n
\r\n
{{formInfo.targetScore}}
\r\n
\r\n
{{formInfo.towerName}}
\r\n
\r\n
{{formInfo.positionName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\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 {\r\n Component,\r\n OnInit,\r\n Compiler,\r\n ViewChild,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { ThisReceiver } from '@angular/compiler';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\n\r\n@Component({\r\n templateUrl: 'managerRatingSection.component.html',\r\n styleUrls: ['managerRatingSection.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ManagerRatingSectionComponent implements OnInit {\r\n @ViewChild('closeModel1', { read: ElementRef }) closeModel1: ElementRef;\r\n @ViewChild('closeModel2', { read: ElementRef }) closeModel2: ElementRef;\r\n @ViewChild(MatTabGroup) tabGroup: MatTabGroup;\r\n\r\n loading: boolean = false;\r\n users: any = {};\r\n behavioralSkillRatingForm: any;\r\n functionalSkillRatingForm: any;\r\n config: any;\r\n fetchData: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n showHideModel: boolean = true;\r\n skillData: any[] = [];\r\n behSkillList: any[] = [];\r\n //Add users form fields\r\n userUpdatedId: Number = 0;\r\n selectedPositionId: Number = 0;\r\n skillRatingFromDate: any;\r\n towerId: number = 0;\r\n userRole: number = 0;\r\n skillRatingData: any[] = [];\r\n fullFunRatingList: any;\r\n fullBehRatingList: any;\r\n convertedData: any[][] = [];\r\n dateRanges: any[] = [1];\r\n allPositions: any = [];\r\n isenabledMFun: any = 'false';\r\n isenabledMBeh: any = 'false';\r\n positionList: any = [];\r\n CometencyLevelCount: any = 0;\r\n isMFRatingSubmitted: any = 0;\r\n isMBRatingSubmitted: any = 0;\r\n isBShow: any = true;\r\n isFShow: any = true;\r\n isShowCompForm: any = true;\r\n lastSubmittedDate: any = [];\r\n diffInDays: any = 0;\r\n ratingInDays: any = 60;\r\n active = 0;\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private common: Common,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.users = this.users.userData;\r\n if (this.users.userFullName) {\r\n this.loginUserName = this.users.userFullName;\r\n this.users.userFullName = this.users.userFullName.toLowerCase();\r\n } else {\r\n this.loginUserName = this.users.userName;\r\n this.users.userFullName = this.users.userName.toLowerCase();\r\n }\r\n if (\r\n !this.users.emailAddress ||\r\n this.users.emailAddress.trim().length == 0\r\n ) {\r\n this.users['emailAddress'] = this.users.email;\r\n }\r\n this.userRole = this.users.userRoll;\r\n this.towerId = this.users.towerId;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = {\r\n year: currentDate.getFullYear() - 1,\r\n month: currentDate.getMonth() + 1,\r\n day: currentDate.getDate(),\r\n };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.fetchSkillsData();\r\n this.getAllBehSkills();\r\n }\r\n\r\n ngOnInit() {\r\n this.fetchSkillRatingData();\r\n if (this.userRole == 1) {\r\n this.fetchUserData(null, null);\r\n } else if (this.userRole == 5 || !this.userRole) {\r\n this.fetchUserData(this.users.userId, this.towerId);\r\n } else {\r\n this.fetchUserData(null, this.towerId);\r\n }\r\n this.initalizeFunSkillForm();\r\n this.initalizeBehSkillForm();\r\n this.fetchPositions();\r\n }\r\n\r\n // initalize Functional Skill Form\r\n private initalizeFunSkillForm() {\r\n this.userUpdatedId = 0;\r\n this.selectedPositionId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: ['', Validators.required],\r\n skillRatingToDate: ['', Validators.required],\r\n };\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n groupForm[this.skillData[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n //Initalize Behavioral Skill Form\r\n private initalizeBehSkillForm() {\r\n this.userUpdatedId = 0;\r\n this.selectedPositionId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: ['', Validators.required],\r\n skillRatingToDate: ['', Validators.required],\r\n };\r\n\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n // /fetch user information data\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService\r\n .fetchSkillRatingData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkills() {\r\n this.loading = true;\r\n this.commonService\r\n .postAllBehSkills(this.towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.behSkillList = data;\r\n this.initalizeBehSkillForm();\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Behavioral Skills Data Not Found'\r\n );\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkillsForUser(userId) {\r\n this.loading = true;\r\n this.isShowCompForm = true;\r\n this.commonService\r\n .getAllBehRatingsForUser(this.towerId, userId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n console.log('Beh comp list of user', data);\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.fullBehRatingList = data;\r\n this.convertData(false);\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllFunSkillsForUser(userId) {\r\n this.loading = true;\r\n this.isShowCompForm = true;\r\n this.commonService\r\n .getAllFunRatingsForUser(this.towerId, userId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n //this.userId\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.fullFunRatingList = data;\r\n this.convertData(true);\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private convertData(isFunctional) {\r\n console.log('convert data');\r\n this.active = 0;\r\n var ratings1;\r\n if (isFunctional) ratings1 = this.fullFunRatingList;\r\n else ratings1 = this.fullBehRatingList;\r\n\r\n var ratings2 = [];\r\n this.dateRanges = [1];\r\n this.lastSubmittedDate = [];\r\n let j = 0;\r\n let k = 1;\r\n console.log('List fullFunRatingList', this.fullFunRatingList);\r\n var tempStartDate = '';\r\n var tempEndDate = '';\r\n for (let dates = 0; dates < ratings1.length; dates++) {\r\n let newDateRange =\r\n this.formatDate(ratings1[dates].skillRatingFromDate) +\r\n ' - ' +\r\n this.formatDate(ratings1[dates].skillRatingToDate);\r\n\r\n if (this.dateRanges.indexOf(newDateRange) === -1) {\r\n this.dateRanges.push(newDateRange);\r\n }\r\n }\r\n for (let i = 0; i < ratings1.length; i++) {\r\n var curIndex = this.getIndexOf(ratings2, ratings1[i].skillName);\r\n if (curIndex === -1) {\r\n ratings2[j] = [];\r\n ratings2[j][0] = ratings1[i].skillName;\r\n curIndex = j;\r\n j++;\r\n for (\r\n let dateArray = 1;\r\n dateArray < this.dateRanges.length;\r\n dateArray++\r\n ) {\r\n ratings2[curIndex].push(ratings1[i].skillScore);\r\n }\r\n }\r\n\r\n let fSubmittedDate = ratings1[i].createDate; //this.formatDate();\r\n if (this.lastSubmittedDate.indexOf(fSubmittedDate) === -1) {\r\n this.lastSubmittedDate.push(fSubmittedDate);\r\n }\r\n }\r\n console.log('ratings2', ratings2);\r\n this.convertedData = ratings2;\r\n setTimeout(() => {\r\n this.active = 0;\r\n }, 1000);\r\n this.checkLastSubmitDate();\r\n }\r\n /**\r\n * Check supervisor can fill competency again or not\r\n */\r\n checkLastSubmitDate() {\r\n if (this.lastSubmittedDate.length) {\r\n const lastSubmittedDate =\r\n this.lastSubmittedDate[this.lastSubmittedDate.length - 1]; // '2020-11-25';\r\n const date1 = new Date(lastSubmittedDate);\r\n const cDate = new Date();\r\n var Difference_In_Time = cDate.getTime() - date1.getTime();\r\n // To calculate the no. of days between two dates\r\n var Difference_In_Days = Math.floor(\r\n Difference_In_Time / (1000 * 3600 * 24)\r\n );\r\n this.diffInDays = Difference_In_Days;\r\n this.isShowCompForm = true;\r\n if (Difference_In_Days < this.ratingInDays) {\r\n this.isShowCompForm = false;\r\n }\r\n console.log('Difference_In_Days', Difference_In_Days);\r\n }\r\n }\r\n private getIndexOf(arr, item) {\r\n for (let i = 0; i < arr.length; i++) {\r\n if (arr[i] && arr[i][0] === item) return i;\r\n }\r\n return -1;\r\n }\r\n\r\n private formatDate(dateStr) {\r\n return (\r\n new Date(dateStr).getDate() +\r\n '/' +\r\n (new Date(dateStr).getMonth() + 1) +\r\n '/' +\r\n new Date(dateStr).getFullYear()\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchPositions() {\r\n // var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n let towerId = null;\r\n this.commonService\r\n .getAllPositionInfo(towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.positionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i = 0; i < this.positionList.length; i++) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n\r\n // edit user skill information data\r\n private onEditSubmit(userData, isFuntion) {\r\n this.active = 0;\r\n setTimeout(() => {\r\n $('.mat-ink-bar').css('width', '160px');\r\n }, 100);\r\n this.CometencyLevelCount = 0;\r\n this.fullBehRatingList = [];\r\n this.fullFunRatingList = [];\r\n this.convertedData = [];\r\n this.dateRanges = [1];\r\n if (isFuntion) this.getAllFunSkillsForUser(userData.userId);\r\n else this.getAllBehSkillsForUser(userData.userId);\r\n\r\n if (userData) {\r\n this.userUpdatedId = userData.userId;\r\n // this.selectedPositionId = userData.positionId;\r\n this.selectedPositionId = userData.nextPosition;\r\n\r\n this.isenabledMFun = userData.isenabledMFun;\r\n this.isenabledMBeh = userData.isenabledMBeh;\r\n\r\n if (userData.mBehRatings == 1) {\r\n this.isBShow = false;\r\n }\r\n if (userData.mFunRatings == 1) {\r\n this.isFShow = false;\r\n }\r\n\r\n let groupForm = {\r\n skillRatingFromDate: new FormControl(\r\n this.common.getJSONObj(userData.skillRatingFromDate)\r\n ),\r\n skillRatingToDate: new FormControl(\r\n this.common.getJSONObj(userData.skillRatingToDate)\r\n ), //TODO is this right\r\n };\r\n if (isFuntion) {\r\n // set value of functional skill from\r\n let userSkill = userData.funUserSkill;\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.skillData[i].skillId) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\r\n userSkill[j].skillLevel\r\n );\r\n }\r\n }\r\n }\r\n if (!groupForm[this.skillData[i].skillName]) {\r\n groupForm[this.skillData[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n } else {\r\n // set value of behavioral skill from\r\n let userSkill = userData.behUserSkill;\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.behSkillList[i].skillId) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\r\n userSkill[j].skillLevel\r\n );\r\n }\r\n }\r\n }\r\n if (!groupForm[this.behSkillList[i].skillName]) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n console.log('Skill Datatttttttt', this.skillData);\r\n }\r\n }\r\n\r\n //fetch skills data\r\n private fetchSkillsData() {\r\n this.commonService\r\n .postAllFunSkills(this.towerId)\r\n .pipe(first())\r\n .subscribe(\r\n //fetchSkill(s)Data\r\n (data) => {\r\n this.skillData = data;\r\n this.initalizeFunSkillForm();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions(userIds, towerId) {\r\n this.loading = true;\r\n this.commonService\r\n .getAllNextPositions(userIds, towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchUserData(userId, towerId) {\r\n this.loading = true;\r\n var userEmail = '';\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n this.commonService\r\n .fetchUserData(userId, towerId, userEmail)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n let userIds = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].userId) {\r\n userIds.push(data[i].userId);\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n this.fetchData = data;\r\n // this.fetchUserFunctSkillsData(userIds, data);\r\n }\r\n\r\n console.log('this.fetchData', this.fetchData);\r\n this.getAllNextPositions(\r\n userIds,\r\n JSON.parse(localStorage.user).userData.towerId\r\n );\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch user skills data\r\n private fetchUserBehSkillsData(userIds: any[], userData) {\r\n this.commonService\r\n .fetchAllBehSkills(userIds)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n for (let j = 0; j < userData.length; j++) {\r\n let userSkill = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (userData[j].userId == data[i].userId) {\r\n let skillLevel = data[i].skillLevel;\r\n let skillName = '';\r\n this.behSkillList.forEach((litem, index) => {\r\n if (litem.skillId == data[i].skillId) {\r\n skillName = litem.skillName;\r\n }\r\n });\r\n userSkill.push({\r\n skillId: data[i].skillId,\r\n skillLevel: skillLevel,\r\n skillName: skillName,\r\n });\r\n }\r\n }\r\n userData[j]['behUserSkill'] = userSkill;\r\n }\r\n this.fetchData = userData;\r\n this.categoriseLeaveUsers();\r\n this.countActiveAndInactiveUsers();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n //categorise leave users\r\n private categoriseLeaveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let currentDate = new Date();\r\n let userskillRatingToDate = new Date(\r\n this.fetchData[i].skillRatingToDate\r\n );\r\n if (currentDate > userskillRatingToDate) {\r\n this.fetchData[i]['leaveStyle'] = 'red';\r\n }\r\n }\r\n }\r\n }\r\n\r\n // validate resoucre leaving date should be equal or lessthen from current date\r\n private countActiveAndInactiveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let isFound = false;\r\n //remove user from the list if having leave date less then current date\r\n let currentTime = this.common.getTime(new Date());\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let leavingTime = this.common.getTime(\r\n this.fetchData[i].skillRatingToDate\r\n );\r\n if (currentTime > leavingTime) {\r\n isFound = true;\r\n }\r\n }\r\n if (isFound) {\r\n this.fetchData[i]['leaveUserCSS'] = 'leaveUserCSS';\r\n } else {\r\n this.fetchData[i]['leaveUserCSS'] = '';\r\n }\r\n }\r\n }\r\n\r\n // save user information\r\n private onSubmit(skillRatingForm, isFunctional) {\r\n if (isFunctional) {\r\n if (this.functionalSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n } else {\r\n if (this.behavioralSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n }\r\n let skillRatingData = this.setUserSkillData(\r\n skillRatingForm,\r\n this.userUpdatedId,\r\n isFunctional\r\n );\r\n let currentUserSkill = this.setUserCurrentSkillData(\r\n skillRatingForm,\r\n this.userUpdatedId,\r\n isFunctional\r\n );\r\n this.loading = true;\r\n this.commonService\r\n .saveSkillRatingData(\r\n skillRatingData,\r\n currentUserSkill,\r\n isFunctional,\r\n this.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (isFunctional) {\r\n this.isMFRatingSubmitted = 1;\r\n this.isFShow = false;\r\n this.getAllFunSkillsForUser(this.userUpdatedId);\r\n this.functionalSkillRatingForm.reset();\r\n } else {\r\n this.isMBRatingSubmitted = 1;\r\n this.getAllBehSkillsForUser(this.userUpdatedId);\r\n this.behavioralSkillRatingForm.reset();\r\n this.isBShow = false;\r\n }\r\n\r\n localStorage.setItem('errorMsg', data);\r\n this.closeModels();\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n },\r\n (error) => {\r\n console.log('error', error);\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any, isFunctional) {\r\n let userSkillData = [];\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n console.log(\r\n 'this.skillData[i].positionId',\r\n this.skillData[i].positionId\r\n );\r\n console.log('this.selectedPositionId', this.selectedPositionId);\r\n if (this.skillData[i].positionId != this.selectedPositionId) continue;\r\n console.log('reached1');\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.skillData[i].skillId;\r\n skillObj['skillScore'] = this.getScoreBySkillName(\r\n userFormDetails[this.skillData[i].skillName]\r\n );\r\n skillObj['skillRatingBy'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['createDate'] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (\r\n this.getScoreBySkillName(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n ) === 0\r\n )\r\n continue;\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.behSkillList[i].skillId;\r\n skillObj['skillScore'] = this.getScoreBySkillName(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n );\r\n skillObj['skillRatingBy'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['createDate'] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n\r\n console.log('userSkilldata', userSkillData);\r\n return userSkillData;\r\n }\r\n\r\n private getScoreBySkillName(skillName) {\r\n let score = 1;\r\n if (skillName && skillName.trim().length > 0) {\r\n for (let i = 0; i < this.skillRatingData.length; i++) {\r\n if (\r\n this.skillRatingData[i].ratingName.toLowerCase() ==\r\n skillName.toLowerCase()\r\n ) {\r\n score = this.skillRatingData[i].score;\r\n break;\r\n }\r\n }\r\n }\r\n return score;\r\n }\r\n //set user skill data\r\n private setUserCurrentSkillData(\r\n userFormDetails: any,\r\n userId: any,\r\n isFunctional\r\n ) {\r\n let userSkillData = [];\r\n console.log('userFormDetails', userFormDetails);\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n if (this.skillData[i].positionId != this.selectedPositionId) continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.skillData[i].skillId;\r\n skillObj['skillName'] = this.skillData[i].skillName;\r\n // skillObj[\"targetScore\"] = this.skillData[i].targetScore;\r\n skillObj['skillLevel'] = Number(\r\n userFormDetails[this.skillData[i].skillName]\r\n );\r\n skillObj['createdByEmail'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (this.behSkillList[i].positionId != this.selectedPositionId)\r\n continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.behSkillList[i].skillId;\r\n skillObj['skillName'] = this.behSkillList[i].skillName;\r\n // skillObj[\"targetScore\"] = this.behSkillList[i].targetScore;\r\n skillObj['skillLevel'] = Number(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n );\r\n skillObj['createdByEmail'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n //save skills data\r\n private saveSkillsData(userSkillData) {\r\n this.commonService\r\n .saveSkillsData(userSkillData, this.users.emailAddress)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data != null) {\r\n this.functionalSkillRatingForm.reset(); //TODO: This is how to reset the form\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'User successfully added as a TR Nominee'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set start date\r\n private setStartDate() {\r\n let currentDate = new Date();\r\n this.config.minDate = {\r\n year: currentDate.getFullYear() - 1,\r\n month: currentDate.getMonth() + 1,\r\n day: currentDate.getDate(),\r\n };\r\n }\r\n\r\n //set end dates\r\n private setEndDate() {\r\n let currentDate = new Date();\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n currentDate.setMonth(currentDate.getMonth() + 3);\r\n if (this.functionalSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy - 1, month: mm, day: dd };\r\n } else if (this.behavioralSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy - 1, month: mm, day: dd };\r\n } else {\r\n localStorage.setItem('errorMsg', 'Please select Start Date');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel1.nativeElement.click();\r\n this.closeModel2.nativeElement.click();\r\n this.active = 0;\r\n }\r\n\r\n //forward to next section\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward to login page\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n /**\r\n * For competency level count.\r\n * @param count\r\n */\r\n countFunCompLevel(count) {\r\n this.CometencyLevelCount++;\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
TR Nominee Functional Competency Rating
\r\n \r\n ×\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n You will not be able to fill the ratings yet. You can fill the\r\n ratings after this nominee has completed self-rating.\r\n
\r\n
\r\n You will be able to fill the ratings after\r\n {{ ratingInDays - diffInDays }} Days\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Competency Levels\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n {{ skillRating.ratingName }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Competency Rating Start 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 Competency Rating End 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 Cancel\r\n \r\n \r\n Submit Rating\r\n \r\n
\r\n
\r\n
\r\n \r\n
Competency Level data not found!.
\r\n
\r\n \r\n
\r\n
\r\n 1\">\r\n \r\n
\r\n 1\"\r\n >\r\n \r\n \r\n S.No.\r\n Skill\r\n \r\n \r\n {{ dateRange == 1 ? \"\" : dateRange }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ i + 1 }}
\r\n \r\n \r\n \r\n
{{ cell }}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
TR Nominee Behavioral Competency Rating
\r\n \r\n ×\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n You will not be able to fill the ratings yet. You can fill the\r\n ratings after this nominee has completed self-rating.\r\n
\r\n
\r\n You will be able to fill the ratings after\r\n {{ ratingInDays - diffInDays }} Days\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Competency Levels\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n {{ skillRating.ratingName }}\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 0\"\r\n >\r\n Competency Rating Start 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 0\"\r\n >\r\n Competency Rating End 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 Cancel\r\n \r\n\r\n \r\n Submit Rating\r\n \r\n
\r\n
\r\n \r\n \r\n
Competency Levels data not found!.
\r\n \r\n \r\n \r\n \r\n 1\">\r\n \r\n
\r\n 1\"\r\n >\r\n \r\n \r\n S.No.\r\n Skill\r\n\r\n \r\n \r\n {{ dateRange == 1 ? \"\" : dateRange }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ i + 1 }}
\r\n \r\n \r\n \r\n
{{ cell }}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Manager Section

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Definition\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\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
S.No.Employee NameTR Nominee ManagerCurrent RoleNext RoleFunctional RatingsBehavioral Ratings
\r\n
\r\n {{ fetchData.indexOf(fetchuserData) + 1 }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.userName }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.resourceManager }}\r\n
\r\n
\r\n
{{ fetchuserData.positionName }}
\r\n
\r\n
{{ getPositionName(fetchuserData.nextPosition) }}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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 * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\r\n\r\n@Component({ templateUrl: './adminuser.component.html', styleUrls: ['./adminuser.component.css'] })\r\nexport class AdminUserComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n superUserForm: any;\r\n config: any;\r\n superUserInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n imageURL = \"https://i0.wp.com/www.winhelponline.com/blog/wp-content/uploads/2017/12/user.png?fit=256%2C256&quality=100&ssl=1\";\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = this.users.userData.imageURL;\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.superUserForm = this.formBuilder.group({\r\n userFullName: ['', Validators.required],\r\n userEmail: ['', Validators.required],\r\n userPassword: ['', Validators.required],\r\n userType: new FormControl(\"Select Role\"),\r\n userStatus: new FormControl(\"User Status\"),\r\n imageURL: new FormControl(this.imageURL),\r\n });\r\n\r\n this.getAllSuperUsersInfo();\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.superUserForm = this.formBuilder.group({\r\n userFullName: ['', Validators.required],\r\n userEmail: ['', Validators.required],\r\n userPassword: ['', Validators.required],\r\n userType: new FormControl(\"Select Role\"),\r\n userStatus: new FormControl(\"User Status\"),\r\n imageURL: new FormControl(this.imageURL),\r\n });\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(superUser) {\r\n this.initUserInfo();\r\n this.superUserForm = this.formBuilder.group({\r\n userFullName: new FormControl(superUser.userFullName),\r\n userEmail: new FormControl(superUser.userEmail),\r\n userPassword: new FormControl(superUser.userPassword),\r\n userType: new FormControl(superUser.userType),\r\n userStatus: new FormControl(superUser.userStatus),\r\n userId: new FormControl(superUser.userId),\r\n imageURL: new FormControl(superUser.imageURL),\r\n });\r\n }\r\n\r\n //Get all accounts info\r\n private getAllSuperUsersInfo() {\r\n this.loading = true;\r\n this.superUserInfoList = [];\r\n this.commonService.getSuperUserList().pipe(first()).subscribe(\r\n data => {\r\n this.superUserInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Save new user profile\r\n private onSubmit(superUserInfo) {\r\n if (this.superUserForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n if (superUserInfo.userType == \"Select User Type\") {\r\n localStorage.setItem('errorMsg', 'Must Select User Type!');\r\n this.showerror();\r\n return;\r\n }\r\n if (this.checkUserAlreadyExits(superUserInfo.userEmail)) {\r\n localStorage.setItem('errorMsg', 'This user already exits!');\r\n this.showerror();\r\n return\r\n }\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.saveSuperUserInfo(superUserInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.superUserForm.reset();\r\n localStorage.setItem('errorMsg', 'Profile Added successfully!');\r\n this.getAllSuperUsersInfo();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateSuperUserInfo(superUserInfo) {\r\n if (this.superUserForm.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (superUserInfo != null) {\r\n if (superUserInfo) {\r\n if (superUserInfo.userType == \"Select User Type\") {\r\n localStorage.setItem('errorMsg', 'Must Select User Type!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.updationSuperUserInfo(superUserInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.getAllSuperUsersInfo();\r\n this.closeModels()\r\n localStorage.setItem('errorMsg', 'Profile updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n localStorage.setItem('errorMsg', 'IBU is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //check super user already exits\r\n private checkUserAlreadyExits(userName) {\r\n let isUserExits = false;\r\n userName = userName.toLowerCase();\r\n for (let i = 0; i < this.superUserInfoList.length; i++) {\r\n let ursName = this.superUserInfoList[i].userEmail.toLowerCase();\r\n if (ursName == userName) {\r\n isUserExits = true;\r\n }\r\n }\r\n return isUserExits;\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n //show dailog box for user messages\r\n showerror() {\r\n // this.dialogService.addDialog(ErrorComponent, {\r\n // title: 'Confirm title',\r\n // message: 'Confirm message'\r\n // })\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //logout and forward to login page\r\n private logout(e, routeURL) {\r\n this.commonService.logout();\r\n }\r\n\r\n //forward next section\r\n private gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Super Admin Detail Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoFull NameUser EmailUser RoleAction
\r\n
{{superUserInfoList.indexOf(superUser) + 1}}
\r\n
\r\n
{{superUser.userFullName}}
\r\n
\r\n
{{superUser.userEmail}}
\r\n
\r\n
{{superUser.userType}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\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 * from './dashboard.component';","import {\n Component,\n OnInit,\n Compiler,\n ViewChild,\n ElementRef,\n} from '@angular/core';\nimport { first, retry } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { AppConfig } from '../util';\nimport { CommonService } from '../service/commons-service';\nimport { Common } from '../util/common';\nimport { ExcelService } from '../service/excel.service';\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\nimport { IfStmt } from '@angular/compiler';\n@Component({\n selector: 'app-nominate',\n templateUrl: './nominate.component.html',\n styleUrls: ['./nominate.component.css'],\n})\nexport class NominateComponent implements OnInit {\n panelOpenState = false;\n ibuList: any = [];\n ibu: any;\n functionList: any = [];\n function: any = '';\n selectedIbuId: any = null;\n towerList: any = [];\n selectedTowerId: any;\n alltowerList: any = [];\n tower: any = '';\n marked: boolean = false;\n isAppr: number;\n newNomi = '';\n attrValue = '';\n checkedEligiblity: boolean = false;\n disabledNominatiobtn: boolean = true;\n showHideModel: boolean = true;\n @ViewChild('closeModel', { read: ElementRef }) closeModel: ElementRef;\n //shruti - 8/6/2020\n userFormDetails: any;\n showEligCrtModel: boolean = false;\n nomination: boolean = false;\n errorNomination: boolean = false;\n successNominee: boolean = false;\n nomineeData: any[] = [];\n userparm: any = '';\n userFullName: string = '';\n // -------------------------\n users: any = {};\n addUserForm: any;\n config: any;\n loading: boolean = false;\n fetchData: any[] = [];\n submitted = false;\n userId: any = 0;\n loginImageURL: any = '';\n baseURL: any = null;\n loginUserName: any = '';\n // private showHideModel: boolean = true;\n skillData: any[] = [];\n //Add users form fields\n userUpdatedId: Number = 0;\n empCode: any;\n resourceName: any;\n resourceEmail: any;\n typesResource: any = 'Regular';\n joinDate: any;\n leaveDate: any;\n // private selectedTeam: any = \"Engineering\";\n selectedEmail: any = '';\n selectedSVEmail: any = '';\n selectedUserId: any = '';\n resourceManager: any;\n resourceManagerEmail: any;\n currentRole: any = JSON.parse(localStorage.user).userData.userRoll;\n inactiveUserCount = 0;\n activeUserCount = 0;\n skillRatingData: any[] = [];\n towerId: any;\n positionList: any = [];\n currentPositionList: any = [];\n userRoll: number = 0;\n userType: any = '';\n allPositions: any = [];\n userRole: any = JSON.parse(localStorage.user).userData.userRoll;\n whyMove: any = '';\n experience: any = '';\n lastBSC: any = '';\n nextPosition: any = '';\n otherNextPosition: any = '';\n isOtherNextRole: boolean = false;\n maxCharForWhyToMoveLength: any = 500;\n initiatedFormValue: boolean = false;\n maxLeftCharacterWhyToMove: any = this.maxCharForWhyToMoveLength;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private el: ElementRef,\n private excelService: ExcelService,\n private commonService: CommonService,\n private common: Common,\n private appConfig: AppConfig,\n config: NgbDatepickerConfig,\n private _compiler: Compiler\n ) {\n this._compiler.clearCache();\n this.users = JSON.parse(localStorage.getItem('user'));\n if (!this.users || !this.users.userData) {\n this.commonService.logout();\n return;\n }\n if (this.users && this.users.userData) {\n this.users = this.users.userData;\n\n this.loginUserName = this.users.userFullName;\n // this.users.userFullName = this.users.userFullName.toLowerCase();\n this.towerId = this.users.towerId;\n }\n if (this.users && this.users.userData) {\n if (this.users.userData.userFullName) {\n this.loginUserName = this.users.userData.userFullName;\n } else {\n this.loginUserName = this.users.userData.userName;\n }\n this.userRoll = this.users.userData.userRoll;\n switch (this.users.userData.userRoll) {\n case '1':\n this.userType = 'Super Admin';\n break;\n case '2':\n this.userType = 'Admin';\n break;\n case '3':\n this.userType = 'HR';\n break;\n case '4':\n this.userType = 'Manager';\n break;\n case '5':\n this.userType = 'Employee';\n break;\n default:\n this.userType = 'Employee';\n break;\n }\n }\n let currentDate = new Date();\n this.config = config;\n this.config.minDate = {\n year: currentDate.getFullYear() - 10,\n month: currentDate.getMonth(),\n day: currentDate.getDate(),\n };\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\n this.config.markDisabled = false;\n this.loginImageURL = this.appConfig.getDefaultImgURL();\n // this.fetchPositions();\n }\n ngOnInit() {\n if (JSON.parse(localStorage.user).userData.userRoll == 3) {\n this.router.navigate(['/interested-users']);\n }\n this.initalizeUserForm();\n this.nomineeUserData();\n\n this.fetchuserData();\n this.fetchSkillRatingData();\n this.fetchSkillsData();\n this.getAllIBUInfo();\n this.fetchCurrentPositions();\n\n // this.initalizeUserForm();\n\n //this.userId = JSON.parse(localStorage.user).userData.userId;\n //this.getAUser(this.userId);\n }\n // /fetch user information data\n private fetchSkillRatingData() {\n this.skillRatingData = [];\n this.commonService\n .fetchSkillRatingData()\n .pipe(first())\n .subscribe(\n (data) => {\n if (data && data.length > 0) {\n this.skillRatingData = data;\n } else {\n localStorage.setItem('errorMsg', 'Data Not Found');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n initalizeUserForm() {\n this.userUpdatedId = 0;\n let numericRegex = /^[a-zA-Z0-9]+$/;\n let groupForm = {\n experience: ['', [Validators.required]],\n whyMove: ['', [Validators.required]],\n lastBSC: ['', [Validators.required]],\n nextPosition: [null, [Validators.required]],\n otherNextPosition: [''],\n };\n this.addUserForm = this.formBuilder.group(groupForm);\n }\n // edit user information\n private onEditSubmit(fetchuserData) {\n if (fetchuserData) {\n this.userUpdatedId = fetchuserData.userId;\n let groupForm = {\n experience: new FormControl(fetchuserData.experience),\n whyMove: new FormControl(fetchuserData.whyMove),\n lastBSC: new FormControl(fetchuserData.lastBSC),\n };\n this.addUserForm = this.formBuilder.group(groupForm);\n }\n }\n private showPrompt() {\n // this.loading = false;\n var that = this;\n setTimeout(function () {\n localStorage.setItem(\n 'errorMsg',\n 'Please correctly fill all the required fields'\n );\n that.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }, 2000);\n\n // localStorage.removeItem('errorMsg');\n // return;\n }\n //close dailog box\n private closeModels() {\n this.closeModel.nativeElement.click();\n }\n private onEmailClick() {\n var email = this.selectedEmail;\n var svEmail = this.selectedSVEmail;\n // let myTag = this.el.nativeElement.querySelector(\".modal-backdrop\");\n // myTag.classList.remove('show');\n // this.closeModels();\n // this.showHideModel = false;\n this.commonService\n .sendEmailNiit(\n 'sendRatingInvi',\n email,\n svEmail,\n 'true',\n 'true',\n this.selectedUserId,\n this.towerId\n )\n .pipe(first())\n .subscribe(\n (data) => {\n this.loading = false;\n localStorage.setItem('errorMsg', 'Email sent!');\n this.commonService.showerror();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n private onAllEmailClick() {\n var email = this.selectedEmail;\n var svEmail = this.selectedSVEmail;\n // let myTag = this.el.nativeElement.querySelector(\".modal-backdrop\");\n // myTag.classList.remove('show');\n // this.closeModels();\n // this.showHideModel = false;\n this.commonService\n .sendEmailToAll('sendRatingInviToAll')\n .pipe(first())\n .subscribe(\n (data) => {\n this.loading = false;\n localStorage.setItem(\n 'errorMsg',\n 'Email has been sent to all these resources!'\n );\n this.commonService.showerror();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n // private sendEmailToAll(towerId) {\n // this.commonService.sendEmailToAll(\"sendRatingInviToAll\").pipe(first()).subscribe(\n // data => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', 'Email sent to all these resources!');\n // this.commonService.showerror();\n // },\n // error => {\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n // /fetch user information data\n private fetchuserData() {\n this.loading = true;\n var userEmail = '';\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\n this.commonService\n .getUsersListByPost(\n JSON.parse(localStorage.getItem('user')).userData.towerId,\n userEmail\n )\n .pipe(first())\n .subscribe(\n (data) => {\n let userIds = [];\n for (let i = 0; data && i < data.length; i++) {\n if (data[i].userId) {\n userIds.push(data[i].userId);\n }\n }\n if (userIds.length > 0) {\n this.fetchUserSkillsData(userIds, data);\n this.getAllNextPositions(\n userIds,\n JSON.parse(localStorage.user).userData.towerId\n );\n } else {\n this.loading = false;\n localStorage.setItem('errorMsg', 'Users Not Found');\n this.commonService.showerror();\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getTowersListByIbuId(ibuId, towerId, dataValue) {\n this.commonService.getTowersListByIbuId(ibuId, null).subscribe(\n (data) => {\n this.towerList = data;\n this.alltowerList = data;\n let selecteTower = this.towerList.find(\n (tower) => tower.towerId == towerId\n );\n this.selectedTowerId = selecteTower;\n\n console.log({ dataValue });\n\n if (dataValue) {\n const formTower: any = document.querySelector('#form-tower');\n if (formTower) {\n setTimeout(() => {\n formTower.value = dataValue.towerId;\n this.fetchPositions(dataValue.towerId, dataValue.positionId);\n }, 200);\n }\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getFunctionListByIbuId(ibuId, dataValue) {\n this.functionList = [];\n this.commonService.getFunctionListByIbuId(ibuId).subscribe(\n (data) => {\n this.functionList = data;\n if (dataValue) {\n const formFunction: any = document.querySelector('#form-function');\n console.log({ dataValue, formFunction });\n\n if (formFunction) {\n setTimeout(() => {\n formFunction.value = dataValue.functionId;\n }, 200);\n }\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getAllIBUInfo() {\n this.loading = true;\n this.commonService\n .getAllIBUInfo()\n .pipe(first())\n .subscribe(\n (data) => {\n this.ibuList = data;\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n private onChangeIBU(event, dataValue) {\n let ibu = dataValue ? dataValue.ibuId : event.target.value;\n\n if (dataValue) {\n const formIbu: any = document.querySelector('#form-ibu');\n\n if (formIbu) {\n formIbu.value = this.nomineeData[0].ibuId;\n }\n }\n\n this.resetFunctionValue();\n this.resetTowerValue();\n if (ibu) {\n this.getFunctionListByIbuId(ibu, dataValue);\n this.getTowersListByIbuId(ibu, 0, dataValue);\n } else {\n this.resetFunctionList();\n this.resetTowerList();\n }\n }\n\n private onChangeFunction(event) {\n let functionId = event.target.value;\n this.resetTowerValue();\n if (functionId) {\n this.towerList = this.alltowerList.filter(\n (item) => item.functionId == functionId\n );\n } else {\n this.towerList = this.alltowerList;\n }\n }\n private onChangeTower(event) {\n this.fetchPositions(event.target.value);\n }\n\n private resetFunctionValue() {\n this.function = '';\n }\n\n private resetTowerValue() {\n this.tower = '';\n }\n\n private resetFunctionList() {\n this.functionList = [];\n }\n\n private resetTowerList() {\n this.towerList = [];\n }\n // /fetch user information data\n private fetchPositions(towerId, fieldValue = '') {\n //var towerId = JSON.parse(localStorage.user).userData.towerId;\n this.commonService\n .getAllPositionInfo(towerId)\n .pipe(first())\n .subscribe(\n (data) => {\n this.positionList = data;\n const formRole: any = document.querySelector('#form-other-next-role');\n if (formRole) {\n setTimeout(() => {\n formRole.value = fieldValue;\n }, 0);\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n // /fetch user information data\n private fetchCurrentPositions() {\n var towerId = JSON.parse(localStorage.user).userData.towerId;\n this.commonService\n .getAllPositionInfo(towerId)\n .pipe(first())\n .subscribe(\n (data) => {\n this.currentPositionList = data;\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n private getPositionName(positionId) {\n for (let i = 0; i < this.positionList.length; i++) {\n if (this.positionList[i].positionId == positionId)\n return this.positionList[i].positionName;\n }\n }\n //fetch user skills data\n private fetchUserSkillsData(userIds: any[], userData) {\n this.commonService\n .fetchAllFunSkills(userIds)\n .pipe(first())\n .subscribe(\n (data) => {\n for (let j = 0; j < userData.length; j++) {\n let userSkill = [];\n for (let i = 0; i < data.length; i++) {\n if (userData[j].userId == data[i].userId) {\n let skillLevel = data[i].skillLevel;\n let skillName = '';\n this.skillData.forEach((litem, index) => {\n if (litem.skillId == data[i].skillId) {\n skillName = litem.skillName;\n }\n });\n userSkill.push({\n skillId: data[i].skillId,\n skillLevel: skillLevel,\n skillName: skillName,\n });\n }\n }\n userData[j]['userSkill'] = userSkill;\n }\n this.fetchData = userData;\n this.categoriseLeaveUsers();\n this.countActiveAndInactiveUsers();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n //fetch user skills data\n private getAllNextPositions(userIds, towerId) {\n this.commonService\n .getAllNextPositions(userIds, towerId)\n .pipe(first())\n .subscribe(\n (data) => {\n this.allPositions = data;\n var that = this;\n setTimeout(function () {\n that.loading = false;\n }, 1000);\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n //categorise leave users\n private categoriseLeaveUsers() {\n for (let i = 0; i < this.fetchData.length; i++) {\n if (this.fetchData[i].leaveDate) {\n let currentDate = new Date();\n let userLeaveDate = new Date(this.fetchData[i].leaveDate);\n if (currentDate > userLeaveDate) {\n this.fetchData[i]['leaveStyle'] = 'red';\n }\n }\n }\n }\n // validate resoucre leaving date should be equal or lessthen from current date\n private countActiveAndInactiveUsers() {\n this.inactiveUserCount = 0;\n this.activeUserCount = 0;\n for (let i = 0; i < this.fetchData.length; i++) {\n let isFound = false;\n //remove user from the list if having leave date less then current date\n let currentTime = this.common.getTime(new Date());\n if (this.fetchData[i].leaveDate) {\n let leavingTime = this.common.getTime(this.fetchData[i].leaveDate);\n if (currentTime > leavingTime) {\n isFound = true;\n }\n }\n if (isFound) {\n this.inactiveUserCount++;\n this.fetchData[i]['leaveUserCSS'] = 'leaveUserCSS';\n } else {\n this.fetchData[i]['leaveUserCSS'] = '';\n this.activeUserCount++;\n }\n }\n }\n // suave user information\n private onSubmit(userFormDetails) {\n this.userFormDetails = userFormDetails;\n debugger;\n this.userFormDetails['experience'] = this.experience;\n this.userFormDetails['lastBSC'] = this.lastBSC;\n this.userFormDetails['whyMove'] = this.whyMove;\n this.userFormDetails['userId'] = JSON.parse(\n localStorage.user\n ).userData.userId;\n this.userFormDetails['nextPosition'] = this.nextPosition;\n this.userFormDetails['isApproved'] = 7; // Submitted => self nominated\n console.log('this.userFormDetails', this.userFormDetails);\n if (\n !this.userFormDetails.nextPosition ||\n this.userFormDetails.nextPosition == null ||\n this.userFormDetails.nextPosition == 'null'\n ) {\n localStorage.setItem('errorMsg', 'Please select next role');\n this.commonService.showerror();\n return;\n }\n if (!this.userFormDetails.experience) {\n localStorage.setItem('errorMsg', 'Please enter experience');\n this.commonService.showerror();\n return;\n }\n if (!this.userFormDetails.lastBSC) {\n localStorage.setItem(\n 'errorMsg',\n 'Please enter latest BSC score (H1 / H2)'\n );\n this.commonService.showerror();\n return;\n }\n if (!this.userFormDetails.whyMove) {\n localStorage.setItem(\n 'errorMsg',\n 'Please enter why you want to move to next role'\n );\n this.commonService.showerror();\n return;\n }\n if (\n this.userFormDetails.nextPosition == 'other' &&\n !this.userFormDetails.otherNextPosition\n ) {\n localStorage.setItem('errorMsg', 'Please enter other next role');\n this.commonService.showerror();\n return;\n }\n if (this.userFormDetails.nextPosition == 'other') {\n this.userFormDetails['nextPosition'] =\n this.userFormDetails.otherNextPosition;\n this.userFormDetails['otherNextPosition'] = null;\n }\n // shruti- 8/6/2020\n\n if (this.experience >= 24 && this.lastBSC >= 80 && this.whyMove) {\n this.nomination = true;\n this.errorNomination = false;\n this.userFormDetails['isNominated'] = 1;\n this.nomineeUserData();\n this.commonService\n .saveApplicantsData(this.userFormDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.addUserForm.reset();\n // this.nomination = false;\n // this.router.navigate(['/selfRating']);\n },\n (error) => {\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n } // && this.marked == true\n else if (this.experience && this.lastBSC && this.whyMove) {\n this.nomination = true;\n this.errorNomination = true;\n this.userFormDetails['isNominated'] = 1;\n this.nomineeUserData();\n this.commonService\n .saveApplicantsData(this.userFormDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.addUserForm.reset();\n //this.nomination = false;\n // this.router.navigate(['/selfRating']);\n },\n (error) => {\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n // else if (this.marked == false) {\n // localStorage.setItem('errorMsg', 'Please Check Eligibility Criteria');\n // this.commonService.showerror();\n // }\n else {\n localStorage.setItem('errorMsg', 'Please fill the reuired feild');\n this.commonService.showerror();\n }\n //---------------------------\n // this.commonService.saveApplicantsData(userFormDetails).pipe(first()).subscribe(\n // data => {\n // this.addUserForm.reset();\n // localStorage.setItem('errorMsg', 'Application successfully sent!');\n // localStorage.setItem('isReload', 'true');\n // this.commonService.showerror();\n // },\n // error => {\n // localStorage.setItem('errorMsg', 'Must Enter all the fields');\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n //)\n // }\n }\n //check user is exits\n private isResourceExit(resourceEmail) {\n let userInfo = null;\n for (let i = 0; i < this.fetchData.length; i++) {\n if (resourceEmail == this.fetchData[i].email) {\n userInfo =\n 'TR Nominee: ' + this.fetchData[i].userName + ' is already exits!';\n break;\n }\n }\n return userInfo;\n }\n //update user infromation\n private onUpdateSubmit(userFormDetails) {\n this.userFormDetails = userFormDetails;\n // if (this.addUserForm.invalid) {\n // return;\n // }\n\n // if (!this.validateEmail(userFormDetails.resourceEmail)) {\n // localStorage.setItem('errorMsg', 'Invaild Email id!');\n // this.commonService.showerror();\n // return\n // }\n // if (!this.validateEmail(userFormDetails.resourceManagerEmail)) {\n // localStorage.setItem('errorMsg', 'Invaild resource manager email!');\n // this.commonService.showerror();\n // return\n // }\n if (userFormDetails != null && this.userUpdatedId > 0) {\n this.userFormDetails['userId'] = this.userUpdatedId;\n this.userFormDetails['joinDate'] = this.common.getDateYYMMDD(\n userFormDetails.joinDate\n );\n this.userFormDetails['leaveDate'] = this.common.getDateYYMMDD(\n userFormDetails.leaveDate\n );\n this.userFormDetails['updatedByEmail'] = this.users.emailAddress;\n this.commonService\n .updateUserData(this.userFormDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n localStorage.setItem('errorMsg', 'Data Successfully Updated');\n localStorage.setItem('isReload', 'true');\n this.commonService.showerror();\n // this.router.navigateByUrl(['/admin'])\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n }\n //set user skill data\n private setUserSkillData(userFormDetails: any, userId: any) {\n let userSkillData = [];\n for (let i = 0; i < this.skillData.length; i++) {\n userSkillData.push({\n userId: userId,\n skillId: Number(this.skillData[i].skillId),\n skillLevel: userFormDetails[this.skillData[i].skillName],\n });\n }\n return userSkillData;\n }\n //delete user information\n private onDeleteSubmit(userInfo) {\n userInfo['deletedByEmail'] = this.users.emailAddress;\n userInfo = this.setSkills(userInfo);\n this.commonService\n .userDeletion(userInfo)\n .pipe(first())\n .subscribe(\n (data) => {\n localStorage.setItem('errorMsg', 'Data Successfully Deleted');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n this.fetchuserData();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n //set skills information\n private setSkills(userInfo) {\n let userSkills = userInfo.userSkill;\n for (let i = 0; i < userSkills.length; i++) {\n if (userSkills[i].skillName) {\n userInfo[userSkills[i].skillName] = userSkills[i].skillLevel;\n } else if (userSkills[i].skillName) {\n userInfo[userSkills[i].skillName] = userSkills[i].skillLevel;\n }\n }\n return userInfo;\n }\n //fetch skills data\n private fetchSkillsData() {\n this.commonService\n .fetchSkillData()\n .pipe(first())\n .subscribe(\n (data) => {\n this.skillData = data;\n this.initalizeUserForm();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n //export resource history data\n private excelReport() {\n let excelExportData = [];\n let headers = [\n 'S.No.',\n 'Employee Code',\n 'Employee Name',\n 'Email id',\n 'Current Role',\n 'Target Role',\n ];\n\n for (let i = 0; i < this.fetchData.length; i++) {\n let data = {};\n data[headers[0]] = i + 1;\n data[headers[1]] = this.fetchData[i].empCode;\n data[headers[2]] = this.fetchData[i].userName;\n data[headers[3]] = this.fetchData[i].email;\n data[headers[4]] = this.fetchData[i].positionName;\n data[headers[5]] = this.allPositions[this.fetchData[i].userId];\n\n excelExportData.push(data);\n }\n this.excelService.generateExcel(headers, excelExportData, 'UserList');\n }\n private validateEmail(email) {\n var re =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n //forward to next section\n public gotoNextPage(e, routeURL) {\n this.router.navigate([routeURL]);\n }\n // logout and forward to login page\n private logout() {\n this.commonService.logout();\n }\n //shruti - 8/6/2020\n //fetch Nominee user data\n nomineeUserData() {\n var userId = JSON.parse(localStorage.user).userData.userId;\n var formDetails = {\n userid: userId,\n };\n this.commonService\n .getAUser(formDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.addUserForm.controls['nextPosition'].setValue(\n data[0].nextPosition\n );\n this.nomineeData = data;\n console.log(data);\n\n // if(formIbu){\n // console.log({formIbu})\n // //formIbu.value = \"2\";\n // }\n\n const dataValue = {\n ibuId: this.nomineeData[0].ibuId,\n functionId: this.nomineeData[0].functionId,\n towerId: this.nomineeData[0].towerId,\n positionId: this.nomineeData[0].positionId,\n };\n\n setTimeout(() => {\n // const formIbu:any = document.querySelector(\"#form-ibu\");\n // const formFunction:any = document.querySelector(\"#form-function\");\n // const formTower:any = document.querySelector(\"#form-tower\");\n // if(formIbu){\n // formIbu.value = this.nomineeData[0].ibuId\n // }\n // if(formFunction){\n // formFunction.value = this.nomineeData[0].functionId\n // }\n // if(formTower){\n // formTower.value = this.nomineeData[0].towerId\n // }\n this.onChangeIBU(null, dataValue);\n }, 500);\n this.newNomi = this.nomineeData[0].newNomination;\n this.isAppr = this.nomineeData[0].isApproved;\n this.nextPosition = this.nomineeData[0].positionId;\n // if (this.newNomi != \"\" && this.isAppr == 0) {\n // localStorage.setItem('errorMsg', \"You Have Already Nominated For Role! Please Check HR Comment In View Dtails, Any Concern Contact To Your HR\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // this.router.navigate(['/selfRating']);\n // }\n // else if (this.newNomi != \"\" && this.isAppr == 1) {\n // localStorage.setItem('errorMsg', \"You have Already Nominated For next Role! Please contact to HR for further query\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // this.router.navigate(['/selfRating']);\n // }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n // function after nominee eligible or success to proceed\n private clickHereToProceed() {\n this.router.navigate(['/selfRating']).then(() => {\n window.location.reload();\n });\n location.reload();\n // this.nomination = false;\n // this.addUserForm.controls['experience'].disable();\n // this.addUserForm.controls['lastBSC'].disable();\n }\n\n private eligCriteria(e) {\n this.marked = e.target.checked;\n if (this.marked == true) {\n this.showHideModel = false;\n this.disabledNominatiobtn = false;\n } else {\n this.showHideModel = true;\n this.disabledNominatiobtn = true;\n }\n }\n\n onClickOK() {\n this.checkedEligiblity = true;\n this.disabledNominatiobtn = false;\n }\n /**\n * On Next Role Selection\n */\n onNextRoleSeclection(event) {\n this.addUserForm.controls['nextPosition'].setValue(event.target.value);\n this.nextPosition = event.target.value;\n this.isOtherNextRole = false;\n this.otherNextPosition = '';\n this.addUserForm.controls['otherNextPosition'].setValue('');\n if (event.target.value == 'other') {\n this.isOtherNextRole = true;\n }\n }\n\n /**\n * On Next Role Selection\n */\n onOtherNextRoleSeclection(event) {\n this.addUserForm.controls['otherNextPosition'].setValue(event.target.value);\n }\n\n /**\n * Apply validation on string by count string length.\n */\n onTextChange() {\n if (this.whyMove.length) {\n this.maxLeftCharacterWhyToMove =\n this.maxCharForWhyToMoveLength - this.whyMove.length;\n if (this.whyMove.length > this.maxCharForWhyToMoveLength) {\n this.whyMove = this.whyMove.slice(0, this.maxCharForWhyToMoveLength);\n }\n }\n }\n testModel() {\n alert('s');\n console.log(this.ibu);\n }\n test() {\n alert('s');\n }\n}\n","\n\n
\n
\n
\n
\n
\n
Eligibility Criteria
\n \n
\n
\n
\n
\n
\n

\n Employees with exceptional contribution can be considered even\n if one of the above criteria is not met. Such candidates will\n be nominated separately, and self-nomination will not apply\n for such cases.\n

\n
\n
\n
\n
\n
\n
\n \n CD\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
\n Associate content Lead\n Content Lead1.5 YRS90%
Content LeadAssociate Analyst1.5 YRS85%
Associate AnalystAnalyst1.5 YRS85%
AnalystLead Analyst2 YRS85%
Lead AnalystPrincipal Analyst3 YRS85%
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
\n SENIOR SOFTWARE ENGINEER II\n ASSOCIATE LEAD1.5 YRS90%
\n ASSOCIATE LEAD/ ASSOCIATE TECHNICAL CONSULTANT\n \n PROJECT LEAD /TECHNICAL CONSULTANT\n 1.5 YRS85%
PROJECT LEAD\n ASSOCIATE PROJECT MANAGER\n 1.5 YRS85%
\n TECHNICAL CONSULTANT /ASSOCIATE PROJECT MANAGER\n \n PROJECT MANAGER/TECHNICAL SPECIALIST\n 1.5 YRS85%
\n PM - TECHNICAL SPECIALIST\n \n SPM - -SR. TECHNICAL SPECIALIST\n 2 YRS85%
\n SR. TECHNICAL SPECIALIST\n \n LEAD TECHNICAL SPECIALIST (SPM to DM)\n 3 YRS85%
\n DM - LEAD TECHNICAL SPECIALIST\n DH4 YRS85%
\n
\n
\n
\n
\n
\n \n UX\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
ASSOCIATE UX DESIGNERUX DESIGNER2 YRS85%
UX DESIGNERUX DESIGN ARCHITECT3 YRS85%
UX DESIGN ARCHITECTCREATIVE DIRECTOR4 YRS85%
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
\n ASSOCIATE LEARNING DESIGNER\n LEARNING DESIGNER1.5 YRS85%
LEARNING DESIGNER\n ASSOCIATE SENIOR LEARNING DESIGNER\n 2 YRS85%
\n ASSOCIATE SENIOR LEARNING DESIGNER\n \n ASSOCIATE PRINCIPAL LEARNING DESIGNER\n 3 YRS85%
\n ASSOCIATE PRINCIPAL LEARNING DESIGNER\n \n PRINCIPAL LEARNING DESIGNER\n 4 YRS85%
\n PRINCIPAL LEARNING DESIGNER\n \n LEAD PRINCIPAL LEARNING DESIGNER\n 6 YRS85%
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
MEDIA VISUALIZER III\n LEAD MEDIA VISUALIZER/ LEAD ANALYST\n 1.5 YRS90%
\n LEAD MEDIA VISUALIZER/ LEAD ANALYST\n MEDIA MANAGER2 YRS85%
MEDIA MANAGERSENIOR MEDIA MANAGER3 YRS85%
SENIOR MEDIA MANAGERMEDIA TOWER HEAD4 YRS85%
\n
\n
\n
\n
\n
\n \n QC\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
\n ASSISTANT TEAM MANAGER\n PROJECT LEAD3 YRS90%
PROJECT LEAD\n SENIOR QUALITY MANAGER\n 4 YRS85%
EDITORSENIOR EDITOR2 YRS85%
SENIOR EDITORLEAD EDITOR3 YRS85%
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n
\n
\n
\n
\n
\n

Nominate yourself for new role

\n
\n
\n \n\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n

\n Nominate yourself for new role\n

\n \n\n\n\n
\n
\n
\n
\n \n {{ nominee.empCode }}\n \n
\n
\n
\n
\n \n {{ nominee.userName }}\n \n
\n
\n
\n
\n \n {{ nominee.TowerName }}\n \n
\n
\n
\n
\n \n {{ nominee.CurrentPositionName }}\n \n
\n
\n
\n\n
\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n

\n Select ‘Other IBU/Practice’ to choose a new role from a different IBU/Practice.\n

\n \n
\n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n
\n

\n Click\n CLG - Growth Path Ladder\n to refer to other roles in CLG.\n

\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n

\n Note: If your details are not correct, please contact your\n HR\n

\n
\n
\n\n
\n \n

Thanks!

\n

\n Your nomination is submitted to HR. Please connect with your\n HR for further process. You can check your nomination status\n from home page as well.\n

\n
\n \n
\n
\n
\n

Thanks!

\n

\n Your nomination is submitted to HR. Please connect with your\n HR for further process. You can check your nomination status\n from home page as well.\n

\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n","\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Welcome!
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Add/Update Business Unit\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Towers\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Management Users\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Behavioral Skill 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 Add/Update Functional Skill 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

© 2021 NIIT Talent Readiness, All rights reserved. Powered by NEC.

\r\n
\r\n\r\n\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, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { AppConfig } from '../util';\r\n@Component({\r\n templateUrl: 'adminDashboard.component.html',\r\n styleUrls: ['adminDashboard.component.css']\r\n})\r\n\r\nexport class AdminDashboardComponent implements OnInit {\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n towerName: any = \"\";\r\n superUserType: any = \"\";\r\n loading: boolean = false;\r\n\r\n constructor(private commonService: CommonService,\r\n private router: Router,\r\n private appConfig: AppConfig,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n let users = JSON.parse(localStorage.getItem('user'));\r\n if (!users || !users.userData) {\r\n commonService.logout();\r\n return;\r\n }\r\n if (users && users.userData) {\r\n this.loginUserName = users.userData.displayName;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class AppConfig {\r\n private serveURL: any = '';\r\n private defaultImgURL: any = 'assets/default.png';\r\n constructor() {\r\n if (location.protocol == 'https:') {\r\n this.serveURL = '//tr.niit.com/talentReadinessApi/api/tr_'; //Prod API URLc\r\n // this.serveURL = 'https://tr.niit.com/talentReadinessApi/api/tr_'; //Prod API URLc\r\n // this.serveURL = 'https://connectnec.niit.com/talentReadinessApi/api/tr_'; //ConnectNec API URL/\r\n //this.serveURL = 'https://localhost:3000/api/tr_'; //LOCAL API URL\r\n } else {\r\n this.serveURL = '//tr.niit.com/talentReadinessApi/api/tr_'; //Prod API URL\r\n //this.serveURL = 'http://tr.niit.com/talentReadinessApi/api/tr_'; //Prod API URL\r\n //this.serveURL = 'https://connectnec.niit.com/talentReadinessApi/api/tr_'; //ConnectNec API URL\r\n //this.serveURL = 'http://localhost:3000/api/tr_'; //LOCAL API URL\r\n }\r\n }\r\n\r\n // retrun the server base URL\r\n public getServerURL() {\r\n return this.serveURL;\r\n }\r\n\r\n // validation message for empty jira credential\r\n public getBlankLoginErrorMsg() {\r\n return 'Please Enter Your System Login Credential';\r\n }\r\n\r\n // validation message for wrong jira credential\r\n public getInvalidDetailsMsg() {\r\n return 'Some problem occured while connecting to the server.';\r\n }\r\n\r\n // retrun default Imgage URL\r\n public getDefaultImgURL() {\r\n return this.defaultImgURL;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class Common {\r\n\r\n public month: any[] = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"June\", \"July\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n constructor() { }\r\n // return date YY-MM-DD\r\n public getDateYYMMDD(date: any) {\r\n if (date) {\r\n return date.year + \"-\" + date.month + \"-\" + date.day;\r\n }\r\n return null;\r\n }\r\n\r\n // return date time with set 0 0 0 0 hours and time\r\n public getTime(date: any) {\r\n let tempDate = new Date(date);\r\n tempDate.setHours(0, 0, 0, 0);\r\n return tempDate.getTime();\r\n }\r\n\r\n //returning date array like 1-JAN, 2-Feb from between dates\r\n public getDateArray(start, end) {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n let date = new Date(dt)\r\n if (6 > date.getDay() && date.getDay() != 0) {\r\n arr.push(Number(date.getMonth() + 1) + \"/\" + date.getDate() + \"/\" + date.getFullYear());\r\n }\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n }\r\n\r\n // return date MM/DD/YYYY\r\n public getDateDDMMYY(date: any) {\r\n if (date) {\r\n date = new Date(date);\r\n return Number(date.getMonth() + 1) + \"/\" + date.getDate() + \"/\" + date.getFullYear();\r\n }\r\n return \"\";\r\n }\r\n\r\n // return date YY-MM-DD\r\n public getDatesYYMMDD(date: any) {\r\n if (date) {\r\n date = new Date(date);\r\n return date.getFullYear() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getDate();\r\n }\r\n return \"\";\r\n }\r\n // get\r\n public getJSONObj(date) {\r\n if (date) {\r\n date = new Date(date);\r\n return { year: date.getFullYear(), month: Number(date.getMonth() + 1), day: date.getDate() };\r\n }\r\n return;\r\n }\r\n\r\n //Validate two dates are equals or not\r\n public compareTwoDates(bookingdate, calDate) {\r\n let compareToDate = new Date(bookingdate);\r\n compareToDate.setHours(0, 0, 0, 0);\r\n let compareFromDate = new Date(calDate);\r\n compareFromDate.setHours(0, 0, 0, 0);\r\n if (compareToDate.getTime() == compareFromDate.getTime()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n //get date time of long value\r\n public getDateTime(tempDate) {\r\n let date = new Date(tempDate);\r\n date.setHours(0, 0, 0, 0)\r\n return date.getTime();\r\n }\r\n\r\n //returning date array like 1-JAN, 2-Feb from between dates\r\n public getMonthsNameArray(start, end) {\r\n\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n let date = new Date(dt)\r\n arr.push(this.month[date.getMonth()] + \"-\" + date.getFullYear());\r\n dt.setMonth(dt.getMonth() + 1);\r\n }\r\n\r\n return arr;\r\n }\r\n\r\n // returning date like 1-JAN from dates\r\n public getMonthsName(date) {\r\n let dt = new Date(date);\r\n return this.month[dt.getMonth()] + \"-\" + dt.getFullYear();\r\n }\r\n\r\n public isSuperUser() {\r\n return JSON.parse(localStorage.getItem(\"user\")).userData.userRoll === \"1\";\r\n }\r\n\r\n /* takes a string phrase and breaks it into separate phrases \r\n no bigger than 'maxLength', breaks are made at complete words.*/\r\n\r\n // public breakAllSentencesInLines(stringArr, maxLength) {\r\n // var splittedArrays = [];\r\n // var that = this;\r\n // stringArr.forEach(function(str, index){\r\n // splittedArrays[index] = that.breakSentenceInLines(str, maxLength);\r\n // });\r\n // return splittedArrays;\r\n // }\r\n\r\n // public breakSentenceInLines(str, maxLength){\r\n // var sections = [];\r\n // var words = str.split(\" \");\r\n // var temp = \"\";\r\n\r\n // words.forEach(function(item, index){\r\n // if(temp.length > 0)\r\n // {\r\n // var concat = temp + ' ' + item;\r\n\r\n // if(concat.length > maxLength){\r\n // sections.push(temp);\r\n // temp = \"\";\r\n // }\r\n // else{\r\n // if(index == (words.length-1))\r\n // {\r\n // sections.push(concat);\r\n // return;\r\n // }\r\n // else{\r\n // temp = concat;\r\n // return;\r\n // }\r\n // }\r\n // }\r\n\r\n // if(index == (words.length-1))\r\n // {\r\n // sections.push(item);\r\n // return;\r\n // }\r\n\r\n // if(item.length < maxLength) {\r\n // temp = item;\r\n // }\r\n // else {\r\n // sections.push(item);\r\n // }\r\n\r\n // });\r\n\r\n // return sections;\r\n // }\r\n}","import {\r\n Component,\r\n OnInit,\r\n Compiler,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport {\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n FormGroup,\r\n} from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport * as moment from 'moment';\r\nimport { ConstantValue } from '../util/constant.config';\r\nimport { Subject } from 'rxjs';\r\nimport { DataTableDirective } from 'angular-datatables';\r\n\r\n@Component({\r\n templateUrl: 'addResource.component.html',\r\n styleUrls: ['addResource.component.css'],\r\n})\r\nexport class AddResourceComponent implements OnInit {\r\n @ViewChild('closeModel', { read: ElementRef }) closeModel: ElementRef;\r\n statusDiv: FormControl = new FormControl();\r\n users: any = {};\r\n apprArry: any[] = [];\r\n status = '';\r\n isDisabled: boolean = false;\r\n isAppr: any;\r\n addUserForm: any;\r\n config: any;\r\n loading: boolean = false;\r\n fetchData: any[] = [];\r\n submitted = false;\r\n userId: any = 0;\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n showHideModel: boolean = true;\r\n skillData: any[] = [];\r\n userUpdatedId: Number = 0;\r\n empCode: any;\r\n resourceName: any;\r\n resourceEmail: any;\r\n typesResource: any = 'Regular';\r\n joinDate: any;\r\n leaveDate: any;\r\n selectedEmail: any = '';\r\n selectedSVEmail: any = '';\r\n selectedUserId: any = '';\r\n resourceManager: any;\r\n resourceManagerEmail: any;\r\n currentRole: any = JSON.parse(localStorage.user).userData.userRoll;\r\n inactiveUserCount = 0;\r\n activeUserCount = 0;\r\n skillRatingData: any[] = [];\r\n towerId: any;\r\n positionList: any = [];\r\n currentPositionList: any = [];\r\n nextPositionList: any = [];\r\n userRoll: number = 0;\r\n userType: any = '';\r\n allPositions: any = [];\r\n userRole: any = JSON.parse(localStorage.user).userData.userRoll;\r\n resetUserId: any = '';\r\n resetUserData: any = [];\r\n nominatedUseristory: any = [];\r\n dtOptions: DataTables.Settings = {};\r\n userNotesForm: FormGroup;\r\n userNotesList: any = [];\r\n userAllNotesList: any = [];\r\n empStatusList = ConstantValue.EmpStatusList;\r\n batchNoList = ConstantValue.BatchNoList;\r\n journeyCompletionDate: any;\r\n trStatusList = ConstantValue.TrStatusList;\r\n curStatus = 2;\r\n columnList = [];\r\n dropdownSettings: IDropdownSettings = {};\r\n selectedItems = [];\r\n dtRendered: any = true;\r\n dtTrigger: Subject = new Subject();\r\n dtElement: DataTableDirective;\r\n importUserForm: FormGroup;\r\n ibuList: any = [];\r\n ibu: any = '';\r\n functionList: any = [];\r\n function: any = '';\r\n selectedIbuId: any = null;\r\n towerList: any = [];\r\n alltowerList: any = [];\r\n selectedTowerId: any;\r\n tower: any = '';\r\n isNextTowerSame: boolean = true;\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private el: ElementRef,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private common: Common,\r\n private render: Renderer2,\r\n private cdr: ChangeDetectorRef,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n if (this.users.userData.userFullName) {\r\n this.loginUserName = this.users.userData.userFullName;\r\n } else {\r\n this.loginUserName = this.users.userData.userName;\r\n }\r\n this.userRoll = this.users.userData.userRoll;\r\n this.users.userFullName = this.users.userData.userFullName.toLowerCase();\r\n this.towerId = this.users.userData.towerId;\r\n }\r\n\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = {\r\n year: currentDate.getFullYear() - 40,\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.initUserNotesForm();\r\n this.columnList = ConstantValue.AddResourceAllColumnList;\r\n }\r\n\r\n ngOnInit() {\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe(() => {\r\n this.render.removeClass(document.body, 'modal-open');\r\n $(document.body).removeClass('modal-open');\r\n $('.modal-backdrop').remove();\r\n });\r\n this.fetchuserData();\r\n this.fetchSkillRatingData();\r\n this.fetchSkillsData();\r\n this.fetchPositions();\r\n this.getAllUserNotes();\r\n\r\n this.disabledFnc();\r\n this.initImportUserForm();\r\n this.getAllIBUInfo();\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n // idField: 'item_id',\r\n idField: 'slug',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n };\r\n this.selectedItems = ConstantValue.AddResourceColumns;\r\n }\r\n\r\n initImportUserForm() {\r\n this.importUserForm = this.formBuilder.group({\r\n userFile: ['', Validators.required],\r\n towerId: [],\r\n });\r\n }\r\n\r\n /**\r\n * Initalize the user Notes form.\r\n */\r\n initUserNotesForm() {\r\n this.userNotesForm = this.formBuilder.group({\r\n userId: ['', Validators.required],\r\n notesId: [''],\r\n userNotes: ['', Validators.required],\r\n });\r\n }\r\n /**\r\n * Submit User Notes Form\r\n * @param formInfo\r\n * @returns\r\n */\r\n onSubmitUserNotes(formInfo) {\r\n if (!formInfo.userNotes) {\r\n localStorage.setItem('errorMsg', 'Please enter user Notes!');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n var userId = JSON.parse(localStorage.getItem('user')).userData.userId;\r\n var userName = JSON.parse(localStorage.getItem('user')).userData\r\n .userFullName;\r\n formInfo.noteUserId = userId;\r\n formInfo.noteUserName = userName;\r\n this.commonService.addUserNotes(formInfo).subscribe(\r\n (data) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Note Added successfully!');\r\n document.getElementById('addNotesPopContainer').click();\r\n this.commonService.showerror();\r\n this.getUserNotes(formInfo.userId);\r\n this.userNotesForm.patchValue({\r\n userNotes: '',\r\n });\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n\r\n document.getElementById('addNotesPopContainer').click();\r\n this.commonService.showerror();\r\n }\r\n );\r\n }\r\n /**\r\n *\r\n */\r\n onEditUserNotes(userInfo) {\r\n this.userNotesForm.get('userId').setValue(userInfo?.userId);\r\n this.getUserNotes(userInfo?.userId);\r\n }\r\n /**\r\n * Get user Notes\r\n */\r\n getUserNotes(userId) {\r\n this.commonService.getUserNotes(userId).subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data) {\r\n this.userNotesList = data;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n /**\r\n * Edit Notes\r\n */\r\n editNotes(notes) {\r\n this.userNotesForm.get('userNotes').setValue(notes?.userNotes);\r\n }\r\n /**\r\n * Add new notes\r\n */\r\n addNewNotes() {\r\n this.userNotesForm.get('userNotes').setValue('');\r\n this.userNotesForm.get('notesId').setValue('');\r\n }\r\n /**\r\n * Get user Notes\r\n */\r\n getAllUserNotes() {\r\n this.commonService.getAllUserNotes().subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data) {\r\n this.userAllNotesList = data;\r\n }\r\n },\r\n (error) => {\r\n console.log('Error', error);\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n /**\r\n * Return Users notes\r\n */\r\n returnUserNotes(userId) {\r\n for (let i = 0; i < this.userAllNotesList.length; i++) {\r\n if (userId == this.userAllNotesList[i].userId) {\r\n return this.userAllNotesList[i].userNotes;\r\n }\r\n }\r\n }\r\n\r\n // /fetch user information data\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService\r\n .fetchSkillRatingData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private initalizeUserForm() {\r\n this.userUpdatedId = 0;\r\n let groupForm = {\r\n empCode: ['', Validators.required],\r\n resourceName: ['', Validators.required],\r\n resourceEmail: ['', Validators.required],\r\n resourceManager: ['', Validators.required],\r\n resourceManagerEmail: ['', Validators.required],\r\n SUPCode: ['', Validators.required],\r\n SLSUPCode: ['', Validators.required],\r\n SLS: ['', Validators.required],\r\n SLSE: ['', Validators.required],\r\n // SLST: ['', Validators.required],\r\n TTA: ['', Validators.required],\r\n\r\n typesResource: new FormControl('Contractor'),\r\n currentPosition: ['', Validators.required],\r\n nextPosition: ['', Validators.required],\r\n joinDate: ['', Validators.required],\r\n leaveDate: new FormControl(null),\r\n empStatus: ['', Validators.required],\r\n batchNo: [''],\r\n journeyCompletionDate: new FormControl(null),\r\n isApproved: [''],\r\n };\r\n this.addUserForm = this.formBuilder.group(groupForm);\r\n this.addUserForm.patchValue({\r\n empStatus: 1,\r\n isApproved: 2,\r\n });\r\n }\r\n\r\n // edit user information\r\n private onEditSubmit(fetchuserData) {\r\n this.isNextTowerSame = true;\r\n if (fetchuserData) {\r\n this.userUpdatedId = fetchuserData.userId;\r\n let groupForm = {\r\n empCode: new FormControl(fetchuserData.empCode),\r\n resourceName: new FormControl(fetchuserData.userName),\r\n resourceEmail: new FormControl(fetchuserData.email),\r\n resourceManager: new FormControl(fetchuserData.resourceManager),\r\n resourceManagerEmail: new FormControl(\r\n fetchuserData.resourceManagerEmail\r\n ),\r\n SUPCode: new FormControl(fetchuserData.SUPCode),\r\n SLSUPCode: new FormControl(fetchuserData.SLSUPCode),\r\n SLS: new FormControl(fetchuserData.SLS),\r\n SLSE: new FormControl(fetchuserData.SLSE),\r\n // SLST: new FormControl(fetchuserData.SLST),\r\n TTA: new FormControl(fetchuserData.TTA),\r\n\r\n typesResource: new FormControl(fetchuserData.typeResource),\r\n currentPosition: new FormControl(fetchuserData.currentPosition),\r\n nextPosition: new FormControl(fetchuserData.nextPosition),\r\n joinDate: new FormControl(\r\n this.common.getJSONObj(fetchuserData.joinDate)\r\n ),\r\n leaveDate: new FormControl(\r\n this.common.getJSONObj(fetchuserData.leaveDate)\r\n ),\r\n empStatus: new FormControl(fetchuserData.empStatus),\r\n batchNo: new FormControl(\r\n fetchuserData.batchNo ? fetchuserData.batchNo : ''\r\n ),\r\n journeyCompletionDate: new FormControl(\r\n this.common.getJSONObj(fetchuserData.journeyCompletionDate)\r\n ),\r\n isApproved: new FormControl(fetchuserData.isApproved),\r\n };\r\n\r\n this.setFieldsData(fetchuserData);\r\n this.curStatus = fetchuserData.isApproved;\r\n this.addUserForm = this.formBuilder.group(groupForm);\r\n }\r\n }\r\n\r\n private showPrompt() {\r\n var that = this;\r\n setTimeout(function () {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Please correctly fill all the required fields'\r\n );\r\n that.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }, 2000);\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n private onEmailClickData(selectedEmail, selectedSVEmail, selectedUserId) {\r\n this.selectedEmail = selectedEmail;\r\n this.selectedSVEmail = selectedSVEmail;\r\n this.selectedUserId = selectedUserId;\r\n }\r\n\r\n private onEmailClick() {\r\n var email = this.selectedEmail;\r\n var svEmail = this.selectedSVEmail;\r\n this.commonService\r\n .sendEmailNiit(\r\n 'sendRatingInvi',\r\n email,\r\n svEmail,\r\n 'true',\r\n 'true',\r\n this.selectedUserId,\r\n this.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Email sent!');\r\n this.commonService.showerror();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private onAllEmailClick() {\r\n var email = this.selectedEmail;\r\n var svEmail = this.selectedSVEmail;\r\n this.commonService\r\n .sendEmailToAll('sendRatingInviToAll')\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Email has been sent to all these resources!'\r\n );\r\n this.commonService.showerror();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchuserData() {\r\n this.loading = true;\r\n var userEmail = '';\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n this.commonService\r\n .getUsersListByPost(\r\n JSON.parse(localStorage.getItem('user')).userData.towerId,\r\n userEmail\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n let userIds = [];\r\n if (data) {\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].userId) {\r\n userIds.push(data[i].userId);\r\n }\r\n this.isAppr = data[i].isApproved;\r\n this.apprArry.push(this.isAppr);\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n this.fetchUserSkillsData(userIds, data);\r\n this.getAllNextPositions(\r\n userIds,\r\n JSON.parse(localStorage.user).userData.towerId\r\n );\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Users Not Found');\r\n this.commonService.showerror();\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchPositions() {\r\n // var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n let towerId = null;\r\n this.commonService\r\n .getAllPositionInfo(towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.positionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n // /fetch user information data\r\n private fetchNextPositions(towerId, positionId = '') {\r\n this.commonService.getAllPositionInfo(towerId).subscribe(\r\n (data) => {\r\n this.nextPositionList = data;\r\n const formTower: any = document.querySelector('#form-next-role');\r\n if (formTower) {\r\n setTimeout(() => {\r\n formTower.value = positionId;\r\n }, 200);\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchCurrentPositions(towerId, positionId = '') {\r\n this.commonService.getAllPositionInfo(towerId).subscribe(\r\n (data) => {\r\n this.currentPositionList = data;\r\n const formTower: any = document.querySelector('#form-current-role');\r\n if (formTower) {\r\n setTimeout(() => {\r\n formTower.value = positionId;\r\n }, 200);\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i = 0; i < this.positionList.length; i++) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n\r\n //fetch user skills data\r\n private fetchUserSkillsData(userIds: any[], userData) {\r\n this.commonService\r\n .fetchAllFunSkills(userIds)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n for (let j = 0; j < userData.length; j++) {\r\n let userSkill = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (userData[j].userId == data[i].userId) {\r\n let skillLevel = data[i].skillLevel;\r\n let skillName = '';\r\n this.skillData.forEach((litem, index) => {\r\n if (litem.skillId == data[i].skillId) {\r\n skillName = litem.skillName;\r\n }\r\n });\r\n userSkill.push({\r\n skillId: data[i].skillId,\r\n skillLevel: skillLevel,\r\n skillName: skillName,\r\n });\r\n }\r\n }\r\n userData[j]['userSkill'] = userSkill;\r\n }\r\n this.fetchData = userData;\r\n this.dtRendered = false;\r\n this.cdr.detectChanges();\r\n this.dtRendered = true;\r\n this.cdr.detectChanges();\r\n this.categoriseLeaveUsers();\r\n this.countActiveAndInactiveUsers();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions(userIds, towerId) {\r\n this.commonService\r\n .getAllNextPositions(userIds, towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //categorise leave users\r\n private categoriseLeaveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (this.fetchData[i].leaveDate) {\r\n let currentDate = new Date();\r\n let userLeaveDate = new Date(this.fetchData[i].leaveDate);\r\n if (currentDate > userLeaveDate) {\r\n this.fetchData[i]['leaveStyle'] = 'red';\r\n }\r\n }\r\n }\r\n }\r\n\r\n // validate resoucre leaving date should be equal or lessthen from current date\r\n private countActiveAndInactiveUsers() {\r\n this.inactiveUserCount = 0;\r\n this.activeUserCount = 0;\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let isFound = false;\r\n //remove user from the list if having leave date less then current date\r\n let currentTime = this.common.getTime(new Date());\r\n if (this.fetchData[i].leaveDate) {\r\n let leavingTime = this.common.getTime(this.fetchData[i].leaveDate);\r\n if (currentTime > leavingTime) {\r\n isFound = true;\r\n }\r\n }\r\n if (isFound) {\r\n this.inactiveUserCount++;\r\n this.fetchData[i]['leaveUserCSS'] = 'leaveUserCSS';\r\n } else {\r\n this.fetchData[i]['leaveUserCSS'] = '';\r\n this.activeUserCount++;\r\n }\r\n }\r\n }\r\n\r\n // suave user information\r\n private onSubmit(userFormDetails) {\r\n if (this.addUserForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n if (!this.validateEmail(userFormDetails.resourceEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild Email id!');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.resourceManagerEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild resource manager email!');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.SLSE)) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Invaild Second Level Supervisor Email!'\r\n );\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (\r\n Number(userFormDetails.currentPosition) ==\r\n Number(userFormDetails.nextPosition)\r\n ) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Current role and Next role should not be same!'\r\n );\r\n this.commonService.showerror();\r\n return;\r\n }\r\n let userSkillData = this.setUserSkillData(userFormDetails, '');\r\n userFormDetails['createdByEmail'] = this.users.userData.emailAddress;\r\n let userInfo = this.isResourceExit(userFormDetails.resourceEmail);\r\n if (userInfo) {\r\n localStorage.setItem('errorMsg', userInfo);\r\n this.commonService.showerror();\r\n return;\r\n }\r\n userFormDetails['towerId'] = this.towerId;\r\n userFormDetails['userRoll'] = this.userRole;\r\n this.commonService\r\n .saveUserData(userFormDetails)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.addUserForm.reset();\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'User successfully added in TR Nominees'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.closeModels();\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n this.fetchuserData();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n }\r\n /**\r\n * On change role check both are same or not.\r\n * @param resourceEmail\r\n */\r\n roleCheck() {\r\n const userFormDetails = this.addUserForm.value;\r\n if (\r\n Number(userFormDetails.currentPosition) ==\r\n Number(userFormDetails.nextPosition)\r\n ) {\r\n this.addUserForm.controls['currentPosition'].setValue('');\r\n this.addUserForm.controls['nextPosition'].setValue('');\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Current role and Next role should not be same!'\r\n );\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n //check user is exits\r\n private isResourceExit(resourceEmail) {\r\n let userInfo = null;\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (resourceEmail == this.fetchData[i].email) {\r\n userInfo =\r\n 'TR Nominee: ' + this.fetchData[i].userName + ' is already exits!';\r\n break;\r\n }\r\n }\r\n return userInfo;\r\n }\r\n\r\n //update user infromation\r\n private onUpdateSubmit(userFormDetails) {\r\n if (this.addUserForm.invalid) {\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.resourceEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild Email id!');\r\n this.closeModels();\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.resourceManagerEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild resource manager email!');\r\n this.closeModels();\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.SLSE)) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Invaild Second Level Supervisor Email!'\r\n );\r\n this.closeModels();\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (\r\n Number(userFormDetails.currentPosition) ==\r\n Number(userFormDetails.nextPosition)\r\n ) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Current role and Next role should not be same!'\r\n );\r\n this.closeModels();\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (userFormDetails != null && this.userUpdatedId > 0) {\r\n userFormDetails['userId'] = this.userUpdatedId;\r\n userFormDetails['joinDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.joinDate\r\n );\r\n userFormDetails['leaveDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.leaveDate\r\n );\r\n userFormDetails['updatedByEmail'] = this.users.userData.emailAddress;\r\n userFormDetails['updatedByName'] = this.users.userData.userFullName;\r\n userFormDetails['journeyCompletionDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.journeyCompletionDate\r\n );\r\n userFormDetails['towerId'] = this.towerId;\r\n\r\n this.commonService\r\n .updateUserData(userFormDetails)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n localStorage.setItem('errorMsg', 'Data Successfully Updated');\r\n localStorage.setItem('isReload', 'true');\r\n this.closeModels();\r\n this.commonService.showerror();\r\n this.fetchuserData();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.closeModels();\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any) {\r\n let userSkillData = [];\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n userSkillData.push({\r\n userId: userId,\r\n skillId: Number(this.skillData[i].skillId),\r\n skillLevel: userFormDetails[this.skillData[i].skillName],\r\n });\r\n }\r\n return userSkillData;\r\n }\r\n\r\n //delete user information\r\n private onDeleteSubmit(userInfo) {\r\n userInfo['deletedByEmail'] = this.users.userData.emailAddress;\r\n userInfo = this.setSkills(userInfo);\r\n this.commonService\r\n .userDeletion(userInfo)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n localStorage.setItem('errorMsg', 'Data Successfully Deleted');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n this.fetchuserData();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set skills information\r\n private setSkills(userInfo) {\r\n let userSkills = userInfo.userSkill;\r\n for (let i = 0; i < userSkills.length; i++) {\r\n if (userSkills[i].skillName) {\r\n userInfo[userSkills[i].skillName] = userSkills[i].skillLevel;\r\n } else if (userSkills[i].skillName) {\r\n userInfo[userSkills[i].skillName] = userSkills[i].skillLevel;\r\n }\r\n }\r\n return userInfo;\r\n }\r\n\r\n //fetch skills data\r\n private fetchSkillsData() {\r\n this.commonService\r\n .fetchSkillData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.skillData = data;\r\n this.initalizeUserForm();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //export resource history data\r\n excelReport() {\r\n let excelExportData = [];\r\n let headers = ['S.No.'];\r\n for (let selItem = 0; selItem < this.selectedItems.length; selItem++) {\r\n headers.push(this.selectedItems[selItem].item_text);\r\n }\r\n\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let data = {};\r\n data[headers[0]] = i + 1;\r\n for (let column = 0; column < this.selectedItems.length; column++) {\r\n let slug = this.selectedItems[column].slug;\r\n if (slug == 'currentPosition' || slug == 'nextPosition') {\r\n data[headers[column + 1]] = this.getPositionName(\r\n this.fetchData[i][slug]\r\n );\r\n } else if (slug == 'empStatus') {\r\n data[headers[column + 1]] = this.getEmpStatus(\r\n this.fetchData[i][slug]\r\n );\r\n } else if (slug == 'isApproved') {\r\n data[headers[column + 1]] = this.commonService.getUserStatus(\r\n this.fetchData[i][slug]\r\n );\r\n } else if (slug == 'userId') {\r\n data[headers[column + 1]] = this.returnUserNotes(\r\n this.fetchData[i][slug]\r\n );\r\n } else if (slug == 'journeyCompletionDate') {\r\n data[headers[column + 1]] = this.fetchData[i][slug]\r\n ? moment(this.fetchData[i][slug]).format('YYYY-MM-DD')\r\n : ' ';\r\n } else {\r\n data[headers[column + 1]] = this.fetchData[i][slug];\r\n }\r\n }\r\n excelExportData.push(data);\r\n }\r\n this.excelService.generateExcel(headers, excelExportData, 'UserList');\r\n }\r\n\r\n private validateEmail(email) {\r\n var re =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n private disabledFnc() {\r\n //console.log(this.statusDiv);\r\n }\r\n /**\r\n * Reset user for renominate if user completed nomitation process(nominationStatus = 2).\r\n */\r\n resetForReNominate() {\r\n const updateData = {\r\n userId: this.resetUserId,\r\n resetUserData: this.resetUserData,\r\n };\r\n this.commonService.resetUserforRenomination(updateData).subscribe(\r\n (data) => {\r\n if (data) {\r\n var userProfileHistory = {\r\n empCode: this.resetUserData.empCode,\r\n userName: this.resetUserData.userName,\r\n typeResource: this.resetUserData.typesResource,\r\n joinDate: this.resetUserData.joinDate,\r\n leaveDate: this.resetUserData.leaveDate,\r\n team: this.resetUserData.team,\r\n SUPCode: this.resetUserData.SUPCode,\r\n SLS: this.resetUserData.SLS,\r\n SLSE: this.resetUserData.SLSE,\r\n SLSUPCode: this.resetUserData.SLSUPCode,\r\n // 'SLST': userData.SLST,\r\n TTA: this.resetUserData.TTA,\r\n currentPosition: this.resetUserData.currentPosition,\r\n nextPosition: Number(this.resetUserData.nextPosition),\r\n email: this.resetUserData.email,\r\n resourceManager: this.resetUserData.resourceManager,\r\n resourceManagerEmail: this.resetUserData.resourceManagerEmail,\r\n empStatus: parseInt(this.resetUserData.empStatus),\r\n batchNo: this.resetUserData.batchNo,\r\n journeyCompletionDate: this.resetUserData.journeyCompletionDate\r\n ? moment(this.resetUserData.journeyCompletionDate).format(\r\n 'YYYY-MM-DD'\r\n )\r\n : null,\r\n isApproved: 3,\r\n createdByEmail: JSON.parse(localStorage.getItem('user')).userData\r\n .emailAddress,\r\n };\r\n\r\n this.commonService\r\n .saveUserProfileHistory(userProfileHistory)\r\n .pipe(first())\r\n .subscribe(\r\n (result) => {},\r\n (error) => {}\r\n );\r\n userProfileHistory.isApproved = 2;\r\n this.commonService\r\n .saveUserProfileHistory(userProfileHistory)\r\n .pipe(first())\r\n .subscribe(\r\n (result) => {},\r\n (error) => {}\r\n );\r\n\r\n const index = this.fetchData.findIndex(\r\n (item) => item.userId == this.resetUserId\r\n );\r\n if (index > -1) {\r\n this.fetchData.splice(index, 1);\r\n }\r\n localStorage.setItem('errorMsg', 'Data Successfully Updated');\r\n this.commonService.showerror();\r\n }\r\n },\r\n (error) => {\r\n console.log('Error in reset user data');\r\n }\r\n );\r\n }\r\n /**\r\n * Set userId for renomination.\r\n */\r\n onResetUserforReNomination(userId, resetUserData) {\r\n if (userId) {\r\n this.resetUserId = userId;\r\n this.resetUserData = resetUserData;\r\n }\r\n }\r\n /**\r\n * On click show user history.\r\n */\r\n onUserHistory(userData) {\r\n const userEmail = userData.email.toLowerCase();\r\n const data = { email: userEmail };\r\n this.nominatedUseristory = [];\r\n this.commonService.getNominatedUserHistory(data).subscribe(\r\n (data) => {\r\n if (data) {\r\n this.nominatedUseristory = data;\r\n }\r\n },\r\n (error) => {\r\n console.log('Error in reset user data');\r\n }\r\n );\r\n }\r\n\r\n getEmpStatus(status) {\r\n let empStatus = 'Active';\r\n if (status == 0) {\r\n empStatus = 'Deactive';\r\n } else if (status == 2) {\r\n empStatus = 'Resigned';\r\n }\r\n return empStatus;\r\n }\r\n\r\n onItemSelect(item: any) {\r\n this.dtRendered = false;\r\n // make sure your template notices it\r\n this.cdr.detectChanges();\r\n // initialize them again\r\n this.dtRendered = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n /**\r\n * On deselect the selected tower.\r\n * @param item\r\n */\r\n onUnselectColumn(item) {\r\n this.dtRendered = false;\r\n // make sure your template notices it\r\n this.cdr.detectChanges();\r\n // initialize them again\r\n this.dtRendered = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n trackColumn(index, column) {\r\n return column ? column.slug : undefined;\r\n }\r\n\r\n onSelectAll(items: any) {\r\n this.dtRendered = false;\r\n // make sure your template notices it\r\n this.cdr.detectChanges();\r\n // initialize them again\r\n this.dtRendered = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onUserImportSubmit(data) {\r\n const formData = new FormData();\r\n formData.append('file', this.importUserForm.get('userFile').value);\r\n formData.append('towerId', this.towerId);\r\n this.commonService.importUserData(formData).subscribe(\r\n (data) => {\r\n console.log('data', data);\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', data.message);\r\n\r\n this.commonService.showerror();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n onFileSelect(event) {\r\n if (event.target.files.length) {\r\n let file = event.target.files[0];\r\n this.importUserForm.get('userFile').setValue(file);\r\n }\r\n }\r\n\r\n private getAllIBUInfo() {\r\n this.loading = true;\r\n this.commonService\r\n .getAllIBUInfo()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.ibuList = data;\r\n this.loading = false;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n public setFieldsData(fetchuserData) {\r\n \r\n this.fetchCurrentPositions(\r\n fetchuserData.towerId,\r\n fetchuserData.positionId\r\n );\r\n\r\n this.commonService\r\n .allInfoPosition(fetchuserData.nextPosition)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length) {\r\n const response = data[0];\r\n this.isNextTowerSame = response.towerId == fetchuserData['towerId'];\r\n this.onChangeIBU(null, response); \r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getTowersListByIbuId(ibuId, towerId, dataValue) {\r\n this.commonService.getTowersListByIbuId(ibuId, null).subscribe(\r\n (data) => {\r\n this.towerList = data;\r\n this.alltowerList = data;\r\n if (dataValue) {\r\n const formTower: any = document.querySelector('#form-tower');\r\n\r\n if (formTower) {\r\n setTimeout(() => {\r\n formTower.value = dataValue.towerId;\r\n }, 200);\r\n }\r\n\r\n this.fetchNextPositions(dataValue.towerId, dataValue.positionId);\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getFunctionListByIbuId(ibuId, dataValue) {\r\n this.functionList = [];\r\n this.commonService.getFunctionListByIbuId(ibuId).subscribe(\r\n (data) => {\r\n this.functionList = data;\r\n if (dataValue) {\r\n const formFunction: any = document.querySelector('#form-function');\r\n console.log({ dataValue, formFunction });\r\n\r\n if (formFunction) {\r\n setTimeout(() => {\r\n formFunction.value = dataValue.functionId;\r\n }, 200);\r\n }\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private onChangeIBU(event, dataValue) {\r\n console.log({ dataValue });\r\n debugger;\r\n let ibu = dataValue ? dataValue.ibuId : event.target.value;\r\n\r\n if (dataValue) {\r\n const formIbu: any = document.querySelector('#form-ibu');\r\n\r\n if (formIbu) {\r\n formIbu.value = dataValue.ibuId;\r\n }\r\n }\r\n\r\n this.resetFunctionValue();\r\n this.resetTowerValue();\r\n if (ibu) {\r\n this.getFunctionListByIbuId(ibu, dataValue);\r\n this.getTowersListByIbuId(ibu, 0, dataValue);\r\n } else {\r\n this.resetFunctionList();\r\n this.resetTowerList();\r\n }\r\n }\r\n\r\n private onChangeFunction(event) {\r\n let functionId = event.target.value;\r\n this.resetTowerValue();\r\n if (functionId) {\r\n this.towerList = this.alltowerList.filter(\r\n (item) => item.functionId == functionId\r\n );\r\n } else {\r\n this.towerList = this.alltowerList;\r\n }\r\n }\r\n private onChangeTower(event: any) {\r\n this.fetchNextPositions(event.target.value);\r\n }\r\n\r\n private resetFunctionValue() {\r\n this.function = '';\r\n }\r\n\r\n private resetTowerValue() {\r\n this.tower = '';\r\n }\r\n\r\n private resetFunctionList() {\r\n this.functionList = [];\r\n }\r\n\r\n private resetTowerList() {\r\n this.towerList = [];\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
TR Nominee Detail Form
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Supervisor 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
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Supervisor Email\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Current Role\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\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 class=\"btn hvr-bounce-to-top\"\r\n title=\"Update\"\r\n (click)=\"onUpdateSubmit(addUserForm.value)\"\r\n [disabled]=\"addUserForm.invalid\"\r\n >\r\n Save\r\n \r\n \r\n Add TR Nominee\r\n \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Notes
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n Add Remark\r\n \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 From\r\n \r\n Remark\r\n \r\n Create Date\r\n
\r\n {{ i + 1 }}\r\n \r\n
{{ notes?.noteUserName }}
\r\n
\r\n
{{ notes?.userNotes }}
\r\n
\r\n
\r\n {{ notes?.createDate | date : \"yyyy-M-dd h:mm a\" }}\r\n
\r\n
No Results 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
Email Confirmation
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n Are you sure you want to send the mail?\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Yes\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 Confirmation
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n Are you sure you want to send the emails to all?\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Yes\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Re-Nomination Confirmation
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n Are you sure you want to re-nominate this user?\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Yes\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
Nominated User 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 \r\n \r\n \r\n \r\n
S.No.Emp CodeEmp NameEmail idCurrent RoleTarget RoleStatusNominated At
\r\n
\r\n {{ nominatedUseristory.indexOf(userHistory) + 1 }}\r\n
\r\n
\r\n
{{ userHistory.empCode }}
\r\n
\r\n
{{ userHistory.userName }}
\r\n
\r\n
{{ userHistory.email }}
\r\n
\r\n
\r\n {{ getPositionName(userHistory.currentPosition) }}\r\n
\r\n
\r\n
{{ getPositionName(userHistory.nextPosition) }}
\r\n
\r\n \r\n {{\r\n commonService.getUserStatus(userHistory.isApproved)\r\n }}\r\n \r\n \r\n
\r\n {{\r\n userHistory.approvedAt ? userHistory.approvedAt : \"NA\"\r\n }}\r\n
\r\n
\r\n User History Not 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
Import Nominee Data
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Submit\r\n \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

TR Nominees

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Add TR Nominee\r\n \r\n \r\n Excel Export\r\n \r\n \r\n Send Email to all\r\n \r\n \r\n Import Nominee Data\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Columns\r\n \r\n
\r\n \r\n \r\n \r\n S.No.\r\n \r\n {{ column?.item_text }}\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
Column List
\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 Columns\r\n \r\n
\r\n \r\n \r\n \r\n S.No.\r\n \r\n {{ column?.item_text }}\r\n \r\n Action\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ fetchData.indexOf(fetchuserData) + 1 }}\r\n
\r\n \r\n \r\n \r\n \r\n {{ getPositionName(fetchuserData[column.slug]) }}\r\n
\r\n \r\n {{ getEmpStatus(fetchuserData[column.slug]) }}\r\n
\r\n \r\n {{ fetchuserData[column.slug] | date : \"yyyy-MM-dd\" }}\r\n \r\n \r\n {{ commonService.getUserStatus(apprArry[i]) }}\r\n \r\n \r\n {{ commonService.getUserStatus(apprArry[i]) }}\r\n \r\n \r\n {{ returnUserNotes(fetchuserData.userId) }}\r\n \r\n \r\n {{ fetchuserData[column.slug] }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n
\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} from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AppConfig } from '../util';\r\n\r\n\r\n@Injectable()\r\nexport class MailService {\r\n private baseURL: any = null;\r\n constructor(private http: HttpClient, appConfig: AppConfig) {\r\n this.baseURL = appConfig.getServerURL();\r\n }\r\n\r\n sendMail(toEmails: any, attendeesEmails: any, assignuserData: any, userData: any) {\r\n return this.http.post(this.baseURL + '/sendEmail', { toEmails: toEmails, attendeesEmails: attendeesEmails, assignuserData: assignuserData, userData: userData })\r\n .pipe(map(res => {\r\n if (res && res.data) {\r\n }\r\n return res.data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { AppConfig } from '../util';\r\nimport { Router } from '@angular/router';\r\nimport { LoginErrorComponent } from '../confirm/loginError';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CommonService {\r\n private baseURL: any = null;\r\n constructor(\r\n private http: HttpClient,\r\n private modalService: MatDialog,\r\n private router: Router,\r\n private appConfig: AppConfig\r\n ) {\r\n this.baseURL = appConfig.getServerURL();\r\n }\r\n\r\n public showerror() {\r\n // this.dialogService.addDialog(ErrorComponent, {\r\n // title: 'Confirm title',\r\n // message: 'Confirm message'\r\n // })\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' },\r\n });\r\n }\r\n\r\n public showLoginError() {\r\n // this.dialogService.addDialog(ErrorComponent, {\r\n // title: 'Confirm title',\r\n // message: 'Confirm message'\r\n // })\r\n const modal = this.modalService.open(LoginErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' },\r\n });\r\n }\r\n\r\n // authentication with active directory credentials\r\n public login(username: string, password: string, loginas: string, ipAddress) {\r\n return this.http\r\n .post(this.baseURL + 'login', {\r\n username: username,\r\n password: password,\r\n loginas: loginas,\r\n ip: ipAddress,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // remove local storage data and forward to login page\r\n public logout() {\r\n localStorage.removeItem('data');\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('errorMsg');\r\n localStorage.removeItem('cepData');\r\n localStorage.removeItem('cepUserList');\r\n localStorage.removeItem('userLogsData');\r\n localStorage.removeItem('userList');\r\n localStorage.removeItem('stakeHolder');\r\n localStorage.removeItem('userDetails');\r\n localStorage.removeItem('formDetails');\r\n localStorage.removeItem('csd');\r\n localStorage.removeItem('selectedMonth');\r\n this.router.navigate(['/login']);\r\n }\r\n /**\r\n * Get Client IP Address\r\n */\r\n public getIPAddress() {\r\n return this.http.get('https://api.ipify.org/?format=json');\r\n }\r\n // Get users which are having leaving date >= current date\r\n public getCurrentAvailableUsers() {\r\n return this.http\r\n .post(this.baseURL + 'getCurrentAvailableUsers', {})\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get skills List from skill Master\r\n public getSkillDetails(): Observable {\r\n return this.http.get(this.baseURL + 'getSkillDetails').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n //Get jira ticket status list\r\n public getJIRATicketStatusList(\r\n searchCSDNo: string,\r\n username: string,\r\n password: string,\r\n status: string\r\n ) {\r\n return this.http\r\n .post(this.baseURL + 'getUsersAndToBePlanned', {\r\n searchCSDNo: searchCSDNo,\r\n username: username,\r\n password: password,\r\n status: status,\r\n })\r\n .pipe(\r\n map((res) => {\r\n if (res && res.data) {\r\n }\r\n return res.data[0].filteredIssues;\r\n })\r\n );\r\n }\r\n\r\n //Get selected ticket total planned hours\r\n public getSelectedTicketPlannedCount(selectedValue: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getSelectedTicketPlannedCount', {\r\n csdno: selectedValue,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n //Get users planned data\r\n public getUserPlannedData(\r\n selectedValue: any,\r\n startdate: any,\r\n enddate: any\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserPlannedData', {\r\n csdno: selectedValue,\r\n startdate: startdate,\r\n enddate: enddate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get user skill by using skill id\r\n public getUserSkillBySkillId(skillId: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserSkillBySkillId', { skillId: skillId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get HTML users details\r\n public getHtmlUsersDetails(): Observable {\r\n return this.http.get(this.baseURL + 'getHtmlUsersDetails').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get storyline users details\r\n public getStorylineUsersDetails(): Observable {\r\n return this.http.get(this.baseURL + 'getStorylineUsersDetails').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get lectora user details\r\n public getLectoraUsersDetails(): Observable {\r\n return this.http.get(this.baseURL + 'getLectoraUsersDetails').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Booking data for reduce hours\r\n public getBookings(formData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getBookings', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Booking data for reduce hours\r\n public getUserBookingData(formData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserBookingData', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Booking data for reduce hours\r\n public getBookingData(formData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getBookingData', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Booking data for reduce hours\r\n public updateBookingHours(bookingData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateBookingHours', {\r\n bookingData: bookingData,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all the users information list\r\n public getAllUsers(startDate) {\r\n return this.http\r\n .post(this.baseURL + 'getAllUsers', { startDate: startDate })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // booked user\r\n public addBookedUser(\r\n changeCSDStatus: any,\r\n selectedCSD: any,\r\n currentCSDStatus: any,\r\n userBookingData: any,\r\n updatedUserData: any\r\n ) {\r\n return this.http\r\n .post(this.baseURL + 'addBookedUser', {\r\n changeCSDStatus: changeCSDStatus,\r\n cSDNo: selectedCSD,\r\n cSDStatus: currentCSDStatus,\r\n bookedUsers: userBookingData,\r\n updatedUserData: updatedUserData,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // delete user booking data\r\n public deleteUserData(\r\n deletedUser: any,\r\n selectedCSDNo,\r\n deletedUserList\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'deleteBookedUser', {\r\n deletedUser: deletedUser,\r\n selectedCSDNo: selectedCSDNo,\r\n deletedUserList: deletedUserList,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get CSD info and generate consolidated report\r\n public getCEPReport(\r\n username: string,\r\n password: string,\r\n startDate: String,\r\n endDate: String,\r\n filterName: String\r\n ) {\r\n return this.http\r\n .post(this.baseURL + 'CEPReport', {\r\n username: username,\r\n password: password,\r\n startDate: startDate,\r\n endDate: endDate,\r\n filterName: filterName,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // generate user logged data\r\n public getuserLogsReport(\r\n username: string,\r\n password: string,\r\n startDate: String,\r\n endDate: String,\r\n filterName: String\r\n ) {\r\n return this.http\r\n .post(this.baseURL + 'userLogs', {\r\n username: username,\r\n password: password,\r\n startDate: startDate,\r\n endDate: endDate,\r\n filterName: filterName,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // Get booked CSD inforamation data based on user\r\n public getUserTaskDetail(username: string, password: string) {\r\n return this.http\r\n .post(this.baseURL + 'getUsersAndToBePlanned', {\r\n username: username,\r\n password: password,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get list of all CSD\r\n public getAllCSDs(startdate: any, enddate: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllCSDList', {\r\n startdate: startdate,\r\n enddate: enddate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all CSD clinet name from JIRA\r\n public getAllCSDClinetNameFromJIRA(\r\n csdsStr,\r\n username,\r\n password,\r\n noOfCSD\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllCSDClinetNameFromJIRA', {\r\n csdsStr: csdsStr,\r\n username: username,\r\n password: password,\r\n noOfCSD: noOfCSD,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save user data\r\n public saveData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'addWorkallocation', formDetails)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save applicants data\r\n public saveApplicantsData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'addApplicant', { formDetails: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get workLoad data\r\n public getworkLoadData(formDetails: any) {\r\n return this.http.post(this.baseURL + 'workload', formDetails).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save user data\r\n public saveUserData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'addResouce', { formDetails: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // // save applicants data\r\n // public saveApplicantsData(formDetails: any) {\r\n // return this.http.post(this.baseURL + 'addApplicant', { formDetails: formDetails })\r\n // .pipe(map(res => {\r\n // return res.data;\r\n // }))\r\n // }\r\n\r\n // delete user information\r\n public userDeletion(userInfo: any) {\r\n return this.http\r\n .post(this.baseURL + 'deleteUser', { userInfo: userInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update user information\r\n public updateUserData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'updateUser', { formData: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update user skill information\r\n public updationResouceSkills(formDetails: any, updateSkillSetData: any) {\r\n return this.http\r\n .post(this.baseURL + 'updationResouceSkills', {\r\n formData: formDetails,\r\n updateSkillSetData: updateSkillSetData,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get All users list\r\n public getUsersList(): Observable {\r\n return this.http.get(this.baseURL + 'fetchUser').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get All users list by post\r\n public getUsersListByPost(towerId?, supervisorEmail?): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchUser', {\r\n towerId: towerId,\r\n supervisorEmail: supervisorEmail\r\n ? supervisorEmail.toLowerCase()\r\n : undefined,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get saved user data\r\n public fetchUserData(userId, towerId, supervisorEmail): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchUser', {\r\n userId: userId,\r\n towerId: towerId,\r\n supervisorEmail: supervisorEmail.toLowerCase(),\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get saved user data\r\n public getBehDataForReport(): Observable {\r\n return this.http.post(this.baseURL + 'getBehDataForReport', {}).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get saved user data\r\n public getFunDataForReport(): Observable {\r\n return this.http.post(this.baseURL + 'getFunDataForReport', {}).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch all functional skills\r\n public fetchAllFunSkills(userIds: any[]): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchAllSkills', { userIds: userIds })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch all skills\r\n public fetchAllBehSkills(userIds: any[]): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchAllBehSkills', { userIds: userIds })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch skill data\r\n public fetchSkillData(): Observable {\r\n return this.http.get(this.baseURL + 'fetchSkillData').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch skill data\r\n public fetchSkillDataPost(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchSkillDataPost', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch skill data\r\n public fetchBehSkillData(): Observable {\r\n return this.http.get(this.baseURL + 'fetchBehSkillData').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch skill data\r\n public fetchBehSkillDataPost(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchBehSkillDataPost', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save skills data\r\n public saveSkillsData(userSkillData, createdByEmail) {\r\n return this.http\r\n .post(this.baseURL + 'saveSkillsData', {\r\n createdByEmail: createdByEmail,\r\n userSkillData: userSkillData,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all user list\r\n public getAllUserList() {\r\n return this.http.get(this.baseURL + 'getAllUserList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get utilization resource data\r\n public getUtilizationResource(startDate, endDate) {\r\n return this.http\r\n .post(this.baseURL + 'utilizationResource', {\r\n startDate: startDate,\r\n endDate: endDate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get booked utilization resource data\r\n public getBookedUtilizationResource(startDate, endDate) {\r\n return this.http\r\n .post(this.baseURL + 'bookedUtilizationResource', {\r\n startDate: startDate,\r\n endDate: endDate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get resource history information\r\n public getResourcesHistory(startDate, endDate) {\r\n return this.http\r\n .post(this.baseURL + 'getResourcesHistory', {\r\n startDate: startDate,\r\n endDate: endDate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get resource skills history information\r\n public getResourcesSkillHistory(selectedUserId) {\r\n return this.http\r\n .post(this.baseURL + 'getResourcesSkillHistory', {\r\n selectedUserId: selectedUserId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get resource beh skills history information\r\n public getResourcesBehSkillHistory(selectedUserId) {\r\n return this.http\r\n .post(this.baseURL + 'getResourcesBehSkillHistory', {\r\n selectedUserId: selectedUserId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get intervention list\r\n public getInterventionList(skillId?: any): Observable {\r\n return this.http.get(this.baseURL + 'getInterventions').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get intervention list\r\n public getUsersInterventionList(): Observable {\r\n return this.http.get(this.baseURL + 'getUsersInterventionList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // save user interventions\r\n public saveUserInterventions(interventions) {\r\n return this.http\r\n .post(this.baseURL + 'saveUserIntervention', {\r\n interventions: interventions,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // save user interventions\r\n public getUserInterventions(userId) {\r\n return this.http\r\n .post(this.baseURL + 'getUserInterventions', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save user data\r\n public saveSkillRatingData(\r\n skillRatingData: any,\r\n currentUserSkill: any,\r\n isFunctional: any,\r\n towerId = null\r\n ) {\r\n if (isFunctional) {\r\n return this.http\r\n .post(this.baseURL + 'saveSkillRatingData', {\r\n skillRating: skillRatingData,\r\n currentUserSkill: currentUserSkill,\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(this.baseURL + 'saveBehSkillRatingData', {\r\n skillRating: skillRatingData,\r\n currentUserSkill: currentUserSkill,\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Get saved user data\r\n public fetchSkillRatingData(): Observable {\r\n return this.http.get(this.baseURL + 'getSkillRatingList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all IBU Info\r\n public getAllIBUInfo(): Observable {\r\n return this.http.get(this.baseURL + 'getAllIBUInfo').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all IBU Info\r\n public getAllIBUInfoByIbuId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllIBUInfoByIbuId', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // update IBU Info\r\n public updateIBUInfo(ibuInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateIBUInfo', { ibuInfo: ibuInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save ibu info\r\n public saveIBUInfo(ibuInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveIBUInfo', { ibuInfo: ibuInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get users list api call\r\n public getTowerInfo(towerId, isFatchAll): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getTowerInfo', {\r\n towerId: towerId,\r\n isFatchAll: isFatchAll,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get users list api call\r\n public getTowerInfoByIbuId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getTowerInfoByIbuId', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // Get towers list\r\n public getTowersListByIbuId(ibuId, functionId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getTowersListByIbuId', {\r\n ibuId: ibuId,\r\n functionId: functionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get towers info\r\n public getTowerList(): Observable {\r\n return this.http.get(this.baseURL + 'getTowerList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get position list\r\n public getPositionList(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getPositionList', { towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get training list\r\n public getTrainingList(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getTrainingList', { towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save tower Info\r\n public saveTowerInfo(towerInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveTowerInfo', { towerInfo: towerInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update tower Info\r\n public updateTowerInfo(towerInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateTowerInfo', { towerInfo: towerInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get management users list\r\n public getManagementUsersList(): Observable {\r\n return this.http.get(this.baseURL + 'getManagementUsersList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get management users list use by towerId\r\n public getManagementUsersListByTowerId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getManagementUsersListByTowerId', {\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save management users Info\r\n public saveManagementUserInfo(managementUserInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveManagementUserInfo', {\r\n managementUserInfo: managementUserInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update management users Info\r\n public updateManagementUserInfo(managementUserInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateManagementUserInfo', {\r\n managementUserInfo: managementUserInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all user role list\r\n public getAllUserRoleList(): Observable {\r\n return this.http.get(this.baseURL + 'getAllUserRoleList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get modules config info\r\n public getModulesConfigInfo(): Observable {\r\n return this.http.get(this.baseURL + 'getModulesConfigList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get modules config info by tower id\r\n public getModulesConfigInfoBytowerId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getModulesConfigInfoBytowerId', {\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save module config info\r\n public saveModuleConfigInfo(moduleConfig): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveModuleConfig', {\r\n moduleConfig: moduleConfig,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update module config info\r\n public updateModuleConfigInfo(moduleConfig): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateModuleConfig', {\r\n moduleConfig: moduleConfig,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get modules config info\r\n public getModuleConfigInfo(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getModuleConfigInfo', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Super users details\r\n public getSuperUserInfo(userName): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getSuperUserInfo', { userName: userName })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Super users list\r\n public getSuperUserList(): Observable {\r\n return this.http.get(this.baseURL + 'getSuperUserList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save super info\r\n public saveSuperUserInfo(superUserInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveSuperUserInfo', {\r\n superUserInfo: superUserInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update super user info\r\n public updationSuperUserInfo(superUserInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updationSuperUserInfo', {\r\n superUserInfo: superUserInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all tower location infomation\r\n public getAllTowerLocationInfo(): Observable {\r\n return this.http.get(this.baseURL + 'getAllTowerLocationInfo').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save accounts Info\r\n public saveTowerLocationInfo(towerLocationInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveTowerLocationInfo', {\r\n towerLocationInfo: towerLocationInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update accounts info\r\n public updateTowerLocationInfo(towerLocationInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateTowerLocationInfo', {\r\n towerLocationInfo: towerLocationInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get report email management config info\r\n public getReportEmailManagementConfigInfo(): Observable {\r\n return this.http.get(this.baseURL + 'getReportEmailInfoList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get modules config info by tower id\r\n public getReportEmailManagementConfigInfoBytowerId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getReportEmailInfoByTowerId', {\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save report email config info\r\n public saveReportEmailConfigInfo(reportEmailConfig): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveReportEmailConfig', {\r\n reportEmailConfig: reportEmailConfig,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update report email config info\r\n public updateReportEmailConfigInfo(reportEmailConfig): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateReportEmailConfig', {\r\n reportEmailConfig: reportEmailConfig,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save functional skill\r\n public saveFunSkill(ibuInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveFunSkill', { ibuInfo: ibuInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all functional skills\r\n public getAllFunSkills(): Observable {\r\n return this.http.get(this.baseURL + 'getAllFunSkills').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all functional skills\r\n public postAllFunSkills(towerId?, positionId?): Observable {\r\n return this.http\r\n .post(this.baseURL + 'postAllFunSkills', {\r\n towerId: towerId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update functional skills\r\n public updateFunSkill(formInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateFunSkill', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save Behavioral Skill\r\n public saveBehSkill(ibuInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveBehSkill', { ibuInfo: ibuInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all behavioral skills\r\n public getAllBehSkills(): Observable {\r\n return this.http.get(this.baseURL + 'getAllBehSkills').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all behavioral skills\r\n public postAllBehSkills(towerId, positionId?): Observable {\r\n return this.http\r\n .post(this.baseURL + 'postAllBehSkills', {\r\n towerId: towerId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n public getAllBehRatingsForUser(towerId, userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllBehRatingsForUser', {\r\n towerId: towerId,\r\n userId: userId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n public getAllBehSelfRatingsForUser(towerId, userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllBehSelfRatingsForUser', {\r\n towerId: towerId,\r\n userId: userId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all behavioral skills\r\n public getAllFunRatingsForUser(towerId, userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllFunRatingsForUser', {\r\n towerId: towerId,\r\n userId: userId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all behavioral skills\r\n public getAllFunSelfRatingsForUser(towerId, userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllFunSelfRatingsForUser', {\r\n towerId: towerId,\r\n userId: userId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update behavioral skills\r\n public updateBehSkill(formInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateBehSkill', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get user skill rating information by user Id\r\n public getUserFunSkillRatingInfo(\r\n userId: any[],\r\n towerId,\r\n positionId\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserSkillRatingInfo', {\r\n userId: userId,\r\n towerId: towerId,\r\n positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get user skill rating information by user Id\r\n public getUserBehSkillRatingInfo(\r\n userId: any[],\r\n towerId,\r\n positionId\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserBehSkillRatingInfo', {\r\n userId: userId,\r\n towerId: towerId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save Skill Rating\r\n public saveSkillRating(formInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveSkillRating', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update Skill Rating\r\n public updateSkillRating(formInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateSkillRating', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all position info\r\n public getAllPositionInfo(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllPositions', { towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save position info\r\n public savePositionInfo(position): Observable {\r\n return this.http\r\n .post(this.baseURL + 'savePosition', { position: position })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update position info\r\n public updatePositionInfo(position): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updatePosition', { position: position })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all position info\r\n public fetchRoles(): Observable {\r\n return this.http.get(this.baseURL + 'getAllRoles').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save position info\r\n public saveRole(position): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveRole', { role: position })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update position info\r\n public updateRole(position): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateRole', { role: position })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Target Role\r\n public getNextPosition(userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getNextPosition', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Target Role\r\n public allInfoPosition(positionId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'allInfoPosition', { positionId: positionId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Target Role\r\n public getAllNextPositions(userIds, towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllNextPositions', {\r\n userIds: userIds,\r\n towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n public getAllNextPositions2(userIds): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllNextPositions2', { userIds: userIds })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Send Email\r\n public sendEmailNiit(\r\n emailType,\r\n toEmail,\r\n ccEmail,\r\n isenabledBeh,\r\n isenabledFun,\r\n userId,\r\n towerId\r\n ): Observable {\r\n console.log('>>>>>>>>>>>>sendEmailNiit');\r\n return this.http\r\n .post(this.baseURL + 'sendEmailNiit', {\r\n emailType,\r\n toEmail: toEmail.toLowerCase(),\r\n ccEmail: ccEmail.toLowerCase(),\r\n isenabledBeh,\r\n isenabledFun,\r\n userId,\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Send Email to all\r\n public sendEmailToAll(type): Observable {\r\n console.log('sendEmailToAll');\r\n var towerId = JSON.parse(localStorage.getItem('user')).userData.towerId;\r\n return this.http\r\n .post(this.baseURL + 'sendEmailToAll', { type, towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n //shruti - 8/6/2020\r\n //Nominee Api\r\n //Get user details\r\n public getAUser(formDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAUser', { formDetails: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n //get Resouces for all nominated users\r\n public getAllResoucesForTower(formDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllResoucesForTower', {\r\n formDetails: formDetails,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // hr can approve and disaprove the nominated user request\r\n public approveDisapprove(formDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'approveDisapprove', {\r\n formDetails: formDetails,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // insert status history\r\n public statusHistoryData(formStatusDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'statusHistoryData', {\r\n formStatusDetails: formStatusDetails,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n public userNewNominee(formDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'userNewNominee', { formDetails: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // Get user behavoral skill\r\n public getBehUserSkill(postData) {\r\n return this.http\r\n .post(this.baseURL + 'getBehSkillsBytowerPosition', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // Get user behavoral skill\r\n public getFunUserSkill(postData) {\r\n return this.http\r\n .post(this.baseURL + 'getFunSkillsBytowerPosition', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * For reset user for renomination.\r\n */\r\n resetUserforRenomination(userData) {\r\n return this.http\r\n .post(this.baseURL + 'resetUserForRenomination', userData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get function list by IBU ID\r\n */\r\n public getFunctionListByIbuId(ibuId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getFunctionsListByIbuId', { ibuId: ibuId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get nominated user istory by email.\r\n */\r\n getNominatedUserHistory(data) {\r\n return this.http\r\n .post(this.baseURL + 'nominatedUserHistory', data)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get Beh. Competency data by tower Id.\r\n */\r\n public getBehDataByTowerIdReport(postData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getBehCompDataByTowerId', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get Fun. Competency data by tower Id.\r\n */\r\n public getFunDataByTowerIdReport(postData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getFunCompDataByTowerId', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get Beh. Competency data by tower Id.\r\n */\r\n public getBehDataByTowerIdReportForStatus(postData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getBehCompDataByTowerIdForStatus', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get Fun. Competency data by tower Id.\r\n */\r\n public getFunDataByTowerIdReportForStatus(postData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getFunCompDataByTowerIdForStatus', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Fetch users For Report\r\n */\r\n public getUsersForReportByTowerIdsArr(postData): Observable {\r\n return this.http.post(this.baseURL + 'usersForReport', postData).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // =====For Skill Matrix ====\r\n /**\r\n * Save skill matrix data\r\n */\r\n public addSkillMatrixUserData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'addSkillMatrixUser', {\r\n formDetails: formDetails,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get the skill matrix user list.\r\n */\r\n public getSkillMatrixUsers(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getSkillMatrixUsers', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Update user skill of skill matrix\r\n */\r\n userSkillInfo(formInfo: any) {\r\n return this.http\r\n .post(this.baseURL + 'updateUserSkill', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get the skill matrix user skill\r\n */\r\n getSkillMatrixUserSkill(userId) {\r\n return this.http\r\n .post(this.baseURL + 'getSkillMatrixUserSkill', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get the user competency by targetRoleId\r\n */\r\n getUserCompetency(targetRoleId) {\r\n return this.http\r\n .post(this.baseURL + 'getUserCompetency', {\r\n targetRoleId: targetRoleId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save function competency of skill matrix.\r\n */\r\n saveFunSkillRating(formData) {\r\n return this.http\r\n .post(this.baseURL + 'saveFunSkillRatingSm', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get User saved skill rating data.\r\n */\r\n getUserSavedFunRatingData(userId) {\r\n return this.http\r\n .post(this.baseURL + 'userSavedFunRatingData', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get the user Beh competency by targetRoleId\r\n */\r\n getUserBehCompetency(targetRoleId) {\r\n return this.http\r\n .post(this.baseURL + 'getUserBehCompetency', {\r\n targetRoleId: targetRoleId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save behavioral competency of skill matrix.\r\n */\r\n saveBehSkillRating(formData) {\r\n return this.http\r\n .post(this.baseURL + 'saveBehSkillRatingSm', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get User saved beh. skill rating data.\r\n */\r\n getUserSavedBehRatingData(userId) {\r\n return this.http\r\n .post(this.baseURL + 'userSavedBehRatingData', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get user functionl rating history\r\n */\r\n getUserFunSkillRatinghistory(userId, positionId) {\r\n return this.http\r\n .post(this.baseURL + 'userFunSkillRatinghistory', {\r\n userId: userId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get user Beh. rating history\r\n */\r\n getUserBehSkillRatinghistory(userId, positionId) {\r\n return this.http\r\n .post(this.baseURL + 'userBehSkillRatinghistory', {\r\n userId: userId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save user notes\r\n */\r\n addUserNotes(formData) {\r\n return this.http\r\n .post(this.baseURL + 'addUserNotes', { formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save user notes\r\n */\r\n getUserNotes(userId) {\r\n return this.http.post(this.baseURL + 'getUserNotes', { userId }).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save user notes\r\n */\r\n getAllUserNotes(userId = null) {\r\n return this.http\r\n .post(this.baseURL + 'getAllUserNotes', { userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n getUserStatus(status) {\r\n let trStatus = 'Pending';\r\n if (status == 0) {\r\n trStatus = 'Rejected';\r\n } else if (status == 1) {\r\n trStatus = 'Approved';\r\n } else if (status == 2) {\r\n trStatus = 'Not Initiated';\r\n } else if (status == 3) {\r\n trStatus = 'Closed';\r\n } else if (status == 4) {\r\n trStatus = 'Not Promoted';\r\n } else if (status == 5) {\r\n trStatus = 'Promoted';\r\n } else if (status == 6) {\r\n trStatus = 'Continued';\r\n } else if (status == 7) {\r\n trStatus = 'Submitted'; // Nominated\r\n }\r\n return trStatus;\r\n }\r\n getUserDetail(userId) {\r\n return this.http\r\n .post(this.baseURL + 'getUserDetail', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n saveUserProfileHistory(formData) {\r\n return this.http\r\n .post(this.baseURL + 'saveUserProfileHistory', { formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n public importUserData(userFile: any): Observable {\r\n return this.http.post(this.baseURL + 'userUpload', userFile).pipe(\r\n map((res) => {\r\n return res;\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './managementusers.component.html', styleUrls: ['./managementusers.component.css'] })\r\nexport class ManagementUsersComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', { read: ElementRef }) closeModel: ElementRef;\r\n users: any = {};\r\n managementUserForm: any;\r\n config: any;\r\n managementUserInfoList: any[] = [];\r\n towerInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n imageURL = \"https://i0.wp.com/www.winhelponline.com/blog/wp-content/uploads/2017/12/user.png?fit=256%2C256&quality=100&ssl=1\";\r\n\r\n userRoles: any[] = [];\r\n isSuperAdmin: any = false;\r\n isHrUser: any = false;\r\n ibuList: any = [];\r\n checkedIbuList: any = [];\r\n selectedUserIbu: any = [];\r\n updatedIbuList: any = [];\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = this.users.userData.imageURL;\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n // this.allowToSeeProjectAndAccountBULevel = this.users.userData.allowToSeeProjectAndAccountBULevel;\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n if (this.common.isSuperUser()) {\r\n this.isSuperAdmin = true;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.getIbuList();\r\n this.initUserInfo();\r\n this.initialization();\r\n }\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n this.getAllManagementUsersInfo();\r\n this.getAllTowsersInfo();\r\n this.getAllUserRoleList();\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n if (this.superUserType == \"super\") {\r\n this.managementUserForm = this.formBuilder.group({\r\n userFullName: ['', Validators.required],\r\n userName: ['', Validators.required],\r\n userEmail: ['', Validators.required],\r\n userRoll: new FormControl(\"Select Role\"),\r\n userStatus: new FormControl(\"User Status\"),\r\n });\r\n } else {\r\n this.managementUserForm = this.formBuilder.group({\r\n userFullName: ['', Validators.required],\r\n userName: ['', Validators.required],\r\n userEmail: ['', Validators.required],\r\n userRoll: new FormControl(\"Select Role\"),\r\n ibuId: new FormControl([]),\r\n userStatus: new FormControl(\"User Status\"),\r\n });\r\n }\r\n\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(managementUser) {\r\n this.initUserInfo();\r\n this.selectedUserIbu = (managementUser.ibuId) ? managementUser.ibuId.split(',') : [];\r\n this.checkedIbuList = this.selectedUserIbu;\r\n for (let i = 0; i < this.updatedIbuList.length; i++) {\r\n const index = this.selectedUserIbu.findIndex(x => Number(x) == this.updatedIbuList[i].ibuId);\r\n if (index != -1) {\r\n this.updatedIbuList[i].isChecked = true;\r\n } else {\r\n this.updatedIbuList[i].isChecked = false;\r\n }\r\n }\r\n if (managementUser.userRoll == 3 || managementUser.userRoll == 7) {\r\n this.isHrUser = true;\r\n } else {\r\n this.isHrUser = false;\r\n }\r\n this.managementUserForm = this.formBuilder.group({\r\n userFullName: new FormControl(managementUser.userFullName),\r\n userName: new FormControl(managementUser.userName),\r\n userEmail: new FormControl(managementUser.userEmail),\r\n userRoll: new FormControl(managementUser.userRoll),\r\n ibuId: new FormControl(managementUser.ibuId),\r\n userId: new FormControl(managementUser.userId),\r\n userStatus: new FormControl(managementUser.userStatus),\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n //Get all accounts info\r\n private getAllManagementUsersInfo() {\r\n this.loading = true;\r\n this.managementUserInfoList = [];\r\n this.commonService.getManagementUsersList().pipe(first()).subscribe(\r\n data => {\r\n this.managementUserInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get all accounts info\r\n private getManagementUsersListByTowerId() {\r\n this.loading = true;\r\n this.managementUserInfoList = [];\r\n this.commonService.getManagementUsersListByTowerId(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.managementUserInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n //Get all towsers info\r\n private getAllTowsersInfo() {\r\n this.loading = true;\r\n this.towerInfoList = [];\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get tower info by towerId\r\n //Get all accounts info\r\n private getTowerInfo(isFatchAll) {\r\n this.loading = true;\r\n this.towerInfoList = [];\r\n this.commonService.getTowerInfo(this.towerId, isFatchAll).pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Save new user profile\r\n private onSubmit(managementUserInfo) {\r\n if (this.managementUserForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n\r\n managementUserInfo['ibuId'] = this.checkedIbuList.join();\r\n if (this.isHrUser && this.checkedIbuList.length < 1) {\r\n localStorage.setItem('errorMsg', 'Please select IBU');\r\n this.showerror();\r\n return;\r\n }\r\n if (managementUserInfo.userRoll == \"Select Role\") {\r\n localStorage.setItem('errorMsg', 'Must Select Role!');\r\n this.showerror();\r\n return;\r\n }\r\n\r\n if (this.checkUserAlreadyExits(managementUserInfo.userName, managementUserInfo.userEmail)) {\r\n localStorage.setItem('errorMsg', 'This user already exits!');\r\n this.showerror();\r\n return\r\n }\r\n\r\n\r\n if (!this.validateEmail(managementUserInfo.userEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild Email!');\r\n this.showerror();\r\n return\r\n }\r\n\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.saveManagementUserInfo(managementUserInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.managementUserForm.reset();\r\n localStorage.setItem('errorMsg', 'Profile Added successfully!');\r\n this.initialization();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n private validateEmail(email) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n // update user profile \r\n private updateManagementUserInfo(managementUserInfo) {\r\n if (this.managementUserForm.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (managementUserInfo != null) {\r\n managementUserInfo['ibuId'] = this.checkedIbuList.join();\r\n if (this.isHrUser && this.checkedIbuList.length < 1) {\r\n localStorage.setItem('errorMsg', 'Please select IBU');\r\n this.showerror();\r\n return;\r\n }\r\n\r\n if (managementUserInfo) {\r\n if (managementUserInfo.userRoll == \"Select Role\") {\r\n localStorage.setItem('errorMsg', 'Must Select Role!');\r\n this.showerror();\r\n return;\r\n }\r\n\r\n if (!this.validateEmail(managementUserInfo.userEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild Email!');\r\n this.showerror();\r\n return\r\n }\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.updateManagementUserInfo(managementUserInfo).pipe(first()).subscribe(\r\n data => {\r\n\r\n localStorage.setItem('user', JSON.stringify(this.users));\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Management user updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n localStorage.setItem('errorMsg', 'IBU is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.initialization();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //check management user already exits\r\n private checkUserAlreadyExits(userName, userEmail) {\r\n let isUserExits = false;\r\n userName = userName.toLowerCase();\r\n for (let i = 0; i < this.managementUserInfoList.length; i++) {\r\n let ursName = this.managementUserInfoList[i].userName.toLowerCase();\r\n if (ursName == userName || this.managementUserInfoList[i].userEmail == userEmail) {\r\n isUserExits = true;\r\n }\r\n }\r\n return isUserExits;\r\n }\r\n\r\n // Get all user role list\r\n private getAllUserRoleList() {\r\n this.loading = true;\r\n this.userRoles = [];\r\n this.commonService.getAllUserRoleList().pipe(first()).subscribe(\r\n data => {\r\n for (let i = 0; i < data.length; i++) {\r\n if (!this.common.isSuperUser() && (data[i].roleId === 3 || data[i].roleId === 4 || data[i].roleId === 6)) {\r\n this.userRoles.push(data[i]);\r\n }\r\n if (this.common.isSuperUser() && (data[i].roleId === 1 || data[i].roleId === 3 || data[i].roleId === 4 || data[i].roleId === 6 || data[i].roleId === 7)) {\r\n this.userRoles.push(data[i]);\r\n }\r\n }\r\n // this.userRoles = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Get ibu name based on ibuId\r\n private getUserRoleName(roleId) {\r\n let userRoleName = \"\";\r\n for (let i = 0; i < this.userRoles.length; i++) {\r\n if (this.userRoles[i].userRoleId == roleId) {\r\n userRoleName = this.userRoles[i].userRoleName;\r\n break;\r\n }\r\n }\r\n return userRoleName;\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Get list of IBU\r\n */\r\n getIbuList() {\r\n this.commonService.getAllIBUInfo().subscribe(data => {\r\n this.ibuList = data;\r\n for (let i = 0; i < this.ibuList.length; i++) {\r\n const obj = {\r\n ibuId: this.ibuList[i].ibuId,\r\n ibuName: this.ibuList[i].ibuName,\r\n isChecked: false,\r\n }\r\n this.updatedIbuList.push(obj);\r\n }\r\n },\r\n error => {\r\n });\r\n }\r\n /**\r\n * Change Role\r\n */\r\n changeRole(event) {\r\n // this.checkedIbuList = [];\r\n this.isHrUser = false;\r\n if (event.target.value == 3 || event.target.value == 7) {\r\n this.isHrUser = true;\r\n }\r\n }\r\n /**\r\n * Change checkBox value\r\n */\r\n onCheckboxChange(event) {\r\n const index = this.checkedIbuList.findIndex(x => x == Number(event.target.value));\r\n if (index == -1) {\r\n this.checkedIbuList.push(Number(event.target.value));\r\n } else {\r\n this.checkedIbuList.splice(index, 1);\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Management Users Detail Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoFull NameUser NameEmailUser RoleAction
\r\n
{{managementUserInfoList.indexOf(managementUser) + 1}}
\r\n
\r\n
{{managementUser.userFullName}}
\r\n
\r\n
{{managementUser.userName}}
\r\n
\r\n
{{managementUser.userEmail}}
\r\n
\r\n
{{managementUser.roleName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\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, Compiler, ViewChild, Input, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './behavioralSkillMaster.component.html', styleUrls: ['./behavioralSkillMaster.component.css'] })\r\nexport class BehavioralSkillMasterComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n formObj: any;\r\n config: any;\r\n formInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n positionName: any;\r\n superUserType: any = \"\";\r\n allTowers: any = [];\r\n allPositions: any = [];\r\n allTraining: any = [];\r\n allIbus: any = [];\r\n selectedTowerId: any = 0;\r\n selectedPositionId: any = 0; // = 10;\r\n towerSelect: any = \"1\";\r\n positionSelect: any = \"1\";\r\n currIndex:number;\r\n\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n public common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = '/assets/default.png';\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n // All process done with tower selected on dashboard\r\n this.selectedTowerId = (this.towerId != null || this.towerId != undefined) ? this.towerId : 0;\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n \r\n }\r\n\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.formObj = this.formBuilder.group({\r\n skillName: ['', Validators.required],\r\n skillId: new FormControl(null),\r\n towerId: new FormControl(this.selectedTowerId),\r\n skillCode: ['Dummy', Validators.required],\r\n targetScore: ['', Validators.required],\r\n positionId: ['', Validators.required],\r\n arrOfTraining : this.formBuilder.array([this.formBuilder.group({trainingPoint:''})])\r\n });\r\n this.initialization();\r\n }\r\n\r\n get arr_of_training() {\r\n return this.formObj.get('arrOfTraining') as FormArray;\r\n }\r\n\r\n addTraining() {\r\n this.arr_of_training.push(this.formBuilder.group({trainingPoint:''})); \r\n }\r\n\r\n deleteTraining(i) {\r\n this.arr_of_training.removeAt(-1); \r\n }\r\n\r\n get arr_of_training_update() {\r\n return this.formObj.get('arrOfTraining') as FormArray;\r\n }\r\n\r\n addTrainingUpdate(obj?) {\r\n if(obj){\r\n this.arr_of_training_update.push(this.formBuilder.group({trainingPoint:obj.trainingPoint})); \r\n }else{\r\n this.arr_of_training_update.push(this.formBuilder.group({trainingPoint:''})); \r\n }\r\n \r\n }\r\n\r\n deleteTrainingUpdate(i) {\r\n this.arr_of_training_update.removeAt(-1); \r\n }\r\n\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n this.getAllSkills();\r\n this.getTowerList();\r\n this.getPositionList(this.selectedTowerId);\r\n\r\n \r\n }\r\n /**\r\n * Update position list if cange tower in add comp. form\r\n */\r\n updatePositionList() {\r\n this.getPositionList(this.towerSelect);\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.formObj = this.formBuilder.group({\r\n skillName: ['', Validators.required],\r\n skillId: new FormControl(null),\r\n towerId: new FormControl(this.selectedTowerId),\r\n skillCode: ['Dummy', Validators.required],\r\n targetScore: ['', Validators.required],\r\n positionId: ['', Validators.required],\r\n arrOfTraining: new FormArray([])\r\n });\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(formInfo, i) {\r\n this.initUserInfo();\r\n this.allTraining = JSON.parse(this.formInfoList[i].arrOfTraining);\r\n\r\n this.formObj = this.formBuilder.group({\r\n skillName: new FormControl(formInfo.skillName),\r\n skillId: new FormControl(formInfo.skillId),\r\n towerId: new FormControl(formInfo.towerId),\r\n skillCode: new FormControl(formInfo.skillCode),\r\n targetScore: new FormControl(formInfo.targetScore),\r\n positionId: new FormControl(formInfo.positionId),\r\n arrOfTraining: new FormArray([])\r\n });\r\n\r\n for(const obj of this.allTraining) {\r\n this.addTrainingUpdate(obj);\r\n }\r\n \r\n }\r\n\r\n // Get All user list\r\n private getAllSkills() {\r\n this.formInfoList = [];\r\n if(this.selectedTowerId && this.selectedPositionId) {\r\n this.loading = true;\r\n this.commonService.postAllBehSkills(this.selectedTowerId, this.selectedPositionId).pipe(first()).subscribe(\r\n data => {\r\n this.formInfoList = data;\r\n \r\n this.loading = false;\r\n if(data.length === 0) {\r\n localStorage.setItem('errorMsg', \"No results! Please change the filter to see the results.\");\r\n this.showerror();\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n } \r\n )\r\n }\r\n \r\n }\r\n\r\n // Save new user profile\r\n private onSubmit(formInfo) {\r\n if (this.formObj.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n // check ibu name is already exits\r\n if (this.checkSkillName(formInfo.skillName)) {\r\n localStorage.setItem('errorMsg', formInfo.skillName + ' competency already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n if (!this.common.isSuperUser()) {\r\n // delete formInfo.skillName;\r\n // delete formInfo.tower;\r\n delete formInfo.towerId;\r\n formInfo.towerId = 0;\r\n // New added\r\n formInfo.towerId = this.selectedTowerId;\r\n }\r\n // Set id for trainings\r\n formInfo.arrOfTraining.forEach((element, index) => {\r\n formInfo.arrOfTraining[index]['id'] = index+1;\r\n });\r\n this.commonService.saveBehSkill(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.formObj.reset();\r\n localStorage.setItem('errorMsg', 'Competency Added successfully!');\r\n this.initialization();\r\n this.closeModels();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateSkill(formInfo) {\r\n if (this.formObj.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (formInfo != null) {\r\n if (formInfo) {\r\n this.loading = true;\r\n //set login user email\r\n formInfo.arrOfTraining.forEach((element, index) => {\r\n formInfo.arrOfTraining[index]['id'] = index+1;\r\n });\r\n this.commonService.updateBehSkill(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Competency is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Record is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check if name is already exits\r\n private checkSkillName(skillName) {\r\n let isSkillNameExits = false;\r\n for (let i = 0; i < this.formInfoList.length; i++) {\r\n if (skillName.toLowerCase() == this.formInfoList[i].skillName.toLowerCase()) {\r\n isSkillNameExits = true;\r\n break;\r\n }\r\n }\r\n return isSkillNameExits;\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n private getTowerList() {\r\n this.loading = true;\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allTowers = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n getPositionList(towerId) {\r\n if(towerId > 0) {\r\n this.loading = true; \r\n this.commonService.getPositionList(towerId).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allPositions = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n } else {\r\n this.formInfoList = [];\r\n this.allPositions = [];\r\n this.selectedPositionId = 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
Behavioral Competencies Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\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
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 Level 1\r\n \r\n \r\n Clear need to improve in the competency (deficiency/improvement required)\r\n \r\n
\r\n Needs handholding\r\n
\r\n
\r\n
\r\n Level 2\r\n \r\n \r\n Not always up to standard, with inconsistent demonstration of the competency (below average)\r\n \r\n
\r\n Needs review\r\n
\r\n
\r\n
\r\n Level 3\r\n \r\n \r\n Mostly demonstrates the competency as expected (at standard/average)\r\n \r\n
\r\n Needs audit\r\n
\r\n
\r\n
\r\n Level 4\r\n \r\n \r\n Notable strength in the competency (better than most)\r\n \r\n
\r\n Is independent\r\n
\r\n
\r\n
\r\n Level 5\r\n \r\n \r\n Strong role model (one of the best)\r\n \r\n
\r\n Can train others\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 \r\n\r\n \r\n\r\n \r\n \r\n \r\n
S.NoCompetency nameTarget scoreTowerPositionAction
\r\n
{{formInfoList.indexOf(formInfo) + 1}}
\r\n
\r\n
{{formInfo.skillName}}
\r\n
\r\n
{{formInfo.targetScore}}
\r\n
\r\n
{{formInfo.towerName}}
\r\n
\r\n
{{formInfo.positionName}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\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 * from './login.component';","import { Injectable } from '@angular/core';\r\nimport { Workbook } from 'exceljs';\r\nimport * as fs from 'file-saver';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelService {\r\n\r\n constructor(private datePipe: DatePipe) { }\r\n\r\n\r\n generateExcel(header: any, data: any, title: any) {\r\n\r\n //Create workbook and worksheet\r\n let workbook = new Workbook();\r\n let worksheet = workbook.addWorksheet(title);\r\n\r\n //Add Header Row\r\n let headerRow = worksheet.addRow(header);\r\n // Cell Style : Fill and Border\r\n headerRow.eachCell((cell, number) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'C9C9C9' },\r\n bgColor: { argb: 'C9C9C9' }\r\n }\r\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\r\n })\r\n\r\n let filteredData = this.convertJsonToAOA(data);\r\n filteredData.forEach(d => {\r\n let row = worksheet.addRow(d);\r\n let qty = row.getCell(5);\r\n }\r\n );\r\n\r\n worksheet.getColumn(3).width = 30;\r\n worksheet.getColumn(4).width = 30;\r\n worksheet.addRow([]);\r\n\r\n //Generate Excel File with given name\r\n workbook.xlsx.writeBuffer().then((filteredData) => {\r\n let blob = new Blob([filteredData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, title + '.xlsx');\r\n })\r\n\r\n }\r\n\r\n convertJsonToAOA(data: any) {\r\n let filteredData = [];\r\n for (let i = 0; i < data.length; i++) {\r\n //var parsed = JSON.parse(\"'\"+data[i]+\"'\");\r\n var arr = [];\r\n for (var x in data[i]) {\r\n arr.push(data[i][x]);\r\n }\r\n filteredData.push(arr);\r\n }\r\n return filteredData;\r\n }\r\n\r\n}\r\n\r\n","import { Component, OnInit, Compiler, Renderer2 } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { NgbDateStruct, NgbCalendar } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport * as $ from 'jquery'\r\n\r\nconst equals = (one: NgbDateStruct, two: NgbDateStruct) =>\r\n one && two && two.year === one.year && two.month === one.month && two.day === one.day;\r\n\r\nconst before = (one: NgbDateStruct, two: NgbDateStruct) =>\r\n !one || !two ? false : one.year === two.year ? one.month === two.month ? one.day === two.day\r\n ? false : one.day < two.day : one.month < two.month : one.year < two.year;\r\n\r\nconst after = (one: NgbDateStruct, two: NgbDateStruct) =>\r\n !one || !two ? false : one.year === two.year ? one.month === two.month ? one.day === two.day\r\n ? false : one.day > two.day : one.month > two.month : one.year > two.year;\r\n\r\n@Component({\r\n templateUrl: 'dashboard.component.html',\r\n styleUrls: ['dashboard.component.css']\r\n\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n users: any = {};\r\n loading = false;\r\n loginImageURL: any = null;\r\n loginUserName: any = \"\";\r\n hoveredDate: NgbDateStruct;\r\n fromDate: NgbDateStruct;\r\n toDate: NgbDateStruct;\r\n fetchData: any[] = [];\r\n userRoll: number = 0;\r\n userType: any;\r\n towerInfoList: any[] = [];\r\n functionList: any = [];\r\n towerId: any;\r\n selectedTowerId: any = null;\r\n \r\n selectedIbuId: any = null;\r\n \r\n selectedFunctionId: any = null;\r\n allPositions: any = [];\r\n behData: any;\r\n funData: any;\r\n ibuList: any = [];\r\n positionList: any = [];\r\n behDataByTower: any = [];\r\n funDataByTower: any = [];\r\n towersOfSelectedIbu: any = [];\r\n towerIdsBySelectedIbu: any = [];\r\n isBehData: any = true;\r\n isFunData: any = true;\r\n userIbuIds: any = [];\r\n behDataByTowerForStatus: any = [];\r\n funDataByTowerForStatus: any = [];\r\n ibuName: any = '';\r\n selectedTowerName: any = '';\r\n userAllNotesList: any = [];\r\n loadingTower: boolean = false;\r\n constructor(calendar: NgbCalendar, private router: Router, private appConfig: AppConfig,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private _compiler: Compiler,\r\n private render: Renderer2,\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n if (this.users.userData.userFullName) {\r\n this.loginUserName = this.users.userData.userFullName;\r\n } else {\r\n this.loginUserName = this.users.userData.userName;\r\n }\r\n this.userRoll = this.users.userData.userRoll;\r\n // For set default IBU selected on dashboard\r\n this.userIbuIds = (this.users.userData.ibuId) ? this.users.userData.ibuId.split(',') : [];\r\n if (this.userIbuIds) {\r\n this.selectedIbuId = this.userIbuIds[0];\r\n }\r\n console.log(this.userIbuIds);\r\n switch (this.users.userData.userRoll) {\r\n case \"1\": this.userType = \"Super Admin\"; break;\r\n case \"2\": this.userType = \"Admin\"; break;\r\n case \"3\": this.userType = \"HR\"; break;\r\n case \"4\": this.userType = \"Manager\"; break;\r\n case \"5\": this.userType = \"Employee\"; break;\r\n }\r\n }\r\n this.fromDate = calendar.getToday();\r\n this.toDate = calendar.getNext(calendar.getToday(), 'd', 0);\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.getIbuList();\r\n\r\n }\r\n\r\n isHovered = date => this.fromDate && !this.toDate && this.hoveredDate && after(date, this.fromDate) && before(date, this.hoveredDate);\r\n isInside = date => after(date, this.fromDate) && before(date, this.toDate);\r\n isFrom = date => equals(date, this.fromDate);\r\n isTo = date => equals(date, this.toDate);\r\n\r\n ngOnInit() {\r\n this.selectedTowerId = JSON.parse(localStorage.user).userData.towerId;\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd))\r\n .subscribe(() => {\r\n this.render.removeClass(document.body, 'modal-open');\r\n $(document.body).removeClass('modal-open');\r\n $('.modal-backdrop').remove();\r\n });\r\n \r\n setTimeout(() => {\r\n if (this.towerIdsBySelectedIbu.length) {\r\n this.getBehDataForReport();\r\n this.getFunDataForReport();\r\n this.fetchPositions();\r\n this.getFunDataByTowerIdForReportForStatus();\r\n this.getBehDataByTowerIdForReportForStatus();\r\n this.getBehDataByTowerIdForReport();\r\n this.getFunDataByTowerIdForReport();\r\n this.fetchuserData();\r\n this.getAllUserNotes();\r\n if(this.ibuList.length) {\r\n for (let i = 0; i < this.ibuList.length; i++) {\r\n console.log('loop Test', this.ibuList[i].ibuId, this.selectedIbuId);\r\n if (this.ibuList[i].ibuId == this.selectedIbuId)\r\n this.ibuName = this.ibuList[i].ibuName;\r\n localStorage.setItem(\"ibuName\", this.ibuName);\r\n }\r\n let functionName = this.getFunctionNameById();\r\n localStorage.setItem(\"functionName\", functionName);\r\n // For Set tower Name\r\n for(let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n if(this.selectedTowerId && this.selectedTowerId == this.towersOfSelectedIbu[i].towerId) {\r\n this.selectedTowerName = this.towersOfSelectedIbu[i].towerName;\r\n localStorage.setItem('selectedTowerName', this.towersOfSelectedIbu[i].towerName);\r\n }\r\n }\r\n }\r\n }\r\n\r\n }, 800);\r\n }\r\n /**\r\n * Set Ibu Id.\r\n */\r\n private setIbuId() {\r\n this.ngOnInit();\r\n this.isBehData = true;\r\n this.isFunData = true;\r\n this.selectedFunctionId = null;\r\n this.getFunctionList();\r\n this.selectedTowerId = null;\r\n this.towerInfoList = [];\r\n }\r\n /**\r\n * Change function dropdown\r\n */\r\n onChangeFunction() {\r\n this.selectedTowerId = null;\r\n let tempArr = [];\r\n let count = 1;\r\n for (let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n if (this.selectedFunctionId == this.towersOfSelectedIbu[i].functionId ) {\r\n tempArr.push(this.towersOfSelectedIbu[i]);\r\n }\r\n if (count == this.towersOfSelectedIbu.length) {\r\n this.towerInfoList = tempArr;\r\n }\r\n count++;\r\n }\r\n let functionName = this.getFunctionNameById();\r\n localStorage.setItem(\"functionName\", functionName);\r\n }\r\n /**\r\n * Set tower Id in localstorage\r\n */\r\n setTowerIdInLocalStorage() {\r\n var userJson = JSON.parse(localStorage.user);\r\n userJson.userData.towerId = Number(this.selectedTowerId);\r\n localStorage.setItem(\"user\", JSON.stringify(userJson));\r\n for(let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n if(this.selectedTowerId == this.towersOfSelectedIbu[i].towerId) {\r\n this.selectedTowerName = this.towersOfSelectedIbu[i].towerName;\r\n localStorage.setItem('selectedTowerName', this.towersOfSelectedIbu[i].towerName);\r\n }\r\n }\r\n }\r\n /**\r\n * Set Tower Id\r\n */\r\n private setTowerId() {\r\n this.setTowerIdInLocalStorage();\r\n for(let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n if(this.selectedTowerId == this.towersOfSelectedIbu[i].towerId) {\r\n this.selectedTowerName = this.towersOfSelectedIbu[i].towerName;\r\n localStorage.setItem('selectedTowerName', this.towersOfSelectedIbu[i].towerName);\r\n }\r\n }\r\n // Get user of selected towers for excel export\r\n this.fetchuserData();\r\n // Get competency by tower Id.\r\n this.getFunDataByTowerIdForReportForStatus();\r\n this.getBehDataByTowerIdForReportForStatus();\r\n this.getBehDataByTowerIdForReport();\r\n this.getFunDataByTowerIdForReport();\r\n\r\n }\r\n /**\r\n * Get list of IBU\r\n */\r\n getIbuList() {\r\n this.ibuList = [];\r\n this.commonService.getAllIBUInfo().subscribe(data => {\r\n for(let i=0; i < data.length; i++) {\r\n const index = this.userIbuIds.findIndex(x => Number(x) == data[i].ibuId);\r\n if(index != -1) {\r\n this.ibuList.push(data[i]);\r\n }\r\n if(i == data.length - 1) {\r\n // this.selectedIbuId = this.ibuList[0].ibuId;\r\n this.getFunctionList();\r\n }\r\n }\r\n },\r\n error => {\r\n console.log('Ibu list not found');\r\n });\r\n }\r\n\r\n //Get tower info by towerId\r\n private getTowerInfoByIbuId() {\r\n this.loadingTower = true;\r\n this.towerInfoList = [];\r\n var towerTempList = [];\r\n this.towerIdsBySelectedIbu = [];\r\n // Tower list by IBU only\r\n this.commonService.getTowersListByIbuId(this.selectedIbuId, this.selectedFunctionId).pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.towersOfSelectedIbu = data;\r\n // Push tower Ids in array\r\n for (let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n this.towerIdsBySelectedIbu.push(this.towersOfSelectedIbu[i].towerId);\r\n }\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4 ||\r\n JSON.parse(localStorage.getItem('user')).userData.userRoll == 6) {\r\n for (let i = 0; i < this.towerInfoList.length; i++) {\r\n var towerIdArray = JSON.parse(localStorage.getItem('user')).userData.towerIdArray;\r\n if (towerIdArray.indexOf(this.towerInfoList[i].towerId.toString()) == -1)\r\n continue;\r\n towerTempList.push(this.towerInfoList[i]);\r\n }\r\n this.towerInfoList = towerTempList;\r\n }\r\n if (this.towerInfoList.length) {\r\n this.selectedTowerId = this.towerInfoList[0].towerId;\r\n this.setTowerIdInLocalStorage();\r\n }\r\n this.loadingTower = false;\r\n },\r\n error => {\r\n this.loadingTower = false;\r\n \r\n }\r\n )\r\n }\r\n\r\n\r\n // reset on date selection\r\n private onDateSelection(date: NgbDateStruct) {\r\n if (!this.fromDate && !this.toDate) {\r\n this.fromDate = date;\r\n } else if (this.fromDate && !this.toDate && after(date, this.fromDate)) {\r\n this.toDate = date;\r\n } else {\r\n this.toDate = null;\r\n this.fromDate = date;\r\n }\r\n }\r\n\r\n // frorward to next section \r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n \r\n\r\n // logout and forward to next section\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n\r\n /**\r\n* Get user Notes\r\n*/\r\n getAllUserNotes() {\r\n this.commonService.getAllUserNotes().subscribe(data => {\r\n this.loading = false;\r\n if (data) {\r\n this.userAllNotesList = data;\r\n \r\n\r\n }\r\n }, error => {\r\n console.log('Error', error);\r\n this.loading = false;\r\n });\r\n }\r\n /**\r\n * Return Users notes\r\n */\r\n returnUserNotes(userId) {\r\n for (let i = 0; i < this.userAllNotesList.length; i++) {\r\n if (userId == this.userAllNotesList[i].userId) {\r\n return this.userAllNotesList[i].userNotes;\r\n }\r\n }\r\n\r\n }\r\n\r\n excelReport() {\r\n let excelExportData = [];\r\n // let headers = [\"S.No.\", \"Employee Code\", \"Employee Name\", \"Email id\", \"IBU\", \"Function\", \"Tower\", \"Current Role\", \"Target Role\", \"Final Rating Status\", \"Self Rating Status (Behavioral)\", \"Self Rating Status (Functional)\", \"Manager Rating Status (Behavioral)\", \"Manager Rating Status (Functional)\", \"Rating Score Behavioral\", \"Rating Score Functional\", \"Aggregate Score\", \"Role Change Status\"];\r\n let headers = [\"S.No.\", \"Employee Code\", \"Employee Name\", \"Approve Date\", \"Email id\", \"IBU\", \"Function\", \"Tower\", \"Employee Status\", \"Batch Number\", \"Journey Completion Date\", \"TR Status\", \"Current Role\", \"Target Role\", \r\n \"Supervisor (1st Level)\", \"Supervisor (1st Level) Email\", \"Supervisor (2nd Level)\", \"Supervisor (2nd Level) Email\", \"Beh. Comp Submitted Date\",\"Fun. Comp Submitted Date\",\"Self Rating Status (Behavioral)\",\r\n \"Self Rating Status (Functional)\", \"Manager Rating Status (Behavioral)\", \"Manager Rating Status (Functional)\", \"Final Rating Status\", \"Rating Score Behavioral\", \r\n \"Rating Score Functional\", \"Average Score\", \"Role Change Status\", \"Notes\"];\r\n // for (let i of this.fetchData)\r\n console.log('Report this.fetchData', this.fetchData);\r\n console.log('Report this.behDataByTower', this.behDataByTower);\r\n console.log('Report this.funDataByTower', this.funDataByTower);\r\n\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let strData = '' + this.fetchData[i].email;\r\n if (strData.match(/_old$/)) continue;\r\n let data = {};\r\n data[headers[0]] = i + 1;\r\n data[headers[1]] = this.fetchData[i].empCode;\r\n data[headers[2]] = this.fetchData[i].userName;\r\n let approvDate = new Date( this.fetchData[i].approvedAt);\r\n data[headers[3]] = (this.fetchData[i].approvedAt) ? approvDate.getDate()+ \"-\" + Number(approvDate.getMonth() + 1) + \"-\" + approvDate.getFullYear() : '' ;\r\n data[headers[4]] = this.fetchData[i].email;\r\n data[headers[5]] = this.getIbuNameById();\r\n data[headers[6]] = this.fetchData[i].functionName;\r\n data[headers[7]] = this.fetchData[i].towerName;\r\n if(this.fetchData[i].empStatus == 0) {\r\n data[headers[8]] = \"Deactive\";\r\n } else if(this.fetchData[i].empStatus == 2) {\r\n data[headers[8]] = \"Resigned\";\r\n } else {\r\n data[headers[8]] = \"Active\";\r\n }\r\n data[headers[9]] = this.fetchData[i].batchNo;\r\n data[headers[10]] = this.fetchData[i].journeyCompletionDate;\r\n data[headers[11]] = this.commonService.getUserStatus(this.fetchData[i].isApproved)\r\n \r\n data[headers[12]] = this.fetchData[i].positionName;\r\n // data[headers[5]] = this.allPositions[this.fetchData[i].userId];\r\n data[headers[13]] = this.getPositionName(this.fetchData[i].nextPosition);\r\n data[headers[14]] = this.fetchData[i].resourceManager;\r\n data[headers[15]] = this.fetchData[i].resourceManagerEmail;\r\n data[headers[16]] = this.fetchData[i].SLS;\r\n data[headers[17]] = this.fetchData[i].SLSE;\r\n data[headers[18]] = this.getManagerBehCompLastDate(this.fetchData[i].userId);\r\n data[headers[19]] = this.getManagerFunCompLastDate(this.fetchData[i].userId);\r\n\r\n \r\n // var status = \"Pending with Self\";\r\n var compositeValues = this.getCompositeValue(this.fetchData[i].userId);\r\n \r\n\r\n data[headers[20]] = (this.checkSelfBehCompExist(this.fetchData[i].userId) > 0) ? 'Submitted' : 'Pending';\r\n data[headers[21]] = (this.checkSelfFunCompExist(this.fetchData[i].userId) > 0 ) ? 'Submitted' : 'Pending';\r\n data[headers[22]] = (this.checkManagerBehCompExist(this.fetchData[i].userId) > 0) ? 'Submitted' : 'Pending';\r\n data[headers[23]] = (this.checkManagerFunCompExist(this.fetchData[i].userId) > 0) ? 'Submitted' : 'Pending';\r\n \r\n if ((data[headers[20]] == 'Submitted' && data[headers[21]] == 'Submitted') && ((data[headers[22]] == 'Submitted' && data[headers[23]] == 'Submitted'))) {\r\n data[headers[24]] = 'Completed'\r\n }\r\n if (data[headers[22]] == 'Pending' || data[headers[23]] == 'Pending') {\r\n data[headers[24]] = 'Pending With Manager'\r\n }\r\n if (data[headers[20]] == 'Pending' || data[headers[21]] == 'Pending') {\r\n data[headers[24]] = 'Pending With Self'\r\n }\r\n \r\n data[headers[25]] = isNaN(compositeValues.beh) ? \"\" : compositeValues.beh;\r\n data[headers[26]] = isNaN(compositeValues.fun) ? \"\" : compositeValues.fun;\r\n data[headers[27]] = isNaN(compositeValues.full) ? \"\" : compositeValues.full;\r\n if (data[headers[27]] >= 80) { data[headers[28]] = \"Ready Now\"; } \r\n if (data[headers[27]] >= 60 && data[headers[27]] < 80) { data[headers[28]] = \"Ready Soon\"; } \r\n if (data[headers[27]] >= 30 && data[headers[27]] < 60) { data[headers[28]] = \"Ready Future\"; }\r\n if (data[headers[27]] < 30) { data[headers[28]] = \" \"; }\r\n data[headers[29]] = this.returnUserNotes(this.fetchData[i].userId)\r\n excelExportData.push(data);\r\n }\r\n console.log('excelExportDataexcelExportData', excelExportData);\r\n this.excelService.generateExcel(headers, excelExportData, 'Dashboard_Data');\r\n }\r\n\r\n \r\n\r\n // /fetch user information data\r\n private fetchuserData() {\r\n this.loading = true;\r\n let towerId = JSON.parse(localStorage.getItem('user')).userData.towerId;\r\n let userid = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n var userEmail = \"\";\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n \r\n let postData = { towerId: this.towerIdsBySelectedIbu };\r\n console.log('this.towerIdsBySelectedIbu', this.towerIdsBySelectedIbu);\r\n this.commonService.getUsersForReportByTowerIdsArr(postData).pipe(first()).subscribe(\r\n data => {\r\n console.log('DatatatatAA', data);\r\n let userIds = [];\r\n for (let i = 0; data && (i < data.length); i++) {\r\n if (data[i].userId) {\r\n userIds.push({ userId: data[i].userId, towerId: data[i].towerId });\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n // this.fetchUserSkillsData(userIds, data);\r\n this.fetchData = data;\r\n this.getAllNextPositions2(userIds);\r\n }\r\n else {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Users Not Found');\r\n this.commonService.showerror();\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // /fetch user information data\r\n private getFunDataForReport() {\r\n this.loading = true;\r\n\r\n var userEmail = \"\";\r\n \r\n this.commonService.getFunDataForReport().pipe(first()).subscribe(\r\n data => {\r\n\r\n this.funData = data;\r\n this.loading = false;\r\n \r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n private getCompositeValue(userId) {\r\n var compositeBehSum = 0, compositeFunSum = 0;\r\n var managerPresentBeh = false, managerPresentFun = false, selfPresentBeh = false, selfPresentFun = false;\r\n var countBeh = 0, countFun = 0;\r\n \r\n for (var i = 0; i < this.behDataByTower.length; i++) {\r\n if (this.behDataByTower[i].ratedByRole == 4 && this.behDataByTower[i].userId == userId) {\r\n managerPresentBeh = true; \r\n selfPresentBeh = true;\r\n }\r\n\r\n \r\n\r\n if (this.behDataByTower[i].ratedByRole !== 4 || this.behDataByTower[i].userId != userId) continue;\r\n\r\n var thisSkillsPercentage = (this.behDataByTower[i].skillScore * 100) / this.behDataByTower[i].targetScore;\r\n compositeBehSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\r\n \r\n countBeh++;\r\n }\r\n\r\n for (var j = 0; j < this.funDataByTower.length; j++) {\r\n if (this.funDataByTower[j].ratedByRole == 4 && this.funDataByTower[j].userId == userId) {\r\n managerPresentFun = true; \r\n selfPresentFun = true;\r\n }\r\n\r\n if (this.funDataByTower[j].ratedByRole !== 4 || this.funDataByTower[j].userId != userId) continue;\r\n\r\n var thisSkillsPercentage = (this.funDataByTower[j].skillScore * 100) / this.funDataByTower[j].targetScore;\r\n\r\n compositeFunSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\r\n countFun++;\r\n }\r\n \r\n return {\r\n full: Math.floor(((compositeBehSum / countBeh) * 0.3 + (compositeFunSum / countFun) * 0.7)),\r\n beh: Math.floor(compositeBehSum / countBeh),\r\n fun: Math.floor(compositeFunSum / countFun),\r\n managerPresentFun,\r\n managerPresentBeh,\r\n selfPresentFun,\r\n selfPresentBeh\r\n };\r\n\r\n }\r\n\r\n\r\n // /fetch user information data\r\n private getBehDataForReport() {\r\n this.loading = true;\r\n var userEmail = \"\";\r\n this.commonService.getBehDataForReport().pipe(first()).subscribe(\r\n data => {\r\n this.behData = data;\r\n this.loading = false;\r\n // localStorage.setItem('errorMsg', 'Users Not Found');\r\n // this.commonService.showerror();\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions(userIds, towerId) {\r\n this.commonService.getAllNextPositions(userIds, towerId).pipe(first()).subscribe(\r\n data => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions2(userIds) {\r\n this.commonService.getAllNextPositions2(userIds).pipe(first()).subscribe(\r\n data => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n redirectToUrl(url) {\r\n if (url) {\r\n window.open(url, \"_blank\");\r\n }\r\n }\r\n /**\r\n * Get the function list\r\n */\r\n getFunctionList() {\r\n this.loading = true;\r\n this.functionList = [];\r\n this.commonService.getFunctionListByIbuId(this.selectedIbuId).subscribe(data => {\r\n this.loading = false;\r\n this.functionList = data;\r\n console.log('this.functionListthis.functionList', this.functionList);\r\n if (this.functionList.length) {\r\n this.selectedFunctionId = this.functionList[0].functionId;\r\n let functionName = this.getFunctionNameById();\r\n localStorage.setItem(\"functionName\", functionName);\r\n this.getTowerInfoByIbuId();\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n console.log('Error in function list');\r\n });\r\n }\r\n // /fetch user information data\r\n private fetchPositions() {\r\n let towerId = null;\r\n this.commonService.getAllPositionInfo(towerId).pipe(first()).subscribe(\r\n data => {\r\n this.positionList = data;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i = 0; i < this.positionList.length; i++) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n // Get Tower name\r\n towerNameById(towerId) {\r\n for (let i = 0; i < this.towerInfoList.length; i++) {\r\n if (this.towerInfoList[i].towerId == towerId)\r\n return this.towerInfoList[i].towerName;\r\n }\r\n }\r\n // Get Function name\r\n getFunctionNameById() {\r\n for (let i = 0; i < this.functionList.length; i++) {\r\n if (this.functionList[i].functionId == this.selectedFunctionId) {\r\n return this.functionList[i].functionName;\r\n }\r\n \r\n }\r\n }\r\n // Get IBU name\r\n getIbuNameById() {\r\n for (let i = 0; i < this.ibuList.length; i++) {\r\n if (this.ibuList[i].ibuId == this.selectedIbuId)\r\n this.ibuName = this.ibuList[i].ibuName;\r\n return this.ibuList[i].ibuName;\r\n }\r\n }\r\n // Get Beh comp data\r\n private getBehDataByTowerIdForReport() {\r\n this.loading = true;\r\n let postData = { towerId: this.towerIdsBySelectedIbu};\r\n this.commonService.getBehDataByTowerIdReport(postData).pipe(first()).subscribe(\r\n data => {\r\n this.behDataByTower = data;\r\n console.log('this.behDataByTower', this.behDataByTower);\r\n this.loading = false;\r\n if (this.behDataByTower.length) {\r\n this.isBehData = false;\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n // Get Beh comp data\r\n private getBehDataByTowerIdForReportForStatus() {\r\n this.loading = true;\r\n let postData = { towerId: this.towerIdsBySelectedIbu};\r\n this.commonService.getBehDataByTowerIdReportForStatus(postData).pipe(first()).subscribe(\r\n data => {\r\n this.behDataByTowerForStatus = data;\r\n console.log('this.behDataByTower', this.behDataByTowerForStatus);\r\n this.loading = false;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n // Get Beh comp data\r\n private getFunDataByTowerIdForReport() {\r\n this.loading = true;\r\n let postData = { towerId: this.towerIdsBySelectedIbu };\r\n this.commonService.getFunDataByTowerIdReport(postData).pipe(first()).subscribe(\r\n data => {\r\n this.funDataByTower = data;\r\n console.log('this.funDataByTower', this.funDataByTower);\r\n this.loading = false;\r\n if (this.funDataByTower.length) {\r\n this.isFunData = false;\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n // Get Beh comp data\r\n private getFunDataByTowerIdForReportForStatus() {\r\n this.loading = true;\r\n let postData = { towerId: this.towerIdsBySelectedIbu };\r\n this.commonService.getFunDataByTowerIdReportForStatus(postData).pipe(first()).subscribe(\r\n data => {\r\n this.funDataByTowerForStatus = data;\r\n console.log('this.funDataByTowerForStatus', this.funDataByTowerForStatus);\r\n this.loading = false;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n checkSelfBehCompExist($userId) {\r\n let count = 0;\r\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\r\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 5) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n checkManagerBehCompExist($userId) {\r\n let count = 0;\r\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\r\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 4) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n getManagerBehCompLastDate($userId) {\r\n let lastDate = '';\r\n for (let i = 0; i < this.behDataByTower.length; i++) {\r\n if (this.behDataByTower[i].userId == $userId && this.behDataByTower[i].ratedByRole == 4 && (lastDate == '' || new Date(lastDate )< new Date(this.behDataByTower[i].createDate))) {\r\n\r\n lastDate = this.behDataByTower[i].createDate;\r\n }\r\n }\r\n if(lastDate) {\r\n let date = new Date(lastDate);\r\n return date.getDate()+ \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } else {\r\n return lastDate;\r\n }\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n getManagerFunCompLastDate($userId) {\r\n let lastDate = '';\r\n for (let i = 0; i < this.funDataByTower.length; i++) {\r\n if (this.funDataByTower[i].userId == $userId && this.funDataByTower[i].ratedByRole == 4 && (lastDate == '' || new Date(lastDate )< new Date(this.funDataByTower[i].createDate))) {\r\n\r\n lastDate = this.funDataByTower[i].createDate;\r\n }\r\n }\r\n if(lastDate) {\r\n let date = new Date(lastDate);\r\n return date.getDate()+ \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } else {\r\n return lastDate;\r\n }\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n checkSelfFunCompExist($userId) {\r\n let count = 0;\r\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\r\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 5) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n checkManagerFunCompExist($userId) {\r\n let count = 0;\r\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\r\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 4) {\r\n count++;\r\n }\r\n }\r\n return 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
Welcome!
\r\n\r\n
\r\n
1) || (userRoll==6 && towerInfoList.length > 1)\">\r\n \r\n \r\n
\r\n
1) || (userRoll==6 && towerInfoList.length > 1)\">\r\n \r\n \r\n
\r\n
1) || (userRoll==6 && towerInfoList.length > 1)\">\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Click Here to Add/Modify Interested Applicant\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Click Here to Add/Modify TR Nominees\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click Here to Rate Individuals (TM)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click Here to See Ratings of Individuals\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click Here to See Performance Dashboard of Individuals\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click Here to Add Interventions Against Skills\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Management Users\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Functional Skill 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 Add/Update Behavioral Skill 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 List User Rating History 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 Click here to see consolidated Competency Report\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\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 section of your choice

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

© 2021 NIIT Talent Readiness, All rights reserved. Powered by NEC.

\r\n
\r\n\r\n\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, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './ibu.component.html', styleUrls: ['./ibu.component.css'] })\r\nexport class IBUComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n ibuForm: any;\r\n config: any;\r\n ibuInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = '/assets/default.png';\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.ibuForm = this.formBuilder.group({\r\n ibuName: ['', Validators.required]\r\n });\r\n this.initialization();\r\n }\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n if (this.superUserType == \"super\") {\r\n this.getAllIBUInfo();\r\n } else {\r\n this.getAllIBUInfoByIbuId();\r\n }\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.ibuForm = this.formBuilder.group({\r\n ibuName: ['', Validators.required]\r\n });\r\n }\r\n //reset user form \r\n private setUpdateUserInfo(ibuInfo) {\r\n this.initUserInfo();\r\n this.ibuForm = this.formBuilder.group({\r\n ibuName: new FormControl(ibuInfo.ibuName),\r\n ibuId: new FormControl(ibuInfo.ibuId)\r\n });\r\n }\r\n\r\n //Get All user list\r\n private getAllIBUInfo() {\r\n this.loading = true;\r\n this.ibuInfoList = [];\r\n this.commonService.getAllIBUInfo().pipe(first()).subscribe(\r\n data => {\r\n this.ibuInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get All user list by IbuId\r\n private getAllIBUInfoByIbuId() {\r\n this.loading = true;\r\n this.ibuInfoList = [];\r\n this.commonService.getAllIBUInfoByIbuId(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.ibuInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n \r\n // Save new user profile\r\n private onSubmit(ibuInfo) {\r\n if (this.ibuForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n // check ibu name is already exits\r\n if (this.checkIBUName(ibuInfo.ibuName)) {\r\n localStorage.setItem('errorMsg', ibuInfo.ibuName + ' BU already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n this.commonService.saveIBUInfo(ibuInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.ibuForm.reset();\r\n localStorage.setItem('errorMsg', 'BU Added successfully!');\r\n this.initialization();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateIBUInfo(ibuInfo) {\r\n if (this.ibuForm.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (ibuInfo != null) {\r\n if (ibuInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.updateIBUInfo(ibuInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'IBU is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'IBU is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check ibu name is already exits\r\n private checkIBUName(ibuName) {\r\n let isIBUNameExits = false;\r\n for (let i = 0; i < this.ibuInfoList.length; i++) {\r\n if (ibuName.toLowerCase() == this.ibuInfoList[i].ibuName.toLowerCase()) {\r\n isIBUNameExits = true;\r\n break;\r\n }\r\n }\r\n return isIBUNameExits;\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
BU Detail Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoBUAction
\r\n
{{ibuInfoList.indexOf(ibuInfo) + 1}}
\r\n
\r\n
{{ibuInfo.ibuName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\n\n\nexport class AppComponent {\n constructor( private router: Router,) {\n router.events.subscribe((val) => {\n $(\".modal-backdrop\").css('display', 'none')\n })\n }\n title = 'tr';\n}\n","\n
\n
","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './tower.component.html', styleUrls: ['./tower.component.css'] })\r\nexport class TowerComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n towerForm: any;\r\n config: any;\r\n ibuInfoList: any[] = [];\r\n towerInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n dtOptions: any = {ordering: false};\r\n functionList: any = [];\r\n selectedIbuId: any = 1;\r\n selectedFunctionId: any = 1;\r\n\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = this.users.userData.imageURL;\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.towerForm = this.formBuilder.group({\r\n towerName: ['', Validators.required],\r\n functionId: [null, Validators.required],\r\n ibuId: new FormControl(\"Select BU\"),\r\n });\r\n // Get IBU Id List.\r\n this.getFunctionList();\r\n this.initialization();\r\n }\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n if (this.superUserType == \"super\") {\r\n this.getAllTowsersInfo();\r\n this.getAllIBUInfo();\r\n } else {\r\n this.getTowerInfoByIbuId();\r\n this.getAllIBUInfoByIbuId();\r\n }\r\n\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.towerForm = this.formBuilder.group({\r\n towerName: ['', Validators.required],\r\n functionId: [null, Validators.required],\r\n ibuId: new FormControl(\"Select IBU\"),\r\n });\r\n }\r\n //reset user form \r\n private setUpdateUserInfo(towerInfo) {\r\n this.selectedIbuId = towerInfo.ibuId;\r\n this.initUserInfo();\r\n this.getFunctionList();\r\n this.towerForm = this.formBuilder.group({\r\n towerId: new FormControl(towerInfo.towerId),\r\n towerName: new FormControl(towerInfo.towerName),\r\n ibuId: new FormControl(towerInfo.ibuId),\r\n functionId: new FormControl(towerInfo.functionId),\r\n });\r\n }\r\n\r\n //Get All user list\r\n private getAllIBUInfo() {\r\n this.loading = true;\r\n this.ibuInfoList = [];\r\n this.commonService.getAllIBUInfo().pipe(first()).subscribe(\r\n data => {\r\n this.ibuInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get tower info by towerId\r\n private getTowerInfoByIbuId() {\r\n this.loading = true;\r\n this.towerInfoList = [];\r\n // this.commonService.getTowerInfoByIbuId(this.towerId).pipe(first()).subscribe(\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get All user list\r\n private getAllIBUInfoByIbuId() {\r\n this.loading = true;\r\n this.ibuInfoList = [];\r\n this.commonService.getAllIBUInfoByIbuId(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.ibuInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Get ibu name based on ibuId\r\n private getIBUName(ibuId) {\r\n let ibuName = \"\";\r\n for (let i = 0; i < this.ibuInfoList.length; i++) {\r\n if (this.ibuInfoList[i].ibuId == ibuId) {\r\n ibuName = this.ibuInfoList[i].ibuName;\r\n break;\r\n }\r\n }\r\n return ibuName;\r\n }\r\n\r\n\r\n\r\n //Get all accounts info\r\n private getAllTowsersInfo() {\r\n this.loading = true;\r\n this.towerInfoList = [];\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Save new user profile\r\n private onSubmit(towerInfo) {\r\n if (this.towerForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n if (towerInfo.ibuId == \"Select IBU\") {\r\n localStorage.setItem('errorMsg', 'Must Select BU!');\r\n this.showerror();\r\n return;\r\n } else if (towerInfo.functionId == \"\" || towerInfo.functionId == null) {\r\n localStorage.setItem('errorMsg', 'Must Select function!');\r\n this.showerror();\r\n return;\r\n }\r\n // check tower name is already exits\r\n if (this.checkTowerName(towerInfo.towerName)) {\r\n localStorage.setItem('errorMsg', towerInfo.towerName + ' tower already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.saveTowerInfo(towerInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.towerForm.reset();\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Tower Added successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateTowerInfo(towerInfo) {\r\n if (this.towerForm.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (towerInfo != null) {\r\n if (towerInfo) {\r\n // // check tower name is already exits\r\n // if (this.checkTowerName(towerInfo.towerName)) {\r\n // localStorage.setItem('errorMsg', towerInfo.towerName + ' tower already exits!');\r\n // this.showerror();\r\n // return;\r\n // }\r\n this.loading = true;\r\n this.commonService.updateTowerInfo(towerInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Tower is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Tower is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check tower name is already exits\r\n private checkTowerName(towerName) {\r\n let isTowerNameExits = false;\r\n for (let i = 0; i < this.towerInfoList.length; i++) {\r\n if (towerName.toLowerCase() == this.towerInfoList[i].towerName.toLowerCase()) {\r\n isTowerNameExits = true;\r\n break;\r\n }\r\n }\r\n return isTowerNameExits;\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n\r\n /**\r\n * Get the function list\r\n */\r\n getFunctionList() {\r\n this.loading = true;\r\n this.functionList = [];\r\n this.commonService.getFunctionListByIbuId(this.selectedIbuId).subscribe(data => {\r\n this.loading = false;\r\n this.functionList = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n console.log('Error in function list');\r\n });\r\n }\r\n /**\r\n * Set Ibu Id.\r\n */\r\n private onChangeIbu() {\r\n this.selectedFunctionId = null;\r\n this.getFunctionList();\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Tower Detail Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoTowerIBUAction
\r\n
{{towerInfoList.indexOf(towerInfo) + 1}}
\r\n
\r\n
{{towerInfo.towerName}}
\r\n
\r\n
{{getIBUName(towerInfo.ibuId)}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\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';\n\n@Component({\n selector: 'sidebarWrapper',\n templateUrl: './sidebarWrapper.component.html',\n styleUrls: ['./sidebarWrapper.component.css']\n})\nexport class SidebarWrapperComponent implements OnInit {\n\n users: any = {};\n show:boolean = false;\n buttonName:any = 'Hide';\n userRoll: number = 0;\n\n constructor() {\n\n this.users = JSON.parse(localStorage.getItem('user'));\n\n if (this.users && this.users.userData) {\n this.userRoll = this.users.userData.userRoll;\n \n }\n }\n \n\n ngOnInit() {\n }\n\n toggle() {\n this.show = !this.show;\n\n // CHANGE THE NAME OF THE BUTTON.\n if(this.show) \n this.buttonName = \"Show\";\n else\n this.buttonName = \"Hide\";\n }\n\n}\n","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\r\n\r\n@Component({\r\n templateUrl: 'skillRatingSection.component.html',\r\n styleUrls: ['skillRatingSection.component.css']\r\n})\r\nexport class SkillRatingSectionComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n\r\n loading: boolean = false;\r\n users: any = {};\r\n behavioralSkillRatingForm: any;\r\n functionalSkillRatingForm: any;\r\n config: any;\r\n fetchData: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n baseURL: any = null;\r\n loginUserName: any = \"\";\r\n showHideModel: boolean = true;\r\n skillData: any[] = [];\r\n behSkillList: any[] = [];\r\n //Add users form fields\r\n userUpdatedId: Number = 0;\r\n skillRatingFromDate: any;\r\n towerId: number = 0;\r\n userRole: number = 0;\r\n skillRatingData: any[] = [];\r\n\r\n constructor(private router: Router,\r\n private formBuilder: FormBuilder,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private common: Common,\r\n private appConfig: AppConfig, config: NgbDatepickerConfig, private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.users = this.users.userData;\r\n if (this.users.userFullName) {\r\n this.loginUserName = this.users.userFullName;\r\n this.users.userFullName = this.users.userFullName.toLowerCase();\r\n } else {\r\n this.loginUserName = this.users.userName;\r\n this.users.userFullName = this.users.userName.toLowerCase();\r\n }\r\n if (!this.users.emailAddress || this.users.emailAddress.trim().length == 0) {\r\n this.users[\"emailAddress\"] = this.users.email;\r\n }\r\n this.userRole = this.users.userRoll;\r\n this.towerId = this.users.towerId;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear(), month: (currentDate.getMonth() + 1), day: currentDate.getDate() };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.fetchSkillsData();\r\n this.getAllBehSkills();\r\n }\r\n\r\n ngOnInit() {\r\n this.fetchSkillRatingData();\r\n if (this.userRole == 1) {\r\n this.fetchUserData(null, null);\r\n } else if (this.userRole == 5 || !this.userRole) {\r\n this.fetchUserData(this.users.userId, this.towerId);\r\n } else {\r\n this.fetchUserData(null, this.towerId);\r\n }\r\n this.initalizeFunSkillForm();\r\n this.initalizeBehSkillForm();\r\n }\r\n\r\n // initalize Functional Skill Form\r\n private initalizeFunSkillForm() {\r\n this.userUpdatedId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: ['', Validators.required],\r\n skillRatingToDate: ['', Validators.required],\r\n };\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\"5\");\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n //Initalize Behavioral Skill Form\r\n private initalizeBehSkillForm() {\r\n this.userUpdatedId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: ['', Validators.required],\r\n skillRatingToDate: ['', Validators.required],\r\n };\r\n\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\"5\");\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n // /fetch user information data\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService.fetchSkillRatingData().pipe(first()).subscribe(\r\n data => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', \"Data Not Found\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkills() {\r\n this.loading = true;\r\n this.commonService.getAllBehSkills().pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.behSkillList = data;\r\n this.initalizeBehSkillForm();\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Behavioral Skills Data Not Found\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // edit user skill information data\r\n private onEditSubmit(userData, isFuntion) {\r\n if (userData) {\r\n this.userUpdatedId = userData.userId;\r\n let groupForm = {\r\n skillRatingFromDate: new FormControl(this.common.getJSONObj(userData.skillRatingFromDate)),\r\n skillRatingToDate: new FormControl(this.common.getJSONObj(userData.skillRatingFromDate)),\r\n }\r\n if (isFuntion) { // set value of functional skill from \r\n let userSkill = userData.funUserSkill;\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.skillData[i].skillId) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(userSkill[j].skillLevel);\r\n }\r\n }\r\n }\r\n if (!groupForm[this.skillData[i].skillName]) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\"5\");\r\n }\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n } else { // set value of behavioral skill from \r\n let userSkill = userData.behUserSkill;\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.behSkillList[i].skillId) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(userSkill[j].skillLevel);\r\n }\r\n }\r\n }\r\n if (!groupForm[this.behSkillList[i].skillName]) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\"5\");\r\n }\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n }\r\n }\r\n\r\n //fetch skills data\r\n private fetchSkillsData() {\r\n this.commonService.fetchSkillData().pipe(first()).subscribe(\r\n data => {\r\n this.skillData = data;\r\n this.initalizeFunSkillForm();\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // /fetch user information data\r\n private fetchUserData(userId, towerId) {\r\n var userEmail = \"\";\r\n if(JSON.parse(localStorage.getItem('user')).userData.userRoll == 4) \r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n this.commonService.fetchUserData(userId, towerId, userEmail).pipe(first()).subscribe(\r\n data => {\r\n let userIds = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].userId) {\r\n userIds.push(data[i].userId);\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n this.fetchData = data;\r\n // this.fetchUserFunctSkillsData(userIds, data);\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //fetch user functional skills data\r\n private fetchUserFunctSkillsData(userIds: any[], userData) {\r\n // this.commonService.fetchAllFunSkills(userIds).pipe(first()).subscribe(\r\n // data => {\r\n // for (let j = 0; j < userData.length; j++) {\r\n // let userSkill = [];\r\n // for (let i = 0; i < data.length; i++) {\r\n // if (userData[j].userId == data[i].userId) {\r\n // let skillLevel = data[i].skillLevel;\r\n // let skillName = '';\r\n // this.skillData.forEach((litem, index) => {\r\n // if (litem.skillId == data[i].skillId) {\r\n // skillName = litem.skillName\r\n // }\r\n // });\r\n // userSkill.push({ skillId: data[i].skillId, skillLevel: skillLevel, skillName: skillName });\r\n // }\r\n // }\r\n // userData[j]['funUserSkill'] = userSkill;\r\n // }\r\n // this.fetchData = userData;\r\n // this.categoriseLeaveUsers()\r\n // this.countActiveAndInactiveUsers();\r\n // this.fetchUserBehSkillsData(userIds, this.fetchData);\r\n // },\r\n // error => {\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n // }\r\n // )\r\n }\r\n\r\n //fetch user skills data\r\n private fetchUserBehSkillsData(userIds: any[], userData) {\r\n this.commonService.fetchAllBehSkills(userIds).pipe(first()).subscribe(\r\n data => {\r\n for (let j = 0; j < userData.length; j++) {\r\n let userSkill = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (userData[j].userId == data[i].userId) {\r\n let skillLevel = data[i].skillLevel;\r\n let skillName = '';\r\n this.behSkillList.forEach((litem, index) => {\r\n if (litem.skillId == data[i].skillId) {\r\n skillName = litem.skillName\r\n }\r\n });\r\n userSkill.push({ skillId: data[i].skillId, skillLevel: skillLevel, skillName: skillName });\r\n }\r\n }\r\n userData[j]['behUserSkill'] = userSkill;\r\n }\r\n this.fetchData = userData;\r\n this.categoriseLeaveUsers()\r\n this.countActiveAndInactiveUsers();\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n //categorise leave users\r\n private categoriseLeaveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let currentDate = new Date();\r\n let userskillRatingToDate = new Date(this.fetchData[i].skillRatingToDate);\r\n if (currentDate > userskillRatingToDate) {\r\n this.fetchData[i][\"leaveStyle\"] = \"red\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n // validate resoucre leaving date should be equal or lessthen from current date\r\n private countActiveAndInactiveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let isFound = false;\r\n //remove user from the list if having leave date less then current date\r\n let currentTime = this.common.getTime(new Date());\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let leavingTime = this.common.getTime(this.fetchData[i].skillRatingToDate);\r\n if (currentTime > leavingTime) {\r\n isFound = true;\r\n }\r\n }\r\n if (isFound) {\r\n this.fetchData[i][\"leaveUserCSS\"] = \"leaveUserCSS\";\r\n } else {\r\n this.fetchData[i][\"leaveUserCSS\"] = \"\";\r\n }\r\n }\r\n }\r\n\r\n // suave user information\r\n private onSubmit(skillRatingForm, isFunctional) {\r\n if (isFunctional) {\r\n if (this.functionalSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n } else {\r\n if (this.behavioralSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n }\r\n let skillRatingData = this.setUserSkillData(skillRatingForm, this.userUpdatedId, isFunctional);\r\n let currentUserSkill = this.setUserCurrentSkillData(skillRatingForm, this.userUpdatedId, isFunctional)\r\n this.loading = true;\r\n this.commonService.saveSkillRatingData(skillRatingData, currentUserSkill, isFunctional).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', data);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any, isFunctional) {\r\n let userSkillData = [];\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n let skillObj = {};\r\n skillObj[\"userId\"] = userId;\r\n skillObj[\"skillId\"] = this.skillData[i].skillId;\r\n skillObj[\"skillScore\"] = this.getScoreBySkillName(userFormDetails[this.skillData[i].skillName]);\r\n skillObj[\"skillRatingBy\"] = this.users.emailAddress;\r\n skillObj[\"skillRatingFromDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingFromDate);\r\n skillObj[\"skillRatingToDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingToDate);\r\n skillObj[\"createDate\"] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n let skillObj = {};\r\n skillObj[\"userId\"] = userId;\r\n skillObj[\"skillId\"] = this.behSkillList[i].skillId;\r\n skillObj[\"skillScore\"] = this.getScoreBySkillName(userFormDetails[this.behSkillList[i].skillName]);\r\n skillObj[\"skillRatingBy\"] = this.users.emailAddress;\r\n skillObj[\"skillRatingFromDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingFromDate);\r\n skillObj[\"skillRatingToDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingToDate);\r\n skillObj[\"createDate\"] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n private getScoreBySkillName(skillName) {\r\n let score = 1;\r\n if (skillName && skillName.trim().length > 0) {\r\n for (let i = 0; i < this.skillRatingData.length; i++) {\r\n if (this.skillRatingData[i].ratingName.toLowerCase() == skillName.toLowerCase()) {\r\n score = this.skillRatingData[i].score;\r\n break;\r\n }\r\n }\r\n }\r\n return score;\r\n }\r\n //set user skill data\r\n private setUserCurrentSkillData(userFormDetails: any, userId: any, isFunctional) {\r\n let userSkillData = [];\r\n console.log(\"userFormDetails\", userFormDetails)\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n let skillObj = {};\r\n skillObj[\"userId\"] = userId;\r\n skillObj[\"skillId\"] = this.skillData[i].skillId;\r\n skillObj[\"skillLevel\"] = Number(userFormDetails[this.skillData[i].skillName]);\r\n skillObj[\"createdByEmail\"] = this.users.emailAddress;\r\n skillObj[\"skillRatingFromDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingFromDate);\r\n skillObj[\"skillRatingToDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingToDate);\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n let skillObj = {};\r\n skillObj[\"userId\"] = userId;\r\n skillObj[\"skillId\"] = this.behSkillList[i].skillId;\r\n skillObj[\"skillLevel\"] = Number(userFormDetails[this.behSkillList[i].skillName]);\r\n skillObj[\"createdByEmail\"] = this.users.emailAddress;\r\n skillObj[\"skillRatingFromDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingFromDate);\r\n skillObj[\"skillRatingToDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingToDate);\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n //save skills data\r\n private saveSkillsData(userSkillData, ) {\r\n this.commonService.saveSkillsData(userSkillData, this.users.emailAddress).pipe(first()).subscribe(\r\n data => {\r\n if (data && data != null) {\r\n this.functionalSkillRatingForm.reset();\r\n localStorage.setItem('errorMsg', 'User successfully added as a TR Nominee');\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //set start date\r\n private setStartDate() {\r\n let currentDate = new Date();\r\n this.config.minDate = { year: currentDate.getFullYear(), month: (currentDate.getMonth() + 1), day: currentDate.getDate() };\r\n }\r\n\r\n //set end dates\r\n private setEndDate() {\r\n let currentDate = new Date();\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n currentDate.setMonth(currentDate.getMonth() + 3);\r\n if (this.functionalSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else if (this.behavioralSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else {\r\n localStorage.setItem('errorMsg', 'Please select Start Date');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n //forward to next section\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward to login page\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
TR Nominee Functional Skill Rating Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
TR Nominee Behavioral Skill Rating Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Skills Rating Section

\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 \r\n \r\n \r\n \r\n \r\n
S.No.Employee NameTR Nominee ManagerFunctional RatingBehavioral Rating
\r\n
{{fetchData.indexOf(fetchuserData) + 1}}
\r\n
\r\n
{{fetchuserData.userName}}
\r\n
\r\n
{{fetchuserData.resourceManager}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","\n\n\n
\n
\n
\n
\n
\n
\n
\n

Trainings

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Trainings
Content Gathering Training
SME Management Training
SME Interviewing Skill Training
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-training',\n templateUrl: './training.component.html',\n styleUrls: ['./training.component.css']\n})\nexport class TrainingComponent implements OnInit {\n loading: boolean = false;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { CommonService } from './service/commons-service';\nimport { MailService } from './service/mail.service';\nimport { AppConfig, Common } from './util';\nimport { AppComponent } from './app.component';\nimport { LoginComponent } from './login';\nimport { HeaderCustomComponent } from './header/headerCustom.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { DataTablesModule } from 'angular-datatables';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport {NgbModule, NgbAlertModule} from '@ng-bootstrap/ng-bootstrap';\nimport { ModalModule } from 'ngx-bootstrap/modal'; \nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { AddResourceComponent } from './addResource/addResource.component';\nimport { SidebarWrapperComponent } from './sidebarWrapper/sidebarWrapper.component';\nimport { InterventionComponent } from './resourceIntervention/intervention.component';\nimport { ScoreComputationComponent } from './scoreComputation/scoreComputation.component';\nimport { SkillRatingSectionComponent } from './skillRatingSection/skillRatingSection.component';\nimport { SelfRatingSectionComponent } from './selfRatingSection/selfRatingSection.component';\nimport { ManagerRatingSectionComponent } from './managerRatingSection/managerRatingSection.component';\nimport { AdminDashboardComponent } from './adminDashboard/adminDashboard.component';\nimport { IBUComponent } from './ibu/ibu.component';\nimport { AdminSidebarComponent } from './admin-sidebar/admin-sidebar.component';\nimport { TowerComponent } from './tower/tower.component';\nimport { ManagementUsersComponent } from './managementUser/managementusers.component';\nimport { AdminUserComponent } from './superAdminUser/adminuser.component';\nimport { FunctionalSkillMasterComponent } from './functionalSkillMaster/functionalSkillMaster.component';\nimport { BehavioralSkillMasterComponent } from './behavioralSkillMaster';\nimport { SkillRatingMasterComponent } from './skillRatingMaster/skillRatingMaster.component';\nimport { UserDashboardComponent } from './user-dashboard/user-dashboard.component';\nimport { PositionLadderComponent } from './position-ladder/position-ladder.component';\nimport { TrainingComponent } from './training/training.component';\nimport { NominateComponent } from './nominate/nominate.component';\nimport { InterestedUsersComponent } from './interested-users/interested-users.component';\nimport { RatingHistoryComponent } from './rating-history/rating-history.component';\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { CompetencyReportComponent } from './competency-report/competency-report.component';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport {MatExpansionModule} from '@angular/material/expansion';\n\nconst materialModules = [\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatDialogModule,\n MatTabsModule,\n MatExpansionModule\n];\n\n@NgModule({\n declarations: [\n AppComponent,\n LoginComponent,\n DashboardComponent,\n HeaderCustomComponent,\n AddResourceComponent,\n SidebarWrapperComponent,\n InterventionComponent,\n ScoreComputationComponent,\n SkillRatingSectionComponent,\n SelfRatingSectionComponent,\n ManagerRatingSectionComponent,\n AdminDashboardComponent,\n IBUComponent,\n AdminSidebarComponent,\n TowerComponent,\n ManagementUsersComponent,\n AdminUserComponent,\n FunctionalSkillMasterComponent,\n BehavioralSkillMasterComponent,\n SkillRatingMasterComponent,\n UserDashboardComponent,\n PositionLadderComponent,\n TrainingComponent,\n NominateComponent,\n InterestedUsersComponent,\n RatingHistoryComponent,\n BreadcrumbComponent,\n CompetencyReportComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n ReactiveFormsModule,\n FormsModule,\n HttpClientModule,\n NgbModule,\n NgbAlertModule,\n ModalModule.forRoot(), \n BrowserAnimationsModule,\n DataTablesModule,\n ...materialModules,\n NgMultiSelectDropDownModule.forRoot()\n ],\n exports: [\n ...materialModules\n ],\n providers: [\n DatePipe,\n MailService,\n AppConfig,\n CommonService,\n Common,\n {provide: LocationStrategy, useClass: HashLocationStrategy}\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, Compiler } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\n\r\n@Component({\r\n selector: 'headerCustom',\r\n templateUrl: 'headerCustom.component.html',\r\n styleUrls: ['headerCustom.component.css'],\r\n})\r\nexport class HeaderCustomComponent implements OnInit {\r\n loading: boolean = false;\r\n newNomination = '';\r\n users: any = {};\r\n isAppr: number;\r\n interesteNominee: any[] = [];\r\n // private submitted = false;\r\n isNomibtnShow: boolean = true;\r\n userId: any = 0;\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n userRoll: number = 0;\r\n userType: any = '';\r\n showNominateButton:boolean = false\r\n constructor(\r\n private router: Router,\r\n // private formBuilder: FormBuilder,\r\n // private excelService: ExcelService,\r\n private commonService: CommonService,\r\n // private common: Common,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n // this.users = this.users.userData;\r\n\r\n // this.loginUserName = this.users.userData.userFullName;\r\n // this.users.userFullName = this.users.userFullName.toLowerCase();\r\n // this.towerId = this.users.towerId;\r\n\r\n if (this.users.userFullName) {\r\n this.loginUserName = this.users.userData.userFullName;\r\n } else {\r\n this.loginUserName = this.users.userData.userName;\r\n }\r\n this.userRoll = this.users.userData.userRoll;\r\n\r\n switch (this.users.userData.userRoll) {\r\n case '1':\r\n this.userType = 'Super Admin';\r\n break;\r\n case '2':\r\n this.userType = 'Admin';\r\n break;\r\n case '3':\r\n this.userType = 'HR';\r\n break;\r\n case '4':\r\n this.userType = 'Supervisor';\r\n break;\r\n case '5':\r\n this.userType = 'Employee';\r\n break;\r\n default:\r\n this.userType = 'Employee';\r\n break;\r\n }\r\n }\r\n\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n }\r\n\r\n openDashboard() {\r\n if (JSON.parse(localStorage.user).userData.userRoll == '1')\r\n this.router.navigate(['/adminDashboard']);\r\n else if (JSON.parse(localStorage.user).userData.userRoll == '5')\r\n this.router.navigate(['/selfRating']);\r\n else if (JSON.parse(localStorage.user).userData.userRoll == '3') {\r\n this.isNomibtnShow = false;\r\n this.router.navigate(['/dashboard']);\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == '1') {\r\n this.isNomibtnShow = false;\r\n this.router.navigate(['/dashboard']);\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == '2') {\r\n this.isNomibtnShow = false;\r\n this.router.navigate(['/dashboard']);\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == '4') {\r\n this.isNomibtnShow = false;\r\n this.router.navigate(['/dashboard']);\r\n } else this.router.navigate(['/dashboard']);\r\n }\r\n\r\n ngOnInit() {\r\n const userData = JSON.parse(localStorage.user).userData\r\n if(userData.userRoll == 3 || userData.batchNo == 6)\r\n this.showNominateButton = true;\r\n\r\n if (JSON.parse(localStorage.user).userData.userRoll == 3) {\r\n this.isNomibtnShow = false;\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == 2) {\r\n this.isNomibtnShow = false;\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == 1) {\r\n this.isNomibtnShow = false;\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == 4) {\r\n this.isNomibtnShow = false;\r\n }\r\n this.getAllUsersForTower();\r\n }\r\n\r\n // logout and forward to login page\r\n logout() {\r\n this.commonService.logout();\r\n }\r\n private checkNewNomination() {\r\n let formDetails = {\r\n newNomination: 'New Nomination Proceed',\r\n userId: this.userId,\r\n };\r\n this.commonService\r\n .userNewNominee(formDetails)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {},\r\n (error) => {\r\n localStorage.setItem('errorMsg', 'New Nomination failed');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getAllUsersForTower() {\r\n var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n var getUserId = JSON.parse(localStorage.user).userData.userId;\r\n var formDetails = {\r\n towerId: towerId,\r\n userId: getUserId,\r\n };\r\n this.commonService\r\n .getAllResoucesForTower(formDetails)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.interesteNominee = data;\r\n let appr;\r\n let newNomi = '';\r\n for (let i in this.interesteNominee) {\r\n if (this.interesteNominee[i].userId == getUserId) {\r\n appr = this.interesteNominee[i].isApproved;\r\n newNomi = this.interesteNominee[i].newNomination;\r\n }\r\n this.newNomination = newNomi;\r\n this.isAppr = appr;\r\n this.userId = getUserId;\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n onNomiClick() {\r\n if (this.isAppr == 0) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'You Have Already Nominated For Role! Please Check HR Comment In View Dtails, Any Concern Contact To Your HR'\r\n );\r\n this.loading = true;\r\n this.commonService.showerror();\r\n localStorage.setItem('isReload', 'true');\r\n localStorage.removeItem('errorMsg');\r\n this.loading = false;\r\n } else if (this.isAppr == 1) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'You have Already Nominated For next Role! Please contact to HR for further query'\r\n );\r\n this.loading = true;\r\n this.commonService.showerror();\r\n localStorage.setItem('isReload', 'true');\r\n localStorage.removeItem('errorMsg');\r\n this.loading = false;\r\n } else if (this.isAppr == 2) {\r\n if (!this.newNomination) {\r\n this.router.navigate(['/nominate']);\r\n this.checkNewNomination();\r\n } else {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'You have Already Nominated for next role! Please contact to HR for further query'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n } else {\r\n if (!this.newNomination) {\r\n this.router.navigate(['/nominate']);\r\n this.checkNewNomination();\r\n } else {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'You have Already Applied! Please contact to HR for further query'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n }\r\n }\r\n}\r\n","\r\n","import {\n Component,\n OnInit,\n EventEmitter,\n Output,\n ViewChild,\n ElementRef,\n Renderer2,\n} from '@angular/core';\nimport { CommonService } from '../service/commons-service';\nimport { first, retry } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport {\n FormControl,\n Validators,\n FormBuilder,\n FormGroup,\n} from '@angular/forms';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-interested-users',\n templateUrl: './interested-users.component.html',\n styleUrls: ['./interested-users.component.css'],\n})\nexport class InterestedUsersComponent implements OnInit {\n @ViewChild('closeApproveModel1', { read: ElementRef })\n closeApproveModel1: ElementRef;\n showHideModel: boolean = true;\n loading: boolean = false;\n myGroup: any;\n status = '';\n appRjctbtn: number = 1;\n viewNominatedData: any[] = [];\n isNominated: number = 0;\n getUserId: number = 0;\n getTowerId: number = 0;\n isApproved: number = 0;\n whyApproved = '';\n index: number = 0;\n interesteNominee: any[] = [];\n users: any = {};\n show: boolean = false;\n buttonName: any = 'HideApp';\n buttonNameR: any = 'HideAppR';\n positionList: any = [];\n ibuList: any = [];\n ibu: any = '';\n functionList: any = [];\n function: any = '';\n selectedIbuId: any = null;\n towerList: any = [];\n alltowerList: any = [];\n selectedTowerId: any;\n tower: any = '';\n nextRole: any = '';\n dataForm: FormGroup;\n showOtherNextRole: boolean = false;\n initialFormValueSet: boolean = false;\n @Output() valueChange = new EventEmitter();\n maxCharForWhyToMoveLength: any = 500;\n maxLeftCharacterWhyToMove: any = this.maxCharForWhyToMoveLength;\n fromApprove: any = '';\n selectedTower = new FormControl();\n constructor(\n private commonService: CommonService,\n private formBuilder: FormBuilder,\n private router: Router\n ) {}\n\n ngOnInit() {\n if (JSON.parse(localStorage.user).userData.userRoll == 5) {\n this.router.navigate(['/selfRating']);\n }\n this.getAllResoucesForTower();\n\n this.getAllIBUInfo();\n //this.getTowerList()\n\n //this.initalizeUserForm();\n this.myGroup = new FormGroup({\n fromApprove: new FormControl('', Validators.required),\n formReject: new FormControl('', Validators.required),\n });\n }\n\n initImportUserForm() {\n this.dataForm = this.formBuilder.group({\n userFile: ['', Validators.required],\n ibu: [],\n });\n }\n\n toggle(num) {\n this.appRjctbtn = num;\n this.show = !this.show;\n\n // CHANGE THE NAME OF THE BUTTON.\n if (this.show) this.buttonName = 'ShowAppR';\n else this.buttonName = 'HideAppR';\n }\n private getAllResoucesForTower() {\n this.loading = true;\n var formDetails = {\n towerId: JSON.parse(localStorage.user).userData.towerId,\n userId: JSON.parse(localStorage.user).userData.userId,\n };\n this.commonService\n .getAllResoucesForTower(formDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.interesteNominee = data;\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getAllIBUInfo() {\n this.loading = true;\n this.commonService\n .getAllIBUInfo()\n .pipe(first())\n .subscribe(\n (data) => {\n this.ibuList = data;\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getTowerList() {\n this.loading = true;\n this.commonService\n .getTowerList()\n .pipe(first())\n .subscribe(\n (data) => {\n this.towerList = data;\n this.alltowerList = data;\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n //fetch Nominee user data\n private onclickViewNomineeUserData(\n towerid: number,\n userid: number,\n index: number\n ) {\n this.initialFormValueSet = false;\n this.positionList = [];\n this.nextRole = '';\n this.getUserId = userid;\n this.getTowerId = towerid;\n this.index = index;\n this.viewNominatedData = this.interesteNominee[index];\n if (this.viewNominatedData) {\n this.tower = this.viewNominatedData['towerId'];\n this.nextRole = this.viewNominatedData['nextPosition'];\n this.fetchPositions(this.viewNominatedData['towerId']);\n this.setFieldsData();\n console.log(this.viewNominatedData['towerId']);\n debugger;\n\n //this.getFunctionListByIbuId(this.viewNominatedData['ibuId']);\n // let tower = this.towerList.find(\n // (tower) => tower.towerId == this.viewNominatedData['towerId']\n // );\n // debugger\n // this.getTowersListByIbuId(\n // this.viewNominatedData['ibuId'],\n // this.viewNominatedData['towerId']\n // );\n\n // this.ibu = parseInt(tower.ibuId);\n\n // if(this.positionList.length) {\n // this.nextRole =this.viewNominatedData['nextPosition'];\n // console.log('this.nextRole', this.nextRole);\n // }\n if (this.viewNominatedData['nextPosition'] == null) {\n this.nextRole = null;\n this.showOtherNextRole = true;\n }\n if (this.viewNominatedData['whyApprove'] == null) {\n this.fromApprove = '';\n this.maxLeftCharacterWhyToMove = 500;\n }\n }\n }\n //close dailog box\n private closeModels() {\n this.closeApproveModel1.nativeElement.click();\n }\n private onClickAprvNRjct() {\n let oldApprsta;\n let WhyApprRjc = '';\n var isAppRj;\n for (let i in this.interesteNominee) {\n if (this.interesteNominee[i].userId == this.getUserId) {\n isAppRj = this.interesteNominee[i].isApproved;\n WhyApprRjc = this.interesteNominee[i].whyApprove;\n }\n oldApprsta = isAppRj;\n WhyApprRjc = WhyApprRjc;\n }\n if (!this.nextRole) {\n localStorage.setItem(\n 'errorMsg',\n 'Please request to TR team for adding new Role !'\n );\n localStorage.setItem('isReload', 'false');\n this.commonService.showerror();\n return;\n }\n if (this.appRjctbtn === 2) {\n isAppRj = 0;\n this.status = this.myGroup.value.formReject;\n } else if (this.appRjctbtn === 1) {\n isAppRj = 1;\n this.status = this.myGroup.value.fromApprove;\n } else {\n isAppRj = 2;\n this.status = 'User is new, Request is pending for Nomination';\n }\n\n let ibuValue = '';\n const formIbu: any = document.querySelector('#form-ibu');\n if (formIbu) {\n ibuValue = formIbu.value;\n }\n\n let towerValue = '';\n const formTower: any = document.querySelector('#form-tower');\n if (formIbu) {\n towerValue = formTower.value;\n }\n\n let functionValue = '';\n const formFunction: any = document.querySelector('#form-function');\n if (formIbu) {\n functionValue = formFunction.value;\n }\n\n let nextRoleValue = '';\n const formNextRole: any = document.querySelector('#form-next-role');\n if (formIbu) {\n nextRoleValue = formNextRole.value;\n }\n\n var formDetails = {\n userId: this.getUserId,\n whyApprove: this.status,\n isApproved: isAppRj,\n ibuId: ibuValue,\n towerId: towerValue,\n functionId: functionValue,\n nextPosition: nextRoleValue,\n //nextPosition:\n // this.nextRole == null || this.nextRole == 'null' ? null : this.nextRole,\n };\n var formStatusDetails = {\n userId: this.getUserId,\n oldStatus: oldApprsta,\n newStatus: isAppRj,\n whyApprRjctOld: WhyApprRjc,\n whyApprRjctNew: this.status,\n };\n\n if (this.status) {\n if (isAppRj == 1) {\n oldApprsta = isAppRj;\n WhyApprRjc = this.status;\n this.commonService\n .approveDisapprove(formDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n // this.myGroup.reset();\n this.insertUserHistory(isAppRj);\n localStorage.setItem(\n 'errorMsg',\n 'Request has been approved successfully!!'\n );\n localStorage.setItem('isReload', 'true');\n this.commonService.showerror();\n this.closeModels();\n localStorage.removeItem('errorMsg');\n this.interesteNominee[this.index].isApproved = isAppRj;\n this.commonService\n .statusHistoryData(formStatusDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.getAllResoucesForTower();\n //location.reload();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n // setTimeout(()=> {\n // window.location.reload();\n // }, 5000);\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n } else {\n this.commonService\n .approveDisapprove(formDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n // this.myGroup.reset();\n this.insertUserHistory(isAppRj);\n localStorage.setItem(\n 'errorMsg',\n 'Request has been rejected successfully!!'\n );\n localStorage.setItem('isReload', 'true');\n this.commonService.showerror();\n this.closeModels();\n localStorage.removeItem('errorMsg');\n this.commonService\n .statusHistoryData(formStatusDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.getAllResoucesForTower();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n } else {\n localStorage.setItem('errorMsg', 'Please fill the Required Field!');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n }\n\n valueChanged() {\n // You can give any function name\n this.valueChange.emit(this.status);\n }\n\n insertUserHistory(isAppRj) {\n this.commonService\n .getUserDetail(this.getUserId)\n .pipe(first())\n .subscribe(\n (result) => {\n if (result) {\n // if(result.isApproved != isAppRj) {\n var userProfileHistory = {\n empCode: result[0].empCode,\n userName: result[0].userName,\n typeResource: result[0].typesResource,\n joinDate: result[0].joinDate,\n leaveDate: result[0].leaveDate,\n team: result[0].team,\n SUPCode: result[0].SUPCode,\n SLS: result[0].SLS,\n SLSE: result[0].SLSE,\n SLSUPCode: result[0].SLSUPCode,\n // 'SLST': userData.SLST,\n TTA: result[0].TTA,\n currentPosition: result[0].currentPosition,\n nextPosition: Number(result[0].nextPosition),\n email: result[0].email,\n resourceManager: result[0].resourceManager,\n resourceManagerEmail: result[0].resourceManagerEmail,\n empStatus: parseInt(result[0].empStatus),\n batchNo: result[0].batchNo,\n journeyCompletionDate: result[0].journeyCompletionDate\n ? moment(result[0].journeyCompletionDate).format('YYYY-MM-DD')\n : ' ',\n isApproved: isAppRj,\n createdByEmail: JSON.parse(localStorage.getItem('user')).userData\n .emailAddress,\n };\n if (result) {\n if (result.isApproved != isAppRj) {\n this.commonService\n .saveUserProfileHistory(userProfileHistory)\n .pipe(first())\n .subscribe(\n (result) => {},\n (error) => {}\n );\n }\n }\n }\n },\n (error) => {}\n );\n }\n // /fetch user information data\n private fetchPositions(towerId, positionId = '') {\n this.commonService.getAllPositionInfo(towerId).subscribe(\n (data) => {\n this.positionList = data;\n const formTower: any = document.querySelector('#form-next-role');\n if (formTower) {\n setTimeout(() => {\n formTower.value = positionId;\n }, 200);\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n public setFieldsData() {\n this.commonService\n .allInfoPosition(this.viewNominatedData['nextPosition'])\n .pipe(first())\n .subscribe(\n (data) => {\n if (data && data.length) {\n const response = data[0];\n this.viewNominatedData['isNextTowerSame'] =\n response.towerId == this.viewNominatedData['towerId'];\n this.onChangeIBU(null, response);\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getTowersListByIbuId(ibuId, towerId, dataValue) {\n this.commonService.getTowersListByIbuId(ibuId, null).subscribe(\n (data) => {\n this.towerList = data;\n this.alltowerList = data;\n if (dataValue) {\n const formTower: any = document.querySelector('#form-tower');\n\n if (formTower) {\n setTimeout(() => {\n formTower.value = dataValue.towerId;\n }, 200);\n }\n\n this.fetchPositions(dataValue.towerId, dataValue.positionId);\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getFunctionListByIbuId(ibuId, dataValue) {\n this.functionList = [];\n this.commonService.getFunctionListByIbuId(ibuId).subscribe(\n (data) => {\n this.functionList = data;\n if (dataValue) {\n const formFunction: any = document.querySelector('#form-function');\n console.log({ dataValue, formFunction });\n\n if (formFunction) {\n setTimeout(() => {\n formFunction.value = dataValue.functionId;\n }, 200);\n }\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private intiateSetFormValues() {\n //this.setIbuValue(this.viewNominatedData['nextPositionIbuId'])\n //this.setFunctionValue(this.viewNominatedData['nextPositionIbuId'])\n }\n\n onSelectNextRole(event) {\n let nextRoleVal = event.target.value;\n this.showOtherNextRole = false;\n if (nextRoleVal == null || nextRoleVal == 'null') {\n this.showOtherNextRole = true;\n }\n this.nextRole = nextRoleVal;\n }\n\n private onChangeIBU(event, dataValue) {\n console.log({ dataValue });\n debugger;\n let ibu = dataValue ? dataValue.ibuId : event.target.value;\n\n if (dataValue) {\n const formIbu: any = document.querySelector('#form-ibu');\n\n if (formIbu) {\n formIbu.value = dataValue.ibuId;\n }\n }\n\n this.resetFunctionValue();\n this.resetTowerValue();\n if (ibu) {\n this.getFunctionListByIbuId(ibu, dataValue);\n this.getTowersListByIbuId(ibu, 0, dataValue);\n } else {\n this.resetFunctionList();\n this.resetTowerList();\n }\n }\n\n private onChangeFunction(event) {\n let functionId = event.target.value;\n this.resetTowerValue();\n if (functionId) {\n this.towerList = this.alltowerList.filter(\n (item) => item.functionId == functionId\n );\n } else {\n this.towerList = this.alltowerList;\n }\n }\n private onChangeTower(event) {\n this.fetchPositions(event.target.value);\n }\n\n private resetFunctionValue() {\n this.function = '';\n }\n\n private resetTowerValue() {\n this.tower = '';\n }\n\n private resetFunctionList() {\n this.functionList = [];\n }\n\n private resetTowerList() {\n this.towerList = [];\n }\n\n /**\n * Apply validation on string by count string length.\n */\n onTextChange() {\n if (this.fromApprove.length) {\n this.maxLeftCharacterWhyToMove =\n this.maxCharForWhyToMoveLength - this.fromApprove.length;\n if (this.fromApprove.length > this.maxCharForWhyToMoveLength) {\n this.fromApprove = this.fromApprove.slice(\n 0,\n this.maxCharForWhyToMoveLength\n );\n }\n }\n }\n\n test(val) {\n console.log(val);\n return val;\n }\n}\n","\n\n\n\n
\n
\n
\n
\n
\n
\n
\n

Interested Applicant

\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
S.No.Emp CodeEmployee NameEmail idCurrent RoleNext RoleStatusNominated AtView
\n
\n
\n
0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
S.No.Emp CodeEmp NameEmail idCurrent RoleNext RoleStatusNominated AtView
\n
{{ i + 1 }}
\n
\n
{{ element.empCode }}
\n
\n
{{ element.userName }}
\n
\n
{{ element.email }}
\n
\n
{{ element.CurrentPositionName }}
\n
\n
{{ element.NextPositionName }}
\n
\n \n \n {{ commonService.getUserStatus(element.isApproved) }}\n \n \n
\n {{ element.approvedAt ? element.approvedAt : \"NA\" }}\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n \n\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
Applicant Detail Form
\n \n ×\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n\n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n\n \n \n \n \n \n \n \n \n\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, Compiler } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\n\r\n@Component({\r\n templateUrl: 'scoreComputation.component.html',\r\n styleUrls: ['scoreComputation.component.css'],\r\n})\r\nexport class ScoreComputationComponent implements OnInit {\r\n users: any = {};\r\n config: any;\r\n loading = false;\r\n userList: any[] = [];\r\n userFunSkillList: any[] = [];\r\n userFunSkillRatingList: any[] = [];\r\n userSkillRatingData: any[] = [];\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n skillList: any[] = [];\r\n behSkillList: any[] = [];\r\n userBehSkillRatingList: any[] = [];\r\n selectedPositionId: Number = 0;\r\n selectedCombinedId: any;\r\n userBehSkillList: any[] = [];\r\n skillRatingList: any[] = [];\r\n selectedUserId: any = 'Select User';\r\n inactiveUserCount = 0;\r\n activeUserCount = 0;\r\n functionalActive = '';\r\n behavioralActive = '';\r\n selectedType: any = '';\r\n isSkillDataPresent: any = true;\r\n nextPosition: any = '';\r\n currentPositionName: any = '';\r\n nextPositionName: any = '';\r\n nextPositionId: any = '';\r\n\r\n positionList: any = [];\r\n\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n\r\n private common: Common,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.users = this.users.userData;\r\n\r\n this.loginUserName = this.users.userFullName;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = {\r\n year: currentDate.getFullYear() - 10,\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n }\r\n\r\n ngOnInit() {\r\n this.getSkillDetails();\r\n this.getAllBehSkills();\r\n this.getUsersList();\r\n this.getSkillRatingDetails();\r\n this.fetchPositions();\r\n }\r\n\r\n // Get Skill Details From Skill Master\r\n private getSkillDetails() {\r\n this.loading = true;\r\n this.commonService\r\n .postAllFunSkills(\r\n JSON.parse(localStorage.getItem('user')).userData.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.skillList = data;\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Competencies Data Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkills() {\r\n this.loading = true;\r\n this.commonService\r\n .postAllBehSkills(\r\n JSON.parse(localStorage.getItem('user')).userData.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.behSkillList = data;\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Behavioral Skills Data Not Found'\r\n );\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Skill Details From Skill Master\r\n private getSkillRatingDetails() {\r\n this.loading = true;\r\n this.commonService\r\n .fetchSkillRatingData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.skillRatingList = data;\r\n } else {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Competencies Rating Data Not Found'\r\n );\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /Get All Users information\r\n private getUsersList() {\r\n this.loading = true;\r\n var userEmail = '';\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n this.commonService\r\n .getUsersListByPost(\r\n JSON.parse(localStorage.getItem('user')).userData.towerId,\r\n userEmail\r\n )\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.userList = data;\r\n } else {\r\n localStorage.setItem('errorMsg', 'Users Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get All Users information\r\n private getNextPosition() {\r\n this.loading = true;\r\n this.isSkillDataPresent = false;\r\n this.functionalActive = '';\r\n this.behavioralActive = '';\r\n if (this.selectedCombinedId.split('_')[0] == '') return;\r\n\r\n var currentUserId = this.selectedCombinedId.split('_')[0];\r\n for (let i = 0; i < this.userList.length; i++) {\r\n if (currentUserId == this.userList[i].userId) {\r\n this.currentPositionName = this.userList[i].positionName;\r\n this.nextPositionId = this.userList[i].nextPosition;\r\n }\r\n }\r\n\r\n console.log('cur level', this.selectedCombinedId.split('_')[0]);\r\n var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n this.commonService\r\n .getNextPosition(this.selectedCombinedId.split('_')[0])\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n console.log('returneed data', data);\r\n if (data && data.length > 0) {\r\n console.log(data);\r\n this.nextPosition = data[0].positionName;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i = 0; i < this.positionList.length; i++) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n\r\n // /fetch user information data\r\n private fetchPositions() {\r\n //var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n this.commonService\r\n .getAllPositionInfo(null)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.positionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getUserFunSkillRatingInfo() {\r\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\r\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\r\n let userNextPositionId = this.selectedCombinedId.split('_')[2];\r\n let selectedUserTowerId = this.selectedCombinedId.split('_')[3];\r\n this.nextPositionId = userNextPositionId;\r\n\r\n if (!this.selectedUserId || this.selectedUserId == 'Select User') {\r\n localStorage.setItem('errorMsg', 'Please select user first!');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n return;\r\n }\r\n this.loading = true;\r\n let userIds = [Number(this.selectedUserId)];\r\n var userId: any = Number(this.selectedUserId);\r\n this.userSkillRatingData = [];\r\n\r\n this.functionalActive = 'active';\r\n this.behavioralActive = '';\r\n const towerId = JSON.parse(localStorage.getItem('user')).userData.towerId\r\n ? JSON.parse(localStorage.getItem('user')).userData.towerId\r\n : selectedUserTowerId;\r\n this.commonService\r\n .getUserFunSkillRatingInfo(userId, undefined, this.nextPositionId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.isSkillDataPresent = true;\r\n this.userFunSkillRatingList = data;\r\n console.log(\r\n 'this.userFunSkillRatingList',\r\n this.userFunSkillRatingList\r\n );\r\n this.filterFuncomputeScoreList();\r\n // this.filterScoreComputation(true);\r\n } else {\r\n this.loading = false;\r\n this.isSkillDataPresent = false;\r\n localStorage.setItem('errorMsg', 'User skill rating not found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.isSkillDataPresent = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //Get user skills data\r\n private getUserBehSkillRatingInfo() {\r\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\r\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\r\n let userNextPositionId = this.selectedCombinedId.split('_')[2];\r\n let selectedUserTowerId = this.selectedCombinedId.split('_')[3];\r\n this.nextPositionId = userNextPositionId;\r\n if (!this.selectedUserId || this.selectedUserId == 'Select User') {\r\n localStorage.setItem('errorMsg', 'Please select user first!');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n return;\r\n }\r\n this.loading = true;\r\n let userIds = [Number(this.selectedUserId)];\r\n var userId: any = Number(this.selectedUserId);\r\n this.userSkillRatingData = [];\r\n this.functionalActive = '';\r\n this.behavioralActive = 'active';\r\n // this.nextPositionId\r\n const towerId = JSON.parse(localStorage.getItem('user')).userData.towerId\r\n ? JSON.parse(localStorage.getItem('user')).userData.towerId\r\n : selectedUserTowerId;\r\n console.log(\r\n 'Compute Score',\r\n userId,\r\n JSON.parse(localStorage.getItem('user')).userData.towerId,\r\n userNextPositionId\r\n );\r\n this.commonService\r\n .getUserBehSkillRatingInfo(userId, undefined, userNextPositionId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.isSkillDataPresent = true;\r\n console.log('data', data);\r\n this.userBehSkillRatingList = data;\r\n this.filterBehComputeScoreList();\r\n\r\n // this.filterScoreComputation(false);\r\n } else {\r\n this.loading = false;\r\n this.isSkillDataPresent = false;\r\n localStorage.setItem('errorMsg', 'User skill rating not found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.isSkillDataPresent = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n /**\r\n * Filter Beh. Compute Score List.\r\n */\r\n filterBehComputeScoreList() {\r\n console.log(\r\n 'Compute: this.userBehSkillRatingList',\r\n this.userBehSkillRatingList\r\n );\r\n this.selectedType = 'Beh';\r\n for (let j = 0; j < this.userBehSkillRatingList.length; j++) {\r\n let skillRatingObj = {};\r\n skillRatingObj['skillId'] = this.userBehSkillRatingList[j].skillId;\r\n skillRatingObj['skillName'] = this.userBehSkillRatingList[j].skillName;\r\n skillRatingObj['targetScore'] =\r\n this.userBehSkillRatingList[j].targetScore;\r\n if (\r\n this.userBehSkillRatingList[j] &&\r\n this.userBehSkillRatingList[j].skillScore &&\r\n this.userBehSkillRatingList[j].ratedByRole == 4\r\n ) {\r\n skillRatingObj['managerRating'] =\r\n this.userBehSkillRatingList[j].skillScore;\r\n } else if (\r\n this.userBehSkillRatingList[j] &&\r\n this.userBehSkillRatingList[j].skillScore &&\r\n this.userBehSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n skillRatingObj['selfRating'] =\r\n this.userBehSkillRatingList[j].skillScore;\r\n }\r\n const index = this.userSkillRatingData.findIndex(\r\n (item) => item.skillId == this.userBehSkillRatingList[j].skillId\r\n );\r\n if (index != -1 && this.userBehSkillRatingList[j].ratedByRole == 4) {\r\n this.userSkillRatingData[index].managerRating =\r\n this.userBehSkillRatingList[j].skillScore;\r\n } else if (\r\n index != -1 &&\r\n this.userBehSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n this.userSkillRatingData[index].selfRating =\r\n this.userBehSkillRatingList[j].skillScore;\r\n } else {\r\n this.userSkillRatingData.push(skillRatingObj);\r\n }\r\n }\r\n this.loading = false;\r\n return;\r\n }\r\n /**\r\n * Filter Functional Compute Score List.\r\n */\r\n filterFuncomputeScoreList() {\r\n this.selectedType = 'Fun';\r\n\r\n for (let j = 0; j < this.userFunSkillRatingList.length; j++) {\r\n let skillRatingObj = {};\r\n skillRatingObj['skillId'] = this.userFunSkillRatingList[j].skillId;\r\n skillRatingObj['skillName'] = this.userFunSkillRatingList[j].skillName;\r\n skillRatingObj['targetScore'] =\r\n this.userFunSkillRatingList[j].targetScore;\r\n if (\r\n this.userFunSkillRatingList[j] &&\r\n this.userFunSkillRatingList[j].skillScore &&\r\n this.userFunSkillRatingList[j].ratedByRole == 4\r\n ) {\r\n skillRatingObj['managerRating'] =\r\n this.userFunSkillRatingList[j].skillScore;\r\n } else if (\r\n this.userFunSkillRatingList[j] &&\r\n this.userFunSkillRatingList[j].skillScore &&\r\n this.userFunSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n skillRatingObj['selfRating'] =\r\n this.userFunSkillRatingList[j].skillScore;\r\n }\r\n const index = this.userSkillRatingData.findIndex(\r\n (item) => item.skillId == this.userFunSkillRatingList[j].skillId\r\n );\r\n if (index != -1 && this.userFunSkillRatingList[j].ratedByRole == 4) {\r\n this.userSkillRatingData[index].managerRating =\r\n this.userFunSkillRatingList[j].skillScore;\r\n } else if (\r\n index != -1 &&\r\n this.userFunSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n this.userSkillRatingData[index].selfRating =\r\n this.userFunSkillRatingList[j].skillScore;\r\n } else {\r\n this.userSkillRatingData.push(skillRatingObj);\r\n }\r\n }\r\n this.loading = false;\r\n return;\r\n }\r\n // filter user skill score computation\r\n private filterScoreComputation(isFunctional) {\r\n if (isFunctional) this.selectedType = 'Fun';\r\n else this.selectedType = 'Beh';\r\n console.log('SKILL LIST', this.skillList);\r\n console.log(\r\n 'this.userBehSkillRatingList.length',\r\n this.userBehSkillRatingList.length\r\n );\r\n this.userSkillRatingData = [];\r\n if (isFunctional) {\r\n if (this.skillList && this.skillList.length > 0) {\r\n for (let i = 0; i < this.skillList.length; i++) {\r\n if (this.skillList[i].positionId != this.nextPositionId) continue;\r\n\r\n let skillRatingObj = {};\r\n skillRatingObj['skillId'] = this.skillList[i].skillId;\r\n skillRatingObj['skillName'] = this.skillList[i].skillName;\r\n skillRatingObj['targetScore'] = this.skillList[i].targetScore;\r\n // set self and manager ratings\r\n for (let j = 0; j < this.userFunSkillRatingList.length; j++) {\r\n if (\r\n this.skillList[i].skillId ==\r\n this.userFunSkillRatingList[j].skillId &&\r\n this.userFunSkillRatingList[j].ratedByRole == 4\r\n ) {\r\n if (\r\n this.userFunSkillRatingList[j] &&\r\n this.userFunSkillRatingList[j].skillScore\r\n ) {\r\n skillRatingObj['managerRating'] =\r\n this.userFunSkillRatingList[j].skillScore;\r\n }\r\n } else if (\r\n this.skillList[i].skillId ==\r\n this.userFunSkillRatingList[j].skillId &&\r\n this.userFunSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n if (\r\n this.userFunSkillRatingList[j] &&\r\n this.userFunSkillRatingList[j].skillScore\r\n ) {\r\n skillRatingObj['selfRating'] =\r\n this.userFunSkillRatingList[j].skillScore;\r\n }\r\n }\r\n }\r\n\r\n if (!skillRatingObj['managerRating']) {\r\n skillRatingObj['managerRating'] = 0;\r\n }\r\n\r\n if (!skillRatingObj['selfRating']) {\r\n skillRatingObj['selfRating'] = 0;\r\n }\r\n this.userSkillRatingData.push(skillRatingObj);\r\n }\r\n }\r\n } else {\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (this.behSkillList[i].positionId != this.nextPositionId) continue;\r\n let skillRatingObj = {};\r\n skillRatingObj['skillId'] = this.behSkillList[i].skillId;\r\n skillRatingObj['skillName'] = this.behSkillList[i].skillName;\r\n skillRatingObj['targetScore'] = this.behSkillList[i].targetScore;\r\n\r\n for (let j = 0; j < this.userBehSkillRatingList.length; j++) {\r\n if (\r\n this.behSkillList[i].skillId ==\r\n this.userBehSkillRatingList[j].skillId &&\r\n this.userBehSkillRatingList[j].ratedByRole == 4\r\n ) {\r\n if (\r\n this.userBehSkillRatingList[j] &&\r\n this.userBehSkillRatingList[j].skillScore\r\n ) {\r\n skillRatingObj['managerRating'] =\r\n this.userBehSkillRatingList[j].skillScore;\r\n }\r\n } else if (\r\n this.behSkillList[i].skillId ==\r\n this.userBehSkillRatingList[j].skillId &&\r\n this.userBehSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n if (\r\n this.userBehSkillRatingList[j] &&\r\n this.userBehSkillRatingList[j].skillScore\r\n ) {\r\n skillRatingObj['selfRating'] =\r\n this.userBehSkillRatingList[j].skillScore;\r\n }\r\n }\r\n }\r\n\r\n if (!skillRatingObj['managerRating']) {\r\n skillRatingObj['managerRating'] = 0;\r\n }\r\n\r\n if (!skillRatingObj['selfRating']) {\r\n skillRatingObj['selfRating'] = 0;\r\n }\r\n\r\n this.userSkillRatingData.push(skillRatingObj);\r\n }\r\n }\r\n }\r\n\r\n console.log('userSkillRatingData', this.userSkillRatingData);\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n private getSkillScore(SkillName) {\r\n let score = 0;\r\n if (this.skillRatingList && this.skillRatingList.length > 0) {\r\n for (let i = 0; i < this.skillRatingList.length; i++) {\r\n if (this.skillRatingList[i].ratingName == SkillName) {\r\n score = this.skillRatingList[i].score;\r\n break;\r\n }\r\n }\r\n }\r\n return score;\r\n }\r\n\r\n //Validate skill rating score data\r\n private validateSkillratingScoreData(skillScore) {\r\n if (!skillScore || skillScore == '') {\r\n return 0;\r\n }\r\n return skillScore;\r\n }\r\n\r\n //export resource history data\r\n private excelReport() {\r\n let excelExportData = [];\r\n let headers = [\r\n 'S.No.',\r\n 'Employee Name',\r\n 'TR Nominee Type',\r\n 'Joining Date',\r\n 'Leaving Date',\r\n 'Team',\r\n 'Email',\r\n 'Created By',\r\n 'HTML Level',\r\n 'Lectora Level',\r\n 'StoryLine Level',\r\n ];\r\n for (let i = 0; i < this.userList.length; i++) {\r\n let data = {};\r\n data[headers[0]] = i + 1;\r\n data[headers[1]] = this.userList[i].userName;\r\n data[headers[2]] = this.userList[i].typeResource;\r\n data[headers[3]] = new Date(this.userList[i].joinDate);\r\n data[headers[5]] = new Date(this.userList[i].leaveDate);\r\n data[headers[6]] = this.userList[i].team;\r\n data[headers[7]] = this.userList[i].email;\r\n data[headers[8]] = this.userList[i].createdByEmail;\r\n data[headers[9]] = this.userList[i].createdByEmail;\r\n data[headers[10]] = this.replaceSkillName(\r\n this.userList[i].userSkill[2].skillLevel\r\n );\r\n data[headers[11]] = this.replaceSkillName(\r\n this.userList[i].userSkill[1].skillLevel\r\n );\r\n data[headers[12]] = this.replaceSkillName(\r\n this.userList[i].userSkill[0].skillLevel\r\n );\r\n excelExportData.push(data);\r\n }\r\n this.excelService.generateExcel(headers, excelExportData, 'UserList');\r\n }\r\n\r\n //replace numbric value from skill name\r\n private replaceSkillName(skillName) {\r\n if (skillName) {\r\n skillName = skillName.replace('1_', '');\r\n skillName = skillName.replace('2_', '');\r\n skillName = skillName.replace('3_', '');\r\n }\r\n return skillName;\r\n }\r\n\r\n //forward to next section\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward to login page\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\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, ViewChild, OnInit, Compiler, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Pipe } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, FormArray, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig, NgbCalendar, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Chart } from 'chart.js';\r\n\r\n\r\nvar cl = console.log;\r\n\r\n\r\n\r\n@Component({\r\n templateUrl: 'intervention.component.html',\r\n styleUrls: ['intervention.component.css']\r\n})\r\nexport class InterventionComponent implements OnInit {\r\n @ViewChild('tableCanvas', { read: ElementRef }) tableCanvas: ElementRef;\r\n users: any = {};\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n userList: any[] = [];\r\n updateUserSkillForm: FormGroup;\r\n interventionForm: FormGroup;\r\n isEnable: boolean = false;\r\n loading: boolean = false;\r\n baseURL: any = null;\r\n selectedUserId: any = \"Select User\";\r\n headders: any[] = [\"Competency Graph\", \"Action\"];\r\n sDate: any = null;\r\n eDate: any = null;\r\n resourceSkillsData: any[] = [];\r\n resourceBehSkillsData: any[] = [];\r\n removeUsersFromList: any[] = [\"ct_reliance\", \"tc_lavoro\", \"tc_iqvia\", \"reco\", \"tw\", \"additonal\", \"recource\", \"resource\", \"boeing\", \"abb\", \"sap\", \"citi\", \"principal\", \"pb_resource\", \"lm_ra\", \"lm_resource\", \"keybank\", \"toyota\", \"csd\"];\r\n chart: any[] = [];\r\n viewContent: any = null;\r\n totalMonth: any[] = [];\r\n selectedTab: any = 1;\r\n addChartData: any[] = [];\r\n skillArray: any[] = [{ skillId: 1, skillName: \"StoryLine\" }, { skillId: 2, skillName: \"Lectora\" }, { skillId: 3, skillName: \"HTML\" }];\r\n consolidatedChartData: any = null;\r\n consolidatedBehChartData: any = null;\r\n consolidatedTableData: any = null;\r\n consolidatedBehTableData: any = null;\r\n showHideModel: boolean = true;\r\n selectedStoryLine: any = \"3_Beginner\"\r\n selectedLectora: any = \"3_Beginner\"\r\n selectedHTML: any = \"3_Beginner\"\r\n userName: any = \"\";\r\n currentUserList: any[] = [];\r\n interventionList: any[] = [];\r\n usersInterventionList: any[] = [];\r\n config: any;\r\n skillId: any = \"\";\r\n interventionId: any = \"\";\r\n interventionLFeildList: FormArray;\r\n interventionFieldsArray: FormArray;\r\n userInterventionList: any[] = []\r\n startDate: any;\r\n selectedMonth: any = 0;\r\n towerId: any;\r\n skillData: any[] = [];\r\n skillBehData: any[] = [];\r\n skillRatingData: any[] = [];\r\n currentUserId: any;\r\n selectedPositionId: Number = 0;\r\n selectedCombinedId: any = 'Select User';\r\n clickedSkillId: any = 0;\r\n butDisabled: boolean = true;\r\n curRating: any = [];\r\n curRatingVal: any = '';\r\n ratingDataFunctional: any = [];\r\n ratingDataBehavioral: any = [];\r\n funClicked: boolean = false;\r\n behClicked: boolean = false;\r\n commonInterventionData: any = [];\r\n currentSkillIntervention: any = {};\r\n selectedTowerId: any;\r\n interventionFieldForm: FormGroup;\r\n\r\n constructor(private router: Router, private appConfig: AppConfig, private common: Common,\r\n private commonService: CommonService, config: NgbDatepickerConfig, private _compiler: Compiler,\r\n private formBuilder: FormBuilder, calendar: NgbCalendar, private excelService: ExcelService) {\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n }\r\n this.baseURL = this.appConfig.getServerURL();\r\n this._compiler.clearCache();\r\n\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear(), month: (currentDate.getMonth()), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.outsideDays = 'collapsed';\r\n\r\n }\r\n\r\n ngOnInit() {\r\n localStorage.setItem(\"selectedMonth\", \"3\");\r\n this.updateUserSkillForm = this.formBuilder.group({\r\n selectedStoryLine: new FormControl(\"\"),\r\n selectedLectora: new FormControl(\"\"),\r\n selectedHTML: new FormControl(\"\"),\r\n userName: new FormControl(\"\")\r\n });\r\n\r\n this.interventionForm = this.formBuilder.group({\r\n userName: new FormControl(\"\"),\r\n\r\n interventionFieldArray: this.formBuilder.array([this.createFields()])\r\n });\r\n\r\n this.getUsersList();\r\n this.fetchSkillsData();\r\n this.fetchBehSkillsData();\r\n this.fetchSkillRatingData();\r\n\r\n if (localStorage.getItem(\"selectedMonth\") == \"5\") {\r\n\r\n }\r\n }\r\n\r\n //fetch functional skill master\r\n private fetchSkillsData() {\r\n this.commonService.fetchSkillDataPost(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.skillData = data;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //fetch beh skill master\r\n private fetchBehSkillsData() {\r\n this.commonService.fetchBehSkillDataPost(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.skillBehData = data;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // Get skillratingmaster: strength: 5, weakness: 1, etc\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService.fetchSkillRatingData().pipe(first()).subscribe(\r\n data => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', \"Competency Rating Data Not Found\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n //initialized intervention form\r\n private initInterventionForm() {\r\n this.interventionForm = this.formBuilder.group({\r\n userName: new FormControl(\"\"),\r\n\r\n interventionFieldArray: this.formBuilder.array([this.createFields()])\r\n });\r\n }\r\n\r\n //get intervention form group fields array.\r\n get interventionFormGroup() {\r\n\r\n return this.interventionForm.get('interventionFieldArray') as FormArray;\r\n }\r\n\r\n loadUserData(str) {\r\n if (!this.selectedCombinedId || this.selectedCombinedId == \"Select User\") {\r\n localStorage.setItem('errorMsg', \"Please select user first!\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n return;\r\n }\r\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\r\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\r\n this.selectedTowerId = this.selectedCombinedId.split(\"_\")[2];\r\n\r\n if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\r\n localStorage.setItem('errorMsg', \"Please select user first!\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n return;\r\n }\r\n if (str === 'fun') {\r\n this.userFunSkillByTowerPosition();\r\n } else {\r\n this.userBehSkillByTowerPosition();\r\n }\r\n this.loading = true;\r\n let userIds = [Number(this.selectedUserId)];\r\n var userId: any = Number(this.selectedUserId);\r\n\r\n this.getInterventionList();\r\n this.getUsersInterventionList(str);\r\n let c = this.interventionFieldsArray = this.interventionForm.get('interventionFieldArray') as FormArray;\r\n }\r\n\r\n // create fields\r\n private createFields(): FormGroup {\r\n return this.interventionFieldForm = this.formBuilder.group({\r\n savedInterventionId: new FormControl(''),\r\n skillId: new FormControl(\"\"),\r\n expectedLevel: new FormControl(\"\"),\r\n actualLevel: new FormControl(\"\"),\r\n interventionId: new FormControl(\"\"), // i.e Email, Phone\r\n interventionStartDate: new FormControl(\"\"), // i.e. Home, Office\r\n interventionEndDate: new FormControl(\"\")\r\n });\r\n }\r\n /**\r\n * Convenience getter for easy access to form fields\r\n */\r\n get f() { return this.interventionFieldForm.controls; }\r\n\r\n // set fields value\r\n private setFields(skills): FormGroup {\r\n return this.formBuilder.group({\r\n skillId: new FormControl(skills.skillId),\r\n interventionId: new FormControl(skills.interventionId),\r\n interventionStartDate: new FormControl(this.common.getJSONObj(skills.interventionStartDate)), // i.e. Home, Office\r\n interventionEndDate: new FormControl(this.common.getJSONObj(skills.interventionEndDate))\r\n });\r\n }\r\n\r\n // /Get All Users information\r\n private getUsersList() {\r\n this.loading = true;\r\n var userEmail = \"\";\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n this.commonService.getUsersListByPost(JSON.parse(localStorage.getItem('user')).userData.towerId, userEmail).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.userList = data;\r\n this.currentUserList = data;\r\n\r\n } else {\r\n localStorage.setItem('errorMsg', \"Users Not Found\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n }, error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // add a feilds form group\r\n private addFeilds() {\r\n this.interventionFieldsArray.push(this.createFields());\r\n }\r\n\r\n // remove feilds from group\r\n private removeFields(index) {\r\n \r\n this.interventionFieldsArray.removeAt(index);\r\n }\r\n\r\n // Get users list which are Available from current date.\r\n private getCurrentAvailableUsers() {\r\n this.currentUserList = [];\r\n this.loading = true;\r\n var userEmail = \"\";\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n\r\n this.commonService.fetchUserData(null, this.towerId, userEmail).pipe(first()).subscribe(\r\n data => {\r\n this.currentUserList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n })\r\n }\r\n\r\n // Get users list which are Available from current date.\r\n private getInterventionList(skillId?: any) {\r\n this.interventionList = [];\r\n this.loading = true;\r\n \r\n this.commonService.getInterventionList(skillId).pipe(first()).subscribe(\r\n data => {\r\n this.interventionList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n })\r\n }\r\n\r\n // Get users intervention list\r\n private getUsersInterventionList(dataFor) {\r\n this.usersInterventionList = [];\r\n this.loading = true;\r\n this.commonService.getUsersInterventionList().pipe(first()).subscribe(\r\n data => {\r\n this.usersInterventionList = data;\r\n this.loading = false;\r\n if (localStorage.getItem(\"selectedMonth\")) {\r\n this.getStartAndEndDate(Number(localStorage.getItem(\"selectedMonth\")), dataFor)\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n })\r\n }\r\n\r\n //edit skills\r\n private onEditSubmit(userData, skillId) {\r\n this.clickedSkillId = skillId;\r\n this.curRatingVal = this.curRating[skillId];\r\n this.userName = this.getUserInfo(userData.userId).userName.trim();\r\n this.selectedStoryLine = this.getCurrentSkillLevel(userData.storyLineSkills);\r\n this.selectedLectora = this.getCurrentSkillLevel(userData.lectoraSkills);\r\n this.selectedHTML = this.getCurrentSkillLevel(userData.htmlSkills);\r\n\r\n }\r\n\r\n // Get current skill level\r\n // + Used when the popup is opened\r\n private getCurrentSkillLevel(skills) {\r\n\r\n let skillName = \"\";\r\n let beginner = \"3_Beginner\";\r\n let intermediate = \"2_Intermediate\";\r\n let expert = \"1_Expert\";\r\n let date = null;\r\n if (skills && skills.length > 0) {\r\n for (let i = 0; i < skills.length; i++) { \r\n if (!date) {\r\n if (skills[i].skillLevel == 0 || skills[i].skillLevel == 25) {\r\n skillName = beginner;\r\n date = new Date(skills[i].date);\r\n } else if (skills[i].skillLevel == 50) {\r\n skillName = intermediate;\r\n date = new Date(skills[i].date);\r\n } else {\r\n skillName = expert;\r\n date = new Date(skills[i].date);\r\n }\r\n } else {\r\n let tempDate = new Date(skills[i].date);\r\n if (date < tempDate && skills[i].skillLevel == 0 || skills[i].skillLevel == 25) {\r\n skillName = beginner;\r\n date = new Date(skills[i].date);\r\n } else if (date < tempDate && skills[i].skillLevel == 50) {\r\n skillName = intermediate;\r\n date = new Date(skills[i].date);\r\n } else if (date < tempDate) {\r\n skillName = expert;\r\n date = new Date(skills[i].date);\r\n }\r\n }\r\n }\r\n }\r\n return skillName;\r\n }\r\n\r\n //+ get the month (returns the selected month?)\r\n private getStartAndEndDate(numOfMonth, dataFor) {\r\n if (this.selectedUserId === \"Select User\") return;\r\n localStorage.setItem(\"selectedMonth\", numOfMonth);\r\n this.totalMonth = [];\r\n this.addChartData = [];\r\n let lastDate = new Date();\r\n lastDate.setMonth(lastDate.getMonth() - numOfMonth);\r\n this.sDate = this.common.getDatesYYMMDD(lastDate);\r\n this.eDate = this.common.getDatesYYMMDD(new Date());\r\n this.totalMonth = this.common.getMonthsNameArray(lastDate, new Date());\r\n \r\n this.getResourcesSkillHistory(dataFor);\r\n this.getResourcesBehSkillHistory(dataFor);\r\n if (numOfMonth === 3) this.selectedTab = 1;\r\n else if (numOfMonth === 6) this.selectedTab = 2;\r\n else if (numOfMonth === 9) this.selectedTab = 3;\r\n else if (numOfMonth === 12) this.selectedTab = 4;\r\n\r\n }\r\n\r\n //get functional skill ratings for the user\r\n private getResourcesSkillHistory(str) {\r\n this.loading = true;\r\n this.resourceSkillsData = [];\r\n this.consolidatedChartData = [];\r\n this.consolidatedTableData = [];\r\n this.commonService.getResourcesSkillHistory(this.selectedUserId).pipe(first()).subscribe(\r\n data => {\r\n if (data[0] && data[0].length > 0) {\r\n // remove unknown user from the list\r\n this.ratingDataFunctional = data[0];\r\n let usersInfo = this.filterUsers(data[0]);\r\n this.resourceSkillsData = this.filterUsersSkills(usersInfo, \"fun\");\r\n if (this.resourceSkillsData.length) {\r\n setTimeout(() => {\r\n this.getTableCanvas();\r\n }, 500);\r\n }\r\n this.consolidatedChartData = this.getConsolidatedChart(this.resourceSkillsData);\r\n this.consolidatedTableData = this.getConsolidatedTableData(this.resourceSkillsData);\r\n this.isEnable = true;\r\n }\r\n else {\r\n if (str == 'fun') {\r\n localStorage.setItem('errorMsg', 'No Functional Ratings are available for this user.');\r\n this.commonService.showerror();\r\n }\r\n this.loading = false;\r\n return;\r\n }\r\n // this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n return;\r\n });\r\n }\r\n\r\n //get behavioral skill ratings for the user\r\n private getResourcesBehSkillHistory(str) {\r\n this.loading = true;\r\n this.resourceSkillsData = [];\r\n this.consolidatedChartData = [];\r\n this.consolidatedTableData = [];\r\n this.commonService.getResourcesBehSkillHistory(this.selectedUserId).pipe(first()).subscribe(\r\n data => {\r\n if (data[0] && data[0].length > 0) {\r\n // remove unknown user from the list\r\n this.ratingDataBehavioral = data[0];\r\n let usersInfo = this.filterUsers(data[0]);\r\n this.resourceBehSkillsData = this.filterUsersSkills(usersInfo, \"beh\");\r\n if (this.resourceBehSkillsData) {\r\n setTimeout(() => {\r\n this.getTableCanvas();\r\n }, 500);\r\n }\r\n this.consolidatedBehChartData = this.getConsolidatedChart(this.resourceSkillsData);\r\n this.consolidatedBehTableData = this.getConsolidatedTableData(this.resourceSkillsData);\r\n // this.isEnable = true;\r\n }\r\n else {\r\n if (str == 'beh') {\r\n localStorage.setItem('errorMsg', 'No Behavioral Ratings are available for this user.');\r\n this.commonService.showerror();\r\n }\r\n this.loading = false;\r\n return;\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n return;\r\n });\r\n }\r\n\r\n // + removes a specific set of users from the list\r\n private filterUsers(userInfodata) {\r\n let userInfoList = [];\r\n if (userInfodata && userInfodata.length > 0) {\r\n for (let i = 0; i < userInfodata.length; i++) {\r\n let isInvalidUser = false;\r\n for (let j = 0; j < this.removeUsersFromList.length; j++) {\r\n if (userInfodata[i].userName) {\r\n let userName = userInfodata[i].userName.toLowerCase();\r\n if (userName.includes(this.removeUsersFromList[j])) {\r\n isInvalidUser = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (!isInvalidUser) {\r\n userInfoList.push(userInfodata[i]);\r\n }\r\n }\r\n }\r\n return userInfoList;\r\n }\r\n\r\n //filetr users skill levels\r\n private filterUsersSkills(userInfodata, type) {\r\n let userInfoList = [];\r\n let addedUsers = [];\r\n var skillData = (type === \"beh\") ? this.skillBehData : this.skillData;\r\n var prefix = (type === \"beh\") ? \"b_\" : \"f_\";\r\n\r\n if (userInfodata.length > 0) {\r\n for (let i = 0; i < userInfodata.length; i++) {\r\n let userSkillObj = [];\r\n \r\n if (!userInfodata[i].userId || userInfodata[i].userId != this.selectedUserId) {\r\n continue;\r\n }\r\n let userId = userInfodata[i].userId;\r\n\r\n if (addedUsers.indexOf(userId) != -1) {\r\n continue;\r\n }\r\n for (let j = 0; j < userInfodata.length; j++) {\r\n if (userInfodata[j].userId) {\r\n if (userId == userInfodata[j].userId) {\r\n userSkillObj.push(userInfodata[j]);\r\n }\r\n }\r\n }\r\n addedUsers.push(userId);\r\n for (let j = 0; j < skillData.length; j++) {\r\n userInfodata[i][skillData[j].skillName] = this.getUserSkillLevel(userSkillObj, skillData[j].skillId);\r\n userInfodata[i][skillData[j].skillName + \"InterData\"] = this.filterUserInterventions(userInfodata[i].userId, prefix + skillData[j].skillId);\r\n }\r\n userInfoList.push(userInfodata[i]);\r\n }\r\n }\r\n\r\n return userInfoList;\r\n }\r\n\r\n //filetr users skill level\r\n private getUserSkillLevel(users, skillId) {\r\n let skillLevelData = [];\r\n if (users && users.length > 0) {\r\n let lastFoundSkillLevel = null;\r\n for (let i = 0; i < this.totalMonth.length; i++) {\r\n let skillObj = {};\r\n let foundRecord = false;\r\n for (let j = 0; j < users.length; j++) {\r\n if (users[j].skillId != skillId) continue;\r\n\r\n let skillDate = this.getDate(users[j]);\r\n if (this.totalMonth[i] == skillDate && skillObj['date'] == skillDate) {\r\n lastFoundSkillLevel = users[j].skillScore;\r\n foundRecord = true;\r\n skillObj['skillLevel'] = users[j].skillScore;// this.getSkillLeve(users[j].skillLevel);\r\n } else if (this.totalMonth[i] == skillDate) {\r\n foundRecord = true;\r\n lastFoundSkillLevel = users[j].skillScore;\r\n skillObj = { date: this.totalMonth[i], skillLevel: users[j].skillScore /* this.getSkillLeve(users[j].skillLevel) */ };\r\n }\r\n }\r\n\r\n if (!foundRecord) {\r\n if (lastFoundSkillLevel) {\r\n skillLevelData.push(\r\n {\r\n date: this.totalMonth[i],\r\n skillLevel: lastFoundSkillLevel //this.getSkillLeve(lastFoundSkillLevel) \r\n }\r\n );\r\n } else {\r\n \r\n skillLevelData.push(\r\n {\r\n date: this.totalMonth[i],\r\n skillLevel: 0 //this.getSkillLeve(null) \r\n }\r\n );\r\n }\r\n } else {\r\n skillLevelData.push(skillObj);\r\n }\r\n }\r\n }\r\n \r\n return skillLevelData;\r\n }\r\n\r\n // get intervention name by interventionId\r\n private filterUserInterventions(userName, skillId) {\r\n let interventionType = [];\r\n let userInfo = this.getUserInfo(userName);\r\n if (!userInfo || !userInfo.userId) {\r\n return\r\n }\r\n if (this.usersInterventionList && this.usersInterventionList.length > 0) {\r\n for (let i = 0; i < this.usersInterventionList.length; i++) {\r\n if (this.usersInterventionList[i].userId == userInfo.userId && this.usersInterventionList[i].skillId == skillId) {\r\n let interDateArray = this.common.getMonthsNameArray(new Date(this.usersInterventionList[i].interventionStartDate), new Date(this.usersInterventionList[i].interventionEndDate));\r\n for (let j = 0; j < interDateArray.length; j++) {\r\n let index = this.getIndexFromArray(interventionType, interDateArray[j]);\r\n if (index >= 0) {\r\n interventionType[index] = {\r\n date: interDateArray[j],\r\n skillLevel: this.usersInterventionList[i].expectedLevel\r\n \r\n };\r\n } else {\r\n interventionType.push({\r\n date: interDateArray[j],\r\n skillLevel: this.usersInterventionList[i].expectedLevel\r\n \r\n });\r\n }\r\n }\r\n }\r\n }\r\n // matched data from selected date from intervention date\r\n let selectedDateArray = this.common.getMonthsNameArray(new Date(this.sDate), new Date(this.eDate));\r\n if (selectedDateArray && selectedDateArray.length > 0) {\r\n for (let i = 0; i < selectedDateArray.length; i++) {\r\n let index = this.getIndexDateFromArray(interventionType, selectedDateArray[i]);\r\n if (index == -1) {\r\n interventionType.push({ date: selectedDateArray[i], skillLevel: 0 });\r\n }\r\n }\r\n }\r\n }\r\n return interventionType;\r\n }\r\n\r\n // get indexof for exiting record. \r\n private getIndexDateFromArray(array, checkWith) {\r\n let index = -1;\r\n if (array && array.length > 0 && checkWith) {\r\n for (let i = 0; i < array.length; i++) {\r\n if (array[i].date == checkWith) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n return index;\r\n }\r\n\r\n // get indexof for exiting record. \r\n private getIndexFromArray(array, checkWith) {\r\n let index = -1;\r\n if (array && array.length > 0 && checkWith) {\r\n for (let i = 0; i < array.length; i++) {\r\n if (array[i].date == checkWith) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n return index;\r\n }\r\n\r\n private makeArrayForGraph(skillId, skillType) {\r\n\r\n var skillData;\r\n\r\n if (skillType === \"beh\") {\r\n skillData = this.ratingDataBehavioral;\r\n }\r\n else {\r\n skillData = this.ratingDataFunctional;\r\n }\r\n\r\n var currentYear = Number((new Date()).getFullYear());\r\n var currentMonth = Number((new Date()).getMonth() + 1);\r\n var ratings = [], pastYearRatings = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n\r\n\r\n for (let i = 0; i < skillData.length; i++) {\r\n if (skillData[i].positionId != this.selectedPositionId)\r\n continue;\r\n\r\n if (skillData[i].skillId == skillId) {\r\n\r\n var toMonth = new Date(skillData[i].skillRatingToDate).getMonth() + 1;\r\n \r\n\r\n var fromMonth = new Date(skillData[i].skillRatingFromDate).getMonth() + 1;\r\n \r\n\r\n for (let j = fromMonth; j <= toMonth; j++) {\r\n \r\n ratings[currentMonth - j] = skillData[i].skillScore;\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n let j = 0;\r\n\r\n for (let i = 12; i > 7; i--) {\r\n\r\n if (!ratings[j])\r\n pastYearRatings[i] = 0;\r\n else\r\n pastYearRatings[i] = ratings[j];\r\n j++;\r\n }\r\n\r\n \r\n\r\n\r\n return pastYearRatings;\r\n }\r\n\r\n private getDate(userInfo) {\r\n if (userInfo) {\r\n if (userInfo.createDate) {\r\n return this.common.getMonthsName(userInfo.createDate);\r\n }\r\n }\r\n }\r\n\r\n\r\n // get consolidateData of skill index\r\n private getConsolidatedChart(usersData) {\r\n let expert = {};\r\n if (usersData && usersData.length > 0) {\r\n for (let i = 0; i < usersData.length; i++) {\r\n for (let j = 0; j < this.skillData.length; j++) {\r\n let skillName = this.skillData[j].skillName;\r\n let skillObj = this.getSkillData(usersData[i][skillName]);\r\n if (expert[skillName]) {\r\n expert[skillName] = expert[skillName] + skillObj;\r\n } else {\r\n expert[skillName] = skillObj;\r\n }\r\n }\r\n }\r\n }\r\n return expert;\r\n }\r\n\r\n // Get skill Data\r\n private getSkillData(skillData) {\r\n let count = 0;\r\n if (skillData && skillData.length > 0) {\r\n for (let i = 0; i < skillData.length; i++) {\r\n count = count + skillData[i].skillLevel;\r\n }\r\n }\r\n return count;\r\n }\r\n\r\n private getConsolidatedTableData(usersData) { //not being used\r\n let skillObject = {}\r\n\r\n if (usersData && usersData.length > 0) {\r\n for (let i = 0; i < usersData.length; i++) {\r\n\r\n\r\n\r\n for (let k = 0; k < this.skillRatingData.length; k++) {\r\n skillObject[k] = {};\r\n\r\n var value = 100 * (k + 1) / this.skillRatingData.length;\r\n\r\n for (let j = 0; j < this.skillData.length; j++) {\r\n let skillName = this.skillData[j].skillName;\r\n if (skillObject[k][skillName]) {\r\n skillObject[k][skillName] = skillObject[k][skillName] + this.getSkillLevelData(usersData[i], skillName, value);\r\n } else {\r\n skillObject[k][skillName] = this.getSkillLevelData(usersData[i], skillName, value);\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n return skillObject; //I doubt that it is being used\r\n }\r\n\r\n // Get skill Data\r\n private getSkillLevelData(userInfo, skillName, level) {\r\n let count = 0;\r\n if (userInfo) {\r\n let skillData = userInfo[skillName];\r\n for (let i = 0; i < skillData.length; i++) {\r\n if (skillData[i].skillLevel == level) {\r\n count++;\r\n }\r\n }\r\n }\r\n return count;\r\n }\r\n\r\n private getSkillName(ratingId) {\r\n //get rating name by Id\r\n\r\n for (let i = 0; i < this.skillRatingData.length; i++) {\r\n if (this.skillRatingData[i].score == ratingId)\r\n return this.skillRatingData[i].ratingName;\r\n }\r\n \r\n }\r\n\r\n // Generate user skill Line Chart\r\n private generateChart(divId, userInfo, userInfoBeh) {\r\n \r\n if (!userInfo && !userInfoBeh) return;\r\n let colors = [\"#00aeef\", \"#C95A49\"];\r\n var pointBackgroundColors = ['black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'];\r\n let datasets = [], datasetsBeh = [];\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n\r\n //set skill data for showing in graph\r\n let skillName = this.skillData[i].skillName;\r\n let skillDataArray = this.getSkillResult(userInfo[skillName]);\r\n this.curRating[\"f_\" + this.skillData[i].skillId] = skillDataArray[4];\r\n\r\n let skillObj = { fill: true, borderWidth: 3 };\r\n\r\n skillObj['data'] = this.makeArrayForGraph(this.skillData[i].skillId, \"fun\").slice(8);\r\n skillObj['label'] = \"Competency Level\"; //skillName + \" - Actual Level\";\r\n skillObj['backgroundColor'] = colors[0];\r\n skillObj['fill'] = true;\r\n skillObj['borderColor'] = colors[0];\r\n skillObj['lineTension'] = 0;\r\n skillObj['pointBackgroundColor'] = pointBackgroundColors;\r\n datasets.push(skillObj);\r\n //set intervention data for showing in graph\r\n let skillInterData = this.getSkillResult(userInfo[skillName + \"InterData\"]);\r\n let InterData = { fill: true, borderWidth: 3 };\r\n InterData['data'] = skillInterData;\r\n InterData['label'] = \"Intervention\"; //skillName + \" - Planned Interventions\";\r\n InterData['backgroundColor'] = colors[1];\r\n InterData['fill'] = true;\r\n InterData['borderColor'] = colors[1]; //i+1\r\n InterData['lineTension'] = 0;\r\n InterData['pointBackgroundColor'] = pointBackgroundColors;\r\n datasets.push(InterData);\r\n }\r\n\r\n for (let i = 0; i < this.skillBehData.length; i++) {\r\n //set skill data for showing in graph\r\n let skillName = this.skillBehData[i].skillName;\r\n\r\n let skillDataArray = this.getSkillResult(userInfoBeh[skillName]);\r\n\r\n this.curRating[\"b_\" + this.skillBehData[i].skillId] = skillDataArray[4];\r\n\r\n let skillObj = { fill: true, borderWidth: 3 };\r\n \r\n skillObj['data'] = this.makeArrayForGraph(this.skillBehData[i].skillId, \"beh\").slice(8)\r\n\r\n skillObj['label'] = \"Competency Level\"; //skillName + \" - Actual Level\";\r\n skillObj['borderColor'] = colors[0];\r\n skillObj['backgroundColor'] = colors[0];\r\n skillObj['fill'] = true;\r\n skillObj['stacked'] = true;\r\n skillObj['lineTension'] = 0;\r\n skillObj['pointBackgroundColor'] = pointBackgroundColors;\r\n \r\n datasetsBeh.push(skillObj);\r\n //set intervention data for showing in graph\r\n let skillInterData = this.getSkillResult(userInfoBeh[skillName + \"InterData\"]);\r\n let InterData = { fill: true, borderWidth: 3 };\r\n InterData['data'] = skillInterData;\r\n InterData['label'] = \"Intervention\"; //skillName + \" - Planned Interventions\";\r\n InterData['borderColor'] = colors[1]; //i+1\r\n InterData['backgroundColor'] = colors[1];\r\n InterData['fill'] = true;\r\n InterData['stacked'] = true;\r\n InterData['lineTension'] = 0;\r\n InterData['pointBackgroundColor'] = pointBackgroundColors;\r\n datasetsBeh.push(InterData);\r\n }\r\n\r\n\r\n var options = {\r\n height: 400,\r\n legend: {\r\n display: true,\r\n },\r\n title: {\r\n display: true,\r\n fontSize: 12,\r\n fontFamily: \"Century Gothic\"\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n max: 5,\r\n min: 0,\r\n stepSize: 1\r\n }\r\n }],\r\n }\r\n\r\n };\r\n\r\n var j = 0;\r\n for (let i = 0; i < datasets.length; i += 2) { //datasets.length\r\n this.chart = new Chart(divId.split(\"_\")[0] + \"_\" + j++, {\r\n type: 'line',\r\n data: {\r\n labels: this.totalMonth,\r\n datasets: [datasets[i], datasets[i + 1]]\r\n },\r\n options: options\r\n });\r\n }\r\n\r\n var j = 0;\r\n for (let i = 0; i < datasetsBeh.length; i += 2) { //datasets.length\r\n this.chart = new Chart(divId.split(\"_\")[0] + \"_b_\" + j++, {\r\n type: 'line',\r\n data: {\r\n labels: this.totalMonth,\r\n datasets: [datasetsBeh[i], datasetsBeh[i + 1]]\r\n },\r\n options: options\r\n });\r\n }\r\n\r\n }\r\n\r\n // Filter the result date based on date \r\n private getSkillResult(data) {\r\n let dataArray = [];\r\n if (this.totalMonth.length > 0 && data && data.length) {\r\n for (let i = 0; i < this.totalMonth.length; i++) {\r\n for (let j = 0; j < data.length; j++) {\r\n if (data[j].date == this.totalMonth[i]) {\r\n dataArray.push(data[j].skillLevel); //skillLevel\r\n }\r\n }\r\n }\r\n }\r\n return dataArray;\r\n }\r\n\r\n // get table canvas\r\n private getTableCanvas() {\r\n try {\r\n let canvasData = this.tableCanvas.nativeElement.querySelectorAll(\"tbody tr canvas\");\r\n canvasData.forEach(canvas => {\r\n let index = canvas.id.split(\"_\")[1];\r\n index = 0;\r\n let userInfo = this.resourceSkillsData[index];\r\n let userInfoBeh = this.resourceBehSkillsData[index];\r\n this.generateChart(canvas.id, userInfo, userInfoBeh);\r\n });\r\n\r\n $(\"select\").on('change', (e) => {\r\n this.getTableCanvas();\r\n });\r\n $(\".userRcCustomTable th\").on('click', (e) => {\r\n this.getTableCanvas();\r\n });\r\n $(\".dataTables_paginate\").on('click', (e) => {\r\n this.getTableCanvas();\r\n });\r\n } catch (error) {\r\n \r\n this.loading = false;\r\n return;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n // update user skills \r\n private onUpdateSkills(updateUserSkill) {\r\n if (this.updateUserSkillForm.invalid) {\r\n localStorage.setItem('errorMsg', \"Please select all fields value\");\r\n this.commonService.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n let userInfo = this.getUserInfo(updateUserSkill.userName);\r\n userInfo.joinDate = this.common.getDatesYYMMDD(userInfo.joinDate);\r\n userInfo.updatedByEmail = this.users.userData.emailAddress;\r\n userInfo.selectedStoryLine = updateUserSkill.selectedStoryLine;\r\n userInfo.selectedLectora = updateUserSkill.selectedLectora;\r\n userInfo.selectedHTML = updateUserSkill.selectedHTML;\r\n let userSkill = this.setUserSkillData(updateUserSkill, userInfo.userId);\r\n this.commonService.updationResouceSkills(userInfo, userSkill).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', data.status);\r\n this.commonService.showerror();\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 500);\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n })\r\n\r\n }\r\n\r\n // Get user info based on user name\r\n private getUserInfo(userId) {\r\n let userInfo = null;\r\n if (this.currentUserList && this.currentUserList.length > 0) {\r\n for (let i = 0; i < this.currentUserList.length; i++) {\r\n if (userId == this.currentUserList[i].userId) {\r\n userInfo = this.currentUserList[i];\r\n break;\r\n }\r\n }\r\n }\r\n return userInfo;\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any) {\r\n let userSkillData = [];\r\n userSkillData.push({ userId: userId, skillId: Number(1), skillLevel: userFormDetails.selectedStoryLine });\r\n userSkillData.push({ userId: userId, skillId: Number(2), skillLevel: userFormDetails.selectedLectora });\r\n userSkillData.push({ userId: userId, skillId: Number(3), skillLevel: userFormDetails.selectedHTML });\r\n return userSkillData;\r\n }\r\n\r\n //save user interventions \r\n private saveUserInterventions(interventionForm) {\r\n let userIntervention = [];\r\n this.loading = true;\r\n let userInfo = this.getUserInfo(this.currentUserId);\r\n let skillInfo = this.getUserskillInfo(interventionForm.userName);\r\n if (interventionForm && interventionForm.interventionFieldArray.length > 0) {\r\n let feildsArray = interventionForm.interventionFieldArray;\r\n for (let i = 0; i < feildsArray.length; i++) {\r\n let obj = {};\r\n if (this.validateFeild(feildsArray[i].actualLevel)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select current competency!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (this.validateFeild(feildsArray[i].interventionId)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select intervention type!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (feildsArray[i].interventionId) {\r\n obj[\"interventionId\"] = Number(feildsArray[i].interventionId);\r\n obj[\"interventionType\"] = this.getInterventionName(Number(feildsArray[i].interventionId));\r\n }\r\n\r\n if (this.validateFeild(userInfo.userId)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"User not found!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (userInfo.userId) {\r\n obj[\"userId\"] = userInfo.userId;\r\n obj[\"userName\"] = userInfo.userName;\r\n obj[\"userEmail\"] = \"Niit-emanuel.joseph@niit.com\";//userInfo.email;\r\n }\r\n\r\n if (this.validateFeild(feildsArray[i].skillId)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select competency name!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (feildsArray[i].skillId) {\r\n obj[\"skillId\"] = feildsArray[i].skillId;\r\n obj[\"skillName\"] = this.getSkillNameById(feildsArray[i].skillId);\r\n }\r\n \r\n\r\n\r\n if (this.validateFeild(feildsArray[i].expectedLevel)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select competency level!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (feildsArray[i].expectedLevel) {\r\n obj[\"expectedLevel\"] = feildsArray[i].expectedLevel; //this.getSkillName(feildsArray[i].expectedLevel);\r\n }\r\n\r\n if (feildsArray[i].actualLevel) {\r\n obj[\"actualLevel\"] = feildsArray[i].actualLevel; //this.getSkillName(feildsArray[i].expectedLevel);\r\n }\r\n\r\n if (this.validateFeild(feildsArray[i].interventionStartDate)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select start date!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n\r\n if (feildsArray[i].interventionStartDate) {\r\n obj[\"interventionStartDate\"] = this.common.getDateYYMMDD(feildsArray[i].interventionStartDate);\r\n }\r\n\r\n if (this.validateFeild(feildsArray[i].interventionEndDate)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select end date!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n\r\n if (feildsArray[i].interventionEndDate) {\r\n obj[\"interventionEndDate\"] = this.common.getDateYYMMDD(feildsArray[i].interventionEndDate);\r\n }\r\n\r\n obj[\"createdBy\"] = this.users.userData.displayName;\r\n obj[\"createdByEmail\"] = this.users.userData.emailAddress;\r\n\r\n let validDate = this.validateAlignIntervention(obj[\"interventionStartDate\"], feildsArray[i].savedInterventionId);\r\n if (!validDate) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', userInfo.userName + \" already planned for intervention at selected date!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (feildsArray[i].savedInterventionId) {\r\n obj[\"savedInterventionId\"] = feildsArray[i].savedInterventionId;\r\n }\r\n userIntervention.push(obj);\r\n }\r\n }\r\n this.commonService.saveUserInterventions(userIntervention).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', data.status);\r\n this.commonService.showerror();\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 500);\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n });\r\n }\r\n\r\n // Get user info based on user name\r\n private getUserskillInfo(userName) {\r\n let userInfo = null;\r\n if (this.resourceSkillsData && this.resourceSkillsData.length > 0) {\r\n for (let i = 0; i < this.resourceSkillsData.length; i++) {\r\n if (userName.trim() == this.getUserName(this.resourceSkillsData[i].userId).trim()) {\r\n userInfo = this.resourceSkillsData[i];\r\n break;\r\n }\r\n }\r\n }\r\n return userInfo;\r\n }\r\n //validate align intervention\r\n private validateAlignIntervention(starDate, userInterventionId) {\r\n let validDate = true;\r\n if (this.userInterventionList && this.userInterventionList.length > 0) {\r\n if (starDate) {\r\n for (let i = 0; i < this.userInterventionList.length; i++) {\r\n if (Number(userInterventionId) != Number(this.userInterventionList[i].userInterventionId)) {\r\n starDate = new Date(starDate);\r\n let intStartDate = new Date(this.userInterventionList[i].interventionStartDate);\r\n let intEndDate = new Date(this.userInterventionList[i].interventionEndDate);\r\n if (starDate >= intStartDate && starDate <= intEndDate) {\r\n validDate = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return validDate;\r\n }\r\n\r\n //get user interventions\r\n private getUserInterventions(userId) {\r\n \r\n let userInfo = this.getUserInfo(userId);\r\n this.userName = userInfo.userName;\r\n this.loading = true;\r\n this.userInterventionList = [];\r\n this.commonService.getUserInterventions(userInfo.userId).pipe(first()).subscribe(\r\n data => {\r\n this.currentUserId = userId;\r\n this.loading = false;\r\n this.userInterventionList = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error);\r\n this.commonService.showerror();\r\n })\r\n }\r\n\r\n //get intervention name by intervention id\r\n private getInterventionName(interventionId) {\r\n let interventionType = \"\";\r\n if (this.interventionList && this.interventionList.length > 0) {\r\n for (let i = 0; i < this.interventionList.length; i++) {\r\n if (this.interventionList[i].internventionId == interventionId) {\r\n interventionType = this.interventionList[i].interventionType;\r\n break;\r\n }\r\n }\r\n }\r\n return interventionType;\r\n }\r\n\r\n // get user name by userId\r\n private getUserName(userId) {\r\n let userName = \"\";\r\n if (this.currentUserList && this.currentUserList.length > 0) {\r\n for (let i = 0; i < this.currentUserList.length; i++) {\r\n if (userId == this.currentUserList[i].userId) {\r\n userName = this.currentUserList[i].userName;\r\n break;\r\n }\r\n }\r\n }\r\n return userName;\r\n }\r\n\r\n // get user name by userId\r\n private getResourceType(userId) {\r\n let typeResource = \"\";\r\n if (this.currentUserList && this.currentUserList.length > 0) {\r\n for (let i = 0; i < this.currentUserList.length; i++) {\r\n if (userId == this.currentUserList[i].userId) {\r\n typeResource = this.currentUserList[i].typeResource;\r\n break;\r\n }\r\n }\r\n }\r\n return typeResource;\r\n }\r\n\r\n \r\n\r\n // get skill name by skillId\r\n private getSkillNameById(skillId) {\r\n let skillName = \"\";\r\n let allSkills = this.skillData;\r\n if (allSkills && allSkills.length > 0) {\r\n for (let i = 0; i < allSkills.length; i++) {\r\n if (\"f_\" + allSkills[i].skillId == skillId) {\r\n skillName = allSkills[i].skillName;\r\n return skillName;\r\n }\r\n }\r\n }\r\n\r\n allSkills = this.skillBehData;\r\n if (allSkills && allSkills.length > 0) {\r\n for (let i = 0; i < allSkills.length; i++) {\r\n if (\"b_\" + allSkills[i].skillId == skillId) {\r\n skillName = allSkills[i].skillName;\r\n return skillName;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n //edit Skill and and disable button\r\n private editSkill(event, skillObj) {\r\n event.target.offsetParent.disabled = true;\r\n this.f.savedInterventionId.setValue(skillObj.userInterventionId);\r\n this.f.skillId.setValue(skillObj.skillId);\r\n this.f.actualLevel.setValue(skillObj.actualLevel);\r\n this.f.interventionId.setValue(skillObj.interventionId);\r\n this.f.expectedLevel.setValue(skillObj.expectedLevel);\r\n this.f.interventionStartDate.setValue(this.common.getJSONObj(skillObj.interventionStartDate));\r\n this.f.interventionEndDate.setValue(this.common.getJSONObj(skillObj.interventionEndDate));\r\n \r\n }\r\n\r\n // validate feilds data is empty or blank\r\n private validateFeild(feildData) {\r\n if (!feildData) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n //set end dates\r\n private setStartDate() {\r\n let date = new Date();\r\n this.config.minDate = { year: date.getFullYear() - 10, month: date.getMonth(), day: date.getDate() };\r\n }\r\n\r\n //set end dates\r\n private setEndDate(index) {\r\n let startDate = this.interventionForm.value.interventionFieldArray[index].interventionStartDate;\r\n if (startDate) {\r\n var dd = startDate.day + 1;\r\n var mm = startDate.month;\r\n var yy = startDate.year;\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else {\r\n localStorage.setItem('errorMsg', 'Please select Start Date');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n\r\n // forward next section\r\n private gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward login page\r\n private logout() {\r\n localStorage.clear();\r\n this.commonService.logout();\r\n }\r\n\r\n // functions for show and hide intervention graph tab by user clicked on respective buttons\r\n funClick() {\r\n this.funClicked = true;\r\n this.behClicked = false;\r\n }\r\n behClick() {\r\n this.funClicked = false;\r\n this.behClicked = true;\r\n }\r\n\r\n private getInterventionListClick(skillid, index) {\r\n let allSkills = this.skillData;\r\n const interv = this.commonInterventionData.find((obj) => obj.skillId === skillid);\r\n this.currentSkillIntervention = interv;\r\n this.interventionList = JSON.parse(interv.arrOfTraining);\r\n }\r\n /**\r\n * Get all skill of user according to towerId and positionId\r\n */\r\n private userBehSkillByTowerPosition() {\r\n this.commonInterventionData = [];\r\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\r\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\r\n const postData = { userId: this.selectedUserId, positionId: this.selectedPositionId, towerId: this.selectedTowerId };\r\n this.commonService.getBehUserSkill(postData).pipe(first()).subscribe(\r\n data => {\r\n this.commonInterventionData = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n /**\r\n * Get Functional skill of user according to towerId and positionId\r\n */\r\n private userFunSkillByTowerPosition() {\r\n this.commonInterventionData = [];\r\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\r\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\r\n const postData = { userId: this.selectedUserId, positionId: this.selectedPositionId, towerId: this.selectedTowerId };\r\n this.commonService.getFunUserSkill(postData).pipe(first()).subscribe(\r\n data => {\r\n this.commonInterventionData = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n /**\r\n * Get intervention name\r\n * @param interventionId\r\n */\r\n public getInterventionNameById(interventionId) {\r\n if (interventionId) {\r\n const interventions = this.interventionList.find((obj) => Number(obj.id) === Number(interventionId));\r\n if (interventions) {\r\n return interventions.trainingPoint;\r\n } else { return null; }\r\n }\r\n }\r\n}","\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Interventions

\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 User
\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

0 && funClicked\">Functional Competencies

\r\n \r\n \r\n \r\n\r\n 0 && oneSkillData.positionId == selectedPositionId && funClicked\"\r\n class=\"tableFixHead table table-striped lh-23 rsTable userRcCustomTable customizeRtsScrollBar\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{oneSkillData.skillName}}Action
\r\n
\r\n \r\n 0\" id=\"skillChar_{{j}}\" height=\"30\"\r\n width=\"150\">\r\n
\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 && behClicked\">Behavioral Competencies

\r\n \r\n \r\n \r\n 0 && oneSkillData.positionId == selectedPositionId && behClicked\" \r\n class=\"tableFixHead table table-striped lh-23 rsTable userRcCustomTable customizeRtsScrollBar\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{oneSkillData.skillName}}Action
\r\n
\r\n 0\" id=\"skillChar_b_{{j}}\" height=\"30\"\r\n width=\"150\">\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
User
\r\n
Behavior Skill
\r\n
Functional Skill
\r\n
\r\n
\r\n

Select a user from above drop down.

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
User Skill Update Form
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
User Intervention Form
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SkillCurrent CompetencyInterventionExpected CompetencyStart DateEnd DateAction
{{getSkillNameById(intervention.skillId)}}{{getSkillName(intervention.actualLevel)}}{{getInterventionNameById(intervention.interventionId)}}{{getSkillName(intervention.expectedLevel)}}{{intervention.interventionStartDate | date: 'dd-MMM-yyyy'}}{{intervention.interventionEndDate | date: 'dd-MMM-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
","import {\n Component,\n OnInit,\n Compiler,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { Chart } from 'chart.js';\nimport { CommonService } from '../service/commons-service';\nimport { first, retry } from 'rxjs/operators';\nimport { Common } from '../util/common';\nimport { AppConfig } from '../util';\nimport { NgbDateStruct, NgbCalendar } from '@ng-bootstrap/ng-bootstrap';\nimport { Router } from '@angular/router';\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\nimport { ExcelService } from '../service/excel.service';\n\nconst equals = (one: NgbDateStruct, two: NgbDateStruct) =>\n one &&\n two &&\n two.year === one.year &&\n two.month === one.month &&\n two.day === one.day;\n\nconst before = (one: NgbDateStruct, two: NgbDateStruct) =>\n !one || !two\n ? false\n : one.year === two.year\n ? one.month === two.month\n ? one.day === two.day\n ? false\n : one.day < two.day\n : one.month < two.month\n : one.year < two.year;\n\nconst after = (one: NgbDateStruct, two: NgbDateStruct) =>\n !one || !two\n ? false\n : one.year === two.year\n ? one.month === two.month\n ? one.day === two.day\n ? false\n : one.day > two.day\n : one.month > two.month\n : one.year > two.year;\n\n@Component({\n selector: 'app-user-dashboard',\n templateUrl: './user-dashboard.component.html',\n styleUrls: ['./user-dashboard.component.css'],\n})\nexport class UserDashboardComponent implements OnInit {\n users: any = {};\n chart: any;\n userList: any[] = [];\n loading = false;\n showDashboardSections: boolean = false;\n loginImageURL: any = null;\n\n // private hideDashboard: boolean = false;\n\n userFunSkillList: any[] = [];\n userFunSkillRatingList: any[] = [];\n userSkillRatingData: any[] = [];\n\n userBehSkillRatingList: any[] = [];\n userBehSkillList: any[] = [];\n selectedUserId: any = 'Select User';\n selectedUserPosition: any;\n selectedUserName: any;\n compositePercentAverage: any = { full: 0 };\n\n positionList: any = [];\n selectedPositionId: Number = 0;\n selectedCombinedId: any;\n\n // private userFunSkillList: any[] = [];\n // private userFunSkillRatingList: any[] = [];\n // private userSkillRatingData: any[] = [];\n functionalActive = '';\n behavioralActive = '';\n\n hoveredDate: NgbDateStruct;\n fromDate: NgbDateStruct;\n toDate: NgbDateStruct;\n\n canvasContainerHeight;\n // private skillList: any[] = [];\n behSkillList: any[] = [];\n userStrengths: any[] = [];\n userOppurtunities: any[] = [];\n loginUserName: any = '';\n userWeaknesses: any[] = [];\n userThreats: any[] = [];\n activeTab = 'beh';\n userRoll: number = 0;\n nextPosition: any = '';\n nextPositionId: any = '';\n alreadyHalved: boolean = false;\n constructor(\n private commonService: CommonService,\n private excelService: ExcelService,\n private router: Router,\n private appConfig: AppConfig,\n private common: Common,\n private _compiler: Compiler\n ) {\n this._compiler.clearCache();\n this.users = JSON.parse(localStorage.getItem('user'));\n if (!this.users || !this.users.userData) {\n this.commonService.logout();\n return;\n }\n if (this.users && this.users.userData) {\n if (this.users.userData.userFullName) {\n this.loginUserName = this.users.userData.userFullName;\n } else {\n this.loginUserName = this.users.userData.userName;\n }\n this.userRoll = this.users.userData.userRoll;\n }\n this.loginImageURL = this.appConfig.getDefaultImgURL();\n }\n\n ngOnInit() {\n // this.getSkillDetails();\n // this.getAllBehSkills();\n\n this.getUsersList();\n // this.getSkillRatingDetails();\n this.fetchPositions();\n }\n\n private generateFourBlocksData(skillType) {\n var skillList;\n\n if (skillType === 'beh') {\n skillList = this.userBehSkillRatingList;\n } else if (skillType === 'fun') {\n skillList = this.userFunSkillRatingList;\n }\n\n this.userStrengths = [];\n this.userOppurtunities = [];\n this.userWeaknesses = [];\n this.userThreats = [];\n\n for (var i = 0; i < skillList.length; i++) {\n if (skillList[i].ratedByRole !== 4) continue;\n\n var percentage =\n (skillList[i].skillScore * 100) / skillList[i].targetScore;\n if (percentage >= 80) {\n this.userStrengths.push(skillList[i].skillName);\n } else if (percentage >= 60 && percentage < 80) {\n this.userOppurtunities.push(skillList[i].skillName);\n } else if (percentage >= 40 && percentage < 60) {\n this.userWeaknesses.push(skillList[i].skillName);\n } else {\n this.userThreats.push(skillList[i].skillName);\n }\n }\n }\n\n //generate total utilized chart\n private generateSkillDevelopmentChart(skillType) {\n debugger;\n // let dataPoints_1 = [100, 200, 120, 1000, 230, 2000, 1100, 100];\n // let dataPoints_2 = [333, 777, 111, 1000, 655, 200, 600, 321];\n // let labels = [];\n\n var skillList;\n if (skillType === 'beh') skillList = this.userBehSkillRatingList;\n else {\n skillList = this.userFunSkillRatingList;\n // if(!this.alreadyHalved) {\n // var half_length = Math.ceil(skillList.length / 2);\n // skillList = skillList.splice(0,half_length);\n // }\n this.alreadyHalved = true;\n }\n var ratings = [],\n labels = [],\n gaps = [],\n fullLabels = [];\n for (var i = 0; i < skillList.length; i++) {\n if (skillList[i].ratedByRole !== 4) continue;\n\n ratings.push(skillList[i].skillScore);\n\n var skillName = skillList[i].skillName;\n if (skillName.length > 30) {\n skillName = skillName.substring(0, 30) + '...';\n }\n\n labels.push(skillName);\n fullLabels.push(skillList[i].skillName);\n var gap = skillList[i].targetScore - skillList[i].skillScore;\n gaps.push(gap > 0 ? gap : 0);\n }\n\n // labels = this.common.breakAllSentencesInLines(labels, 40)\n\n if (this.chart) {\n this.chart.destroy();\n }\n\n this.canvasContainerHeight = labels.length * 20 + 250 + 'px';\n //(labels.length > 5 ?(labels.length * 20) + 250 : '') + \"px\";\n\n this.chart = new Chart('skill_development_chart', {\n type: 'horizontalBar',\n // height: 1000,\n // width: '100%',\n data: {\n labels: labels,\n textColor: '#000000',\n datasets: [\n {\n label: 'Current',\n data: ratings,\n backgroundColor: '#28a745', // green\n },\n {\n label: 'Gap',\n data: gaps,\n backgroundColor: '#d87107', // white\n },\n ],\n },\n options: {\n maintainAspectRatio: false,\n responsive: true,\n\n legend: {\n labels: {\n // This more specific font property overrides the global property\n fontColor: 'black',\n },\n },\n\n tooltips: {\n callbacks: {\n title: function (tooltipItem, data) {\n return fullLabels[tooltipItem[0].index];\n },\n label: function (tooltipItem, data) {\n var label = data.datasets[tooltipItem.datasetIndex].label || '';\n\n if (label) {\n label += ': ';\n }\n // if(data.datasets[tooltipItem.datasetIndex].label === \"Target\") {\n // label += (tooltipItem.xLabel + ratings[tooltipItem.index]);\n // }\n // else {\n label += tooltipItem.xLabel;\n // }\n return label;\n },\n },\n },\n\n scales: {\n xAxes: [\n {\n stacked: true,\n\n ticks: {\n max: 5,\n min: 0,\n stepSize: 1,\n },\n },\n ],\n yAxes: [\n {\n stacked: true,\n // barThickness: 40,\n ticks: {\n max: 5,\n min: 0,\n stepSize: 1,\n },\n },\n ],\n },\n },\n });\n }\n\n // /Get All Users information\n private getUsersList() {\n this.loading = true;\n var userEmail = '';\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\n\n this.commonService\n .getUsersListByPost(\n JSON.parse(localStorage.getItem('user')).userData.towerId,\n userEmail\n )\n .pipe(first())\n .subscribe(\n (data) => {\n this.loading = false;\n if (data && data.length > 0) {\n this.userList = data;\n } else {\n localStorage.setItem('errorMsg', 'Users Not Found');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n // Get All Users information\n private getNextPosition() {\n this.loading = true;\n this.commonService\n .getNextPosition(this.selectedUserId)\n .pipe(first())\n .subscribe(\n (data) => {\n this.loading = false;\n if (data && data.length > 0) {\n this.nextPosition = data[0].positionName;\n } else {\n localStorage.setItem(\n 'errorMsg',\n 'User is already at the highest level'\n );\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n // //load whole page data\n // private loadDashboardData(skillType) {\n\n // if(skillType === 'fun')\n // this.getUserFunSkillInfo();\n // else\n // this.getUserBehSkillInfo();\n // }\n\n generateDashboardData(skillType) {\n // this.getNextPosition();\n // this.loadDashboard();\n\n this.generateSkillDevelopmentChart(skillType);\n this.generateFourBlocksData(skillType);\n this.showDashboardSections = true;\n }\n\n getPositionName(positionId) {\n for (let i = 0; i < this.positionList.length; i++) {\n if (this.positionList[i].positionId == positionId)\n return this.positionList[i].positionName;\n }\n }\n\n // /fetch user information data\n private fetchPositions() {\n //var towerId = JSON.parse(localStorage.user).userData.towerId;\n this.commonService\n .getAllPositionInfo(null)\n .pipe(first())\n .subscribe(\n (data) => {\n this.positionList = data;\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n // Get Skill Details From Skill Master\n // private getSkillDetails() {\n // this.loading = true;\n // this.commonService.getSkillDetails().pipe(first()).subscribe(\n // data => {\n // this.loading = false;\n // if (data && data.length > 0) {\n // this.skillList = data;\n // } else {\n // this.loading = false;\n // localStorage.setItem('errorMsg', \"Skills Data Not Found\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // },\n // error => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n\n // // Get Behavioral Skill Details From Skill Master\n // private getAllBehSkills() {\n // this.loading = true;\n // this.commonService.getAllBehSkills().pipe(first()).subscribe(\n // data => {\n // this.loading = false;\n // if (data && data.length > 0) {\n // this.behSkillList = data;\n // } else {\n // this.loading = false;\n // localStorage.setItem('errorMsg', \"Behavioral Skills Data Not Found\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // },\n // error => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n\n //Get user skills data\n // private getUserFunSkillInfo() {\n // this.userSkillRatingData = [];\n // if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\n // localStorage.setItem('errorMsg', \"Please select user first!\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // return;\n // }\n // this.loading = true;\n // let userIds = [Number(this.selectedUserId)];\n\n // this.commonService.fetchAllFunSkills(userIds).pipe(first()).subscribe(\n // data => {\n // if (data && data.length > 0) {\n // this.userFunSkillList = data;\n // this.getUserFunSkillRatingInfo(Number(this.selectedUserId));\n // console.log(\"userFunSkillList\", this.userFunSkillList)\n // } else {\n // this.loading = false;\n // localStorage.setItem('errorMsg', \"User skill not found\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // },\n // error => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n\n // //Get user skills data\n // private getUserBehSkillInfo() {\n // this.userSkillRatingData = [];\n // if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\n // localStorage.setItem('errorMsg', \"Please select user first!\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // return;\n // }\n // this.loading = true;\n // let userIds = [Number(this.selectedUserId)];\n // this.commonService.fetchAllBehSkills(userIds).pipe(first()).subscribe(\n // data => {\n // if (data && data.length > 0) {\n // this.userBehSkillList = data;\n // this.getUserBehSkillRatingInfo(Number(this.selectedUserId));\n // console.log(\"userBehSkillList\", this.userBehSkillList)\n // } else {\n // this.loading = false;\n // localStorage.setItem('errorMsg', \"User skill not found\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // },\n // error => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n\n //Get user skills data\n private getUserFunSkillRatingInfo() {\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\n let selectedUserTowerId = this.selectedCombinedId.split('_')[2];\n\n if (!this.selectedUserId || this.selectedUserId == 'Select User') {\n localStorage.setItem('errorMsg', 'Please select user first!');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n this.loading = true;\n let userIds = [Number(this.selectedUserId)];\n var userId: any = Number(this.selectedUserId);\n\n this.functionalActive = 'active';\n this.behavioralActive = '';\n const towerId = JSON.parse(localStorage.getItem('user')).userData.towerId\n ? JSON.parse(localStorage.getItem('user')).userData.towerId\n : selectedUserTowerId;\n\n this.commonService\n .getUserFunSkillRatingInfo(userId, undefined, this.selectedPositionId)\n .pipe(first())\n .subscribe(\n (data) => {\n if (data && data.length > 0) {\n this.userFunSkillRatingList = [];\n for (let i = 0; i < data.length; i++) {\n if (data[i].positionId != this.selectedPositionId) continue;\n\n this.userFunSkillRatingList.push(data[i]);\n }\n\n // this.filterScoreComputation(true);\n // this.generateDashboardData('fun');\n this.compositePercentAverage = this.getCompositeValue();\n this.showDashboardSections = true;\n } else {\n this.loading = false;\n this.userFunSkillRatingList = [];\n localStorage.setItem('errorMsg', 'User skill rating not found');\n this.commonService.showerror();\n this.showDashboardSections = false;\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n this.userFunSkillRatingList = [];\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private loadDashboard() {\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\n\n for (var i = 0; i < this.userList.length; i++) {\n if (this.userList[i].userId == this.selectedUserId) {\n this.selectedUserPosition = this.userList[i].positionName;\n this.selectedUserName = this.userList[i].userName;\n this.nextPositionId = this.userList[i].nextPosition;\n }\n }\n\n this.getUserBehSkillRatingInfo();\n }\n\n //export resource history data\n private excelDownload() {\n let excelExportData = [];\n let headers = [\n 'S.No.',\n 'Competency',\n 'Self Rating',\n 'Manager Rating',\n 'Gap',\n 'Target',\n 'Competency type',\n ];\n\n let userSkill = [this.userBehSkillRatingList, this.userFunSkillRatingList];\n let sno = 0;\n\n this.commonService\n .getUserFunSkillRatingInfo(\n this.selectedUserId,\n undefined,\n //JSON.parse(localStorage.getItem('user')).userData.towerId,\n this.selectedPositionId\n )\n .pipe(first())\n .subscribe((data1) => {\n this.commonService\n .getUserBehSkillRatingInfo(\n this.selectedUserId,\n undefined,\n //JSON.parse(localStorage.getItem('user')).userData.towerId,\n this.selectedPositionId\n )\n .pipe(first())\n .subscribe(\n (data2) => {\n debugger;\n let funcRatingData = {};\n\n let functionalData = [];\n let funSkillCount = 0;\n if (data1 && data1.length > 0) {\n for (let i = 0; i < data1.length; i++) {\n funSkillCount++;\n if (\n data1[i].positionId != this.selectedPositionId ||\n data1[i].ratedByRole != 5\n )\n continue;\n let obj = {\n skillId: data1[i].skillId,\n skillName: data1[i].skillName,\n selfRatingScore: data1[i].skillScore,\n managerRatingScore: '',\n targetScore: data1[i].targetScore,\n skillType: 'Functional',\n };\n functionalData.push(obj);\n if (data1.length) {\n // For extract Manager Rating.\n for (let j = 0; j < data1.length; j++) {\n if (\n data1[j].positionId != this.selectedPositionId ||\n data1[j].ratedByRole != 4\n )\n continue;\n\n let index = functionalData.findIndex(\n (item) => item.skillId == data1[j].skillId\n );\n if (index != -1) {\n functionalData[index].managerRatingScore =\n data1[j].skillScore;\n }\n }\n }\n }\n }\n let behavioralData = [];\n let behSkillCount = 0;\n if (data2 && data2.length > 0) {\n for (let i = 0; i < data2.length; i++) {\n behSkillCount++;\n if (\n data2[i].positionId != this.selectedPositionId ||\n data2[i].ratedByRole != 5\n )\n continue;\n let obj = {\n skillId: data2[i].skillId,\n skillName: data2[i].skillName,\n selfRatingScore: data2[i].skillScore,\n managerRatingScore: '',\n targetScore: data2[i].targetScore,\n skillType: 'Behavioral',\n };\n\n behavioralData.push(obj);\n\n if (data2.length) {\n // For extract Manager Rating.\n for (let j = 0; j < data2.length; j++) {\n if (\n data2[j].positionId != this.selectedPositionId ||\n data2[j].ratedByRole != 4\n )\n continue;\n\n let index = behavioralData.findIndex(\n (item) => item.skillId == data2[j].skillId\n );\n if (index != -1) {\n behavioralData[index].managerRatingScore =\n data2[j].skillScore;\n }\n }\n }\n }\n }\n let skillList = [];\n if (functionalData && behavioralData) {\n skillList = [...functionalData, ...behavioralData];\n }\n if (skillList && skillList.length > 0) {\n for (let i = 0; i < skillList.length; i++) {\n let data = {};\n\n data[headers[0]] = ++sno;\n\n data[headers[1]] = skillList[i].skillName;\n data[headers[2]] = skillList[i].selfRatingScore;\n data[headers[3]] = skillList[i].managerRatingScore;\n data[headers[4]] =\n skillList[i].targetScore - skillList[i].managerRatingScore;\n data[headers[5]] = skillList[i].targetScore;\n data[headers[6]] = skillList[i].skillType;\n // data[headers[7]] = skillList[i].skillType;\n excelExportData.push(data);\n }\n // }\n\n // return;\n this.excelService.generateExcel(\n headers,\n excelExportData,\n this.selectedUserName\n );\n\n // this.filterScoreComputation(true);\n // this.generateDashboardData('fun');\n this.compositePercentAverage = this.getCompositeValue();\n this.showDashboardSections = true;\n } else {\n this.loading = false;\n // this.userFunSkillRatingList = [];\n localStorage.setItem('errorMsg', 'User skill rating not found');\n this.commonService.showerror();\n this.showDashboardSections = false;\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n // this.userFunSkillRatingList = [];\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n });\n\n // for (let i = 0; i < this.fetchData.length; i++) {\n // let data = {};\n // data[headers[0]] = i + 1;\n // data[headers[1]] = this.fetchData[i].userName;\n // data[headers[2]] = this.fetchData[i].typeResource;\n // data[headers[3]] = new Date(this.fetchData[i].joinDate);\n // data[headers[5]] = new Date(this.fetchData[i].leaveDate);\n // data[headers[6]] = this.fetchData[i].team;\n // data[headers[7]] = this.fetchData[i].email;\n // data[headers[8]] = this.fetchData[i].createdByEmail;\n // for (let j = 0; j < this.skillData.length; j++) {\n // let userSkill = this.fetchData[i].userSkill\n // for (let k = 0; k < userSkill.length; k++) {\n // if (userSkill[k].skillId == this.skillData[j].skillId)\n // data[headers[9 + j]] = userSkill[k].skillLevel;\n // }\n // }\n\n // excelExportData.push(data);\n // }\n }\n\n //Get user skills data\n private getUserBehSkillRatingInfo() {\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\n let selectedUserTowerId = this.selectedCombinedId.split('_')[2];\n\n if (!this.selectedUserId || this.selectedUserId == 'Select User') {\n localStorage.setItem('errorMsg', 'Please select user first!');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n this.loading = true;\n let userIds = [Number(this.selectedUserId)];\n var userId: any = Number(this.selectedUserId);\n\n this.functionalActive = '';\n this.behavioralActive = 'active';\n const towerId = JSON.parse(localStorage.getItem('user')).userData.towerId\n ? JSON.parse(localStorage.getItem('user')).userData.towerId\n : selectedUserTowerId;\n this.commonService\n .getUserBehSkillRatingInfo(userId, undefined, this.selectedPositionId)\n .pipe(first())\n .subscribe(\n (data) => {\n if (data && data.length > 0) {\n debugger;\n this.userBehSkillRatingList = [];\n for (let i = 0; i < data.length; i++) {\n if (data[i].positionId != this.selectedPositionId) continue;\n\n this.userBehSkillRatingList.push(data[i]);\n }\n\n // this.filterScoreComputation(false);\n this.generateDashboardData('beh');\n this.getUserFunSkillRatingInfo();\n this.showDashboardSections = true;\n } else {\n this.loading = false;\n this.userBehSkillRatingList = [];\n localStorage.setItem('errorMsg', 'User skill rating not found');\n this.commonService.showerror();\n this.showDashboardSections = false;\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n this.userBehSkillRatingList = [];\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n\n // this.getUserFunSkillRatingInfo();\n }\n\n private getCompositeValue() {\n var compositeBehSum = 0,\n compositeFunSum = 0;\n var countBeh = 0,\n countFun = 0;\n\n for (var i = 0; i < this.userBehSkillRatingList.length; i++) {\n if (this.userBehSkillRatingList[i].ratedByRole !== 4) continue;\n\n var thisSkillsPercentage =\n (this.userBehSkillRatingList[i].skillScore * 100) /\n this.userBehSkillRatingList[i].targetScore;\n\n compositeBehSum +=\n thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage;\n countBeh++;\n }\n\n for (var j = 0; j < this.userFunSkillRatingList.length; j++) {\n if (this.userFunSkillRatingList[j].ratedByRole !== 4) continue;\n\n var thisSkillsPercentage =\n (this.userFunSkillRatingList[j].skillScore * 100) /\n this.userFunSkillRatingList[j].targetScore;\n\n compositeFunSum +=\n thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage;\n countFun++;\n }\n // return Math.floor( ((compositeBehSum /countBeh)*0.3 + (compositeFunSum / countFun)*0.7));\n return {\n full: Math.floor(\n (compositeBehSum / countBeh) * 0.3 + (compositeFunSum / countFun) * 0.7\n ),\n beh: Math.floor(compositeBehSum / countBeh),\n fun: Math.floor(compositeFunSum / countFun),\n };\n }\n\n // reset on date selection\n private onDateSelection(date: NgbDateStruct) {\n if (!this.fromDate && !this.toDate) {\n this.fromDate = date;\n } else if (this.fromDate && !this.toDate && after(date, this.fromDate)) {\n this.toDate = date;\n } else {\n this.toDate = null;\n this.fromDate = date;\n }\n }\n\n // frorward to next section\n public gotoNextPage(e, routeURL) {\n this.router.navigate([routeURL]);\n }\n\n // logout and forward to next section\n private logout() {\n this.commonService.logout();\n }\n /**\n * Check the number is NaN or not\n */\n checkIsNumber(value) {\n if (isNaN(value) || value == null || value == 'null' || value == '') {\n return '';\n } else {\n return value + ' %';\n }\n }\n}\n","\n\n\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n

Dashboard

\n \n
\n
\n
\n
\n \n
\n \n
\n
0\">\n
\n \n
\n
\n
\n
\n
Aggregate Score: \n {{ checkIsNumber(compositePercentAverage.full) }} (30:70)
\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
Current Role
\n
{{ selectedUserPosition }}
\n \n
\n
=80}\" >\n
0-12 months
\n
Ready Now
\n
\n
=60}\">\n
12 to 18 months
\n
Ready Soon
\n
\n
=30}\">\n
More than 2 years
\n
Ready Future
\n
\n
\n \n
Next Role
\n
{{ getPositionName(nextPositionId) }}
\n
\n
\n
\n
\n
\n
\n

These are only indicative timeframes for readiness for target role. The exact timeframe for role change will be determined in consultation with the supervisor and HR.

\n \n
\n\n
\n
Score: {{ checkIsNumber(this.compositePercentAverage.beh) }}
\n
Score: {{ checkIsNumber(this.compositePercentAverage.fun) }}
\n
\n \n
\n
\n \n
\n
Competency Analysis
\n
\n
\n
\n
\n
Strengths
\n
\n \n
    \n \n
  • {{skillName}}
  • \n
    \n \n \n

    No competencies under this category

    \n
    \n \n
\n
\n
\n
\n
\n
\n
Improvement Area
\n
\n \n
    \n \n
  • {{skillName}}
  • \n
    \n \n \n

    No competencies under this category

    \n
    \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
Opportunities
\n
\n \n
    \n \n
  • {{skillName}}
  • \n
    \n \n \n

    No competencies under this category

    \n
    \n \n
\n \n
\n
\n
\n \n
\n
\n
Major Improvement Area
\n
\n \n
    \n \n
  • {{skillName}}
  • \n
    \n \n \n

    No competencies under this category

    \n
    \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
Competency Development
\n
\n
\n
\n {{ chart }}\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
Career path
\n
\n
\n
\n Content Lead\n
\n
\n ACDM\n
\n
\n
\n
\n Ready Now\n
\n
\n 0-12 mnths\n
\n
\n
\n
\n Ready Soon\n
\n
\n 12-18 mnths\n
\n
\n
\n
\n Ready Future\n
\n
\n More than 2 years\n
\n
\n
\n
\n \n
\n
\n
\n
SWOT Analysis
\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n
\n
\n
\n \n
User
\n
Behavior/ Function Skill
\n
Aggregate Score
\n
\n
\n

Select a user from above drop down.

\n
\n \n
\n
\n\n
\n
\n\n\n","import { Component, OnInit, Compiler } from '@angular/core';\nimport { Chart } from 'chart.js';\nimport { CommonService } from '../service/commons-service';\nimport { first, retry } from 'rxjs/operators';\nimport { Common } from '../util/common';\nimport { AppConfig } from '../util';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-rating-history',\n templateUrl: './rating-history.component.html',\n styleUrls: ['./rating-history.component.css']\n})\nexport class RatingHistoryComponent implements OnInit {\n users: any = {};\n chart: any;\n userList: any[] = [];\n loading = false;\n loginUserName: any;\n userRoll: any;\n selectedCombinedId: any = 'Select User';\n activeTab = \"beh\";\n canvasContainerHeight: any;\n alreadyHalved: boolean = false;\n selectedUserId: any;\n selectedPositionId: any;\n funSkillRatingList: any = [];\n funSkillChartData: any = [];\n behSkillChartData: any = [];\n behSkillRatingList: any = [];\n isShowGraph: any = false;\n chartDataExist: any = true;\n dateRanges:any[] = [];\n lastSubmittedDate: any = [];\n convertedData:any[][] = [];\n constructor(\n private commonService: CommonService, \n private router: Router, \n private appConfig: AppConfig, \n private common: Common, \n private _compiler: Compiler\n ) { \n this._compiler.clearCache();\n this.users = JSON.parse(localStorage.getItem('user'));\n if (!this.users || !this.users.userData) {\n this.commonService.logout();\n return;\n }\n if (this.users && this.users.userData) {\n if (this.users.userData.userFullName) {\n this.loginUserName = this.users.userData.userFullName;\n } else {\n this.loginUserName = this.users.userData.userName;\n }\n this.userRoll = this.users.userData.userRoll;\n }\n }\n\n ngOnInit() {\n this.getUsersList();\n }\n // Get All Users information\n private getUsersList() {\n this.loading = true;\n var userEmail = \"\";\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\n this.commonService.getUsersListByPost(JSON.parse(localStorage.getItem('user')).userData.towerId, userEmail).pipe(first()).subscribe(\n data => {\n this.loading = false;\n if (data && data.length > 0) {\n this.userList = data;\n } else {\n localStorage.setItem('errorMsg', \"Users Not Found\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n }, error => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n private loadDashboard(skillType) {\n this.chartDataExist = true;\n this.funSkillRatingList = [];\n this.funSkillChartData = [];\n this.behSkillRatingList = [];\n this.behSkillChartData = [];\n this.getUserBehSkillRatingInfo();\n }\n /**\n * Get the functional skill rating history.\n */\n private getUserFunSkillRatingInfo() {\n this.activeTab = 'fun';\n this.funSkillRatingList = [];\n this.funSkillChartData = [];\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\n let selectedUserTowerId = this.selectedCombinedId.split(\"_\")[2];\n\n if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\n localStorage.setItem('errorMsg', \"Please select user first!\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n this.loading = true;\n this.commonService.getUserFunSkillRatinghistory(Number(this.selectedUserId), Number(this.selectedPositionId)).subscribe(results => {\n if(results) {\n this.funSkillRatingList = results;\n var temDate: any = '';\n var filteredRatingHistory = [];\n let newArrIndex = 0;\n var compositeFunSum = 0;\n var funCount = 0;\n if (this.funSkillRatingList.length) {\n // For show rgraph data.\n this.convertData(true);\n for (let i = 0; i < this.funSkillRatingList.length; i++) {\n let date: any = new Date(this.funSkillRatingList[i].createDate);\n date = date.getFullYear() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getDate();\n const createDate = date;\n let obj = {\n date: '',\n score: 0\n };\n if (temDate == createDate || temDate == '') {\n funCount++;\n } else {\n newArrIndex++;\n obj = {\n date: '',\n score: 0\n };\n funCount = 1;\n }\n obj.date = createDate;\n var thisSkillsPercentage = (this.funSkillRatingList[i].skillScore * 100) / this.funSkillRatingList[i].targetScore;\n compositeFunSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\n obj.score = Math.floor(compositeFunSum / funCount);\n filteredRatingHistory[newArrIndex] = obj;\n\n temDate = createDate\n if (i == this.funSkillRatingList.length - 1) {\n console.log('filteredRatingHistory', filteredRatingHistory);\n this.funSkillChartData = filteredRatingHistory;\n this.isShowGraph = true;\n this.generateSkillDevelopmentChart('fun');\n }\n }\n } else {\n this.chartDataExist = false;\n localStorage.setItem('errorMsg', \"Rating history not found\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n \n }\n this.loading = false;\n }, error => {\n this.loading = false;\n console.log('Error', error);\n })\n\n \n }\n /**\n * Get the functional skill rating history.\n */\n private getUserBehSkillRatingInfo() {\n this.activeTab = 'beh';\n this.funSkillRatingList = [];\n this.funSkillChartData = [];\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\n let selectedUserTowerId = this.selectedCombinedId.split(\"_\")[2];\n\n if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\n localStorage.setItem('errorMsg', \"Please select user first!\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n this.loading = true;\n this.commonService.getUserBehSkillRatinghistory(Number(this.selectedUserId), Number(this.selectedPositionId)).subscribe(results => {\n if (results) {\n this.behSkillRatingList = results;\n // For show rgraph data.\n this.convertData(false);\n var temDate: any = '';\n var filteredRatingHistory = [];\n let newArrIndex = 0;\n var compositeFunSum = 0;\n var funCount = 0;\n if (this.behSkillRatingList.length) {\n for (let i = 0; i < this.behSkillRatingList.length; i++) {\n let date: any = new Date(this.behSkillRatingList[i].createDate);\n date = date.getFullYear() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getDate();\n const createDate = date;\n let obj = {\n date: '',\n score: 0\n };\n if (temDate == createDate || temDate == '') {\n funCount++;\n } else {\n newArrIndex++;\n obj = {\n date: '',\n score: 0\n };\n funCount = 1;\n }\n obj.date = createDate;\n var thisSkillsPercentage = (this.behSkillRatingList[i].skillScore * 100) / this.behSkillRatingList[i].targetScore;\n compositeFunSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\n obj.score = Math.floor(compositeFunSum / funCount);\n filteredRatingHistory[newArrIndex] = obj;\n\n temDate = createDate\n if (i == this.behSkillRatingList.length - 1) {\n this.behSkillChartData = filteredRatingHistory;\n this.isShowGraph = true;\n this.generateSkillDevelopmentChart('beh');\n }\n }\n } else {\n this.chartDataExist = false;\n localStorage.setItem('errorMsg', \"Rating history not found\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n \n }\n this.loading = false;\n }, error => {\n this.loading = false;\n console.log('Error', error);\n })\n\n }\n \n //generate total utilized chart\n private generateSkillDevelopmentChart(skillType) {\n var skillList;\n if (skillType === 'beh') {\n skillList = this.behSkillChartData;\n } else {\n skillList = this.funSkillChartData;\n this.alreadyHalved = true;\n }\n var ratings = [], labels = [], gaps = [], fullLabels = [];\n for (var i = 0; i < skillList.length; i++) {\n\n ratings.push(skillList[i].score);\n\n var skillName = skillList[i].date;\n labels.push(skillName);\n fullLabels.push(skillList[i].date);\n \n var gap = 100 - skillList[i].score;\n gaps.push(gap > 0 ? gap : 0);\n }\n\n \n\n if (this.chart) {\n this.chart.destroy();\n }\n\n\n this.canvasContainerHeight = (labels.length * 20) + 250 + \"px\";\n \n\n\n this.chart = new Chart('skill_development_chart', {\n type: 'horizontalBar',\n // height: 1000,\n // width: '100%',\n data: {\n labels: labels,\n textColor: '#000000',\n datasets: [{\n label: 'Current',\n data: ratings,\n backgroundColor: '#28a745' // green\n },\n {\n label: 'Gap',\n data: gaps,\n backgroundColor: '#d87107' // white\n }]\n },\n options: {\n maintainAspectRatio: false,\n responsive: true,\n\n legend: {\n labels: {\n // This more specific font property overrides the global property\n fontColor: 'black'\n }\n },\n\n tooltips: {\n callbacks: {\n title: function (tooltipItem, data) {\n return fullLabels[tooltipItem[0].index];\n },\n label: function (tooltipItem, data) {\n var label = data.datasets[tooltipItem.datasetIndex].label || '';\n\n if (label) {\n label += ': ';\n }\n \n label += tooltipItem.xLabel;\n return label;\n }\n }\n },\n scales: {\n xAxes: [{\n stacked: true,\n ticks: {\n max: 100,\n min: 0,\n stepSize: 10\n }\n }],\n yAxes: [{\n stacked: true,\n // barThickness: 40,\n ticks: {\n max: 100,\n min: 0,\n stepSize: 1\n }\n }]\n }\n }\n });\n }\n /**\n * List rating list daye wise.\n */\n private convertData(isFunctional) {\n var ratings1;\n console.log('this.funSkillRatingList', this.funSkillRatingList);\n if(isFunctional)\n ratings1 = this.funSkillRatingList;\n else\n ratings1 = this.behSkillRatingList;\n \n \n var ratings2 = [];\n // this.dateRanges = [1];\n this.dateRanges = [];\n this.lastSubmittedDate = [];\n let j = 0;\n let k = 1;\n console.log('List fullFunRatingList', ratings1);\n var tempStartDate ='';\n var tempEndDate = '';\n for (let dates = 0; dates < ratings1.length; dates++) {\n let newDateRange = this.formatDate(ratings1[dates].skillRatingFromDate) + \" - \"\n + this.formatDate(ratings1[dates].skillRatingToDate);\n if (this.dateRanges.indexOf(newDateRange) === -1) {\n this.dateRanges.push(newDateRange);\n }\n }\n for(let i = 0;i\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n

User History

\n \n
\n
\n
\n
\n\n
\n \n
\n
0\">\n
\n \n
\n
\n
\n \n
\n\n
\n
\n \n \n \n
\n
\n
\n
Competency Development
\n
\n
\n
\n {{ chart }}\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
User Rating History
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
S.No.SkillTarget Score\n \n {{ dateRange == 1?\"\":dateRange }}\n \n
\n
{{i+1}}
\n
\n
{{cell}}
\n
\n \n
\n
\n
\n\n
\n
\n
","export * from './app.config';\r\nexport * from './common';","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\r\n\r\n@Component({ templateUrl: './skillRatingMaster.component.html', styleUrls: ['./skillRatingMaster.component.css'] })\r\nexport class SkillRatingMasterComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n formObj: any;\r\n config: any;\r\n formInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n allTowers: any = [];\r\n allIbus: any = [];\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = '/assets/default.png';\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.formObj = this.formBuilder.group({\r\n ratingId: new FormControl(null),\r\n score: ['', Validators.required],\r\n ratingName: ['', Validators.required],\r\n remark: ['', Validators.required],\r\n towerId: new FormControl(0)\r\n });\r\n this.initialization();\r\n }\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n // if (this.superUserType == \"super\") {\r\n // this.getAllSkills();\r\n // } else {\r\n // this.getAllSkillsById();\r\n // }\r\n this.fetchSkillRatingData();\r\n if(this.common.isSuperUser()) {\r\n this.getTowerList();\r\n }\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.formObj = this.formBuilder.group({\r\n ratingId: new FormControl(null),\r\n score: ['', Validators.required],\r\n ratingName: ['', Validators.required],\r\n remark: ['', Validators.required],\r\n towerId: new FormControl(0)\r\n });\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(formInfo) {\r\n this.initUserInfo();\r\n this.formObj = this.formBuilder.group({\r\n ratingId: new FormControl(formInfo.ratingId),\r\n score: new FormControl(formInfo.score),\r\n ratingName: new FormControl(formInfo.ratingName),\r\n remark: new FormControl(formInfo.remark),\r\n towerId: new FormControl(formInfo.towerId)\r\n });\r\n }\r\n\r\n // Get All user list\r\n private fetchSkillRatingData() {\r\n this.loading = true;\r\n this.formInfoList = [];\r\n this.commonService.fetchSkillRatingData().pipe(first()).subscribe( \r\n data => {\r\n this.formInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get All user list by Id\r\n // private getAllSkillsById() {\r\n // this.loading = true;\r\n // this.formInfoList = [];\r\n // this.commonService.getAllSkillsById().pipe(first()).subscribe( //TODO\r\n // data => {\r\n // this.formInfoList = data;\r\n // this.loading = false;\r\n // },\r\n // error => {\r\n // this.loading = false;\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.showerror();\r\n // }\r\n // )\r\n // }\r\n\r\n // Save new user profile\r\n private onSubmit(formInfo) {\r\n if (this.formObj.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n // check ibu name is already exits\r\n if (this.checkRatingName(formInfo.ratingName)) { \r\n localStorage.setItem('errorMsg', formInfo.ratingName + ' skill already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n if (this.checkScore(formInfo.score)) { \r\n localStorage.setItem('errorMsg', `Skill score '${formInfo.score}' already exits!`);\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n if(!this.common.isSuperUser()) {\r\n // delete formInfo.ratingName;\r\n // delete formInfo.tower;\r\n formInfo.tower = JSON.parse(localStorage.getItem('user')).userData.towerId;\r\n } \r\n this.commonService.saveSkillRating(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.formObj.reset();\r\n localStorage.setItem('errorMsg', 'Profile Added successfully!');\r\n this.initialization();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateSkillRating(formInfo) {\r\n if (this.formObj.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n \r\n if (formInfo != null) {\r\n if (formInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.updateSkillRating(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Skill Master is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Record is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check if name is already exits\r\n private checkRatingName(ratingName) {\r\n let isRatingNameExits = false;\r\n for (let i = 0; i < this.formInfoList.length; i++) {\r\n if (ratingName.toLowerCase() == this.formInfoList[i].ratingName.toLowerCase()) {\r\n isRatingNameExits = true;\r\n break;\r\n }\r\n }\r\n return isRatingNameExits;\r\n }\r\n\r\n // check if score already exits\r\n private checkScore(score) {\r\n let isScoreExits = false;\r\n for (let i = 0; i < this.formInfoList.length; i++) {\r\n if (score == this.formInfoList[i].score) {\r\n isScoreExits = true;\r\n break;\r\n }\r\n }\r\n return isScoreExits;\r\n }\r\n \r\n //show dailog box for user messages\r\n showerror() {\r\n // this.dialogService.addDialog(ErrorComponent, {\r\n // title: 'Confirm title',\r\n // message: 'Confirm message'\r\n // })\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n //logout and forward to login page\r\n private logout(e, routeURL) {\r\n this.commonService.logout();\r\n }\r\n\r\n //forward next section\r\n private gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n private getTowerList() {\r\n this.loading = true;\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allTowers = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Skill Rating Master Form
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoScoreRating NameRemarkAction
\r\n
{{formInfoList.indexOf(formInfo) + 1}}
\r\n
\r\n
{{formInfo.score}}
\r\n
\r\n
{{formInfo.ratingName}}
\r\n
\r\n
{{formInfo.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
","export * from './behavioralSkillMaster.component';","import { enableProdMode, NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AddResourceComponent } from './addResource/addResource.component';\nimport { AdminDashboardComponent } from './adminDashboard/adminDashboard.component';\nimport { BehavioralSkillMasterComponent } from './behavioralSkillMaster';\nimport { DashboardComponent } from './dashboard';\nimport { FunctionalSkillMasterComponent } from './functionalSkillMaster/functionalSkillMaster.component';\nimport { IBUComponent } from './ibu/ibu.component';\nimport { InterestedUsersComponent } from './interested-users/interested-users.component';\nimport { LoginComponent } from './login';\nimport { ManagementUsersComponent } from './managementUser/managementusers.component';\nimport { ManagerRatingSectionComponent } from './managerRatingSection/managerRatingSection.component';\nimport { NominateComponent } from './nominate/nominate.component';\nimport { PositionLadderComponent } from './position-ladder/position-ladder.component';\nimport { RatingHistoryComponent } from './rating-history/rating-history.component';\nimport { InterventionComponent } from './resourceIntervention/intervention.component';\nimport { ScoreComputationComponent } from './scoreComputation/scoreComputation.component';\nimport { SelfRatingSectionComponent } from './selfRatingSection/selfRatingSection.component';\nimport { SkillRatingMasterComponent } from './skillRatingMaster/skillRatingMaster.component';\nimport { SkillRatingSectionComponent } from './skillRatingSection/skillRatingSection.component';\nimport { AdminUserComponent } from './superAdminUser/adminuser.component';\nimport { TowerComponent } from './tower/tower.component';\nimport { TrainingComponent } from './training/training.component';\nimport { UserDashboardComponent } from './user-dashboard/user-dashboard.component';\nimport { CompetencyReportComponent } from './competency-report/competency-report.component';\n\nconst routes: Routes = [\n { path: '', component: LoginComponent },\n { path: 'login', component: LoginComponent },\n { path: 'dashboard', component: DashboardComponent },\n { path: 'addResource', component: AddResourceComponent },\n { path: 'intervention', component: InterventionComponent },\n { path: 'scoreComputation', component: ScoreComputationComponent },\n { path: 'skillRating', component: SkillRatingSectionComponent },\n { path: 'selfRating', component: SelfRatingSectionComponent },\n { path: 'managerRating', component: ManagerRatingSectionComponent },\n { path: 'adminDashboard', component: AdminDashboardComponent },\n { path: 'ibu', component: IBUComponent },\n { path: 'tower', component: TowerComponent },\n { path: 'manageUsers', component: ManagementUsersComponent },\n { path: 'superAdminUser', component: AdminUserComponent },\n { path: 'funSkillMaster', component: FunctionalSkillMasterComponent },\n { path: 'behSkillMaster', component: BehavioralSkillMasterComponent },\n { path: 'skillRatingMaster', component: SkillRatingMasterComponent },\n { path: 'userDashboard', component: UserDashboardComponent },\n { path: 'position-ladder', component: PositionLadderComponent },\n { path: 'training', component: TrainingComponent },\n { path: 'nominate', component: NominateComponent },\n { path: 'interested-users', component: InterestedUsersComponent },\n { path: 'rating-history', component: RatingHistoryComponent },\n { path: 'competencyReport', component: CompetencyReportComponent },\n { path: '**', redirectTo: '' }\n];\nenableProdMode();\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule { }\n","const empStatusList = [\r\n { 'key': 'Deactive', 'value': 0 },\r\n { 'key': 'Active', 'value': 1 },\r\n { 'key': 'Resigned', 'value': 2 }\r\n]\r\n\r\nconst batchNoList = ['batch1','batch2','batch3','batch4','batch5','batch6','batch7','batch8','batch9','batch10']\r\n\r\nconst trStatusList = [\r\n { 'key': 'Rejected', 'value': 0 },\r\n { 'key': 'Approved', 'value': 1 },\r\n // { 'key': 'Pending', 'value': 2 },\r\n { 'key': 'Not Initiated', 'value': 2 },\r\n { 'key': 'Non Promoted', 'value': 4 },\r\n { 'key': 'Promoted', 'value': 5 },\r\n { 'key': 'Continued', 'value': 6 }\r\n]\r\n\r\nconst addResourceAllColumnList = [\r\n { item_id: 1, slug: 'empCode', item_text: 'Emp. Code' },\r\n { item_id: 2, slug: 'userName', item_text: 'Emp. Name' },\r\n { item_id: 3, slug: 'email', item_text: 'Email Id' },\r\n { item_id: 4, slug: 'currentPosition', item_text: 'Current Role' },\r\n { item_id: 5, slug: 'nextPosition', item_text: 'Next Role' },\r\n { item_id: 6, slug: 'empStatus', item_text: 'Emp Status' },\r\n { item_id: 7, slug: 'batchNo', item_text: 'Batch Number' },\r\n { item_id: 8, slug: 'journeyCompletionDate', item_text: 'Journey Completion Date' },\r\n { item_id: 9, slug: 'isApproved', item_text: 'Status' },\r\n { item_id: 10, slug: 'approvedAt', item_text: 'Nominated At' },\r\n { item_id: 10, slug: 'userId', item_text: 'Notes' }\r\n ];\r\n\r\n const addResourceColumnList = [\r\n { item_id: 1, slug: 'empCode', item_text: 'Emp. Code' },\r\n { item_id: 2, slug: 'userName', item_text: 'Emp. Name' },\r\n { item_id: 4, slug: 'currentPosition', item_text: 'Current Role' },\r\n { item_id: 5, slug: 'nextPosition', item_text: 'Next Role' },\r\n { item_id: 6, slug: 'empStatus', item_text: 'Emp Status' },\r\n { item_id: 9, slug: 'isApproved', item_text: 'Status' }\r\n ];\r\n\r\nexport const ConstantValue = {\r\n EmpStatusList: empStatusList,\r\n BatchNoList: batchNoList,\r\n TrStatusList: trStatusList,\r\n AddResourceColumns: addResourceColumnList,\r\n AddResourceAllColumnList: addResourceAllColumnList\r\n}","import { Component, OnInit, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { AppConfig } from '../util';\r\n\r\n@Component({\r\n templateUrl: 'login.component.html',\r\n styleUrls: ['login.component.css'],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n loginForm: FormGroup;\r\n loading = false;\r\n baseURL: any = null;\r\n appConfig: AppConfig;\r\n\r\n public show: boolean = false;\r\n public inputType: any = 'Password';\r\n ipAddress: any = 1;\r\n hide: any;\r\n isCaptcha: boolean = false;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private commonService: CommonService,\r\n appConfig: AppConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.appConfig = appConfig;\r\n this.baseURL = appConfig.getServerURL();\r\n }\r\n\r\n ngOnInit() {\r\n //Using for Christmas/New Year Popup\r\n // $('.closeMaintenanceMsg').click(function () {\r\n // $('.maintenanceMsg').hide();\r\n // $('.maintPopup').removeClass('modal-backdrop');\r\n // });\r\n this.getIP();\r\n this.generateCaptcha();\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required],\r\n loginas: ['self', Validators.required],\r\n });\r\n }\r\n\r\n toggle() {\r\n this.show = !this.show;\r\n\r\n // CHANGE THE NAME OF THE BUTTON.\r\n if (this.show) this.inputType = 'Text';\r\n else this.inputType = 'Password';\r\n }\r\n /**\r\n * Get the IP address.\r\n */\r\n getIP() {\r\n this.commonService.getIPAddress().subscribe((res: any) => {\r\n console.log('Ressss', res);\r\n this.ipAddress = res.ip;\r\n });\r\n }\r\n //user login with jira credential\r\n authenticatUser() {\r\n if (this.isCaptcha) {\r\n var string1 = this.removeSpaces(\r\n (document.getElementById('mainCaptcha')).value\r\n );\r\n var string2 = this.removeSpaces(\r\n (document.getElementById('txtInput')).value\r\n );\r\n if (string1 != string2) {\r\n localStorage.setItem('errorMsg', 'Please enter valid captcha');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n // stop here if form is invalid\r\n if (\r\n !this.loginForm.controls.username.value &&\r\n !this.loginForm.controls.password.value\r\n ) {\r\n localStorage.setItem('errorMsg', this.appConfig.getBlankLoginErrorMsg());\r\n this.commonService.showerror();\r\n return;\r\n }\r\n const userNameArr = this.loginForm.controls.username.value.split('@');\r\n const userName = userNameArr[0];\r\n let locIpAddr = 1;\r\n this.loading = true;\r\n this.commonService\r\n .login(\r\n userName,\r\n this.loginForm.controls.password.value,\r\n this.loginForm.controls.loginas.value,\r\n this.ipAddress\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (res) => {\r\n this.loading = false;\r\n if (res && res.data && res.data.length > 0) {\r\n console.log('Login Page', res.data);\r\n if (\r\n !res.data[0].emailAddress ||\r\n res.data[0].emailAddress.trim().length == 0\r\n ) {\r\n if (res.data[0].email) {\r\n res.data[0]['emailAddress'] = res.data[0].email;\r\n } else if (res.data[0].userEmail) {\r\n res.data[0]['emailAddress'] = res.data[0].userEmail;\r\n }\r\n }\r\n if (res.data[0].towerId) {\r\n res.data[0].towerId = res.data[0].towerId.toString();\r\n }\r\n if (\r\n res.data[0].towerId &&\r\n res.data[0].towerId.split(',').length > 1\r\n ) {\r\n res.data[0].towerIdArray = res.data[0].towerId.split(',');\r\n res.data[0].towerId = res.data[0].towerId.split(',')[0];\r\n } else {\r\n res.data[0].towerIdArray = [];\r\n }\r\n localStorage.setItem(\r\n 'user',\r\n JSON.stringify({ userData: res.data[0] })\r\n );\r\n\r\n console.log('userdata', res.data[0]);\r\n if (res.data[0].userRoll == '1')\r\n this.router.navigate(['/adminDashboard']);\r\n else if (res.data[0].userRoll == '5')\r\n this.router.navigate(['/selfRating']);\r\n else this.router.navigate(['/dashboard']);\r\n } else if (res.error) {\r\n if (res.isCaptcha) {\r\n this.isCaptcha = res.isCaptcha;\r\n this.generateCaptcha();\r\n }\r\n localStorage.setItem('errorMsg', res.error);\r\n this.commonService.showLoginError();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n this.appConfig.getInvalidDetailsMsg()\r\n );\r\n this.commonService.showerror();\r\n }\r\n );\r\n }\r\n\r\n generateCaptcha() {\r\n var alpha = new Array(\r\n 'A',\r\n 'B',\r\n 'C',\r\n 'D',\r\n 'E',\r\n 'F',\r\n 'G',\r\n 'H',\r\n 'I',\r\n 'J',\r\n 'K',\r\n 'L',\r\n 'M',\r\n 'N',\r\n 'O',\r\n 'P',\r\n 'Q',\r\n 'R',\r\n 'S',\r\n 'T',\r\n 'U',\r\n 'V',\r\n 'W',\r\n 'X',\r\n 'Y',\r\n 'Z',\r\n 'a',\r\n 'b',\r\n 'c',\r\n 'd',\r\n 'e',\r\n 'f',\r\n 'g',\r\n 'h',\r\n 'i',\r\n 'j',\r\n 'k',\r\n 'l',\r\n 'm',\r\n 'n',\r\n 'o',\r\n 'p',\r\n 'q',\r\n 'r',\r\n 's',\r\n 't',\r\n 'u',\r\n 'v',\r\n 'w',\r\n 'x',\r\n 'y',\r\n 'z',\r\n '1',\r\n '2',\r\n '3',\r\n '4',\r\n '5',\r\n '6',\r\n '7',\r\n '8',\r\n '9',\r\n '0'\r\n );\r\n var i;\r\n for (i = 0; i < 6; i++) {\r\n var a = alpha[Math.floor(Math.random() * alpha.length)];\r\n var b = alpha[Math.floor(Math.random() * alpha.length)];\r\n var c = alpha[Math.floor(Math.random() * alpha.length)];\r\n var d = alpha[Math.floor(Math.random() * alpha.length)];\r\n var e = alpha[Math.floor(Math.random() * alpha.length)];\r\n var f = alpha[Math.floor(Math.random() * alpha.length)];\r\n }\r\n var code = a + '' + b + '' + '' + c + '' + d + '' + e + '' + f;\r\n\r\n // var inputValue = (document.getElementById(\"mainCaptcha\")).value = code\r\n if (this.isCaptcha) {\r\n this.waitForCaptch('mainCaptcha').then((elm) => {\r\n var inputValue = (((\r\n document.getElementById('mainCaptcha')\r\n )).value = code);\r\n });\r\n }\r\n }\r\n waitForCaptch(selector) {\r\n return new Promise((resolve) => {\r\n if (document.getElementById(selector)) {\r\n return resolve(document.getElementById(selector));\r\n }\r\n\r\n const observer = new MutationObserver((mutations) => {\r\n if (document.getElementById(selector)) {\r\n resolve(document.getElementById(selector));\r\n observer.disconnect();\r\n }\r\n });\r\n\r\n observer.observe(document.body, {\r\n childList: true,\r\n subtree: true,\r\n });\r\n });\r\n }\r\n\r\n CheckValidCaptcha() {\r\n if (this.isCaptcha) {\r\n var string1 = this.removeSpaces(\r\n (document.getElementById('mainCaptcha')).value\r\n );\r\n var string2 = this.removeSpaces(\r\n (document.getElementById('txtInput')).value\r\n );\r\n if (string1 == string2) {\r\n document.getElementById('success').innerHTML =\r\n 'Form is validated Successfully';\r\n //alert(\"Form is validated Successfully\");\r\n return true;\r\n } else {\r\n document.getElementById('error').innerHTML =\r\n 'Please enter a valid captcha.';\r\n //alert(\"Please enter a valid captcha.\");\r\n return false;\r\n }\r\n }\r\n }\r\n removeSpaces(string) {\r\n return string.split(' ').join('');\r\n }\r\n\r\n hidePopup() {\r\n this.hide = 'hide';\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"NIIT\"\r\n
\r\n
\r\n \r\n Talent
\r\n Readiness\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

© 2021 NIIT Talent Readiness. All rights reserved. Powered by NEC.

\r\n
\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nexport interface ErrorModel {\r\n title: string;\r\n message: string;\r\n}\r\n@Component({\r\n selector: 'confirm',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ error_message }}\r\n
\r\n\r\n
\r\n \r\n OK\r\n \r\n
\r\n
\r\n \r\n
`,\r\n styleUrls: ['./error.component.css'],\r\n})\r\nexport class LoginErrorComponent {\r\n title: string;\r\n message: string;\r\n error_message: any;\r\n isChrome: any = false;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: ErrorModel\r\n ) {\r\n this.error_message = localStorage.getItem('errorMsg');\r\n if (navigator.userAgent.indexOf('Chrome') != -1) {\r\n console.log('Browser Chrome');\r\n this.isChrome = true;\r\n }\r\n }\r\n\r\n confirm(): void {\r\n localStorage.removeItem('errorMsg');\r\n this.dialogRef.close();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n refresh(): void {\r\n window.location.reload();\r\n }\r\n}\r\n//
\r\n// Please check FAQ\r\n// Link\r\n//
\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-admin-sidebar',\n templateUrl: './admin-sidebar.component.html',\n styleUrls: ['./admin-sidebar.component.css']\n})\nexport class AdminSidebarComponent implements OnInit {\n\n private users: any = {};\n public show:boolean = false;\n public buttonName:any = 'Hide';\n private userRoll: number = 0;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n toggle() {\n this.show = !this.show;\n\n // CHANGE THE NAME OF THE BUTTON.\n if(this.show) \n this.buttonName = \"Show\";\n else\n this.buttonName = \"Hide\";\n }\n\n\n}\n","","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","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 = \"zn8P\";"],"sourceRoot":"webpack:///"}