{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/Components/Layout/HomeLayout.Component.html","webpack:///./src/app/Components/Layout/HomeLayout.Component.ts","webpack:///./src/app/Components/Layout/LoginLayout.Component.html","webpack:///./src/app/Components/Layout/LoginLayout.Component.ts","webpack:///./src/app/Components/activity-group/activity-group.component.css","webpack:///./src/app/Components/activity-group/activity-group.component.html","webpack:///./src/app/Components/activity-group/activity-group.component.ts","webpack:///./src/app/Components/activity-request/activity-request.component.css","webpack:///./src/app/Components/activity-request/activity-request.component.html","webpack:///./src/app/Components/activity-request/activity-request.component.ts","webpack:///./src/app/Components/activity-type/activity-type.component.css","webpack:///./src/app/Components/activity-type/activity-type.component.html","webpack:///./src/app/Components/activity-type/activity-type.component.ts","webpack:///./src/app/Components/approve-activity-request/approve-activity-request.component.css","webpack:///./src/app/Components/approve-activity-request/approve-activity-request.component.html","webpack:///./src/app/Components/approve-activity-request/approve-activity-request.component.ts","webpack:///./src/app/Components/brand-budget-allocation/brand-budget-allocation.component.css","webpack:///./src/app/Components/brand-budget-allocation/brand-budget-allocation.component.html","webpack:///./src/app/Components/brand-budget-allocation/brand-budget-allocation.component.ts","webpack:///./src/app/Components/brand-budgetMA-allocation/brand-budgetMA-allocation.component.css","webpack:///./src/app/Components/brand-budgetMA-allocation/brand-budgetMA-allocation.component.html","webpack:///./src/app/Components/brand-budgetMA-allocation/brand-budgetMA-allocation.component.ts","webpack:///./src/app/Components/budget-allocation/budget-allocation.component.css","webpack:///./src/app/Components/budget-allocation/budget-allocation.component.html","webpack:///./src/app/Components/budget-allocation/budget-allocation.component.ts","webpack:///./src/app/Components/budget-request/budget-request.component.css","webpack:///./src/app/Components/budget-request/budget-request.component.html","webpack:///./src/app/Components/budget-request/budget-request.component.ts","webpack:///./src/app/Components/budget-transfer/budget-transfer.component.css","webpack:///./src/app/Components/budget-transfer/budget-transfer.component.html","webpack:///./src/app/Components/budget-transfer/budget-transfer.component.ts","webpack:///./src/app/Components/confirmation/confirmation.component.css","webpack:///./src/app/Components/confirmation/confirmation.component.html","webpack:///./src/app/Components/confirmation/confirmation.component.ts","webpack:///./src/app/Components/credit-debit-reason/credit-debit-reason.component.css","webpack:///./src/app/Components/credit-debit-reason/credit-debit-reason.component.html","webpack:///./src/app/Components/credit-debit-reason/credit-debit-reason.component.ts","webpack:///./src/app/Components/crops/crops.component.css","webpack:///./src/app/Components/crops/crops.component.html","webpack:///./src/app/Components/crops/crops.component.ts","webpack:///./src/app/Components/dashboard/dashboard.component.css","webpack:///./src/app/Components/dashboard/dashboard.component.html","webpack:///./src/app/Components/dashboard/dashboard.component.ts","webpack:///./src/app/Components/debit-credit-list/debit-credit-list.component.css","webpack:///./src/app/Components/debit-credit-list/debit-credit-list.component.html","webpack:///./src/app/Components/debit-credit-list/debit-credit-list.component.ts","webpack:///./src/app/Components/debit-credit-note/debit-credit-note.component.css","webpack:///./src/app/Components/debit-credit-note/debit-credit-note.component.html","webpack:///./src/app/Components/debit-credit-note/debit-credit-note.component.ts","webpack:///./src/app/Components/dialog-box/dialog-box.component.css","webpack:///./src/app/Components/dialog-box/dialog-box.component.html","webpack:///./src/app/Components/dialog-box/dialog-box.component.ts","webpack:///./src/app/Components/fmgm-budget-allocation/fmgm-budget-allocation.component.css","webpack:///./src/app/Components/fmgm-budget-allocation/fmgm-budget-allocation.component.html","webpack:///./src/app/Components/fmgm-budget-allocation/fmgm-budget-allocation.component.ts","webpack:///./src/app/Components/fpebudget-allocation/fpebudget-allocation.component.css","webpack:///./src/app/Components/fpebudget-allocation/fpebudget-allocation.component.html","webpack:///./src/app/Components/fpebudget-allocation/fpebudget-allocation.component.ts","webpack:///./src/app/Components/fperequests/fperequests.component.css","webpack:///./src/app/Components/fperequests/fperequests.component.html","webpack:///./src/app/Components/fperequests/fperequests.component.ts","webpack:///./src/app/Components/login/login.component.css","webpack:///./src/app/Components/login/login.component.html","webpack:///./src/app/Components/login/login.component.ts","webpack:///./src/app/Components/mat-snack-bar/mat-snack-bar.component.css","webpack:///./src/app/Components/mat-snack-bar/mat-snack-bar.component.html","webpack:///./src/app/Components/mat-snack-bar/mat-snack-bar.component.ts","webpack:///./src/app/Components/payment-terms/payment-terms.component.css","webpack:///./src/app/Components/payment-terms/payment-terms.component.html","webpack:///./src/app/Components/payment-terms/payment-terms.component.ts","webpack:///./src/app/Components/po-request-listing/po-request-listing.component.css","webpack:///./src/app/Components/po-request-listing/po-request-listing.component.html","webpack:///./src/app/Components/po-request-listing/po-request-listing.component.ts","webpack:///./src/app/Components/porequisition/porequisition.component.css","webpack:///./src/app/Components/porequisition/porequisition.component.html","webpack:///./src/app/Components/porequisition/porequisition.component.ts","webpack:///./src/app/Components/postatus/postatus.component.css","webpack:///./src/app/Components/postatus/postatus.component.html","webpack:///./src/app/Components/postatus/postatus.component.ts","webpack:///./src/app/Components/products/products.component.css","webpack:///./src/app/Components/products/products.component.html","webpack:///./src/app/Components/products/products.component.ts","webpack:///./src/app/Components/profile/profile.component.css","webpack:///./src/app/Components/profile/profile.component.html","webpack:///./src/app/Components/profile/profile.component.ts","webpack:///./src/app/Components/raise-po/raise-po.component.css","webpack:///./src/app/Components/raise-po/raise-po.component.html","webpack:///./src/app/Components/raise-po/raise-po.component.ts","webpack:///./src/app/Components/record-invoice/record-invoice.component.css","webpack:///./src/app/Components/record-invoice/record-invoice.component.html","webpack:///./src/app/Components/record-invoice/record-invoice.component.ts","webpack:///./src/app/Components/request-brand-budget/request-brand-budget.component.css","webpack:///./src/app/Components/request-brand-budget/request-brand-budget.component.html","webpack:///./src/app/Components/request-brand-budget/request-brand-budget.component.ts","webpack:///./src/app/Components/service-confirmation-reason/service-confirmation-reason.component.css","webpack:///./src/app/Components/service-confirmation-reason/service-confirmation-reason.component.html","webpack:///./src/app/Components/service-confirmation-reason/service-confirmation-reason.component.ts","webpack:///./src/app/Components/service-receipt-confirmation/service-receipt-confirmation.component.css","webpack:///./src/app/Components/service-receipt-confirmation/service-receipt-confirmation.component.html","webpack:///./src/app/Components/service-receipt-confirmation/service-receipt-confirmation.component.ts","webpack:///./src/app/Components/vendor-state-mapping/vendor-state-mapping.component.css","webpack:///./src/app/Components/vendor-state-mapping/vendor-state-mapping.component.html","webpack:///./src/app/Components/vendor-state-mapping/vendor-state-mapping.component.ts","webpack:///./src/app/Models/Activity-Group/ActivityGroup.ts","webpack:///./src/app/Models/Activity-Type/ActivityType.ts","webpack:///./src/app/Models/Credit-Debit-Reason/CreditDebitReason.ts","webpack:///./src/app/Models/Crops/Crops.ts","webpack:///./src/app/Models/FPEBudget/ExcelDocuments.ts","webpack:///./src/app/Models/Payment-Terms/PaymentTerm.ts","webpack:///./src/app/Models/Products/Products.ts","webpack:///./src/app/Models/RaisePo/raise-po-form-submit.ts","webpack:///./src/app/Models/Service-Confirmation-reason/ServiceConfirmationReason.ts","webpack:///./src/app/Models/global.ts","webpack:///./src/app/Models/profile/UserProfile.ts","webpack:///./src/app/Services/ActivityGroup/activity-group.service.ts","webpack:///./src/app/Services/ActivityType/activity-type.service.ts","webpack:///./src/app/Services/BrandBudget/brand-budget.service.ts","webpack:///./src/app/Services/BrandBudgetMA/brand-budgetMA.service.ts","webpack:///./src/app/Services/BudgetAllocation/budget-allocation.service.ts","webpack:///./src/app/Services/Common/common.service.ts","webpack:///./src/app/Services/Confirmation/confirmation.service.ts","webpack:///./src/app/Services/CreditDebitReason/credit-debit-reason.service.ts","webpack:///./src/app/Services/Crops/crops.service.ts","webpack:///./src/app/Services/Dashboard/dashboard.service.ts","webpack:///./src/app/Services/DebitCreditList/debit-credit-list.service.ts","webpack:///./src/app/Services/DebitCreditNote/debit-credit-note.service.ts","webpack:///./src/app/Services/FPEBudget/fpebudget.service.ts","webpack:///./src/app/Services/FPERequests/fperequests.service.ts","webpack:///./src/app/Services/Login/login.service.ts","webpack:///./src/app/Services/Login/session.service.ts","webpack:///./src/app/Services/PORequisition/porequisition.service.ts","webpack:///./src/app/Services/POStatus/postatus.service.ts","webpack:///./src/app/Services/PaymentTerms/payment-terms.service.ts","webpack:///./src/app/Services/Products/products.service.ts","webpack:///./src/app/Services/Profile/profile.service.ts","webpack:///./src/app/Services/RaisePo/raisepo.service.ts","webpack:///./src/app/Services/RecordInvoice/record-invoice-service.service.ts","webpack:///./src/app/Services/RequestBrandBudget/request-brand-budget.service.ts","webpack:///./src/app/Services/ServiceConfirmationReason/service-confirmation-reason.service.ts","webpack:///./src/app/Services/ServiceReceiptConfirmation/service-receipt-confirmation.service.ts","webpack:///./src/app/Services/ServiceRequest/service-request.service.ts","webpack:///./src/app/Services/VendorStateMapping/vendorstatemapping.service.ts","webpack:///./src/app/Services/login/login.service.ts","webpack:///./src/app/Services/profile/profile.service.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/auth.guard.ts","webpack:///./src/app/material-module.ts","webpack:///./src/app/models/global.ts","webpack:///./src/app/services/auth.service.ts","webpack:///./src/app/services/login/login.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"
\\r\\n \\r\\n
\\r\\n Budget Management System\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
{{count}}
\\r\\n
\\r\\n
\\r\\n \\r\\n

Notification

\\r\\n Clear All\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{reminder.notificationMessage}}\\r\\n \\r\\n \\r\\n {{reminder.notificationMessage}}\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • No Notification.
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{userName}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n

{{ userName }}

\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { LoginService } from '../../services/login/login.service';\r\nimport { global } from '../../models/global';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { SessionService } from '../../Services/Login/session.service';\r\nimport { DashboardService } from '../../Services/Dashboard/dashboard.service';\r\nimport { Notify, UpdateNotification } from '../../Models/profile/UserProfile';\r\nimport{ServiceRequestService} from 'src/app/Services/ServiceRequest/service-request.service'\r\ndeclare var name:any;\r\n@Component({\r\n selector: 'app-layout',\r\n templateUrl: './HomeLayout.Component.html'\r\n \r\n})\r\n export class HomeLayoutComponent implements OnInit {\r\n userName;\r\n RoleId : string;\r\n userID:string;\r\n IsNoRMH:boolean;\r\n IsShow : boolean;\r\n loader : string = 'none';\r\n ROOT_URL : string = \"\";\r\n loadAPI : Promise;\r\n searchValue : string = '';\r\n menuList : any[] = [];\r\n notify : Notify=new Notify();\r\n count : number = 0;\r\n constructor(private serviceRequest :ServiceRequestService,private session : SessionService, private router : Router, private route : ActivatedRoute,\r\n private snackBar : MatSnackBarComponent, private dashboardService: DashboardService,\r\n private loginService : LoginService) {\r\n this.loadAPI = new Promise((resolve) => {\r\n this.getMenuList();\r\n resolve(true);\r\n });\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n this.notification();\r\n //set username to show on the Dashboard and other pages\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.RoleId = localStorage.getItem('mabt_roleID');\r\n this.userID=localStorage.getItem('mabt_userId');\r\n }\r\n \r\n ngOnInit(){\r\n }\r\n RaiseRequest()\r\n {\r\n localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"isEditable\",\"false\");\r\n localStorage.setItem(\"EditRequestId\",\"0\");\r\n this.router.navigate(['MABudget/ActivityRequest',0,0]);\r\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(() => {\r\n this.router.navigate(['MABudget/ActivityRequest',0,0]);\r\n});\r\n }\r\n getMenuList() {\r\n var roleId = localStorage.getItem('mabt_roleID');\r\n this.dashboardService.getLeftMenuList(roleId).subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n //debugger;\r\n let response = resData.data;\r\n var menulist = response.filter(menu => menu.parentID == 0);\r\n var Innermenulist = response.filter(menu => menu.parentID > 0);\r\n var Menulist = [];\r\n menulist.forEach(function (parent) {\r\n //debugger;\r\n var detail = {\r\n MenuName: parent.menuName,\r\n Class: parent.class,\r\n RouteValue: parent.route,\r\n State: parent.state,\r\n TemplateUrl: parent.templateUrl,\r\n Innermenulist: []\r\n };\r\n Innermenulist.forEach(function (child) {\r\n if (parent.menuID === child.parentID) {\r\n var subdetail = {\r\n MenuName: child.menuName,\r\n Class: child.class,\r\n RouteValue: child.route,\r\n State: child.state,\r\n TemplateUrl: child.templateUrl\r\n };\r\n detail.Innermenulist.push(subdetail)\r\n }\r\n });\r\n Menulist.push(detail)\r\n });\r\n this.menuList = Menulist;\r\n } else {\r\n this.snackBar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n }\r\n }\r\n );\r\n }\r\n \r\n logout() {\r\n this.session.logout();\r\n }\r\n //Redirect to C-Master Change password page on Click over Change Password link\r\n changePassword() {\r\n var userid = localStorage.getItem('mabt_userId');\r\n var encodedUserid = btoa(userid);\r\n var encodePortal = btoa('MABT');\r\n if (this.ROOT_URL.indexOf('mabudget.fmcone.in') !== -1)\r\n var url = 'https://cmaster.fmcone.in/ChangePassword?user=' + encodedUserid + '&portal=' + encodePortal;\r\n else\r\n var url = 'https://cmaster.uat.fmcone.in/ChangePassword?user=' + encodedUserid + '&portal=' + encodePortal;\r\n window.open(url, \"_blank\");\r\n }\r\n notification(){\r\n this.loginService.notification().subscribe((resData : any) => {\r\n if (resData.status == true) {\r\n this.notify = resData.data;\r\n if(this.notify.unReadMsg[0].count > 0){\r\n this.count = this.notify.unReadMsg[0].count;\r\n }\r\n else{\r\n this.count = 0;\r\n }\r\n }\r\n // else {\r\n // this.snackBar.openSnackBar(resData.msg, 'Close', 'red-snackbar');\r\n // }\r\n });\r\n }\r\n delete(id : any, read : any, active : any) {\r\n let approvedQuantity : UpdateNotification[] = [];\r\n if(id == 0){\r\n if(this.notify.notification!=undefined){\r\n this.notify.notification.forEach(function (detail){\r\n var approvedQty =\r\n {\r\n ID : detail.id,\r\n Read : true,\r\n Active : false\r\n };\r\n approvedQuantity.push(approvedQty);\r\n })\r\n } \r\n }\r\n else{\r\n var approvedQty =\r\n {\r\n ID : id,\r\n Read : read,\r\n Active : active\r\n };\r\n approvedQuantity.push(approvedQty); \r\n }\r\n if(approvedQuantity.length>0){\r\n this.dashboardService.updateNotification(approvedQuantity)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.notification();\r\n }\r\n })\r\n } \r\n }\r\n color(index : any){\r\n if(this.notify.notification[index].isRead == false)\r\n {\r\n return 'cornsilk'\r\n }\r\n else\r\n {\r\n return 'white'\r\n }\r\n }\r\n}\r\n","module.exports = \" \"","import {Component } from '@angular/core';\r\n@Component({\r\n selector: 'app-login-layout',\r\n templateUrl: './LoginLayout.Component.html'\r\n })\r\n export class LoginLayoutComponent {\r\n \r\n \r\n }","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9hY3Rpdml0eS1ncm91cC9hY3Rpdml0eS1ncm91cC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxVQUFVO0lBQ1YsaUNBQWlDO0lBQ2pDLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7Q0FDZiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYWN0aXZpdHktZ3JvdXAvYWN0aXZpdHktZ3JvdXAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wb3B1cC13cmFwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHotaW5kZXg6IDE2O1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n

Activity Group

\\r\\n
\\r\\n
\\r\\n
\\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
Activity GroupCreated OnUpdated OnAction
{{ data.activityGroupName }}{{ data.createdOn | date:\\\"dd/MMM/y\\\" }}{{ data.modifiedOn | date:\\\"dd/MMM/y h:mm:ss a\\\" }} {{ data.isGroupActive ? \\\"Active\\\":\\\"InActive\\\" }}
\\r\\n
No Data Found.
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Are you sure you want to change status?

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivityGroupService } from 'src/app/Services/ActivityGroup/activity-group.service';\r\nimport { ActivityGroup } from '../../Models/Activity-Group/ActivityGroup';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {MatSnackBarComponent} from 'src/app/Components/mat-snack-bar/mat-snack-bar.component';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogBoxComponent } from 'src/app/Components/dialog-box/dialog-box.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-activity-group',\r\n templateUrl: './activity-group.component.html',\r\n styleUrls: ['./activity-group.component.css']\r\n})\r\nexport class ActivityGroupComponent implements OnInit {\r\n activityGroupDetails: any=[];\r\n loader:string;\r\n activityGroup: ActivityGroup=new ActivityGroup();\r\n firstName:string;\r\n activityGroupId : any;\r\n isGroupActive : any;\r\n displayChangeStatus : string = 'none';\r\n constructor(private activityGroupService:ActivityGroupService, private route: ActivatedRoute, public dialog:MatDialog,private snackbar: MatSnackBarComponent,private toastr:ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.getActivityGroup();\r\n }\r\n openDialogToChangeStatus(activityGroupId :string, isGroupActive:string){\r\n this.activityGroupId = activityGroupId;\r\n this.isGroupActive = isGroupActive;\r\n this.displayChangeStatus = 'block';\r\n }\r\n getActivityGroup(){\r\n this.activityGroupService.getActivityGroupList().subscribe((response:any) =>{\r\n if(response.message==\"Success\"){\r\n this.activityGroupDetails=response.data;\r\n console.log(this.activityGroupDetails);\r\n this.loader='none';\r\n }\r\n },\r\n err=> console.error(err),\r\n ()=> console.log(this.activityGroupDetails)\r\n );\r\n }\r\n changeActivityGroupStatus(activityGroupId :string, isGroupActive:any){\r\n this.activityGroup.ActivityGroupId=activityGroupId;\r\n if(isGroupActive==0)\r\n this.activityGroup.IsGroupActive=1;\r\n else\r\n this.activityGroup.IsGroupActive=0;\r\n this.activityGroupService.changeActivityGroupStatus(this.activityGroup).subscribe((response:any)=>{\r\n this.getActivityGroup();\r\n if (response.Status == true) {\r\n console.log(response.Status);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n createActivityGroup(activityGroupName:any){\r\n if(activityGroupName.value==\"\"){\r\n // this.snackbar.openSnackBar(\"Please fill activity group name.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please fill activity group name.\");\r\n }else{\r\n this.activityGroupService.createActivity(activityGroupName.value).subscribe((response:any)=>{\r\n this.getActivityGroup();\r\n if (response.message == \"Activity group already exist.\") {\r\n // this.snackbar.openSnackBar(\"Activity group already exist.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Activity group already exist.\");\r\n console.log(response.status);\r\n this.loader = 'none';\r\n }else{\r\n // this.snackbar.openSnackBar(\"New activity group added successfully.\", 'Close', 'green-snackbar');\r\n this.toastr.success(\"New activity group added successfully.\");\r\n console.log(response.status);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n }\r\n // SearchText(){\r\n // if(this.firstName !=\"\"){\r\n // this.activityGroupDetails=this.activityGroupDetails.filter(res=>{\r\n // return res.activityGroupName.toLocaleLowerCase().match(this.firstName.toLocaleLowerCase());\r\n // });\r\n // }else if(this.firstName==\"\"){\r\n // this.ngOnInit();\r\n // }\r\n // }\r\n color(groupId: string,isActive:any){\r\n if(isActive==0)\r\n {\r\n return 'red'\r\n }\r\n else\r\n {\r\n return 'green'\r\n }\r\n }\r\n ChangeStatus(id : any){\r\n if(id == 0){\r\n this.displayChangeStatus = 'none';\r\n }\r\n else{\r\n this.displayChangeStatus = 'none';\r\n this.changeActivityGroupStatus(this.activityGroupId,this.isGroupActive); \r\n } \r\n }\r\n}\r\n","module.exports = \".validerror-msg{\\r\\n text-align: left;\\r\\n color: #ff0000;\\r\\n font-size: 12px;\\r\\n display: block;\\r\\n margin-top: 5px;\\r\\n}\\r\\n.fpe-raise-req table tr td:nth-last-child(3) input{\\r\\n text-align: left !important;\\r\\n}\\r\\n.fpe-raise-req table tr td:nth-last-child(4) input{\\r\\n width: 80px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9hY3Rpdml0eS1yZXF1ZXN0L2FjdGl2aXR5LXJlcXVlc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixnQkFBZ0I7Q0FDbkI7QUFDRDtJQUNJLDRCQUE0QjtDQUMvQjtBQUNEO0lBQ0ksWUFBWTtDQUNmIiwiZmlsZSI6InNyYy9hcHAvQ29tcG9uZW50cy9hY3Rpdml0eS1yZXF1ZXN0L2FjdGl2aXR5LXJlcXVlc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi52YWxpZGVycm9yLW1zZ3tcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBjb2xvcjogI2ZmMDAwMDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG59XHJcbi5mcGUtcmFpc2UtcmVxIHRhYmxlIHRyIHRkOm50aC1sYXN0LWNoaWxkKDMpIGlucHV0e1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xyXG59XHJcbi5mcGUtcmFpc2UtcmVxIHRhYmxlIHRyIHRkOm50aC1sYXN0LWNoaWxkKDQpIGlucHV0e1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Raise Request

\\r\\n

0 ? 'black' : 'red'\\\">{{TargetMessage}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Select\\r\\n {{BudgetTypes.type}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Budget Type is required.\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Select\\r\\n {{item.brandManager}}\\r\\n \\r\\n \\r\\n Brand Manager is required.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Select\\r\\n {{State.state}}\\r\\n \\r\\n \\r\\n State is required.\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Region is required.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Select\\r\\n {{vendor.vendorName}}\\r\\n \\r\\n \\r\\n Preferred Supplier is required.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Supplier name is required.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Check email formate.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Select\\r\\n \\r\\n {{ActivityType.activityName}}\\r\\n\\r\\n \\r\\n \\r\\n Activity Type is required.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Product is required.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Crop is required.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Start Date is required.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n End Date is required.\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Start Date is required.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n End Date is required.\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
RegionMonthBudget AllocatedBudget UtilizedBudget Remaining
{{ data.regionName }}{{ data.monthCode }}{{ data.totalBalanceAmount }}{{ data.usedBalanceAmount }}{{ data.remainingBalance }}
Total-{{data}}
\\r\\n
\\r\\n
1 \\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DivisionProductBudget AllocatedBudget UtilizedBudget Remaining
{{ data.division }}{{ data.productID }}{{ data.totalAllocatedBrandBudget }}{{ data.usedBrandBalance }}{{ data.remainingBrandBalance }}
Total-{{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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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.Item Required/ Service ItemSpecificationNo. Of ManpowerQuantity RequiredNo. of VehiclesNo. of DaysRate per UnitPer month costUnit of MeasureAmount\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{itemIndex+1}}\\r\\n \\r\\n \\r\\n Select\\r\\n \\r\\n {{Element.element}}\\r\\n \\r\\n \\r\\n \\r\\n Service Item is required.\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Specification is required.\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Quantity is required.\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Vehicle quantity is required.\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Number of days is required.\\r\\n \\r\\n \\r\\n
{{this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls.ItemDetails['controls'].length+MiscitemIndex+1}}{{MiscitemIndex+1}} \\r\\n
Cost of one MonthCost of one ActivityCost of one Activity
Number of MonthNumber of MonthNumber of ActivityNumber of Activity
Approx value (Rs.)/AmountApprox value (Rs.)/Amount
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Grand Total of all Activities :\\r\\n {{ConvertNumberToSpecialFormateIncludingDecimal(GrandTotal)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{DialogeText}}

\\r\\n

Which budget would you like to utilize for this request?

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

{{ message }}

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormArray, FormBuilder, Validators, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ServiceRequestService } from 'src/app/Services/ServiceRequest/service-request.service'\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { NativeDateAdapter, DateAdapter, MAT_DATE_FORMATS } from '@angular/material';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { analyzeAndValidateNgModules } from '@angular/compiler';\r\nimport { state } from '@angular/animations';\r\nimport { formatDate } from '@angular/common';\r\nimport { FPERequestsService } from 'src/app/Services/FPERequests/fperequests.service';\r\nimport { MAT_DATE_LOCALE } from '@angular/material';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { elementAt } from 'rxjs-compat/operator/elementAt';\r\nimport { NgSelectModule, NgOption } from '@ng-select/ng-select';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\nimport { BrandManagerList } from 'src/app/Models/PORequisition/rmhs-list';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nexport const PICK_FORMATS = {\r\n parse: { dateInput: { month: 'short', year: 'numeric', day: 'numeric' } },\r\n display: {\r\n dateInput: 'input',\r\n monthYearLabel: { year: 'numeric', month: 'short' },\r\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\r\n monthYearA11yLabel: { year: 'numeric', month: 'long' }\r\n }\r\n};\r\nexport class PickDateAdapter extends NativeDateAdapter {\r\n format(date: Date, displayFormat: Object): string {\r\n\r\n return formatDate(date, 'dd-MMM-yyyy', this.locale);;\r\n\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-activity-request',\r\n templateUrl: './activity-request.component.html',\r\n styleUrls: ['./activity-request.component.css'],\r\n providers: [DatePipe,\r\n { provide: DateAdapter, useClass: PickDateAdapter },\r\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\r\n\r\n ]\r\n})\r\nexport class ActivityRequestComponent implements OnInit {\r\n BudgetRequestForm: FormGroup;\r\n BudgetType: any;\r\n Regions = [];\r\n MinStartDate: Date;\r\n MinEndDate: Date;\r\n States = [];\r\n crops = [];\r\n products = [];\r\n activities = [];\r\n userId: string;\r\n budgetTypes = [];\r\n ActivityTypes: any;\r\n selectedSpecification: string;\r\n isdisplay: boolean;\r\n DialogeText: string;\r\n regionslected: string;\r\n IsCancelBtnClicked: boolean;\r\n IsShowDraftButton: string = 'true';\r\n VendorName: any;\r\n isValidFormSubmitted: boolean = true;\r\n TargetMessage: string;\r\n savedData: any;\r\n ContactPerson: any;\r\n Email: any;\r\n MobileNumber: any;\r\n selectedBudgetType: string = \"-1\";\r\n selectedBrandBudgetType: string = '0';\r\n District: any;\r\n Address: any;\r\n Street: any;\r\n City: any;\r\n State: any;\r\n Zipcode: any;\r\n Croplist: any;\r\n cropName: string;\r\n productName: string\r\n Productlist: any;\r\n ProductlistAll: any;\r\n Region: any\r\n StateList: any;\r\n BrandManagerList: BrandManagerList[] = [];\r\n BrandManagerProductMapping: any;\r\n GeographyMapping: any;\r\n BrandRequestMapping: any = [];\r\n IsBudgetAvailable: boolean = false;\r\n ElementList: any;\r\n Elements: any = [];\r\n selectValues: any = [];\r\n selectElements: any = [];\r\n selectSpecification: any = [];\r\n selectUnitOfMeasure: any = [];\r\n VendorList: any = [];\r\n isEditRequest: boolean = false;\r\n isGridVisible: boolean = false;\r\n Mindate: any = [];\r\n Maxdate: any = [];\r\n EditRequestId: number = 0;\r\n isEditable: string = \"false\";\r\n IsEnableRadioButton: string = \"true\"\r\n GrandTotal: number = 0;// = [{type: 'location', values: ['Morroco', 'France', 'Belgium']}, {type: 'device', values: ['phone', 'tablet']}];\r\n ValidateData: any = []\r\n selectedProduct: string = '';\r\n selectedCrop: string = '';\r\n selectedProducts: any = [];\r\n selectedCrops: any = [];\r\n RegionList: any = [];\r\n selectedRegion: string = '';\r\n requestId: number = 0;\r\n RequestType: any = 0;\r\n StartingDate: any;\r\n //selectedProducts:any=[{productId:'AFFINITY'},{productId:'ALGRIP'},{productId:'AMADIS'}];\r\n //selectedCrops:any=[{cropId:'28'},{cropId:'24'},{cropId:'25'}];\r\n //Multiple dropdown select\r\n dropdownProduct = [];\r\n dropdownCrop = [];\r\n dropdownProductSetting: IDropdownSettings = {};\r\n dropdownCropSetting: IDropdownSettings = {};\r\n displayChangeStatus: boolean = false;\r\n displayBudgetUnavailable: boolean = false;\r\n message: string = '';\r\n RemaingBalance: any;\r\n dropdownRegionSetting: IDropdownSettings = {};\r\n SingledropdownSetting: IDropdownSettings = {};\r\n ddlRegion: any = [];\r\n selectedRegionList: any = [];\r\n validateRegions: any = [];\r\n ActivityBudgetMapping: any = [];\r\n RemaingAmount: any;\r\n RemaingBrandBudget: any;\r\n ProductBudgetMapping: any = [];\r\n loader: string = 'none';\r\n currentStatus: number = 1;\r\n ToShowBudgetTable: number = 0;\r\n FromRegion: string;\r\n ToRegion: string;\r\n TransferAmount: string;\r\n transferFlag: boolean = true;\r\n TargetAssigned: number;\r\n validateProductAndCrop: boolean = true;\r\n roleId: number;\r\n IsSaveAsDraft: boolean = false;\r\n IsPreviousRecord: boolean = false;\r\n maxdate: Date;\r\n maxdateManpower: Date;\r\n manpowerSelectedDate: Date;\r\n manpowerDatesFilter = (d: Date | null): boolean => {\r\n const date = (d || new Date()).getDate(); //current date\r\n const month = (d || new Date()).getMonth() + 1; //current month\r\n // Only enable same date from next month for next 6 month.\r\n return date == this.manpowerSelectedDate.getDate() && month !== this.manpowerSelectedDate.getMonth() + 1;\r\n };\r\n private sub: any;\r\n constructor(private fperequestsService: FPERequestsService, private datepipe: DatePipe, private fb: FormBuilder, private serviceRequest: ServiceRequestService, private snackbar: MatSnackBarComponent, private route: ActivatedRoute, private router: Router, private toastr: ToastrService) {\r\n var date = new Date();\r\n var year = date.getFullYear();\r\n this.maxdate = new Date(year + \"-12-31\");\r\n this.maxdateManpower = new Date(year + \"-12-31\")\r\n this.MinEndDate = new Date();\r\n this.MinStartDate = new Date();\r\n this.roleId = parseInt(localStorage.getItem('mabt_roleID'));\r\n //this.isEditable = (localStorage.getItem(\"isEditable\"));\r\n this.BudgetRequestForm = this.fb.group({\r\n Title: [\"\"],//[\"\", Validators.required],\r\n BudgetType: [\"-1\", Validators.required],\r\n State: ['-1', Validators.required],\r\n BrandManager: ['-1'],\r\n Region: ['-1', Validators.required],\r\n RequestType: '0', // 0->for Activities, 1->Manpower\r\n PrefferedVendor: [\"\", Validators.required],\r\n Notes: [\"\"],\r\n Name: [\"\", Validators.required],\r\n Email: [\"\", Validators.pattern(\"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9._-]+\\\\.[a-zA-Z]{2,4}$\")],\r\n Mobile: [\"\"],\r\n VendorAddress: [\"\"],\r\n ContactPerson: [],\r\n GrandTotalAmount: [\"\"],\r\n BudgetRequestList: this.fb.array([])\r\n\r\n });\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n debugger\r\n this.EditRequestId = +params['requestID']; // (+) converts string 'id' to a number\r\n if (params.statusID == 1) {\r\n this.isEditable = 'true';\r\n } else {\r\n this.isEditable = 'false';\r\n }\r\n });\r\n this.isdisplay = false; debugger;\r\n if (localStorage.getItem(\"btnNavigate\") == \"1\") {\r\n this.EditRequestId = parseInt(localStorage.getItem(\"EditRequestId\"));\r\n this.isEditable = (localStorage.getItem(\"isEditable\"));\r\n localStorage.setItem(\"btnNavigate\", \"0\");\r\n }\r\n\r\n\r\n\r\n this.BindFilterData();\r\n //this.BudgetRequestForm.get('RequestType').setValue(0);\r\n debugger;\r\n if (this.EditRequestId != undefined && this.EditRequestId != 0 && this.EditRequestId != null) {\r\n this.isEditRequest = true;\r\n this.GetRequestDetailById(this.EditRequestId);\r\n if (localStorage.getItem(\"RepeatRequest\") == \"1\") {\r\n this.EditRequestId = 0;\r\n }\r\n }\r\n else {\r\n this.AddRequestFields();\r\n this.BindDDLs();\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n\r\n }\r\n get addressControls() {\r\n return this.BudgetRequestForm.get('BudgetRequestList')['controls'];\r\n }\r\n get BudgetRequests(): FormArray {\r\n return this.BudgetRequestForm.get(\"BudgetRequestList\") as FormArray;\r\n }\r\n ResetValues() {\r\n this.DialogeText = \"Are you sure you want to cancel request?\";\r\n this.isdisplay = true;\r\n this.IsCancelBtnClicked = true;\r\n // alert(1);\r\n //this.BudgetRequestForm.reset(this.newRequest());\r\n }\r\n newRequest(): FormGroup {\r\n return this.fb.group({\r\n ActivityType: ['', Validators.required],\r\n ActivityCount: [1],\r\n Product: ['', Validators.required],\r\n Crop: ['', Validators.required],\r\n\r\n TotalAmount: [],\r\n endDate: ['', Validators.required],\r\n startDate: ['', Validators.required],\r\n // MiscSpec: [\"\"],\r\n // Misc: [\"Miscellaneous\"],\r\n // MiscQuan: [\"\"],\r\n // MiscUnit: [\"\"],\r\n // MiscRate: [\"\"],\r\n // MiscAmount: [\"\"],\r\n SumTotalAmount: [],\r\n SumTotalAmountPerActivity: [],\r\n AmountToShow: [],\r\n TransferSectionToShow: [],\r\n BrandBudgetSectionToShow: [],\r\n TransferSection: this.fb.array([]),\r\n // MiscvehicleQuan:[\"\"],\r\n // MiscNo_of_Days:[\"\"],\r\n Misclist: this.fb.array([]),\r\n ItemDetails: this.fb.array([]),\r\n RegionFrom: ['-1'],\r\n RegionTo: ['-1'],\r\n TransferAmount: ['0']\r\n });\r\n }\r\n\r\n\r\n POPRequest(): FormGroup {\r\n return this.fb.group({\r\n MiscSpec: [\"\"],\r\n Misc: [\"Miscellaneous\"],\r\n MiscQuan: [\"\"],\r\n MiscUnit: [\"\"],\r\n MiscRate: [\"\"],\r\n MiscAmount: [\"\"],\r\n MiscvehicleQuan: [\"\"],\r\n MiscNo_of_Days: [\"\"],\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n AddRequestFields() {\r\n\r\n //this.BudgetRequestForm.get('PrefferedVendor').setValue('')\r\n // for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n // for (let j = 0; j < this.Request_ItemDetails(i).length; j++) {\r\n // //this.GetAmountByVendor(VendorId,this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('Specification').value,this.BudgetRequestForm.get('State').value,this.BudgetRequests['controls'][i].get('ActivityType').value,i,j);\r\n // this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('RateperUnits').setValue(0);\r\n // this.GetAmount(i, j);\r\n // }\r\n // }\r\n //this.GetTotalAmount();\r\n //this.GetGrandTotal();\r\n this.IsPreviousRecord = false;\r\n this.ToShowBudgetTable = 0\r\n debugger;\r\n //if(this.BudgetRequestForm.valid) {\r\n this.BudgetRequests.push(this.newRequest());\r\n var RequestType = this.BudgetRequestForm.controls.RequestType.value;\r\n var count = this.BudgetRequests.length;\r\n debugger;\r\n if (RequestType == 1) {\r\n //for (let n = 0; n < 3; n++) {\r\n this.addRequest_MiscDetails(count - 1);\r\n //}\r\n } else {\r\n this.addRequest_MiscDetails(count - 1)\r\n // if(this.isEditRequest==false)\r\n // {\r\n for (let n = 0; n < 3; n++) {\r\n this.addRequest_ItemDetails(count - 1);\r\n }\r\n // }\r\n // }\r\n this.BudgetRequests['controls'][count - 1].get(\"TransferSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][count - 1].get(\"BrandBudgetSectionToShow\").setValue(0);\r\n }\r\n }\r\n newItemDetails(): FormGroup {\r\n return this.fb.group({\r\n\r\n Element: ['-1', Validators.required],\r\n quantityRequired: ['0', Validators.required],\r\n Specification: ['-1', Validators.required],\r\n UnitOfMeasure: ['', Validators.required],\r\n RateperUnits: ['0', Validators.required],\r\n Amounts: ['0', Validators.required],\r\n AmountsToShow: ['0'],\r\n vehicleQuantity: ['0'],\r\n no_of_Days: ['0']\r\n })\r\n }\r\n\r\n Request_ItemDetails(empIndex: number): FormArray {\r\n return this.BudgetRequests.at(empIndex).get(\"ItemDetails\") as FormArray\r\n }\r\n addRequest_ItemDetails(empIndex: number) {\r\n this.Request_ItemDetails(empIndex).push(this.newItemDetails());\r\n }\r\n //--------------------------------------------------\r\n Request_MiscDetails(empIndex: number): FormArray {\r\n return this.BudgetRequests.at(empIndex).get(\"Misclist\") as FormArray\r\n }\r\n addRequest_MiscDetails(empIndex: number) {\r\n this.Request_MiscDetails(empIndex).push(this.POPRequest());\r\n }\r\n //-------------------------------------------------\r\n\r\n\r\n\r\n RemoveItem(requestindex: any, itemIndex: any) {\r\n this.Request_ItemDetails(requestindex).removeAt(itemIndex);\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n\r\n }\r\n RemoveMiscItem(requestindex: any, itemIndex: any) {\r\n this.Request_MiscDetails(requestindex).removeAt(itemIndex);\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].removeControl('Misc');\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].removeControl('MiscSpec');\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].removeControl('MiscQuan');\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].removeControl('MiscvehicleQuan');\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].removeControl('MiscNo_of_Days');\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].removeControl('MiscUnit');\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].removeControl('MiscRate');\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].removeControl('MiscAmount');\r\n // this.addressControls[requestindex].removeControl('Misc');\r\n // this.addressControls[requestindex].removeControl('MiscSpec');\r\n // this.addressControls[requestindex].removeControl('MiscQuan');\r\n // this.addressControls[requestindex].removeControl('MiscvehicleQuan');\r\n // this.addressControls[requestindex].removeControl('MiscNo_of_Days');\r\n // this.addressControls[requestindex].removeControl('MiscUnit');\r\n // this.addressControls[requestindex].removeControl('MiscRate');\r\n // this.addressControls[requestindex].removeControl('MiscAmount')\r\n // this.BudgetRequests.pop(this.newRequest());\r\n\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n\r\n }\r\n RemoveActivity(requestindex: any) {\r\n this.BudgetRequests.removeAt(requestindex);\r\n //this.Request_ItemDetails(requestindex).removeAt(itemIndex);\r\n this.GetItemDetailsAmountCalculation();\r\n\r\n }\r\n\r\n AddNewItem(RequestId: any) {\r\n this.IsPreviousRecord = false;\r\n this.addRequest_ItemDetails(RequestId);\r\n\r\n }\r\n AddNewMiscItem(ReqIndex: any) {\r\n this.addRequest_MiscDetails(ReqIndex);\r\n }\r\n onBudgetSelects(item: any) {\r\n debugger;\r\n let count = this.BudgetRequests.length;\r\n if (this.BudgetRequests['controls'][0].get('ActivityType').value != '' && item == 5) {\r\n\r\n this.ToShowBudgetTable = 1;\r\n for (var i = 0; i < count; i++) {\r\n this.onRegionSelects(this.BudgetRequests['controls'][i].get('ActivityType').value, this.BudgetRequestForm.get('State').value, this.BudgetRequestForm.get('Region').value, this.BudgetRequestForm.get('PrefferedVendor').value, i, i, this.BudgetRequests['controls'][i].get(\"startDate\").value)\r\n this.BudgetRequests['controls'][i].get(\"BrandBudgetSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][i].get(\"TransferSectionToShow\").setValue(1);\r\n }\r\n } else if (this.BudgetRequests['controls'][0].get('ActivityType').value != '' && item == 6) {\r\n this.ToShowBudgetTable = 0;\r\n for (var i = 0; i < count; i++) {\r\n this.BudgetRequests['controls'][i].get(\"TransferSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][i].get(\"BrandBudgetSectionToShow\").setValue(1);\r\n }\r\n }\r\n if (item == 6) {\r\n this.Productlist = []\r\n this.BudgetRequestForm.get('BrandManager').setValue('-1');\r\n this.BudgetRequestForm.get('RequestType').setValue(0);\r\n this.RequestType = this.BudgetRequestForm.controls.RequestType.value;\r\n this.IsEnableRadioButton = 'false';\r\n } else {\r\n this.BudgetRequestForm.get('BrandManager').setValue(' ');\r\n this.IsEnableRadioButton = 'true';\r\n this.Productlist = this.ProductlistAll;\r\n }\r\n this.GetActivitiesDetails();\r\n }\r\n onBrandManagerSelects(item: any) {\r\n debugger;\r\n if (this.BudgetRequestForm.value.BudgetType == 6) {\r\n this.GetAmountByProductId('All');\r\n for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n this.BudgetRequests['controls'][i].get('startDate').setValue('');\r\n this.BudgetRequests['controls'][i].get('endDate').setValue('');\r\n }\r\n }\r\n this.Productlist = []\r\n this.BrandManagerProductMapping.forEach(element => {\r\n if (this.Productlist.find(x => x.productId == element.productId)) { } else {\r\n if (element.brandManagerUserId == item) {\r\n let obj = {\r\n productId: element.productId\r\n };\r\n this.Productlist.push(obj);\r\n }\r\n }\r\n })\r\n this.Productlist.sort((a, b) => a.productId > b.productId ? 1 : -1)\r\n console.log(this.Productlist)\r\n var count = this.BudgetRequests.length;\r\n for (let k = 0; k < count; k++) {\r\n this.BudgetRequests['controls'][k].get(\"Product\").setValue('');\r\n }\r\n }\r\n onStateSelects(item: any) {\r\n debugger;\r\n this.selectedRegion = '';\r\n this.BudgetRequestForm.get('Region').setValue([]);\r\n if (this.BudgetRequests['controls'].length > 0) {\r\n this.BudgetRequests['controls'][0].get(\"ActivityType\").setValue('');\r\n }\r\n this.BudgetRequests['controls'][0].get(\"TransferSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][0].get(\"BrandBudgetSectionToShow\").setValue(0);\r\n this.GrandTotal = 0\r\n var count = this.BudgetRequests.length;\r\n for (let k = 0; k < count; k++) {\r\n this.BudgetRequests.removeAt(k);\r\n }\r\n this.selectedRegionList = [];\r\n this.VendorList = [];\r\n this.selectSpecification = [];\r\n this.selectElements = [];\r\n this.ToShowBudgetTable = 0;\r\n\r\n this.AddRequestFields();\r\n if (typeof item.target !== \"undefined\") {\r\n this.BindRegionDDL(item.target.value);\r\n }\r\n else {\r\n this.BindRegionDDL(item);\r\n }\r\n }\r\n onRegionSelect(item: any) {\r\n this.BudgetRequestForm.get('State').setValue('-1');\r\n var count = this.BudgetRequests.length;\r\n for (let k = 0; k < count; k++) {\r\n this.BudgetRequests.removeAt(k);\r\n }\r\n this.AddRequestFields();\r\n this.BindStateDDL(item);\r\n }\r\n BindDDLs() {\r\n this.SingledropdownSetting = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'type',\r\n allowSearchFilter: true,\r\n closeDropDownOnSelection: true\r\n };\r\n var url = \"/api/ServiceRequest/GetServiceRequestData\";\r\n this.serviceRequest.Bindddls(url).subscribe((response: any) => {\r\n if (response.status == true) {\r\n debugger;\r\n this.BudgetType = response.data.table;\r\n //this.ActivityTypes = response.data.table1;\r\n //this.Croplist=response.data.table2;\r\n //this.Productlist=response.data.table3;\r\n this.Region = response.data.table4;\r\n this.StateList = response.data.table5;\r\n if (this.StateList.length == 1) {\r\n this.BudgetRequestForm.get('State').setValue(this.StateList[0].state);\r\n //this.selectedRegionList = [];\r\n this.BindRegionDDL(this.StateList[0].state);\r\n }\r\n //this.VendorList=response.data.table6;\r\n this.BrandManagerProductMapping = response.data.table7;\r\n //this.GeographyMapping = response.data.table8;\r\n this.BrandManagerProductMapping.forEach(element => {\r\n if (this.BrandManagerList.find(x => x.brandManagerUserId == element.brandManagerUserId)) { } else {\r\n if (element.brandManagerUserId != '') {\r\n let obj = {\r\n brandManagerUserId: element.brandManagerUserId,\r\n brandManager: element.brandManager\r\n };\r\n this.BrandManagerList.push(obj);\r\n }\r\n }\r\n })\r\n this.BrandManagerList.sort((a, b) => a.brandManager > b.brandManager ? 1 : -1)\r\n console.log(this.BrandManagerList)\r\n\r\n var item = this.BudgetRequestForm.controls.BrandManager.value;\r\n debugger;\r\n if (this.BudgetRequestForm.value.BudgetType == 6 || this.selectedBudgetType == \"6\") {\r\n this.Productlist = []\r\n this.BrandManagerProductMapping.forEach(element => {\r\n if (this.Productlist.find(x => x.productId == element.productId)) { } else {\r\n if (element.brandManagerUserId == item) {\r\n let obj = {\r\n productId: element.productId\r\n };\r\n this.Productlist.push(obj);\r\n }\r\n }\r\n })\r\n this.Productlist.sort((a, b) => a.productId > b.productId ? 1 : -1)\r\n console.log(this.Productlist)\r\n } else {\r\n this.Productlist = this.ProductlistAll;\r\n }\r\n //console.log(this.budgetDetails);\r\n //this.loader='none';\r\n }\r\n\r\n });\r\n this.getActivityList();\r\n }\r\n BindStateDDL(region: string) {\r\n var url = \"/api/ServiceRequest/GetStateByRegionCode\";\r\n this.serviceRequest.BindStateDDL(url, region).subscribe((response: any) => {\r\n\r\n if (response.status == true) {\r\n this.StateList = response.data;\r\n let stateArray = [];\r\n for (let k = 0; k < this.StateList.length; k++) {\r\n\r\n stateArray.push(this.StateList[k].state);\r\n }\r\n this.VendorList = [];\r\n // this.selectSpecification=[];\r\n // this.selectElements=[];\r\n this.selectValues.push({ \"Region\": region, \"State\": stateArray });\r\n // if(stateArray.length==1){\r\n // this.BudgetRequestForm.get('Region').setValue(stateArray[0]);\r\n // }\r\n }\r\n });\r\n }\r\n BindRegionDDL(state: string) {\r\n\r\n this.dropdownRegionSetting = {\r\n singleSelection: false,\r\n idField: 'regionId',\r\n textField: 'regionName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: false,\r\n enableCheckAll: true\r\n };\r\n\r\n\r\n\r\n var url = \"/api/ServiceRequest/GetRegionByStateCode\";\r\n this.serviceRequest.BindRegionDDL(url, state).subscribe((response: any) => {\r\n let regionArray = [];\r\n if (response.status == true) {\r\n\r\n this.RegionList = response.data;\r\n\r\n for (let k = 0; k < this.RegionList.length; k++) {\r\n\r\n regionArray.push({ regionId: this.RegionList[k].region, regionName: this.RegionList[k].regionName });\r\n }\r\n //this.VendorList = [];\r\n //this.selectSpecification=[];\r\n //this.selectElements=[];\r\n //this.selectValues.push({ \"State\": state, \"Region\": regionArray });\r\n // if(regionArray.length==1){\r\n // this.BudgetRequestForm.get('Region').setValue(regionArray[0]);\r\n // }\r\n }\r\n if (state == '-1') {\r\n this.ddlRegion = [];\r\n } else {\r\n //this.ddlRegion=this.getRegion(this.BudgetRequestForm.get('State').value);\r\n this.ddlRegion = regionArray;\r\n if (regionArray.length == 1) {\r\n this.selectedRegion = '';\r\n this.selectedRegionList = [];\r\n this.BudgetRequestForm.get('Region').setValue([]);\r\n this.selectedRegionList.push(regionArray[0]);\r\n this.BudgetRequestForm.get('Region').setValue(this.selectedRegionList);\r\n this.onRegionSelected();\r\n // this.Elements=[];\r\n } else {\r\n if (this.isEditRequest == false) {\r\n this.selectedRegionList = [];\r\n }\r\n this.BudgetRequestForm.get('Region').setValue(this.selectedRegionList);\r\n }\r\n }\r\n });\r\n this.GetVendors(state, this.BudgetRequestForm.controls.RequestType.value);\r\n }\r\n onRegionSelects(Activity: any, State: any, Region: any, Vendor: any, ReqIndex: number, ItemIndex: number, date: any) {\r\n //this.GetTargetAssigned(Region,date);\r\n this.IsPreviousRecord = false;\r\n console.log(this.selectedRegionList)\r\n if (typeof (Region) == \"object\") {\r\n var region: string = '';\r\n for (let i = 0; i < Region.length; i++) {\r\n if (i == 0) {\r\n region += Region[i].regionId;\r\n } else {\r\n region += ',' + Region[i].regionId;\r\n }\r\n }\r\n Region = region;\r\n }\r\n if ((Vendor == 'VEND-0585' || Vendor == 'VEND/01246' || Vendor == 'FVMA-OTH-01') && (Activity == '40')) {\r\n var count = this.Request_ItemDetails(ReqIndex).length;\r\n for (let p = 0; p < count; p++) {\r\n for (var Index = 0; Index < count; Index++) {\r\n this.RemoveItem(ReqIndex, Index)\r\n }\r\n }\r\n }\r\n if (State == \"-1\" || State == \"\" || Region == \"-1\" || Region == \"\") {\r\n this.toastr.error(\"Please select region and state first.\");\r\n this.BudgetRequests['controls'][ReqIndex].get('ActivityType').setValue('');\r\n this.BudgetRequests['controls'][ReqIndex].get('startDate').setValue('');\r\n this.BudgetRequests['controls'][ReqIndex].get('endDate').setValue('');\r\n } else if (Vendor == \"\" || Vendor == \"-1\") {\r\n this.toastr.error(\"Please select supplier.\");\r\n this.BudgetRequests['controls'][ReqIndex].get('ActivityType').setValue('');\r\n this.BudgetRequests['controls'][ReqIndex].get('startDate').setValue('');\r\n this.BudgetRequests['controls'][ReqIndex].get('endDate').setValue('');\r\n }\r\n else {\r\n if (this.BudgetRequestForm.get('State').value != '-1') {\r\n this.GetAmountByActivityId(ReqIndex, Activity, Region, this.requestId, date);\r\n }\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n }\r\n\r\n }\r\n\r\n onRegionSelectsNew(Activity: any, State: any, Region: any, Vendor: any, ReqIndex: number, ItemIndex: number, date: any, StartDate: any) {\r\n this.GetTargetAssigned(Region, date, StartDate);\r\n }\r\n GetTargetAssigned(regionCode: any, DateSelected: any, StartDate: any) {\r\n var regionName: string = '';\r\n\r\n if (typeof (regionCode) == \"object\") {\r\n var regionN: string = '';\r\n for (let i = 0; i < regionCode.length; i++) {\r\n if (i == 0) {\r\n regionN += regionCode[i].regionName;\r\n } else {\r\n regionN += ',' + regionCode[i].regionName;\r\n }\r\n }\r\n\r\n regionName = regionN;\r\n }\r\n if (typeof (regionCode) == \"object\") {\r\n var region: string = '';\r\n for (let i = 0; i < regionCode.length; i++) {\r\n if (i == 0) {\r\n region += regionCode[i].regionId;\r\n } else {\r\n region += ',' + regionCode[i].regionId;\r\n }\r\n }\r\n\r\n regionCode = region;\r\n }\r\n\r\n var url = \"/api/ServiceRequest/GetTargetAssigned\";\r\n this.serviceRequest.GetTargetAssigned(url, regionCode, DateSelected, StartDate).subscribe((response: any) => {\r\n if (response.status == true) {\r\n debugger;\r\n this.TargetAssigned = response.data[0].status;\r\n if (this.TargetAssigned > 0) {\r\n\r\n this.TargetMessage = 'We have ' + this.TargetAssigned + ' Activity targets set for this period in Archer';\r\n }\r\n else if(this.TargetAssigned <= 0 || this.isEditable == 'true')\r\n {\r\n this.TargetMessage = 'There are no targets set for ' + regionName + ' for this period in Archer. Do you still want to submit?';\r\n }\r\n }\r\n else {\r\n this.TargetAssigned = response.data[0].status;\r\n if (this.TargetAssigned > 0 || this.isEditable == 'true') {\r\n\r\n this.TargetMessage = 'We have ' + this.TargetAssigned + ' Activity targets set for this period in Archer';\r\n }\r\n else if(this.TargetAssigned <= 0 || this.isEditable == 'true')\r\n {\r\n this.TargetMessage = 'There are no targets set for ' + regionName + ' for this period in Archer. Do you still want to submit?';\r\n }\r\n }\r\n console.log(this.TargetAssigned);\r\n });\r\n }\r\n SetItemFields(ReqIndex: number, ItemIndex: number) {\r\n var count = this.Request_ItemDetails(ReqIndex).length;\r\n // this.Request_ItemDetails(ReqIndex).reset();\r\n // this.addRequest_ItemDetails(ReqIndex);\r\n for (let p = 0; p < count; p++) {\r\n for (let v = 0; v <= count; v++) {\r\n this.RemoveItem(ReqIndex, v);\r\n }\r\n }\r\n // this.RemoveItem(0,0);\r\n for (let l = 0; l < count; l++) {\r\n this.addRequest_ItemDetails(ReqIndex);\r\n // this.BudgetRequests['controls'][ReqIndex]['controls']['ItemDetails']['controls'][l].get('Element').setValue(-1);\r\n // this.BudgetRequests['controls'][ReqIndex]['controls']['ItemDetails']['controls'][l].get('Specification').setValue(-1);\r\n // this.BudgetRequests['controls'][ReqIndex]['controls']['ItemDetails']['controls'][l].get('quantityRequired').setValue(0,{ onlySelf: true });\r\n // this.BudgetRequests['controls'][ReqIndex]['controls']['ItemDetails']['controls'][l].get('UnitOfMeasure').setValue('',{ onlySelf: true });\r\n // this.BudgetRequests['controls'][ReqIndex]['controls']['ItemDetails']['controls'][l].get('RateperUnits').setValue(0,{ onlySelf: true });\r\n // this.BudgetRequests['controls'][ReqIndex]['controls']['ItemDetails']['controls'][l].get('Amounts').setValue(0,{ onlySelf: true });\r\n // this.BudgetRequestForm.get('PrefferedVendor').setValue(-1,{ onlySelf: true });\r\n }\r\n\r\n }\r\n BindElementDDL(State: string, ActivityId: number, VendorId: string) {\r\n this.Elements = [];\r\n this.ElementList = [];\r\n var url = \"/api/ServiceRequest/GetElementByStateAndActivity\";\r\n this.serviceRequest.BindElementDDL(url, State, ActivityId, VendorId).subscribe((response: any) => {\r\n\r\n if (response.status == true) {\r\n this.ElementList = response.data;\r\n this.Elements = response.data;\r\n let elementArray = [];\r\n //let specificationArray=[]; \r\n // //this.selectElements=[];\r\n\r\n // for (let k = 0; k < this.ElementList.length; k++) {\r\n\r\n // elementArray.push({ \"Element\": this.ElementList[k].element, \"ElementId\": this.ElementList[k].elementId });\r\n // }\r\n\r\n // this.selectElements.push({ \"State\": State, \"ActivityId\": ActivityId,\"Vendor\":VendorId, \"Elements\": elementArray })\r\n }\r\n });\r\n\r\n }\r\n getElement(State: string, Activity: number, vendor: string) {\r\n\r\n if (vendor == \"\" || vendor == undefined || vendor == 'undefined') {\r\n\r\n const selElement = this.selectElements.find(_ => _.State == State && _.ActivityId == Activity);\r\n return selElement ? selElement.Elements : selElement;\r\n\r\n }\r\n else {\r\n const selElement = this.selectElements.find(_ => _.State == State && _.ActivityId == Activity && _.Vendor == vendor);\r\n return selElement ? selElement.Elements : selElement;\r\n\r\n }\r\n }\r\n GetSpecificationByElementId(ElementId: any, ActivityId: number, State: string) {\r\n\r\n var url = \"/api/ServiceRequest/GetSpecificationByElementId\";\r\n this.serviceRequest.GetSpecificationByElementId(url, ElementId, 0, State).subscribe((response: any) => {\r\n\r\n if (response.status == true) {\r\n\r\n let specificationArray = [];\r\n //this.selectSpecification=[]\r\n for (let k = 0; k < response.data.length; k++) {\r\n this.selectUnitOfMeasure.push({ \"Id\": response.data[k].id, \"UnitOfMeasure\": response.data[k].unitOfMeasure });\r\n specificationArray.push({ \"Id\": response.data[k].id, \"Specification\": response.data[k].specification, \"UnitMeasure\": response.data[k].unitOfMeasure });\r\n } debugger;\r\n this.selectSpecification.push({ \"ElementId\": ElementId, \"Specifications\": specificationArray })\r\n if (response.data.length == 1) {\r\n debugger;\r\n for (let i = 0; i <= this.BudgetRequests['controls'].length - 1; i++) {\r\n if (this.BudgetRequests['controls'][i]['controls']['ActivityType'].value == ActivityId) {\r\n for (let j = 0; j <= this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'].length - 1; j++) {\r\n if (this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j]['controls']['Element'].value == ElementId) {\r\n this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('Specification').setValue(response.data[0].id);\r\n this.GetUnitOfMeasure(response.data[0].id, i, j);\r\n }\r\n\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i <= this.BudgetRequests['controls'].length - 1; i++) {\r\n if (this.BudgetRequests['controls'][i]['controls']['ActivityType'].value == ActivityId) {\r\n for (let j = 0; j <= this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'].length - 1; j++) {\r\n if (this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j]['controls']['Element'].value == ElementId) {\r\n var tempSpecification = this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('Specification').value;\r\n this.GetUnitOfMeasure(tempSpecification, i, j);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n GetVendorDetailById(VendorId: any, action: string, RequestId: number, States: string, Regions: string) {\r\n\r\n this.BindElementDDL(States, 0, this.BudgetRequestForm.get('PrefferedVendor').value);\r\n debugger\r\n // As per new requirement Item details is changed according to vendor earlier it was based on Activity\r\n if (action != '') {\r\n for (let ReqIndex = 0; ReqIndex < this.BudgetRequests.length; ReqIndex++) {\r\n if (this.Request_ItemDetails(ReqIndex).length < 3) {\r\n var ItemCount = this.Request_ItemDetails(ReqIndex).length;\r\n for (let n = 0; n < 3 - ItemCount; n++) {\r\n this.addRequest_ItemDetails(ReqIndex);\r\n }\r\n }\r\n if (this.Request_MiscDetails(ReqIndex).length < 1) {\r\n this.addRequest_MiscDetails(ReqIndex)\r\n }\r\n if ((VendorId == 'VEND-0585' || VendorId == 'VEND/01246' || VendorId == 'FVMA-OTH-01') && (this.BudgetRequests['controls'][ReqIndex]['controls']['ActivityType'].value == '40')) {\r\n var count = this.Request_ItemDetails(ReqIndex).length;\r\n for (let p = 0; p < count; p++) {\r\n for (var Index = 0; Index < count; Index++) {\r\n this.RemoveItem(ReqIndex, Index)\r\n }\r\n }\r\n }\r\n if (this.BudgetRequestForm.controls.RequestType.value == 1) {\r\n var count = this.Request_ItemDetails(ReqIndex).length;\r\n for (let p = 0; p < count; p++) {\r\n for (var Index = 0; Index < count; Index++) {\r\n this.RemoveItem(ReqIndex, Index)\r\n }\r\n }\r\n }\r\n this.SetItemFields(ReqIndex, 0);\r\n }\r\n }\r\n // END\r\n\r\n this.BudgetRequestForm.controls['Name'].disable();\r\n this.BudgetRequestForm.controls['Email'].disable();\r\n this.BudgetRequestForm.controls['Mobile'].disable();\r\n this.BudgetRequestForm.controls['VendorAddress'].disable();\r\n this.BudgetRequestForm.controls['ContactPerson'].disable();\r\n if (VendorId == 'VEND-0585' || VendorId == 'VEND/01246' || VendorId == 'FVMA-OTH-01') {\r\n this.BudgetRequestForm.controls['Name'].enable();\r\n this.BudgetRequestForm.controls['Email'].enable();\r\n this.BudgetRequestForm.controls['Mobile'].enable();\r\n this.BudgetRequestForm.controls['VendorAddress'].enable();\r\n this.BudgetRequestForm.controls['ContactPerson'].enable();\r\n }\r\n var url = \"/api/ServiceRequest/GetVendorDetailById\";\r\n this.BudgetRequestForm.get('Name').setValue(\"\");\r\n this.BudgetRequestForm.get('ContactPerson').setValue(\"\");\r\n this.BudgetRequestForm.get('Mobile').setValue(\"\");\r\n this.BudgetRequestForm.get('Email').setValue(\"\");\r\n this.BudgetRequestForm.get('VendorAddress').setValue(\"\");\r\n var currentRegion = '';\r\n if (this.RequestType = 1 && (this.BudgetRequestForm.get('Region').value).length != 0) {\r\n var Region = this.BudgetRequestForm.get('Region').value;\r\n if (typeof (Region) == \"object\") {\r\n var region: string = '';\r\n for (let i = 0; i < Region.length; i++) {\r\n if (i == 0) {\r\n region += Region[i].regionId;\r\n } else {\r\n region += ',' + Region[i].regionId;\r\n }\r\n }\r\n Region = region;\r\n }\r\n currentRegion = Region;\r\n } else {\r\n currentRegion = '';\r\n }\r\n this.serviceRequest.GetVendorDetailById(url, VendorId, RequestId, currentRegion).subscribe((response: any) => {\r\n\r\n if (response.status == true) {\r\n this.BudgetRequestForm.get('Name').setValue(response.data[0][\"vendorName\"]);\r\n this.BudgetRequestForm.get('ContactPerson').setValue(response.data[0][\"contactPerson\"]);\r\n this.BudgetRequestForm.get('Mobile').setValue(response.data[0][\"mobileNumber\"]);\r\n this.BudgetRequestForm.get('Email').setValue(response.data[0][\"email\"]);\r\n\r\n this.Email = response.data[0][\"email\"];\r\n this.MobileNumber = response.data[0][\"mobileNumber\"];\r\n this.Street = response.data[0][\"street\"];\r\n this.City = response.data[0][\"city\"];\r\n this.State = response.data[0][\"state\"];\r\n this.Zipcode = response.data[0][\"zipcode\"];\r\n var Address = \"\";\r\n if (this.Street != \"\" && this.Street != null) {\r\n Address = Address + this.Street + ' , ';\r\n }\r\n if (this.City != \"\" && this.City != null) {\r\n Address = Address + this.City + ' , ';\r\n\r\n }\r\n if (this.District != \"\" && this.District != null) {\r\n Address = Address + this.District + ' , ';\r\n\r\n }\r\n if (this.State != \"\" && this.State != null) {\r\n Address = Address + this.State + ' - ';\r\n\r\n }\r\n if (this.Zipcode != \"\" && this.Zipcode != null) {\r\n Address = Address + this.Zipcode;\r\n\r\n }\r\n this.Address = Address;\r\n\r\n this.BudgetRequestForm.get('VendorAddress').setValue(this.Address);\r\n }\r\n\r\n for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n if (action != '') {\r\n //this.BudgetRequests['controls'][i].get('ActivityType').setValue('');\r\n\r\n }\r\n for (let j = 0; j < this.Request_ItemDetails(i).length; j++) {\r\n this.GetAmountByVendor(VendorId, this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('Specification').value, this.BudgetRequestForm.get('State').value, this.BudgetRequests['controls'][i].get('ActivityType').value, i, j);\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n this.GetTotalAmount();\r\n }, 1500);\r\n setTimeout(() => {\r\n this.GetGrandTotal();\r\n }, 1500);\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n GetAmountByVendor(VendorId: string, specification: number, State: string, ActivityId: number, i: number, j: number) {\r\n var url = \"/api/ServiceRequest/GetAmountByVendor\";\r\n this.serviceRequest.GetAmountByVendor(url, VendorId, specification, State, 0).subscribe((response: any) => {\r\n\r\n if (response.status == true) {\r\n var unit = [];\r\n unit.push({ \"RateperUnits\": response.data });\r\n const select = unit.find(_ => _.RateperUnits == response.data);\r\n //debugger;\r\n //var tempSpecification=this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('Specification').value;\r\n //var tempRateperUnits=this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('RateperUnits').value;\r\n if (!this.IsPreviousRecord) {\r\n this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('RateperUnits').setValue(select.RateperUnits, { onlySelf: true });\r\n }\r\n else {\r\n this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('RateperUnits').setValue(response.data, { onlySelf: true });\r\n\r\n }\r\n this.GetAmount(i, j);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n onRequiredblur(item: any, requestindex: number, itemindex: number) {\r\n\r\n var Rate = this.BudgetRequests['controls'][requestindex]['controls']['ItemDetails']['controls'][itemindex].get('RateperUnits').value;\r\n if (Rate != undefined || Rate != \"\") {\r\n\r\n var Amt: any;\r\n if (this.BudgetRequests['controls'][requestindex].get('ActivityType').value == 26) {\r\n Amt = this.BudgetRequests['controls'][requestindex]['controls']['ItemDetails']['controls'][itemindex].get('no_of_Days').value * Rate * this.BudgetRequests['controls'][requestindex]['controls']['ItemDetails']['controls'][itemindex].get('vehicleQuantity').value;\r\n } else {\r\n\r\n var RequiredItem = item;\r\n Amt = RequiredItem * Rate;\r\n }\r\n\r\n this.BudgetRequests['controls'][requestindex]['controls']['ItemDetails']['controls'][itemindex].get('Amounts').setValue(Amt);\r\n var amount = this.ConvertNumberToSpecialFormateIncludingDecimal(Amt);\r\n this.BudgetRequests['controls'][requestindex]['controls']['ItemDetails']['controls'][itemindex].get('AmountsToShow').setValue(amount);\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n }\r\n }\r\n OnRateblur(item: any, requestindex: number, itemindex: number) {\r\n\r\n var Quntity: any;\r\n if (this.BudgetRequests['controls'][requestindex].get('ActivityType').value == 26) {\r\n Quntity = this.BudgetRequests['controls'][requestindex]['controls']['Misclist']['controls'][itemindex].get('MiscNo_of_Days').value * this.BudgetRequests['controls'][requestindex]['controls']['Misclist']['controls'][itemindex].get('MiscvehicleQuan').value;\r\n } else {\r\n Quntity = this.BudgetRequests['controls'][requestindex]['controls']['Misclist']['controls'][itemindex].get('MiscQuan').value;\r\n\r\n }\r\n if (Quntity != undefined || Quntity != \"\") {\r\n var Rate = item;\r\n var Amt = Rate * Quntity;\r\n this.BudgetRequests['controls'][requestindex]['controls']['Misclist']['controls'][itemindex].get('MiscAmount').setValue(Amt);\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n }\r\n }\r\n GetAmount(i: number, j: number) {\r\n var RequiredItem = this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('quantityRequired').value;\r\n var Rate = this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('RateperUnits').value;\r\n //var Amt = RequiredItem * Rate;\r\n var Amt: any;\r\n if (this.BudgetRequests['controls'][i].get('ActivityType').value == 26) {\r\n Amt = this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('no_of_Days').value * Rate * this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('vehicleQuantity').value;\r\n } else {\r\n //var RequiredItem = item.target.value;\r\n Amt = RequiredItem * Rate;\r\n }\r\n if (Amt < 0) {\r\n Amt = 0;\r\n }\r\n this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('Amounts').setValue(Amt);\r\n\r\n var amount = this.ConvertNumberToSpecialFormateIncludingDecimal(Amt);\r\n this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('AmountsToShow').setValue(amount);\r\n\r\n }\r\n GetTotalAmount() {\r\n for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n var TotalAmount = 0;\r\n for (let j = 0; j < this.Request_ItemDetails(i).length; j++) {\r\n\r\n\r\n var total = this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('Amounts').value;\r\n if (total < 0) {\r\n total = 0;\r\n }\r\n TotalAmount = TotalAmount + parseFloat(total);//this.BudgetRequests['controls'][i]['controls']['ItemDetails']['controls'][j].get('Amounts').value;\r\n\r\n }\r\n if (this.BudgetRequests['controls'][i]['controls']['Misclist']['controls'].length > 0) {\r\n for (let k = 0; k < this.Request_MiscDetails(i).length; k++) {\r\n TotalAmount = TotalAmount + this.BudgetRequests['controls'][i]['controls']['Misclist']['controls'][k].get('MiscAmount').value;\r\n }\r\n }\r\n var amount = TotalAmount * this.BudgetRequests['controls'][i].get('ActivityCount').value;\r\n var totalAmount = this.ConvertNumberToSpecialFormateIncludingDecimal(amount);\r\n this.BudgetRequests['controls'][i].get('TotalAmount').setValue(TotalAmount);\r\n this.BudgetRequests['controls'][i].get('AmountToShow').setValue(amount);\r\n this.BudgetRequests['controls'][i].get('SumTotalAmount').setValue(totalAmount);\r\n var totalAmountPerActivity = this.ConvertNumberToSpecialFormateIncludingDecimal(TotalAmount);\r\n this.BudgetRequests['controls'][i].get('SumTotalAmountPerActivity').setValue(totalAmountPerActivity);\r\n }\r\n }\r\n GetVendors(State: string, RequestType: number) {\r\n debugger;\r\n //this.VendorList=[];\r\n //GetVendors(ElementId: number, ActivityId: number, State: string, itemindex: number) {\r\n var url = \"/api/ServiceRequest/GetVendors\";\r\n this.serviceRequest.GetVendors(url, State, RequestType).subscribe((response: any) => {\r\n debugger;\r\n if (response.status == true) {\r\n this.VendorList = [];\r\n if (this.VendorList.length == 0) {\r\n this.VendorList.push({ \"id\": 0, \"vendorName\": \"\" });\r\n\r\n }\r\n for (let i = 0; i < response.data.length; i++) {\r\n var isExist = 0;\r\n var iscontinue = 0\r\n var arrayIndex = 0;\r\n for (let element of this.VendorList) {\r\n if (element[\"id\"] == 0) {\r\n this.VendorList[0][\"id\"] = response.data[i][\"id\"];\r\n this.VendorList[0][\"vendorName\"] = response.data[i][\"vendorName\"];\r\n iscontinue = 1;\r\n continue;\r\n }\r\n if (element[\"id\"] == response.data[i][\"id\"]) {\r\n //this.VendorList.push({\"id\":response.data[i][\"id\"],\"vendorName\":response.data[i][\"vendorName\"]});\r\n isExist = 1;\r\n }\r\n\r\n // arrayIndex++;\r\n }\r\n if (isExist == 0 && iscontinue != 1) {\r\n this.VendorList.push({ \"id\": response.data[i][\"id\"], \"vendorName\": response.data[i][\"vendorName\"] });\r\n\r\n }\r\n } debugger;\r\n if (RequestType == 1 && (this.BudgetRequestForm.get('Region').value).length != 0) {\r\n this.BudgetRequestForm.get('PrefferedVendor').setValue(this.VendorList[0]['id']);\r\n this.GetVendorDetailById(this.VendorList[0]['id'], '', 0, '', '');\r\n } else if ((this.BudgetRequestForm.get('Region').value).length == 0) {\r\n this.BudgetRequestForm.get('PrefferedVendor').setValue('');\r\n this.GetVendorDetailById('-1', '', 0, '', '');\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n GetGrandTotal() {\r\n var GrandTotalAmount = 0;\r\n //var GrandTotalString='';\r\n for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n // var totalString=this.BudgetRequests['controls'][i].get('TotalAmount').value;\r\n // var tlAmount=totalString.split(',');\r\n // for(let j=0;j< tlAmount.length; j++){\r\n // GrandTotalString=GrandTotalString+tlAmount[j]\r\n // }\r\n\r\n //GrandTotalAmount = GrandTotalAmount + parseFloat(this.BudgetRequests['controls'][i].get('TotalAmount').value);\r\n GrandTotalAmount = GrandTotalAmount + parseFloat(this.BudgetRequests['controls'][i].get('AmountToShow').value);\r\n // GrandTotalAmount = GrandTotalAmount + parseFloat(GrandTotalString);\r\n // GrandTotalString='';\r\n\r\n }\r\n this.GrandTotal = GrandTotalAmount;\r\n }\r\n GetUnitOfMeasure(SpecificationId: any, requestIndex: number, itemIndex: number) {\r\n debugger;\r\n\r\n var elementid = this.BudgetRequests['controls'][requestIndex]['controls']['ItemDetails']['controls'][itemIndex].get('Element').value;\r\n\r\n var ActivityId = this.BudgetRequests['controls'][requestIndex].get('ActivityType').value;\r\n\r\n var State = this.BudgetRequestForm.get('State').value;\r\n var PreffVendor = this.BudgetRequestForm.get('PrefferedVendor').value;\r\n var select;\r\n if (typeof SpecificationId.target !== \"undefined\") {\r\n if (PreffVendor != \"\" || PreffVendor != \"-1\") {\r\n this.GetAmountByVendor(PreffVendor, SpecificationId.target.value, State, 0, requestIndex, itemIndex);\r\n }\r\n //this.GetVendors(SpecificationId.target.value, ActivityId, State, itemIndex);\r\n //now vendors bind on the basis of State.\r\n select = this.selectUnitOfMeasure.find(_ => _.Id == SpecificationId.target.value);\r\n }\r\n else {\r\n\r\n if (PreffVendor != \"\" || PreffVendor != \"-1\") {\r\n this.GetAmountByVendor(PreffVendor, SpecificationId, State, 0, requestIndex, itemIndex);\r\n }\r\n //this.GetVendors(SpecificationId.target.value, ActivityId, State, itemIndex);\r\n //now vendors bind on the basis of State.\r\n select = this.selectUnitOfMeasure.find(_ => _.Id == SpecificationId);\r\n }\r\n var tempUnitOfMeasure = this.BudgetRequests['controls'][requestIndex]['controls']['ItemDetails']['controls'][itemIndex].get('UnitOfMeasure').value;\r\n if (!this.IsPreviousRecord) {\r\n this.BudgetRequests['controls'][requestIndex]['controls']['ItemDetails']['controls'][itemIndex].get('UnitOfMeasure').setValue(select.UnitOfMeasure, { onlySelf: true });\r\n }\r\n return select ? select.UnitOfMeasure : select;\r\n }\r\n getSpecification(Element: string) {\r\n const select = this.selectSpecification.find(_ => _.ElementId == Element);\r\n return select ? select.Specifications : select;\r\n }\r\n getState(type) {\r\n const select = this.selectValues.find(_ => _.Region == type);\r\n return select ? select.State : select;\r\n }\r\n // getRegion(type) {\r\n // const select = this.selectValues.find(_ => _.State == type);\r\n // var x= select ? select.Region : select;\r\n // return x;\r\n // }\r\n save() {\r\n debugger;\r\n\r\n if (this.BudgetRequestForm.valid || this.IsSaveAsDraft == true) {\r\n this.isValidFormSubmitted = true;\r\n\r\n this.savedData = this.BudgetRequestForm.value;\r\n for (let v = 0; v < this.savedData.BudgetRequestList.length; v++) {\r\n var endDate: String = (this.savedData.BudgetRequestList[v].endDate).toString();\r\n var startDate: String = (this.savedData.BudgetRequestList[v].startDate).toString();\r\n if (endDate.includes('GMT')) {\r\n this.savedData.BudgetRequestList[v].endDate = endDate.replace(endDate.substring(25, endDate.length), '');\r\n }\r\n if (startDate.includes('GMT')) {\r\n this.savedData.BudgetRequestList[v].startDate = startDate.replace(startDate.substring(25, startDate.length), '');\r\n }\r\n }\r\n var crop: string = '';\r\n var product: string = '';\r\n var ItemDetail = [];\r\n\r\n for (let i = 0; i < this.savedData.BudgetRequestList.length; i++) {\r\n for (let j = 0; j < this.savedData.BudgetRequestList[i].Crop.length; j++) {\r\n if (crop == '') {\r\n crop = this.savedData.BudgetRequestList[i].Crop[j].cropId;\r\n // crop = Array.isArray(this.savedData.BudgetRequestList[i].Crop)? this.savedData.BudgetRequestList[i].Crop[j].cropId: this.savedData.BudgetRequestList[i].Crop\r\n if (crop == undefined) {\r\n this.validateProductAndCrop = false;\r\n break;\r\n }\r\n }\r\n else {\r\n crop = crop + ',' + this.savedData.BudgetRequestList[i].Crop[j].cropId;\r\n }\r\n }\r\n for (let k = 0; k < this.savedData.BudgetRequestList[i].Product.length; k++) {\r\n if (product == '') {\r\n product = this.savedData.BudgetRequestList[i].Product[k].productId;\r\n //product = Array.isArray(this.savedData.BudgetRequestList[i].Product)? this.savedData.BudgetRequestList[i].Product[k].productId: this.savedData.BudgetRequestList[i].Product\r\n\r\n if (product == undefined) {\r\n this.validateProductAndCrop = false;\r\n break;\r\n }\r\n }\r\n else {\r\n product = product + ',' + this.savedData.BudgetRequestList[i].Product[k].productId;\r\n }\r\n }\r\n for (let l = 0; l < this.savedData.BudgetRequestList[i].ItemDetails.length; l++) {\r\n\r\n if (this.savedData.BudgetRequestList[i].ItemDetails[l]['Element'] != '-1') {\r\n ItemDetail.push(this.savedData.BudgetRequestList[i].ItemDetails[l])\r\n }\r\n }\r\n debugger;\r\n if (crop == \"\") {\r\n crop = \"-1\";\r\n }\r\n this.savedData.BudgetRequestList[i].Crop = crop;\r\n this.savedData.BudgetRequestList[i].Product = product;\r\n this.savedData.BudgetRequestList[i].ItemDetails = ItemDetail\r\n crop = '';\r\n product = '';\r\n ItemDetail = [];\r\n }\r\n var Region: string = '';\r\n if (typeof (this.savedData.Region) == \"object\") {\r\n for (let i = 0; i < this.savedData.Region.length; i++) {\r\n if (i == 0) {\r\n Region += this.savedData.Region[i].regionId;\r\n } else {\r\n Region += ',' + this.savedData.Region[i].regionId;\r\n }\r\n }\r\n this.savedData.Region = Region;\r\n }\r\n console.log(this.savedData);\r\n if (this.validateProductAndCrop == false) {\r\n // this.snackbar.openSnackBar('Somthing went wrong. Please try again.', 'Close', 'red-snackbar');\r\n this.toastr.error('Somthing went wrong. Please try again.');\r\n this.router.navigate(['MABudget/FPERequests']);\r\n } else {\r\n // if(this.IsShowDraftButton=='true')\r\n // {\r\n // this.EditRequestId=0;\r\n // }\r\n debugger;\r\n this.loader = 'block';\r\n var url = \"/api/ServiceRequest/SaveRequest\";\r\n //var url=''\r\n this.serviceRequest.SaveRequest(url, this.savedData, this.EditRequestId, this.selectedBrandBudgetType)\r\n .subscribe((resData: any) => {\r\n debugger\r\n if (resData.status == true) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n if (localStorage.getItem('mabt_roleID') == '42' || localStorage.getItem('mabt_roleID') == '76') {\r\n this.router.navigate(['MABudget/FPERequests']);\r\n } else {\r\n localStorage.setItem(\"isnavigate\", '1');\r\n this.router.navigate(['MABudget/ApproveFPEBudgetRequest']);\r\n }\r\n\r\n } else if (resData.message.includes('exceeded')) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.router.navigate(['MABudget/FPERequests']);\r\n }\r\n else if (resData.message.includes('exceeded')) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.router.navigate(['MABudget/FPERequests']);\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n }\r\n this.loader = 'none';\r\n });\r\n this.EditRequestId = 0;\r\n }\r\n }\r\n else {\r\n this.isValidFormSubmitted = false;\r\n\r\n }\r\n }\r\n GetRequestDetailById(RequestId: any) {\r\n debugger;\r\n this.loader = 'block';\r\n this.requestId = RequestId;\r\n var url = \"/api/ServiceRequest/GetRequestDetailById\";\r\n this.serviceRequest.GetRequestDetailById(url, RequestId).subscribe((response: any) => {\r\n if (response.status == true) {\r\n debugger;\r\n // var tbl=response.data.table;\r\n this.currentStatus = response.data[0].requestStatus;\r\n this.RequestType = response.data[0].requestTypeID;\r\n this.TargetAssigned = response.data[0].targetAssigned;\r\n if (this.TargetAssigned > 0) {\r\n\r\n this.TargetMessage = 'We have ' + this.TargetAssigned + ' Activity targets set for this period in Archer';\r\n }\r\n else if(this.TargetAssigned <= 0 || this.isEditable == 'true')\r\n {\r\n this.TargetMessage = 'There are no targets set for ' + response.data[0].regionName + ' for this period in Archer. Do you still want to submit?';\r\n }\r\n this.IsPreviousRecord = true;\r\n this.SetAllFieldsValue(response.data);\r\n }\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n SetAllFieldsValue(result: any) {\r\n debugger;\r\n this.IsShowDraftButton = localStorage.getItem(\"IsShowDraftButton\");\r\n if (this.IsShowDraftButton == 'true') {\r\n this.currentStatus = 1;\r\n localStorage.setItem(\"IsShowDraftButton\", 'false');\r\n }\r\n if (result.length > 0) {\r\n var previousId = 0;\r\n var PreviousActivity = 0;\r\n var PreviousStartDate = \"\";\r\n var PreviousEndDate = \"\";\r\n var j = 0;\r\n var k = 0;\r\n var misId = 0;\r\n //this.addRequest_MiscDetails(0)\r\n for (let i = 0; i < result.length; i++) {\r\n debugger;\r\n if (previousId == result[i].id) {\r\n debugger;\r\n PreviousActivity = result[i].activityId;\r\n PreviousEndDate = result[i].endDate;\r\n PreviousStartDate = result[i].startDate;\r\n //this.addRequest_ItemDetails(j);\r\n // this.addRequest_MiscDetails(j)\r\n // if (result[i].misc != 'Delete') {\r\n // this.addRequest_MiscDetails(j)\r\n // }\r\n //Set/Fill all control values\r\n this.cropName = result[i].cropName;\r\n this.productName = result[i].productId;\r\n\r\n var croplist = result[i].cropId.split(',');\r\n var croplistName = result[i].cropName.split(',');\r\n var productlist = result[i].productId.split(',');\r\n var selectedcropList = [];\r\n var selectedProductlist = [];\r\n for (let a = 0; a < croplist.length; a++) {\r\n selectedcropList.push({ cropId: croplist[a], cropName: croplistName[a] })\r\n }\r\n for (let b = 0; b < productlist.length; b++) {\r\n selectedProductlist.push({ productId: productlist[b] })\r\n }\r\n this.selectedCrops = selectedcropList;\r\n this.selectedProducts = selectedProductlist;\r\n this.regionslected = result[i].regionName;\r\n\r\n var reg = result[i].region.split(',');\r\n var regName = result[i].regionName.split(',')\r\n var regList = [];\r\n for (let x = 0; x < reg.length; x++) {\r\n regList.push({ regionId: reg[x], regionName: regName[x] })\r\n }\r\n this.selectedRegionList = regList; debugger;\r\n this.BudgetRequestForm.get('Title').setValue(result[i].title, { onlySelf: true });\r\n this.selectedBudgetType = result[i].budgetTypeId;\r\n this.BudgetRequestForm.get('BudgetType').setValue(result[i].budgetTypeId, { onlySelf: true });\r\n this.BudgetRequestForm.get('BrandManager').setValue(result[i].brandManagerUserId, { onlySelf: true });\r\n this.BudgetRequestForm.get('RequestType').setValue(result[i].requestTypeID, { onlySelf: true });\r\n\r\n this.getActivityList();\r\n this.BudgetRequests['controls'][j].get(\"ActivityType\").setValue(result[i].activityId, { onlySelf: true });\r\n this.BudgetRequests['controls'][j].get(\"ActivityCount\").setValue(result[i].activityCount, { onlySelf: true });\r\n // this.BudgetRequests['controls'][j].get(\"Product\").setValue(result[i].productId, { onlySelf: true });\r\n //this.BudgetRequests['controls'][j].get(\"Crop\").setValue(result[i].cropId, { onlySelf: true });\r\n if (this.productName == \"\") {\r\n this.deSelectAll(\"\", \"Product\");\r\n } else {\r\n this.BudgetRequests['controls'][j].get(\"Product\").setValue(this.selectedProducts);\r\n }\r\n if (this.cropName == \"\") {\r\n this.deSelectAll(\"\", \"Crop\");\r\n } else {\r\n this.BudgetRequests['controls'][j].get(\"Crop\").setValue(this.selectedCrops);\r\n }\r\n\r\n if (localStorage.getItem(\"RepeatRequest\") == \"1\") {\r\n }\r\n else {\r\n if (result[i].startDate.includes('1900')) {\r\n this.BudgetRequests['controls'][j].get(\"startDate\").setValue('', { onlySelf: true });\r\n this.StartingDate = \"\";\r\n } else {\r\n this.BudgetRequests['controls'][j].get(\"startDate\").setValue(result[i].startDate, { onlySelf: true });\r\n this.Mindate.push({ \"ReqId\": i, \"MinDate\": new Date(result[i].startDate) });\r\n this.StartingDate = result[i].startDate;\r\n this.manpowerSelectedDate = new Date(result[i].startDate);\r\n }\r\n if (result[i].endDate.includes('1900')) {\r\n this.BudgetRequests['controls'][j].get(\"endDate\").setValue('', { onlySelf: true });\r\n } else {\r\n this.BudgetRequests['controls'][j].get(\"endDate\").setValue(result[i].endDate, { onlySelf: true });\r\n }\r\n //this.BudgetRequests['controls'][j].get(\"startDate\").setValue(result[i].startDate, { onlySelf: true });\r\n //this.BudgetRequests['controls'][j].get(\"endDate\").setValue(result[i].endDate, { onlySelf: true });\r\n }\r\n\r\n this.BudgetRequestForm.get(\"State\").setValue(result[0].state, { onlySelf: true });\r\n this.BindRegionDDL(this.BudgetRequestForm.get(\"State\").value);\r\n this.BudgetRequestForm.get(\"Region\").setValue(this.selectedRegionList);\r\n\r\n\r\n\r\n setTimeout(() => {\r\n\r\n this.BindElementDDL(result[i].state, result[i].activityId, result[i].vendorId);\r\n }, 3000);\r\n if (result[i].budgetTypeId != 6) {\r\n this.ToShowBudgetTable = 1;\r\n this.BudgetRequests['controls'][j].get(\"BrandBudgetSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][j].get(\"TransferSectionToShow\").setValue(1);\r\n setTimeout(() => {\r\n this.GetAmountByActivityId(j, result[i].activityId, this.selectedRegionList[0].regionId, this.requestId, new Date(result[i].startDate));\r\n }, 3000);\r\n }\r\n if (result[i].budgetTypeId == 6) {\r\n this.IsEnableRadioButton = 'false';\r\n this.BudgetRequests['controls'][j].get(\"TransferSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][j].get(\"BrandBudgetSectionToShow\").setValue(1);\r\n setTimeout(() => {\r\n this.GetAmountByProductId('All');\r\n }, 3000);\r\n }\r\n if (result[i].unitOfMeasure != '' || result[i].itemId != 0 || result[i].specificationId != 0) {\r\n this.addRequest_ItemDetails(j);\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('UnitOfMeasure').setValue(result[i].unitOfMeasure, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('Element').setValue(result[i].itemId.toString(), { onlySelf: true });\r\n setTimeout(() => {\r\n\r\n this.GetSpecificationByElementId(result[i].itemId, result[i].activityId, result[i].state);\r\n }, 3000);\r\n\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('Specification').setValue(result[i].specificationId, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('quantityRequired').setValue(result[i].unitRequired, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('vehicleQuantity').setValue(result[i].vehicleQuantity, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('no_of_Days').setValue(result[i].no_of_Days, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('RateperUnits').setValue(result[i].rate, { onlySelf: true });\r\n //this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('Amounts').setValue(result[i].itemId,{ onlySelf: true });\r\n this.onRequiredblur(this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('quantityRequired').value, j, k);\r\n\r\n k++;\r\n } else {\r\n if (result[i].misc != 'Delete') {\r\n this.addRequest_MiscDetails(j);\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"Misc\").setValue(result[i].misc, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscSpec\").setValue(result[i].miscSpecification, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscQuan\").setValue(result[i].miscRequiredUnit, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscvehicleQuan\").setValue(result[i].miscvehicleQuan, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscNo_of_Days\").setValue(result[i].miscNo_of_Days, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscUnit\").setValue(result[i].miscUnitOfMeasure, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscRate\").setValue(result[i].miscRate, { onlySelf: true });\r\n this.OnQuantityRequired(this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscQuan\").value, j, misId);\r\n misId++;\r\n }\r\n }\r\n if (i == 0) {\r\n setTimeout(() => {\r\n debugger;\r\n //this.GetVendors(result[i].specificationId, result[i].activityId, result[i].state, k);\r\n //this.GetVendors(result[i].state,result[i].requestType);\r\n this.GetVendors(result[i].state, this.RequestType);\r\n if (result[i].vendorId != '' && result[i].vendorId != null) {\r\n this.BudgetRequestForm.get('PrefferedVendor').setValue(result[i].vendorId);\r\n }\r\n\r\n }, 4000);\r\n this.GetVendorDetailById(result[i].vendorId, '', this.requestId, '', '')\r\n if ((result[i].vendorId == 'VEND-0585' || result[i].vendorId == 'VEND/01246' || result[i].vendorId == 'FVMA-OTH-01') && (result[i].activityId == '40') || (result[i].itemId == '' || result[i].itemId == undefined || result[i].itemId == null || result[i].itemId == null)) {\r\n var count = this.Request_ItemDetails(i).length;\r\n for (let p = 0; p < count; p++) {\r\n for (var Index = 0; Index < count; Index++) {\r\n this.RemoveItem(i, Index)\r\n }\r\n }\r\n }\r\n } debugger;\r\n this.GetGrandTotal();\r\n this.GetTotalAmount();\r\n previousId = result[i].id;\r\n //k++;\r\n }\r\n\r\n else {\r\n\r\n // if(PreviousActivity!=result[i].activityId)\r\n // {\r\n if (i != 0) {\r\n j++;\r\n k = 0;\r\n misId = 0;\r\n }\r\n debugger;\r\n PreviousActivity = result[i].activityId;\r\n PreviousEndDate = result[i].endDate;\r\n PreviousStartDate = result[i].startDate;\r\n this.BudgetRequests.push(this.newRequest());\r\n\r\n this.BindDDLs();\r\n this.cropName = result[i].cropName;\r\n this.productName = result[i].productId;\r\n this.regionslected = result[i].regionName;\r\n //Set/Fill all control values\r\n var croplist = result[i].cropId.split(',');\r\n var croplistName = result[i].cropName.split(',');\r\n var productlist = result[i].productId.split(',');\r\n var selectedcropList = [];\r\n var selectedProductlist = [];\r\n for (let a = 0; a < croplist.length; a++) {\r\n selectedcropList.push({ cropId: croplist[a], cropName: croplistName[a] })\r\n }\r\n for (let b = 0; b < productlist.length; b++) {\r\n selectedProductlist.push({ productId: productlist[b] })\r\n }\r\n this.selectedCrops = selectedcropList;\r\n this.selectedProducts = selectedProductlist;\r\n\r\n var reg = result[i].region.split(',');\r\n var regName = result[i].regionName.split(',')\r\n var regList = [];\r\n for (let x = 0; x < reg.length; x++) {\r\n regList.push({ regionId: reg[x], regionName: regName[x] })\r\n }\r\n this.selectedRegionList = regList; debugger;\r\n this.BudgetRequestForm.get('Title').setValue(result[i].title, { onlySelf: true });\r\n this.selectedBudgetType = result[i].budgetTypeId;\r\n this.BudgetRequestForm.get('BudgetType').setValue(result[i].budgetTypeId, { onlySelf: true });\r\n this.BudgetRequestForm.get('BrandManager').setValue(result[i].brandManagerUserId, { onlySelf: true });\r\n this.BudgetRequestForm.get('RequestType').setValue(result[i].requestTypeID, { onlySelf: true });\r\n\r\n this.getActivityList();\r\n this.BudgetRequestForm.get('Notes').setValue(result[i].note, { onlySelf: true });\r\n this.BudgetRequests['controls'][j].get(\"ActivityType\").setValue(result[i].activityId, { onlySelf: true });\r\n this.BudgetRequests['controls'][j].get(\"ActivityCount\").setValue(result[i].activityCount, { onlySelf: true });\r\n if (this.productName == \"\") {\r\n this.deSelectAll(\"\", \"Product\");\r\n } else {\r\n this.BudgetRequests['controls'][j].get(\"Product\").setValue(this.selectedProducts);\r\n }\r\n if (this.cropName == \"\") {\r\n this.deSelectAll(\"\", \"Crop\");\r\n } else {\r\n this.BudgetRequests['controls'][j].get(\"Crop\").setValue(this.selectedCrops);\r\n }\r\n if (localStorage.getItem(\"RepeatRequest\") == \"1\") {\r\n }\r\n else {\r\n if (result[i].startDate.includes('1900')) {\r\n this.BudgetRequests['controls'][j].get(\"startDate\").setValue('', { onlySelf: true });\r\n this.StartingDate = \"\";\r\n } else {\r\n this.BudgetRequests['controls'][j].get(\"startDate\").setValue(result[i].startDate, { onlySelf: true });\r\n this.Mindate.push({ \"ReqId\": i, \"MinDate\": new Date(result[i].startDate) });\r\n this.StartingDate = result[i].startDate;\r\n }\r\n if (result[i].endDate.includes('1900')) {\r\n this.BudgetRequests['controls'][j].get(\"endDate\").setValue('', { onlySelf: true });\r\n } else {\r\n this.BudgetRequests['controls'][j].get(\"endDate\").setValue(result[i].endDate, { onlySelf: true });\r\n }\r\n //this.BudgetRequests['controls'][j].get(\"startDate\").setValue(result[i].startDate, { onlySelf: true });\r\n //this.BudgetRequests['controls'][j].get(\"endDate\").setValue(result[i].endDate, { onlySelf: true });\r\n }\r\n\r\n\r\n this.BudgetRequestForm.get(\"State\").setValue(result[0].state, { onlySelf: true });\r\n this.BindRegionDDL(this.BudgetRequestForm.get(\"State\").value);\r\n\r\n this.BudgetRequestForm.get(\"Region\").setValue(this.selectedRegionList);\r\n\r\n setTimeout(() => {\r\n this.BindElementDDL(result[i].state, result[i].activityId, result[i].vendorId);\r\n }, 3000);\r\n\r\n if (result[i].budgetTypeId != 6) {\r\n this.ToShowBudgetTable = 1;\r\n this.BudgetRequests['controls'][j].get(\"BrandBudgetSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][j].get(\"TransferSectionToShow\").setValue(1);\r\n setTimeout(() => {\r\n this.GetAmountByActivityId(j, result[i].activityId, this.selectedRegionList[0].regionId, this.requestId, new Date(result[i].startDate));\r\n }, 3000);\r\n }\r\n if (result[i].budgetTypeId == 6) {\r\n this.IsEnableRadioButton = 'false';\r\n this.BudgetRequests['controls'][j].get(\"TransferSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][j].get(\"BrandBudgetSectionToShow\").setValue(1);\r\n setTimeout(() => {\r\n this.GetAmountByProductId('All');\r\n }, 3000);\r\n\r\n }\r\n if (result[i].unitOfMeasure != '' || result[i].itemId != 0 || result[i].specificationId != 0) {\r\n this.addRequest_ItemDetails(j);\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('UnitOfMeasure').setValue(result[i].unitOfMeasure, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('Element').setValue(result[i].itemId.toString(), { onlySelf: true });\r\n //this.GetSpecificationByElementId(result[i].itemId,this.BudgetRequests['controls'][j].get(\"ActivityType\").value,this.BudgetRequests['controls'][j].get(\"State\").value);\r\n\r\n setTimeout(() => {\r\n\r\n this.GetSpecificationByElementId(result[i].itemId, result[i].activityId, result[i].state);\r\n }, 3500);\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('Specification').setValue(result[i].specificationId, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('quantityRequired').setValue(result[i].unitRequired, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('vehicleQuantity').setValue(result[i].vehicleQuantity, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('no_of_Days').setValue(result[i].no_of_Days, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('RateperUnits').setValue(result[i].rate, { onlySelf: true });\r\n //this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('Amounts').setValue(result[i].itemId,{ onlySelf: true });\r\n this.onRequiredblur(this.BudgetRequests['controls'][j]['controls']['ItemDetails']['controls'][k].get('quantityRequired').value, j, k);\r\n\r\n k++;\r\n } else {\r\n if (result[i].misc != 'Delete') {\r\n this.addRequest_MiscDetails(j);\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"Misc\").setValue(result[i].misc, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscSpec\").setValue(result[i].miscSpecification, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscQuan\").setValue(result[i].miscRequiredUnit, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscvehicleQuan\").setValue(result[i].miscvehicleQuan, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscNo_of_Days\").setValue(result[i].miscNo_of_Days, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscUnit\").setValue(result[i].miscUnitOfMeasure, { onlySelf: true });\r\n this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscRate\").setValue(result[i].miscRate, { onlySelf: true });\r\n this.OnQuantityRequired(this.BudgetRequests['controls'][j]['controls']['Misclist']['controls'][misId].get(\"MiscQuan\").value, j, misId);\r\n misId++;\r\n }\r\n }\r\n if (i == 0) {\r\n setTimeout(() => {\r\n debugger;\r\n //this.GetVendors(result[i].specificationId, result[i].activityId, result[i].state, k);\r\n //this.GetVendors(result[i].state,result[i].requestType);\r\n this.GetVendors(result[i].state, this.RequestType);\r\n if (result[i].vendorId != '' && result[i].vendorId != null) {\r\n this.BudgetRequestForm.get('PrefferedVendor').setValue(result[i].vendorId);\r\n }\r\n\r\n }, 4000);\r\n this.GetVendorDetailById(result[i].vendorId, '', this.requestId, '', '')\r\n if ((result[i].vendorId == 'VEND-0585' || result[i].vendorId == 'VEND/01246' || result[i].vendorId == 'FVMA-OTH-01') && (result[i].activityId == '40') || (result[i].itemId == '' || result[i].itemId == undefined || result[i].itemId == null || result[i].itemId == null)) {\r\n var count = this.Request_ItemDetails(i).length;\r\n for (let p = 0; p < count; p++) {\r\n for (var Index = 0; Index < count; Index++) {\r\n this.RemoveItem(i, Index)\r\n }\r\n }\r\n }\r\n }\r\n debugger;\r\n this.GetGrandTotal();\r\n this.GetTotalAmount();\r\n previousId = result[i].id;\r\n\r\n }\r\n }\r\n\r\n }\r\n if (this.isEditable == \"true\") {\r\n this.DisableAllFields();\r\n }\r\n\r\n }\r\n OnQuantityRequired(RequiredQuantity: number, requestIndex: number, itemIndex: number) {\r\n\r\n var Rate = this.BudgetRequests['controls'][requestIndex]['controls']['Misclist']['controls'][itemIndex].get('MiscRate').value;\r\n if (Rate != undefined || Rate != \"\") {\r\n var Amt: any;\r\n if (this.BudgetRequests['controls'][requestIndex].get('ActivityType').value == 26) {\r\n Amt = this.BudgetRequests['controls'][requestIndex]['controls']['Misclist']['controls'][itemIndex].get('MiscNo_of_Days').value * Rate * this.BudgetRequests['controls'][requestIndex]['controls']['Misclist']['controls'][0].get('MiscvehicleQuan').value;\r\n } else {\r\n var RequiredItem = RequiredQuantity;\r\n Amt = RequiredItem * Rate;\r\n }\r\n this.BudgetRequests['controls'][requestIndex]['controls']['Misclist']['controls'][itemIndex].get('MiscAmount').setValue(Amt);\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n }\r\n }\r\n\r\n GetItemDetailsAmountCalculation() {\r\n for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n var TotalAmount = 0;\r\n for (let j = 0; j < this.Request_ItemDetails(i).length; j++) {\r\n this.GetAmount(i, j);\r\n }\r\n }\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n }\r\n SaveAsDraft(isDraft: string) {\r\n debugger;\r\n this.IsSaveAsDraft = false;\r\n console.log(this.BudgetRequestForm.get('Region').value);\r\n\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n // if((this.BudgetRequestForm.get('BudgetRequestList')['controls'][i].controls.Crop.value).length==0){\r\n // this.BudgetRequestForm.get('BudgetRequestList')['controls'][i].controls.Crop.setValue({cropId:'-1'});\r\n // }\r\n if (this.BudgetRequests['controls'][i].get(\"startDate\").value == '') {\r\n this.BudgetRequests['controls'][i].get(\"startDate\").setValue('01-01-1900');\r\n }\r\n if (this.BudgetRequests['controls'][i].get(\"endDate\").value == '') {\r\n this.BudgetRequests['controls'][i].get(\"endDate\").setValue('01-01-1900');\r\n }\r\n }\r\n if (this.BudgetRequestForm.controls.BudgetType.value == -1) {\r\n this.toastr.error(\"Budget Type is required.\");\r\n } else if (this.BudgetRequestForm.controls.State.value == -1) {\r\n this.toastr.error(\"State is required.\");\r\n } else if (this.BudgetRequestForm.controls.Region.value == '' || (this.BudgetRequestForm.get('Region').value).length == 0) {\r\n this.toastr.error(\"Region is required.\");\r\n } else {\r\n this.IsSaveAsDraft = true;\r\n this.isValidFormSubmitted = true;\r\n this.isdisplay = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n this.IsDuplicateActivity();\r\n this.DialogeText = \"Are you sure you want to draft request?\";\r\n this.IsCancelBtnClicked = false;\r\n\r\n localStorage.setItem(\"isDraft\", isDraft);\r\n }\r\n SaveData(isDraft: string) {\r\n debugger;\r\n if (this.BudgetRequestForm.valid) {\r\n var validateQuantity = 0;\r\n var ElementRequired = 0;\r\n var vehiclesQuantity = 0;\r\n var validateMiscvehicleQuan = 0;\r\n var validateMiscNo_of_Days = 0;\r\n var requiredDays = 0;\r\n var validateSpecification = 0;\r\n var validateMisc = 0;\r\n var validateMiscSpec = 0;\r\n var validateMiscQuantity = 0;\r\n var validateMiscUnit = 0;\r\n var validateMiscRate = 0;\r\n var regionName = '';\r\n this.validateRegions = [];\r\n var Less_Budget_Region = '';\r\n //this.getActivityBudget(false);\r\n this.IsSaveAsDraft = true;\r\n\r\n if (this.BudgetRequestForm.value.BudgetType == 6) {\r\n //this.GeographyMapping\r\n this.CheckAvailableBrandBudget();\r\n }\r\n\r\n for (let a = 0; a < this.BudgetRequestForm.value.BudgetRequestList.length; a++) {\r\n if (this.BudgetRequestForm.value.BudgetType == 5) {\r\n this.getBalancePerActivity(this.BudgetRequestForm.value.BudgetRequestList[a][\"ActivityType\"], this.BudgetRequestForm.get('Region').value, this.BudgetRequestForm.value.BudgetRequestList[a]['startDate']);\r\n }\r\n this.ValidateData = this.BudgetRequestForm.value.BudgetRequestList[a][\"ItemDetails\"];\r\n for (let b = 0; b < this.ValidateData.length; b++) {\r\n if (this.ValidateData[b][\"Element\"] != \"-1\" && this.ValidateData[b][\"Specification\"] == \"-1\") {\r\n validateSpecification = 1;\r\n }\r\n if (this.BudgetRequests['controls'][a].get('ActivityType').value == 26) {\r\n if (this.ValidateData[b][\"Element\"] != \"-1\" && (this.ValidateData[b][\"vehicleQuantity\"] == 0 || this.ValidateData[b][\"vehicleQuantity\"] == '')) {\r\n vehiclesQuantity = 1;\r\n } else if (this.ValidateData[b][\"Element\"] != \"-1\" && (this.ValidateData[b][\"no_of_Days\"] == 0 || this.ValidateData[b][\"no_of_Days\"] == '')) {\r\n requiredDays = 1\r\n }\r\n } else {\r\n if (this.ValidateData[b][\"Element\"] != \"-1\" && (this.ValidateData[b][\"quantityRequired\"] == 0 || this.ValidateData[b][\"quantityRequired\"] == '')) {\r\n validateQuantity = 1;\r\n }\r\n }\r\n }\r\n\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"].length > 0 && (this.BudgetRequestForm.get('PrefferedVendor').value == 'VEND-0585' || this.BudgetRequestForm.get('PrefferedVendor').value == 'VEND/01246' || this.BudgetRequestForm.get('PrefferedVendor').value == 'FVMA-OTH-01')) {\r\n if (this.BudgetRequests['controls'][a].get('ActivityType').value == 26) {\r\n debugger;\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"Misc\"] == \"\") {\r\n validateMisc = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscSpec\"] == \"\") {\r\n validateMiscSpec = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscvehicleQuan\"] === \"0\" || this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscvehicleQuan\"] === \"\") {\r\n validateMiscvehicleQuan = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscNo_of_Days\"] === \"0\" || this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscNo_of_Days\"] === \"\") {\r\n validateMiscNo_of_Days = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscUnit\"] == \"\") {\r\n validateMiscUnit = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscRate\"] === \"0\" || this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscRate\"] === \"\") {\r\n validateMiscRate = 1;\r\n }\r\n }\r\n else {\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"Misc\"] == \"\") {\r\n validateMisc = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscSpec\"] == \"\") {\r\n validateMiscSpec = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscQuan\"] === \"0\" || this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscQuan\"] === \"\") {\r\n validateMiscQuantity = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscUnit\"] == \"\") {\r\n validateMiscUnit = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscRate\"] === \"0\" || this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscRate\"] === \"\") {\r\n validateMiscRate = 1;\r\n }\r\n }\r\n }\r\n debugger;\r\n //if(this.RequestType==1){\r\n if (this.BudgetRequests['controls'][a].get('ActivityType').value == 51 || this.BudgetRequests['controls'][a].get('ActivityType').value == 52) {\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"Misc\"] == \"\") {\r\n validateMisc = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscSpec\"] == \"\") {\r\n validateMiscSpec = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscQuan\"] === \"0\" || this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscQuan\"] === \"\") {\r\n validateMiscQuantity = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscUnit\"] == \"\") {\r\n validateMiscUnit = 1;\r\n }\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscRate\"] === \"0\" || this.BudgetRequestForm.value.BudgetRequestList[a][\"Misclist\"][0][\"MiscRate\"] === \"\") {\r\n validateMiscRate = 1;\r\n }\r\n }\r\n if (this.ActivityBudgetMapping.length != 0 && this.BudgetRequestForm.value.BudgetType == 5 && Less_Budget_Region == '') {\r\n\r\n for (let i = 0; i < this.ActivityBudgetMapping.length; i++) {\r\n if (this.BudgetRequestForm.value.BudgetRequestList[a][\"ActivityType\"] == this.ActivityBudgetMapping[i].ActivityId) {\r\n for (let j = 0; j < this.BudgetRequestForm.value.Region.length; j++) {\r\n regionName = '';\r\n let currRegion = this.BudgetRequestForm.value.Region[j].regionId;\r\n for (let k = 0; k < this.ActivityBudgetMapping[i].RemaingBalance.length; k++) {\r\n debugger;\r\n if (this.ActivityBudgetMapping[i].RemaingBalance[k].region == currRegion) {\r\n if (this.ChangeINRtoValue(this.ActivityBudgetMapping[i].RemaingBalance[k].remainingBalance) < (this.BudgetRequestForm.value.BudgetRequestList[a][\"AmountToShow\"] / this.BudgetRequestForm.value.Region.length)) {\r\n regionName = this.BudgetRequestForm.value.Region[j].regionName;\r\n this.validateRegions.push({ activity: this.BudgetRequestForm.value.BudgetRequestList[a][\"ActivityType\"], Region: regionName });\r\n //break;\r\n }\r\n }\r\n }\r\n } debugger;\r\n //for all region which have less budget\r\n if (this.validateRegions.length > 0) {\r\n for (i = 0; i < this.validateRegions.length; i++) {\r\n if (this.validateRegions.length == 1) {\r\n Less_Budget_Region = this.validateRegions[i].Region;\r\n } else {\r\n if (Less_Budget_Region == '') {\r\n Less_Budget_Region = this.validateRegions[i].Region;\r\n } else {\r\n if (!Less_Budget_Region.includes(this.validateRegions[i].Region)) {\r\n Less_Budget_Region = Less_Budget_Region + ', ' + this.validateRegions[i].Region;\r\n }\r\n }\r\n }\r\n }\r\n var list = Less_Budget_Region;\r\n //break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n if (validateSpecification == 1) {\r\n this.toastr.error(\"Specification is required.\");\r\n }\r\n else if (vehiclesQuantity == 1) {\r\n this.toastr.error(\"Vehicle quantity is required.\");\r\n }\r\n else if (requiredDays == 1) {\r\n this.toastr.error(\"Number of days is required.\");\r\n }\r\n else if (validateQuantity == 1) {\r\n this.toastr.error(\"Quantity is required.\");\r\n }\r\n else if (validateMisc == 1) {\r\n this.toastr.error(\"Miscellaneous item is required.\");\r\n }\r\n else if (validateMiscSpec == 1) {\r\n this.toastr.error(\"Miscellaneous specification is required.\");\r\n }\r\n else if (validateMiscQuantity == 1) {\r\n if (this.BudgetRequestForm.controls.RequestType.value == 1) {\r\n this.toastr.error(\"Miscellaneous No. Of Manpower is required.\");\r\n } else {\r\n this.toastr.error(\"Miscellaneous quantity is required.\");\r\n }\r\n }\r\n else if (validateMiscvehicleQuan == 1) {\r\n this.toastr.error(\"Miscellaneous vehicle quantity is required.\");\r\n }\r\n else if (validateMiscNo_of_Days == 1) {\r\n this.toastr.error(\"Miscellaneous number of days is required.\");\r\n }\r\n else if (validateMiscRate == 1) {\r\n if (this.BudgetRequestForm.controls.RequestType.value == 1) {\r\n this.toastr.error(\"Miscellaneous Per month cost is required.\");\r\n } else {\r\n this.toastr.error(\"Miscellaneous rate is required.\");\r\n }\r\n }\r\n else if (validateMiscUnit == 1) {\r\n this.toastr.error(\"Miscellaneous unit of measure is required.\");\r\n }\r\n else if (this.validateRegions.length > 0 || Less_Budget_Region != '') {\r\n console.log(this.validateRegions);\r\n // this.snackbar.openSnackBar(\"You have exceeded the budget amount for region \" + Less_Budget_Region + \" And Activity group \" + this.getActivityGroupName(this.validateRegions[0].activity) + \".\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"You have exceeded the budget amount for region \" + Less_Budget_Region + \" And Activity group \" + this.getActivityGroupName(this.validateRegions[0].activity) + \".\");\r\n //this.messageString=\"You have exceeded the budget amount for region \" + Less_Budget_Region + \" And Activity group \" + this.getActivityGroupName(this.validateRegions[0].activity) + \".\";\r\n }\r\n else if (this.ActivityBudgetMapping.length != 0 && this.BudgetRequestForm.value.BudgetType == 5) {\r\n this.isValidFormSubmitted = true;\r\n this.isdisplay = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n else if (this.BudgetRequestForm.value.BudgetType == 6 && this.IsBudgetAvailable == true) {\r\n debugger\r\n this.isValidFormSubmitted = true;\r\n this.isdisplay = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n else {\r\n this.isValidFormSubmitted = false;\r\n this.isdisplay = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n this.IsDuplicateActivity();\r\n if (isDraft == 'false') {\r\n this.DialogeText = \"Are you sure you want to draft request?\";\r\n this.IsCancelBtnClicked = false;\r\n }\r\n else {\r\n if (this.TargetAssigned) {\r\n this.DialogeText = \"Are you sure you want to submit request?\";\r\n }\r\n else {\r\n this.DialogeText = \"There are No Targets set for this region for this period in the Archer. Do you still want to submit?\";\r\n\r\n\r\n }\r\n this.IsCancelBtnClicked = false;\r\n }\r\n localStorage.setItem(\"isDraft\", isDraft);\r\n }\r\n else {\r\n\r\n this.isValidFormSubmitted = false;\r\n }\r\n }\r\n ConfirmSubmition() {\r\n debugger;\r\n if (this.IsCancelBtnClicked == true) {\r\n this.router.navigate(['MABudget/FPERequests']);\r\n this.isdisplay = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n else {\r\n\r\n this.save();\r\n this.isdisplay = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n\r\n }\r\n RejectSubmition() {\r\n debugger;\r\n this.isdisplay = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n BindFilterData() {\r\n this.dropdownProductSetting = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productId',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n enableCheckAll: false\r\n };\r\n this.dropdownCropSetting = {\r\n singleSelection: false,\r\n idField: 'cropId',\r\n textField: 'cropName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n enableCheckAll: false\r\n };\r\n this.fperequestsService.getProducts().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.products = response.data;\r\n this.ProductlistAll = response.data;\r\n this.Productlist = this.ProductlistAll;\r\n }\r\n });\r\n this.fperequestsService.getCrops().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.crops = response.data;\r\n this.Croplist = response.data;\r\n }\r\n });\r\n\r\n }\r\n DisableAllFields() {\r\n this.BudgetRequestForm.controls['Title'].disable();\r\n this.BudgetRequestForm.controls['BudgetType'].disable();\r\n this.BudgetRequestForm.controls['BrandManager'].disable();\r\n this.BudgetRequestForm.controls['PrefferedVendor'].disable();\r\n this.BudgetRequestForm.controls['Name'].disable();\r\n this.BudgetRequestForm.controls['Email'].disable();\r\n this.BudgetRequestForm.controls['Mobile'].disable();\r\n this.BudgetRequestForm.controls['VendorAddress'].disable();\r\n this.BudgetRequestForm.controls['ContactPerson'].disable();\r\n this.BudgetRequestForm.controls['Notes'].disable();\r\n this.BudgetRequestForm.controls['Region'].disable();\r\n this.BudgetRequestForm.controls['State'].disable();\r\n for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls['ActivityType'].disable();// [\"controls\"][i].controls//['ActivityType'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls['ActivityCount'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls['Product'].disable();// [\"controls\"][i].controls//['ActivityType'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls['Crop'].disable();// [\"controls\"][i].controls//['ActivityType'].disable();\r\n //this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.get(\"Product\").disable();\r\n //this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.get(\"Crop\").disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls['startDate'].disable();// [\"controls\"][i].controls//['ActivityType'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls['endDate'].disable();// [\"controls\"][i].controls//['ActivityType'].disable();\r\n //this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls['Region'].disable();// [\"controls\"][i].controls//['ActivityType'].disable();\r\n //this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls['State'].disable();//\r\n\r\n for (let misId = 0; misId < this.Request_MiscDetails(i).length; misId++) {\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.Misclist['controls'][misId]['controls']['Misc'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.Misclist['controls'][misId]['controls']['MiscSpec'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.Misclist['controls'][misId]['controls']['MiscUnit'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.Misclist['controls'][misId]['controls']['MiscRate'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.Misclist['controls'][misId]['controls']['MiscQuan'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.Misclist['controls'][misId]['controls']['MiscvehicleQuan'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.Misclist['controls'][misId]['controls']['MiscNo_of_Days'].disable();\r\n }\r\n for (let j = 0; j < this.Request_ItemDetails(i).length; j++) {\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.ItemDetails['controls'][j].controls['Element'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.ItemDetails['controls'][j].controls['Specification'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.ItemDetails['controls'][j].controls['quantityRequired'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.ItemDetails['controls'][j].controls['UnitOfMeasure'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.ItemDetails['controls'][j].controls['RateperUnits'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.ItemDetails['controls'][j].controls['vehicleQuantity'].disable();\r\n this.BudgetRequestForm.controls.BudgetRequestList['controls'][i].controls.ItemDetails['controls'][j].controls['no_of_Days'].disable();\r\n\r\n }\r\n\r\n }\r\n }\r\n _keyPress(event: any) {\r\n const pattern = /^[.\\d]+$/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n\r\n\r\n }\r\n }\r\n _keyPressInt(event: any) {\r\n const pattern = /^[\\d]+$/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n CheckActivityCount(index: number) {\r\n debugger\r\n if (this.BudgetRequests['controls'][index].get('ActivityCount').value == 0) {\r\n this.BudgetRequests['controls'][index].get('ActivityCount').setValue(1);\r\n // this.snackbar.openSnackBar('Activity count must be greater than 0.', 'Close', 'red-snackbar');\r\n this.toastr.error('Activity count must be greater than 0.');\r\n }\r\n this.BudgetRequests['controls'][index].get('ActivityCount').setValue(parseInt(this.BudgetRequests['controls'][index].get('ActivityCount').value));\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n }\r\n GetAmountByActivityId(ReqIndex: any, ActivityId: number, Region: string, RequestId: number, Date: any) {\r\n var StateCode = this.BudgetRequestForm.get('State').value\r\n var url = \"/api/ServiceRequest/GetBalanceAmountByActivity\";\r\n\r\n var repeatrequest = parseInt(localStorage.getItem(\"RepeatRequest\"));\r\n\r\n if (repeatrequest == 1) {\r\n RequestId = 0;\r\n }\r\n if (this.isEditable == 'true') {\r\n RequestId = 0;\r\n }\r\n this.serviceRequest.GetAmountByActivityId(url, ActivityId, StateCode, Region, RequestId, Date).subscribe((response: any) => {\r\n debugger;\r\n if (response.status == true) {\r\n //this.snackbar.openSnackBar(response.data, 'Close', 'green-snackbar');\r\n this.message = response.data[0].balance;\r\n this.RemaingBalance = response.data;\r\n for (let v = 0; v < this.ActivityBudgetMapping.length; v++) {\r\n if (this.ActivityBudgetMapping[v][\"ActivityId\"] == ActivityId) {\r\n this.ActivityBudgetMapping.splice(v, 1);\r\n }\r\n } debugger;\r\n this.ActivityBudgetMapping.push({ ActivityId: ActivityId, RemaingBalance: this.RemaingBalance });\r\n if (this.BudgetRequestForm.get('BudgetType').value != 6) {\r\n this.ToShowBudgetTable = response.data[0].toShowTable;\r\n this.BudgetRequests['controls'][ReqIndex].get(\"BrandBudgetSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][ReqIndex].get(\"TransferSectionToShow\").setValue(response.data[0].toShowTable);\r\n } else {\r\n this.ToShowBudgetTable = 0;\r\n this.BudgetRequests['controls'][ReqIndex].get(\"TransferSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][ReqIndex].get(\"BrandBudgetSectionToShow\").setValue(1);\r\n }\r\n }\r\n else {\r\n //this.snackbar.openSnackBar(response.data, 'Close', 'red-snackbar');\r\n if (response.data != null || response.data != 'null' || response.data != undefined) {\r\n this.message = response.data[0].balance;\r\n }\r\n }\r\n\r\n\r\n });\r\n }\r\n onChangeEnddate(date: any, requestIndex: number, Activity: any, State: any, Region: any, vendor: any, itemindex: any) {\r\n debugger\r\n if (this.StartingDate == \"\" || this.StartingDate == null) {\r\n this.toastr.error(\"Please Select Start Date.\");\r\n return\r\n } else {\r\n this.onRegionSelectsNew(Activity, State, Region, vendor, requestIndex, itemindex, date.target.value, this.StartingDate);\r\n }\r\n\r\n }\r\n getRemaingBudget(Activity: any) {\r\n var updatedBudgetList = this.ActivityBudgetMapping;\r\n var reversedBudgetList = updatedBudgetList.reverse();\r\n const ActivityRegion = reversedBudgetList.find(_ => _.ActivityId == Activity);\r\n return ActivityRegion ? ActivityRegion.RemaingBalance : ActivityRegion;\r\n }\r\n getBudgetTotal(Activity: any) {\r\n var updatedBudgetList = this.ActivityBudgetMapping;\r\n var reversedBudgetList = updatedBudgetList.reverse();\r\n const ActivityRegion = reversedBudgetList.find(_ => _.ActivityId == Activity);\r\n var Total: any = [];\r\n var Totalbudget = 0;\r\n var utilizebudget = 0;\r\n var remainingBudget = 0;\r\n if (ActivityRegion != undefined) {\r\n ActivityRegion.RemaingBalance.forEach(element => {\r\n Totalbudget = Totalbudget + this.ChangeINRtoValue(element.totalBalanceAmount);\r\n utilizebudget = utilizebudget + this.ChangeINRtoValue(element.usedBalanceAmount);\r\n remainingBudget = remainingBudget + this.ChangeINRtoValue(element.remainingBalance);\r\n });\r\n }\r\n Total.push(this.ConvertNumberToSpecialFormate(Totalbudget));\r\n Total.push(this.ConvertNumberToSpecialFormate(utilizebudget));\r\n Total.push(this.ConvertNumberToSpecialFormate(remainingBudget));\r\n return Total;\r\n }\r\n\r\n GetAmountByProductId(ReqIndex: any) {\r\n debugger\r\n var StateCode = this.BudgetRequestForm.get('State').value;\r\n var Region = this.BudgetRequestForm.get('Region').value;\r\n //var Productlist=this.BudgetRequests['controls'][ReqIndex].get(\"Product\").value;\r\n var BrandManager = this.BudgetRequestForm.get('BrandManager').value;\r\n var RequestId = this.requestId;\r\n var url = \"/api/ServiceRequest/GetBrandBalanceAmountByProduct\";\r\n var repeatrequest = parseInt(localStorage.getItem(\"RepeatRequest\"));\r\n if (repeatrequest == 1 || this.isEditable == 'true') {\r\n RequestId = 0;\r\n }\r\n this.RemaingBrandBudget = [];\r\n this.serviceRequest.GetAmountByProductId(url, BrandManager, StateCode, Region, RequestId).subscribe((response: any) => {\r\n debugger;\r\n if (response.status == true) {\r\n this.RemaingBrandBudget = response.data;\r\n // this.RemaingBrandBudget.forEach(element => {\r\n // this.ProductBudgetMapping.push({ ProductId: element['productID'], RemaingBalance: element });\r\n // });\r\n\r\n if (this.BudgetRequestForm.get('BudgetType').value == 6) {\r\n if (ReqIndex == 'All') {\r\n for (let i = 0; i < this.BudgetRequests.length; i++) {\r\n this.BudgetRequests['controls'][i].get(\"TransferSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][i].get(\"BrandBudgetSectionToShow\").setValue(1);\r\n }\r\n } else {\r\n this.BudgetRequests['controls'][ReqIndex].get(\"TransferSectionToShow\").setValue(0);\r\n this.BudgetRequests['controls'][ReqIndex].get(\"BrandBudgetSectionToShow\").setValue(1);\r\n }\r\n }\r\n\r\n }\r\n else {\r\n if (response.data != null || response.data != 'null' || response.data != undefined) {\r\n //this.message = response.data[0].balance;\r\n }\r\n }\r\n });\r\n }\r\n getBrandBudgetTotal() {\r\n var productBudgetList = this.RemaingBrandBudget;\r\n var Total: any = [];\r\n var Totalbudget = 0;\r\n var utilizebudget = 0;\r\n var remainingBudget = 0;\r\n if (productBudgetList != undefined) {\r\n productBudgetList.forEach(element => {\r\n Totalbudget = Totalbudget + this.ChangeINRtoValue(element.totalAllocatedBrandBudget);\r\n utilizebudget = utilizebudget + this.ChangeINRtoValue(element.usedBrandBalance);\r\n remainingBudget = remainingBudget + this.ChangeINRtoValue(element.remainingBrandBalance);\r\n });\r\n }\r\n Total.push(this.ConvertNumberToSpecialFormate(Totalbudget));\r\n Total.push(this.ConvertNumberToSpecialFormate(utilizebudget));\r\n Total.push(this.ConvertNumberToSpecialFormate(remainingBudget));\r\n return Total;\r\n }\r\n CheckAvailableBrandBudget() {\r\n debugger\r\n var StateCode = this.BudgetRequestForm.get('State').value;\r\n var Region = this.BudgetRequestForm.get('Region').value;\r\n var BrandManager = this.BudgetRequestForm.get('BrandManager').value;\r\n var url = \"/api/ServiceRequest/CheckAvailableBrandBudget\";\r\n var repeatrequest = parseInt(localStorage.getItem(\"RepeatRequest\"));\r\n var RequestId = this.requestId;\r\n if (repeatrequest == 1 || this.isEditable == 'true') {\r\n RequestId = 0;\r\n }\r\n var regionCount = Region.length;\r\n var requestedAmount = 0;\r\n //this.savedData\r\n this.BrandRequestMapping = [];\r\n for (let index = 0; index < this.BudgetRequestForm.value.BudgetRequestList.length; index++) {\r\n var ActivityId = this.BudgetRequests['controls'][index].get(\"ActivityType\").value;\r\n var Productlist = this.BudgetRequests['controls'][index].get(\"Product\").value;\r\n var product = '';\r\n var Amount = this.ChangeINRtoValue(this.BudgetRequestForm.value.BudgetRequestList[index][\"SumTotalAmount\"]);\r\n if (regionCount > 0) {\r\n requestedAmount = Amount / regionCount;\r\n } else {\r\n requestedAmount = Amount;\r\n }\r\n Productlist.forEach(element => {\r\n if (product == '') {\r\n product = element.productId;\r\n } else {\r\n product = product + ',' + element.productId;\r\n }\r\n });\r\n this.BrandRequestMapping.push({ 'ReqIndex': index, 'ActivityId': ActivityId, 'Productlist': product, 'RequestedAmount': requestedAmount.toFixed(2) });\r\n }\r\n\r\n debugger;\r\n this.serviceRequest.CheckAvailableBrandBudget(url, BrandManager, ActivityId, this.BrandRequestMapping, StateCode, Region, RequestId).subscribe((response: any) => {\r\n if (response.status == true) {\r\n if (response.data[0].data == 1) {\r\n this.IsBudgetAvailable = false;\r\n this.toastr.error(response.data[0].message);\r\n } else if (response.data[0].data == 0) {\r\n this.IsBudgetAvailable = true;\r\n }\r\n }\r\n });\r\n\r\n }\r\n checkAvailableBudget(requiredAmount: any, Activity: any, Region: any) {\r\n debugger;\r\n const availableBudgetList = this.ActivityBudgetMapping.find(_ => _.ActivityId == Activity);\r\n let lis = availableBudgetList ? availableBudgetList.RemaingBalance : availableBudgetList;\r\n const budget = lis.find(_ => _.region == Region)\r\n let budgetAmount = budget ? budget.remainingBalance : budget;\r\n console.log(budget);\r\n console.log(budgetAmount);\r\n if (this.ChangeINRtoValue(budgetAmount) < this.ChangeINRtoValue(requiredAmount)) {\r\n this.transferFlag = false;\r\n // this.snackbar.openSnackBar('You have exceeded the available budget for region ' + Region + '.', 'Close', 'red-snackbar');\r\n this.toastr.error('You have exceeded the available budget for region ' + budget.regionName + '.');\r\n }\r\n }\r\n\r\n onChangeStartdateManpower(date: any, requestIndex: number, Activity: any, State: any, Region: any, vendor: any, itemindex: any) {\r\n debugger;\r\n this.StartingDate = date.target.value;\r\n this.onRegionSelects(Activity, State, Region, vendor, requestIndex, itemindex, date.target.value);\r\n var currentDate = new Date();\r\n var a = new Date(currentDate).setHours(0, 0, 0, 0);\r\n var start = new Date(date.target.value).setHours(0, 0, 0, 0);\r\n var end = new Date(this.BudgetRequests['controls'][requestIndex].get('endDate').value).setHours(0, 0, 0, 0);\r\n this.BudgetRequests['controls'][requestIndex].get('endDate').setValue(\"\")\r\n if (start >= a) {\r\n if (start > end) {\r\n this.Mindate.push({ \"ReqId\": requestIndex, \"MinDate\": new Date(date.target.value) });\r\n this.Mindate[requestIndex][\"ReqId\"] = requestIndex;\r\n this.Mindate[requestIndex][\"MinDate\"] = new Date(date.target.value);\r\n }\r\n else {\r\n this.Mindate.push({ \"ReqId\": requestIndex, \"MinDate\": new Date(date.target.value) });\r\n this.Mindate[requestIndex][\"ReqId\"] = requestIndex;\r\n this.Mindate[requestIndex][\"MinDate\"] = new Date(date.target.value);\r\n //this.Mindate.push({\"ReqId\":requestIndex, \"MinDate\":new Date(date.target.value)});\r\n var day = date.target.value.getDate();\r\n var Month = date.target.value.getMonth() + 1;\r\n var year = date.target.value.getFullYear();\r\n if (Month > 6) {\r\n Month = Month - 6;\r\n year = year + 1;\r\n } else {\r\n Month = Month + 6\r\n }\r\n this.maxdateManpower = new Date(year + \"-\" + (Month) + \"-\" + day)\r\n this.manpowerSelectedDate = date.target.value;\r\n } \r\n \r\n }\r\n else {\r\n // this.snackbar.openSnackBar('Start Date cannot be a past Date', 'Close', 'red-snackbar');\r\n this.toastr.error('Start Date cannot be a past Date.');\r\n this.BudgetRequests['controls'][requestIndex].get('startDate').setValue('');\r\n }\r\n }\r\n onChangeEnddateManpower(endDate: any, requestIndex: number, Activity: any, State: any, Region: any, vendor: any, itemindex: any) {\r\n debugger;\r\n var startDate = this.BudgetRequests['controls'][requestIndex].get('startDate').value;\r\n var monthCount = (endDate.target.value.getMonth() + 1) - (startDate.getMonth() + 1);\r\n if (monthCount < 0) {\r\n monthCount = monthCount + 12;\r\n }\r\n this.BudgetRequests['controls'][requestIndex].get('ActivityCount').setValue(monthCount);\r\n this.GetTotalAmount();\r\n this.GetGrandTotal(); \r\n this.onRegionSelectsNew(Activity, State, Region, vendor, requestIndex, itemindex, endDate.target.value, this.StartingDate); \r\n }\r\n\r\n onChangeStartdate(date: any, requestIndex: number, Activity: any, State: any, Region: any, vendor: any, itemindex: any) {\r\n //this.GetTargetAssigned(Region,date);\r\n if (this.BudgetRequestForm.value.BudgetType == 6) {\r\n this.GetAmountByProductId(requestIndex);\r\n } debugger\r\n this.StartingDate = date.target.value;\r\n this.onRegionSelects(Activity, State, Region, vendor, requestIndex, itemindex, date.target.value)\r\n var currentDate = new Date();\r\n var a = new Date(currentDate).setHours(0, 0, 0, 0);\r\n var start = new Date(date.target.value).setHours(0, 0, 0, 0);\r\n var end = new Date(this.BudgetRequests['controls'][requestIndex].get('endDate').value).setHours(0, 0, 0, 0);\r\n if (start >= a) {\r\n if (start > end) {\r\n\r\n this.Mindate.push({ \"ReqId\": requestIndex, \"MinDate\": new Date(date.target.value) });\r\n\r\n this.Mindate[requestIndex][\"ReqId\"] = requestIndex;\r\n this.Mindate[requestIndex][\"MinDate\"] = new Date(date.target.value);\r\n this.BudgetRequests['controls'][requestIndex].get('endDate').setValue(\"\")\r\n }\r\n else {\r\n\r\n this.Mindate.push({ \"ReqId\": requestIndex, \"MinDate\": new Date(date.target.value) });\r\n\r\n this.Mindate[requestIndex][\"ReqId\"] = requestIndex;\r\n this.Mindate[requestIndex][\"MinDate\"] = new Date(date.target.value);\r\n }\r\n }\r\n else {\r\n if (vendor != \"\" && vendor != \"-1\") {\r\n this.toastr.error('Start Date cannot be a past Date.');\r\n }\r\n this.BudgetRequests['controls'][requestIndex].get('startDate').setValue('');\r\n }\r\n\r\n }\r\n GetMinDate(requestindex) {\r\n const selectminDate = this.Mindate.find(_ => _.ReqId == requestindex);\r\n return selectminDate ? selectminDate.MinDate : selectminDate;\r\n }\r\n onItemSelect(event: any, filter: string, requestindex: number) {\r\n debugger\r\n if (filter == \"Product\") {\r\n\r\n if (event.productId == \"All Product\") {\r\n this.deSelectAll(\"\", \"Product\");\r\n var selectedProductlist = [];\r\n this.selectedProducts = [];\r\n selectedProductlist.push({ productId: event.productId })\r\n this.selectedProducts = selectedProductlist;\r\n this.selectedProduct = event.productId;\r\n this.BudgetRequests['controls'][requestindex].get(\"Product\").setValue(this.selectedProducts);\r\n }\r\n else {\r\n if (this.selectedProduct.indexOf(\"All Product\") != -1) {\r\n this.selectedProduct = '';\r\n var selectedProductlist = [];\r\n this.selectedProducts = [];\r\n selectedProductlist.push({ productId: event.productId })\r\n this.selectedProducts = selectedProductlist;\r\n\r\n this.BudgetRequests['controls'][requestindex].get(\"Product\").setValue(this.selectedProducts);\r\n }\r\n if (this.selectedProduct.length > 0 && this.selectedProduct.indexOf(\",\") == -1)\r\n this.selectedProduct += ',';\r\n this.selectedProduct += event.productId + ',';\r\n\r\n }\r\n this.selectedProducts = [];\r\n }\r\n if (filter == \"Crop\") {\r\n if (event.cropId == \"0\") {\r\n this.deSelectAll(\"\", \"Crop\");\r\n var selectedcropList = [];\r\n this.selectedCrops = [];\r\n selectedcropList.push({ cropId: event.cropId, cropName: event.cropName })\r\n this.selectedCrops = selectedcropList;\r\n this.selectedCrop = event.cropId;\r\n this.BudgetRequests['controls'][requestindex].get(\"Crop\").setValue(this.selectedCrops);\r\n }\r\n else {\r\n\r\n if (this.selectedCrop.indexOf(\"0\") != -1) {\r\n this.selectedCrop = '';\r\n var selectedcropList = [];\r\n this.selectedCrops = [];\r\n selectedcropList.push({ cropId: event.cropId, cropName: event.cropName })\r\n this.selectedCrops = selectedcropList;\r\n\r\n this.BudgetRequests['controls'][requestindex].get(\"Crop\").setValue(this.selectedCrops);\r\n\r\n }\r\n this.selectedCrops = [];\r\n if (this.selectedCrop.length > 0 && this.selectedCrop.indexOf(\",\") == -1)\r\n this.selectedCrop += ',';\r\n this.selectedCrop += event.cropId + ',';\r\n }\r\n }\r\n if (filter == \"Region\") {\r\n var regionList = this.selectedRegion.split(',');\r\n if (regionList.length > 0 && regionList[0] != \"\") {\r\n this.selectedRegion = this.selectedRegion + ',' + event.regionId;\r\n } else {\r\n this.selectedRegion = event.regionId;\r\n }\r\n this.BudgetRequestForm.get('Region').setValue(this.selectedRegion);\r\n }\r\n }\r\n onSelectAll(event: any, filter: string) {\r\n\r\n if (filter == \"Product\") {\r\n this.selectedProduct = '';\r\n for (let item of event) {\r\n this.selectedProduct += item.productId.toString() + ',';\r\n }\r\n }\r\n if (filter == \"Crop\") {\r\n this.selectedCrop = '';\r\n for (let item of event) {\r\n this.selectedCrop += item.cropId.toString() + ',';\r\n }\r\n }\r\n if (filter == \"Region\") {\r\n this.selectedRegion = '';\r\n for (let item of event) {\r\n var regionList = this.selectedRegion.split(',');\r\n if (regionList.length > 0 && regionList[0] != \"\") {\r\n this.selectedRegion = this.selectedRegion + ',' + item.regionId;\r\n } else {\r\n this.selectedRegion = item.regionId;\r\n }\r\n }\r\n this.BudgetRequestForm.get('Region').setValue(this.selectedRegion);\r\n }\r\n }\r\n unSelect(event: any, filter: string) {\r\n switch (filter) {\r\n case \"Product\":\r\n {\r\n if (this.selectedProduct.indexOf(event.productId + ',') != -1) {\r\n this.selectedProduct = this.selectedProduct.replace(event.productId + ',', '');\r\n }\r\n else {\r\n this.selectedProduct = this.selectedProduct.replace(event.productId, '');\r\n }\r\n break;\r\n }\r\n case \"Crop\":\r\n {\r\n if (this.selectedCrop.indexOf(event.cropId + ',') != -1) {\r\n this.selectedCrop = this.selectedCrop.replace(event.cropId + ',', '');\r\n }\r\n else {\r\n this.selectedCrop = this.selectedCrop.replace(event.cropId, '');\r\n }\r\n break;\r\n }\r\n case \"Region\":\r\n {\r\n var region = this.selectedRegion.split(',');\r\n if (region.indexOf(event.regionId) != 0) {\r\n this.selectedRegion = this.selectedRegion.replace(',' + event.regionId, '');\r\n this.BudgetRequestForm.get('Region').setValue(this.selectedRegion);\r\n }\r\n else if (region.indexOf(event.regionId) == 0 && region.length > 1) {\r\n this.selectedRegion = this.selectedRegion.replace(event.regionId + ',', '');\r\n this.BudgetRequestForm.get('Region').setValue(this.selectedRegion);\r\n }\r\n else {\r\n this.selectedRegion = this.selectedRegion.replace(event.regionId, '');\r\n this.BudgetRequestForm.get('Region').setValue(this.selectedRegion);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n deSelectAll(event: any, filter: string) {\r\n if (filter == \"Product\")\r\n this.selectedProduct = '';\r\n if (filter == \"Crop\")\r\n this.selectedCrop = '';\r\n if (filter == \"Region\") {\r\n this.selectedRegion = '';\r\n //this.BudgetRequestForm.get('Region').setValue(this.selectedRegion);\r\n }\r\n }\r\n ConvertNumberToSpecialFormate(Number: any) {\r\n let ActNumber = Math.round(parseFloat(Number));\r\n let data = ActNumber.toString();\r\n let num = data.split('.');\r\n let lastThree = num[0].substring(num[0].length - 3);\r\n let otherNumber = num[0].substring(0, num[0].length - 3);\r\n if (otherNumber != '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n var total = otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\r\n return total;\r\n // this.GrandTotal=this.Total.toString().replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\");\r\n }\r\n ConvertNumberToSpecialFormateIncludingDecimal(Number: Number) {\r\n let data = Number.toString();\r\n let num = data.split('.');\r\n let lastThree = num[0].substring(num[0].length - 3);\r\n let otherNumber = num[0].substring(0, num[0].length - 3);\r\n if (otherNumber != '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n var total = otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\r\n if (num.length > 1) {\r\n if (num[1].length == 1) {\r\n return total + '.' + num[1] + '0';\r\n } else {\r\n return total + '.' + num[1].substring(0, 2);\r\n }\r\n } else {\r\n return total + '.00';\r\n }\r\n }\r\n BudgetAvailable() {\r\n this.displayChangeStatus = false\r\n this.displayBudgetUnavailable = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n ChangeINRtoValue(balance: string) {\r\n let actualBalance: string = '';\r\n let subStr = balance.split(',');\r\n for (let a = 0; a < subStr.length; a++) {\r\n actualBalance += subStr[a];\r\n }\r\n return parseFloat(actualBalance);\r\n }\r\n getActivityGroupName(activityId: any) {\r\n debugger;\r\n console.log(this.ActivityTypes);\r\n const select = this.ActivityTypes.find(_ => _.id == activityId);\r\n var x = select ? select.activityGroupName : select;\r\n return x;\r\n }\r\n getBalancePerActivity(ActivityId: number, Region: any, date: any) {\r\n debugger;\r\n if (typeof (Region) == \"object\") {\r\n var region: string = '';\r\n for (let i = 0; i < Region.length; i++) {\r\n if (i == 0) {\r\n region += Region[i].regionId;\r\n } else {\r\n region += ',' + Region[i].regionId;\r\n }\r\n }\r\n Region = region;\r\n }\r\n // if (this.BudgetRequestForm.get('BudgetType').value == 5 && (this.BudgetRequestForm.get('State').value != '-1')) {\r\n let StateCode = this.BudgetRequestForm.get('State').value;\r\n var url = \"/api/ServiceRequest/GetBalanceAmountByActivity\";\r\n\r\n //this.serviceRequest.GetAmountPerActivity(url, StateCode, Region, ActivityId).subscribe((result: any) => {\r\n this.serviceRequest.GetAmountByActivityId(url, ActivityId, StateCode, Region, this.EditRequestId, new Date(date)).subscribe((result: any) => {\r\n if (result.status == true) {\r\n debugger;\r\n this.RemaingAmount = result.data;\r\n for (let v = 0; v < this.ActivityBudgetMapping.length; v++) {\r\n if (this.ActivityBudgetMapping[v][\"ActivityId\"] == ActivityId) {\r\n this.ActivityBudgetMapping.splice(v, 1);\r\n }\r\n }\r\n this.ActivityBudgetMapping.push({ ActivityId: ActivityId, RemaingBalance: this.RemaingAmount });\r\n\r\n }\r\n });\r\n //}\r\n }\r\n getActivityBudget(isEditable: any) {\r\n\r\n if (isEditable == false) {\r\n for (let a = 0; a < this.BudgetRequestForm.value.BudgetRequestList.length; a++) {\r\n\r\n if (this.BudgetRequestForm.value.BudgetType == 5) {\r\n setTimeout(() => {\r\n this.getBalancePerActivity(this.BudgetRequestForm.value.BudgetRequestList[a][\"ActivityType\"], this.BudgetRequestForm.get('Region').value, this.BudgetRequestForm.value.BudgetRequestList[a]['startDate']);\r\n }, 3000);\r\n\r\n }\r\n }\r\n console.log(this.ActivityBudgetMapping);\r\n }\r\n }\r\n ActivityCounts(item: number, index: number) {\r\n debugger\r\n if (this.BudgetRequests['controls'][index].get('ActivityType').value == '' || this.BudgetRequests['controls'][index].get('ActivityType').value == undefined || this.BudgetRequests['controls'][index].get('ActivityType').value == \"-1\") {\r\n // this.snackbar.openSnackBar('Please select activity.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select activity.');\r\n } else {\r\n if (item == 1) {\r\n this.BudgetRequests['controls'][index].get('ActivityCount').setValue(this.BudgetRequests['controls'][index].get('ActivityCount').value + 1);\r\n //alert(this.BudgetRequests['controls'][index].get('ActivityCount').value)\r\n }\r\n else if (item == 0 && this.BudgetRequests['controls'][index].get('ActivityCount').value > 1) {\r\n this.BudgetRequests['controls'][index].get('ActivityCount').setValue(this.BudgetRequests['controls'][index].get('ActivityCount').value - 1);\r\n } else {\r\n // this.snackbar.openSnackBar('Activity count must be greater than 0.', 'Close', 'red-snackbar');\r\n this.toastr.error('Activity count must be greater than 0.');\r\n }\r\n }\r\n this.GetTotalAmount();\r\n this.GetGrandTotal();\r\n }\r\n TransferBudget(requestindex: any, Region: any, item: any) {\r\n //confirmation pop-up\r\n debugger;\r\n this.transferFlag = true;\r\n let Activity = this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls.ActivityType.value;\r\n let FromRegion = this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls.RegionFrom.value;\r\n let ToRegion = this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls.RegionTo.value;\r\n let TransferAmount = this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls.TransferAmount.value;\r\n //let StartDate=this.StartingDate;\r\n let StartDate = new Date(this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls.startDate.value);\r\n if (FromRegion == '-1') {\r\n this.toastr.error('Please select region.');\r\n return false;\r\n } else if (ToRegion == '-1') {\r\n this.toastr.error('Please select region.');\r\n return false;\r\n } else if (TransferAmount == 0) {\r\n this.toastr.error('Please enter amount.');\r\n return false;\r\n }\r\n this.checkAvailableBudget(TransferAmount, Activity, FromRegion);\r\n if (this.transferFlag) {\r\n let url = \"/api/ServiceRequest/TransferBudgetToOtherRegion\";\r\n this.serviceRequest.TransferBudgetAmount(url, Activity, FromRegion, ToRegion, TransferAmount, StartDate).subscribe((result: any) => {\r\n if (result.status == true) {\r\n debugger;\r\n let Message = result.data[0].message;\r\n if (typeof (Region) == \"object\") {\r\n var region: string = '';\r\n for (let i = 0; i < Region.length; i++) {\r\n if (i == 0) {\r\n region += Region[i].regionId;\r\n } else {\r\n region += ',' + Region[i].regionId;\r\n }\r\n }\r\n Region = region;\r\n }\r\n this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls['TransferAmount'].setValue('0');\r\n this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls['RegionTo'].setValue('-1');\r\n this.BudgetRequestForm.get('BudgetRequestList')['controls'][requestindex].controls['RegionFrom'].setValue('-1');\r\n this.GetAmountByActivityId(requestindex, Activity, Region, this.requestId, StartDate);\r\n if (result.data[0].msgID == 1) {\r\n // this.snackbar.openSnackBar(Message, 'Close', 'green-snackbar');\r\n this.toastr.success(Message);\r\n }\r\n if (result.data[0].msgID == 2) {\r\n // this.snackbar.openSnackBar(Message, 'Close', 'red-snackbar');\r\n this.toastr.error(Message);\r\n }\r\n } else {\r\n // this.snackbar.openSnackBar(result.data[0].message, 'Close', 'red-snackbar');\r\n this.toastr.error(result.data[0].message);\r\n }\r\n });\r\n }\r\n }\r\n IsDuplicateActivity() {\r\n let firstArray = [];\r\n let secondArray = [];\r\n var countduplicate = 0;\r\n var saveData = this.BudgetRequestForm.value;\r\n if (saveData.BudgetRequestList.length > 0) {\r\n for (let v = 0; v < saveData.BudgetRequestList.length; v++) {\r\n firstArray.push({ \"ActivityId\": saveData.BudgetRequestList[v].ActivityType, \"StartDate\": saveData.BudgetRequestList[v].startDate, \"EndDate\": saveData.BudgetRequestList[v].endDate, \"ProductId\": saveData.BudgetRequestList[v].Product, \"CropId\": saveData.BudgetRequestList[v].Crop });\r\n secondArray.push({ \"ActivityId\": saveData.BudgetRequestList[v].ActivityType, \"StartDate\": saveData.BudgetRequestList[v].startDate, \"EndDate\": saveData.BudgetRequestList[v].endDate, \"ProductId\": saveData.BudgetRequestList[v].Product, \"CropId\": saveData.BudgetRequestList[v].Crop });\r\n }\r\n }\r\n for (let p = 0; p < firstArray.length; p++) {\r\n for (let k = 0; k < secondArray.length; k++) {\r\n if (p == k) {\r\n }\r\n else {\r\n if (firstArray[p].ActivityId == secondArray[k].ActivityId && this.datepipe.transform(firstArray[p].StartDate.toString().replace(firstArray[p].StartDate.toString().substring(25, firstArray[p].StartDate.length), ''), 'yyyy-MM-dd') == this.datepipe.transform(secondArray[k].StartDate.toString().replace(secondArray[k].StartDate.toString().substring(25, secondArray[k].StartDate.length), ''), 'yyyy-MM-dd') && this.datepipe.transform(firstArray[p].EndDate.toString().replace(firstArray[p].EndDate.toString().substring(25, firstArray[p].EndDate.length), ''), 'yyyy-MM-dd') == this.datepipe.transform(secondArray[k].EndDate.toString().replace(secondArray[k].EndDate.toString().substring(25, secondArray[k].EndDate.length), ''), 'yyyy-MM-dd')) {\r\n\r\n\r\n var product = [];\r\n var crop = [];\r\n var product1 = [];\r\n var crop1 = [];\r\n product = firstArray[p].ProductId.sort()\r\n crop = firstArray[p].CropId.sort()\r\n product1 = secondArray[k].ProductId.sort()\r\n crop1 = secondArray[k].CropId.sort()\r\n\r\n var Crop1String: string = '';\r\n var CropString: string = '';\r\n var Product1String: string = '';\r\n var ProductString: string = '';\r\n for (let i = 0; i < product.length; i++) {\r\n if (i == 0) {\r\n ProductString += product[i].productId;\r\n } else {\r\n ProductString += ',' + product[i].productId;\r\n }\r\n }\r\n for (let i = 0; i < product1.length; i++) {\r\n if (i == 0) {\r\n Product1String += product1[i].productId;\r\n } else {\r\n Product1String += ',' + product1[i].productId;\r\n }\r\n }\r\n for (let i = 0; i < crop1.length; i++) {\r\n if (i == 0) {\r\n Crop1String += crop1[i].cropId;\r\n } else {\r\n Crop1String += ',' + crop1[i].cropId;\r\n }\r\n }\r\n for (let i = 0; i < crop.length; i++) {\r\n if (i == 0) {\r\n CropString += crop[i].cropId;\r\n } else {\r\n CropString += ',' + crop[i].cropId;\r\n }\r\n }\r\n // alert(CropString);\r\n // alert(Crop1String);\r\n // alert(Product1String);\r\n // alert(ProductString);\r\n if (CropString == Crop1String && ProductString == Product1String) {\r\n countduplicate = countduplicate + 1;\r\n }\r\n\r\n\r\n }\r\n }\r\n }\r\n }\r\n if (countduplicate > 0) {\r\n // this.snackbar.openSnackBar(\"Duplicate activity can not be inserted.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Duplicate activity can not be inserted.\");\r\n this.isValidFormSubmitted = false;\r\n this.isdisplay = false;\r\n }\r\n else {\r\n //this.isValidFormSubmitted = true;\r\n // this.isdisplay=true;\r\n // const body = document.getElementsByTagName('body')[0];\r\n // body.classList.remove('overlay-back');\r\n }\r\n }\r\n GetManpowerDetails() {\r\n this.BudgetRequestForm.get('RequestType').setValue(1);\r\n this.RequestType = this.BudgetRequestForm.controls.RequestType.value;\r\n var stateID = this.BudgetRequestForm.controls.State.value;\r\n //if(RequestType==1){\r\n this.GetVendors(stateID, this.RequestType);\r\n //this.BudgetRequestForm.get('PrefferedVendor').setValue(this.VendorList[0]['id']);\r\n //this.GetVendorDetailById(this.VendorList[0]['id'],'',0);\r\n //}\r\n var count = this.BudgetRequests.length;\r\n for (let k = count - 1; k >= 0; k--) {\r\n this.BudgetRequests.removeAt(k);\r\n }\r\n this.getActivityList();\r\n this.AddRequestFields();\r\n // debugger;\r\n // if(RequestType==1){\r\n // this.BudgetRequestForm.get('PrefferedVendor').setValue(this.VendorList[0]['id']);\r\n // this.GetVendorDetailById(this.VendorList[0]['id'],'',0);\r\n // }\r\n }\r\n GetActivitiesDetails() {\r\n this.BudgetRequestForm.get('RequestType').setValue(0);\r\n this.RequestType = this.BudgetRequestForm.controls.RequestType.value;\r\n var stateID = this.BudgetRequestForm.controls.State.value;\r\n this.GetVendors(stateID, this.RequestType);\r\n debugger;\r\n var count = this.BudgetRequests.length;\r\n for (let k = count - 1; k >= 0; k--) {\r\n this.BudgetRequests.removeAt(k);\r\n }\r\n this.getActivityList();\r\n this.AddRequestFields();\r\n\r\n this.BudgetRequestForm.get('PrefferedVendor').setValue('');\r\n this.GetVendorDetailById('-1', '', 0, '', '');\r\n\r\n //debugger;\r\n // if(RequestType==1){ \r\n // this.BudgetRequestForm.get('PrefferedVendor').setValue(this.VendorList[0]['id']);\r\n // this.GetVendorDetailById(this.VendorList[0]['id'],'',0);\r\n // }\r\n }\r\n getActivityList() {\r\n this.ActivityTypes = [];\r\n var url = \"/api/ServiceRequest/GetActivityList\";\r\n //var requestType=this.BudgetRequestForm.controls.RequestType.value;\r\n this.serviceRequest.GetActivityList(url, this.RequestType).subscribe((response: any) => {\r\n debugger;\r\n if (response.status == true) {\r\n this.ActivityTypes = response.data;\r\n }\r\n });\r\n }\r\n onRegionSelected() {\r\n debugger;\r\n this.RequestType = this.BudgetRequestForm.controls.RequestType.value;\r\n var stateID = this.BudgetRequestForm.controls.State.value;\r\n this.GetVendors(stateID, this.RequestType);\r\n if (this.BudgetRequestForm.value.BudgetType == 6) {\r\n this.GetAmountByProductId('All');\r\n }\r\n }\r\n}\r\n\r\n\r\n","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9hY3Rpdml0eS10eXBlL2FjdGl2aXR5LXR5cGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGlDQUFpQztJQUNqQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0NBQ2YiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL2FjdGl2aXR5LXR5cGUvYWN0aXZpdHktdHlwZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnBvcHVwLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTY7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

Activity Type

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 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
Activity TypeActivity GroupCreated OnUpdated OnAction
{{ data.activityName }}{{ data.activityGroupName }}{{ data.createdOn | date:\\\"dd/MMM/y\\\" }}{{ data.modifiedOn | date:\\\"dd/MMM/y h:mm:ss a\\\" }}{{ data.isActivityActive==1?\\\"Active\\\":\\\"InActive\\\" }}
\\r\\n
No Data Found.
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Are you sure you want to change status?

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivityTypeService } from 'src/app/Services/ActivityType/activity-type.service';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport { ActivityType } from '../../Models/Activity-Type/ActivityType';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogBoxComponent } from 'src/app/Components/dialog-box/dialog-box.component';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-activity-type',\r\n templateUrl: './activity-type.component.html',\r\n styleUrls: ['./activity-type.component.css']\r\n})\r\nexport class ActivityTypeComponent implements OnInit {\r\n activityTypeDetails:any=[];\r\n activityGroupDetails:any=[];\r\n loader:string;\r\n activityType: ActivityType= new ActivityType();\r\n firstName:string;\r\n displayChangeStatus : string = 'none';\r\n activityTypeId : any;\r\n isActivityActive : any;\r\n constructor(private activityTypeService:ActivityTypeService,private route: ActivatedRoute, public dialog:MatDialog,private snackbar: MatSnackBarComponent,private toastr:ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.getActivityType();\r\n }\r\n getActivityType(){\r\n this.activityTypeService.getActivityTypeList().subscribe((response:any)=>{\r\n if(response.message==\"Success\"){\r\n this.activityTypeDetails=response.data;\r\n console.log(this.activityTypeDetails);\r\n this.loader='none';\r\n }\r\n });\r\n this.activityTypeService.getActivityGroup().subscribe((response:any) =>{\r\n if(response.message==\"Success\"){\r\n this.activityGroupDetails=response.data;\r\n console.log(this.activityGroupDetails);\r\n this.loader='none';\r\n }\r\n });\r\n }\r\n openDialogToChangeStatus(activityTypeId: string,isActivityActive: string){\r\n this.displayChangeStatus = 'block';\r\n this.activityTypeId = activityTypeId;\r\n this.isActivityActive = isActivityActive;\r\n}\r\n changeActivityTypeStatus(activityTypeId:string,isActivityActive:any){\r\n this.activityType.ActivityTypeId=activityTypeId;\r\n if(isActivityActive==0)\r\n this.activityType.IsActivityActive=1;\r\n else\r\n this.activityType.IsActivityActive=0;\r\n this.activityTypeService.changeActivityTypeStatus(this.activityType).subscribe((response:any)=>{\r\n this.getActivityType();\r\n if(response.Status==true){\r\n console.log(response.Message);\r\n }\r\n });\r\n }\r\n\r\n createActivityType(activityName:any,activityGroup:any){\r\n if(activityName.value==\"\"){\r\n // this.snackbar.openSnackBar('Please enter activity type.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter activity type.');\r\n }\r\n else if(activityGroup.value==\"-1\"){\r\n // this.snackbar.openSnackBar('Please select activity group.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select activity group.');\r\n }\r\n else{\r\n this.activityTypeService.createActivityType(activityName.value, activityGroup.value).subscribe((response:any)=>{\r\n this.getActivityType();\r\n if (response.message == \"Activity type already exist.\") {\r\n // this.snackbar.openSnackBar('Activity type already exist.', 'Close', 'red-snackbar');\r\n this.toastr.error(\"Activity type already exist.\");\r\n console.log(response.status);\r\n this.loader = 'none';\r\n }else{\r\n // this.snackbar.openSnackBar('New activity type added successfully.', 'Close', 'green-snackbar');\r\n this.toastr.success(\"New activity type added successfully.\");\r\n console.log(response.status);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n }\r\n // Search(){\r\n // if(this.firstName !=\"\"){\r\n // // this.activityTypeDetails=this.activityTypeDetails.filter(res=>{\r\n // // return res.activityName.toLocaleLowerCase().match(this.firstName.toLocaleLowerCase());\r\n // // });\r\n // this.activityGroupDetails=this.activityGroupDetails.filter(reselt=>{\r\n // return reselt.activityGroupName.toLocaleLowerCase().match(this.firstName.toLocaleLowerCase());\r\n // });\r\n // }else if(this.firstName==\"\"){\r\n // this.ngOnInit();\r\n // }\r\n // }\r\n color(activityId: string,isActive:any){\r\n if(isActive==0)\r\n {\r\n return 'red'\r\n }\r\n else\r\n {\r\n return 'green'\r\n }\r\n }\r\n \r\n\r\n ChangeStatus(id : any){\r\n if(id == 0){\r\n this.displayChangeStatus = 'none';\r\n }\r\n else{\r\n this.displayChangeStatus = 'none';\r\n this.changeActivityTypeStatus(this.activityTypeId, this.isActivityActive); \r\n } \r\n }\r\n}\r\n","module.exports = \".popup-wrap-request {\\r\\n width: 370px;\\r\\n}\\r\\n\\r\\n.popup-wrap-request .row textarea {\\r\\n width: 100%;\\r\\n resize: none;\\r\\n border: 1px solid #d4d4d4;\\r\\n border-radius: 4px;\\r\\n height: 70px;\\r\\n}\\r\\n\\r\\n.popup-wrap-request .row label {\\r\\n display: block;\\r\\n text-align: left;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n/* ___ */\\r\\n\\r\\ntable.fpe-tbl-pop {\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.fpe-tbl-pop td {\\r\\n border: none;\\r\\n padding: 3px 5px;\\r\\n color: #000;\\r\\n text-align: left !important;\\r\\n}\\r\\n\\r\\n.popup-wrap-request select {\\r\\n border: 1px solid #ccc;\\r\\n width: 100%;\\r\\n border-radius: 5px;\\r\\n padding: 5px 5px;\\r\\n margin: 15px 0 5px 0;\\r\\n}\\r\\n\\r\\n.popup-wrap-request p {\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.popup-wrap-request .row {\\r\\n margin: 0;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9hcHByb3ZlLWFjdGl2aXR5LXJlcXVlc3QvYXBwcm92ZS1hY3Rpdml0eS1yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0NBQ2hCOztBQUVEO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYiwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLGFBQWE7Q0FDaEI7O0FBRUQ7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLG1CQUFtQjtDQUN0Qjs7QUFDRCxTQUFTOztBQUNUO0lBQ0ksYUFBYTtDQUNoQjs7QUFHRDtJQUNJLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLDRCQUE0QjtDQUMvQjs7QUFFRDtJQUNJLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixxQkFBcUI7Q0FDeEI7O0FBRUQ7SUFDSSxpQkFBaUI7Q0FDcEI7O0FBRUQ7SUFDSSxVQUFVO0NBQ2IiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL2FwcHJvdmUtYWN0aXZpdHktcmVxdWVzdC9hcHByb3ZlLWFjdGl2aXR5LXJlcXVlc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wb3B1cC13cmFwLXJlcXVlc3Qge1xyXG4gICAgd2lkdGg6IDM3MHB4O1xyXG59XHJcblxyXG4ucG9wdXAtd3JhcC1yZXF1ZXN0IC5yb3cgdGV4dGFyZWEge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICByZXNpemU6IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG59XHJcblxyXG4ucG9wdXAtd3JhcC1yZXF1ZXN0IC5yb3cgbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcbi8qIF9fXyAqL1xyXG50YWJsZS5mcGUtdGJsLXBvcCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4uZnBlLXRibC1wb3AgdGQge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucG9wdXAtd3JhcC1yZXF1ZXN0IHNlbGVjdCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggNXB4O1xyXG4gICAgbWFyZ2luOiAxNXB4IDAgNXB4IDA7XHJcbn1cclxuXHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgcCB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4ucG9wdXAtd3JhcC1yZXF1ZXN0IC5yb3cge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n

Approve FPE Service Requests

\\r\\n

Approve Brand Budget Service Requests

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

Filters

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Budget Type\\r\\n {{ data.budgetType}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ data.budgetType}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Activity Type\\r\\n \\r\\n {{ data.activityName }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Product\\r\\n {{ data.productId }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Crop\\r\\n {{ data.cropName }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Region\\r\\n {{ data.regionName }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select State\\r\\n {{ data.state }}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{data.year}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request IdActivity TypeBudget TypeProductCropRegionStateDelivery DateStatusAction
{{data.fpeRequestID}}{{ data.activityName }}{{ data.budgetType }}{{ data.productID }}{{ data.cropID }}{{ data.regionName }}{{ data.stateCode }}{{ data.startDate | date:\\\"dd/MMM/y\\\" }}-{{data.endDate | date:\\\"dd/MMM/y\\\"}}{{data.status}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
No Data Found.
\\r\\n
\\r\\n
0\\\" style=\\\"text-align:center;\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n * \\r\\n

{{rejectReason}}

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

{{ data.activityName }}

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

{{ data.vendorName }}

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

{{ data.poNumber }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID<=3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID>3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID<=3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID>3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n

{{ item.statusName }}

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

{{ data.activityName }}

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

{{ data.vendorName }}

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

{{ data.poNumber }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\" \\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.rejectedByRoleStatusID) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.rejectedByRoleStatusID) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n

{{ item.statusName }}

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

{{DialogeText}}

\\r\\n

Which budget would you like to utilize for this request?

\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
SBU{{data.sbu}}
Brand Budget{{data.totalBudget}}
Remaining Budget\\r\\n {{data.remainingBudget}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FPERequestsService } from 'src/app/Services/FPERequests/fperequests.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { saveAs } from 'file-saver';\r\nimport { Documents } from '../../Models/FPEBudget/ExcelDocuments';\r\nimport { CommonService } from '../../Services/Common/common.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-approve-activity-request',\r\n templateUrl: './approve-activity-request.component.html',\r\n styleUrls: ['./approve-activity-request.component.css'],\r\n providers:[DatePipe]\r\n})\r\nexport class ApproveActivityRequestComponent implements OnInit {\r\n budgetTypes=[];\r\n isdisplay:boolean=false;\r\n rejectReason : string = '';\r\n isDisplayTrack:boolean=false;\r\n isDisplayOverlay:boolean=false;\r\n activities=[];\r\n products=[];\r\n Action:string;\r\n crops=[];\r\n RequestId:number=0;\r\n DialogeText:string=\"\";\r\n States=[];\r\n userName:string\r\n Regions=[];\r\n userId:string;\r\n FPERequestsData : any[] = [];\r\n totalRecords:Number;\r\n page:Number=1;\r\n activityID : string = '';\r\n budgetCode : string = '';\r\n productID : string = '';\r\n cropID : string = '';\r\n stateCode : string = '';\r\n regionCode : string = '';\r\n loader:string='none';\r\n YearFilterList:any=[];\r\n SelectedYear:string;\r\n roleId:string='none';\r\n selectedPoNumber : string = '';\r\n public StatusId:Number;\r\n rmhName:string;\r\n rmhId:string;\r\n PONumber : any[] = [];\r\n activityTitle:string\r\n OrderStatus:any=[];\r\n CurrentOrderStatus:any=[];\r\n title:string='';\r\n requestidTracker:string;\r\n selectedBudgetType:string='0';\r\n\r\n\r\n constructor(private fperequestsService: FPERequestsService,private commonService:CommonService,private route: ActivatedRoute, private router: Router, private datepipe: DatePipe,private snackbar: MatSnackBarComponent,private toastr:ToastrService) { \r\n \r\n \r\n \r\n\r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.roleId=localStorage.getItem('mabt_roleID');\r\nif(this.roleId=='28' || this.roleId=='65' || this.roleId=='26'|| this.roleId=='90')\r\n{\r\n this.budgetCode='6';\r\n}\r\n }\r\n\r\n ngOnInit() {\r\n this.BindFilterData();\r\n this.GetYearList();\r\n setTimeout(() => {\r\n this.GetFPERequestsList();\r\n }, 1500);\r\n //this.GetFPERequestsList();\r\n if(localStorage.getItem('isnavigate').toString()==\"1\")\r\n {\r\n // this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n // this.router.onSameUrlNavigation = 'reload';\r\n // this.router.navigate(['MABudget/ApproveFPEBudgetRequest']);\r\n localStorage.setItem('isnavigate','0');\r\n window.location.reload()\r\n } \r\n }\r\n BindFilterData(){\r\n this.fperequestsService.getBudgetTypes().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.budgetTypes=response.data;\r\n console.log(this.budgetTypes);\r\n }\r\n });\r\n this.fperequestsService.getActivities().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.activities=response.data;\r\n console.log(this.activities);\r\n }\r\n });\r\n this.fperequestsService.getProducts().subscribe((response:any) =>{\r\n if(response.status==true){\r\n if(this.roleId=='28')\r\n {\r\n let product=[];\r\n this.products=[];\r\n debugger;\r\nproduct=response.data;\r\nfor(let i=0;i{\r\n if(response.status==true){\r\n this.crops=response.data;\r\n console.log(this.crops);\r\n }\r\n });\r\n this.fperequestsService.getStates(this.userId).subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.States=response.data;\r\n console.log(this.States);\r\n }\r\n });\r\n this.fperequestsService.getRegions(this.userId).subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.Regions=response.data;\r\n console.log(this.Regions);\r\n }\r\n });\r\n }\r\n GetFPERequestsList(){\r\n this.loader = 'block';\r\n this.fperequestsService.GetFPERequestApproveList(this.activityID,this.budgetCode,this.productID,this.cropID,this.stateCode,this.regionCode,this.SelectedYear).subscribe((resData:any)=>{\r\n if(resData.status==true){\r\n this.FPERequestsData=resData.data;\r\n console.log(this.FPERequestsData);\r\n }\r\n this.loader = 'none';\r\n });\r\n }\r\n \r\n Filter(){\r\n // if(this.activityID == '' && this.budgetCode == '' && this.productID == '' && this.cropID == '' && this.stateCode == '' && this.regionCode == ''){\r\n // this.snackbar.openSnackBar('Please select any filter', 'Close', 'red-snackbar');\r\n // }\r\n // else{\r\n this.GetFPERequestsList();\r\n //}\r\n }\r\n \r\n ViewRequest(itemID:any){\r\n localStorage.setItem(\"EditRequestId\",itemID);\r\n this.router.navigate(['MABudget/ActivityRequest']);\r\n }\r\n ViewRequestData(itemID:any){\r\n localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"RepeatRequest\",\"0\");\r\n localStorage.setItem(\"isEditable\",\"false\");\r\n localStorage.setItem(\"EditRequestId\",itemID);\r\n this.router.navigate(['MABudget/ActivityRequest',0,itemID]);\r\n }\r\n RaisePO(itemID:any){\r\n alert(\"Item ID \"+itemID);\r\n }\r\n TrackRequest(RequestId:number)\r\n {\r\n this.isDisplayTrack=true;\r\n this.isDisplayOverlay=true;\r\n this.GetRequestStatus(RequestId,0);\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n }\r\n \r\n ApproveRequest(itemID:any,AppRej:string,targetAssigned:number,regionName:string)\r\n {\r\n debugger;\r\nthis.RequestId=itemID;\r\nthis.Action=AppRej;\r\n if(this.Action==\"approve\")\r\n {\r\nif(targetAssigned <= 0)\r\n{\r\n this.DialogeText=\"FPE Request raised for \"+regionName+\" but targets are not set in Archer. Are you sure you want to approve the request?\"\r\n\r\n}\r\nelse\r\n{\r\n this.DialogeText=\"Are you sure you want to approve request?\"\r\n}\r\n }\r\n else if(this.Action==\"reject\")\r\n {\r\n this.DialogeText=\"Are you sure you want to reject request?\"\r\n \r\n }\r\n else\r\n {\r\n this.DialogeText=\"Are you sure you want to delete request?\"\r\n \r\n }\r\n\r\nthis.isdisplay=true;\r\n\r\n \r\n\r\n }\r\n \r\n ExportFPERequestData(budgetType:any,year:any) {\r\n\r\n var url = \"/api/FPERequests/FPERequestData_Excel\";\r\n this.fperequestsService.ExportFPERequestData(url,this.userName,this.userId,year)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + 'Request' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n //this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n //this.loader = 'none';\r\n }\r\n );\r\n}\r\n\r\nRaiseRequest()\r\n{\r\n localStorage.setItem(\"EditRequestId\",\"0\");\r\n this.router.navigate(['MABudget/ActivityRequest',0,0]);\r\n}\r\n\r\nGetRequestStatus(RequestId:any,PoNumber:any)\r\n {debugger\r\n this.OrderStatus=[];\r\n this.PONumber=[];\r\n this.requestidTracker=RequestId;\r\n this.activityTitle='';\r\n this.rmhName='';\r\n var url = \"/api/FPERequests/GetRequestStatusById\";\r\n this.fperequestsService.GetRequestStatus(RequestId,PoNumber,url)\r\n .subscribe((resData: any) => {debugger;\r\n if (resData.status == true) {\r\n//this.requestidTracker=Reqdata[0]['requestId']\r\n var Reqdata=resData.data.table[0];\r\n var Reqdata=resData.data.table;\r\n this.OrderStatus=resData.data.table1;\r\n this.StatusId=Number(Reqdata[0]['statusID']);\r\n this.activityTitle=Reqdata[0]['activityTitle'] +'_'+ Reqdata[0]['regionName'];\r\n this.title=Reqdata[0]['activityTitle'];\r\n this.rmhName=Reqdata[0]['rmhName'];\r\n this.rmhId=Reqdata[0]['rmhid'];\r\n this.PONumber = resData.data.table;\r\n this.rejectReason = resData.data.table[0].rejectReason; \r\n \r\n console.log(Reqdata[0]);\r\n this.selectedPoNumber = resData.data.table[0].poNumber;\r\n console.log(this.selectedPoNumber);\r\n console.log(this.PONumber);\r\n } else {\r\n this.toastr.error(resData.message);\r\n }\r\n });\r\n }\r\n OrderStatusDetails(flagID: number) {debugger\r\n const StatusDetails = this.OrderStatus.filter(_ => _.flag == flagID);\r\n this.CurrentOrderStatus = StatusDetails;\r\n return StatusDetails;\r\n }\r\n CloseOrderTrackingPopUP(){\r\n this.isDisplayTrack=false;\r\n this.isDisplayOverlay=false;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n Confirm()\r\n {\r\n this.loader = 'block';\r\n var url = \"/api/FPERequests/ApproveRequest\";\r\n this.fperequestsService.ApproveRequest(this.RequestId,this.Action,url,this.rejectReason,this.selectedBudgetType)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n this.GetFPERequestsList();\r\n this.isdisplay=false;\r\n this.RequestId=0;\r\n this.Action=\"\";\r\n this.rejectReason=\"\";\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n }\r\n this.loader = 'none';\r\n });\r\n\r\n }\r\n Reject()\r\n {\r\nthis.isdisplay=false;\r\nthis.RequestId=0;\r\nthis.Action='';\r\n }\r\n view(itemID:any)\r\n {\r\n localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"EditRequestId\",itemID);\r\n localStorage.setItem(\"isEditable\",\"true\");\r\n this.router.navigate(['MABudget/ActivityRequest',1,itemID]);\r\n }\r\n GetYearList(){\r\n this.commonService.GetYearList(this.userId).subscribe((response:any)=>{\r\n if(response.status==true){\r\n this.YearFilterList=response.data;\r\n this.SelectedYear=this.YearFilterList[0].year;\r\n console.log(this.YearFilterList);\r\n }\r\n })\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYnJhbmQtYnVkZ2V0LWFsbG9jYXRpb24vYnJhbmQtYnVkZ2V0LWFsbG9jYXRpb24uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Brand Budget-FMC

\\r\\n \\r\\n \\r\\n
\\r\\n Download Format\\r\\n
\\r\\n
\\r\\n
\\r\\n

Filters

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
0\\\" class=\\\"budget-new-tbl tblScroll fpe-budget-new-tbl\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n {{d.sbu}}\\r\\n
\\r\\n {{p.product}}\\r\\n \\r\\n {{ConvertNumberToSpecialFormate(b.budget)}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No Data Found.
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild} from '@angular/core';\r\nimport { ToastrService } from 'node_modules/ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { saveAs } from 'file-saver';\r\nimport { Documents } from '../../Models/FPEBudget/ExcelDocuments';\r\nimport{BrandBudgetService}from 'src/app/Services/BrandBudget/brand-budget.service';\r\nimport { _MatTabHeaderMixinBase } from '@angular/material/tabs/typings/tab-header';\r\n\r\n@Component({\r\n selector: 'app-brand-budget-allocation',\r\n templateUrl: './brand-budget-allocation.component.html',\r\n styleUrls: ['./brand-budget-allocation.component.css'],\r\n providers:[DatePipe]\r\n})\r\nexport class BrandBudgetAllocationComponent implements OnInit {\r\n selectedMA: any = '';\r\n selectedDivision:any='';\r\n selectedYear: any = '';\r\n ma: any[] = [];\r\n division : any[] = [];\r\n mainDivisionFilter: any[]=[];\r\n years: any[] = [];\r\n currentYear: number;\r\n previousYear: number;\r\n loader:string;\r\n isFileCorrect: boolean;\r\n userId:string;\r\n noRecordFound:number;\r\n fileName: string = '';\r\n userName:string;\r\n files: File[] = []; \r\n @ViewChild('file') input;\r\n filterData: any;\r\n roles :string;\r\n roleId:string;\r\n document: Documents = new Documents();\r\n DivisionBudget:any;\r\nDivisionHead:any;\r\nProductHead:any;\r\nconstructor(private brandBudgetService: BrandBudgetService,private datepipe:DatePipe,private toastr:ToastrService) {\r\n this.previousYear=(new Date()).getFullYear()-1; \r\n this.currentYear=(new Date()).getFullYear(); \r\n this.filterData=[];\r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.roles = localStorage.getItem('mabt_RoleCode');\r\n this.roleId = localStorage.getItem('mabt_roleID');\r\n this.years = [\r\n this.currentYear, this.previousYear\r\n ];\r\n this.selectedYear=this.currentYear;\r\n this.DivisionBudget=[];\r\n }\r\n\r\nngOnInit() {\r\n//this.noRecordFound=0;\r\ndebugger;\r\nthis.BindFilterData();\r\nthis.BindBudgetAllocationData();\r\n}\r\n\r\nSetDivision(){\r\n let ma=this.selectedMA;\r\n let first={divisionCode:\"\",divisionName:\"All Division\"};\r\n this.division=[];\r\n if(ma==\"\"){\r\n this.mainDivisionFilter.forEach(item => {\r\n var isInArray = this.division.find(function(el){ return el.divisionCode === item.divisionCode }) !== undefined;\r\n if (!isInArray) {\r\n this.division.push({divisionCode:item.divisionCode,divisionName:item.divisionName});\r\n }\r\n });\r\n }\r\n else{\r\n this.mainDivisionFilter.forEach(item => {\r\n if (item.ma == ma) {\r\n this.division.push({divisionCode:item.divisionCode,divisionName:item.divisionName});\r\n }\r\n }); \r\n } \r\n this.division.splice(0,0,first);\r\n this.selectedDivision = this.division[0].divisionCode;\r\n}\r\n\r\nBindFilterData() {\r\n debugger;\r\n this.loader = 'block'; \r\n this.brandBudgetService.GetBrandBudgetFilterData()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.ma = resData.data.maTable;\r\n this.ma.splice(0,0,{id:\"\",name:\"All MA\"});\r\n this.selectedMA = this.ma[0].id;\r\n \r\n this.mainDivisionFilter=resData.data.maDivisionMapTable;\r\n this.SetDivision();\r\n \r\n this.years = resData.data.yearTable;\r\n this.selectedYear = String(this.currentYear);\r\n this.loader = 'none'; \r\n //this.GetFPEBudgetListingData(); \r\n }\r\n })\r\n}\r\n\r\nOnFilterselect(filterIndex: any) {\r\n debugger;\r\n if (filterIndex == 1) {\r\n this.SetDivision(); \r\n }\r\n else if (filterIndex == 2) {\r\n this.SetDivision(); \r\n } \r\n}\r\nBindBudgetAllocationData(): void {\r\n debugger;\r\n this.loader = 'block';\r\n this.brandBudgetService.BindBudgetData(this.selectedYear,this.selectedDivision,this.selectedMA)\r\n .subscribe(res => {\r\n debugger;\r\n if (res != null) {\r\n if (res.status == true) {\r\n this.DivisionHead = res.data.divisionHead;\r\n this.ProductHead=res.data.productHead;\r\n this.DivisionBudget=res.data.divisionBudget;\r\n this.loader = 'none';\r\n }\r\n } \r\n else\r\n {\r\n this.noRecordFound=1;\r\n this.loader = 'none';\r\n } \r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error(\"Some problem occured, Please try again later.\");\r\n });\r\n \r\n\r\n}\r\n\r\nfilesDroppedAdd(files: File[]) {\r\n debugger;\r\nthis.files = [];\r\nthis.files = files;\r\nlet lastIndex=files[0].name.lastIndexOf('.');\r\nlet fileNameParts=files[0].name.substring(0,lastIndex);\r\nlet fileType=files[0].name.substring(lastIndex+1);\r\n\r\nlet name = localStorage.getItem('mabt_userName').split(' ');\r\nlet firstname = name[0];\r\nlet lastName = name[1];\r\nlet correctFileName = firstname + '_' + lastName + '_BrandBudgetAllocation_'\r\nif (fileNameParts.includes(correctFileName)) {\r\n this.isFileCorrect = true;\r\n}\r\nelse {\r\n this.isFileCorrect = false;\r\n}\r\nif (this.isFileCorrect == false) {\r\n this.toastr.error('Please select a valid file.');\r\n this.input.nativeElement.value = null;\r\n return false;\r\n}\r\nif (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error('Please select valid file type.');\r\n this.input.nativeElement.value = null;\r\n return false;\r\n}\r\n\r\nthis.loader = 'block';\r\nthis.document.file = this.files[0];\r\nthis.brandBudgetService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n this.BindBudgetAllocationData()\r\n this.loader = 'none';\r\n } else {\r\n if (resData.status == false) {\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n }\r\n if(resData.message==\"Unauthorized\")\r\n {\r\n this.toastr.error(resData.message);\r\n }\r\n this.loader = 'none'; \r\n }\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n this.loader = 'none';\r\n });\r\n this.files = files;\r\n this.fileName = files[0].name;\r\n}\r\n\r\nExportBudgetData() {\r\ndebugger;\r\nthis.loader = 'block';\r\nthis.brandBudgetService.ExportBudgetData(this.userName,this.selectedYear,this.selectedDivision,this.selectedMA)\r\n.subscribe(\r\n success => {\r\n debugger;\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let excelName = 'BrandBudget_Allocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none';\r\n },\r\n err => {\r\n debugger;\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n);\r\n}\r\n\r\n\r\nexceldownload() {\r\n debugger;\r\nthis.loader = 'block';\r\nthis.brandBudgetService.BudgetExcelDownload(this.userName,this.currentYear)\r\n.subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname + '_' + lastName + '_BrandBudgetAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n);\r\n}\r\n\r\nConvertNumberToSpecialFormate(Number:Number){\r\n if (typeof Number === \"undefined\")\r\n {\r\n Number=0;\r\n }\r\n let data=Number.toString();\r\n let num=data.split('.');\r\n let lastThree=num[0].substring(num[0].length-3);\r\n let otherNumber=num[0].substring(0,num[0].length-3);\r\n if(otherNumber !=''){\r\n lastThree=','+lastThree;\r\n }\r\n var total= otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\")+lastThree;\r\n return total;\r\n // this.GrandTotal=this.Total.toString().replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\");\r\n}\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYnJhbmQtYnVkZ2V0TUEtYWxsb2NhdGlvbi9icmFuZC1idWRnZXRNQS1hbGxvY2F0aW9uLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Brand Budget-MA

\\r\\n \\r\\n \\r\\n
\\r\\n Download Format\\r\\n
\\r\\n
\\r\\n
\\r\\n

Filters

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
0\\\" class=\\\"budget-new-tbl tblScroll fpe-budget-new-tbl\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n {{d.sbu}}\\r\\n
\\r\\n {{p.product}}\\r\\n \\r\\n {{ConvertNumberToSpecialFormate(b.budget)}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No Data Found.
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild} from '@angular/core';\r\nimport { ToastrService } from 'node_modules/ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { saveAs } from 'file-saver';\r\nimport { Documents } from '../../Models/FPEBudget/ExcelDocuments';\r\nimport{BrandBudgetService}from 'src/app/Services/BrandBudgetMA/brand-budgetMA.service';\r\nimport { _MatTabHeaderMixinBase } from '@angular/material/tabs/typings/tab-header';\r\n\r\n@Component({\r\n selector: 'app-brand-budgetMA-allocation',\r\n templateUrl: './brand-budgetMA-allocation.component.html',\r\n styleUrls: ['./brand-budgetMA-allocation.component.css'],\r\n providers:[DatePipe]\r\n})\r\nexport class BrandBudgetMAAllocationComponent implements OnInit {\r\n selectedMA: any = '';\r\n selectedDivision:any='';\r\n selectedYear: any = '';\r\n ma: any[] = [];\r\n division : any[] = [];\r\n mainDivisionFilter: any[]=[];\r\n years: any[] = [];\r\n currentYear: number;\r\n previousYear: number;\r\n loader:string;\r\n isFileCorrect: boolean;\r\n userId:string;\r\n noRecordFound:number;\r\n fileName: string = '';\r\n userName:string;\r\n files: File[] = []; \r\n @ViewChild('file') input;\r\n filterData: any;\r\n roles :string;\r\n roleId:string;\r\n document: Documents = new Documents();\r\n DivisionBudget:any;\r\nDivisionHead:any;\r\nProductHead:any;\r\nconstructor(private brandBudgetService: BrandBudgetService,private datepipe:DatePipe,private toastr:ToastrService) {\r\n this.previousYear=(new Date()).getFullYear()-1; \r\n this.currentYear=(new Date()).getFullYear(); \r\n this.filterData=[];\r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.roles = localStorage.getItem('mabt_RoleCode');\r\n this.roleId = localStorage.getItem('mabt_roleID');\r\n this.years = [\r\n this.currentYear, this.previousYear\r\n ];\r\n this.selectedYear=this.currentYear;\r\n this.DivisionBudget=[];\r\n }\r\n\r\nngOnInit() {\r\n//this.noRecordFound=0;\r\ndebugger;\r\nthis.BindFilterData();\r\nthis.BindBudgetAllocationData();\r\n}\r\n\r\nSetDivision(){\r\n let ma=this.selectedMA;\r\n let first={divisionCode:\"\",divisionName:\"All Division\"};\r\n this.division=[];\r\n if(ma==\"\"){\r\n this.mainDivisionFilter.forEach(item => {\r\n var isInArray = this.division.find(function(el){ return el.divisionCode === item.divisionCode }) !== undefined;\r\n if (!isInArray) {\r\n this.division.push({divisionCode:item.divisionCode,divisionName:item.divisionName});\r\n }\r\n });\r\n }\r\n else{\r\n this.mainDivisionFilter.forEach(item => {\r\n if (item.ma == ma) {\r\n this.division.push({divisionCode:item.divisionCode,divisionName:item.divisionName});\r\n }\r\n }); \r\n } \r\n this.division.splice(0,0,first);\r\n this.selectedDivision = this.division[0].divisionCode;\r\n}\r\n\r\nBindFilterData() {\r\n debugger;\r\n this.loader = 'block'; \r\n this.brandBudgetService.GetBrandBudgetFilterData()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.ma = resData.data.maTable;\r\n this.ma.splice(0,0,{id:\"\",name:\"All MA\"});\r\n this.selectedMA = this.ma[0].id;\r\n \r\n this.mainDivisionFilter=resData.data.maDivisionMapTable;\r\n this.SetDivision();\r\n \r\n this.years = resData.data.yearTable;\r\n this.selectedYear = String(this.currentYear);\r\n this.loader = 'none'; \r\n //this.GetFPEBudgetListingData(); \r\n }\r\n })\r\n}\r\n\r\nOnFilterselect(filterIndex: any) {\r\n debugger;\r\n if (filterIndex == 1) {\r\n this.SetDivision(); \r\n }\r\n else if (filterIndex == 2) {\r\n this.SetDivision(); \r\n } \r\n}\r\nBindBudgetAllocationData(): void {\r\n debugger;\r\n this.loader = 'block';\r\n this.brandBudgetService.BindBudgetData(this.selectedYear,this.selectedDivision,this.selectedMA)\r\n .subscribe(res => {\r\n debugger;\r\n if (res != null) {\r\n if (res.status == true) {\r\n this.DivisionHead = res.data.divisionHead;\r\n this.ProductHead=res.data.productHead;\r\n this.DivisionBudget=res.data.divisionBudget;\r\n this.loader = 'none';\r\n }\r\n } \r\n else\r\n {\r\n this.noRecordFound=1;\r\n this.loader = 'none';\r\n } \r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error(\"Some problem occured, Please try again later.\");\r\n });\r\n \r\n\r\n}\r\n\r\nfilesDroppedAdd(files: File[]) {\r\n debugger;\r\nthis.files = [];\r\nthis.files = files;\r\nlet lastIndex=files[0].name.lastIndexOf('.');\r\nlet fileNameParts=files[0].name.substring(0,lastIndex);\r\nlet fileType=files[0].name.substring(lastIndex+1);\r\n\r\nlet name = localStorage.getItem('mabt_userName').split(' ');\r\nlet firstname = name[0];\r\nlet lastName = name[1];\r\nlet correctFileName = firstname + '_' + lastName + '_BrandBudgetMAAllocation_'\r\nif (fileNameParts.includes(correctFileName)) {\r\n this.isFileCorrect = true;\r\n}\r\nelse {\r\n this.isFileCorrect = false;\r\n}\r\nif (this.isFileCorrect == false) {\r\n this.toastr.error('Please select a valid file.');\r\n this.input.nativeElement.value = null;\r\n return false;\r\n}\r\nif (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error('Please select valid file type.');\r\n this.input.nativeElement.value = null;\r\n return false;\r\n}\r\n\r\nthis.loader = 'block';\r\nthis.document.file = this.files[0];\r\nthis.brandBudgetService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n this.BindBudgetAllocationData()\r\n this.loader = 'none';\r\n } else {\r\n if (resData.status == false) {\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n }\r\n if(resData.message==\"Unauthorized\")\r\n {\r\n this.toastr.error(resData.message);\r\n }\r\n this.loader = 'none'; \r\n }\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n this.loader = 'none';\r\n });\r\n this.files = files;\r\n this.fileName = files[0].name;\r\n}\r\n\r\nExportBudgetData() {\r\ndebugger;\r\nthis.loader = 'block';\r\nthis.brandBudgetService.ExportBudgetData(this.userName,this.selectedYear,this.selectedDivision,this.selectedMA)\r\n.subscribe(\r\n success => {\r\n debugger;\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let excelName = 'BrandBudgetMAAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none';\r\n },\r\n err => {\r\n debugger;\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n);\r\n}\r\n\r\n\r\nexceldownload() {\r\n debugger;\r\nthis.loader = 'block';\r\nthis.brandBudgetService.BudgetExcelDownload(this.userName,this.currentYear)\r\n.subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname + '_' + lastName + '_BrandBudgetMAAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n);\r\n}\r\n\r\nConvertNumberToSpecialFormate(Number:Number){\r\n if (typeof Number === \"undefined\")\r\n {\r\n Number=0;\r\n }\r\n let data=Number.toString();\r\n let num=data.split('.');\r\n let lastThree=num[0].substring(num[0].length-3);\r\n let otherNumber=num[0].substring(0,num[0].length-3);\r\n if(otherNumber !=''){\r\n lastThree=','+lastThree;\r\n }\r\n var total= otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\")+lastThree;\r\n return total;\r\n // this.GrandTotal=this.Total.toString().replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\");\r\n}\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYnVkZ2V0LWFsbG9jYXRpb24vYnVkZ2V0LWFsbG9jYXRpb24uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Budget Allocation

\\r\\n \\r\\n \\r\\n
\\r\\n Download Format\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Filters

\\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 Year\\r\\n \\r\\n {{data.year}} \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
0\\\" class=\\\"budget-new-tbl tblScroll fpe-budget-new-tbl\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\\"no-Image\\\"\\r\\n \\\"no-Image\\\"\\r\\n \\r\\n {{data.sbu}} \\r\\n {{data.sbu}}
\\r\\n \\r\\n {{data1.division}}
{{col.activityGroupName}}\\r\\n {{ConvertNumberToSpecialFormate(item.budget)}}\\r\\n \\r\\n {{ConvertNumberToSpecialFormate(items.divisionBudget)}}\\r\\n {{ConvertNumberToSpecialFormate(itemdata.activityBudget)}}
Grand Total{{ConvertNumberToSpecialFormate(itemsdata.divisionBudget)}}{{ConvertNumberToSpecialFormate(itemsdata.divisionBudget)}}{{ConvertNumberToSpecialFormate(itemsdata.divisionBudget)}}
Contigency\\r\\n {{ConvertNumberToSpecialFormate(contdata.contigencyBudget)}}{{ConvertNumberToSpecialFormate(contdata.contigencyBudget)}}{{ConvertNumberToSpecialFormate(contdata.contigencyBudget)}}
{{currentYear}} PO{{ConvertNumberToSpecialFormate(podata.po)}}{{ConvertNumberToSpecialFormate(podata.po)}}{{ConvertNumberToSpecialFormate(podata.po)}}
{{currentYear}} MA Allocation{{ConvertNumberToSpecialFormate(row.divisionBudget==null?'':row.divisionBudget)}}{{ConvertNumberToSpecialFormate(FPdata.contigencyBudget+row.divisionBudget)}}
{{currentYear}} MA % As Percentage of PO{{(Revdata.allocatedBudget*100)/row.po=='Infinity'|| 'NaN'?0:(Revdata.allocatedBudget*100)/row.po}}{{(Revdata.allocatedBudget*100)/row.po=='Infinity'|| 'NaN'?0:(Revdata.allocatedBudget*100)/row.po}}{{(Revdata.allocatedBudget*100)/row.po=='Infinity'|| 'NaN'?0:(Revdata.allocatedBudget*100)/row.po}}
{{previousYear}} Revenue{{ConvertNumberToSpecialFormate(Revdata.revenue)}}{{ConvertNumberToSpecialFormate(Revdata.revenue)}}{{ConvertNumberToSpecialFormate(Revdata.revenue)}}
{{previousYear}} MA Expenses{{ConvertNumberToSpecialFormate(prevdata.allocatedBudget)}}{{ConvertNumberToSpecialFormate(prevdata.allocatedBudget)}}{{ConvertNumberToSpecialFormate(prevdata.allocatedBudget)}}
{{previousYear}} MA % As Part of Revenue{{(Revdata.allocatedBudget*100)/row.revenue=='Infinity'|| 'NaN'?0:(Revdata.allocatedBudget*100)/row.revenue}}{{(Revdata.allocatedBudget*100)/row.revenue=='Infinity'|| 'NaN'?0:(Revdata.allocatedBudget*100)/row.revenue}}{{(Revdata.allocatedBudget*100)/row.revenue=='Infinity'|| 'NaN'?0:(Revdata.allocatedBudget*100)/row.revenue}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No Data Found.
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild} from '@angular/core';\r\nimport { BudgetAllocationService } from 'src/app/Services/BudgetAllocation/budget-allocation.service';\r\nimport { ToastrService } from 'node_modules/ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { saveAs } from 'file-saver';\r\nimport { Documents } from '../../Models/FPEBudget/ExcelDocuments';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { BudgetAllocationsModel } from 'src/app/Models/BudgetAllocation/BudgetAllocation';\r\nimport { _MatTabHeaderMixinBase } from '@angular/material/tabs/typings/tab-header';\r\nimport { CommonService } from 'src/app/Services/Common/common.service';\r\n\r\n@Component({\r\n selector: 'app-budget-allocation',\r\n templateUrl: './budget-allocation.component.html',\r\n styleUrls: ['./budget-allocation.component.css'],\r\n providers:[DatePipe]\r\n})\r\nexport class BudgetAllocationComponent implements OnInit {\r\n budgetAllocationDetails:any=[];\r\n budgetTypeDetails:any=[];\r\n budgetDetails:any=[];\r\n loader:string;\r\n selectedYear:number;\r\n isFilterDataExist:string=\"none\";\r\n BudgetDetailss:Array = new Array();\r\n previousYear:number;\r\n currentYear:number;\r\n isFileCorrect: boolean;\r\n numbers = new Array(); \r\n userId:string;\r\n noRecordFound:number;\r\n fileName: string = '';\r\n userName:string;\r\n isdisplaycont:boolean=false;\r\n files: File[] = []; \r\n @ViewChild('file') input;\r\n filterData: any;\r\n YearList:any=[];\r\n roles :string;\r\n selectedSBU:string='';\r\n selectedBudgetTtype:string\r\n roleId:string;\r\n allColumnName: any = [];\r\n allColumnFullName: any = [];\r\n document: Documents = new Documents();\r\n contiBudget:string;\r\n reimbursement:number;\r\n SBUDivisionMap:any;\r\n SBU:any;\r\n ActivityTable:any;\r\n ActivityBudget:any=[];\r\n PreviousColumn:string='';\r\n DivisionBudget:any;\r\n TotalRowTable:any;\r\n ContigencyBudget:any;\r\n PoTable:any;\r\n FPAllocatedBudgetTable:any;\r\n FPPreviousAllocatedBudgetTable:any;\r\n RevenueTable:any;\r\n SBUList:any;\r\n setSbu:string;\r\n MAList:any;\r\n setActivity:string=\"\";\r\nFilterSBU:any;\r\nFilterMA:any;\r\nSelectedMA:string;\r\n \r\n constructor(private budgetAllocationService :BudgetAllocationService,private datepipe:DatePipe,private Common:CommonService, private toastr:ToastrService,private snackbar:MatSnackBarComponent ) {\r\n this.previousYear=(new Date()).getFullYear()-1; \r\n this.currentYear=(new Date()).getFullYear(); \r\n this.filterData=[];\r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.roles = localStorage.getItem('mabt_RoleCode');\r\n this.roleId = localStorage.getItem('mabt_roleID');\r\n //this.setSbu='Frontier';\r\n this.setActivity='';\r\n\r\n }\r\n\r\n ngOnInit() {\r\n debugger;\r\n this.GetYearList();\r\n this.getBudgetAllocation();\r\n this.FilterBudgetAllocation('','','');\r\n var currentYear=new Date();\r\n var thisyear=currentYear.getFullYear();\r\n this.noRecordFound=0;\r\n this.BindBudgetAllocationData('','',this.currentYear,'');\r\n this.GetContiBudget('');\r\n }\r\n IsTotal(col :any)\r\n {\r\n \r\n\r\nif(col.split('|')[0]==\"Total\")\r\n{\r\n return true;\r\n}\r\nelse{\r\n return false;\r\n}\r\n }\r\n getBudgetAllocation(){\r\n this.loader = 'block';\r\n this.budgetAllocationService.getSBU().subscribe((response:any) =>{\r\n debugger;\r\n if(response.message==\"Success\"){\r\n debugger;\r\n this.budgetAllocationDetails=response.data;\r\n console.log(this.budgetAllocationDetails);\r\n this.loader='none';\r\n }\r\n });\r\n this.budgetAllocationService.getBudgetType().subscribe((response:any)=>{\r\n if(response.message==\"Success\"){\r\n \r\n this.budgetTypeDetails=response.data;\r\n console.log(this.budgetTypeDetails);\r\n this.loader='none';\r\n }\r\n });\r\n // this.budgetAllocationService.getContiBudget().subscribe((response:any) =>{\r\n // debugger;\r\n // if(response.message==\"Success\"){\r\n // debugger;\r\n // this.contiBudget=response.data[0][\"contigencyBudget\"];\r\n // this.reimbursement=response.data[0][\"nonReimbursement\"];\r\n // this.loader='none';\r\n // }\r\n // });\r\n \r\n }\r\n\r\nGetYearList()\r\n{\r\n this.Common.GetYearList(this.userId).subscribe((response:any)=>{\r\n debugger;\r\n\r\n if(response.status==true){\r\n this.YearList=response.data;\r\n }\r\n });\r\n}\r\n\r\n FilterBudgetAllocation(sbu:any, MA:any,year:any){\r\n this.SelectedMA=MA;\r\n if(sbu=='' && MA=='')\r\n {\r\n this.GetContiBudget('');\r\n }\r\n this.budgetAllocationService.filterBudget(sbu,MA,year).subscribe((response:any)=>{\r\n if(response.status==true){\r\n this.FilterMA=response.data.table;\r\n this.FilterSBU=response.data.table1;\r\n }\r\n });\r\n }\r\n BindBudgetAllocationData(sbu:any, MA:any,year:any,ActivityGroupName:any): void {\r\n this.loader = 'block';\r\n // this.isdisplaycont=false;\r\n // alert(\"Please select SBU.\")\r\n // }else if(budgetType==\"-1\"){\r\n // alert(\"Please select budget type.\")\r\n // }else if(year==\"-1\"){\r\n // alert(\"Please select year.\")\r\n if(sbu!='')\r\n {\r\n this.isdisplaycont=false;\r\n\r\n }\r\n else\r\n {\r\n this.isdisplaycont=true;\r\n }\r\n var url = \"/api/BudgetAllocation/BindBudgetAllocationData\";\r\n // this.budgetAllocationService.getContiBudget(sbu).subscribe((response:any) =>{\r\n // debugger;\r\n // if(response.message==\"Success\"){\r\n // debugger;\r\n // this.contiBudget=response.data[0][\"contigencyBudget\"];\r\n // this.reimbursement=response.data[0][\"nonReimbursement\"];\r\n // this.loader='none';\r\n // }\r\n // });\r\n this.budgetAllocationService.BindBudgetData(url,sbu,MA,year,ActivityGroupName)\r\n .subscribe(res => {\r\n if (res != null) {\r\n if (res.status == true) {\r\n this.isFilterDataExist=\"block\";\r\n this.filterData = res.data.budgetAllocation;\r\n //this.allColumnName = this.GetAllKeysFromList(this.filterData);\r\n // this.allColumnFullName=this.GetAllfullKeysFromList(this.filterData)\r\n this.SBUDivisionMap=res.data.sbuDivisionTable;\r\n this.SBU=res.data.sbuTable;\r\n this.ActivityTable=res.data.activityTable;\r\n this.ActivityBudget=res.data.activityBudget;\r\n this.DivisionBudget=res.data.divisionBudget;\r\n this.TotalRowTable=res.data.totalRowTable;\r\n this.ContigencyBudget=res.data.contigencyBudget;\r\n this.PoTable=res.data.poTable;\r\n this.FPAllocatedBudgetTable=res.data.fpAllocatedBudgetTable;\r\n this.FPPreviousAllocatedBudgetTable=res.data.fpPreviousAllocatedBudgetTable;\r\n this.RevenueTable=res.data.revenueTable;\r\n this.MAList=res.data.table12;\r\n this.loader = 'none';\r\n }\r\n } \r\n else\r\n {\r\n this.noRecordFound=1;\r\n //this.liquidation = res;\r\n this.loader = 'none';\r\n //this.displayProceed = 'block';\r\n //this.displayNoRecordFound = 'none';\r\n\r\n }\r\n //this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error(\"Some problem occured, Please try again later.\");\r\n });\r\n \r\n\r\n}\r\nGetclassforOthers(item1:string,item2:string,col:string)\r\n{\r\n if(!col.toUpperCase().includes(item1.toUpperCase()) && !col.toUpperCase().includes(item2.toUpperCase()))\r\n {\r\n return true\r\n }\r\n else{\r\n return false\r\n }\r\n}\r\nGetTotal(item:string,col:string,vlaue:number)\r\n{\r\n \r\n if(col=='activityGroupName')\r\n {\r\n return false;\r\n }\r\n else if(this.PreviousColumn.toUpperCase().split('-')[0].includes(col.toUpperCase().split('-')[0]) || this.PreviousColumn=='' )\r\n {\r\n this.PreviousColumn=col;\r\n return false;\r\n }\r\n else{\r\n this.PreviousColumn='';\r\n return true;\r\n }\r\n}\r\nOnActivityChange(item:string)\r\n{\r\n \r\n this.setActivity=item;\r\nthis.BindBudgetAllocationData('','',this.currentYear,item);\r\n}\r\nGetclass(Item:string,col:string)\r\n{\r\n \r\n if(col.toUpperCase().includes(Item.toUpperCase()))\r\n {\r\n return true\r\n }\r\n else{\r\n return false\r\n }\r\n}\r\nCalculateLastRow()\r\n{let total=0;\r\n for (var i = 0; i < this.filterData.length; i++) {\r\n let j=0;\r\n //To check if no data is present in the row \r\n //if (this.filterData[i].Total != null && this.filterData[i].Total > 0) {\r\n\r\n //This loop is running on column based so that we can get crop inserted values.\r\n for (let key of Object.keys(this.filterData[i])) {\r\ndebugger; \r\n if(key.split(\"|\")[1]==this.currentYear.toString() || key==\"REVPY\" || key==\"REVPer\")\r\n {\r\n if(key==\"REVPY\" || key==\"REVPer\")\r\n {\r\n if(i==0)\r\n {\r\n this.numbers[j]=this.filterData[i][key]\r\n }\r\n else{\r\n this.numbers[j]=this.numbers[j]+this.filterData[i][key]\r\n\r\n }\r\n }\r\n else\r\n {\r\n if(i==0)\r\n {\r\n this.numbers[j]=this.filterData[i][key]\r\n }\r\n else{\r\n this.numbers[j]=this.numbers[j]+this.filterData[i][key]\r\n\r\n }\r\n }\r\n \r\n }\r\n else if(key.split(\"|\")[1]==this.previousYear.toString())\r\n {\r\n if(i==0)\r\n {\r\n this.numbers[j]=this.filterData[i][key]\r\n }\r\n else{\r\n this.numbers[j]=this.numbers[j]+this.filterData[i][key]\r\n\r\n }\r\n }\r\n if(key==\"Total|\"+this.currentYear){ debugger;\r\n if (this.filterData[0][\"Total|\"+this.previousYear] == undefined){\r\n var index=Object.keys(this.filterData[0]).indexOf(\"Total|\"+this.currentYear);\r\n this.numbers[index+1]=0;\r\n j++;\r\n }\r\n }else if(key==\"Total|\"+this.previousYear){ debugger;\r\n if (this.filterData[0][\"Total|\"+this.currentYear] == undefined){\r\n var index=Object.keys(this.filterData[0]).indexOf(\"Total|\"+this.previousYear);\r\n let num=this.numbers[j];\r\n total=total+num;\r\n this.numbers[index]=0;\r\n this.numbers[index+1]=total;\r\n j++;\r\n }\r\n }\r\n \r\n j++;\r\n }\r\n debugger;\r\n }\r\n}\r\nSubmitBudgetDetail()\r\n{\r\n\r\n this.setBudgetDetails();\r\n}\r\ntotal(event: any, colName: string, index: number) {\r\n debugger;\r\n //To check if no data is present in the textbox \r\n if (event.target.value != \"\") {\r\n let value = event.target.value.replace(/[^0-9.]/g, '');\r\n value = parseFloat(value);\r\n let previousTotalValue=this.filterData[index][colName];\r\n this.filterData[index].Total = 0;\r\n this.filterData[index][colName] = value;\r\n \r\n this.filterData[index][\"Total|\"+this.currentYear] = this.filterData[index][\"Total|\"+this.currentYear]+value-previousTotalValue;\r\n //this.filterData[index][\"Total|\"+this.previousYear] = this.filterData[index][\"Total|\"+this.previousYear]+value;\r\n \r\n this.CalculateLastRow();\r\n }\r\n}\r\nIsCurrentYear(str:string,j:number,i:number)\r\n{\r\n \r\n //debugger;\r\n if(str.includes(this.currentYear.toString()))\r\n {\r\n \r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n}\r\n\r\nIsPreviousYear(str:string,j:number,i:number)\r\n{\r\n //debugger;\r\n if(str.includes(this.previousYear.toString()))\r\n {\r\n \r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n}\r\nGetAllKeysFromList(data: any) {\r\n debugger;\r\n var response = data.reduce(function (arr, o) {\r\n return Object.keys(o).reduce(function (a, k) {\r\n k=k.split('|')[0]\r\n if (a.indexOf(k) == -1) a.push(k);\r\n return a;\r\n \r\n }, arr)\r\n }, []);\r\n return response;\r\n}\r\nGetAllfullKeysFromList(data: any) {\r\n debugger;\r\n var response = data.reduce(function (arr, o) {\r\n return Object.keys(o).reduce(function (a, k) {\r\n \r\n if (a.indexOf(k) == -1) a.push(k);\r\n return a;\r\n \r\n }, arr)\r\n }, []);\r\n return response;\r\n}\r\nfilesDroppedAdd(files: File[]) {\r\n \r\n //this.loader = 'block';\r\n this.files = [];\r\n this.files = files;\r\n //let fileNameParts: string[] = files[0].name.split('.');\r\n //let fileType = files[0].name.split('.')[fileNameParts.length - 1];\r\n let lastIndex=files[0].name.lastIndexOf('.');\r\n let fileNameParts=files[0].name.substring(0,lastIndex);\r\n let fileType=files[0].name.substring(lastIndex+1);\r\n\r\n let name = localStorage.getItem('mabt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n let correctFileName = firstname + '_' + lastName + '_BudgetAllocation_'\r\n //if (fileNameParts[0].includes(correctFileName)) {\r\n if (fileNameParts.includes(correctFileName)) {\r\n this.isFileCorrect = true;\r\n }\r\n else {\r\n this.isFileCorrect = false;\r\n }\r\n if (this.isFileCorrect == false) {\r\n // this.snackbar.openSnackBar('Please select a valid file.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select a valid file.');\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackbar.openSnackBar('Please select valid file type.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select valid file type.');\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n //this.document.UploadedBy = localStorage.getItem('userId');\r\n this.budgetAllocationService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n\r\n if (resData.status == true) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n this.BindBudgetAllocationData(this.selectedSBU,this.selectedBudgetTtype,this.currentYear,'')\r\n\r\n //this.getAnnualRequirementDetails();\r\n this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n } else {\r\n if (resData.status == false) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n }\r\n if(resData.message==\"Unauthorized\")\r\n {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n }\r\n this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n }\r\n // this.getDocuments();\r\n // this.displayUpload = 'none';\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n this.loader = 'none';\r\n });\r\n this.files = files;\r\n this.fileName = files[0].name;\r\n\r\n}\r\nsetBudgetDetails() {\r\n debugger;\r\n\r\n this.BudgetDetailss = new Array();\r\n \r\n\r\n // //Insert CropName and CropId into Array so that we can get cropId.\r\n // for (let keys of Object.keys(this.filterData[0])) {\r\n // if (keys != \"ProductID\" && keys != \"ProductName\" && keys != \"Total\" && keys != \"NRV\")\r\n // this.cropIdWithbinbindValue.push({ CropName: keys, CropId: this.filterData[0][keys] })\r\n // }\r\n\r\n //This loop is running on row based.\r\n for (var i = 0; i < this.filterData.length; i++) {\r\n\r\n //To check if no data is present in the row \r\n //if (this.filterData[i].Total != null && this.filterData[i].Total > 0) {\r\n\r\n //This loop is running on column based so that we can get crop inserted values.\r\n for (let key of Object.keys(this.filterData[i])) {\r\nlet j=0;\r\n if(key.includes(this.currentYear.toString()) ==true ) \r\n {\r\n if(i==0)\r\n {\r\n this.numbers[j]=this.filterData[i][key]\r\n }\r\n else{\r\n this.numbers[j]=this.numbers[j]+this.filterData[i][key]\r\n\r\n }\r\n this.BudgetDetailss.push(\r\n {\r\n SBU: this.filterData[i][\"SBU\"],\r\n Division: this.filterData[i][\"Division\"],\r\n Zone: '',\r\n Region:'',\r\n MA:this.filterData[i][\"MA\"],\r\n Budget:this.filterData[i][key]==null?0:this.filterData[i][key],\r\n ActivityGroupName:key.toString().split('|')[0],\r\n Product:'',\r\n Crop:'',\r\n Year:this.currentYear\r\n } ) \r\n } \r\n j++; \r\n }\r\n } \r\n\r\n this.SubmitBudget(this.BudgetDetailss); \r\n\r\n\r\n}\r\nExportBudgetData(budgetType:any,year:any,sbu:any) {\r\n debugger;\r\n this.loader = 'block';\r\n var url = \"/api/BudgetAllocation/ExportBudgetData\";\r\n this.budgetAllocationService.ExportBudgetData(url,this.userName,this.userId,budgetType.value,year,sbu.value)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n debugger;\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = 'Budget_Allocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n}\r\n\r\nGetResult(MapDivision:string,filterDivision:string,MapSBU:string,filterSBU:string,Activity:string,filterActivity:string)\r\n{\r\n\r\n\r\n}\r\nexceldownload() {\r\n this.loader = 'block';\r\n var url = \"/api/BudgetAllocation/DownloadBudgetAllocationData_Excel\";\r\n this.budgetAllocationService.BudgetExcelDownload(url,this.userName,this.roleId,this.currentYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname + '_' + lastName + '_BudgetAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n}\r\nSubmitBudget(budgetdetails:any)\r\n{debugger;\r\n var url = \"/api/BudgetAllocation/SaveBudgetData\";\r\n this.budgetAllocationService.SaveBudgetFromGrid(url,budgetdetails,this.currentYear,this.contiBudget.replace(',',''),this.selectedSBU)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n //this.getAnnualRequirementDetails();\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n this.BindBudgetAllocationData(this.selectedSBU,this.selectedBudgetTtype,this.currentYear,'')\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n }\r\n // this.getDocuments();\r\n // this.displayUpload = 'none';\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n // this.loader = 'none';\r\n });\r\n\r\n\r\n}\r\nonItemSelect(val:any)\r\n{\r\n debugger;\r\n this.selectedSBU= (val.target.value);\r\n this.FilterBudgetAllocation(val.target.value,'','');\r\n \r\n if(this.selectedSBU=='')\r\n {\r\n this.isdisplaycont=true;\r\n this.GetContiBudget(val.target.value);\r\n\r\n //this.contiBudget='0.00';\r\n }\r\n else\r\n{\r\n this.isdisplaycont=false;\r\n this.GetContiBudget(val.target.value);\r\n\r\n}\r\n\r\n}\r\n\r\nGetContiBudget(val:any)\r\n{\r\n this.loader='block';\r\n this.budgetAllocationService.getContiBudget(val).subscribe((response:any) =>{\r\n debugger;\r\n if(response.message==\"Success\"){\r\n debugger;\r\n this.contiBudget= this.ConvertNumberToSpecialFormate(response.data[0][\"contigencyBudget\"]);\r\n this.reimbursement=response.data[0][\"nonReimbursement\"];\r\n this.loader='none';\r\n }\r\n });\r\n this.loader='none';\r\n}\r\n\r\nonItemSelectBudgetType(val:any)\r\n{\r\n debugger;\r\n this.selectedBudgetTtype= (val.target.value);\r\n}\r\n\r\nonItemSelectyear(val:any)\r\n{\r\n debugger;\r\n this.selectedYear= (val);\r\n this.currentYear=val;\r\n this.previousYear=val-1;\r\n}\r\nCheckNumber(event: any) {\r\n debugger;\r\n var charCode=(event.which)?event.which:event.keyCode;\r\n //if (charCode<48 || charCode>57){ //for input numbers only\r\n if (charCode!=46 && charCode>31 && (charCode<48 || charCode>57)){\r\n //alert('value is '+charCode)\r\n event.preventDefault();\r\n return false;\r\n}else{\r\n return true;\r\n}\r\n}\r\nIsBothTotalColumn(){\r\n for (var i = 0; i < this.filterData.length; i++) {\r\n for (let key of Object.keys(this.filterData[i])) {\r\n let K=0;\r\n if(key==\"Total|\"+this.currentYear){ \r\n if (this.filterData[0][\"Total|\"+this.previousYear] == undefined){\r\n return false;\r\n }\r\n }else if(key==\"Total|\"+this.previousYear){ \r\n if (this.filterData[0][\"Total|\"+this.currentYear] == undefined){\r\n return false;\r\n }\r\n }\r\n K++;\r\n }\r\n }\r\n return true;\r\n}\r\nOnlyCurrentYearTotalColumn(){\r\n for (var i = 0; i < this.filterData.length; i++) {\r\n for (let key of Object.keys(this.filterData[i])) {\r\n let K=0;\r\n if(key==\"Total|\"+this.currentYear){ \r\n if (this.filterData[0][\"Total|\"+this.previousYear] == undefined){\r\n return true;\r\n }\r\n // }else if(key==\"Total|\"+this.previousYear){ debugger;\r\n // if (this.filterData[0][\"Total|\"+this.currentYear] == undefined){\r\n // return false;\r\n // }\r\n }\r\n K++;\r\n }\r\n }\r\n return false;\r\n}\r\nOnlyPastYearTotalColumn(){\r\n for (var i = 0; i < this.filterData.length; i++) {\r\n for (let key of Object.keys(this.filterData[i])) {\r\n let K=0;\r\n // if(key==\"Total|\"+this.currentYear){ debugger;\r\n // if (this.filterData[0][\"Total|\"+this.previousYear] == undefined){\r\n // return false;\r\n // }\r\n //}else \r\n if(key==\"Total|\"+this.previousYear){ \r\n if (this.filterData[0][\"Total|\"+this.currentYear] == undefined){\r\n return true;\r\n }\r\n }\r\n K++;\r\n }\r\n }\r\n return false;\r\n}\r\nConvertNumberToSpecialFormate(Number:Number){\r\n if (typeof Number === \"undefined\")\r\n {\r\n Number=0;\r\n }\r\n let data=Number.toString();\r\n let num=data.split('.');\r\n let lastThree=num[0].substring(num[0].length-3);\r\n let otherNumber=num[0].substring(0,num[0].length-3);\r\n if(otherNumber !=''){\r\n lastThree=','+lastThree;\r\n }\r\n var total= otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\")+lastThree;\r\n return total;\r\n // this.GrandTotal=this.Total.toString().replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\");\r\n}\r\nConvertNumberToSpecialFormateIncludingDecimal(Number:Number){\r\n if (typeof Number === \"undefined\")\r\n {\r\n Number=0;\r\n }\r\n let data=Number.toString();\r\n let num=data.split('.');\r\n let lastThree=num[0].substring(num[0].length-3);\r\n let otherNumber=num[0].substring(0,num[0].length-3);\r\n if(otherNumber !=''){\r\n lastThree=','+lastThree;\r\n }\r\n var total= otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\")+lastThree;\r\n if(num.length>1){\r\n return total+'.'+num[1];\r\n }else{\r\n return total;\r\n }\r\n}\r\nexcelActivityBudgetDownload(){\r\n this.loader = 'block';\r\n var url = \"/api/BudgetAllocation/DownloadRegionPerActivityBudget_Excel\";\r\n this.budgetAllocationService.RegionPerActivityExcelDownload(url,this.userName,this.currentYear)\r\n .subscribe(\r\n success => {debugger;\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname + '_' + lastName + '_RegionActivityBudget_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n}\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYnVkZ2V0LXJlcXVlc3QvYnVkZ2V0LXJlcXVlc3QuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Raise a Request

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Item Required/Service ItemQuantity RequiredSpecificationUnit of MeasuresRate per UnitAmount
Approx value (Rs.)/Amount
\\r\\n
\\r\\n \\r\\n \\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 { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormArray, FormBuilder,Validators } from \"@angular/forms\";\r\nimport{ServiceRequestService} from 'src/app/Services/ServiceRequest/service-request.service'\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatNativeDateModule, MatRippleModule} from '@angular/material/core';\r\nimport {NativeDateAdapter, DateAdapter,MAT_DATE_FORMATS} from '@angular/material';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-budget-request',\r\n templateUrl: './budget-request.component.html',\r\n styleUrls: ['./budget-request.component.css']\r\n})\r\nexport class BudgetRequestComponent implements OnInit {\r\n BudgetRequestForm: FormGroup;\r\n vendorInfo:any[]=[];\r\n isValidFormSubmitted:boolean;\r\n items:any[]=[];\r\n savedData: any[];\r\n BudgetType:any;\r\n ActivityTypes:any;\r\n Croplist:any;\r\n RateCardItems:any[]=[];\r\n Productlist:any;\r\n Region:any;\r\n StateList:any;\r\n TotalAmount:number;\r\n VendorList:any;\r\n VendorDetails:any;\r\n vendorNames:string;\r\n contactPerson:string;\r\n email:string;\r\n mobile:string;\r\n street:string;\r\n city:string;\r\n district:string;\r\n state:string;\r\n zipcode:string;\r\n constructor(private fb: FormBuilder,private serviceRequest :ServiceRequestService,private snackbar: MatSnackBarComponent,private route: ActivatedRoute, private router: Router) {\r\n this.BudgetRequestForm = this.fb.group({\r\n \r\n BudgetRequestList: this.fb.array([])\r\n // AddressDetails:this.fb.array([])\r\n });\r\n this.AddRequestFields();\r\n\r\n this.BindDDLs();\r\n \r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n get BudgetRequests():FormArray {\r\n return this.BudgetRequestForm.get(\"BudgetRequestList\") as FormArray;\r\n }\r\n // get AddressDetails() {\r\n // return this.BudgetRequestForm.get(\"AddressDetails\") as FormArray;\r\n // }\r\n \r\n ResetValues()\r\n{\r\n this.BudgetRequestForm.reset(this.newRequest());\r\n}\r\n// save() {\r\n// debugger\r\n// var a=this.BudgetRequestForm.get('BudgetRequestList')['controls'][0].controls.Vendors.value;\r\n// if(this.BudgetRequestForm.valid) {\r\n// this.isValidFormSubmitted=true;\r\n// this.savedData = this.BudgetRequestForm.value;\r\n// var url = \"/api/ServiceRequest/SaveRequest\";\r\n// this.serviceRequest.SaveRequest(url,this.savedData)\r\n// .subscribe((resData: any) => {\r\n// if (resData.status == true) {\r\n// this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n// this.router.navigate(['MABudget/FPERequests']);\r\n\r\n// }\r\n// else\r\n// {\r\n// this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n\r\n// }\r\n\r\n// });\r\n// }\r\n// else\r\n// {\r\n// this.isValidFormSubmitted=false;\r\n\r\n// }\r\n// }\r\nenddateChangeHandler(item:any)\r\n{\r\n\r\n}\r\nstartdateChangeHandler(item:any)\r\n{\r\n \r\n}\r\n// isValidInput(fieldName): boolean {\r\n// debugger;\r\n// var a=addressControls\r\n// return this.BudgetRequestForm.controls[fieldName].invalid &&\r\n// (this.BudgetRequestForm.controls[fieldName].dirty || this.BudgetRequestForm.controls[fieldName].touched);\r\n// }\r\nSaveData(isDraft:string)\r\n{\r\n \r\n localStorage.setItem(\"isDraft\",isDraft);\r\n}\r\n AddRequestFields() {\r\n //this.RateCardItems=[];\r\n this.BudgetRequests.push(this.newRequest());\r\n\r\n }\r\n newRequest(): FormGroup {\r\n return this.fb.group({\r\n RequestTitle: ['',Validators.required],\r\n Vendors: ['-1',Validators.required],\r\n Name:[],\r\n Email:[],\r\n Mobile:[],\r\n VendorAddress:[],\r\n BudgetType: ['-1',Validators.required],\r\n ContactPerson:[],\r\n ActivityType: ['-1',Validators.required],\r\n Product:['-1'],\r\n Crop:['-1'],\r\n abc:[],\r\n Address:[],\r\n // DeliveryDate:[''],\r\n State:['-1'],\r\n Region:['-1'],\r\n TotalAmount:[],\r\n Note:[],\r\n endDate:['',Validators.required],\r\n startDate:['',Validators.required],\r\n ItemDetails:this.fb.array([]) \r\n });\r\n }\r\n Request_ItemDetails(empIndex:number) : FormArray {\r\n return this.BudgetRequests.at(empIndex).get(\"ItemDetails\") as FormArray\r\n }\r\n get addressControls() {\r\n return this.BudgetRequestForm.get('BudgetRequestList')['controls'];\r\n }\r\n newItemDetails(): FormGroup {\r\n return this.fb.group({\r\n \r\n Element:[''], \r\n quantityRequired:[''], \r\n Specification:[''],\r\n UnitOfMeasure :[''], \r\n RateperUnit:[''],\r\n Amount:[''], \r\n \r\n })\r\n }\r\n addRequest_ItemDetails(empIndex:number) {\r\n this.Request_ItemDetails(empIndex).push(this.newItemDetails());\r\n }\r\n BindDDLs(){\r\n var url = \"/api/ServiceRequest/GetServiceRequestData\";\r\n this.serviceRequest.Bindddls(url).subscribe((response:any)=>{\r\n\r\n if(response.status==true){\r\n this.BudgetType=response.data.table;\r\n this.ActivityTypes=response.data.table1;\r\n this.Croplist=response.data.table2;\r\n this.Productlist=response.data.table3;\r\n this.Region=response.data.table4;\r\n this.StateList=response.data.table5;\r\n this.VendorList=response.data.table6;\r\n //console.log(this.budgetDetails);\r\n //this.loader='none';\r\n }\r\n \r\n });\r\n this.BudgetRequests['controls'][0]. get('ActivityType').setValue(\"-1\", {\r\n onlySelf: true\r\n });\r\n } \r\n onActivitySelect(activity:any,index:number)\r\n {\r\n \r\n this.BindVendorRateCardItems(activity.target.value,index);\r\n\r\n\r\n }\r\n BindVendorRateCardItems(Activity:string,index:number){\r\n\r\n var url = \"/api/ServiceRequest/GetRateCardItemsByActivity\";\r\n this.serviceRequest.BindVendorRateCardItems(url,Activity).subscribe((response:any)=>{\r\n \r\n if(response.status==true){\r\n this.RateCardItems=response.data;\r\n this.items=[];\r\n\r\n for(let i=0;i<50;i++)\r\n {\r\n this.Request_ItemDetails(index).removeAt(this.Request_ItemDetails.length-1);\r\n //this.Request_ItemDetails(1).removeAt(i);\r\n }\r\n\r\n for(let i=0;i0)\r\n {\r\n for(var i=0;i{\r\n if(response.status==true){\r\n // this.ActivityTypes=response.data.table1;\r\n this.street=response.data.table[0][\"street\"];\r\n this.city=response.data.table[0][\"city\"];\r\n\r\n this.state=response.data.table[0][\"state\"];\r\n\r\n this.district=response.data.table[0][\"district\"];\r\n\r\n this.zipcode=response.data.table[0][\"zipcode\"];\r\n\r\n this.contactPerson=response.data.table[0][\"contactPerson\"];\r\n this.vendorNames=response.data.table[0][\"vendorName\"];\r\nvar Address=\"\";\r\nif(this.street!=\"\" && this.street!=null)\r\n{\r\nAddress=Address+this.street+' , ';\r\n}\r\nif(this.city!=\"\" && this.city!=null)\r\n{\r\n Address=Address+this.city+' , ';\r\n\r\n}\r\nif(this.district!=\"\" && this.district!=null)\r\n{\r\n Address=Address+this.district+' , ';\r\n\r\n}\r\nif(this.state!=\"\" && this.state!=null)\r\n{\r\n Address=Address+this.state+' - ';\r\n\r\n}\r\nif(this.zipcode!=\"\" && this.zipcode!=null)\r\n{\r\n Address=Address+this.zipcode;\r\n\r\n}\r\n //var Address=this.street+' ,'+this.city+' ,'+this.district+' ,'+this.state+'-'+this.zipcode;\r\nthis.vendorInfo.push({\"abc\":this.vendorNames,\"ContactPerson\":this.contactPerson,\"Address\":Address});//,\"ActivityType\":this.ActivityTypes});\r\nthis.vendorInfo[i][\"abc\"]=this.vendorNames;\r\nthis.vendorInfo[i][\"ContactPerson\"]=this.contactPerson;\r\nthis.vendorInfo[i][\"Address\"]=Address;\r\n//this.vendorInfo[i][\"ActivityType\"]=this.ActivityTypes;\r\nthis.BudgetRequests.patchValue(this.vendorInfo);\r\n // this.BudgetRequestForm.get(\"VendorName\").setValue(\"\", { onlySelf: true });\r\n // this.BudgetRequestForm.get(\"VendorName\").setValue(this.vendorName);\r\nthis.setEmployeeValues();\r\n }\r\n });\r\n }\r\n \r\n\r\n \r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYnVkZ2V0LXRyYW5zZmVyL2J1ZGdldC10cmFuc2Zlci5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
RegionActivity GroupMonthBudget AllocatedBudget UtilizedBudget Remaining
{{ data.region +'('+ data.regionName +')' }}{{ data.activityGroup }}{{ data.activityGroup }}{{ data.monthCode }}{{ data.totalBalanceAmount }}{{ data.usedBalanceAmount }}{{ data.remainingBalance }}
\\r\\n
\\r\\n
\\r\\n

Transfer From Region/Activity Group

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

Transfer To Region/Activity Group

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\t\\r\\n
\\t\\r\\n
\\r\\n Amount:-\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit,EventEmitter, Output } from '@angular/core';\r\nimport { ToastrService } from 'node_modules/ngx-toastr';\r\nimport { FPEBudgetService } from 'src/app/Services/FPEBudget/fpebudget.service';\r\n@Component({\r\n selector: 'app-budget-transfer',\r\n templateUrl: './budget-transfer.component.html',\r\n styleUrls: ['./budget-transfer.component.css']\r\n})\r\nexport class BudgetTransferComponent implements OnInit {\r\n // userId: string;\r\n // files: File[] = [];\r\n // selectedLevel;\r\n // isFileCorrect: boolean;\r\n // filterData: any;\r\n // allColumnName: any = [];\r\n // allColumnFullName: any = [];\r\n // numbers = new Array();\r\n // displaytransferudget:boolean=false;\r\n // private _file: File;\r\n // userName: string;\r\n TransferedAmount:number=0;\r\n // fileName: string = '';\r\n // roles: string;\r\n transferActivityGroup:string=\"\";\r\n // roleId: string;\r\n // previousYear: number;\r\n // SelectedYear: number;\r\n SelectedActivityGroup:string=\"\";\r\n SelectMonth:string='0';\r\n // NetBudget: number;\r\n // RemainingBudget: number;\r\n // currentYear: number;\r\n currentMonth:number;\r\n // budgetTypeDetail: any = [];\r\n // isFilterDataExist: string = \"none\";\r\n // previousYearTotal: number;\r\n // currentYearTotal: number;\r\n // regionTable: any[] = [];\r\n // budgetDataTable: { [key: string]: string }[] = [];\r\n // totalDataTable: { [key: string]: string }[] = [];\r\n // activityGroupTable : { [key: string]: string }[] = [];\r\n // activityTable: any[] = [];\r\n // zoneTable: any[] = [];\r\n // selectedActivity: any = '';\r\n // selectedState: any = '';\r\n // selectedMA: any = '';\r\n // selectedSBU: any = '';\r\n // selectedDivision:any='';\r\n // selectedZone:any='';\r\n // selectedYear: any = '';\r\n FromRegion:string=\"\";\r\n ToRegion:string=\"\";\r\n // selectedExcelDivision : any = '';\r\n // mainMaFilter: any[] = [];\r\n // ma: any[] = [];\r\n // divisions : any[] = [];\r\n // mainYearFilter: any[] = [];\r\n // years: any[] = [];\r\n // mainSbuFilter: any[] = [];\r\n // sbu: any[] = [];\r\n // mainDivisionFilter: any[]=[];\r\n // division:any[]=[];\r\n // divisionTable:any[]=[];\r\n // mainZoneFilter: any[]=[];\r\n // zone:any[]=[];\r\n // mappingTable: any[] = [];\r\n display: boolean = true;\r\n // revenue: string = '';\r\n // fbeBudget: string = '';\r\n // fbePercent: string = '';\r\n // currentPo: string = '';\r\n // currentFpePercent: string = '';\r\n // currentAllocation: string = '';\r\n // currentFpeBudget: string = '';\r\n // currentPendingAllocation: string = '';\r\n // count: number = 0;\r\n loader : string = '';\r\n // contiBudget : string = '0';\r\n // months : any[] = [];\r\n // selectedMonth : string = '0';\r\n // displayDivisionFilter : boolean = false;\r\n BudgetList:any=[];\r\n GroupList:any=[];\r\n RegionList:any=[];\r\n @Output() close = new EventEmitter();\r\n constructor(private fpeBudgetService: FPEBudgetService,public toastr: ToastrService) {\r\n this.currentMonth = (new Date()).getMonth()+1;\r\n this.bindData();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n bindData(){\r\n debugger;\r\n this.fpeBudgetService.GetRegionListWithBudget(this.SelectMonth,this.SelectedActivityGroup)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.BudgetList=[];\r\n this.GroupList=resData.data.table1;\r\n this.RegionList=resData.data.table2;\r\n } else {\r\n \r\n }\r\n });\r\n this.display = true; \r\n\r\n }\r\n HidePopup()\r\n {\r\n debugger;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.transferActivityGroup=\"\";\r\n this.FromRegion=\"\";\r\n this.ToRegion=\"\";\r\n this.TransferedAmount=0;\r\n this.close.emit(false);\r\n \r\n }\r\n ChangeMonth(Month:any)\r\n {\r\n debugger;\r\nthis.SelectMonth=Month;\r\n }\r\n ChangeActivityGroup(group:any)\r\n {\r\nthis.SelectedActivityGroup=group;\r\n }\r\n ChangeRegionTo(RegionTo:any)\r\n {\r\n debugger;\r\n this.ToRegion=RegionTo;\r\n }\r\n SelectActivityGroup(ActivityGroup:any)\r\n {\r\n debugger;\r\n this.transferActivityGroup=ActivityGroup;\r\n }\r\n ShowData()\r\n {\r\n debugger;\r\n if(this.SelectedActivityGroup==\"\" || this.SelectedActivityGroup==\"0\" || this.SelectedActivityGroup==undefined)\r\n {\r\n // this.snackbar.openSnackBar(\"Please select Activity Group\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select Activity Group.');\r\n }\r\n else if(this.SelectMonth==\"\" || this.SelectMonth==\"0\")\r\n {\r\n // this.snackbar.openSnackBar(\"Please select Month\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select Month.');\r\n }\r\n else{\r\n this.loader='block';\r\n this.fpeBudgetService.GetRegionListWithBudget(this.SelectMonth,this.SelectedActivityGroup)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {debugger;\r\n this.BudgetList=resData.data.table;\r\n this.GroupList=resData.data.table1;\r\n this.RegionList=resData.data.table2;\r\n } else {\r\n // this.snackbar.openSnackBar(\"Some error Occured\", 'Close', 'red-snackbar');\r\n this.toastr.error('Some error Occured.');\r\n this.transferActivityGroup=\"\";\r\n this.FromRegion=\"\";\r\n this.ToRegion=\"\";\r\n this.TransferedAmount=0;\r\n }\r\n this.loader='none';\r\n });\r\n this.display = true; \r\n }\r\n }\r\n\r\n TransferBudgetToOtherRegion()\r\n {debugger;\r\nif(this.SelectMonth==\"\")\r\n{\r\n // this.snackbar.openSnackBar(\"Please select month.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select month.');\r\n}\r\nelse if (this.transferActivityGroup==\"\" ||this.transferActivityGroup==\"0\" || this.transferActivityGroup==undefined)\r\n{\r\n // this.snackbar.openSnackBar(\"Please select Activity Group.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select Activity Group.');\r\n}\r\nelse if(this.TransferedAmount==0 ||this.TransferedAmount<0 )\r\n{\r\n // this.snackbar.openSnackBar(\"Please enter amount.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter amount.');\r\n}\r\nelse if (this.ToRegion==\"\" ||this.ToRegion==\"0\" || this.ToRegion==undefined)\r\n{\r\n // this.snackbar.openSnackBar(\"Please select region.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select region.');\r\n}\r\nelse if (this.FromRegion==\"\" ||this.FromRegion==\"0\" || this.FromRegion==undefined)\r\n{\r\n // this.snackbar.openSnackBar(\"Please select region.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select region.');\r\n}\r\nelse\r\n{\r\nthis.loader='block';\r\n this.fpeBudgetService.TransferBudget(this.SelectMonth,this.SelectedActivityGroup,this.transferActivityGroup,this.FromRegion,this.ToRegion,this.TransferedAmount)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {debugger;\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n this.ShowData();\r\n this.transferActivityGroup=\"\";\r\n this.FromRegion=\"\";\r\n this.ToRegion=\"\";\r\n this.TransferedAmount=0;\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n }\r\n this.loader='none';\r\n });\r\n }\r\n }\r\n _keyPressInt(event: any) {\r\n debugger;\r\n const pattern = /^[\\d]+$/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\r\\n
\\r\\n

Service Receipt Confirmation

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Activity TypeBudget TypePO NumberRegionStateVendorDateStatusAction
{{ data.activityName }}{{ data.budgetType }}{{ data.poNumber }}{{ data.regionCode }}{{ data.stateCode }}{{ data.vendor }}{{ data.date | date:\\\"dd/MMM/y\\\" }}{{ data.status }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No Data Found.
\\r\\n
\\r\\n
0\\\" style=\\\"text-align:center;\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from 'src/app/Services/Confirmation/confirmation.service';\r\n//import { DatePipe } from '@angular/common';\r\nimport { saveAs } from 'file-saver';\r\nimport { DashboardService } from '../../Services/Dashboard/dashboard.service';\r\n\r\n@Component({\r\n selector: 'app-confirmation',\r\n templateUrl: './confirmation.component.html',\r\n styleUrls: ['./confirmation.component.css']\r\n})\r\nexport class ConfirmationComponent implements OnInit {\r\n userId:string;\r\n userName:string;\r\n budgetTypes=[];\r\n activities=[];\r\n Regions=[];\r\n States=[];\r\n VendorList=[];\r\n PONumberList=[];\r\n POConfirmation=[];\r\n totalRecords:Number;\r\n page:Number=1;\r\n budgetCode : string = '';\r\n activityID : string = '';\r\n stateCode : string = '';\r\n regionCode : string = '';\r\n vendors : string = '';\r\n po : string = '';\r\n IsNoRMH:boolean;\r\n\r\n constructor(private confirmationService:ConfirmationService,private dashboardService: DashboardService) { \r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.GetRMH_MenuStatus();\r\n }\r\n\r\n ngOnInit() {\r\n this.getFiltersData();\r\n this.GetPOConfirmationList();\r\n }\r\n getFiltersData(){\r\n this.confirmationService.getBudgetTypes().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.budgetTypes=response.data;\r\n console.log(this.budgetTypes);\r\n }\r\n }); \r\n this.confirmationService.getActivities().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.activities=response.data;\r\n console.log(this.activities);\r\n }\r\n }); \r\n this.confirmationService.getRegions(this.userId).subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.Regions=response.data;\r\n console.log(this.Regions);\r\n }\r\n }); \r\n this.confirmationService.getStates(this.userId).subscribe((resData:any) =>{\r\n if(resData.status==true){\r\n this.States=resData.data;\r\n console.log(this.States);\r\n }\r\n }); \r\n this.confirmationService.getVendors().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.VendorList=response.data;\r\n console.log(this.VendorList);\r\n }\r\n }); \r\n this.confirmationService.getPONumber().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.PONumberList=response.data;\r\n console.log(this.PONumberList);\r\n }\r\n }); \r\n }\r\n GetPOConfirmationList(){\r\n this.confirmationService.POConfirmationList(this.activityID,this.budgetCode,this.stateCode,this.regionCode,this.vendors,this.po).subscribe((resData:any)=>{\r\n if(resData.status==true){\r\n this.POConfirmation=resData.data;\r\n console.log(this.POConfirmation);\r\n }\r\n });\r\n this.page=1;\r\n }\r\n ConfirmPO(item:any,poNumber:any){\r\n //alert(\"Confirm PO \"+item);\r\n localStorage.setItem('mabt_serviceReceiptId', poNumber);\r\n }\r\n ViewRequest(item:any){\r\n alert(\"View Confirmation \"+item);\r\n }\r\n ExportPOConfirmationData(){\r\n //alert(\"Export POConfirmation Data \"+activityID+\" \"+budgetCode+\" \"+stateCode+\" \"+regionCode+\" \"+vendor+\" \"+PONum);\r\n this.confirmationService.ExportPOConfirmationList(this.activityID,this.budgetCode,this.stateCode,this.regionCode,this.vendors,\r\n this.po).subscribe((success:any)=>{\r\n \r\n //var date = new Date();\r\n //let latest_date = this.datepipe.transform(date, 'dd-MMM-yy') \r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let excelName = firstname + '_PO_Confirmation.xlsx';\r\n console.log(success);\r\n saveAs(success, excelName);\r\n });\r\n }\r\n GetRMH_MenuStatus()\r\n {\r\n var url = \"/api/ServiceRequest/GetBalanceAmountByActivity\";\r\n this.dashboardService.GetAmountByActivityId(url,0,'').subscribe((response:any)=>{\r\n \r\n if (response.status == true) {\r\n this.IsNoRMH=true;\r\n \r\n }\r\n else {\r\n this.IsNoRMH=false;\r\n \r\n \r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9jcmVkaXQtZGViaXQtcmVhc29uL2NyZWRpdC1kZWJpdC1yZWFzb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGlDQUFpQztJQUNqQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0NBQ2YiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL2NyZWRpdC1kZWJpdC1yZWFzb24vY3JlZGl0LWRlYml0LXJlYXNvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnBvcHVwLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTY7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

Credit/Debit Reason

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Credit/Debit ReasonCreated OnUpdated OnAction
{{ data.creditDebitReason }}{{ data.createdOn | date:\\\"dd/MMM/y\\\" }}{{ data.modifiedOn | date:\\\"dd/MMM/y h:mm:ss a\\\" }} {{ data.isActive ? \\\"Active\\\":\\\"InActive\\\" }}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Are you sure you want to change status?

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \"","import { Component, OnInit } from '@angular/core';\r\nimport { CreditDebitReasonService } from 'src/app/Services/CreditDebitReason/credit-debit-reason.service';\r\nimport { CreditDebitReason } from '../../Models/Credit-Debit-Reason/CreditDebitReason';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogBoxComponent } from 'src/app/Components/dialog-box/dialog-box.component';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-credit-debit-reason',\r\n templateUrl: './credit-debit-reason.component.html',\r\n styleUrls: ['./credit-debit-reason.component.css']\r\n})\r\nexport class CreditDebitReasonComponent implements OnInit {\r\n creditDebitDetails: any=[];\r\n loader:string;\r\n creditDebitReasons:CreditDebitReason=new CreditDebitReason();\r\n displayChangeStatus : string= 'none';\r\n creditDebitReasonId :any;\r\n iscreditDebitReasonActive :any;\r\n constructor(private creditDebitReason:CreditDebitReasonService,public dialog:MatDialog,private snackbar: MatSnackBarComponent,private toastr:ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.getCreditDebitReason();\r\n }\r\n getCreditDebitReason(){\r\n this.creditDebitReason.getCreditDebitReasonList().subscribe((response:any) =>{\r\n if(response.message==\"Success\"){\r\n this.creditDebitDetails=response.data;\r\n console.log(this.creditDebitDetails);\r\n this.loader='none';\r\n }\r\n });\r\n }\r\n openDialogToChangeStatus(creditDebitReasonId :string, isActive:string){\r\n this.displayChangeStatus = 'block';\r\n this.creditDebitReasonId = creditDebitReasonId;\r\n this.iscreditDebitReasonActive = isActive;\r\n}\r\n UpdateCreditDebitReasonStatus(creditDebitReasonId :string, isActive:any){\r\n this.creditDebitReasons.CreditDebitReasonId=creditDebitReasonId;\r\n if(isActive==0)\r\n this.creditDebitReasons.IsActive=1;\r\n else\r\n this.creditDebitReasons.IsActive=0;\r\n this.creditDebitReason.changeCreditDebitReasonStatus(this.creditDebitReasons).subscribe((response:any)=>{\r\n this.getCreditDebitReason();\r\n if (response.Status == true) {\r\n console.log(response.Status);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n AddCreditDebitReason(creditDebitReasons:any){\r\n if(creditDebitReasons.value==\"\"){\r\n // this.snackbar.openSnackBar('Please fill credit/debit reason.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please fill credit/debit reason.');\r\n }else{\r\n this.creditDebitReason.createCreditDebitReason(creditDebitReasons.value).subscribe((response:any)=>{\r\n this.getCreditDebitReason();\r\n if (response.message == \"Credit debit reason already exist.\") {\r\n // this.snackbar.openSnackBar('Credit debit reason already exist.', 'Close', 'red-snackbar');\r\n this.toastr.error('Credit debit reason already exist.');\r\n console.log(response.status);\r\n this.loader = 'none';\r\n }else{\r\n // this.snackbar.openSnackBar('New credit debit reason added successfully.', 'Close', 'green-snackbar');\r\n this.toastr.success('New credit debit reason added successfully.');\r\n console.log(response.status);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n }\r\n color(creditId: string,isActive:any){\r\n if(isActive==0)\r\n {\r\n return 'red'\r\n }\r\n else\r\n {\r\n return 'green'\r\n }\r\n }\r\n ChangeStatus(id : any){\r\n if(id == 0){\r\n this.displayChangeStatus = 'none';\r\n }\r\n else{\r\n this.displayChangeStatus = 'none';\r\n this.UpdateCreditDebitReasonStatus(this.creditDebitReasonId, this.iscreditDebitReasonActive); \r\n } \r\n }\r\n}\r\n","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9jcm9wcy9jcm9wcy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxVQUFVO0lBQ1YsaUNBQWlDO0lBQ2pDLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7Q0FDZiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY3JvcHMvY3JvcHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wb3B1cC13cmFwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHotaW5kZXg6IDE2O1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n

Crops

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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.NoCrops NameAction
{{i+1}}{{ data.cropName }}{{ data.isCropActive==1 ?\\\"Active\\\":\\\"InActive\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Are you sure you want to change status?

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { CropsService } from 'src/app/Services/Crops/crops.service';\r\nimport { Crops } from '../../Models/Crops/Crops';\r\n\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {MatSnackBarComponent} from 'src/app/Components/mat-snack-bar/mat-snack-bar.component';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogBoxComponent } from 'src/app/Components/dialog-box/dialog-box.component';\r\n\r\n@Component({\r\n selector: 'app-crops',\r\n templateUrl: './crops.component.html',\r\n styleUrls: ['./crops.component.css']\r\n})\r\nexport class CropsComponent implements OnInit {\r\n\r\n cropsDetails: any=[];\r\n cropData: Crops = new Crops();\r\n loader: string = 'none';\r\n displayChangeStatus : string = 'none';\r\n cropId : any;\r\n cropName : any;\r\n isCropActive : any;\r\n constructor(private cropsService:CropsService,public dialog:MatDialog) { \r\n }\r\n\r\n ngOnInit() {\r\n this.getCropsDetail();\r\n }\r\n getCropsDetail(){\r\n this.cropsService.getCropsDetails().subscribe((response:any) => {\r\n if (response.message == \"Success\") {\r\n this.cropsDetails = response.data;\r\n console.log(this.cropsDetails);\r\n this.loader = 'none';\r\n }\r\n },\r\n err=> console.error(err),\r\n ()=> console.log(this.cropsDetails)\r\n );\r\n }\r\n openDialogToChangeStatus(cropId: string, cropName: string, isActive:string){\r\n this.displayChangeStatus = 'block';\r\n this.cropId = cropId;\r\n this.cropName = cropName;\r\n this.isCropActive = isActive;\r\n}\r\n changeCropStatus(cropId: string, cropName: string, isActive:any){\r\n this.cropData.CropId=cropId;\r\n this.cropData.CropName=cropName;\r\n if(isActive==0)\r\n this.cropData.isCropActive=1;\r\n else\r\n this.cropData.isCropActive= 0;\r\n this.cropsService.changeCropStatus(this.cropData).subscribe(response=>{\r\n this.getCropsDetail();\r\n if (response.Status == true) {\r\n console.log(response.Status);\r\n this.loader = 'none';\r\n }\r\n },\r\n err=> console.error(err),\r\n ()=> console.log(this.cropsDetails)\r\n );\r\n }\r\n color(cropId: string,isActive:any){\r\n if(isActive==0)\r\n {\r\n return 'red'\r\n }\r\n else\r\n {\r\n return 'green'\r\n }\r\n }\r\n ChangeStatus(id : any){\r\n if(id == 0){\r\n this.displayChangeStatus = 'none';\r\n }\r\n else{\r\n this.displayChangeStatus = 'none';\r\n this.changeCropStatus(this.cropId,this.cropName,this.isCropActive); \r\n } \r\n }\r\n}\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\r\\n
\\r\\n

Dashboard

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

Filters

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n All MA\\r\\n {{ data.maCode }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n All SBU\\r\\n {{ data.sbuCode }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n All Division\\r\\n {{ data.divisionName }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n All Zone\\r\\n {{ data.zoneName }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n All Region\\r\\n {{data.regionName}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n All Region\\r\\n {{data.regionName}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{data.year}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Budget Utilization - {{ utilised | number: '1.2-2'}} %\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ BarChart[0] }}\\r\\n Total Budget\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ BarChart[1] }}\\r\\n Utilized Budget\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ BarChart[2] }}\\r\\n Balance Available\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ BarChart[3] }}\\r\\n Invoices Cleared\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ BarChart[4] }}\\r\\n Invoices Pending\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Upcoming Activities

\\r\\n \\r\\n
    \\r\\n
  • \\r\\n {{ data.upcomingActivity }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { DashboardService } from '../../Services/Dashboard/dashboard.service';\r\nimport { CommonService } from '../../Services/Common/common.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n//import{NgChartjsModule} from 'ng-chartjs';\r\nimport { Chart } from 'chart.js';\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n userId;\r\n userName:string;\r\n RoleId:string;\r\n DivisionList:any=[];\r\n ZoneList:any=[];\r\n RegionList:any=[];\r\n RMHRegionList:any=[];\r\n SBUList:any=[];\r\n SBU:string=\"\";\r\n Division:string=\"\";\r\n Zone:string=\"\";\r\n Region:string=\"\";\r\n BarChart=[];\r\n BarChartData=[];\r\n dataList=[];\r\n labelsList=[];\r\n UpcomingActivities=[];\r\n public myChart:Chart;\r\n utilised:any;\r\n MAList=[];\r\n maName:string=\"\";\r\n selectedMA:string=\"\";\r\n YearFilterList:any=[];\r\n SelectedYear:string;\r\n loader : string = '';\r\n constructor(private dashboardService: DashboardService,private route: ActivatedRoute, private router: Router,private commonService:CommonService) { \r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.RoleId = localStorage.getItem('mabt_roleID');\r\n this.userId=localStorage.getItem('mabt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n this.GetYearList();\r\n this.getDashboardfilter();\r\n \r\n setTimeout(() => {\r\n this.getBarChart();\r\n }, 1500);\r\n }\r\n \r\n getFilterBarChart(btnclick:string){\r\n this.getBarChart();\r\n }\r\n getBarChart(){\r\n this.loader = \"Block\";\r\n this.dashboardService.getBarChartData(this.userId,this.maName,this.SBU,this.Division,this.Zone,this.Region,this.SelectedYear).subscribe((res:any)=>{\r\n if(res.status==true){\r\n this.dataList=[];\r\n this.BarChartData=res.data;\r\n this.dataList=[Number(res.data[0]['totalBudget']),Number(res.data[0]['utilisedBudget']),Number(Number(res.data[0]['totalBudget'])-Number(res.data[0]['utilisedBudget'])),Number(res.data[0]['invoiceCleared']),Number(res.data[0]['invoicesPending'])];\r\n console.log(this.BarChartData);\r\n this.BarChart=[\r\n this.ConvertNumberToSpecialFormate(this.dataList[0]),\r\n this.ConvertNumberToSpecialFormate(this.dataList[1]),\r\n this.ConvertNumberToSpecialFormate(this.dataList[2]),\r\n this.ConvertNumberToSpecialFormate(this.dataList[3]),\r\n this.ConvertNumberToSpecialFormate(this.dataList[4])];\r\n this.loader = \"none\";\r\n if(this.dataList[0]==0){\r\n this.utilised=0;\r\n }else{\r\n this.utilised=this.dataList[1]/this.dataList[0]*100;\r\n }\r\n }\r\n });\r\n this.dashboardService.getUpcomingActivities(this.userId).subscribe((resData:any)=>{\r\n if(resData.status==true){\r\n this.UpcomingActivities=resData.data;\r\n console.log(this.UpcomingActivities);\r\n }\r\n });\r\n }\r\n getDashboardfilter(){\r\n this.dashboardService.getMA(this.userId).subscribe((response:any)=>{\r\n if(response.status==true){\r\n this.MAList=response.data;\r\n console.log(this.MAList);\r\n }\r\n });\r\n \r\n this.getSBU(\"\");\r\n this.getDivision(\"\");\r\n this.getZone(\"\");\r\n this.getRegion(\"\");\r\n this.getRMHRegions();\r\n }\r\n getSBU(maCode:any){\r\n if(maCode==\"\"){\r\n this.SBUList=[];\r\n this.SBU=\"\";\r\n }\r\n this.SBU=\"\";\r\n this.DivisionList=[];\r\n this.Division=\"\";\r\n this.ZoneList=[];\r\n this.Zone=\"\";\r\n this.RegionList=[];\r\n this.Region=\"\";\r\n this.maName=maCode;\r\n this.dashboardService.getSBU(this.userId,maCode).subscribe((response:any)=>{\r\n if(response.status==true){//alert(\"SBU\")\r\n this.SBUList=response.data;\r\n console.log(this.SBUList);\r\n }\r\n });\r\n }\r\n getDivision(sbuCode:any){\r\n if(sbuCode==\"\"){\r\n this.DivisionList=[];\r\n this.Division=\"\";\r\n }\r\n this.Division=\"\";\r\n this.ZoneList=[];\r\n this.Zone=\"\";\r\n this.RegionList=[];\r\n this.Region=\"\";\r\n this.SBU=sbuCode;\r\n this.dashboardService.getDMHDivision(this.userId,sbuCode).subscribe((response:any)=>{\r\n if(response.status==true){//alert(\"Division\")\r\n this.DivisionList=response.data;\r\n console.log(this.DivisionList);\r\n }\r\n });\r\n }\r\n getZone(division:any){\r\n if(division==\"\"){\r\n this.ZoneList=[];\r\n this.Zone=\"\";\r\n }\r\n this.Zone=\"\";\r\n this.RegionList=[];\r\n this.Region=\"\";\r\n this.Division=division;\r\n this.dashboardService.getZMHZone(this.userId,division).subscribe((response:any)=>{\r\n if(response.status==true){//alert(\"Zone\"); debugger;\r\n this.ZoneList=response.data;\r\n console.log(this.ZoneList);\r\n }\r\n });\r\n }\r\n getRegion(zone:any){\r\n if(zone==\"\"){\r\n this.RegionList=[];\r\n }\r\n this.RegionList=[];\r\n this.Region=\"\";\r\n this.Zone=zone;\r\n this.dashboardService.getRMHRegion(this.userId,zone).subscribe((response:any)=>{\r\n if(response.status==true){//alert(\"Region\")\r\n this.RegionList=response.data;\r\n console.log(this.RegionList);\r\n }\r\n })\r\n }\r\n RegionCode(region:any){\r\n //alert(region);\r\n this.Region=region;\r\n }\r\n getRMHRegions(){\r\n this.dashboardService.getRMHRegion(this.userId,\"1\").subscribe((response:any)=>{\r\n if(response.status==true){\r\n this.RMHRegionList=response.data;\r\n console.log(this.RMHRegionList);\r\n }\r\n })\r\n }\r\n ConvertNumberToSpecialFormate(data:number){\r\n let num=data.toString();\r\n let lastThree=num.substring(num.length-3);\r\n let otherNumber=num.substring(0,num.length-3);\r\n if(otherNumber !=''){\r\n lastThree=','+lastThree;\r\n }\r\n return otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\")+lastThree;\r\n }\r\n\r\n RedirectToDetail(id:string)\r\n {\r\n localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"RepeatRequest\",\"0\");\r\n localStorage.setItem(\"isEditable\",\"true\");\r\n localStorage.setItem(\"EditRequestId\",id);\r\n this.router.navigate(['MABudget/ActivityRequest',1,id]);\r\n }\r\n GetYearList(){\r\n this.commonService.GetYearList(this.userId).subscribe((response:any)=>{\r\n if(response.status==true){\r\n this.YearFilterList=response.data;\r\n this.SelectedYear=this.YearFilterList[0].year;\r\n console.log(this.YearFilterList);\r\n }\r\n })\r\n }\r\n}\r\n","module.exports = \".example-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n min-width: 300px;\\r\\n }\\r\\n \\r\\n .example-header {\\r\\n min-height: 64px;\\r\\n padding: 8px 24px 0;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-table {\\r\\n overflow-x: auto;\\r\\n max-height: 500px;\\r\\n }\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9kZWJpdC1jcmVkaXQtbGlzdC9kZWJpdC1jcmVkaXQtbGlzdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksY0FBYztJQUNkLHVCQUF1QjtJQUN2QixpQkFBaUI7R0FDbEI7O0VBRUQ7SUFDRSxpQkFBaUI7SUFDakIsb0JBQW9CO0dBQ3JCOztFQUVEO0lBQ0UsZ0JBQWdCO0lBQ2hCLFlBQVk7R0FDYjs7RUFFRDtJQUNFLGlCQUFpQjtJQUNqQixrQkFBa0I7R0FDbkIiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL2RlYml0LWNyZWRpdC1saXN0L2RlYml0LWNyZWRpdC1saXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gIH1cclxuICBcclxuICAuZXhhbXBsZS1oZWFkZXIge1xyXG4gICAgbWluLWhlaWdodDogNjRweDtcclxuICAgIHBhZGRpbmc6IDhweCAyNHB4IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5tYXQtZm9ybS1maWVsZCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLm1hdC10YWJsZSB7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgfVxyXG4gICJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n

Debit & Credit Note

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n Select Note Type\\r\\n \\r\\n {{type.typeName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Vendor\\r\\n \\r\\n {{vendor.vendorName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Invoice No.\\r\\n \\r\\n {{invoice.invoiceName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Note TypeInvoice No.Activity TypeVendor NameAmountReason
{{dataList.noteType}}{{dataList.invoiceNumber}}{{dataList.activityType}}{{dataList.vendorName}}{{dataList.amount}}{{dataList.reason}}
No Data Found.
\\r\\n
\\r\\n
0\\\" style=\\\"text-align:center;\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DebitCreditListService } from 'src/app/Services/DebitCreditList/debit-credit-list.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-debit-credit-list',\r\n templateUrl: './debit-credit-list.component.html',\r\n styleUrls: ['./debit-credit-list.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class DebitCreditListComponent implements OnInit {\r\n selectedDCNoteType : string = '';\r\n userId : string = '';\r\n selectedVendor : string = '';\r\n selectedInvoice : string = '';\r\n debitCreditNoteTypeList : any[] = [];\r\n vendorList : any[] = [];\r\n invoiceList : any[] = [];\r\n debitCreditDataList : any[] = [];\r\n constructor(private route: ActivatedRoute, private debitCreditListService: DebitCreditListService,\r\n private snackbar: MatSnackBarComponent, private datepipe: DatePipe,private toastr:ToastrService) {\r\n this.userId = localStorage.getItem('mabt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n this.GetDebitCreditListFilterData();\r\n this.GetDebitCreditListData();\r\n }\r\n\r\n GetDebitCreditListFilterData(){\r\n this.debitCreditListService.GetDebitCreditListFilterData().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.debitCreditNoteTypeList = response.data.debitCreditNoteTypeList;\r\n this.vendorList = response.data.vendorList;\r\n this.invoiceList = response.data.invoiceList;\r\n }\r\n })\r\n }\r\n\r\n GetDebitCreditListData(){\r\n this.debitCreditListService.GetDebitCreditListData(this.selectedDCNoteType, this.selectedVendor, this.selectedInvoice).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.debitCreditDataList = response.data;\r\n }\r\n })\r\n }\r\n\r\n ExportDebitCreditNoteData(){\r\n this.debitCreditListService.ExportDebitCreditNoteData(this.selectedDCNoteType, this.selectedVendor, this.selectedInvoice)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names = name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + 'DebitCreditNote' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n //this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n //this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n Filter(){\r\n this.GetDebitCreditListData();\r\n }\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvZGViaXQtY3JlZGl0LW5vdGUvZGViaXQtY3JlZGl0LW5vdGUuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n

Debit & Credit Note

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n Select Invoice No.\\r\\n \\r\\n {{invoice.invoiceName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Note TypeInvoice NoActivity TypeVendor NameAmountReason
\\r\\n \\r\\n {{dataList.invoiceNo}}{{dataList.activityType}}{{dataList.vendorName}}\\r\\n \\r\\n \\r\\n
No Data Found.
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { DebitCreditNote } from 'src/app/Models/Debit-Credit-Note/debit-credit-note';\r\nimport { DebitCreditNoteService } from 'src/app/Services/DebitCreditNote/debit-credit-note.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-debit-credit-note',\r\n templateUrl: './debit-credit-note.component.html',\r\n styleUrls: ['./debit-credit-note.component.css']\r\n})\r\nexport class DebitCreditNoteComponent implements OnInit {\r\n userId: string = '';\r\n disable : boolean = false;\r\n selectedInvoice: string = '';\r\n invoiceList: any[] = [];\r\n invoiceDebitCreditList: any[] = [];\r\n noteTypeList: any[] = [];\r\n reasonList: any[] = [];\r\n display : boolean = false;\r\n loader:string ='none';\r\n constructor(private route: ActivatedRoute, private debitCreditNoteService: DebitCreditNoteService,\r\n private snackbar: MatSnackBarComponent,private toastr:ToastrService) {\r\n this.userId = localStorage.getItem('mabt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n this.GetInvoiceNumberList();\r\n }\r\n\r\n GetInvoiceNumberList(){\r\n this.debitCreditNoteService.GetInvoiceNumberList().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.invoiceList = response.data;\r\n this.display = false;\r\n }\r\n })\r\n }\r\n\r\n GetDataAsPerInvoiceNumber() {\r\n this.display = false;\r\n this.debitCreditNoteService.GetDataAsPerInvoiceNumber(this.selectedInvoice).subscribe((response: any) => {\r\n if (response.status == true) {\r\n debugger;\r\n this.invoiceDebitCreditList = response.data.invoiceDebitCreditList;\r\n this.noteTypeList = response.data.noteTypeList;\r\n this.reasonList = response.data.reasonList;\r\n if(response.data.invoiceDebitCreditList[0].disable == 0){\r\n this.disable = false;\r\n }\r\n else{\r\n this.disable = true;\r\n }\r\n this.display = true;\r\n console .log(this.invoiceDebitCreditList);\r\n }\r\n })\r\n }\r\n\r\n SubmitDebitCreditList(){\r\n debugger;\r\n let debitCreditNote : DebitCreditNote[] = [];\r\n let amountNumber : number;\r\n this.invoiceDebitCreditList.forEach(element =>{\r\n if(element.disable == 0){\r\n var item = {\r\n NoteType: Number(element.noteType),\r\n InvoiceNo: element.invoiceNo,\r\n ActivityType: element.activityType,\r\n VendorName: element.vendorName,\r\n Amount: Number(element.amount),\r\n Reason : Number(element.reason)\r\n };\r\n debitCreditNote.push(item);\r\n } \r\n });\r\n debugger;\r\n this.debitCreditNoteService.SubmitDebitCreditList(debitCreditNote).subscribe((response: any) => {\r\n if (response.status == true) {\r\n debugger;\r\n if(response.data[0].status == 'true'){\r\n // this.snackbar.openSnackBar(response.data[0].message, 'Close', 'green-snackbar'); \r\n this.toastr.success(response.data[0].message); \r\n }\r\n else{\r\n // this.snackbar.openSnackBar(response.data[0].message, 'Close', 'red-snackbar');\r\n this.toastr.error(response.data[0].message);\r\n }\r\n this.GetDataAsPerInvoiceNumber();\r\n }\r\n else{\r\n this.GetDataAsPerInvoiceNumber();\r\n // this.snackbar.openSnackBar(\"Some error occured\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Some error occured.\");\r\n }\r\n })\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvZGlhbG9nLWJveC9kaWFsb2ctYm94LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n\\t
\\r\\n\\t\\t

Are you sure you want to change status?

\\r\\n\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t
\\r\\n\\t
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dialog-box',\r\n templateUrl: './dialog-box.component.html',\r\n styleUrls: ['./dialog-box.component.css']\r\n})\r\nexport class DialogBoxComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".bug-btn {\\r\\n width: 145px !important; \\r\\n height: 40px;\\r\\n margin: 34.3px 49px 0px 12.4px;\\r\\n padding: 11px 15px 10px 15px;\\r\\n border-radius: 4px;\\r\\n background-color: #1e9600;\\r\\n}\\r\\n.popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n.popup-wrap-request button{\\r\\n width: 90px !important;\\r\\n}\\r\\n.popup-wrap-request .filter select{\\r\\n float: left;\\r\\n width: 72%;\\r\\n margin-left: 3%;\\r\\n padding-left: 5px;\\r\\n padding-right: 25px;\\r\\n height: 30px;\\r\\n border: 1px solid #d4d4d4;\\r\\n border-radius: 4px;\\r\\n background: #fff url('select-arrow.jpg') no-repeat 96% 10px;\\r\\n -webkit-appearance: none;\\r\\n -moz-appearance: none;\\r\\n appearance: none;\\r\\n}\\r\\n.popup-wrap-request .filter label{\\r\\n float: left;\\r\\n}\\r\\n.popup-wrap-request .filter{\\r\\n margin-bottom: 15px;\\r\\n overflow: hidden;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9mbWdtLWJ1ZGdldC1hbGxvY2F0aW9uL2ZtZ20tYnVkZ2V0LWFsbG9jYXRpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLHdCQUF3QjtJQUN4QixhQUFhO0lBQ2IsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsMEJBQTBCO0NBQzdCO0FBQ0Q7SUFDSSxtQkFBbUI7SUFDbkIsU0FBUztJQUNULFVBQVU7SUFDVixpQ0FBaUM7SUFDakMsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixhQUFhO0lBQ2IsY0FBYztJQUNkLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtDQUNmO0FBQ0Q7SUFDSSx1QkFBdUI7Q0FDMUI7QUFDRDtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsNERBQW1GO0lBQ25GLHlCQUFpQjtPQUFqQixzQkFBaUI7WUFBakIsaUJBQWlCO0NBQ3BCO0FBQ0Q7SUFDSSxZQUFZO0NBQ2Y7QUFDRDtJQUNJLG9CQUFvQjtJQUNwQixpQkFBaUI7Q0FDcEIiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL2ZtZ20tYnVkZ2V0LWFsbG9jYXRpb24vZm1nbS1idWRnZXQtYWxsb2NhdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1Zy1idG4ge1xyXG4gICAgd2lkdGg6IDE0NXB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgbWFyZ2luOiAzNC4zcHggNDlweCAwcHggMTIuNHB4O1xyXG4gICAgcGFkZGluZzogMTFweCAxNXB4IDEwcHggMTVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTk2MDA7XHJcbn1cclxuLnBvcHVwLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTY7XHJcbn1cclxuLnBvcHVwLXdyYXAtcmVxdWVzdCBidXR0b257XHJcbiAgICB3aWR0aDogOTBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgLmZpbHRlciBzZWxlY3R7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA3MiU7XHJcbiAgICBtYXJnaW4tbGVmdDogMyU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvc2VsZWN0LWFycm93LmpwZycpIG5vLXJlcGVhdCA5NiUgMTBweDtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuLnBvcHVwLXdyYXAtcmVxdWVzdCAuZmlsdGVyIGxhYmVse1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuLnBvcHVwLXdyYXAtcmVxdWVzdCAuZmlsdGVye1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

MA Budget Allocation

\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\\"no-image\\\"Download Format\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Budget Given by STDR\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Filters

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\\"no-Image\\\"\\r\\n \\\"no-Image\\\"\\r\\n \\r\\n {{region.region}} Total\\r\\n Grand Total
\\r\\n \\r\\n {{region.regionName}}
\\r\\n {{group.name}}\\r\\n {{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{currentFpePercent}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{roleId==44?(value.value):''}}{{roleId==44 ?(value.value):''}}{{budget.grandTotal}}
{{ContigencyBudgetText}}{{roleId==44?(value.value):''}}{{roleId==44?(value.value):''}}{{UtilisedContigencyBudget}}
{{budget.activity}}{{roleId==44?(value.value):''}}{{roleId==44?(value.value):''}}{{IsShowUtilisedContigencyBudget ? 0: budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{fbePercent}}{{value.value}}{{value.value}}{{budget.grandTotal}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\t\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'node_modules/ngx-toastr';\r\nimport { FPEBudgetService } from 'src/app/Services/FPEBudget/fpebudget.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { saveAs } from 'file-saver';\r\nimport { Documents } from '../../Models/FPEBudget/ExcelDocuments';\r\nimport * as $ from 'jquery';\r\nimport{BrandBudgetService}from 'src/app/Services/BrandBudget/brand-budget.service';\r\n\r\n@Component({\r\n selector: 'app-fmgm-budget-allocation',\r\n templateUrl: './fmgm-budget-allocation.component.html',\r\n styleUrls: ['./fmgm-budget-allocation.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class FmgmBudgetAllocationComponent implements OnInit {\r\n userId: string;\r\n files: File[] = [];\r\n selectedLevel;\r\n isFileCorrect: boolean;\r\n @ViewChild('file') input;\r\n filterData: any;\r\n allColumnName: any = [];\r\n allColumnFullName: any = [];\r\n numbers = new Array();\r\n displaytransferudget:boolean=false;\r\n private _file: File;\r\n userName: string;\r\n TransferedAmount:number=0;\r\n fileName: string = '';\r\n document: Documents = new Documents();\r\n roles: string;\r\n transferActivityGroup:string=\"\";\r\n roleId: string;\r\n previousYear: number;\r\n SelectedYear: number;\r\n SelectedActivityGroup:string=\"\";\r\n SelectMonth:string='0';\r\n NetBudget: number;\r\n RemainingBudget: number;\r\n currentYear: number;\r\n currentMonth:number;\r\n budgetTypeDetail: any = [];\r\n isFilterDataExist: string = \"none\";\r\n previousYearTotal: number;\r\n currentYearTotal: number;\r\n regionTable: any[] = [];\r\n budgetDataTable: { [key: string]: string }[] = [];\r\n totalDataTable: { [key: string]: string }[] = [];\r\n activityGroupTable : { [key: string]: string }[] = [];\r\n activityTable: any[] = [];\r\n zoneTable: any[] = [];\r\n selectedActivity: any = '';\r\n selectedState: any = '';\r\n selectedMA: any = '';\r\n selectedSBU: any = '';\r\n selectedDivision:any='';\r\n selectedZone:any='';\r\n selectedYear: any = '';\r\n FromRegion:string=\"\";\r\n ToRegion:string=\"\";\r\n selectedExcelDivision : any = '';\r\n selectedExcelZone : any = '';\r\n mainMaFilter: any[] = [];\r\n ma: any[] = [];\r\n divisions : any[] = [];\r\n mainYearFilter: any[] = [];\r\n years: any[] = [];\r\n mainSbuFilter: any[] = [];\r\n sbu: any[] = [];\r\n mainDivisionFilter: any[]=[];\r\n division:any[]=[];\r\n divisionTable:any[]=[];\r\n zoneTableNew:any[]=[];\r\n mainZoneFilter: any[]=[];\r\n zone:any[]=[];\r\n mappingTable: any[] = [];\r\n display: boolean = true;\r\n revenue: string = '';\r\n fbeBudget: string = '';\r\n fbePercent: string = '';\r\n currentPo: string = '';\r\n currentFpePercent: string = '';\r\n currentAllocation: string = '';\r\n currentFpeBudget: string = '';\r\n currentPendingAllocation: string = '';\r\n count: number = 0;\r\n loader : string = '';\r\n contiBudget : string = '0';\r\n months : any[] = [];\r\n selectedMonth : string = '0';\r\n displayDivisionFilter : boolean = false;\r\n BudgetList:any=[];\r\n GroupList:any=[];\r\n RegionList:any=[];\r\n IsShowUtilisedContigencyBudget:boolean=false;\r\n ContigencyBudgetText:string=''\r\n UtilisedContigencyBudget:string='0';\r\n constructor(private brandBudgetService: BrandBudgetService,private route: ActivatedRoute, private fpeBudgetService: FPEBudgetService, private datepipe: DatePipe, private router: Router, private form: FormBuilder, public toastr: ToastrService, private snackbar: MatSnackBarComponent) { \r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.roles = localStorage.getItem('mabt_RoleCode');\r\n this.roleId = localStorage.getItem('mabt_roleID');\r\n this.previousYear = (new Date()).getFullYear() - 1;\r\n this.currentYear = (new Date()).getFullYear();\r\n this.currentMonth = (new Date()).getMonth()+1;\r\n this.filterData = [];\r\n this.years = [\r\n this.currentYear, this.previousYear\r\n ];\r\n debugger;\r\n this.GetDivBudgetFilterYear();\r\n }\r\n\r\n ngOnInit() {\r\n debugger;\r\n this.GetFPEBudgetFilterData();\r\n }\r\n GetDivBudgetFilterYear()\r\n {\r\n debugger;\r\n if(this.selectedYear==''){\r\n this.revenue = this.previousYear + ' Revenue';\r\n this.fbeBudget = this.previousYear + ' MA Expenses';\r\n this.fbePercent = this.previousYear + ' MA % As Part of Revenue';\r\n this.currentPo = this.currentYear + ' PO';\r\n this.currentAllocation = this.currentYear + ' Allocation';\r\n this.currentFpePercent = this.currentYear + ' MA % As Percentage of PO';\r\n this.currentFpeBudget = this.currentYear + ' MA Budget';\r\n this.currentPendingAllocation = this.currentYear + ' Allocation Pending';\r\n }\r\n else{\r\n this.revenue = (Number(this.selectedYear)-1).toString() + ' Revenue';\r\n this.fbeBudget = (Number(this.selectedYear)-1).toString() + ' MA Expenses';\r\n this.fbePercent = (Number(this.selectedYear)-1).toString() + ' MA % As Part of Revenue';\r\n this.currentPo = this.selectedYear + ' PO';\r\n this.currentAllocation = this.selectedYear + ' Allocation';\r\n this.currentFpePercent = this.selectedYear + ' MA % As Percentage of PO';\r\n this.currentFpeBudget = this.selectedYear + ' MA Budget';\r\n this.currentPendingAllocation = this.selectedYear + ' Allocation Pending';\r\n }\r\n }\r\n\r\n DownloadBrandBudgetExcel() {\r\n debugger;\r\n this.loader = 'block';\r\n this.brandBudgetService.BudgetExcelDownload(this.userName,this.currentYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname + '_' + lastName + '_BrandBudgetAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n \r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n SetDivision(){\r\n let ma=this.selectedMA;\r\n //let first={divisionCode:\"\",divisionName:\"All Division\"};\r\n this.division=[];\r\n if(ma==\"\"){\r\n this.mainDivisionFilter.forEach(item => {\r\n var isInArray = this.division.find(function(el){ return el.divisionCode === item.divisionCode }) !== undefined;\r\n if (!isInArray) {\r\n this.division.push({divisionCode:item.divisionCode,divisionName:item.divisionName});\r\n }\r\n });\r\n }\r\n else{\r\n this.mainDivisionFilter.forEach(item => {\r\n if (item.ma == ma) {\r\n this.division.push({divisionCode:item.divisionCode,divisionName:item.divisionName});\r\n }\r\n }); \r\n } \r\n //this.division.splice(0,0,first);\r\n this.selectedDivision = this.division[0].divisionCode;\r\n }\r\n\r\n GetFPEBudgetFilterData() {\r\n debugger;\r\n this.loader = 'block'; \r\n this.fpeBudgetService.GetFMGMBudgetFilterData()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.ma = resData.data.maTable;\r\n //this.ma.splice(0,0,{id:\"\",name:\"All MA\"});\r\n this.selectedMA = this.ma[0].id;\r\n \r\n this.mainDivisionFilter=resData.data.maDivisionMapTable;\r\n this.SetDivision();\r\n \r\n this.divisionTable=[];\r\n let obj = {\r\n divisionName: ' All Division',divisionCode: '', order:1\r\n };\r\n this.divisionTable.push(obj);\r\n resData.data.maDivisionMapTable.forEach(element => {\r\n if(this.divisionTable.find(x=>x.divisionCode == element.divisionCode)) {}else{\r\n let obj = {\r\n divisionName: element.divisionName,divisionCode: element.divisionCode, order:1\r\n };\r\n this.divisionTable.push(obj);\r\n }\r\n })\r\n this.divisionTable.sort((a,b) => a.divisionName > b.divisionName ? 1 : -1)\r\n console.log(this.divisionTable)\r\n\r\n\r\n\r\n this.zoneTableNew=[];\r\n let objZone = {\r\n zoneName: ' All Zones',zoneCode: '', order:1\r\n };\r\n this.zoneTableNew.push(objZone);\r\n resData.data.maDivisionZoneMapTable.forEach(element => {\r\n if(this.zoneTableNew.find(x=>x.zoneCode == element.zoneCode)) {}else{\r\n let objZone = {\r\n zoneName: element.zoneName,zoneCode: element.zoneCode, order:1\r\n };\r\n this.zoneTableNew.push(objZone);\r\n }\r\n })\r\n this.zoneTableNew.sort((a,b) => a.zoneName > b.zoneName ? 1 : -1)\r\n\r\n this.mainZoneFilter=resData.data.maDivisionZoneMapTable;\r\n // this.zoneTableNew=[]; \r\n // let mainZoneFilterCopy=[];\r\n // if(this.divisionTable[0].divisionCode!='')\r\n // {\r\n // mainZoneFilterCopy=this.mainZoneFilter.filter(x=>x.divisionCode==this.divisionTable[0].divisionCode); \r\n // }\r\n // else\r\n // {\r\n // mainZoneFilterCopy=this.mainZoneFilter;\r\n // }\r\n // //mainZoneFilterCopy=this.mainZoneFilter;\r\n // let objZone = {\r\n // zoneName: ' All Zones',zoneCode: '', order:1\r\n // };\r\n // this.zoneTableNew.push(objZone);\r\n // mainZoneFilterCopy.forEach(element => {\r\n // if(this.zoneTableNew.find(x=>x.zoneCode == element.zoneCode)) \r\n // {}\r\n // else{\r\n // let objZone = {\r\n // zoneName: element.zoneName,zoneCode: element.zoneCode, order:1\r\n // }; \r\n // this.zoneTableNew.push(objZone);\r\n // }\r\n // })\r\n // this.zoneTableNew.sort((a,b) => a.zoneName > b.zoneName ? 1 : -1)\r\n\r\n\r\n // console.log(this.zoneTableNew)\r\n \r\n\r\n \r\n \r\n \r\n this.years = resData.data.yearTable;\r\n this.months = resData.data.monthTable;\r\n this.selectedYear = String(this.currentYear);\r\n this.loader = 'none'; \r\n this.GetFPEBudgetListingData(); \r\n }\r\n })\r\n }\r\n \r\n ChangeRegionFrom(RegionFrom:string)\r\n {\r\n debugger;\r\n this.FromRegion=RegionFrom;\r\n }\r\n TransferBudget()\r\n {\r\n debugger;\r\n this.displaytransferudget=true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back'); \r\n \r\n }\r\n onClose(event:any){\r\n this.displaytransferudget=false;\r\n }\r\n OnFilterselect(filterIndex: any) {\r\n debugger;\r\n if (filterIndex == 1) {\r\n this.SetDivision(); \r\n }\r\n else if (filterIndex == 2) {\r\n this.SetDivision(); \r\n } \r\n }\r\n \r\n GetFPEBudgetListingData() {\r\n this.loader = 'block'; \r\n debugger;\r\n this.GetDivBudgetFilterYear();\r\n \r\n // if(this.roleId!='42' && this.roleId!='43'){\r\n // this.selectedZone='';\r\n // }\r\n \r\n this.IsShowUtilisedContigencyBudget=false;\r\n this.fpeBudgetService.GetFPEBudgetListingData(this.selectedMA, this.selectedSBU,this.selectedDivision,this.selectedZone, this.selectedYear, this.selectedState, this.selectedActivity, this.selectedMonth)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.regionTable = resData.data.regionTable;\r\n //this.budgetDataTable = resData.data.activityTypeDataTable;\r\n this.activityGroupTable = resData.data.activityGroupDataTable;\r\n this.totalDataTable = resData.data.totalDataTable;\r\n this.activityTable = resData.data.activityTable;\r\n this.zoneTable = resData.data.zoneTable;\r\n this.count = resData.data.countTable[0].count;\r\n this.contiBudget = resData.data.contigencyTable[0].budget;\r\n console.log(resData.data);\r\n //this.GetDivBudgetFilterYear();\r\n this.UtilisedContigencyBudget='0';\r\n if (this.roleId == '36' || this.roleId == '37') {\r\n var arr:any=[]\r\n arr= this.totalDataTable.find(e=>e.activity == this.currentPendingAllocation)\r\n var str=(arr.grandTotal).toString();\r\n var newstr = Number(str.replaceAll(',', ''));\r\n if(newstr<0){\r\n newstr= -(newstr); //make number positive\r\n this.UtilisedContigencyBudget = this.ConvertNumberToSpecialFormate(newstr); //Convert to special formate\r\n this.ContigencyBudgetText= this.selectedYear +' Allocated Contigency Budget'\r\n this.IsShowUtilisedContigencyBudget=true;\r\n }\r\n }\r\n this.loader = 'none';\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n }\r\n });\r\n this.display = true; \r\n }\r\n \r\n Filter() {\r\n debugger;\r\n this.selectedState=\"\";\r\n this.GetFPEBudgetListingData();\r\n }\r\n ZoneFilter() {\r\n debugger;\r\n this.GetFPEBudgetListingData();\r\n }\r\n RowButton(id: any) {\r\n debugger;\r\n $(\".\" + id + \"g\").toggleClass(\"demos-show\");\r\n $(\".\" + id + \" img\").toggleClass(\"active\");\r\n }\r\n \r\n ColumnButton(id: any) {\r\n debugger;\r\n $(\".\" + id + \"1\").toggleClass(\"show\");\r\n $(\".\" + id + \" img\").toggleClass(\"active\");\r\n $(\".\" + id + \"\").children(\"img.v-line\").toggleClass(\"no-v-line\");\r\n }\r\n \r\n Submit() {\r\n debugger;\r\n this.loader = 'block'; \r\n this.fpeBudgetService.SubmitFPEBudgetData()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.GetFPEBudgetListingData();\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.data[0].message);\r\n this.loader = 'none'; \r\n }\r\n })\r\n }\r\n \r\n exceldownload() {\r\n debugger;\r\n this.loader = 'block'; \r\n var url = \"/api/FPEBudget/DownloadFPEExcel\";\r\n this.fpeBudgetService.FPEBudgetExcelDownload(url, this.userName, this.roleId, this.selectedYear,this.selectedMA, this.selectedSBU, this.selectedMonth,this.selectedExcelDivision,this.selectedExcelZone)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names = name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + '_MABudgetAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none'; \r\n this.displayDivisionFilter = false;\r\n this.selectedExcelDivision = '';\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n //this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none'; \r\n }\r\n );\r\n }\r\n IsCurrentYear(str: string, j: number, i: any) {\r\n debugger;\r\n this.currentYearTotal = j;\r\n if (str.includes(this.currentYear.toString())) {\r\n let colName = str.split('|');\r\n let previouscolumnName = colName[0] + \"|\" + (this.currentYear - 1);\r\n if (previouscolumnName.includes(\"Total\")) {\r\n debugger;\r\n }\r\n if (i[previouscolumnName] == undefined || i[str] == null) {\r\n this.previousYearTotal = -1;\r\n }\r\n else {\r\n this.previousYearTotal = 0;\r\n \r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n \r\n IsPreviousYear(str: string, j: number, i: number) {\r\n debugger;\r\n this.previousYearTotal = j;\r\n if (str.includes(this.previousYear.toString())) {\r\n let colName = str.split('|');\r\n let currentyearcolumnName = colName[0] + \"|\" + (this.currentYear);\r\n if (currentyearcolumnName.includes(\"Total\")) {\r\n \r\n }\r\n if (i[currentyearcolumnName] == undefined || i[str] == null) {\r\n this.currentYearTotal = -1;\r\n }\r\n else {\r\n this.currentYearTotal = 0;\r\n \r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n \r\n IsTotal(col: any) {\r\n \r\n debugger;\r\n if (col.split('|')[0] == \"Total\") {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n \r\n CalculateLastRow() {\r\n debugger;\r\n for (var i = 0; i < this.filterData.length; i++) {\r\n let j = 0;\r\n //To check if no data is present in the row \r\n //if (this.filterData[i].Total != null && this.filterData[i].Total > 0) {\r\n \r\n //This loop is running on column based so that we can get crop inserted values.\r\n \r\n for (let key of Object.keys(this.filterData[i])) {\r\n \r\n \r\n \r\n \r\n let vari = Object.keys(this.filterData[0]);\r\n \r\n \r\n if (key.split(\"|\")[1] == this.currentYear.toString() || key == \"REVPY\" || key == \"REVPer\") {\r\n if (i == 0) {\r\n this.numbers[j] = this.filterData[i][key]\r\n }\r\n else {\r\n this.numbers[j] = this.numbers[j] + this.filterData[i][key]\r\n \r\n }\r\n \r\n }\r\n else if (key.split(\"|\")[1] == this.previousYear.toString()) {\r\n if (i == 0) {\r\n this.numbers[j] = this.filterData[i][key]\r\n }\r\n else {\r\n this.numbers[j] = this.numbers[j] + this.filterData[i][key]\r\n \r\n }\r\n \r\n }\r\n j++;\r\n }\r\n \r\n }\r\n let arrlength = this.numbers.length;\r\n let lastarrvalue = this.numbers[arrlength - 1];\r\n let secondlastarrvalue = this.numbers[arrlength - 2];\r\n let thirdlastvalue = this.numbers[arrlength - 3];\r\n if (this.filterData.length < 2) {\r\n if (this.filterData[0][\"Total|\" + (this.currentYear - 1)] == undefined) {\r\n this.numbers[arrlength - 2] = \"0\";\r\n this.numbers[arrlength - 1] = secondlastarrvalue;\r\n this.numbers[arrlength] = lastarrvalue;\r\n \r\n }\r\n if (this.filterData[0][\"Total|\" + (this.currentYear)] == undefined) {\r\n \r\n this.numbers[arrlength - 3] = \"0\";\r\n this.numbers[arrlength - 2] = thirdlastvalue;\r\n this.numbers[arrlength - 1] = secondlastarrvalue;\r\n this.numbers[arrlength] = lastarrvalue;\r\n \r\n }\r\n }\r\n }\r\n GetbudgetAndRemainingBudget() {\r\n debugger;\r\n this.fpeBudgetService.getBudgetAndRemainingBudget(this.userId).subscribe((response: any) => {\r\n if (response.message == \"Success\") {\r\n this.NetBudget = response.data[0][\"total\"];\r\n this.RemainingBudget = response.data[0][\"remaining\"];\r\n // console.log(this.budgetTypeDetails);\r\n //this.loader='none';\r\n }\r\n });\r\n }\r\n SubmitFPEBudget(isSave: string) {\r\n debugger;\r\n this.loader = 'block'; \r\n var url = \"/api/FPEBudget/SubmitFPEBudget\";\r\n this.fpeBudgetService.SubmitFPEBudget(isSave, this.currentYear)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n this.loader = 'none'; \r\n //this.getAnnualRequirementDetails();\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n }\r\n // this.getDocuments();\r\n // this.displayUpload = 'none';\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n // this.loader = 'none';\r\n });\r\n \r\n \r\n }\r\n selected() {\r\n debugger;\r\n this.SelectedYear = this.selectedLevel;\r\n }\r\n \r\n DisplayDivisionFilter(){\r\n debugger;\r\n this.selectedExcelDivision = this.divisionTable[0].divisionCode;\r\n this.selectedExcelZone = this.zoneTableNew[0].zoneCode;\r\n this.displayDivisionFilter = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n \r\n ClosePopUp(){\r\n debugger;\r\n this.displayDivisionFilter = false;\r\n this.selectedExcelDivision = '';\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n \r\n ExportFPEBudgetData() {\r\n debugger;\r\n this.loader = 'block'; \r\n var url = \"/api/FPEBudget/ExportFPEBudgetData\";\r\n this.fpeBudgetService.ExportFPEBudgetData(url, this.userName, this.selectedMA, this.selectedSBU, this.selectedYear,this.selectedMonth)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names = name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + '_MABudgetAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none'; \r\n //this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none'; \r\n //this.loader = 'none';\r\n }\r\n );\r\n }\r\n GetAllKeysFromList(data: any) {\r\n debugger;\r\n var response = data.reduce(function (arr, o) {\r\n return Object.keys(o).reduce(function (a, k) {\r\n if (a.indexOf(k) == -1) a.push(k);\r\n return a;\r\n }, arr)\r\n }, []);\r\n return response;\r\n }\r\n GetAllKeysFromList1(data: any) {\r\n debugger;\r\n var response = data.reduce(function (arr, o) {\r\n return Object.keys(o).reduce(function (a, k) {\r\n k = k.split('|')[0]\r\n if (a.indexOf(k) == -1) a.push(k);\r\n return a;\r\n \r\n }, arr)\r\n }, []);\r\n return response;\r\n }\r\n BindFPEBudgetData(budgetType: string, year: number): void {\r\n debugger;\r\n if (budgetType == \"-1\") {\r\n alert(\"Please select budget type.\")\r\n }\r\n else {\r\n var url = \"/api/FPEBudget/BindFPEBudget\";\r\n this.fpeBudgetService.BindFPEBudgetData(url, budgetType, year)\r\n .subscribe(res => {\r\n if (res != null) {\r\n if (res.length > 0) {\r\n // this.revenue = res;\r\n // this.loader = 'none';\r\n // this.isFilterDataExist = 'block';\r\n this.filterData = res;\r\n this.allColumnName = this.GetAllKeysFromList1(this.filterData);\r\n this.allColumnFullName = this.GetAllfullKeysFromList(this.filterData)\r\n this.CalculateLastRow();\r\n } else {\r\n // this.loader = 'none';\r\n // this.displayNoRecordFound = 'block';\r\n }\r\n }\r\n else {\r\n //this.liquidation = res;\r\n //this.loader = 'none';\r\n //this.displayProceed = 'block';\r\n //this.displayNoRecordFound = 'none';\r\n \r\n }\r\n //this.loader = 'none';\r\n }, error => {\r\n // this.loader = 'none';\r\n this.toastr.error(\"Some problem occured, Please try again later.\");\r\n });\r\n }\r\n \r\n }\r\n GetAllfullKeysFromList(data: any) {\r\n debugger;\r\n var response = data.reduce(function (arr, o) {\r\n return Object.keys(o).reduce(function (a, k) {\r\n \r\n if (a.indexOf(k) == -1) a.push(k);\r\n return a;\r\n \r\n }, arr)\r\n }, []);\r\n return response;\r\n }\r\n filesDroppedAdd(files: File[]) {\r\n debugger;\r\n this.loader = 'block';\r\n this.files = [];\r\n this.files = files;debugger;\r\n //let fileNameParts: string[] = files[0].name.split('.');\r\n //let fileType = files[0].name.split('.')[fileNameParts.length - 1];\r\n let lastIndex=files[0].name.lastIndexOf('.');\r\n let fileNameParts=files[0].name.substring(0,lastIndex);\r\n let fileType=files[0].name.substring(lastIndex+1);\r\n \r\n let name = localStorage.getItem('mabt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[2];\r\n let correctFileName = firstname + '_MABudgetAllocation_'\r\n //if (fileNameParts[0].includes(correctFileName)) {\r\n if (fileNameParts.includes(correctFileName)) {\r\n this.isFileCorrect = true;\r\n }\r\n else {\r\n this.isFileCorrect = false;\r\n }\r\n if (this.isFileCorrect == false) {\r\n // this.snackbar.openSnackBar('Please select a valid file.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select a valid file.');\r\n this.loader = 'none'; \r\n // this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackbar.openSnackBar('Please select valid file type.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select valid file type.');\r\n this.loader = 'none'; \r\n // this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n \r\n //this.loader = 'block';\r\n this.document.file = this.files[0];\r\n //this.document.UploadedBy = localStorage.getItem('userId');\r\n this.fpeBudgetService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n if (resData.data[0].status != 'false') {\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.data[0].message);\r\n this.loader = 'none'; \r\n this.BindFPEBudgetData(\"1\", this.selectedYear);\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n this.GetFPEBudgetListingData();\r\n this.isFilterDataExist = 'block';\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.data[0].message);\r\n this.loader = 'none'; \r\n this.BindFPEBudgetData(\"1\", this.selectedYear);\r\n this.GetFPEBudgetListingData();\r\n this.isFilterDataExist = 'block';\r\n }\r\n } else {\r\n \r\n if (resData.status == false) {\r\n this.GetFPEBudgetListingData();\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n // this.BindFPEBudgetData(\"1\",this.currentYear);\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n // this.isFilterDataExist = 'block';\r\n }\r\n if (resData.message == \"Unauthorized\") {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n }\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n }\r\n // this.getDocuments();\r\n // this.displayUpload = 'none';\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n // this.loader = 'none';\r\n });\r\n this.files = files;\r\n this.fileName = files[0].name;\r\n \r\n }\r\n GetBudgetType() {\r\n debugger;\r\n this.fpeBudgetService.getBudgetTypes().subscribe((response: any) => {\r\n if (response.message == \"Success\") {\r\n this.budgetTypeDetail = response.data;\r\n console.log(this.budgetTypeDetail);\r\n }\r\n });\r\n }\r\n excelActivityBudgetDownload(){\r\n debugger;\r\n this.loader = 'block';\r\n var url = \"/api/BudgetAllocation/DownloadRegionPerActivityBudget_Excel\";\r\n this.fpeBudgetService.RegionPerActivityExcelDownload(url,this.userName,this.selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname +'_RegionLevelAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n \r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n excelInitialRevOpsBudgetDownload(){\r\n debugger;\r\n var url = \"/api/FPEBudget/DownloadInitialRevOpsBudget_Excel\";\r\n this.loader = 'block';\r\n this.fpeBudgetService.ExcelInitialRevOpsBudgetDownload(url,this.userName,this.selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname +'_InitialBudget_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n filesDroppedAddRegionData(files: File[]) {\r\n debugger;\r\n this.loader = 'block';\r\n this.files = [];\r\n this.files = files;debugger;\r\n let lastIndex=files[0].name.lastIndexOf('.');\r\n let fileNameParts=files[0].name.substring(0,lastIndex);\r\n let fileType=files[0].name.substring(lastIndex+1);\r\n \r\n let name = localStorage.getItem('mabt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n let correctFileName = firstname + '_RegionLevelAllocation_'\r\n if (fileNameParts.includes(correctFileName)) {\r\n this.isFileCorrect = true;\r\n }\r\n else {\r\n this.isFileCorrect = false;\r\n }\r\n if (this.isFileCorrect == false) {\r\n // this.snackbar.openSnackBar('Please select a valid file.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select a valid file.');\r\n this.loader = 'none'; \r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackbar.openSnackBar('Please select valid file type.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select valid file type.');\r\n this.loader = 'none'; \r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n this.document.file = this.files[0];\r\n this.fpeBudgetService.uploadDocumentRegionWise(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n if (resData.data[0].status != 'false') {\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.data[0].message);\r\n this.loader = 'none'; \r\n this.BindFPEBudgetData(\"1\", this.selectedYear);\r\n this.GetFPEBudgetListingData();\r\n this.isFilterDataExist = 'block';\r\n this.input.nativeElement.value = null;\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.data[0].message);\r\n this.loader = 'none'; \r\n this.BindFPEBudgetData(\"1\", this.selectedYear);\r\n this.GetFPEBudgetListingData();\r\n this.isFilterDataExist = 'block';\r\n this.input.nativeElement.value = null;\r\n }\r\n } else {\r\n \r\n if (resData.status == false) {\r\n this.GetFPEBudgetListingData();\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n }\r\n if (resData.message == \"Unauthorized\") {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n }\r\n this.loader = 'none'; \r\n }\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n });\r\n this.files = files;\r\n this.fileName = files[0].name;\r\n \r\n }\r\n excelDownloadActivityTypeMapping(){\r\n debugger;\r\n this.loader = 'block';\r\n var url = \"/api/FPEBudget/DownloadActivityTypeMapping_Excel\";\r\n this.fpeBudgetService.ActivityTypeMappingDownload(url,this.userName,this.selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName ='ActivityTypeMapping_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n \r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n ConvertNumberToSpecialFormate(Number: any) {\r\n let ActNumber = Math.round(parseFloat(Number));\r\n let data = ActNumber.toString();\r\n let num = data.split('.');\r\n let lastThree = num[0].substring(num[0].length - 3);\r\n let otherNumber = num[0].substring(0, num[0].length - 3);\r\n if (otherNumber != '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n var total = otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\r\n return total;\r\n }\r\n\r\n\r\n ChangeDownloadDivision(Division:any)\r\n {\r\n debugger;\r\n\r\n this.zoneTableNew=[]; \r\n let mainZoneFilterCopy=[];\r\n if(Division!='')\r\n {\r\n mainZoneFilterCopy=this.mainZoneFilter.filter(x=>x.divisionCode==Division); \r\n }\r\n else\r\n {\r\n mainZoneFilterCopy=this.mainZoneFilter;\r\n }\r\n //mainZoneFilterCopy=this.mainZoneFilter;\r\n let objZone = {\r\n zoneName: ' All Zones',zoneCode: '', order:1\r\n };\r\n this.zoneTableNew.push(objZone);\r\n mainZoneFilterCopy.forEach(element => {\r\n if(this.zoneTableNew.find(x=>x.zoneCode == element.zoneCode)) \r\n {}\r\n else{\r\n let objZone = {\r\n zoneName: element.zoneName,zoneCode: element.zoneCode, order:1\r\n }; \r\n this.zoneTableNew.push(objZone);\r\n }\r\n })\r\n this.zoneTableNew.sort((a,b) => a.zoneName > b.zoneName ? 1 : -1)\r\n console.log(this.zoneTableNew)\r\n\r\n \r\n }\r\n}\r\n","module.exports = \".bug-btn {\\r\\n width: 145px !important; \\r\\n height: 40px;\\r\\n margin: 34.3px 49px 0px 12.4px;\\r\\n padding: 11px 15px 10px 15px;\\r\\n border-radius: 4px;\\r\\n background-color: #1e9600;\\r\\n}\\r\\n.popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n.popup-wrap-request button{\\r\\n width: 90px !important;\\r\\n}\\r\\n.popup-wrap-request .filter select{\\r\\n float: left;\\r\\n width: 72%;\\r\\n margin-left: 3%;\\r\\n padding-left: 5px;\\r\\n padding-right: 25px;\\r\\n height: 30px;\\r\\n border: 1px solid #d4d4d4;\\r\\n border-radius: 4px;\\r\\n background: #fff url('select-arrow.jpg') no-repeat 96% 10px;\\r\\n -webkit-appearance: none;\\r\\n -moz-appearance: none;\\r\\n appearance: none;\\r\\n}\\r\\n.popup-wrap-request .filter label{\\r\\n float: left;\\r\\n}\\r\\n.popup-wrap-request .filter{\\r\\n margin-bottom: 15px;\\r\\n overflow: hidden;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9mcGVidWRnZXQtYWxsb2NhdGlvbi9mcGVidWRnZXQtYWxsb2NhdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksd0JBQXdCO0lBQ3hCLGFBQWE7SUFDYiwrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQiwwQkFBMEI7Q0FDN0I7QUFDRDtJQUNJLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGlDQUFpQztJQUNqQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0NBQ2Y7QUFDRDtJQUNJLHVCQUF1QjtDQUMxQjtBQUNEO0lBQ0ksWUFBWTtJQUNaLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixhQUFhO0lBQ2IsMEJBQTBCO0lBQzFCLG1CQUFtQjtJQUNuQiw0REFBbUY7SUFDbkYseUJBQWlCO09BQWpCLHNCQUFpQjtZQUFqQixpQkFBaUI7Q0FDcEI7QUFDRDtJQUNJLFlBQVk7Q0FDZjtBQUNEO0lBQ0ksb0JBQW9CO0lBQ3BCLGlCQUFpQjtDQUNwQiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvZnBlYnVkZ2V0LWFsbG9jYXRpb24vZnBlYnVkZ2V0LWFsbG9jYXRpb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5idWctYnRuIHtcclxuICAgIHdpZHRoOiAxNDVweCAhaW1wb3J0YW50OyBcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIG1hcmdpbjogMzQuM3B4IDQ5cHggMHB4IDEyLjRweDtcclxuICAgIHBhZGRpbmc6IDExcHggMTVweCAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU5NjAwO1xyXG59XHJcbi5wb3B1cC13cmFwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHotaW5kZXg6IDE2O1xyXG59XHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgYnV0dG9ue1xyXG4gICAgd2lkdGg6IDkwcHggIWltcG9ydGFudDtcclxufVxyXG4ucG9wdXAtd3JhcC1yZXF1ZXN0IC5maWx0ZXIgc2VsZWN0e1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogNzIlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3NlbGVjdC1hcnJvdy5qcGcnKSBuby1yZXBlYXQgOTYlIDEwcHg7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgLmZpbHRlciBsYWJlbHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgLmZpbHRlcntcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n

MA Budget Allocation

\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\\"no-image\\\"Download Format\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\\"no-image\\\"Download Format\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Activity Type Mapping\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Filters

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\\"no-Image\\\"\\r\\n \\\"no-Image\\\"\\r\\n \\r\\n {{region.region}} Total\\r\\n Grand Total
\\r\\n \\r\\n {{region.regionName}}
\\r\\n \\r\\n {{group.name}}\\r\\n {{value.value}}{{value.value}}{{budget.grandTotal}}
{{group.name}}\\r\\n {{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{currentFpePercent}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{roleId==44?(value.value):''}}{{roleId==44 ?(value.value):''}}{{budget.grandTotal}}
{{ContigencyBudgetText}}{{roleId==44?(value.value):''}}{{roleId==44?(value.value):''}}{{UtilisedContigencyBudget}}
{{budget.activity}}{{roleId==44?(value.value):''}}{{roleId==44?(value.value):''}}{{IsShowUtilisedContigencyBudget ? 0: budget.grandTotal }}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{budget.activity}}{{value.value}}{{value.value}}{{budget.grandTotal}}
{{fbePercent}}{{value.value}}{{value.value}}{{budget.grandTotal}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\t
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n \\r\\n\\t\\t\\t\\t\\t\\r\\n \\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t
RegionActivity GroupMonthBudget AllocatedBudget UtilizedBudget Remaining
{{ data.region +'('+ data.regionName +')' }}{{ data.activityGroup }}{{ data.activityGroup }}{{ data.monthCode }}{{ data.totalBalanceAmount }}{{ data.usedBalanceAmount }}{{ data.remainingBalance }}
\\r\\n\\t
\\r\\n\\t
\\r\\n\\t\\t

Transfer From Region/Activity Group

\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n \\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\t
\\r\\n\\t\\t

Transfer To Region/Activity Group

\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n \\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\t\\r\\n\\t
\\t\\r\\n\\t
\\r\\n\\t\\tAmount:-\\r\\n\\t\\t\\r\\n\\t
\\r\\n
\\r\\n\\t\\t\\r\\n \\r\\n\\t
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'node_modules/ngx-toastr';\r\nimport { FPEBudgetService } from 'src/app/Services/FPEBudget/fpebudget.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { saveAs } from 'file-saver';\r\nimport { Documents } from '../../Models/FPEBudget/ExcelDocuments';\r\nimport * as $ from 'jquery';\r\nimport { element } from '@angular/core/src/render3/instructions';\r\nimport{BrandBudgetService}from 'src/app/Services/BrandBudget/brand-budget.service';\r\n\r\n@Component({\r\n selector: 'app-fpebudget-allocation',\r\n templateUrl: './fpebudget-allocation.component.html',\r\n styleUrls: ['./fpebudget-allocation.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class FPEBudgetAllocationComponent implements OnInit {\r\n userId: string;\r\n files: File[] = [];\r\n selectedLevel;\r\n isFileCorrect: boolean;\r\n @ViewChild('file') input;\r\n filterData: any;\r\n allColumnName: any = [];\r\n allColumnFullName: any = [];\r\n numbers = new Array();\r\n displaytransferudget:boolean=false;\r\n private _file: File;\r\n userName: string;\r\n TransferedAmount:number=0;\r\n fileName: string = '';\r\n document: Documents = new Documents();\r\n roles: string;\r\n transferActivityGroup:string=\"\";\r\n roleId: string;\r\n previousYear: number;\r\n SelectedYear: number;\r\n SelectedActivityGroup:string=\"\";\r\n SelectMonth:string='0';\r\n NetBudget: number;\r\n RemainingBudget: number;\r\n currentYear: number;\r\n currentMonth:number;\r\n budgetTypeDetail: any = [];\r\n isFilterDataExist: string = \"none\";\r\n previousYearTotal: number;\r\n currentYearTotal: number;\r\n regionTable: any[] = [];\r\n budgetDataTable: { [key: string]: string }[] = [];\r\n totalDataTable: { [key: string]: string }[] = [];\r\n activityGroupTable : { [key: string]: string }[] = [];\r\n activityTable: any[] = [];\r\n zoneTable: any[] = [];\r\n selectedActivity: any = '';\r\n selectedState: any = '';\r\n selectedMA: any = '';\r\n selectedSBU: any = '';\r\n selectedDivision:any='';\r\n selectedZone:any='';\r\n selectedYear: any = '';\r\n FromRegion:string=\"\";\r\n ToRegion:string=\"\";\r\n selectedExcelDivision : any = '';\r\n mainMaFilter: any[] = [];\r\n ma: any[] = [];\r\n divisions : any[] = [];\r\n mainYearFilter: any[] = [];\r\n years: any[] = [];\r\n mainSbuFilter: any[] = [];\r\n sbu: any[] = [];\r\n mainDivisionFilter: any[]=[];\r\n division:any[]=[];\r\n divisionTable:any[]=[];\r\n mainZoneFilter: any[]=[];\r\n zone:any[]=[];\r\n mappingTable: any[] = [];\r\n display: boolean = true;\r\n revenue: string = '';\r\n fbeBudget: string = '';\r\n fbePercent: string = '';\r\n currentPo: string = '';\r\n currentFpePercent: string = '';\r\n currentAllocation: string = '';\r\n currentFpeBudget: string = '';\r\n currentPendingAllocation: string = '';\r\n count: number = 0;\r\n loader : string = '';\r\n contiBudget : string = '0';\r\n months : any[] = [];\r\n selectedMonth : string = '0';\r\n displayDivisionFilter : boolean = false;\r\n BudgetList:any=[];\r\n GroupList:any=[];\r\n RegionList:any=[];\r\n IsShowUtilisedContigencyBudget:boolean=false;\r\n ContigencyBudgetText:string=''\r\n UtilisedContigencyBudget:string='0';\r\n constructor(private brandBudgetService: BrandBudgetService,private route: ActivatedRoute, private fpeBudgetService: FPEBudgetService, private datepipe: DatePipe, private router: Router, private form: FormBuilder, public toastr: ToastrService, private snackbar: MatSnackBarComponent) {\r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.roles = localStorage.getItem('mabt_RoleCode');\r\n this.roleId = localStorage.getItem('mabt_roleID');\r\n this.previousYear = (new Date()).getFullYear() - 1;\r\n this.currentYear = (new Date()).getFullYear();\r\n this.currentMonth = (new Date()).getMonth()+1;\r\n this.filterData = [];\r\n this.years = [\r\n this.currentYear, this.previousYear\r\n ];\r\n this.GetDivBudgetFilterYear();\r\n }\r\n\r\n ngOnInit() {\r\n // this.GetBudgetType();\r\n // this.GetbudgetAndRemainingBudget();\r\n this.GetFPEBudgetFilterData();\r\n }\r\nGetDivBudgetFilterYear()\r\n{\r\n if(this.selectedYear==''){\r\n this.revenue = this.previousYear + ' Revenue';\r\n this.fbeBudget = this.previousYear + ' MA Expenses';\r\n this.fbePercent = this.previousYear + ' MA % As Part of Revenue';\r\n this.currentPo = this.currentYear + ' PO';\r\n this.currentAllocation = this.currentYear + ' Allocation';\r\n this.currentFpePercent = this.currentYear + ' MA % As Percentage of PO';\r\n this.currentFpeBudget = this.currentYear + ' MA Budget';\r\n this.currentPendingAllocation = this.currentYear + ' Allocation Pending';\r\n }\r\n else{\r\n this.revenue = (Number(this.selectedYear)-1).toString() + ' Revenue';\r\n this.fbeBudget = (Number(this.selectedYear)-1).toString() + ' MA Expenses';\r\n this.fbePercent = (Number(this.selectedYear)-1).toString() + ' MA % As Part of Revenue';\r\n this.currentPo = this.selectedYear + ' PO';\r\n this.currentAllocation = this.selectedYear + ' Allocation';\r\n this.currentFpePercent = this.selectedYear + ' MA % As Percentage of PO';\r\n this.currentFpeBudget = this.selectedYear + ' MA Budget';\r\n this.currentPendingAllocation = this.selectedYear + ' Allocation Pending';\r\n }\r\n}\r\n\r\nDownloadBrandBudgetExcel() {\r\n debugger;\r\nthis.loader = 'block';\r\nthis.brandBudgetService.BudgetExcelDownload(this.userName,this.currentYear)\r\n.subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname + '_' + lastName + '_BrandBudgetAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n);\r\n}\r\n\r\n GetFPEBudgetFilterData() {\r\n this.loader = 'block'; \r\n this.fpeBudgetService.GetFPEBudgetFilterData()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.mainMaFilter = resData.data.maTable;\r\n this.ma = resData.data.maTable;\r\n this.mainSbuFilter = resData.data.sbuTable;\r\n this.sbu = resData.data.sbuTable;\r\n this.mainDivisionFilter=resData.data.divisionTable;\r\n this.division=resData.data.divisionTable;\r\n this.mainZoneFilter=resData.data.zoneTable;\r\n this.zone=resData.data.zoneTable;\r\n this.mainYearFilter = resData.data.yearTable;\r\n this.years = resData.data.yearTable;\r\n this.mappingTable = resData.data.mappingTable;\r\n this.months = resData.data.monthTable;\r\n this.divisionTable=resData.data.divisionTable;\r\n if (this.roleId == '48' || this.roleId == '37') {\r\n if (this.ma.length >= 1) {\r\n this.selectedMA = this.ma[this.ma.length-1].id\r\n }\r\n if (this.sbu.length >= 1) {\r\n this.selectedSBU = this.sbu[this.sbu.length-1].sbuCode;\r\n }\r\n if (this.years.length >= 1) {\r\n this.selectedYear = String(this.currentYear);\r\n }\r\n }\r\n else {\r\n if (this.ma.length >= 2) {\r\n this.selectedMA = this.ma[1].id\r\n }\r\n if (this.sbu.length >= 2) {\r\n this.selectedSBU = resData.data.sbuTable[1].sbuCode;\r\n }\r\n if (this.years.length >= 2) {\r\n this.selectedYear = String(this.currentYear);\r\n }\r\n }\r\n this.loader = 'none'; \r\n this.OnFilterselect(0);\r\n this.GetFPEBudgetListingData();\r\n console.log(resData.data);\r\n }\r\n })\r\n }\r\n HidePopup()\r\n {\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.displaytransferudget=false;\r\n this.transferActivityGroup=\"\";\r\n this.FromRegion=\"\";\r\n this.ToRegion=\"\";\r\n this.TransferedAmount=0;\r\n \r\n }\r\n ChangeActivityGroup(group:any)\r\n {\r\nthis.SelectedActivityGroup=group;\r\n }\r\n ChangeMonth(Month:any)\r\n {\r\nthis.SelectMonth=Month;\r\n }\r\n ShowData()\r\n {\r\n \r\n if(this.SelectedActivityGroup==\"\" || this.SelectedActivityGroup==\"0\" || this.SelectedActivityGroup==undefined)\r\n {\r\n // this.snackbar.openSnackBar(\"Please select Activity Group\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select Activity Group.');\r\n }\r\n else if(this.SelectMonth==\"\" || this.SelectMonth==\"0\")\r\n {\r\n // this.snackbar.openSnackBar(\"Please select Month\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select Month.');\r\n }\r\n else{\r\n this.loader='block';\r\n this.fpeBudgetService.GetRegionListWithBudget(this.SelectMonth,this.SelectedActivityGroup)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {debugger;\r\n this.BudgetList=resData.data.table;\r\n this.GroupList=resData.data.table1;\r\n this.RegionList=resData.data.table2;\r\n } else {\r\n // this.snackbar.openSnackBar(\"Some error Occured\", 'Close', 'red-snackbar');\r\n this.toastr.error('Some error Occured.');\r\n this.transferActivityGroup=\"\";\r\n this.FromRegion=\"\";\r\n this.ToRegion=\"\";\r\n this.TransferedAmount=0;\r\n }\r\n this.loader='none';\r\n });\r\n this.display = true; \r\n }\r\n }\r\n ChangeRegionFrom(RegionFrom:string)\r\n {\r\nthis.FromRegion=RegionFrom;\r\n }\r\n ChangeRegionto(RegionTo:string)\r\n {\r\n this.ToRegion=RegionTo;\r\n }\r\n TransferBudgetToOtherRegion()\r\n {debugger;\r\nif(this.SelectMonth==\"\")\r\n{\r\n // this.snackbar.openSnackBar(\"Please select month.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select month.');\r\n}\r\nelse if (this.transferActivityGroup==\"\" ||this.transferActivityGroup==\"0\" || this.transferActivityGroup==undefined)\r\n{\r\n // this.snackbar.openSnackBar(\"Please select Activity Group.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select Activity Group.');\r\n}\r\nelse if(this.TransferedAmount==0 ||this.TransferedAmount<0 )\r\n{\r\n // this.snackbar.openSnackBar(\"Please enter amount.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter amount.');\r\n}\r\nelse if (this.ToRegion==\"\" ||this.ToRegion==\"0\" || this.ToRegion==undefined)\r\n{\r\n // this.snackbar.openSnackBar(\"Please select region.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select region.');\r\n}\r\nelse if (this.FromRegion==\"\" ||this.FromRegion==\"0\" || this.FromRegion==undefined)\r\n{\r\n // this.snackbar.openSnackBar(\"Please select region.\", 'Close', 'red-snackbar');\r\n this.toastr.error('Please select region.');\r\n}\r\nelse\r\n{\r\nthis.loader='block';\r\n this.fpeBudgetService.TransferBudget(this.SelectMonth,this.SelectedActivityGroup,this.transferActivityGroup,this.FromRegion,this.ToRegion,this.TransferedAmount)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {debugger;\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n this.ShowData();\r\n this.transferActivityGroup=\"\";\r\n this.FromRegion=\"\";\r\n this.ToRegion=\"\";\r\n this.TransferedAmount=0;\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n }\r\n this.loader='none';\r\n });\r\n }\r\n }\r\n\r\n TransferBudget()\r\n {\r\nthis.displaytransferudget=true;\r\nconst body = document.getElementsByTagName('body')[0];\r\nbody.classList.add('overlay-back');\r\nthis.fpeBudgetService.GetRegionListWithBudget(this.SelectMonth,this.SelectedActivityGroup)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {debugger;\r\n this.BudgetList=[];\r\n this.GroupList=resData.data.table1;\r\n this.RegionList=resData.data.table2;\r\n } else {\r\n \r\n }\r\n });\r\n this.display = true; \r\n \r\n \r\n }\r\n SelectActivityGroup(ActivityGroup:any)\r\n {\r\n this.transferActivityGroup=ActivityGroup;\r\n }\r\n\r\n OnFilterselect(filterIndex: any) {\r\n debugger;\r\n \r\n let maFilterTable = this.mainMaFilter;\r\n let sbuFilterTable = this.mainSbuFilter;\r\n let divisionFilterTable= this.mainDivisionFilter;\r\n let zoneFilterTable= this.mainZoneFilter;\r\n let yearFilterTable = this.mainYearFilter;\r\n let ma: any = this.selectedMA;\r\n let sbu: any = this.selectedSBU;\r\n let division:any=this.selectedDivision;\r\n let zone:any=this.selectedZone;\r\n let year: any = this.selectedYear\r\n let dependentMaFilter: any[] = [];\r\n let dependentSbuFilter: any[] = [];\r\n let dependentDivisionFilter: any[] = [];\r\n let dependentYearFilter: any[] = [];\r\n if (filterIndex == 1) {\r\n this.mappingTable.forEach(element => {\r\n if (element.id == ma) {\r\n sbuFilterTable.forEach(item => {\r\n if (item.sbuCode == element.sbuCode) {\r\n if(!dependentSbuFilter.includes(item.sbuCode)){\r\n dependentSbuFilter.push(item.sbuCode);\r\n }\r\n }\r\n });\r\n divisionFilterTable.forEach(item => {\r\n if (item.divisionCode == element.divisionCode) {\r\n if(!dependentDivisionFilter.includes(item.divisionCode)){\r\n dependentDivisionFilter.push(item.divisionCode);\r\n }\r\n }\r\n });\r\n yearFilterTable.forEach(item => {\r\n if (item.id == element.year) {\r\n if(!dependentYearFilter.includes(item.id)){\r\n dependentYearFilter.push(item.id);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n if(ma==\"\"){\r\n this.selectedSBU =\"\";\r\n this.selectedDivision=\"\";\r\n this.selectedYear = String(this.currentYear);\r\n }else{\r\n this.selectedSBU = dependentSbuFilter[0];\r\n this.selectedDivision=dependentDivisionFilter[0];\r\n this.selectedYear = dependentYearFilter[1];\r\n }\r\n }\r\n else if (filterIndex == 2) {\r\n this.mappingTable.forEach(element => {\r\n if (element.sbuCode == sbu) {\r\n maFilterTable.forEach(item => {\r\n if (item.id == element.id) {\r\n if(!dependentMaFilter.includes(item.id)){\r\n dependentMaFilter.push(item.id);\r\n }\r\n }\r\n });\r\n yearFilterTable.forEach(item => {\r\n if (item.id == element.year) {\r\n if(!dependentYearFilter.includes(item.id)){\r\n dependentYearFilter.push(item.id);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else if (filterIndex == 3) {\r\n // this.mappingTable.forEach(element => {\r\n // if (element.year == year) {\r\n // maFilterTable.forEach(item => {\r\n // if (item.id == element.id) {\r\n // if(!dependentMaFilter.includes(item.id)){\r\n // dependentMaFilter.push(item.id);\r\n // }\r\n // }\r\n // });\r\n // sbuFilterTable.forEach(item => {\r\n // if (item.sbuCode == element.sbuCode) {\r\n // if(!dependentSbuFilter.includes(item.sbuCode)){\r\n // dependentSbuFilter.push(item.sbuCode);\r\n // }\r\n // }\r\n // });\r\n // }\r\n // });\r\n }\r\n else if (filterIndex == 4) {\r\n this.mappingTable.forEach(element => {\r\n if (element.divisionCode == division) {\r\n // maFilterTable.forEach(item => {\r\n // if (item.id == element.id) {\r\n // if(!dependentMaFilter.includes(item.id)){\r\n // dependentMaFilter.push(item.id);\r\n // }\r\n // }\r\n // });\r\n yearFilterTable.forEach(item => {\r\n if (item.id == element.year) {\r\n if(!dependentYearFilter.includes(item.id)){\r\n dependentYearFilter.push(item.id);\r\n }\r\n }\r\n });\r\n }\r\n if (element.id == ma) {\r\n divisionFilterTable.forEach(item => {\r\n if (item.divisionCode == element.divisionCode) {\r\n if(!dependentDivisionFilter.includes(item.divisionCode)){\r\n dependentDivisionFilter.push(item.divisionCode);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n this.mappingTable.forEach(element => {\r\n if (element.id == ma) {\r\n sbuFilterTable.forEach(item => {\r\n if (item.sbuCode == element.sbuCode) {\r\n if(!dependentSbuFilter.includes(item.sbuCode)){\r\n dependentSbuFilter.push(item.sbuCode);\r\n }\r\n }\r\n });\r\n divisionFilterTable.forEach(item => {\r\n if (item.divisionCode == element.divisionCode) {\r\n if(!dependentDivisionFilter.includes(item.divisionCode)){\r\n dependentDivisionFilter.push(item.divisionCode);\r\n }\r\n }\r\n });\r\n yearFilterTable.forEach(item => {\r\n if (item.id == element.year) {\r\n if(!dependentYearFilter.includes(item.id)){\r\n dependentYearFilter.push(item.id);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n this.selectedSBU = dependentSbuFilter[dependentSbuFilter.length - 1];\r\n this.selectedDivision=dependentDivisionFilter[dependentDivisionFilter.length-1]\r\n this.selectedYear = dependentYearFilter[dependentYearFilter.length - 1];\r\n }\r\n this.ma = []\r\n this.sbu = [];\r\n this.division=[]\r\n this.years = [];\r\n if(dependentMaFilter.length > 0){\r\n this.ma = maFilterTable.filter(element => dependentMaFilter.includes(element.id)) \r\n }\r\n else{\r\n this.ma = maFilterTable;\r\n }\r\n if(dependentSbuFilter.length > 0){\r\n this.sbu = sbuFilterTable.filter(element => dependentSbuFilter.includes(element.sbuCode)) \r\n }\r\n else{\r\n this.sbu = sbuFilterTable;\r\n }\r\n if(dependentDivisionFilter.length > 0){\r\n this.division = divisionFilterTable.filter(element => dependentDivisionFilter.includes(element.divisionCode)) \r\n }\r\n else{\r\n this.division = divisionFilterTable;\r\n }\r\n if(dependentYearFilter.length > 0){\r\n this.years = yearFilterTable.filter(element => dependentYearFilter.includes(element.id)) \r\n }\r\n else{\r\n this.years = yearFilterTable;\r\n }\r\n }\r\n\r\n GetFPEBudgetListingData() {\r\n this.loader = 'block'; \r\n debugger;\r\n this.GetDivBudgetFilterYear();\r\n if(this.roleId!='39'){\r\n this.selectedDivision='';\r\n }\r\n if(this.roleId!='42' && this.roleId!='43'){\r\n this.selectedZone='';\r\n }\r\n this.IsShowUtilisedContigencyBudget=false;\r\n this.fpeBudgetService.GetFPEBudgetListingData(this.selectedMA, this.selectedSBU,this.selectedDivision,this.selectedZone, this.selectedYear, this.selectedState, this.selectedActivity, this.selectedMonth)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {debugger;\r\n this.regionTable = resData.data.regionTable;\r\n //this.budgetDataTable = resData.data.activityTypeDataTable;\r\n this.activityGroupTable = resData.data.activityGroupDataTable;\r\n this.totalDataTable = resData.data.totalDataTable;\r\n this.activityTable = resData.data.activityTable;\r\n this.zoneTable = resData.data.zoneTable;\r\n this.count = resData.data.countTable[0].count;\r\n this.contiBudget = resData.data.contigencyTable[0].budget;\r\n console.log(resData.data);\r\n //this.GetDivBudgetFilterYear();\r\n this.UtilisedContigencyBudget='0';\r\n if (this.roleId == '36' || this.roleId == '37') {\r\n var arr:any=[]\r\n arr= this.totalDataTable.find(e=>e.activity == this.currentPendingAllocation)\r\n var str=(arr.grandTotal).toString();\r\n var newstr = Number(str.replaceAll(',', ''));\r\n if(newstr<0){\r\n newstr= -(newstr); //make number positive\r\n this.UtilisedContigencyBudget = this.ConvertNumberToSpecialFormate(newstr); //Convert to special formate\r\n this.ContigencyBudgetText= this.selectedYear +' Allocated Contigency Budget'\r\n this.IsShowUtilisedContigencyBudget=true;\r\n }\r\n }\r\n this.loader = 'none';\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n }\r\n });\r\n this.display = true; \r\n }\r\n\r\n Filter() {\r\n this.GetFPEBudgetListingData();\r\n }\r\n RowButton(id: any) {\r\n debugger;\r\n $(\".\" + id + \"g\").toggleClass(\"demos-show\");\r\n $(\".\" + id + \" img\").toggleClass(\"active\");\r\n }\r\n\r\n ColumnButton(id: any) {\r\n debugger;\r\n $(\".\" + id + \"1\").toggleClass(\"show\");\r\n $(\".\" + id + \" img\").toggleClass(\"active\");\r\n $(\".\" + id + \"\").children(\"img.v-line\").toggleClass(\"no-v-line\");\r\n }\r\n\r\n Submit() {\r\n debugger;\r\n this.loader = 'block'; \r\n this.fpeBudgetService.SubmitFPEBudgetData()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.GetFPEBudgetListingData();\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.data[0].message);\r\n this.loader = 'none'; \r\n }\r\n })\r\n }\r\n\r\n exceldownload() {\r\n this.loader = 'block'; \r\n var url = \"/api/FPEBudget/DownloadFPEExcel\";\r\n this.fpeBudgetService.FPEBudgetExcelDownload(url, this.userName, this.roleId, this.selectedYear,this.selectedMA, this.selectedSBU, this.selectedMonth,this.selectedExcelDivision,'')\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names = name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + '_MABudgetAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none'; \r\n this.displayDivisionFilter = false;\r\n this.selectedExcelDivision = '';\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n //this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none'; \r\n }\r\n );\r\n }\r\n IsCurrentYear(str: string, j: number, i: any) {\r\n // debugger;\r\n this.currentYearTotal = j;\r\n if (str.includes(this.currentYear.toString())) {\r\n let colName = str.split('|');\r\n let previouscolumnName = colName[0] + \"|\" + (this.currentYear - 1);\r\n if (previouscolumnName.includes(\"Total\")) {\r\n debugger;\r\n }\r\n if (i[previouscolumnName] == undefined || i[str] == null) {\r\n this.previousYearTotal = -1;\r\n }\r\n else {\r\n this.previousYearTotal = 0;\r\n\r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n IsPreviousYear(str: string, j: number, i: number) {\r\n this.previousYearTotal = j;\r\n if (str.includes(this.previousYear.toString())) {\r\n let colName = str.split('|');\r\n let currentyearcolumnName = colName[0] + \"|\" + (this.currentYear);\r\n if (currentyearcolumnName.includes(\"Total\")) {\r\n\r\n }\r\n if (i[currentyearcolumnName] == undefined || i[str] == null) {\r\n this.currentYearTotal = -1;\r\n }\r\n else {\r\n this.currentYearTotal = 0;\r\n\r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n IsTotal(col: any) {\r\n\r\n\r\n if (col.split('|')[0] == \"Total\") {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n CalculateLastRow() {\r\n for (var i = 0; i < this.filterData.length; i++) {\r\n let j = 0;\r\n //To check if no data is present in the row \r\n //if (this.filterData[i].Total != null && this.filterData[i].Total > 0) {\r\n\r\n //This loop is running on column based so that we can get crop inserted values.\r\n\r\n for (let key of Object.keys(this.filterData[i])) {\r\n\r\n\r\n\r\n\r\n let vari = Object.keys(this.filterData[0]);\r\n\r\n\r\n if (key.split(\"|\")[1] == this.currentYear.toString() || key == \"REVPY\" || key == \"REVPer\") {\r\n if (i == 0) {\r\n this.numbers[j] = this.filterData[i][key]\r\n }\r\n else {\r\n this.numbers[j] = this.numbers[j] + this.filterData[i][key]\r\n\r\n }\r\n\r\n }\r\n else if (key.split(\"|\")[1] == this.previousYear.toString()) {\r\n if (i == 0) {\r\n this.numbers[j] = this.filterData[i][key]\r\n }\r\n else {\r\n this.numbers[j] = this.numbers[j] + this.filterData[i][key]\r\n\r\n }\r\n\r\n }\r\n j++;\r\n }\r\n\r\n }\r\n let arrlength = this.numbers.length;\r\n let lastarrvalue = this.numbers[arrlength - 1];\r\n let secondlastarrvalue = this.numbers[arrlength - 2];\r\n let thirdlastvalue = this.numbers[arrlength - 3];\r\n if (this.filterData.length < 2) {\r\n if (this.filterData[0][\"Total|\" + (this.currentYear - 1)] == undefined) {\r\n this.numbers[arrlength - 2] = \"0\";\r\n this.numbers[arrlength - 1] = secondlastarrvalue;\r\n this.numbers[arrlength] = lastarrvalue;\r\n\r\n }\r\n if (this.filterData[0][\"Total|\" + (this.currentYear)] == undefined) {\r\n\r\n this.numbers[arrlength - 3] = \"0\";\r\n this.numbers[arrlength - 2] = thirdlastvalue;\r\n this.numbers[arrlength - 1] = secondlastarrvalue;\r\n this.numbers[arrlength] = lastarrvalue;\r\n\r\n }\r\n }\r\n }\r\n GetbudgetAndRemainingBudget() {\r\n this.fpeBudgetService.getBudgetAndRemainingBudget(this.userId).subscribe((response: any) => {\r\n if (response.message == \"Success\") {\r\n this.NetBudget = response.data[0][\"total\"];\r\n this.RemainingBudget = response.data[0][\"remaining\"];\r\n // console.log(this.budgetTypeDetails);\r\n //this.loader='none';\r\n }\r\n });\r\n }\r\n SubmitFPEBudget(isSave: string) {\r\n debugger;\r\n this.loader = 'block'; \r\n var url = \"/api/FPEBudget/SubmitFPEBudget\";\r\n this.fpeBudgetService.SubmitFPEBudget(isSave, this.currentYear)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n this.loader = 'none'; \r\n //this.getAnnualRequirementDetails();\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n }\r\n // this.getDocuments();\r\n // this.displayUpload = 'none';\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n // this.loader = 'none';\r\n });\r\n\r\n\r\n }\r\n selected() {\r\n this.SelectedYear = this.selectedLevel;\r\n }\r\n\r\n DisplayDivisionFilter(){\r\n this.selectedExcelDivision = this.divisionTable[0].divisionCode;\r\n this.displayDivisionFilter = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n\r\n ClosePopUp(){\r\n this.displayDivisionFilter = false;\r\n this.selectedExcelDivision = '';\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n\r\n ExportFPEBudgetData() {\r\n this.loader = 'block'; \r\n var url = \"/api/FPEBudget/ExportFPEBudgetData\";\r\n this.fpeBudgetService.ExportFPEBudgetData(url, this.userName, this.selectedMA, this.selectedSBU, this.selectedYear,this.selectedMonth)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names = name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + '_MABudgetAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none'; \r\n //this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none'; \r\n //this.loader = 'none';\r\n }\r\n );\r\n }\r\n GetAllKeysFromList(data: any) {\r\n var response = data.reduce(function (arr, o) {\r\n return Object.keys(o).reduce(function (a, k) {\r\n if (a.indexOf(k) == -1) a.push(k);\r\n return a;\r\n }, arr)\r\n }, []);\r\n return response;\r\n }\r\n GetAllKeysFromList1(data: any) {\r\n var response = data.reduce(function (arr, o) {\r\n return Object.keys(o).reduce(function (a, k) {\r\n k = k.split('|')[0]\r\n if (a.indexOf(k) == -1) a.push(k);\r\n return a;\r\n\r\n }, arr)\r\n }, []);\r\n return response;\r\n }\r\n BindFPEBudgetData(budgetType: string, year: number): void {\r\n if (budgetType == \"-1\") {\r\n alert(\"Please select budget type.\")\r\n }\r\n else {\r\n var url = \"/api/FPEBudget/BindFPEBudget\";\r\n this.fpeBudgetService.BindFPEBudgetData(url, budgetType, year)\r\n .subscribe(res => {\r\n if (res != null) {\r\n if (res.length > 0) {\r\n // this.revenue = res;\r\n // this.loader = 'none';\r\n // this.isFilterDataExist = 'block';\r\n this.filterData = res;\r\n this.allColumnName = this.GetAllKeysFromList1(this.filterData);\r\n this.allColumnFullName = this.GetAllfullKeysFromList(this.filterData)\r\n this.CalculateLastRow();\r\n } else {\r\n // this.loader = 'none';\r\n // this.displayNoRecordFound = 'block';\r\n }\r\n }\r\n else {\r\n //this.liquidation = res;\r\n //this.loader = 'none';\r\n //this.displayProceed = 'block';\r\n //this.displayNoRecordFound = 'none';\r\n\r\n }\r\n //this.loader = 'none';\r\n }, error => {\r\n // this.loader = 'none';\r\n this.toastr.error(\"Some problem occured, Please try again later.\");\r\n });\r\n }\r\n\r\n }\r\n GetAllfullKeysFromList(data: any) {\r\n var response = data.reduce(function (arr, o) {\r\n return Object.keys(o).reduce(function (a, k) {\r\n\r\n if (a.indexOf(k) == -1) a.push(k);\r\n return a;\r\n\r\n }, arr)\r\n }, []);\r\n return response;\r\n }\r\n filesDroppedAdd(files: File[]) {\r\n this.loader = 'block';\r\n this.files = [];\r\n this.files = files;debugger;\r\n //let fileNameParts: string[] = files[0].name.split('.');\r\n //let fileType = files[0].name.split('.')[fileNameParts.length - 1];\r\n let lastIndex=files[0].name.lastIndexOf('.');\r\n let fileNameParts=files[0].name.substring(0,lastIndex);\r\n let fileType=files[0].name.substring(lastIndex+1);\r\n\r\n let name = localStorage.getItem('mabt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[2];\r\n let correctFileName = firstname + '_MABudgetAllocation_'\r\n //if (fileNameParts[0].includes(correctFileName)) {\r\n if (fileNameParts.includes(correctFileName)) {\r\n this.isFileCorrect = true;\r\n }\r\n else {\r\n this.isFileCorrect = false;\r\n }\r\n if (this.isFileCorrect == false) {\r\n // this.snackbar.openSnackBar('Please select a valid file.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select a valid file.');\r\n this.loader = 'none'; \r\n // this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackbar.openSnackBar('Please select valid file type.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select valid file type.');\r\n this.loader = 'none'; \r\n // this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n\r\n //this.loader = 'block';\r\n this.document.file = this.files[0];\r\n //this.document.UploadedBy = localStorage.getItem('userId');\r\n this.fpeBudgetService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n if (resData.data[0].status != 'false') {\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.data[0].message);\r\n this.loader = 'none'; \r\n this.BindFPEBudgetData(\"1\", this.selectedYear);\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n this.GetFPEBudgetListingData();\r\n this.isFilterDataExist = 'block';\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.data[0].message);\r\n this.loader = 'none'; \r\n this.BindFPEBudgetData(\"1\", this.selectedYear);\r\n this.GetFPEBudgetListingData();\r\n this.isFilterDataExist = 'block';\r\n }\r\n } else {\r\n\r\n if (resData.status == false) {\r\n this.GetFPEBudgetListingData();\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n // this.BindFPEBudgetData(\"1\",this.currentYear);\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n // this.isFilterDataExist = 'block';\r\n }\r\n if (resData.message == \"Unauthorized\") {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n }\r\n //this.loader = 'none';\r\n // this.getAnnualRequirementDetails();\r\n }\r\n // this.getDocuments();\r\n // this.displayUpload = 'none';\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n // this.loader = 'none';\r\n });\r\n this.files = files;\r\n this.fileName = files[0].name;\r\n\r\n }\r\n GetBudgetType() {\r\n this.fpeBudgetService.getBudgetTypes().subscribe((response: any) => {\r\n if (response.message == \"Success\") {\r\n this.budgetTypeDetail = response.data;\r\n console.log(this.budgetTypeDetail);\r\n }\r\n });\r\n }\r\n excelActivityBudgetDownload(){\r\n this.loader = 'block';\r\n var url = \"/api/BudgetAllocation/DownloadRegionPerActivityBudget_Excel\";\r\n this.fpeBudgetService.RegionPerActivityExcelDownload(url,this.userName,this.selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname +'_RegionLevelAllocation_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n \r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n excelInitialRevOpsBudgetDownload(){\r\n var url = \"/api/FPEBudget/DownloadInitialRevOpsBudget_Excel\";\r\n this.loader = 'block';\r\n this.fpeBudgetService.ExcelInitialRevOpsBudgetDownload(url,this.userName,this.selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = firstname +'_InitialBudget_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n filesDroppedAddRegionData(files: File[]) {\r\n debugger;\r\n this.loader = 'block';\r\n this.files = [];\r\n this.files = files;debugger;\r\n let lastIndex=files[0].name.lastIndexOf('.');\r\n let fileNameParts=files[0].name.substring(0,lastIndex);\r\n let fileType=files[0].name.substring(lastIndex+1);\r\n\r\n let name = localStorage.getItem('mabt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n let correctFileName = firstname + '_RegionLevelAllocation_'\r\n if (fileNameParts.includes(correctFileName)) {\r\n this.isFileCorrect = true;\r\n }\r\n else {\r\n this.isFileCorrect = false;\r\n }\r\n if (this.isFileCorrect == false) {\r\n // this.snackbar.openSnackBar('Please select a valid file.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select a valid file.');\r\n this.loader = 'none'; \r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackbar.openSnackBar('Please select valid file type.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please select valid file type.');\r\n this.loader = 'none'; \r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n this.document.file = this.files[0];\r\n this.fpeBudgetService.uploadDocumentRegionWise(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n if (resData.data[0].status != 'false') {\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.data[0].message);\r\n this.loader = 'none'; \r\n this.BindFPEBudgetData(\"1\", this.selectedYear);\r\n this.GetFPEBudgetListingData();\r\n this.isFilterDataExist = 'block';\r\n this.input.nativeElement.value = null;\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(resData.data[0].message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.data[0].message);\r\n this.loader = 'none'; \r\n this.BindFPEBudgetData(\"1\", this.selectedYear);\r\n this.GetFPEBudgetListingData();\r\n this.isFilterDataExist = 'block';\r\n this.input.nativeElement.value = null;\r\n }\r\n } else {\r\n\r\n if (resData.status == false) {\r\n this.GetFPEBudgetListingData();\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n }\r\n if (resData.message == \"Unauthorized\") {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n this.loader = 'none'; \r\n }\r\n this.loader = 'none'; \r\n }\r\n this.files = [];\r\n this.input.nativeElement.value = null;\r\n });\r\n this.files = files;\r\n this.fileName = files[0].name;\r\n\r\n }\r\n excelDownloadActivityTypeMapping(){\r\n this.loader = 'block';\r\n var url = \"/api/FPEBudget/DownloadActivityTypeMapping_Excel\";\r\n this.fpeBudgetService.ActivityTypeMappingDownload(url,this.userName,this.selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName ='ActivityTypeMapping_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n \r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n _keyPressInt(event: any) {\r\n const pattern = /^[\\d]+$/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n ConvertNumberToSpecialFormate(Number: any) {\r\n let ActNumber = Math.round(parseFloat(Number));\r\n let data = ActNumber.toString();\r\n let num = data.split('.');\r\n let lastThree = num[0].substring(num[0].length - 3);\r\n let otherNumber = num[0].substring(0, num[0].length - 3);\r\n if (otherNumber != '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n var total = otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\r\n return total;\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvZnBlcmVxdWVzdHMvZnBlcmVxdWVzdHMuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n

Service Request

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Budget Type\\r\\n {{ data.budgetType}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ data.budgetType}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Activity Type\\r\\n {{ data.activityName }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Select Product\\r\\n {{ data.productId }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Select Crop\\r\\n {{ data.cropName }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Select State\\r\\n {{ data.state }}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Select Region\\r\\n {{data.regionName}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Select Month\\r\\n {{data.monthName}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{data.year}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Show\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request IdActivity TypeBudget TypeSupplierProductCropRegionStateDelivery DateStatusAction
{{data.fpeRequestID}} {{ data.activityName }}{{ data.budgetType }}{{ data.vendorName }}{{ data.productID }}{{ data.cropID }}{{ data.regionCode }}{{ data.stateCode }}{{ data.startDate | date:\\\"dd/MMM/y\\\" }}-{{data.endDate | date:\\\"dd/MMM/y\\\"}}{{ data.startDate | date:\\\"dd/MMM/y\\\" }}--{{data.endDate | date:\\\"dd/MMM/y\\\"}}{{data.status}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
No Data Found.
\\r\\n
\\r\\n
0\\\" style=\\\"text-align:center;\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n * \\r\\n

{{rejectReason}}

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

{{ data.activityName }}

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

{{ data.vendorName }}

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

{{ data.poNumber }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID<=3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID>3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID<=3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID>3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n

{{ item.statusName }}

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

{{ data.activityName }}

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

{{ data.vendorName }}

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

{{ data.poNumber }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\" \\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.rejectedByRoleStatusID) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.rejectedByRoleStatusID) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n

{{ item.statusName }}

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

{{DialogeText}}

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

{{draftCount}} request pending for submission.

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FPERequestsService } from 'src/app/Services/FPERequests/fperequests.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { saveAs } from 'file-saver';\r\nimport { Documents } from '../../Models/FPEBudget/ExcelDocuments';\r\nimport { DashboardService } from '../../Services/Dashboard/dashboard.service';\r\nimport { element } from '@angular/core/src/render3/instructions';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\n\r\nimport { CommonService } from 'src/app/Services/Common/common.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-fperequests',\r\n templateUrl: './fperequests.component.html',\r\n styleUrls: ['./fperequests.component.css'],\r\n providers:[DatePipe]\r\n})\r\nexport class FPERequestsComponent implements OnInit {\r\n\r\n // budgetTypes=[];\r\n isEditable:boolean;\r\n RequestId:number;\r\n budgetTypes : any = [];\r\n activities : any = [];\r\n products : any = [];\r\n crops : any = [];\r\n states : any = [];\r\n regions : any = [];\r\n userId:string;\r\n FPERequestsData=[];\r\n isdisplay:boolean=false;\r\n DialogeText:string='';\r\n isDisplayTrack:boolean=false;\r\n isDisplayOverlay:boolean=false;\r\n States=[];\r\n IsNoRMH:boolean;\r\n userName:string\r\n requestidTracker:string\r\n Regions=[];\r\n totalRecords:Number;\r\n page:Number=1;\r\nAction:string='';\r\n roleId:number;\r\n draftCount : number = 0;\r\n displayChangeStatus: boolean = false;\r\n rejectReason : string = '';\r\n title:string='';\r\n dropdownSetting: IDropdownSettings = {};\r\n dropdownActivitySetting: IDropdownSettings={};\r\n dropdownMonthSetting: IDropdownSettings={};\r\n dropdownRegionSetting: IDropdownSettings={};\r\n dropdownStateSetting: IDropdownSettings={};\r\n dropdownProductSetting: IDropdownSettings={};\r\n dropdownCropSetting: IDropdownSettings={};\r\n activityID:any=[];\r\n selectedBudget: any=[];\r\n YearList:any=[];\r\n productID:any=[];\r\n cropID :any=[];\r\n stateCode:any=[];\r\n regionCode:any=[];\r\n monthCode:any=[];\r\n selectBudgetType:string=\"\"\r\n selectActivityType:string=\"\"\r\n selectProduct:string=\"\"\r\n selectCrop:string=\"\"\r\n selectState:string=\"\"\r\n selectRegion:string=\"\"\r\n selectMonth:string=\"\"\r\n\r\n selectYear:string=\"\"\r\n IsRBMZBM: string=\"false\";\r\n YearFilterList:any=[];\r\n SelectedYear:string;\r\n OrderStatus:any=[];\r\n CurrentOrderStatus:any=[];\r\n //Tracker for MA Request and Brand Budget\r\n // OrderStatus=[{statusID:1,statusName:'Drafted'},{statusID:2,statusName:'Submitted'},{statusID:3,statusName:'ZMH Approved'},\r\n // {statusID:4,statusName:'FMGM Approved'},{statusID:5,statusName:'DMH Approved'},{statusID:6,statusName:'BM Approved'},{statusID:7,statusName:'SPDIR Issued'},\r\n // {statusID:8,statusName:'PO Issued'},{statusID:9,statusName:'Invoice Recorded'},{statusID:10,statusName:'Service Receipt Confirmed'},{statusID:11,statusName:'PO Closed'}];\r\n\r\n // OrderStatusRejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Rejected'},\r\n // {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'Invoice Recorded'},{statusID:7,statusName:'Service Receipt Confirmed'},{statusID:8,statusName:'PO Closed'}];\r\n \r\n // OrderStatusPORejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Approved'},\r\n // {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'PO Rejected'},{statusID:7,statusName:'Service Receipt Confirmed'},{statusID:8,statusName:'PO Closed'}];\r\n\r\n // OrderStatusInvoiceRejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Approved'},\r\n // {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'Invoice Recorded'},{statusID:7,statusName:'Service Receipt Rejected'},{statusID:8,statusName:'PO Closed'}];\r\n\r\nselectedPoNumber : string = '';\r\n public StatusId:Number;\r\n number:Number;\r\n rmhName:string;\r\n currentYear:number;\r\n rmhId:string;\r\n PONumber : any[] = [];\r\n activityTitle:string;\r\n loader:string='none';\r\n Months=[{monthCode:1,monthName:'January'},{monthCode:2,monthName:'February'},{monthCode:3,monthName:'March'},{monthCode:4,monthName:'April'},\r\n {monthCode:5,monthName:'May'},{monthCode:6,monthName:'June'},{monthCode:7,monthName:'July'},{monthCode:8,monthName:'August'},\r\n {monthCode:9,monthName:'September'},{monthCode:10,monthName:'October'},{monthCode:11,monthName:'November'},{monthCode:12,monthName:'December'},]\r\n\r\n constructor(private fperequestsService: FPERequestsService,private dashboardService: DashboardService,private Common:CommonService,private route: ActivatedRoute, private router: Router, private datepipe: DatePipe,private snackbar: MatSnackBarComponent,private toastr:ToastrService) { \r\n\r\n this.roleId=parseInt(localStorage.getItem('mabt_roleID'));\r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n this.currentYear=(new Date()).getFullYear(); \r\n this.IsRBMZBM=localStorage.getItem('mabt_IsRBMZBM');\r\n if(this.roleId==76 || this.roleId==77)\r\n {\r\n this.IsRBMZBM=\"true\";\r\n\r\n }\r\n this.selectYear=(new Date()).getFullYear().toString();\r\n this.GetRMH_MenuStatus();\r\n if(this.roleId==28 || this.roleId==65 || this.roleId==26 || this.roleId==90)\r\n{\r\n this.selectBudgetType='6';\r\n}\r\n }\r\n\r\n ngOnInit() {\r\n this.GetYearList();\r\n this.BindFilterData();\r\n setTimeout(() => {\r\n this.GetFPERequestsList(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",this.selectYear);\r\n }, 2000);\r\n }\r\n GetYearList()\r\n {\r\n this.Common.GetYearList(this.userId).subscribe((response:any)=>{\r\n debugger;\r\n \r\n if(response.status==true){\r\n this.YearFilterList=response.data;\r\n this.SelectedYear=this.YearFilterList[0].year;\r\n }\r\n });\r\n }\r\n onItemSelectyear(val:any)\r\n{\r\n debugger;\r\n this.selectYear= (val);\r\n}\r\n BindFilterData(){\r\n this.dropdownSetting = {\r\n singleSelection: true,\r\n idField:'budgetID',\r\n textField: 'budgetType',\r\n allowSearchFilter: true \r\n };\r\n this.dropdownActivitySetting = {\r\n singleSelection: true,\r\n idField:'activityTypeId',\r\n textField: 'activityName',\r\n allowSearchFilter: true\r\n };\r\n this.dropdownProductSetting = {\r\n singleSelection: true,\r\n idField:'productId',\r\n textField: 'productId',\r\n allowSearchFilter: true\r\n };\r\n this.dropdownCropSetting = {\r\n singleSelection: true,\r\n idField:'cropId',\r\n textField: 'cropName',\r\n allowSearchFilter: true\r\n };\r\n this.dropdownStateSetting = {\r\n singleSelection: true,\r\n idField:'state',\r\n textField: 'state',\r\n allowSearchFilter: true \r\n };\r\n this.dropdownRegionSetting = {\r\n singleSelection: true,\r\n idField:'regionCode',\r\n textField: 'regionName',\r\n allowSearchFilter: true\r\n };\r\n this.dropdownMonthSetting = {\r\n singleSelection: true,\r\n idField:'monthCode',\r\n textField: 'monthName',\r\n allowSearchFilter: true\r\n };\r\n this.fperequestsService.getBudgetTypes().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.budgetTypes=response.data;\r\n console.log(this.budgetTypes);\r\n }\r\n });\r\n this.fperequestsService.getActivities().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.activities=response.data;\r\n console.log(this.activities);\r\n }\r\n });\r\n this.fperequestsService.getProducts().subscribe((response:any) =>{\r\n if(response.status==true){\r\n // this.products=response.data;\r\n if(this.roleId==28)\r\n {\r\n this.products=[];\r\n let product=[];\r\n debugger;\r\nproduct=response.data;\r\nfor(let i=0;i{\r\n if(response.status==true){\r\n this.crops=response.data;\r\n console.log(this.products);\r\n }\r\n });\r\n this.loader = 'block';\r\n this.fperequestsService.getFPERequestFilterData(this.userId).subscribe((response:any) =>{\r\ndebugger;\r\n if(response.status==true){\r\n this.budgetTypes = response.data.budgetType;\r\n if(this.roleId==28 ||this.roleId==65|| this.roleId==26||this.roleId==90){\r\n debugger\r\n this.budgetTypes = response.data.budgetType.filter(item => item.budgetType === \"Brand Budget\");\r\n }\r\n this.activities = response.data.activities;\r\n //this.products = response.data.products;\r\n this.crops = response.data.crops;\r\n this.states = response.data.states;\r\n this.regions = response.data.regions;\r\n if(this.roleId==28)\r\n {\r\n this.products=[];\r\n let product=[];\r\n debugger;\r\nproduct=response.data.products;\r\nfor(let i=0;i{\r\n\r\n if(resData.status==true){\r\n debugger;\r\n this.FPERequestsData=resData.data;\r\n for(var i=0;i{\r\n\r\n if(resData.status==true){debugger;\r\n this.FPERequestsData=resData.data;\r\n for(var i=0;i0){\r\n if(this.FPERequestsData[0].draftCount > 0){\r\n this.draftCount = this.FPERequestsData[0].draftCount;\r\n if(this.IsNoRMH==false){\r\n this.displayChangeStatus = true;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n }\r\n }\r\n }\r\n }\r\n this.loader = 'none';\r\n });\r\n }\r\n }\r\n\r\n ChangeStatus(){\r\n this.displayChangeStatus = false\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n view(itemID:any)\r\n {\r\n localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"RepeatRequest\",\"0\");\r\n localStorage.setItem(\"EditRequestId\",itemID);\r\n localStorage.setItem(\"isEditable\",\"true\");\r\n //this.router.navigate(['MABudget/ActivityRequest']);\r\n this.router.navigate(['MABudget/ActivityRequest',1,itemID])\r\n }\r\n ViewRequest(itemID:any, textval:string){\r\n localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"RepeatRequest\",\"0\");\r\n localStorage.setItem(\"isEditable\",\"false\");\r\n localStorage.setItem(\"EditRequestId\",itemID);\r\n //this.router.navigate(['MABudget/ActivityRequest']);\r\n this.router.navigate(['MABudget/ActivityRequest',0,itemID])\r\n localStorage.setItem(\"IsShowDraftButton\",\"true\");\r\n }\r\n RaisePO(itemID:any){\r\n alert(\"Item ID \"+itemID);\r\n }\r\n TrackRequest(RequestId:number)\r\n {\r\n //alert(1);\r\n this.isDisplayTrack=true;\r\n this.isDisplayOverlay=true;\r\n this.GetRequestStatus(RequestId,0);\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n }\r\n DeleteRequest(RequestId:number)\r\n {\r\n \r\n if(this.Action==\"approve\")\r\n {\r\n this.DialogeText=\"Are you sure you want to approve request?\"\r\n }\r\n else if(this.Action==\"reject\")\r\n {\r\nthis.DialogeText=\"Are you sure you want to reject request?\"\r\n\r\n }\r\n else\r\n {\r\n this.DialogeText=\"Are you sure you want to delete request?\"\r\n\r\n }\r\nthis.isdisplay=true;\r\nthis.RequestId=RequestId;\r\n }\r\n \r\n \r\n ExportFPERequestData() {\r\n debugger;\r\n this.loader='block';\r\n var url = \"/api/FPERequests/FPERequestData_Excel\";\r\n this.fperequestsService.ExportFPERequestData(url,this.userName,this.userId,this.SelectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + 'Request' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"No Data Found.\");\r\n this.loader = 'none';\r\n }\r\n );\r\n}\r\n\r\nRaiseRequest()\r\n{ localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"isEditable\",\"false\");\r\n localStorage.setItem(\"EditRequestId\",\"0\");\r\n //this.router.navigate(['MABudget/ActivityRequest']);\r\n this.router.navigate(['MABudget/ActivityRequest',0,0])\r\n}\r\n\r\n\r\nGetRequestStatus(RequestId:any,PoNumber:any)\r\n {debugger\r\n this.OrderStatus=[];\r\n this.PONumber=[];\r\n this.requestidTracker=RequestId;\r\n this.activityTitle='';\r\n this.rmhName='';\r\n var url = \"/api/FPERequests/GetRequestStatusById\";\r\n this.fperequestsService.GetRequestStatus(RequestId,PoNumber,url)\r\n .subscribe((resData: any) => {debugger;\r\n if (resData.status == true) {\r\n//this.requestidTracker=Reqdata[0]['requestId']\r\n var Reqdata=resData.data.table[0];\r\n var Reqdata=resData.data.table;\r\n this.OrderStatus=resData.data.table1;\r\n this.StatusId=Number(Reqdata[0]['statusID']);\r\n this.activityTitle=Reqdata[0]['activityTitle'] +'_'+ Reqdata[0]['regionName'];\r\n this.title=Reqdata[0]['activityTitle'];\r\n this.rmhName=Reqdata[0]['rmhName'];\r\n this.rmhId=Reqdata[0]['rmhid'];\r\n this.PONumber = resData.data.table;\r\n this.rejectReason = resData.data.table[0].rejectReason; \r\n \r\n console.log(Reqdata[0]);\r\n this.selectedPoNumber = resData.data.table[0].poNumber;\r\n console.log(this.selectedPoNumber);\r\n console.log(this.PONumber);\r\n } else {\r\n this.toastr.error(resData.message);\r\n }\r\n });\r\n }\r\n OrderStatusDetails(flagID: number) {debugger\r\n const StatusDetails = this.OrderStatus.filter(_ => _.flag == flagID);\r\n this.CurrentOrderStatus = StatusDetails;\r\n return StatusDetails;\r\n }\r\n CloseOrderTrackingPopUP(){\r\n this.isDisplayTrack=false;\r\n this.isDisplayOverlay=false;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n Confirm()\r\n {\r\nvar url = \"/api/FPERequests/DeleteRequest\";\r\n this.fperequestsService.DeleteRequest(this.RequestId,url)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n this.GetFPERequestsList(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",this.selectYear);\r\n this.RequestId=0;\r\n this.isdisplay=false;\r\n\r\n\r\n \r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n }\r\n \r\n });\r\n }\r\n Reject()\r\n {\r\nthis.isdisplay=false;\r\nthis.RequestId=0;\r\n }\r\n GetRMH_MenuStatus()\r\n {\r\n var url = \"/api/ServiceRequest/GetBalanceAmountByActivity\";\r\n this.dashboardService.GetAmountByActivityId(url,0,'').subscribe((response:any)=>{\r\n \r\n if (response.status == true) {\r\n this.IsNoRMH=true;\r\n \r\n }\r\n else {\r\n this.IsNoRMH=false;\r\n \r\n \r\n }\r\n });\r\n }\r\n PoNumberStatus(){\r\n if(this.selectedPoNumber==\"\"){\r\n this.StatusId=this.PONumber[0].statusID;\r\n \r\n }else{\r\n var poNum:any=this.selectedPoNumber;\r\n var dis:any=this.StatusId\r\n this.PONumber.forEach(element=>{\r\n if(element.poNumber==poNum){\r\n dis=element.statusID;\r\n }\r\n });\r\n this.StatusId=dis;\r\n console.log(this.StatusId);\r\n // debugger;\r\n }\r\n }\r\n RepeateRequest(itemID:any){\r\n localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"RepeatRequest\",\"1\");\r\n localStorage.setItem(\"isEditable\",\"false\");\r\n localStorage.setItem(\"EditRequestId\",itemID);\r\n //this.router.navigate(['MABudget/ActivityRequest']);\r\n localStorage.setItem(\"IsShowDraftButton\",\"true\");\r\n localStorage.setItem(\"setStartDate\",\"1\");\r\n this.router.navigate(['MABudget/ActivityRequest',0,itemID])\r\n }\r\n}\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n
\\r\\n\\t
\\r\\n\\t\\t\\\"no-image\\\"\\r\\n\\t\\t

Budget Management System

\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\tForgot your password?\\r\\n\\r\\n\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\\"no-image\\\"\\r\\n\\t\\t\\t\\\"no-image\\\"\\r\\n\\t\\t\\t\\\"no-image\\\"\\r\\n\\t\\t
\\r\\n\\t
\\r\\n
\\r\\n
\\t\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { User } from '../../models/login/user';\r\nimport { Observable, of } from 'rxjs';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { global } from '../../models/global';\r\nimport{LoginService} from '../../Services/Login/login.service'\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n user: User;\r\n loginForm: FormGroup;\r\n display = 'none';\r\n emailaddress: string;\r\n pageName: any = {};\r\n public Username: string;\r\n ROOT_URL: string = \"\";\r\n loader: string = 'none';\r\n constructor(private route: ActivatedRoute, private router: Router, private loginService: LoginService, private form: FormBuilder, private snackBar: MatSnackBarComponent,private toastr:ToastrService) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loginForm = this.form.group({\r\n UserID: [''],\r\n Password: [''],\r\n Flag: ['getuserdata'],\r\n AssetCode: ['MABT'],\r\n UserType: ['']\r\n });\r\n }\r\n\r\n authenticateUser(formData: any) {\r\n if(formData.value.UserID=='' && formData.value.Password==''){\r\n //this.snackBar.openSnackBar('Please enter User Name and Password.','Close','red-snackbar');\r\n this.toastr.error('Please enter User Name and Password.');\r\n return false;\r\n }\r\n if(formData.value.UserID==''){\r\n //this.snackBar.openSnackBar('Please enter User Name.','Close','red-snackbar');\r\n this.toastr.error('Please enter User Name.');\r\n return false;\r\n }\r\n if(formData.value.Password==''){\r\n //this.snackBar.openSnackBar('Please enter password.','Close','red-snackbar');\r\n this.toastr.error('Please enter password.');\r\n return false;\r\n }\r\n this.loader = 'block';\r\n this.loginService.authenticateUser(formData)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n localStorage.setItem('mabt_token',resData.data.token);\r\n localStorage.setItem('mabt_user', resData.data);\r\n sessionStorage.setItem('mabt_userId', resData.data.userID);\r\n localStorage.setItem('mabt_userId', resData.data.userID);\r\n localStorage.setItem('mabt_userName', resData.data.userName.trim());\r\n localStorage.setItem('mabt_roleID', resData.data.roleID);\r\n localStorage.setItem('mabt_roleCode', resData.data.roleName.trim());\r\n localStorage.setItem('mabt_IsRBMZBM', resData.data.isRBMZBM);\r\n debugger;\r\n if(resData.data.roleID==28)\r\n {\r\n this.router.navigate(['MABudget/FPERequests']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['MABudget/Dashboard']);\r\n }\r\n this.loader = 'none';\r\n } else if(resData.message == 'Invalid Username and Password!'){\r\n //this.snackBar.openSnackBar('Invalid Password.','Close','red-snackbar');\r\n this.toastr.error('Invalid Password.');\r\n this.loader = 'none';\r\n }\r\n else{\r\n //this.snackBar.openSnackBar(resData.data.errorDescription,'Close','red-snackbar');\r\n this.toastr.error(resData.data.errorDescription);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForgotPassword() {\r\n let url: any;\r\n if (this.ROOT_URL.indexOf('mabudget.fmcone.in') !== -1)\r\n url = 'https://cmaster.fmcone.in/ForgotPassword';\r\n else\r\n url = 'https://cmaster.uat.fmcone.in/ForgotPassword';\r\n window.open(url, \"_blank\");\r\n}\r\n\r\nisValidUser(event: any) {\r\n let userID: string = event.target.value;\r\n if (userID != \"\") {\r\n this.loginService.validateUser(userID)\r\n .subscribe((response: any) => {\r\n if (response._body == \"1\") {\r\n //this.snackBar.openSnackBar('Your rights to login to the portal cannot be validated. Contact your administrator.','Close','red-snackbar');\r\n this.toastr.error('Your rights to login to the portal cannot be validated. Contact your administrator.');\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n });\r\n }\r\n}\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvbWF0LXNuYWNrLWJhci9tYXQtc25hY2stYmFyLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"

\\r\\n mat-snack-bar works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport {MatSnackBar} from '@angular/material/snack-bar';\r\n@Component({\r\n selector: 'app-mat-snack-bar',\r\n templateUrl: './mat-snack-bar.component.html',\r\n styleUrls: ['./mat-snack-bar.component.css']\r\n})\r\nexport class MatSnackBarComponent implements OnInit {\r\n\r\n constructor(public snackBar: MatSnackBar) { }\r\n\r\n ngOnInit() {\r\n }\r\n openSnackBar(message: string, action: string, className: string) {\r\n this.snackBar.open(message, action, {\r\n duration: 10000,\r\n verticalPosition: 'top',\r\n horizontalPosition: 'end',\r\n panelClass: [className],\r\n });\r\n }\r\n}\r\n","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9wYXltZW50LXRlcm1zL3BheW1lbnQtdGVybXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGlDQUFpQztJQUNqQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0NBQ2YiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL3BheW1lbnQtdGVybXMvcGF5bWVudC10ZXJtcy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnBvcHVwLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTY7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

Payment Terms

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 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
Payment Terms(Days)Applicable Discount(%)Created OnUpdated OnAction
{{ data.paymentTerms }}{{ data.discount }}{{ data.createdOn | date:\\\"dd/MMM/y\\\" }}{{ data.modifiedOn | date:\\\"dd/MMM/y\\\" }}{{ data.isActive==1?\\\"Active\\\":\\\"InActive\\\" }}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Are you sure you want to change status?

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { PaymentTermsService } from 'src/app/Services/PaymentTerms/payment-terms.service';\r\nimport { PaymentTerm } from '../../Models/Payment-Terms/PaymentTerm';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogBoxComponent } from 'src/app/Components/dialog-box/dialog-box.component';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-payment-terms',\r\n templateUrl: './payment-terms.component.html',\r\n styleUrls: ['./payment-terms.component.css']\r\n})\r\nexport class PaymentTermsComponent implements OnInit {\r\n paymentTermsDetails:any=[];\r\n loader:string;\r\n paymentTerms: PaymentTerm= new PaymentTerm();\r\n displayChangeStatus :string= 'none';\r\n paymentTermId : any;\r\n isPaymentTermActive :any;\r\n constructor(private paymentService:PaymentTermsService,public dialog:MatDialog,private snackBar: MatSnackBarComponent,private toastr:ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.getpaymentTerm();\r\n }\r\n getpaymentTerm(){\r\n this.paymentService.getPaymentTerms().subscribe((response:any)=>{\r\n if(response.message==\"Success\"){\r\n this.paymentTermsDetails=response.data;\r\n console.log(this.paymentTermsDetails);\r\n this.loader='none';\r\n }\r\n });\r\n }\r\n createpaymentTerms(paymentTerm:any,discount:any){\r\n if(paymentTerm.value==\"\"){\r\n // this.snackBar.openSnackBar('Please enter payment term.','Close','red-snackbar');\r\n this.toastr.error('Please enter payment term.');\r\n }else if(discount.value==\"\"){\r\n // this.snackBar.openSnackBar('Please enter discount.','Close','red-snackbar');\r\n this.toastr.error('Please enter discount.');\r\n }\r\n else{\r\n this.paymentService.createpaymentTerm(paymentTerm.value,discount.value).subscribe((response:any)=>{\r\n this.getpaymentTerm();\r\n if (response.message == \"Payment Terms already exist.\") {\r\n // this.snackBar.openSnackBar('Payment terms already exist.','Close','red-snackbar');\r\n this.toastr.error('Payment terms already exist.');\r\n console.log(response.Status);\r\n this.loader = 'none';\r\n }else{\r\n // this.snackBar.openSnackBar('New payment terms added successfully.','Close','green-snackbar');\r\n this.toastr.error('New payment terms added successfully.');\r\n console.log(response.Status);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n }\r\n openDialogToChangeStatus(paymentTermId:string, isActive:string){\r\n this.displayChangeStatus = 'block';\r\n this.paymentTermId = paymentTermId;\r\n this.isPaymentTermActive = isActive;\r\n}\r\n changePaymentTermStatus(paymentTermId:string, isActive:any){\r\n this.paymentTerms.PaymentTermId=paymentTermId;\r\n if(isActive==0)\r\n this.paymentTerms.IsActive=1;\r\n else\r\n this.paymentTerms.IsActive=0;\r\n this.paymentService.changePaymentTermStatus(this.paymentTerms).subscribe((response:any)=>{\r\n this.getpaymentTerm();\r\n if (response.Status == true) {\r\n console.log(response.Status);\r\n this.loader = 'none';\r\n }\r\n });\r\n \r\n }\r\n color(paymentId: string,isActive:any){\r\n if(isActive==0)\r\n {\r\n return 'red'\r\n }\r\n else\r\n {\r\n return 'green'\r\n }\r\n }\r\n ChangeStatus(id : any){\r\n if(id == 0){\r\n this.displayChangeStatus = 'none';\r\n }\r\n else{\r\n this.displayChangeStatus = 'none';\r\n this. changePaymentTermStatus(this.paymentTermId, this.isPaymentTermActive); \r\n } \r\n }\r\n}\r\n","module.exports = \".popup-wrap-request {\\r\\n width: 370px;\\r\\n}\\r\\n\\r\\n.popup-wrap-request .row textarea {\\r\\n width: 100%;\\r\\n resize: none;\\r\\n border: 1px solid #d4d4d4;\\r\\n border-radius: 4px;\\r\\n height: 70px;\\r\\n}\\r\\n\\r\\n.popup-wrap-request .row label {\\r\\n display: block;\\r\\n text-align: left;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9wby1yZXF1ZXN0LWxpc3RpbmcvcG8tcmVxdWVzdC1saXN0aW5nLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0NBQ2hCOztBQUVEO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYiwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLGFBQWE7Q0FDaEI7O0FBRUQ7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLG1CQUFtQjtDQUN0QiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvcG8tcmVxdWVzdC1saXN0aW5nL3BvLXJlcXVlc3QtbGlzdGluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnBvcHVwLXdyYXAtcmVxdWVzdCB7XHJcbiAgICB3aWR0aDogMzcwcHg7XHJcbn1cclxuXHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgLnJvdyB0ZXh0YXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHJlc2l6ZTogbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbn1cclxuXHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgLnJvdyBsYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

PO Request Listing

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n Budget Type\\r\\n {{ data.budgetType}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Activity Type\\r\\n {{ data.activityName }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Product\\r\\n {{ data.productId }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Crop\\r\\n {{ data.cropName }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select State\\r\\n {{ data.state }}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n Select Region\\r\\n {{ data.regionName }}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Select Request ID\\r\\n {{data.requestId}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{data.year}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request IdActivity TypeBudget TypeProductCropRegionStateDelivery DateStatusAction
{{data.title}}{{ data.activityName }}{{ data.budgetType }}{{ data.productID }}{{ data.cropID }}{{ data.regionCode }}{{ data.stateCode }}{{ data.startDate | date:\\\"dd/MMM/y\\\" }}-{{data.endDate | date:\\\"dd/MMM/y\\\"}}{{data.status}}\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No Data Found
\\r\\n
\\r\\n
0\\\" style=\\\"text-align:center;\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n * \\r\\n

{{rejectReason}}

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

{{ data.activityName }}

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

{{ data.vendorName }}

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

{{ data.poNumber }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID<=3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID>3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID<=3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID>3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n

{{ item.statusName }}

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

{{ data.activityName }}

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

{{ data.vendorName }}

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

{{ data.poNumber }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\" \\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.rejectedByRoleStatusID) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.rejectedByRoleStatusID) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n

{{ item.statusName }}

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

{{DialogeText}}

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FPERequestsService } from 'src/app/Services/FPERequests/fperequests.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { saveAs } from 'file-saver';\r\nimport { Documents } from '../../Models/FPEBudget/ExcelDocuments';\r\nimport { CommonService } from '../../Services/Common/common.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-po-request-listing',\r\n templateUrl: './po-request-listing.component.html',\r\n styleUrls: ['./po-request-listing.component.css'],\r\n providers:[DatePipe]\r\n})\r\nexport class PoRequestListingComponent implements OnInit {\r\n FPERequestsData=[];\r\n isEditable:boolean;\r\n\r\n budgetTypes : any = [];\r\n activities : any = [];\r\n products : any = [];\r\n crops : any = [];\r\n states : any = [];\r\n regions : any = [];\r\n isDisplayTrack:boolean=false;\r\n isDisplayOverlay:boolean=false;\r\n isdisplay:boolean=false;\r\n requestidTracker:string\r\n userId:string;\r\n roleId:number;\r\n userName:string;\r\n title:string='';\r\n activityID : string = '';\r\n budgetCode : string = '';\r\n productID : string = '';\r\n cropID : string = '';\r\n stateCode : string = '';\r\n regionCode : string = '';\r\n page:number=1;\r\n rejectReason : string = '';\r\n loader: string = 'none';\r\n YearFilterList:any=[];\r\n SelectedYear:string;\r\n DialogeText:string=\"\";\r\n RequestToRejectId: number=0;\r\n Action:string='';\r\n rejectReasonInput: string;\r\n OrderStatus:any=[];\r\n CurrentOrderStatus:any=[];\r\n selectedRequest:string='';\r\n RequestIdList:any;\r\n\r\n// OrderStatus=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Approved'},\r\n// {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'Invoice Recorded'},{statusID:7,statusName:'Service Recipet Confirmed'},{statusID:8,statusName:'PO Closed'}];\r\n\r\n// OrderStatusRejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Rejected'},\r\n// {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'Invoice Recorded'},{statusID:7,statusName:'Service Recipet Confirmed'},{statusID:8,statusName:'PO Closed'}];\r\n\r\n// OrderStatusPORejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Approved'},\r\n// {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'PO Rejected'},{statusID:7,statusName:'Service Recipet Confirmed'},{statusID:8,statusName:'PO Closed'}];\r\n\r\n// OrderStatusInvoiceRejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Approved'},\r\n// {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'Invoice Recorded'},{statusID:7,statusName:'Service Receipt Rejected'},{statusID:8,statusName:'PO Closed'}];\r\n\r\nselectedPoNumber : string = '';\r\npublic StatusId:Number;\r\nnumber:Number;\r\nrmhName:string;\r\nrmhId:string;\r\nPONumber : any[] = [];\r\nactivityTitle:string;\r\n constructor( private fperequestsService: FPERequestsService,private commonService:CommonService,private route: ActivatedRoute, private router: Router, private datepipe: DatePipe,private snackbar: MatSnackBarComponent,private toastr:ToastrService) { \r\n\r\n this.roleId=parseInt(localStorage.getItem('mabt_roleID'));\r\n\r\n\r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.userName = localStorage.getItem('mabt_userName');\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.BindFilterData();\r\n this.GetYearList();\r\n setTimeout(() => {\r\n this.GetFPERequestsList();\r\n }, 1500);\r\n }\r\n ExportFPERequestData() {\r\n this.loader = 'block';\r\n var url = \"/api/FPERequests/FPERequestData_Excel\";\r\n this.fperequestsService.ExportFPERequestData(url,this.userName,this.userId,this.SelectedYear,this.selectedRequest)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names=name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + 'Request' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n}\r\n BindFilterData(){\r\n\r\n this.fperequestsService.getBudgetTypes().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.budgetTypes=response.data;\r\n console.log(this.budgetTypes);\r\n }\r\n });\r\n this.fperequestsService.getActivities().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.activities=response.data;\r\n console.log(this.activities);\r\n }\r\n });\r\n this.fperequestsService.getProducts().subscribe((response:any) =>{\r\n if(response.status==true){debugger;\r\n this.products=response.data;\r\n console.log(this.products);\r\n }\r\n });\r\n this.fperequestsService.getCrops().subscribe((response:any) =>{\r\n if(response.status==true){\r\n this.crops=response.data;\r\n console.log(this.products);\r\n }\r\n });\r\n this.fperequestsService.getFPERequestFilterData(this.userId).subscribe((response:any) =>{\r\n\r\n if(response.status==true){\r\n debugger\r\n this.budgetTypes = response.data.budgetType;\r\n this.activities = response.data.activities;\r\n this.products = response.data.products;\r\n this.crops = response.data.crops;\r\n this.states = response.data.states;\r\n this.regions = response.data.regions;\r\n this.RequestIdList=response.data.requestID;\r\n }\r\n });\r\n }\r\n \r\n GetFPERequestsList(){\r\n this.loader = 'block';\r\n this.fperequestsService.GetPoRequestListing(this.activityID,this.budgetCode,this.productID,this.cropID,this.stateCode,this.regionCode,this.SelectedYear,this.selectedRequest).subscribe((resData:any)=>{\r\n if(resData.status==true){\r\n this.FPERequestsData=resData.data;\r\n console.log(this.FPERequestsData);\r\n }\r\n this.loader = 'none';\r\n });\r\n this.page=1;\r\n }\r\n\r\n Filter(){\r\n // if(this.activityID == '' && this.budgetCode == '' && this.productID == '' && this.cropID == '' && this.stateCode == '' && this.regionCode == ''){\r\n // this.snackbar.openSnackBar('Please select any filter', 'Close', 'red-snackbar'); \r\n // }\r\n // else{\r\n this.GetFPERequestsList();\r\n //}\r\n }\r\n\r\n view(itemID:any)\r\n {\r\n localStorage.setItem(\"btnNavigate\",\"1\");\r\n localStorage.setItem(\"EditRequestId\",itemID);\r\n localStorage.setItem(\"isEditable\",\"true\");\r\n this.router.navigate(['MABudget/ActivityRequest',1,itemID]);\r\n }\r\n CloseOrderTrackingPopUP(){\r\n this.isDisplayTrack=false;\r\n this.isDisplayOverlay=false;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n TrackRequest(RequestId:number)\r\n {\r\n //alert(1);\r\n this.isDisplayTrack=true;\r\n this.isDisplayOverlay=true;\r\n this.GetRequestStatus(RequestId,0);\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n }\r\n \r\nGetRequestStatus(RequestId:any,PoNumber:any)\r\n{debugger\r\n this.OrderStatus=[];\r\n this.PONumber=[];\r\n this.requestidTracker=RequestId;\r\n this.activityTitle='';\r\n this.rmhName='';\r\n var url = \"/api/FPERequests/GetRequestStatusById\";\r\n this.fperequestsService.GetRequestStatus(RequestId,PoNumber,url)\r\n .subscribe((resData: any) => {debugger;\r\n if (resData.status == true) {\r\n//this.requestidTracker=Reqdata[0]['requestId']\r\n var Reqdata=resData.data.table[0];\r\n var Reqdata=resData.data.table;\r\n this.OrderStatus=resData.data.table1;\r\n this.StatusId=Number(Reqdata[0]['statusID']);\r\n this.activityTitle=Reqdata[0]['activityTitle'] +'_'+ Reqdata[0]['regionName'];\r\n this.title=Reqdata[0]['activityTitle'];\r\n this.rmhName=Reqdata[0]['rmhName'];\r\n this.rmhId=Reqdata[0]['rmhid'];\r\n this.PONumber = resData.data.table;\r\n this.rejectReason = resData.data.table[0].rejectReason; \r\n \r\n console.log(Reqdata[0]);\r\n this.selectedPoNumber = resData.data.table[0].poNumber;\r\n console.log(this.selectedPoNumber);\r\n console.log(this.PONumber);\r\n } else {\r\n this.toastr.error(resData.message);\r\n }\r\n });\r\n}\r\nOrderStatusDetails(flagID: number) {debugger\r\nconst StatusDetails = this.OrderStatus.filter(_ => _.flag == flagID);\r\nthis.CurrentOrderStatus = StatusDetails;\r\nreturn StatusDetails;\r\n}\r\n GetYearList(){\r\n debugger;\r\n this.commonService.GetYearList(this.userId).subscribe((response:any)=>{\r\n if(response.status==true){\r\n debugger;\r\n this.YearFilterList=response.data;\r\n this.SelectedYear=this.YearFilterList[0].year;\r\n console.log(this.YearFilterList);\r\n }\r\n })\r\n }\r\n RejectRequest(itemID:any,Action:string)\r\n {\r\n this.RequestToRejectId=itemID;\r\n this.Action=Action;\r\n if(Action==\"reject\"){\r\n this.DialogeText=\"Are you sure you want to reject request?\"\r\n }\r\n this.isdisplay=true;\r\n }\r\n Confirm()\r\n {debugger\r\n this.loader = 'block';\r\n var url = \"/api/FPERequests/ApproveRequest\";\r\n this.fperequestsService.ApproveRequest(this.RequestToRejectId,this.Action,url,this.rejectReasonInput,'0')\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.toastr.success(resData.message);\r\n this.GetFPERequestsList();\r\n this.isdisplay=false;\r\n this.RequestToRejectId=0;\r\n this.Action=\"\";\r\n this.rejectReasonInput=\"\";\r\n } else {\r\n // this.snackbar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.message);\r\n }\r\n this.loader = 'none';\r\n });\r\n }\r\n Reject(){\r\n this.isdisplay=false;\r\n this.RequestToRejectId=0;\r\n this.Action='';\r\n }\r\n ChangeRequest(RequestId:any)\r\n {\r\n this.selectedRequest = RequestId;\r\n }\r\n}\r\n\r\n","module.exports = \".popup-wrap {\\r\\n position: fixed;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9wb3JlcXVpc2l0aW9uL3BvcmVxdWlzaXRpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtJQUNoQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGlDQUFpQztJQUNqQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0NBQ2YiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL3BvcmVxdWlzaXRpb24vcG9yZXF1aXNpdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnBvcHVwLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTY7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

Raise PO Requisition

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

{{ data.customerName }}

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

{{ data.gstno }}

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

{{ data.address }}

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

{{ data.billToCompany }}

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

{{ data.billToGST }}

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

{{ data.billToAddress }}

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

{{ CurrentDate | date:\\\"dd/MMM/y\\\" }}

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

{{ BrandManagerId }}

\\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
StateRMHSupplierActivity TypeProductCropBudget Amount
{{ data.stateCode}}{{ data.rmhName }}{{ data.vendor }}{{ data.activityName }}{{ data.productName }}{{ data.cropName }}{{ ConvertNumberToSpecialFormate(data.total) }}
Grand Total - {{ GrandTotal }}
\\r\\n \\r\\n
\\r\\n \\r\\n = 4\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n = 4\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Are you sure you want to submit?

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

Are you sure you want to save?

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { PORequisitionService } from 'src/app/Services/PORequisition/porequisition.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { RMHsList } from 'src/app/Models/PORequisition/rmhs-list';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { elementAt } from 'rxjs-compat/operator/elementAt';\r\nimport { BrandManagerList } from 'src/app/Models/PORequisition/rmhs-list';\r\nimport { ServiceRequestService } from 'src/app/Services/ServiceRequest/service-request.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-porequisition',\r\n templateUrl: './porequisition.component.html',\r\n styleUrls: ['./porequisition.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class PORequisitionComponent implements OnInit {\r\n userId: string;\r\n GrandTotal: any;\r\n Total: number;\r\n RMHsList = [];\r\n RaisePORequisitionList = [];\r\n WarehouseDetails: any[] = [];\r\n SelectedRMHs: any;\r\n PORequisitionDetails = [];\r\n ReferenceNo: string;\r\n BrandManagerId: string;\r\n PORequisitionTitle: string;\r\n CurrentDate: any;\r\n GSTNO: string;\r\n Address: string;\r\n Note: string;\r\n RMHRegion = [];\r\n totalRecords: Number;\r\n page: Number = 1;\r\n selectedRegion: any;\r\n selectedRegions:any;\r\n save: number = 0;\r\n FmcPORequisitionStatus: number = 0;\r\n regionCode: any = '';\r\n displayDialog: string = 'none';\r\n displayConfirmationBox: boolean = false;\r\n displayCloseConfirmationBox: boolean = false;\r\n StatusId: any;\r\n btnClick: any;\r\n disabledKey: any = '';\r\n FmcPoRef: string;\r\n FmcPoDate: string;\r\n FmcPoValue: string;\r\n FmcPoGST: string;\r\n POStatus: string = '0';\r\n activityRequestList: any[] = [];\r\n BrandManagerList: BrandManagerList[]=[];\r\n BrandManagerProductMapping:any;\r\n BrandManager:string=\"\";\r\n dropdownRegionSetting: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'requestId',\r\n textField: 'requestId',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: false,\r\n enableCheckAll: true\r\n };\r\n selectedRequestList: any[] = [];\r\n selectedRequestId : string = '';\r\n multiSelectDropdownDisable : boolean = false;\r\n requestIdList : string = '';\r\n loader:string='none';\r\n constructor(private porequisition: PORequisitionService,private serviceRequest: ServiceRequestService, private _router: Router, private snackbar: MatSnackBarComponent,private toastr:ToastrService) {\r\n this.userId = localStorage.getItem('mabt_userId');\r\n this.ReferenceNo = localStorage.getItem('reference_no');\r\n }\r\n\r\n ngOnInit() {\r\n //this.PORequisition();\r\n this.RMHsForBrandBudget();\r\n this.BindBrandManagerDDL();\r\n this.CurrentDate = new Date();\r\n if (localStorage.getItem('reference_no') != '') {debugger;\r\n this.regionCode = '';\r\n this.multiSelectDropdownDisable = true;\r\n this.disabledKey = localStorage.getItem('reference_no');\r\n this.GetdataforRefrenceNos();\r\n }\r\n }\r\n RMHsForBrandBudget() {\r\n this.loader='block';\r\n this.porequisition.RMHForBrandBudget(this.userId).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.RMHsList = response.data;\r\n console.log(this.RMHsList);\r\n this.loader='none';\r\n }else{\r\n this.loader='none';\r\n }\r\n });\r\n }\r\n ActivityRequestList() {debugger;\r\n if(this.disabledKey!=''){}else{\r\n this.selectedRequestList= [];\r\n this.RaisePORequisitionList = []\r\n this.WarehouseDetails = []\r\n this.GSTNO = '';\r\n this.StatusId = '';\r\n this.ReferenceNo = '';\r\n this.PORequisitionTitle = '';\r\n this.BrandManagerId='';\r\n this.selectedRequestId='';\r\n }\r\n this.selectedRegion = this.regionCode;\r\n console.log(this.regionCode);\r\n this.activityRequestList=[];\r\n if (this.regionCode != '' && this.BrandManager !='') {\r\n this.porequisition.ActivityRequestList(this.regionCode,this.BrandManager).subscribe((response: any) => {\r\n debugger;\r\n if (response.status == true) {\r\n this.activityRequestList = response.data;\r\n }\r\n });\r\n }\r\n }\r\n PORequisitionData() {\r\n console.log(this.selectedRequestList);\r\n console.log(this.regionCode);\r\n }\r\n GetPORequisitionData() {\r\n debugger;\r\n let requestId: string = '';\r\n this.selectedRequestList.forEach(element => {\r\n if (requestId == '') {\r\n requestId = element.requestId;\r\n }\r\n else {\r\n requestId = requestId + ',' + element.requestId;\r\n }\r\n })\r\n if (requestId != '' && this.selectedRequestId != requestId) {\r\n this.selectedRequestId = requestId;\r\n this.RaisePORequisitionList = [];\r\n this.WarehouseDetails = [];\r\n this.porequisition.PORequisitionData(this.userId, requestId).subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.RaisePORequisitionList = resData.data.poRequisitionDataModels;\r\n if (resData.data.warehouseDetails != null) {\r\n this.WarehouseDetails = resData.data.warehouseDetails;\r\n this.GSTNO = this.WarehouseDetails[0]['gstno'];\r\n }\r\n this.StatusId = this.RaisePORequisitionList[0][\"statusId\"];\r\n this.ReferenceNo = this.RaisePORequisitionList[0][\"referenceNo\"];\r\n this.PORequisitionTitle = this.RaisePORequisitionList[0][\"poRequisitionTitle\"];\r\n this.BrandManagerId = this.RaisePORequisitionList[0][\"brandManagerName\"];\r\n //console.log(this.GSTNO);\r\n console.log(this.WarehouseDetails);\r\n this.GrandTotalAmount();\r\n }\r\n });\r\n }\r\n }\r\n GrandTotalAmount() {\r\n var count = this.RaisePORequisitionList.length;\r\n this.Total = 0;\r\n if (count > 0) {\r\n for (var i = 0; i < count; i++) {\r\n this.Total += parseFloat(this.RaisePORequisitionList[i][\"total\"]);\r\n }\r\n }\r\n else {\r\n this.Total = 0;\r\n }\r\n this.GrandTotal = this.ConvertNumberToSpecialFormate(this.Total);\r\n }\r\n ConvertNumberToSpecialFormate(Number: any) {\r\n let ActNumber = Math.ceil(parseFloat(Number));\r\n let data = ActNumber.toString();\r\n let num = data.split('.');\r\n let lastThree = num[0].substring(num[0].length - 3);\r\n let otherNumber = num[0].substring(0, num[0].length - 3);\r\n if (otherNumber != '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n var total = otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\r\n if (num.length > 1) {\r\n if (num[1].length == 1) {\r\n return total + '.' + num[1] + '0';\r\n } else {\r\n return total + '.' + num[1];\r\n }\r\n } else {\r\n return total + '.00';\r\n }\r\n // this.GrandTotal=this.Total.toString().replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\");\r\n }\r\n submitRequisition(PORequisitionDetails: any) {\r\n if (this.PORequisitionTitle == undefined || this.PORequisitionTitle == '' || this.PORequisitionTitle == null) {\r\n // this.snackbar.openSnackBar('Please enter PO Requisition Title.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter PO Requisition Title.');\r\n } else if (this.ReferenceNo == undefined || this.ReferenceNo == '' || this.ReferenceNo == null) {\r\n // this.snackbar.openSnackBar('Please enter FMC Reference Number.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter FMC Reference Number.');\r\n } else {\r\n this.displayDialog = 'block';\r\n this.multiSelectDropdownDisable = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n this.PORequisitionDetails = PORequisitionDetails;\r\n }\r\n setPORequisitionDetails() {\r\ndebugger;\r\n let requestlist = '';\r\n this.selectedRequestList.forEach(element => {\r\n if (requestlist == '') {\r\n requestlist = element.requestId;\r\n }\r\n else {\r\n requestlist = requestlist + ',' + element.requestId;\r\n }\r\n })\r\n this.requestIdList = requestlist;\r\n this.PORequisitionDetails = new Array();\r\n this.selectedRegions=this.RaisePORequisitionList[0]['rmhName'];\r\n var address: any = '';\r\n if (this.WarehouseDetails.length > 0) {\r\n address = this.WarehouseDetails[0]['address'].toString();\r\n }\r\n for (var i = 0; i < this.RaisePORequisitionList.length; i++) {\r\n this.PORequisitionDetails.push({\r\n UserID: this.userId,\r\n StateCode: this.RaisePORequisitionList[i]['stateCode'],\r\n RegionCode: this.RaisePORequisitionList[i]['regionCode'],\r\n VendorID: this.RaisePORequisitionList[i]['vendorID'],\r\n ActivityID: this.RaisePORequisitionList[i]['activityID'],\r\n ProductID: this.RaisePORequisitionList[i]['productID'],\r\n CropID: this.RaisePORequisitionList[i]['cropID'],\r\n ReferenceNo: this.ReferenceNo,\r\n PORequisitionTitle: this.PORequisitionTitle,\r\n //Address:address,\r\n Address: \"\",\r\n Note: this.Note,\r\n RequestId: this.RaisePORequisitionList[i]['requestBrandBudgetID']\r\n })\r\n }\r\n this.submitRequisition(this.PORequisitionDetails);\r\n\r\n }\r\n\r\n SavePDF() { \r\n if (this.selectedRegion == '' || this.selectedRegion == null || this.selectedRegion == undefined) {\r\n this.selectedRegion = this.regionCode;\r\n }\r\n this.loader=\"block\";\r\n\r\n this.porequisition.PoRequisitionPdfDownload(this.selectedRegion, this.ReferenceNo).subscribe(\r\n success => {\r\n saveAs(success, 'PORequisition' + this.selectedRegion + '.pdf');\r\n this.loader=\"none\";\r\n }, error => {\r\n console.error(\"Error downloading PDF\", error);\r\n this.loader = \"none\"; // Hide loader even in case of an error\r\n }\r\n )\r\n\r\n }\r\n SavePORequisitionData(id: any) {\r\n if (id == 0) {\r\n this.displayDialog = 'none';\r\n this.multiSelectDropdownDisable = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n else {\r\n this.displayDialog = 'none'; \r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.porequisition.submitPORequisition(this.PORequisitionDetails).subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n this.save = 1\r\n } else {\r\n console.log(this.disabledKey);\r\n this.multiSelectDropdownDisable = false;\r\n this.toastr.error(resData.message);\r\n }\r\n });\r\n }\r\n }\r\n GetdataforRefrenceNos() {\r\n this.RaisePORequisitionList = [];\r\n this.WarehouseDetails = [];\r\n this.RMHsList = [];\r\n this.porequisition.PORequisitionData(this.userId, this.ReferenceNo).subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.RaisePORequisitionList = resData.data.poRequisitionDataModels;\r\n if (resData.data.warehouseDetails != null) {\r\n this.WarehouseDetails = resData.data.warehouseDetails;\r\n this.GSTNO = this.WarehouseDetails[0]['gstno'];\r\n }\r\n this.StatusId = this.RaisePORequisitionList[0][\"statusId\"];\r\n this.ReferenceNo = this.RaisePORequisitionList[0][\"referenceNo\"];\r\n this.PORequisitionTitle = this.RaisePORequisitionList[0][\"poRequisitionTitle\"];\r\n this.BrandManagerId = this.RaisePORequisitionList[0][\"brandManagerName\"];\r\n this.Note = this.RaisePORequisitionList[0][\"note\"];\r\n this.regionCode = this.RaisePORequisitionList[0][\"rmhCode\"];\r\n this.BrandManager = this.RaisePORequisitionList[0][\"brandManagerId\"];\r\n this.POStatus = this.RaisePORequisitionList[0][\"poStatus\"];\r\n this.FmcPoRef = this.RaisePORequisitionList[0][\"fmcPoRef\"];\r\n this.FmcPoValue = this.RaisePORequisitionList[0][\"fmcPoValue\"];\r\n this.FmcPoDate = this.RaisePORequisitionList[0][\"fmcPoDate\"];\r\n this.FmcPoGST = this.RaisePORequisitionList[0][\"fmcPoGST\"];\r\n let rmhName = this.RaisePORequisitionList[0][\"rmhName\"];\r\n this.selectedRegions=rmhName;\r\n let requestID : any[] =[];//= this.RaisePORequisitionList[0][\"requestBrandBudgetID\"];\r\n this.RaisePORequisitionList.forEach(element=>{\r\n if(requestID.length == 0){\r\n requestID.push(element.requestBrandBudgetID);\r\n }\r\n else{\r\n let count = 0;\r\n requestID.forEach(x=>{\r\n if(x == element.requestBrandBudgetID){\r\n count = 1;\r\n }\r\n });\r\n if(count == 0){\r\n requestID.push(element.requestBrandBudgetID);\r\n }\r\n }\r\n })\r\n let filterRMH: RMHsList[] = [];\r\n var item = {\r\n rmhCode: this.regionCode,\r\n rmhName: rmhName\r\n }\r\n filterRMH.push(item);\r\n this.RMHsList = filterRMH;\r\n this.ActivityRequestList();\r\n this.selectedRequestList = requestID;\r\n console.log(this.RMHsList['rmhName']);\r\n //console.log(this.WarehouseDetails);\r\n this.GrandTotalAmount();\r\n let requestlist = '';\r\n requestID.forEach(x=>{\r\n if(requestlist == ''){\r\n requestlist = x;\r\n }\r\n else{\r\n requestlist = requestlist + ',' + x;\r\n }\r\n })\r\n this.requestIdList = requestlist;\r\n }\r\n });\r\n }\r\n\r\n SaveFmcPOData() {\r\n if (this.FmcPoRef == '' || this.FmcPoRef == '' || this.FmcPoRef == undefined) {\r\n this.toastr.error('Please enter FMC PO Refrence number.');\r\n } else if (this.FmcPoDate == '' || this.FmcPoDate == null || this.FmcPoDate == undefined) {\r\n this.toastr.error('Please enter FMC PO date.');\r\n } else if (this.FmcPoValue == '' || this.FmcPoValue == null || this.FmcPoValue == undefined) {\r\n this.toastr.error('Please enter FMC PO value.');\r\n } else if (this.FmcPoGST == '' || this.FmcPoGST == null || this.FmcPoGST == undefined) {\r\n this.toastr.error('Please enter FMC PO GST number.');\r\n } else {\r\n this.displayConfirmationBox = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n }\r\n SaveFmcPoRequisitionData(id: any) {\r\n debugger;\r\n if (id == 0) {\r\n this.displayConfirmationBox = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n else {\r\n this.displayConfirmationBox = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.porequisition.SaveFMCPOData(this.ReferenceNo, this.FmcPoRef, this.FmcPoValue, this.FmcPoDate, this.FmcPoGST).subscribe((resultData: any) => {\r\n if (resultData.status = true) {\r\n this.CloseFmcPo(1);\r\n this.FmcPORequisitionStatus=1;\r\n console.log(resultData);\r\n let requestlist = '';\r\n this.selectedRequestList.forEach(x=>{\r\n if(requestlist == ''){\r\n requestlist = x;\r\n }\r\n else{\r\n requestlist = requestlist + ',' + x;\r\n }\r\n })\r\n this.requestIdList = requestlist;\r\n if(typeof(this.selectedRequestList)=='object'){\r\n let requestlists = '';\r\n this.selectedRequestList.forEach(x=>{\r\n if(requestlists == ''){\r\n requestlists = x.requestId;\r\n }\r\n else{\r\n requestlists = requestlists + ',' + x.requestId;\r\n }\r\n })\r\n this.requestIdList = requestlists;\r\n }\r\n if(this.requestIdList=='' || this.requestIdList=='undefined' || this.requestIdList==undefined){\r\n this.requestIdList = requestlist;\r\n }\r\n this.multiSelectDropdownDisable = true;\r\n // this.snackbar.openSnackBar(resultData.data[0].msg, 'Close', 'green-snackbar');\r\n this.toastr.success(resultData.data[0].msg);\r\n }\r\n else {\r\n // this.snackbar.openSnackBar('Something Went Wrong.', 'Close', 'red-snackbar');\r\n this.toastr.error('Something Went Wrong.');\r\n }\r\n });\r\n }\r\n }\r\n ClosePoRequisition() {\r\n this.displayCloseConfirmationBox = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n CloseFmcPo(id: any) {\r\n if (id == 0) {\r\n this.displayCloseConfirmationBox = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n } else {\r\n this.displayCloseConfirmationBox = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.porequisition.CloseFmcPo(this.ReferenceNo).subscribe((resData: any) => {\r\n if (resData.status = true) {\r\n console.log(resData);\r\n //this.snackbar.openSnackBar(resData.data[0].msg, 'Close', 'green-snackbar');\r\n }\r\n else {\r\n // this.snackbar.openSnackBar('Something Went Wrong.', 'Close', 'red-snackbar');\r\n this.toastr.error('Something Went Wrong.');\r\n }\r\n });\r\n }\r\n }\r\n BindBrandManagerDDL(){\r\n var url = \"/api/ServiceRequest/GetServiceRequestData\";\r\n this.serviceRequest.Bindddls(url).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.BrandManagerProductMapping= response.data.table7;\r\n this.BrandManagerProductMapping.forEach(element => {\r\n if(this.BrandManagerList.find(x=>x.brandManagerUserId == element.brandManagerUserId)) {}else{\r\n if(element.brandManagerUserId!=''){\r\n let obj = {\r\n brandManagerUserId: element.brandManagerUserId,\r\n brandManager : element.brandManager\r\n };\r\n this.BrandManagerList.push(obj);\r\n }\r\n }\r\n })\r\n this.BrandManagerList.sort((a,b) => a.brandManager > b.brandManager ? 1 : -1)\r\n console.log(this.BrandManagerList)\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n.popup-wrap-request {\\r\\n width: 370px;\\r\\n}\\r\\n.popup-wrap-request .row textarea {\\r\\n width: 100%;\\r\\n resize: none;\\r\\n border: 1px solid #d4d4d4;\\r\\n border-radius: 4px;\\r\\n height: 70px;\\r\\n}\\r\\n.popup-wrap-request .row label {\\r\\n display: block;\\r\\n text-align: left;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9wb3N0YXR1cy9wb3N0YXR1cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxVQUFVO0lBQ1YsaUNBQWlDO0lBQ2pDLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7Q0FDZjtBQUNEO0lBQ0ksYUFBYTtDQUNoQjtBQUVEO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYiwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLGFBQWE7Q0FDaEI7QUFFRDtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsbUJBQW1CO0NBQ3RCIiwiZmlsZSI6InNyYy9hcHAvQ29tcG9uZW50cy9wb3N0YXR1cy9wb3N0YXR1cy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnBvcHVwLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTY7XHJcbn1cclxuLnBvcHVwLXdyYXAtcmVxdWVzdCB7XHJcbiAgICB3aWR0aDogMzcwcHg7XHJcbn1cclxuXHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgLnJvdyB0ZXh0YXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHJlc2l6ZTogbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbn1cclxuXHJcbi5wb3B1cC13cmFwLXJlcXVlc3QgLnJvdyBsYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

PO Status

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n Budget Type\\r\\n {{ data.budgetType}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Activity Type\\r\\n {{ data.activityName }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Region\\r\\n {{data.regionName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select State\\r\\n {{ data.state }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Supplier\\r\\n {{ data.vendor }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select PO\\r\\n {{ data.poNumber }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{data.year}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
RequestIdActivity TypeBudget TypePO NumberRegionStateSupplierDateStatusAction
{{data.poStatusID}}{{ data.activityName }}{{ data.budgetType }}{{ data.poNumber }}{{ data.regionCode }}{{ data.stateCode }}{{ data.vendor }}{{ data.date | date:\\\"dd/MMM/y\\\" }}{{ data.status }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No Data Found.
\\r\\n
\\r\\n
0\\\" style=\\\"text-align:center;\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n * \\r\\n

{{rejectReason}}

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

{{ data.activityName }}

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

{{ data.vendorName }}

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

{{ data.poNumber }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n 3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID<=3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID>3) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID<=3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.statusID-1) && (data.statusID>3) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n

{{ item.statusName }}

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

{{ data.activityName }}

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

{{ data.vendorName }}

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

{{ data.poNumber }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n \\r\\n \\\"no-image\\\" \\r\\n \\r\\n \\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.rejectedByRoleStatusID) && (i != CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n data.rejectedByRoleStatusID) && (i == CurrentOrderStatus.length-1)\\\">\\r\\n \\\"no-image\\\"\\r\\n \\r\\n

{{ item.statusName }}

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

Are you sure you want to reject?

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\n// import { element } from 'protractor';\r\nimport { RaisePoFormSubmit, RequiredItemList } from 'src/app/Models/RaisePo/raise-po-form-submit';\r\nimport { POStatusService } from 'src/app/Services/POStatus/postatus.service';\r\nimport { RaisepoService } from 'src/app/Services/RaisePo/raisepo.service';\r\nimport { FPERequestsService } from 'src/app/Services/FPERequests/fperequests.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { CommonService } from '../../Services/Common/common.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-postatus',\r\n templateUrl: './postatus.component.html',\r\n styleUrls: ['./postatus.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class POStatusComponent implements OnInit {\r\n userId: string;\r\n budgetTypes = [];\r\n activities = [];\r\n States = [];\r\n title:string='';\r\n Regions = [];\r\n isDisplayTrack:boolean=false;\r\n isDisplayOverlay:boolean=false;\r\n Vendors = [];\r\n PONumbers = [];\r\n requestidTracker:string\r\n POStatus = [];\r\n totalRecords: Number;\r\n page: Number = 1;\r\n activityID: string = '';\r\n budgetCode: string = '';\r\n stateCode: string = '';\r\n regionCode: string = '';\r\n vendor: string = '';\r\n po: string = '';\r\n poNumber : string = '';\r\n displayChangeStatus : boolean = false;\r\n rejectReason : string = '';\r\n loader: string = 'none';\r\n YearFilterList:any=[];\r\n SelectedYear:string;\r\n OrderStatus:any=[];\r\n CurrentOrderStatus:any=[];\r\n\r\n// OrderStatus=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Approved'},\r\n// {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'Invoice Recorded'},{statusID:7,statusName:'Service Receipt Confirmed'},{statusID:8,statusName:'PO Closed'}];\r\n\r\n// OrderStatusRejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Rejected'},\r\n// {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'Invoice Recorded'},{statusID:7,statusName:'Service Receipt Confirmed'},{statusID:8,statusName:'PO Closed'}];\r\n\r\n// OrderStatusPORejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Approved'},\r\n// {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'PO Rejected'},{statusID:7,statusName:'Service Receipt Confirmed'},{statusID:8,statusName:'PO Closed'}];\r\n\r\n// OrderStatusInvoiceRejected=[{statusID:1,statusName:'Service Request Drafted'},{statusID:2,statusName:'Service Request Submitted'},{statusID:4,statusName:'Service Request Approved'},\r\n// {statusID:5,statusName:'PO Issued'},{statusID:6,statusName:'Invoice Recorded'},{statusID:7,statusName:'Service Receipt Rejected'},{statusID:8,statusName:'PO Closed'}];\r\n\r\nselectedPoNumber : string = '';\r\npublic StatusId:Number;\r\nnumber:Number;\r\nrmhName:string;\r\nrmhId:string;\r\nPONumber : any[] = [];\r\nactivityTitle:string;\r\n\r\n constructor(private fperequestsService: FPERequestsService,private postatusService: POStatusService,private commonService:CommonService, private snackbar: MatSnackBarComponent, private datepipe: DatePipe,\r\n private raisepoService: RaisepoService,private toastr:ToastrService) {\r\n this.userId = localStorage.getItem('mabt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n this.BindFilterData();\r\n this.GetYearList();\r\n setTimeout(() => {\r\n this.GetPOStatusList();\r\n }, 1500);\r\n \r\n }\r\n BindFilterData() {\r\n this.postatusService.getBudgetTypes().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.budgetTypes = response.data;\r\n console.log(this.budgetTypes);\r\n }\r\n });\r\n this.postatusService.getActivities().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.activities = response.data;\r\n console.log(this.activities);\r\n }\r\n });\r\n this.postatusService.getStates(this.userId).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.States = response.data;\r\n console.log(this.States);\r\n }\r\n });\r\n this.postatusService.getRegions(this.userId).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.Regions = response.data;\r\n console.log(this.Regions);\r\n }\r\n });\r\n this.postatusService.getVendors().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.Vendors = response.data;\r\n console.log(this.Vendors);\r\n }\r\n });\r\n this.postatusService.getPONumber().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.PONumbers = response.data;\r\n console.log(this.PONumbers);\r\n }\r\n });\r\n }\r\n GetPOStatusList() {\r\n this.loader = 'block';\r\n this.postatusService.POStatusList(this.activityID, this.budgetCode, this.stateCode, this.regionCode, this.vendor, this.po,this.SelectedYear).subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.POStatus = resData.data;\r\n console.log(this.POStatus);\r\n }\r\n this.loader = 'none';\r\n });\r\n this.page = 1;\r\n }\r\n\r\n Filter() {\r\n // if (this.activityID == '' && this.budgetCode == '' && this.stateCode == '' && this.regionCode == '' && this.vendor == '' && this.po == '') {\r\n // this.snackbar.openSnackBar('Please select any filter', 'Close', 'red-snackbar');\r\n // }\r\n // else {\r\n this.GetPOStatusList();\r\n //}\r\n }\r\n\r\n ViewRequest(itemID: any) {\r\n alert(\"View request ID \" + itemID);\r\n }\r\n\r\n ExportPoStatusData() {\r\n this.loader = 'block';\r\n this.postatusService.ExportPoStatusData(this.budgetCode, this.activityID, this.regionCode, this.stateCode, this.vendor, this.po,this.SelectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names = name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + 'Request' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n ChangeStatus(id : any){\r\n this.loader = 'block';\r\n if(id == 1){\r\n \r\n let raisePoFormSubmit: RaisePoFormSubmit = new RaisePoFormSubmit();\r\n raisePoFormSubmit.FPERequestID = 0;\r\n raisePoFormSubmit.PONumber = this.poNumber;\r\n raisePoFormSubmit.PODate = '';\r\n let vendorId : string = '';\r\n this.POStatus.forEach(element=>{\r\n if(element.poNumber == raisePoFormSubmit.PONumber){\r\n vendorId = element.vendor;\r\n }\r\n })\r\n raisePoFormSubmit.VendorId = vendorId;\r\n let requiredItem: RequiredItemList[] = [];\r\n var item = {\r\n ID: 0,\r\n Element: '',\r\n Specification: '',\r\n Qunatity: 0,\r\n Rate: 0,\r\n RequiredDays: 0,\r\n VehiclesRequired: 0\r\n };\r\n requiredItem.push(item);\r\n raisePoFormSubmit.RequiredItem = requiredItem;\r\n raisePoFormSubmit.ApproxValueAmount = 0;\r\n raisePoFormSubmit.GST = 0;\r\n raisePoFormSubmit.GrandTotalOfAllActivities = 0;\r\n raisePoFormSubmit.FMCRefrenceNumber = '';\r\n raisePoFormSubmit.Date = '';\r\n raisePoFormSubmit.Instructions = '';\r\n raisePoFormSubmit.PaymentTerm = '';\r\n raisePoFormSubmit.Deductions = '';\r\n raisePoFormSubmit.PenaltyClause = '';\r\n raisePoFormSubmit.ImportantPoints = '';\r\n raisePoFormSubmit.TermsConditions = '';\r\n raisePoFormSubmit.Status = 0;\r\n raisePoFormSubmit.RejectReason = this.rejectReason;\r\n let regionCode : string = '';\r\n this.POStatus.forEach(element=>{\r\n if(element.poNumber == raisePoFormSubmit.PONumber){\r\n regionCode = element.regionCode;\r\n }\r\n })\r\n raisePoFormSubmit.Region = regionCode;\r\n \r\n raisePoFormSubmit.MaShipToAddress = '';\r\n raisePoFormSubmit.MaShipToGST = '';\r\n raisePoFormSubmit.MaName = '';\r\n raisePoFormSubmit.MaNumber = '';\r\n this.raisepoService.SaveRaisePoListingData(raisePoFormSubmit).subscribe((response: any) => {\r\n if (response.status == true) {\r\n if (response.data[0].status == 'true') {\r\n this.loader = 'none';\r\n // this.snackbar.openSnackBar('Rejected Successfully', 'Close', 'green-snackbar');\r\n this.toastr.success('Rejected Successfully.');\r\n this.GetPOStatusList();\r\n this.displayChangeStatus = false;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(response.data[0].msg, 'Close', 'red-snackbar');\r\n this.toastr.error(response.data[0].msg);\r\n this.loader = 'none';\r\n this.GetPOStatusList();\r\n this.displayChangeStatus = false;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n })\r\n }\r\n else{ \r\n this.loader = 'none';\r\n this.displayChangeStatus = false;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n \r\n }\r\n RejectPo(poNumber: any) {\r\n this.poNumber = poNumber;\r\n this.displayChangeStatus = true;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n }\r\n CloseOrderTrackingPopUP(){\r\n this.isDisplayTrack=false;\r\n this.isDisplayOverlay=false;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n TrackRequest(RequestId:number)\r\n {\r\n //alert(1);\r\n this.isDisplayTrack=true;\r\n this.isDisplayOverlay=true;\r\n this.GetRequestStatus(RequestId,0);\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n }\r\n \r\nGetRequestStatus(RequestId:any,PoNumber:any)\r\n{debugger\r\n this.OrderStatus=[];\r\n this.PONumber=[];\r\n this.requestidTracker=RequestId;\r\n this.activityTitle='';\r\n this.rmhName='';\r\n var url = \"/api/FPERequests/GetRequestStatusById\";\r\n this.fperequestsService.GetRequestStatus(RequestId,PoNumber,url)\r\n .subscribe((resData: any) => {debugger;\r\n if (resData.status == true) {\r\n//this.requestidTracker=Reqdata[0]['requestId']\r\n var Reqdata=resData.data.table[0];\r\n var Reqdata=resData.data.table;\r\n this.OrderStatus=resData.data.table1;\r\n this.StatusId=Number(Reqdata[0]['statusID']);\r\n this.activityTitle=Reqdata[0]['activityTitle'] +'_'+ Reqdata[0]['regionName'];\r\n this.title=Reqdata[0]['activityTitle'];\r\n this.rmhName=Reqdata[0]['rmhName'];\r\n this.rmhId=Reqdata[0]['rmhid'];\r\n this.PONumber = resData.data.table;\r\n this.rejectReason = resData.data.table[0].rejectReason; \r\n \r\n console.log(Reqdata[0]);\r\n this.selectedPoNumber = resData.data.table[0].poNumber;\r\n console.log(this.selectedPoNumber);\r\n console.log(this.PONumber);\r\n } else {\r\n this.toastr.error(resData.message);\r\n }\r\n });\r\n}\r\nOrderStatusDetails(flagID: number) {debugger\r\nconst StatusDetails = this.OrderStatus.filter(_ => _.flag == flagID);\r\nthis.CurrentOrderStatus = StatusDetails;\r\nreturn StatusDetails;\r\n}\r\n GetYearList(){\r\n debugger;\r\n this.commonService.GetYearList(this.userId).subscribe((response:any)=>{\r\n if(response.status==true){\r\n debugger;\r\n this.YearFilterList=response.data;\r\n this.SelectedYear=this.YearFilterList[0].year;\r\n console.log(this.YearFilterList);\r\n }\r\n })\r\n }\r\n}\r\n","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9wcm9kdWN0cy9wcm9kdWN0cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxVQUFVO0lBQ1YsaUNBQWlDO0lBQ2pDLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7Q0FDZiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvcHJvZHVjdHMvcHJvZHVjdHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wb3B1cC13cmFwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHotaW5kZXg6IDE2O1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n

Products

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\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.NoProducts NameAction
{{i+1}}{{data.productId}} {{data.isProductActive==1?\\\"Active\\\":\\\"InActive\\\"}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Are you sure you want to change status?

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { ProductsService } from 'src/app/Services/Products/products.service';\r\nimport { Products } from '../../Models/Products/Products';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogBoxComponent } from 'src/app/Components/dialog-box/dialog-box.component';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {MatSnackBarComponent} from 'src/app/Components/mat-snack-bar/mat-snack-bar.component';\r\n@Component({\r\n selector: 'app-products',\r\n templateUrl: './products.component.html',\r\n styleUrls: ['./products.component.css']\r\n})\r\nexport class ProductsComponent implements OnInit {\r\n public productsList: any[]=[];\r\n productData: Products = new Products();\r\n loader: string = 'none';\r\n displayChangeStatus : string = 'none';\r\n productId : any;\r\n isproductActive : any;\r\n \r\n constructor(private productsServices:ProductsService, public dialog:MatDialog) { \r\n }\r\n ngOnInit() {\r\n this.getProductsDetail();\r\n }\r\n getProductsDetail(){\r\n this.productsServices.getProductsDetails().subscribe(response => {\r\n if (response.status == true) {\r\n this.productsList = response.data;\r\n console.log(this.productsList);\r\n }\r\n });\r\n }\r\n openDialogToChangeStatus(productId: string, isActive:string){\r\n this.displayChangeStatus = 'block';\r\n this.productId = productId;\r\n this.isproductActive = isActive;\r\n}\r\n changeProductStatus(productId: string, isActive:any){\r\n this.productData.ProductId=productId;\r\n this.productData.ProductName=productId;\r\n if(isActive==0)\r\n this.productData.isProductActive=1;\r\n else\r\n this.productData.isProductActive= 0;\r\n this.productsServices.changeProductStatus(this.productData).subscribe(response=>{\r\n this.getProductsDetail();\r\n if (response.Status == true) {\r\n console.log(response.Status);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n color(productId: string,isActive:any){\r\n if(isActive==0)\r\n {\r\n return 'red'\r\n }\r\n else\r\n {\r\n return 'green'\r\n }\r\n }\r\n ChangeStatus(id : any){\r\n if(id == 0){\r\n this.displayChangeStatus = 'none';\r\n }\r\n else{\r\n this.displayChangeStatus = 'none';\r\n this.changeProductStatus(this.productId, this.isproductActive); \r\n } \r\n }\r\n}\r\n","module.exports = \".column {\\r\\n float: left;\\r\\n width: 50%;\\r\\n padding: 10px;\\r\\n }\\r\\n .row:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsY0FBYztHQUNmO0VBQ0Q7SUFDRSxZQUFZO0lBQ1osZUFBZTtJQUNmLFlBQVk7R0FDYiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29sdW1uIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgfVxyXG4gIC5yb3c6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfSJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n

Profile

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n User Name:\\r\\n {{personalDetails.name}}\\r\\n
\\r\\n
\\r\\n Mobile Number:\\r\\n {{personalDetails.mobileNo}}\\r\\n
\\r\\n
\\r\\n Designation:\\r\\n {{personalDetails.roleName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email: \\r\\n {{personalDetails.emailID}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { UserProfile } from '../../models/profile/UserProfile';\r\nimport { ProfileService } from 'src/app/Services/profile/profile.service';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {MatSnackBarComponent} from 'src/app/Components/mat-snack-bar/mat-snack-bar.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.css']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n public personalDetails: any=[];\r\n userIdQuery: string;\r\n loader: string = 'none';\r\n constructor(private route: ActivatedRoute, private profileService: ProfileService, private snackBar: MatSnackBarComponent,private toastr:ToastrService) { }\r\n ngOnInit() {\r\n this.route.paramMap\r\n .subscribe(params => {\r\n this.userIdQuery = this.route.snapshot.params.userId;\r\n });\r\n\r\n this.getPersonalDetail();\r\n }\r\n\r\n //function to call the service for fetching Personal Details of LoggedIn User\r\n getPersonalDetail() {\r\n this.loader = 'block';\r\n let userId: string;\r\n\r\n if (this.userIdQuery == '' || this.userIdQuery === undefined) {\r\n userId = localStorage.getItem('mabt_userId');\r\n //userId=\"NEWGEN-01374\";\r\n }\r\n \r\n this.profileService.getPersonalDetails(userId).subscribe(response => {\r\n if (response.status == true) {\r\n this.personalDetails = response.data;\r\n console.log(this.personalDetails);\r\n this.loader = 'none';\r\n }\r\n },\r\n err => {\r\n this.loader = 'none';\r\n // this.snackBar.openSnackBar('Some problem occurred, please try again later.', 'Close', 'red-snackbar');\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","module.exports = \".date{\\r\\n min-width: 100px;\\r\\n}\\r\\n.shipToAddress{\\r\\n width: 60%;\\r\\n height: 65px;\\r\\n padding: 5px;\\r\\n border-radius: 4px;\\r\\n border: solid 1px #a8a8a8;\\r\\n background-color: #fff;\\r\\n resize: none;\\r\\n}\\r\\n.updateInput{\\r\\n height: 30px;\\r\\n border-radius: 4px;\\r\\n border: 1px solid #ccc;\\r\\n outline: none;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9yYWlzZS1wby9yYWlzZS1wby5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0NBQ3BCO0FBQ0Q7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixhQUFhO0NBQ2hCO0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixjQUFjO0lBQ2QsbUJBQW1CO0NBQ3RCIiwiZmlsZSI6InNyYy9hcHAvQ29tcG9uZW50cy9yYWlzZS1wby9yYWlzZS1wby5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRhdGV7XHJcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG59XHJcbi5zaGlwVG9BZGRyZXNze1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIGhlaWdodDogNjVweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICNhOGE4YTg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgcmVzaXplOiBub25lO1xyXG59XHJcbi51cGRhdGVJbnB1dHtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n

Raise PO

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

{{poNumber}}

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

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

{{poNumber}}

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

{{poDate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Check email formate.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

{{updatedDate}}

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

Activity Type

\\r\\n
\\r\\n 1\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{activity.activityName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{activity.activityName}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{activity.activityName}}

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

{{activity.activityName}}

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

{{activity.cropId}}

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

{{activity.productId}}

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

{{activity.stateCode}}

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

{{activity.startDate}}

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

{{activity.endDate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\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.Item Required/ Service ItemSpecificationQuantity RequiredNo. Of ManpowerRequired DaysVehicles RequiredRate per UnitPer month costUnit of MeasureAmount
{{rate.rownumber}}{{rate.element}}{{rate.specification}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rate.rate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rate.rate}}{{rate.unitMeasure}}{{ ConvertNumberToSpecialFormateIncludingDecimal(rate.totalAmmount) }}
Number Of ActivityNumber Of MonthNumber Of Activity{{rate.count}}
Cost Of ActivityCost Of MonthCost Of Activity{{ ConvertNumberToSpecialFormateIncludingDecimal(sum.total/rate.count) }}
Approx value (Rs.)/Amount Approx value (Rs.)/Amount {{ ConvertNumberToSpecialFormateIncludingDecimal(sum.total) }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Applicable GST %\\r\\n \\r\\n \\r\\n

(Value Not to exceed)

\\r\\n Grand Total of all Activities :\\r\\n {{ ConvertNumberToSpecialFormateIncludingDecimal(grandTotal) }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

{{ma.address}}

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

{{ma.gst}}

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

{{ma.contactPerson}}

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

{{ma.mobileNo}}

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

{{ma.emailId}}

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

Are you sure you want to {{change}}?

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

PO Number ({{postring}}) has been successfully generated.

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { SumTable, VendorRateCard } from 'src/app/Models/RaisePo/vendor-rate-card';\r\nimport { RaisepoService } from 'src/app/Services/RaisePo/raisepo.service';\r\nimport { RaisePoFormSubmit, RequiredItemList, TotalSumActivtiywise } from 'src/app/Models/RaisePo/raise-po-form-submit';\r\nimport { element } from '@angular/core/src/render3/instructions';\r\nimport { DateAdapter, MAT_DATE_FORMATS, NativeDateAdapter } from '@angular/material';\r\nimport { formatDate } from '@angular/common';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { DatePipe } from '@angular/common'\r\nimport { P } from '@angular/core/src/render3';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nexport const PICK_FORMATS = {\r\n parse: { dateInput: { month: 'short', year: 'numeric', day: 'numeric' } },\r\n display: {\r\n dateInput: 'input',\r\n monthYearLabel: { year: 'numeric', month: 'short' },\r\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\r\n monthYearA11yLabel: { year: 'numeric', month: 'long' }\r\n }\r\n};\r\n export class PickDateAdapter extends NativeDateAdapter {\r\n format(date: Date, displayFormat: Object): string {\r\n if (displayFormat === 'input') {\r\n return formatDate(date, 'dd/MMM/yyyy', this.locale);;\r\n } else {\r\n return date.toDateString();\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-raise-po',\r\n templateUrl: './raise-po.component.html',\r\n styleUrls: ['./raise-po.component.css'],\r\n providers: [\r\n { provide: DateAdapter, useClass: PickDateAdapter },\r\n { provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS },\r\n DatePipe\r\n ]\r\n})\r\nexport class RaisePoComponent implements OnInit {\r\n @ViewChild('content') content: ElementRef;\r\n pdfTitle = 'Raise PO PDF';\r\n type: number;\r\n fpeRequestID: number;\r\n userId: string;\r\n disable: boolean = false;\r\n checkboxCheckedArray: any[] = [];\r\n poTitle: any;\r\n poNumber: any;\r\n regionCode: any;\r\n supplierCode:any;\r\n initialRegionCode:any;\r\n vendorId: any = '';\r\n activityType: any;\r\n vendorList: any[];\r\n activityList: any[];\r\n vendorName: any;\r\n vendorAddress: any;\r\n vendorEmailId: any;\r\n vendorNumber: any;\r\n maDetails: any[];\r\n poDate: any;\r\n vendorActivityMapping: any[];\r\n vendorRate: VendorRateCard[];\r\n vendorRateSum : VendorRateCard[];\r\n regionList: any[];\r\n totalSumRequested: any;\r\n grandTotal: any;\r\n gstRate: any = 18\r\n discountRates: SumTable[];\r\n errorss:number=0;\r\n discountPercent: any;\r\n discountDay: any = ''\r\n fmcReferenceNo: any = '';\r\n postring:string\r\n date: string = '';\r\n instructions: string = '';\r\n deductions: string = '';\r\n penaltyClause: string = '';\r\n importantPoints: string = '';\r\n termsConditions: string = '';\r\n status: number = 0;\r\n fmcDisable: boolean = false;\r\n cancel: number = 0;\r\n saveButton: boolean = false;\r\n isOneTimeVendor : string = '0';\r\n private sub: any;\r\n error: number = 0;\r\n displayChangeStatus: boolean = false;\r\n buttonValue: any;\r\n change: string = '';\r\n budgetTypeId: any = 0;\r\n displayPoNumber: boolean = false;\r\n maName: string = '';\r\n maNumber: string = '';\r\n orderStatus: number = 0;\r\n requestTypeID: number = 0;\r\n regionDisable: number = 0;\r\n disableRegion : boolean = false;\r\n ispoexist : string = '0';\r\n maBillToAddress : string = '';\r\n maBillToGst : string = '';\r\n updatedDate : string = '';\r\n loader:string='none';\r\n disableVendorInput : boolean = false;\r\n\r\n dropdownRegionSetting: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: false,\r\n enableCheckAll: true\r\n };\r\n dropdownVendorSetting: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: false,\r\n enableCheckAll: false\r\n };\r\n selectedRegionCode: any[] = [];\r\n selectedSupplierCode: any[] = [];\r\n budgetValidation: any[] = [];\r\n selectedSupplierCodePO: string='';\r\n constructor(private route: ActivatedRoute,public datepipe: DatePipe, private raisepoService: RaisepoService, private snackbar: MatSnackBarComponent,private toastr:ToastrService) {\r\n this.userId = localStorage.getItem('mabt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n this.sub = this.route.params.subscribe(params => {\r\n this.type = +params['type']; // (+) converts string 'id' to a number\r\n this.fpeRequestID = +params['id'];\r\n this.poNumber = params.poNum;\r\n if (this.type == 3) {\r\n this.disable = true;\r\n }\r\n this.GetRaisePoList();\r\n // In a real app: dispatch action to load the details here.\r\n });\r\n }\r\n\r\n GetRaisePoList() {\r\n this.loader = 'block';\r\n this.raisepoService.GetRaisePoListingData(this.fpeRequestID, this.poNumber).subscribe((response: any) => {\r\n if (response.status == true) {\r\n debugger;\r\n this.poTitle = response.data.poNumber[0].title;\r\n this.poNumber = response.data.poNumber[0].poNumber;\r\n this.vendorId = response.data.poNumber[0].vendorId;\r\n let selectvendor = []\r\n selectvendor.push(response.data.poNumber[0].vendorId);\r\n //this.selectedSupplierCode= selectvendor;\r\n let selectedSupplier=response.data.poNumber[0].vendorId;\r\n this.selectedSupplierCode=response.data.vendorList.filter(x=>x.id==selectedSupplier);\r\n this.poDate = response.data.poNumber[0].poDate;\r\n this.regionCode = response.data.poNumber[0].regionName;\r\n this.initialRegionCode=response.data.poNumber[0].regionCode;\r\n console.log(response.data.poNumber[0]);\r\n this.maName = response.data.poNumber[0].maName;\r\n this.maNumber = response.data.poNumber[0].maNumber;\r\n this.gstRate = response.data.poNumber[0].gst;\r\n this.fmcReferenceNo = response.data.poNumber[0].fmcRefrenceNumber;\r\n this.instructions = response.data.poNumber[0].instructions;\r\n this.discountDay = response.data.poNumber[0].paymentTerm;\r\n this.deductions = response.data.poNumber[0].deductions;\r\n this.penaltyClause = response.data.poNumber[0].penaltyClause;\r\n this.importantPoints = response.data.poNumber[0].importantPoints;\r\n this.termsConditions = response.data.poNumber[0].termsConditions;\r\n this.budgetTypeId = response.data.poNumber[0].budgetTypeId;\r\n this.orderStatus = response.data.poNumber[0].orderStatus;\r\n this.updatedDate = response.data.poNumber[0].updatedDate;\r\n this.regionDisable = response.data.poNumber[0].regionDisable;\r\n this.requestTypeID = response.data.poNumber[0].requestTypeID;\r\n if (this.orderStatus == 11) {\r\n this.disable = true;\r\n this.disableRegion = true;\r\n // this.disableVendorInput =true;\r\n }\r\n if(this.regionDisable == 11){\r\n this.disableRegion = true;\r\n // this.disableVendorInput =true;\r\n\r\n }\r\n if(this.regionDisable == 11 || this.regionDisable == 8 || this.regionDisable == 7 ){\r\n this.disableVendorInput =true;\r\n\r\n } if (this.budgetTypeId == 6) {\r\n this.date = response.data.poNumber[0].date;\r\n }\r\n if (response.data.poNumber[0].budgetTypeId != 6) {\r\n this.fmcDisable = true;\r\n }\r\n if (response.data.poNumber[0].status == 1 && this.type == 3) {\r\n this.disable = true;\r\n }\r\n if (this.type == 1 || this.type == 3) {\r\n this.status = 1\r\n }\r\n else {\r\n this.status = response.data.poNumber[0].status;\r\n }\r\n if (this.disable == true) {\r\n this.fmcDisable = true;\r\n }\r\n this.cancel = response.data.poNumber[0].cancel;\r\n this.vendorList = response.data.vendorList;\r\n this.activityList = response.data.poNumber;\r\n this.regionList = response.data.regionList;\r\n let region = this.regionCode.split(',');\r\n let selectRegion = []\r\n console.log(this.activityList);\r\n if(this.requestTypeID==1){\r\n this.vendorList[0].isDisabled = true;\r\n }\r\n this.regionList.forEach(element => {\r\n region.forEach(x => {\r\n if (element.regionName == x) {\r\n selectRegion.push(element);\r\n }\r\n });\r\n });\r\n this.selectedRegionCode = selectRegion;\r\n let regionCodeString = '';\r\n selectRegion.forEach(element => {\r\n if (regionCodeString == '') {\r\n regionCodeString = element.regionCode;\r\n }\r\n else {\r\n regionCodeString = regionCodeString + ',' + element.regionCode;\r\n }\r\n });\r\n this.regionCode = regionCodeString;\r\n this.vendorActivityMapping = response.data.activityType;\r\n let indexOfVendorList = '';\r\n let poexist = '';\r\n let selectedVendor = this.vendorId;\r\n this.vendorList.forEach(element=>{\r\n if(element.id == selectedVendor){\r\n indexOfVendorList = element.isOneTimeVendor;\r\n poexist = element.poexist.toString();\r\n }\r\n })\r\n this.isOneTimeVendor = indexOfVendorList;\r\n this.ispoexist = poexist;\r\n this.maDetails = response.data.maDetails;\r\n this.maBillToAddress = this.maDetails[0].billToAddress;\r\n this.maBillToGst = this.maDetails[0].billToGst;\r\n console.log(this.vendorActivityMapping);\r\n this.vendorRate = response.data.unitPriceList;\r\n if(this.ispoexist=='1'){\r\n this.selectedSupplierCodePO=this.selectedSupplierCode[0].id\r\n }\r\n // let vendorRateList = [];\r\n // for(let i =0; i {\r\n if (element.status != 1) {\r\n activityArray.push(element.activityId);\r\n }\r\n })\r\n if (this.type == 1 || this.type == 3) {\r\n this.activityList.forEach(element => {\r\n if (element.status == 1) {\r\n activityArray.push(element.activityId);\r\n }\r\n })\r\n }\r\n this.checkboxCheckedArray = this.checkboxCheckedArray.concat(activityArray);\r\n this.vendorName = response.data.poNumber[0].name;\r\n this.vendorAddress = response.data.poNumber[0].address;\r\n this.vendorEmailId = response.data.poNumber[0].email;\r\n this.vendorNumber = response.data.poNumber[0].number;\r\n var totalSum: any = 0;\r\n var checkedBox: any[] = this.checkboxCheckedArray;\r\n this.vendorRate.forEach(element => {\r\n if (checkedBox.includes(element.activityTypeId)) {\r\n if(element.activityId == 26){\r\n element.totalAmmount = element.requiredDays * element.vehiclesRequired * element.rate;\r\n }\r\n else{\r\n element.totalAmmount = element.unitRequired * element.rate;\r\n }\r\n totalSum += element.totalAmmount *element.count;\r\n }\r\n else {\r\n element.active = 0;\r\n }\r\n })\r\n let activityListValidation : any[] = [];\r\n this.discountRates.forEach(element=>{\r\n var obj = {\r\n activityId : element.activityId,\r\n activityTypeId : element.activityTypeId,\r\n error: 0\r\n }\r\n activityListValidation.push(obj);\r\n });\r\n this.budgetValidation = activityListValidation;\r\n this.totalSumRequested = totalSum;\r\n this.grandTotal = (this.totalSumRequested * this.gstRate) / 100 + this.totalSumRequested;\r\n this.grandTotal = parseFloat(this.grandTotal).toFixed(2);\r\n this.TotalSum();\r\n console.log(this.vendorRate);\r\n this.GetVendorRateSum();\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n\r\n TotalSum() {\r\n var sumTable: SumTable[];\r\n sumTable = this.discountRates;\r\n this.vendorRate.forEach(element => {\r\n sumTable.forEach(x => {\r\n if (element.activityTypeId == x.activityTypeId) {\r\n x.total = x.total + element.totalAmmount*element.count;\r\n }\r\n })\r\n })\r\n console.log(sumTable);\r\n }\r\n\r\n Checkboxclick(id: any) {\r\n if (this.checkboxCheckedArray.includes(id)) {\r\n const index = this.checkboxCheckedArray.indexOf(id, 0);\r\n if (index > -1) {\r\n this.checkboxCheckedArray.splice(index, 1);\r\n }\r\n }\r\n else {\r\n this.checkboxCheckedArray.push(id);\r\n }\r\n let check = 0;\r\n let activityid = 0;\r\n for(let i = 0; i < this.vendorRate.length; i++){\r\n if (this.vendorRate[i].activityTypeId == id) {\r\n if(i == 0){\r\n if(this.vendorRate[i].active == 1){\r\n this.vendorRate[i].active = 0;\r\n }\r\n else{\r\n this.vendorRate[i].active = 1;\r\n }\r\n }\r\n else{\r\n if(this.vendorRate[i-1].activityTypeId == id){\r\n if(this.vendorRate[i-1].active == 0){\r\n this.vendorRate[i].active = 0;\r\n }\r\n else{\r\n this.vendorRate[i].active = 1;\r\n }\r\n }\r\n else{\r\n if(this.vendorRate[i].active == 1){\r\n this.vendorRate[i].active = 0;\r\n }\r\n else{\r\n this.vendorRate[i].active = 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.CalculateTotalAmount();\r\n }\r\n\r\n CalculateTotalAmount() {\r\n var totalSum: any = 0;\r\n this.vendorRate.forEach(element => {\r\n if (element.active == 1) {\r\n totalSum = totalSum + element.totalAmmount*element.count;\r\n }\r\n })\r\n this.grandTotal = (totalSum * this.gstRate) / 100 + totalSum;\r\n this.grandTotal = parseFloat(this.grandTotal).toFixed(2);\r\n }\r\n\r\n VendorChange(vendor:any) {\r\n if(this.requestTypeID==1)\r\n {\r\n this.vendorId=vendor;\r\n }\r\n else\r\n {\r\n var name: any;\r\n \r\n var address: any;\r\n var phone: any;\r\n var email: any;\r\n var id: any = this.vendorId;\r\n this.vendorList.forEach(element => {\r\n if (element.id == id) {\r\n name = element.name;\r\n address = element.address;\r\n phone = element.number;\r\n email = element.email;\r\n }\r\n })\r\n this.raisepoService.GetVendorRequiredItemListingData(this.vendorId, this.fpeRequestID).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.vendorRate = response.data;\r\n var totalSum: any = 0;\r\n var checkBox: any[] = this.checkboxCheckedArray;\r\n this.vendorRate.forEach(element => {\r\n if (checkBox.includes(element.activityTypeId)) { \r\n if(element.activityId == 26){\r\n element.totalAmmount = element.requiredDays * element.vehiclesRequired * element.rate;\r\n }\r\n else{\r\n element.totalAmmount = element.unitRequired * element.rate;\r\n }\r\n totalSum = totalSum + element.totalAmmount*element.count;\r\n }\r\n else {\r\n element.active = 0;\r\n }\r\n })\r\n var sumTable: SumTable[];\r\n sumTable = this.discountRates;\r\n sumTable.forEach(x => {\r\n x.total = 0;\r\n this.vendorRate.forEach(element => {\r\n if (element.activityTypeId == x.activityTypeId) {\r\n x.total = x.total + element.totalAmmount * element.count;\r\n }\r\n })\r\n })\r\n this.discountRates = sumTable;\r\n this.totalSumRequested = totalSum;\r\n this.grandTotal = 0;\r\n this.grandTotal = (this.totalSumRequested * this.gstRate) / 100 + this.totalSumRequested;\r\n this.grandTotal = parseFloat(this.grandTotal).toFixed(2);\r\n }\r\n })\r\n this.vendorName = name;\r\n this.vendorAddress = address;\r\n this.vendorNumber = phone;\r\n this.vendorEmailId = email;\r\n\r\n let indexOfVendorList = '';\r\n let poexist = '';\r\n let selectedVendor = this.vendorId;\r\n this.vendorList.forEach(element=>{\r\n if(element.id == selectedVendor){\r\n indexOfVendorList = element.isOneTimeVendor;\r\n poexist = element.poexist.toString();\r\n }\r\n })\r\n this.isOneTimeVendor = indexOfVendorList; }\r\n }\r\n\r\n OnBlurQuantity(activityId: any) {\r\n debugger;\r\n var totalSum: any = 0;\r\n var gst: any = this.gstRate;\r\n var totalAmmount: any = 0;\r\n let selectedActivityId : any = 0;\r\n this.vendorRate.forEach(element => {\r\n if(element.activityId == 26){\r\n element.totalAmmount = element.requiredDays * element.vehiclesRequired * element.rate;\r\n }\r\n else{\r\n element.totalAmmount = element.unitRequired * element.rate;\r\n } \r\n })\r\n this.vendorRate.forEach(element => {\r\n if (element.activityTypeId == activityId) {\r\n selectedActivityId = element.activityId;\r\n totalSum = totalSum + element.totalAmmount;\r\n }\r\n })\r\n this.vendorRateSum.forEach(element=>{\r\n if(element.activityId == selectedActivityId){\r\n totalSum = totalSum * element.count;\r\n }\r\n })\r\n \r\n if(this.budgetTypeId != 6){\r\n this.raisepoService.CheckBudgetOnQuantityChange(this.fpeRequestID,this.poNumber,selectedActivityId,totalSum,this.regionCode).subscribe((response: any) => {\r\n if (response.status == true) {\r\n let error = response.data[0].error;\r\n \r\n if(error == 1){\r\n this.errorss=1\r\n // this.snackbar.openSnackBar(response.data[0].msg, 'Close', 'red-snackbar'); \r\n this.toastr.error(response.data[0].msg);\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.disable = false;\r\n }\r\n this.budgetValidation.forEach(element=>{\r\n if (element.activityTypeId == activityId) {\r\n element.error = error;\r\n }\r\n });\r\n this.discountRates.forEach(element => {\r\n if (element.activityTypeId == activityId) {\r\n element.total = totalSum;\r\n }\r\n });\r\n }\r\n else{\r\n // this.snackbar.openSnackBar('Some error occured', 'Close', 'red-snackbar');\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n this.error = 1; \r\n }\r\n });\r\n }\r\n else{\r\n this.discountRates.forEach(element => {\r\n if (element.activityTypeId == activityId) {\r\n element.total = totalSum;\r\n }\r\n });\r\n }\r\n \r\n var grandTotal: any = 0;\r\n var checkBox: any[] = this.checkboxCheckedArray;\r\n this.vendorRate.forEach(element => {\r\n if (checkBox.includes(element.activityTypeId)) {\r\n if(this.requestTypeID==1)\r\n {\r\n grandTotal = totalSum;\r\n\r\n }\r\n else{\r\n grandTotal = grandTotal + element.totalAmmount * element.count;\r\n }\r\n }\r\n })\r\n this.discountRates.forEach(element => {\r\n totalAmmount = ((element.total * gst) / 100 + element.total) + totalAmmount\r\n })\r\n this.grandTotal = (grandTotal * gst) / 100 + grandTotal;\r\n this.grandTotal = parseFloat(this.grandTotal).toFixed(2); \r\n this.GetVendorRateSum();\r\n }\r\n\r\n OnBlurGST() {\r\n var gst: any = this.gstRate;\r\n var totalAmmount: any = 0;\r\n this.vendorRate.forEach(element => {\r\n if (element.active == 1) {\r\n totalAmmount = totalAmmount + element.totalAmmount * element.count;\r\n }\r\n })\r\n this.grandTotal = (totalAmmount * gst) / 100 + totalAmmount;\r\n this.grandTotal = parseFloat(this.grandTotal).toFixed(2);\r\n }\r\n\r\n SavePDF() {\r\n this.loader = 'block';\r\n this.raisepoService.RaisePoPdfDownload(this.poNumber).subscribe(\r\n success => {\r\n saveAs(success, 'PoRaise' + this.poNumber + '.pdf');\r\n this.loader = 'none';\r\n }\r\n )\r\n }\r\n\r\n GetVendorRateSum(){\r\n let vendorRateSumDummy = [];\r\n this.vendorRate.forEach(element=>{\r\n if(vendorRateSumDummy.length == 0){\r\n var dummyArray = {\r\n count : element.count,\r\n activityId : element.activityId,\r\n activityTypeId : element.activityTypeId\r\n }\r\n vendorRateSumDummy.push(dummyArray);\r\n }\r\n else{\r\n if(!vendorRateSumDummy.some(e => e.activityTypeId === element.activityTypeId)){\r\n var dummyArray = {\r\n count : element.count,\r\n activityId : element.activityId,\r\n activityTypeId : element.activityTypeId\r\n }\r\n vendorRateSumDummy.push(dummyArray);\r\n }\r\n }\r\n })\r\n this.vendorRateSum = vendorRateSumDummy;\r\n }\r\n\r\n SubmitRaisePo(status: any) {debugger;\r\n if(this.selectedSupplierCode.length==0 || this.selectedSupplierCode.find(x=>x.id =='FAPLMA-101' || x.id =='MRPL-700' || x.id =='NGCSPL-500' || x.id=='')){\r\n this.toastr.error('Please select vendor.');\r\n this.loader='none';\r\n return;\r\n }\r\n this.errorss=0;\r\n this.vendorRate.forEach(element => {\r\n if(element.active==1)\r\n {\r\n this.OnBlurQuantity(element.activityTypeId)\r\n\r\n }\r\n });\r\n if(this.errorss==0)\r\n {\r\n this.buttonValue = status;\r\n this.displayChangeStatus = true;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n if (status == 1) {\r\n this.change = 'Submit';\r\n } else if (status == 2) {\r\n this.change = 'Update';\r\n }\r\n else if (status == 2) {\r\n this.change = 'Update';\r\n }\r\n else {\r\n this.change = 'Reject';\r\n }\r\n }\r\n }\r\n\r\n _keyPressInt(event: any) {\r\n //\r\n const pattern = /^[\\d]+$/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n ChangeStatus(id: any) {\r\n this.loader='block';\r\n var date: string;\r\n if (id == 1) {\r\n this.disable = true;\r\n if (this.fmcDisable == false) {\r\n // // var reg = new RegExp(\"^(([0-9])|([0-2][0-9])|([3][0-1]))\\-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\-\\d{4}$\");\r\n // var monthArray=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']\r\n date = this.date.toString();\r\n // var checkDate=date.split('/');\r\n // var mont='';\r\n // mont=monthArray.find(x => x == checkDate[1].toString());\r\n \r\n if (date.includes('GMT')) {\r\n let stringArray = date.split(' ');\r\n this.date = stringArray[2] + '/' + stringArray[1] + '/' + stringArray[3];\r\n }\r\n else if(date.includes('/')){\r\n var monthArray=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']\r\n date = this.date.toString();\r\n var checkDate=date.split('/');\r\n var mont='';\r\n mont=monthArray.find(x => x == checkDate[1].toString());\r\n if(checkDate[0] < '32' && mont== checkDate[1].toString() && checkDate[2].length==4){\r\n this.date = date.replace(date.substring(25, date.length), '');\r\n //Default Date check\r\n }\r\n else{\r\n // this.snackbar.openSnackBar('Please enter correct FMC Reference Date', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter correct FMC Reference Date.');\r\n this.loader='none';\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.buttonValue = 0;\r\n this.disable = false\r\n return;\r\n }\r\n }\r\n else {\r\n // this.snackbar.openSnackBar('Please enter correct FMC Reference Date', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter correct FMC Reference Date.');\r\n this.loader='none';\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.buttonValue = 0;\r\n this.disable = false\r\n return;\r\n }\r\n if (Number(this.fmcReferenceNo) == 0) {\r\n // this.snackbar.openSnackBar('Please enter correct FMC Reference Number', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter correct FMC Reference Number.');\r\n this.loader='none';\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.buttonValue = 0;\r\n this.disable = false\r\n return;\r\n }\r\n \r\n } debugger;\r\n if(this.maNumber.toString().length < 10 || this.maNumber.toString().length > 10){\r\n // this.snackbar.openSnackBar('Please enter valid MA Contact Details.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter valid MA Contact Details.');\r\n this.loader='none';\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.buttonValue = 0;\r\n this.disable = false\r\n return;\r\n }\r\n if(this.maBillToGst == ''){\r\n // this.snackbar.openSnackBar('Please enter correct GST Number', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter correct GST Number.');\r\n this.loader='none';\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.buttonValue = 0;\r\n this.disable = false\r\n return;\r\n }\r\n if(this.maBillToAddress == ''){\r\n // this.snackbar.openSnackBar('Please enter correct Ship to Address', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter correct Ship to Address.');\r\n this.loader='none';\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.buttonValue = 0;\r\n this.disable = false\r\n return;\r\n }\r\n if(this.maName == ''){\r\n // this.snackbar.openSnackBar('Please enter valid MA Name', 'Close', 'red-snackbar');\r\n this.toastr.error('Please enter valid MA Name.');\r\n this.loader='none';\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.buttonValue = 0;\r\n this.disable = false\r\n return;\r\n }\r\n debugger;\r\n\r\n \r\n\r\n \r\n \r\n if (this.change == 'Submit') {\r\n this.buttonValue = 1;\r\n }\r\n else {\r\n this.buttonValue = 2;\r\n }\r\n if (this.change == 'Submit') {\r\n this.buttonValue = 1;\r\n }\r\n else {\r\n this.buttonValue = 2;\r\n }\r\n let raisePoFormSubmit: RaisePoFormSubmit = new RaisePoFormSubmit();\r\n raisePoFormSubmit.FPERequestID = this.fpeRequestID;\r\n raisePoFormSubmit.PONumber = this.poNumber;\r\n raisePoFormSubmit.PODate = this.poDate;\r\n if(this.requestTypeID==1)\r\n {\r\n debugger;\r\n if(this.supplierCode=='' || this.supplierCode==undefined)\r\n {\r\n raisePoFormSubmit.VendorId = this.vendorId;;\r\n\r\n }\r\n else\r\n {\r\n raisePoFormSubmit.VendorId = this.supplierCode;\r\n }\r\n }else\r\n {\r\n raisePoFormSubmit.VendorId = this.vendorId;\r\n }\r\n raisePoFormSubmit.RequestTypeId=this.requestTypeID;\r\n raisePoFormSubmit.VendorName = this.vendorName;\r\n raisePoFormSubmit.VendorAddress = this.vendorAddress;\r\n raisePoFormSubmit.VendorEmail = this.vendorEmailId;\r\n raisePoFormSubmit.VendorMobile = this.vendorNumber;\r\n let requiredItem: RequiredItemList[] = [];\r\n this.vendorRate.forEach(element => {\r\n if (element.active == 1) {\r\n var item = {\r\n ID: element.id,\r\n Element: element.element,\r\n Specification: element.specification,\r\n Qunatity: element.unitRequired,\r\n Rate: element.rate,\r\n RequiredDays: element.requiredDays,\r\n VehiclesRequired: element.vehiclesRequired\r\n };\r\n requiredItem.push(item);\r\n }\r\n });\r\n raisePoFormSubmit.RequiredItem = requiredItem;\r\n raisePoFormSubmit.ApproxValueAmount = this.totalSumRequested;\r\n raisePoFormSubmit.GST = this.gstRate;\r\n raisePoFormSubmit.GrandTotalOfAllActivities = this.grandTotal;\r\n raisePoFormSubmit.FMCRefrenceNumber = this.fmcReferenceNo;\r\n raisePoFormSubmit.Date = this.date;\r\n raisePoFormSubmit.Instructions = this.instructions;\r\n raisePoFormSubmit.PaymentTerm = this.discountDay;\r\n raisePoFormSubmit.Deductions = this.deductions;\r\n raisePoFormSubmit.PenaltyClause = this.penaltyClause;\r\n raisePoFormSubmit.ImportantPoints = this.importantPoints;\r\n raisePoFormSubmit.TermsConditions = this.termsConditions;\r\n raisePoFormSubmit.Status = this.buttonValue;\r\n raisePoFormSubmit.RejectReason = '';\r\n let regionCode = '';\r\n this.selectedRegionCode.forEach(element=>{\r\n if(regionCode == ''){\r\n regionCode = element.regionCode;\r\n }\r\n else{\r\n regionCode = regionCode + ',' + element.regionCode;\r\n }\r\n })\r\n raisePoFormSubmit.Region = regionCode;\r\n raisePoFormSubmit.MaShipToAddress = this.maBillToAddress;\r\n raisePoFormSubmit.MaShipToGST = this.maBillToGst;\r\n raisePoFormSubmit.MaName = this.maName;\r\n raisePoFormSubmit.MaNumber = this.maNumber;\r\n var checkBox: any[] = this.checkboxCheckedArray;\r\n\r\n if (this.budgetTypeId == 6) {\r\n this.error = 0;\r\n }\r\n else{\r\n let error = 0\r\n this.budgetValidation.forEach(element=>{\r\n if(error == 0){\r\n error = element.error;\r\n }\r\n })\r\n this.error = error;\r\n }\r\n if (this.error == 0) {\r\n this.loader='block';\r\n this.raisepoService.SaveRaisePoListingData(raisePoFormSubmit).subscribe((response: any) => {\r\n \r\n if (response.status == true) {\r\n if (response.data[0].status == 'true') {\r\n if (this.buttonValue == 1) {\r\n // this.snackbar.openSnackBar(response.data[0].msg, 'Close', 'green-snackbar');\r\n this.toastr.success(response.data[0].msg);\r\n this.GetRaisePoList();\r\n this.displayChangeStatus = false;\r\n if(this.requestTypeID==1)\r\n {\r\n this.postring=response.data[0].data;\r\n }\r\n else{\r\n this.postring=this.poNumber\r\n }\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.displayPoNumber = true;\r\n //const body = document. getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(response.data[0].msg, 'Close', 'green-snackbar');\r\n this.toastr.success(response.data[0].msg);\r\n this.GetRaisePoList();\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n this.loader='none';\r\n body.classList.remove('overlay-back');\r\n this.disable = false;\r\n }\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(response.data[0].msg, 'Close', 'red-snackbar');\r\n this.toastr.error(response.data[0].msg);\r\n this.GetRaisePoList();\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n this.loader='none';\r\n body.classList.remove('overlay-back');\r\n this.disable = false;\r\n }\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(response.data[0].msg, 'Close', 'red-snackbar');\r\n this.toastr.error(response.data[0].msg);\r\n this.GetRaisePoList();\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n this.loader='none';\r\n body.classList.remove('overlay-back');\r\n this.disable = false;\r\n }\r\n })\r\n }\r\n else {\r\n // this.snackbar.openSnackBar('Budget less available for the Activity Request.', 'Close', 'red-snackbar');\r\n this.toastr.error('Budget less available for the Activity Request.');\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n this.loader='none';\r\n body.classList.remove('overlay-back');\r\n this.buttonValue = 0;\r\n this.disable = false\r\n }\r\n \r\n }\r\n \r\n else {\r\n this.displayChangeStatus = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n this.loader='none';\r\n body.classList.remove('overlay-back');\r\n this.disable = false;\r\n }\r\n \r\n }\r\n\r\n PoNumberPopup() {\r\n this.displayPoNumber = false;\r\n const body = document.getElementsByTagName('body')[0];\r\n this.loader='none';\r\n body.classList.remove('overlay-back');\r\n }\r\n ConvertNumberToSpecialFormate(Number: any) {\r\n let ActNumber = Math.round(parseFloat(Number));\r\n let data = ActNumber.toString();\r\n let num = data.split('.');\r\n let lastThree = num[0].substring(num[0].length - 3);\r\n let otherNumber = num[0].substring(0, num[0].length - 3);\r\n if (otherNumber != '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n var total = otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\r\n return total;\r\n // this.GrandTotal=this.Total.toString().replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\");\r\n }\r\n ConvertNumberToSpecialFormateIncludingDecimal(Number: Number) {\r\n let data = Number.toString();\r\n let num = data.split('.');\r\n let lastThree = num[0].substring(num[0].length - 3);\r\n let otherNumber = num[0].substring(0, num[0].length - 3);\r\n if (otherNumber != '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n var total = otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\r\n if (num.length > 1) {\r\n if (num[1].length == 1) {\r\n return total + '.' + num[1] + '0';\r\n } else {\r\n return total + '.' + num[1].substring(0, 2);\r\n }\r\n } else {\r\n return total + '.00';\r\n }\r\n }\r\n\r\n SupplierChange(action:string) {\r\n debugger;\r\n if(action=='SecAll'){\r\n this.selectedSupplierCode=this.vendorList;\r\n }\r\n if(action=='DselAll'){\r\n this.selectedSupplierCode=[];\r\n this.supplierCode='';\r\n }\r\n if(action=='Sec' || action=='Dsel' || action=='SecAll'){\r\n let newSupplier=''\r\n if(this.selectedSupplierCode.length>1){\r\n this.selectedSupplierCode=this.selectedSupplierCode.filter(x=>x.id !='FAPLMA-101' && x.id !='MRPL-700' && x.id !='NGCSPL-500')\r\n }\r\n this.selectedSupplierCode.forEach(element => {\r\n if (newSupplier == '') {\r\n newSupplier = element.id;\r\n }\r\n else {\r\n newSupplier = newSupplier + ',' + element.id;\r\n }\r\n });\r\n this.supplierCode=newSupplier;\r\n }\r\n }\r\n\r\n RegionChange(action:string) {\r\n debugger;\r\n if(action=='SecAll'){\r\n this.selectedRegionCode=this.regionList;\r\n }\r\n if(action=='DselAll'){\r\n this.selectedRegionCode=[];\r\n this.regionCode='';\r\n }\r\n if(action=='Sec' || action=='Dsel' || action=='SecAll'){\r\n let newRegion=''\r\n this.selectedRegionCode.forEach(element => {\r\n if (newRegion == '') {\r\n newRegion = element.regionCode;\r\n }\r\n else {\r\n newRegion = newRegion + ',' + element.regionCode;\r\n }\r\n });\r\n this.regionCode=newRegion;\r\n }\r\n\r\n if (this.regionCode != '' && this.selectedRegionCode.length != 0) {\r\n let region = ''\r\n this.selectedRegionCode.forEach(element => {\r\n debugger;\r\n if (region == '') {\r\n region = element.regionCode;\r\n }\r\n else {\r\n region = region + ',' + element.regionCode;\r\n }\r\n })\r\n this.vendorRate.forEach(element => {\r\n if(element.activityId == 26){\r\n element.totalAmmount = element.requiredDays * element.vehiclesRequired * element.rate;\r\n }\r\n else{\r\n element.totalAmmount = element.unitRequired * element.rate;\r\n } \r\n })\r\n let totalActivityWiseAmount : TotalSumActivtiywise[] = [];\r\n this.discountRates.forEach(element => {\r\n let obj = {\r\n activityTypeId: element.activityTypeId,\r\n activityId : element.activityId,\r\n TotalSum : 0\r\n };\r\n totalActivityWiseAmount.push(obj);\r\n })\r\n this.vendorRate.forEach(x=>{\r\n totalActivityWiseAmount.forEach(element=>{\r\n if(x.activityTypeId == element.activityTypeId){\r\n element.TotalSum = element.TotalSum + x.totalAmmount;\r\n }\r\n })\r\n })\r\ndebugger;\r\n if (this.initialRegionCode != region) {\r\n this.raisepoService.RegionChange(region, this.fpeRequestID, totalActivityWiseAmount).subscribe((response: any) => {\r\n if (response.status == true) {\r\n debugger;\r\n if (response.data[0].status != 'false') {\r\n this.regionCode = region;\r\n this.discountRates = response.data;\r\n this.TotalSum();\r\n }\r\n else {\r\n this.regionCode=this.initialRegionCode;\r\n let regionArray = this.regionCode.split(',');\r\n let selectRegion = []\r\n this.regionList.forEach(element => {\r\n regionArray.forEach(x => {\r\n if (element.regionCode == x) {\r\n selectRegion.push(element);\r\n }\r\n });\r\n })\r\n this.selectedRegionCode = selectRegion;\r\n // this.snackbar.openSnackBar(response.data[0].msg, 'Close', 'red-snackbar');\r\n this.toastr.error(response.data[0].msg);\r\n }\r\n }\r\n else {\r\n // this.snackbar.openSnackBar(response.data[0].msg, 'Close', 'red-snackbar');\r\n this.toastr.error(response.data[0].msg);\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n // this.snackbar.openSnackBar('Please Select correct Region', 'Close', 'red-snackbar');\r\n this.toastr.error('Please Select correct Region.');\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","module.exports = \".mat-datepicker-toggle {\\r\\n margin-top: 35px !important;\\r\\n margin-right: 18px !important;\\r\\n}\\r\\n\\r\\n.payment-invoice-tbl :-ms-input-placeholder {\\r\\n color: #585858;\\r\\n font-size: 10px!important;\\r\\n}\\r\\n\\r\\n.payment-invoice-tbl ::-webkit-input-placeholder {\\r\\n color: #585858;\\r\\n font-size: 10px!important;\\r\\n}\\r\\n\\r\\n.pdfDelete-td{\\r\\n min-width: 140px;\\r\\n}\\r\\n\\r\\n.bug-btn1 {\\r\\n width: 142px;\\r\\n height: 40px;\\r\\n margin: 0px auto !important;\\r\\n padding: 11px 15px 10px 15px;\\r\\n border-radius: 4px;\\r\\n background-color: #1e9600;\\r\\n }\\r\\n\\r\\n/* CostCenter */\\r\\n\\r\\n.ng-dropdown-panel-items .ng-option {\\r\\n font-size: 12px;\\r\\n padding: 4px 6px !important;\\r\\n}\\r\\n\\r\\n.rec-invoice-tbl table {\\r\\n min-height: 210px;\\r\\n}\\r\\n\\r\\n.rec-invoice-tbl td {\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.bug-btn1{\\r\\n width: 142px;\\r\\n height: 28px;\\r\\n margin: 0px auto !important;\\r\\n padding: 0px 15px 0px 15px;\\r\\n border-radius: 4px;\\r\\n background-color: #1e9600;\\r\\n line-height: 28px;\\r\\n}\\r\\n\\r\\n.ng-select .ng-arrow-wrapper {\\r\\n margin: 9px 0 0 0 !important;\\r\\n}\\r\\n\\r\\n.ng-select .ng-select-container {\\r\\n min-height: 28px !important;\\r\\n}\\r\\n\\r\\n.ng-select.ng-select-single .ng-select-container {\\r\\n height: 28px !important;\\r\\n}\\r\\n\\r\\n.btn-conf {\\r\\n margin: 10px 0px 0 10px;\\r\\n}\\r\\n\\r\\n.ng-dropdown-panel {\\r\\n top: 36px !important;\\r\\n}\\r\\n\\r\\n.rec-invoice-tbl .ng-dropdown-panel {\\r\\n top: 36px !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9yZWNvcmQtaW52b2ljZS9yZWNvcmQtaW52b2ljZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksNEJBQTRCO0lBQzVCLDhCQUE4QjtDQUNqQzs7QUFFRDtJQUNJLGVBQWU7SUFDZiwwQkFBMEI7Q0FDN0I7O0FBQ0Q7SUFDSSxlQUFlO0lBQ2YsMEJBQTBCO0NBQzdCOztBQUNDO0lBQ0UsaUJBQWlCO0NBQ3BCOztBQUNEO0lBQ0ksYUFBYTtJQUNiLGFBQWE7SUFDYiw0QkFBNEI7SUFDNUIsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQiwwQkFBMEI7R0FDM0I7O0FBQ0QsZ0JBQWdCOztBQUNoQjtJQUNFLGdCQUFnQjtJQUNoQiw0QkFBNEI7Q0FDL0I7O0FBQ0Q7SUFDSSxrQkFBa0I7Q0FDckI7O0FBQ0Q7SUFDSSxvQkFBb0I7Q0FDdkI7O0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsYUFBYTtJQUNiLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQixrQkFBa0I7Q0FDckI7O0FBQ0Q7SUFDSSw2QkFBNkI7Q0FDaEM7O0FBRUQ7SUFDSSw0QkFBNEI7Q0FDL0I7O0FBQ0Q7SUFDSSx3QkFBd0I7Q0FDM0I7O0FBRUQ7SUFDSSx3QkFBd0I7Q0FDM0I7O0FBQ0Q7SUFDSSxxQkFBcUI7Q0FDeEI7O0FBQ0Q7SUFDSSxxQkFBcUI7Q0FDeEIiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL3JlY29yZC1pbnZvaWNlL3JlY29yZC1pbnZvaWNlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWF0LWRhdGVwaWNrZXItdG9nZ2xlIHtcclxuICAgIG1hcmdpbi10b3A6IDM1cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1yaWdodDogMThweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucGF5bWVudC1pbnZvaWNlLXRibCA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAjNTg1ODU4O1xyXG4gICAgZm9udC1zaXplOiAxMHB4IWltcG9ydGFudDtcclxufVxyXG4ucGF5bWVudC1pbnZvaWNlLXRibCA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICM1ODU4NTg7XHJcbiAgICBmb250LXNpemU6IDEwcHghaW1wb3J0YW50O1xyXG59XHJcbiAgLnBkZkRlbGV0ZS10ZHtcclxuICAgIG1pbi13aWR0aDogMTQwcHg7XHJcbn1cclxuLmJ1Zy1idG4xIHtcclxuICAgIHdpZHRoOiAxNDJweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIG1hcmdpbjogMHB4IGF1dG8gIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDExcHggMTVweCAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU5NjAwO1xyXG4gIH1cclxuICAvKiBDb3N0Q2VudGVyICovXHJcbiAgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZzogNHB4IDZweCAhaW1wb3J0YW50O1xyXG59XHJcbi5yZWMtaW52b2ljZS10YmwgdGFibGUge1xyXG4gICAgbWluLWhlaWdodDogMjEwcHg7XHJcbn1cclxuLnJlYy1pbnZvaWNlLXRibCB0ZCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcbi5idWctYnRuMXtcclxuICAgIHdpZHRoOiAxNDJweDtcclxuICAgIGhlaWdodDogMjhweDtcclxuICAgIG1hcmdpbjogMHB4IGF1dG8gIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDBweCAxNXB4IDBweCAxNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlOTYwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG59XHJcbi5uZy1zZWxlY3QgLm5nLWFycm93LXdyYXBwZXIge1xyXG4gICAgbWFyZ2luOiA5cHggMCAwIDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICBtaW4taGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogMjhweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLWNvbmYge1xyXG4gICAgbWFyZ2luOiAxMHB4IDBweCAwIDEwcHg7XHJcbn1cclxuLm5nLWRyb3Bkb3duLXBhbmVsIHtcclxuICAgIHRvcDogMzZweCAhaW1wb3J0YW50O1xyXG59XHJcbi5yZWMtaW52b2ljZS10YmwgLm5nLWRyb3Bkb3duLXBhbmVsIHtcclxuICAgIHRvcDogMzZweCAhaW1wb3J0YW50O1xyXG59Il19 */\"","module.exports = \"
\\r\\n
\\r\\n

Record Invoice

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n Select PO\\r\\n {{data.poNumber}}\\r\\n \\r\\n \\r\\n Select PO\\r\\n {{data.poNumber}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{budgetType}}

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

{{vendorName}}

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

{{PoNum}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
ActionInvoice NoInvoice ValueDatePosting DateSAC CodeAX Template IDPurposeBusiness UnitCost CenterNo. Of ActivitiesActivity TypeProductCropPayment StatusTotal Upload/ Download File File Name
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.invoiceNo}}\\r\\n \\r\\n \\r\\n\\r\\n {{ConvertNumberToSpecialFormateIncludingDecimal(item.invoiceValue)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.date|date:\\\"dd/MMM/yy\\\"}}\\r\\n \\r\\n \\r\\n {{item.postingDate|date:\\\"dd/MMM/yy\\\"}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 CostCenter\\r\\n {{data.code}}\\r\\n \\r\\n \\r\\n \\r\\n Select CostCenter\\r\\n {{data.code}}\\r\\n \\r\\n {{item.noofactivities}}{{item.activityName}}{{item.product}}{{item.crop}}{{ConvertNumberToSpecialFormateIncludingDecimal(item.total)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Invoice NoInvoice ValueDatePosting DateSAC CodeAX Template IDPurposeBusiness UnitCost CenterNo. Of ActivitiesActivity TypeProductCropPayment StatusTotal Upload/ Download File File NameAction
\\r\\n \\r\\n \\r\\n \\r\\n {{item.invoiceNo}}\\r\\n \\r\\n {{ConvertNumberToSpecialFormateIncludingDecimal(item.invoiceValue)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.date|date:\\\"dd/MMM/yy\\\"}}\\r\\n \\r\\n \\r\\n {{item.postingDate|date:\\\"dd/MMM/yy\\\"}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 CostCenter\\r\\n {{data.code}}\\r\\n \\r\\n \\r\\n \\r\\n Select CostCenter\\r\\n {{data.code}}\\r\\n \\r\\n {{item.noofactivities}}{{item.activityName}}{{item.product}}{{item.crop}}{{ConvertNumberToSpecialFormateIncludingDecimal(item.total)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Total of Invoice Amount{{ConvertNumberToSpecialFormateIncludingDecimal(totalInvoice)}}
Total of PO Amount{{ConvertNumberToSpecialFormateIncludingDecimal(totalPO)}}
PO Amount - Invoice Amount{{difference}}
Grand Total{{ConvertNumberToSpecialFormateIncludingDecimal(totalInvoice+totalGST)}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Close PO\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Payment Details

\\r\\n

Invoice confirmation

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n Select Region\\r\\n {{data.name}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select State\\r\\n {{data.state}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Supplier\\r\\n {{data.name}}\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Activity Type\\r\\n {{data.activityName}}\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Invoice\\r\\n {{data.invoice}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Select RequestId\\r\\n {{data.requestId}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select PO\\r\\n {{ data.poNumber }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{data.year}} \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
RequestIdSupplier NamePO NumberInvoice NoInvoice ValueRegionDatePosting DateAX Template IDActivity TypeNo Of ActivitiesAX Voucher No.AX Posting DateRMH StatusPayment Status
{{item.requestId}}{{item.vendorName}}{{item.poNumber}}\\r\\n {{item.invoiceNo}}{{ConvertNumberToSpecialFormateIncludingDecimal(item.invoiceValue)}}{{item.region}}{{item.date|date:\\\"dd/MMM/y\\\"}}{{item.postingDate|date:\\\"dd/MMM/y\\\"}}{{item.axTemplateId}}{{item.activityType}}{{item.noofactivities}}{{item.axvoucherno}}{{item.axpostingdate}}{{item.rmhStatus}}{{item.status}}
No Data Found.
\\r\\n
\\r\\n
0\\\" style=\\\"text-align:center;\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n

The invoice value is less than the PO value, amount {{balancePO}} will be returned back to budget.

\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n

The PO value is less than the invoice value, amount {{balanceInvoice}} will be deducted from the budget.

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

The PO value is equal to invoice value, amount {{balanceInvoice}} will be deducted from the budget.

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

Are you sure you want to confirm?

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

Are you sure you want to reject?

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

Are you sure you want to submit?

\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { RecordInvoiceServiceService } from \"src/app/Services/RecordInvoice/record-invoice-service.service\";\r\nimport { DashboardService } from \"../../Services/Dashboard/dashboard.service\";\r\nimport { element } from \"@angular/core/src/render3/instructions\";\r\nimport {\r\n DateAdapter,\r\n MAT_DATE_FORMATS,\r\n NativeDateAdapter,\r\n} from \"@angular/material\";\r\nimport { formatDate } from \"@angular/common\";\r\nimport { MAT_DATE_LOCALE } from \"@angular/material\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { analyzeAndValidateNgModules } from \"@angular/compiler\";\r\nimport { Documents } from \"src/app/Models/FPEBudget/ExcelDocuments\";\r\n\r\nimport { and } from \"@angular/router/src/utils/collection\";\r\nimport { stringify } from \"@angular/core/src/util\";\r\nimport { CommonService } from \"src/app/Services/Common/common.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { POStatusService } from \"src/app/Services/POStatus/postatus.service\";\r\n\r\nexport const PICK_FORMATS = {\r\n parse: { dateInput: { month: \"short\", year: \"numeric\", day: \"numeric\" } },\r\n display: {\r\n dateInput: \"input\",\r\n monthYearLabel: { year: \"numeric\", month: \"short\" },\r\n dateA11yLabel: { year: \"numeric\", month: \"long\", day: \"numeric\" },\r\n monthYearA11yLabel: { year: \"numeric\", month: \"long\" },\r\n },\r\n};\r\n// class PickDateAdapter extends NativeDateAdapter {\r\n// format(date: Date, displayFormat: Object): string {\r\n// if (displayFormat === 'input') {\r\n// return formatDate(date, 'dd-MMM-yyyy', this.locale);;\r\n// } else {\r\n// return date.toDateString();\r\n// }\r\n// }\r\n// }\r\nexport class PickDateAdapter extends NativeDateAdapter {\r\n format(date: Date, displayFormat: Object): string {\r\n return formatDate(date, \"dd-MMM-yyyy\", this.locale);\r\n }\r\n}\r\n@Component({\r\n selector: \"app-record-invoice\",\r\n templateUrl: \"./record-invoice.component.html\",\r\n styleUrls: [\"./record-invoice.component.css\"],\r\n providers: [\r\n DatePipe,\r\n { provide: DateAdapter, useClass: PickDateAdapter },\r\n //{ provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\r\n ],\r\n})\r\nexport class RecordInvoiceComponent implements OnInit {\r\n @ViewChild(\"file\") input;\r\n document: Documents = new Documents();\r\n userId: string;\r\n totalInvoice: number = 0;\r\n difference: string = \"0\";\r\n totalPO: number = 0;\r\n totalGST: number = 0;\r\n poList: any;\r\n date: string = \"\";\r\n postingDate: string = \"\";\r\n selectYear: string;\r\n RecordInvoiceList: any;\r\n aXTemplateIdList: any;\r\n SACCodeList: any;\r\n RequestIdList: any;\r\n selectedRequest: string = \"\";\r\n pONumber: string = \"\";\r\n purposeList: any;\r\n BussinessUnitList: any;\r\n CostCenter: any;\r\n\r\n budgetType: string;\r\n vendorName: string;\r\n PoNum: string;\r\n totalcol: number;\r\n selectedYear: number;\r\n YearList: any = [];\r\n PONumbers = [];\r\n selectedPO: string = \"\";\r\n regionList: any;\r\n stateList: any;\r\n vendorList: any;\r\n activityList: any;\r\n invoiceList: any;\r\n isSubmission: boolean = false;\r\n isRecordInvoice: boolean = false;\r\n isInvoiceDetail: boolean = true;\r\n isTableData: boolean = false;\r\n invoiceDetailList: any = [];\r\n selectedRegion: string = \"\";\r\n selectedState: string = \"\";\r\n selectedVendor: string = \"\";\r\n selectedActivity: string = \"\";\r\n selectedInvoice: string = \"\";\r\n validateInvoiceNo: boolean;\r\n validateSAC: boolean;\r\n validateInvoiceValue: boolean;\r\n validateAX: boolean;\r\n validatePurpose: boolean;\r\n isdisplay: boolean = false;\r\n isSubmit: boolean = false;\r\n balancePO: string;\r\n isClosed: string;\r\n balanceInvoice: string;\r\n validateBusinessUnit: boolean;\r\n roleId: string;\r\n confirm: string = null;\r\n isPushToAX: string;\r\n readaccess: boolean = false;\r\n isApproved: boolean;\r\n isRejected: boolean;\r\n status: string;\r\n request: string;\r\n id: number;\r\n validateDate: boolean;\r\n files: File[] = [];\r\n fileName: string = \"\";\r\n fileType: string;\r\n fileNameParts: string[];\r\n totalRecords: Number;\r\n page: Number = 1;\r\n loader: string = \"none\";\r\n isActivePushToAX = false;\r\n isShowPushToAX = false;\r\n IsNoRMH: boolean;\r\n validateCost: boolean;\r\n validateBussinesUnit: boolean;\r\n isAllSelected = false;\r\n SelectedRecordInvoiceList: any[] = [];\r\n AllArePushed:boolean=false;\r\n PushToAxDisabled:boolean=false;\r\n RMHPendingRequests: any[] = [];\r\n RMHConfirmedRequests: any[] = [];\r\n\r\n isChecked = false;\r\n SubCheck = false;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private Common: CommonService,\r\n private datepipe: DatePipe,\r\n private recordInvoice: RecordInvoiceServiceService,\r\n private dashboardService: DashboardService,\r\n private snackbar: MatSnackBarComponent,\r\n private toastr: ToastrService,\r\n private postatusService: POStatusService\r\n ) {\r\n this.userId = localStorage.getItem(\"mabt_userId\");\r\n this.roleId = localStorage.getItem(\"mabt_roleID\");\r\n this.selectYear = new Date().getFullYear().toString();\r\n if (this.roleId == \"42\") {\r\n this.readaccess = true;\r\n } else {\r\n this.readaccess = false;\r\n }\r\n this.GetRMH_MenuStatus();\r\n }\r\n\r\n ngOnInit() {\r\n this.GetYearList();\r\n this.GetPoList();\r\n this.BindFilterData(\"\", \"\", \"\", \"\");\r\n this.GetInvoiceDetails(\"\", \"\", \"\", \"\", \"\", this.selectYear, \"\");\r\n }\r\n GetYearList() {\r\n this.Common.GetYearList(this.userId).subscribe((response: any) => {\r\n debugger;\r\n\r\n if (response.status == true) {\r\n this.YearList = response.data;\r\n }\r\n });\r\n }\r\n GetPoList() {\r\n this.recordInvoice.GetPoList(this.userId).subscribe((response: any) => {\r\n debugger;\r\n\r\n if (response.status == true) {\r\n this.poList = response.data.table;\r\n this.aXTemplateIdList = response.data.table1;\r\n this.purposeList = response.data.table2;\r\n this.BussinessUnitList = response.data.table3;\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n GetRecorInvoiceList(po: string) {\r\n this.loader = \"block\";\r\n this.recordInvoice\r\n .GetRecorInvoiceList(this.userId, this.pONumber)\r\n .subscribe((response: any) => {\r\n this.loader = \"none\";\r\n if (response.status == true) {\r\n debugger;\r\n this.RecordInvoiceList = [];\r\n this.SelectedRecordInvoiceList = [];\r\n this.confirm = null;\r\n this.RecordInvoiceList = response.data.table;\r\n\r\n var IsAllPushsedData = this.RecordInvoiceList.filter(\r\n (item) => (item.isPushToAX === true || item.isPushToAX === \"true\" || item.isPushToAX === 1 || item.isPushToAX === \"1\") \r\n &&( item.isSubmit==true || item.isSubmit==\"true\")\r\n &&(item.confirm==true || item.confirm==\"true\")\r\n ); \r\n if(IsAllPushsedData.length>0 && IsAllPushsedData.length==this.RecordInvoiceList.length){\r\n this.AllArePushed=true;\r\n this.isAllSelected =true;\r\n this.PushToAxDisabled =true\r\n \r\n }else{\r\n \r\n this.AllArePushed=false;\r\n this.isAllSelected =false;\r\n this.PushToAxDisabled =false\r\n\r\n\r\n }\r\n\r\n\r\n\r\n console.log(this.RecordInvoiceList);\r\n this.aXTemplateIdList = response.data.table1;\r\n this.SACCodeList = response.data.table2;\r\n this.BussinessUnitList = response.data.table3;\r\n this.CostCenter = response.data.table4;\r\n\r\n //const ActivityRegion = reversedBudgetList.find(_=> _.ActivityId==Activity);\r\n if (this.RecordInvoiceList.length > 0) {\r\n this.totalPO = this.RecordInvoiceList[0].totalPO;\r\n this.budgetType = this.RecordInvoiceList[0].budgetType;\r\n this.vendorName = this.RecordInvoiceList[0].name;\r\n this.isClosed = this.RecordInvoiceList[0].isClosed;\r\n this.PoNum = this.pONumber;\r\n this.isSubmit = this.RecordInvoiceList[0].isSubmit;\r\n this.isTableData = true;\r\n this.request = this.RecordInvoiceList[0].request;\r\n if (this.RecordInvoiceList[0].pushtoaxstatus == 0) {\r\n this.isPushToAX = \"false\"; //this.RecordInvoiceList[0].isPushToAX;\r\n } else {\r\n this.isPushToAX = \"true\";\r\n }\r\n\r\n for (let i = 0; i < this.RecordInvoiceList.length; i++) {\r\n if (this.RecordInvoiceList[i].date.includes(\"1900\")) {\r\n this.RecordInvoiceList[i].date = \"\";\r\n }\r\n if (this.RecordInvoiceList[i].postingDate.includes(\"1900\")) {\r\n this.RecordInvoiceList[i].postingDate = \"\";\r\n }\r\n if (this.RecordInvoiceList[i].confirm != false) {\r\n this.confirm = \"1\";\r\n }\r\n if (this.RecordInvoiceList[i].reciept == true) {\r\n this.RecordInvoiceList[i].reciept = 1;\r\n } else if (this.RecordInvoiceList[i].reciept == false) {\r\n this.RecordInvoiceList[i].reciept = 0;\r\n } else if (this.RecordInvoiceList[i].reciept == null) {\r\n this.RecordInvoiceList[i].reciept = null;\r\n }\r\n if (\r\n this.RecordInvoiceList[i].confirm == true &&\r\n this.RecordInvoiceList[i].isPushToAX == false &&\r\n this.isActivePushToAX == false\r\n ) {\r\n this.isActivePushToAX = true;\r\n }\r\n if (\r\n this.RecordInvoiceList[i].confirm == true &&\r\n this.isShowPushToAX == false\r\n ) {\r\n this.isShowPushToAX = true;\r\n }\r\n // if(this.request=='1')\r\n // {\r\n // this.RecordInvoiceList[i].isPushToAX = 'true';\r\n // }\r\n // else\r\n // {\r\n // this.confirm=null;\r\n // }\r\n // if( this.request=='1' )\r\n // {\r\n\r\n // this.RecordInvoiceList[i].invoiceNo=this.RecordInvoiceList[i].poNumber;\r\n // }\r\n }\r\n debugger;\r\n\r\n this.Calculation();\r\n } else {\r\n this.totalPO = 0;\r\n this.budgetType = \"\";\r\n this.vendorName = \"\";\r\n this.PoNum = \"\";\r\n this.isSubmit = false;\r\n this.isTableData = false;\r\n }\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n test(invoice: any, i: number, j: number, col: string) {\r\n debugger;\r\n if (j != 0) {\r\n let indexOfInvoiceAmount: number;\r\n indexOfInvoiceAmount = this.RecordInvoiceList.map(function (o) {\r\n return o.row;\r\n }).indexOf(j);\r\n this.RecordInvoiceList[indexOfInvoiceAmount][col] = invoice;\r\n }\r\n\r\n if (col == \"invoiceValue\" || col == \"gst\") {\r\n this.Calculation();\r\n }\r\n }\r\n\r\n Calculation() {\r\n this.totalInvoice = 0;\r\n this.totalGST = 0;\r\n this.totalcol = 0;\r\n for (let i = 0; i < this.RecordInvoiceList.length; i++) {\r\n this.totalcol = 0;\r\n if (this.RecordInvoiceList[i].invoiceValue != \"\") {\r\n this.totalcol = parseFloat(this.RecordInvoiceList[i].invoiceValue);\r\n this.totalInvoice =\r\n this.totalInvoice +\r\n parseFloat(this.RecordInvoiceList[i].invoiceValue);\r\n }\r\n if (this.RecordInvoiceList[i].gst != \"\") {\r\n this.totalGST =\r\n this.totalGST + parseFloat(this.RecordInvoiceList[i].gst);\r\n this.totalcol =\r\n this.totalcol + parseFloat(this.RecordInvoiceList[i].gst);\r\n }\r\n debugger;\r\n this.RecordInvoiceList[i].total = this.totalcol;\r\n }\r\n this.difference = parseFloat(\r\n (this.totalPO - this.totalInvoice).toString()\r\n ).toFixed(2);\r\n\r\n if (this.totalPO - this.totalInvoice > 0) {\r\n this.difference = parseFloat(this.difference).toFixed(2);\r\n }\r\n }\r\n ConvertNumberToSpecialFormateIncludingDecimal(Number: Number) {\r\n let data = Number.toString();\r\n let num = data.split(\".\");\r\n let lastThree = num[0].substring(num[0].length - 3);\r\n let otherNumber = num[0].substring(0, num[0].length - 3);\r\n if (otherNumber != \"\") {\r\n lastThree = \",\" + lastThree;\r\n }\r\n var total = otherNumber.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\r\n if (num.length > 1) {\r\n if (num[1].length == 1) {\r\n return total + \".\" + num[1] + \"0\";\r\n } else {\r\n return total + \".\" + num[1];\r\n }\r\n } else {\r\n return total + \".00\";\r\n }\r\n }\r\n RecordInvoice() {\r\n this.loader = \"block\";\r\n this.CheckValidation();\r\n\r\n if (\r\n this.validateInvoiceNo == false &&\r\n this.validateDate == false &&\r\n this.validateAX == false &&\r\n this.validateInvoiceValue == false &&\r\n this.validatePurpose == false &&\r\n this.validateSAC == false &&\r\n this.validateBusinessUnit == false\r\n ) {\r\n this.isSubmission = true;\r\n }\r\n this.loader = \"none\";\r\n }\r\n cancelInvoice() {\r\n this.isSubmission = false;\r\n }\r\n Submit() {\r\n debugger;\r\n var res = \"\";\r\n if(this.SelectedRecordInvoiceList.length==0){\r\n this.toastr.error(\"Please select Invoice first.\");\r\n return false;\r\n }\r\n for (let i = 0; i < this.SelectedRecordInvoiceList.length; i++) {\r\n var invoicedate: String = this.SelectedRecordInvoiceList[i].date.toString();\r\n var postdate: String = this.SelectedRecordInvoiceList[i].postingDate.toString();\r\n\r\n if (invoicedate.includes(\"GMT\")) {\r\n this.SelectedRecordInvoiceList[i].date = this.convert(\r\n this.SelectedRecordInvoiceList[i].date.toString()\r\n );\r\n }\r\n if (postdate.includes(\"GMT\")) {\r\n this.SelectedRecordInvoiceList[i].postingDate = this.convert(\r\n this.SelectedRecordInvoiceList[i].postingDate.toString()\r\n );\r\n }\r\n if (this.SelectedRecordInvoiceList[i].isPushToAX == \"false\") {\r\n if (\r\n this.IsInvoiceNumberExist(\r\n this.SelectedRecordInvoiceList[i].invoiceNo,\r\n i,\r\n this.SelectedRecordInvoiceList[i].row,\r\n \"invoiceNo\",\r\n this.SelectedRecordInvoiceList[i].poNumber\r\n ) == \"false\"\r\n ) {\r\n res = \"false\";\r\n }\r\n }\r\n }\r\n if (res != \"false\" && res == \"\") {\r\n this.loader = \"block\";\r\n debugger;\r\n this.recordInvoice\r\n .RecordInvoice(this.userId, this.SelectedRecordInvoiceList)\r\n .subscribe((response: any) => {\r\n if (response.status == true) {\r\n // this.snackbar.openSnackBar(response.message, 'Close', 'green-snackbar');\r\n this.toastr.success(response.message);\r\n this.isRecordInvoice = true;\r\n this.isInvoiceDetail = false;\r\n //this.GetInvoiceDetails(\"\", \"\", \"\", \"\");\r\n this.GetRecorInvoiceList(this.pONumber);\r\n this.loader = \"none\";\r\n } else {\r\n this.loader = \"none\";\r\n // this.snackbar.openSnackBar(\"Something went wrong.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Something went wrong.\");\r\n }\r\n this.loader = \"none\";\r\n this.isSubmission = false;\r\n \r\n var IsAllPushsedData = this.RecordInvoiceList.filter(\r\n (item) => (item.isPushToAX === true || item.isPushToAX === \"true\" || item.isPushToAX === 1 || item.isPushToAX === \"1\") \r\n &&( item.isSubmit==true || item.isSubmit==\"true\")\r\n &&(item.confirm==true || item.confirm==\"true\")\r\n ); \r\n if(IsAllPushsedData.length>0 && IsAllPushsedData.length==this.RecordInvoiceList.length){\r\n this.AllArePushed=true;\r\n this.isAllSelected =true;\r\n this.PushToAxDisabled =true\r\n \r\n }else{\r\n \r\n this.AllArePushed=false;\r\n this.isAllSelected =false;\r\n this.PushToAxDisabled =false\r\n\r\n\r\n }\r\n });\r\n }\r\n }\r\n BindFilterData(\r\n region: string,\r\n state: string,\r\n vendor: string,\r\n activityType: string\r\n ) {\r\n this.recordInvoice\r\n .BindFilterData(this.userId, region, state, vendor, activityType)\r\n .subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.regionList = response.data.table;\r\n this.stateList = response.data.table1;\r\n this.vendorList = response.data.table2;\r\n this.activityList = response.data.table3;\r\n this.invoiceList = response.data.table4;\r\n this.RequestIdList = response.data.table5;\r\n } else {\r\n }\r\n });\r\n this.postatusService.getPONumber().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.PONumbers = response.data;\r\n console.log(this.PONumbers);\r\n }\r\n });\r\n }\r\n OpenRecordInvoice() {\r\n this.isRecordInvoice = true;\r\n this.isInvoiceDetail = false;\r\n this.isSubmit = false;\r\n this.isTableData = false;\r\n this.pONumber = \"\";\r\n this.GetRecorInvoiceList(\"\");\r\n this.GetPoList();\r\n }\r\n ChangeRequest(RequestId: any) {\r\n this.selectedRequest = RequestId;\r\n }\r\n GetInvoiceDetails(\r\n region: string,\r\n state: string,\r\n vendor: string,\r\n activityType: string,\r\n invoice: string,\r\n year: string,\r\n RequestId: string\r\n ) {\r\n debugger;\r\n this.loader = \"block\";\r\n this.recordInvoice\r\n .GetInvoiceDetails(\r\n this.userId,\r\n region,\r\n state,\r\n vendor,\r\n activityType,\r\n invoice,\r\n year,\r\n this.selectedRequest,\r\n this.selectedPO\r\n )\r\n .subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.invoiceDetailList = response.data;\r\n this.isTableData = true;\r\n for (let i = 0; i < this.invoiceDetailList.length; i++) {\r\n if (this.invoiceDetailList[i].date.includes(\"1900\")) {\r\n this.invoiceDetailList[i].date = \"\";\r\n }\r\n if (this.invoiceDetailList[i].postingDate.includes(\"1900\")) {\r\n this.invoiceDetailList[i].postingDate = \"\";\r\n }\r\n }\r\n this.loader = \"none\";\r\n } else {\r\n this.loader = \"none\";\r\n }\r\n });\r\n }\r\n convert(str) {\r\n var date = new Date(str),\r\n mnth = (\"0\" + (date.getMonth() + 1)).slice(-2),\r\n day = (\"0\" + date.getDate()).slice(-2);\r\n return [date.getFullYear(), mnth, day].join(\"-\");\r\n }\r\n poInvoiceDetail(po: string) {\r\n debugger;\r\n this.isRecordInvoice = true;\r\n this.isInvoiceDetail = false;\r\n //this.isSubmit=true;\r\n this.isTableData = true;\r\n this.pONumber = po;\r\n this.GetRecorInvoiceList(po);\r\n }\r\n ChangeRegion(region: string) {\r\n this.selectedRegion = region;\r\n this.BindFilterData(region, \"\", \"\", \"\");\r\n }\r\n ChangeState(state: string) {\r\n this.selectedState = state;\r\n this.BindFilterData(\"\", this.selectedState, \"\", \"\");\r\n }\r\n ChangeVendor(vendor: string) {\r\n this.selectedVendor = vendor;\r\n this.BindFilterData(\"\", \"\", this.selectedVendor, \"\");\r\n }\r\n ChangeActivityType(Activity: string) {\r\n this.selectedActivity = Activity;\r\n this.BindFilterData(\"\", \"\", \"\", this.selectedActivity);\r\n }\r\n ChangeInvoice(Invoice: string) {\r\n this.selectedInvoice = Invoice;\r\n }\r\n ShowRecordInvoice() {\r\n this.GetInvoiceDetails(\r\n this.selectedRegion,\r\n this.selectedState,\r\n this.selectedVendor,\r\n this.selectedActivity,\r\n this.selectedInvoice,\r\n this.selectYear,\r\n this.selectedRequest\r\n );\r\n }\r\n CheckValidation() {\r\n this.validateInvoiceNo = false;\r\n this.validateInvoiceValue = false;\r\n this.validatePurpose = false;\r\n this.validateAX = false;\r\n this.validateDate = false;\r\n this.validateSAC = false;\r\n this.validateBusinessUnit = false;\r\n for (let i = 0; i < this.SelectedRecordInvoiceList.length; i++) {\r\n debugger;\r\n\r\n if (\r\n this.SelectedRecordInvoiceList[i].invoiceNo != \"\" ||\r\n this.SelectedRecordInvoiceList[i].invoiceValue != 0.0 ||\r\n this.SelectedRecordInvoiceList[i].invoiceValue != \"\"\r\n ) {\r\n if (this.SelectedRecordInvoiceList[i].invoiceNo == \"\") {\r\n this.validateInvoiceNo = true;\r\n } else if (\r\n this.SelectedRecordInvoiceList[i].invoiceValue == 0.0 ||\r\n this.SelectedRecordInvoiceList[i].invoiceValue == \"\"\r\n ) {\r\n this.validateInvoiceValue = true;\r\n } else if (this.SelectedRecordInvoiceList[i].date == \"\") {\r\n this.validateDate = true;\r\n }\r\n // else if (this.RecordInvoiceList[i].postingDate == '') {\r\n // this.validatePostingDate = true;\r\n // }\r\n else if (this.SelectedRecordInvoiceList[i].unit == \"\") {\r\n this.validateBusinessUnit = true;\r\n }\r\n if (this.validateInvoiceNo == true) {\r\n // this.snackbar.openSnackBar(\"Please enter Invoice Number first.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please enter Invoice Number first.\");\r\n return false;\r\n } else if (this.validateInvoiceValue == true) {\r\n // this.snackbar.openSnackBar(\"Please enter Invoice Value first.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please enter Invoice Value first.\");\r\n return false;\r\n } else if (this.validateBusinessUnit == true) {\r\n // this.snackbar.openSnackBar(\"Please enter Business Unit first.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please enter Business Unit first.\");\r\n return false;\r\n } else if (this.validateDate == true) {\r\n // this.snackbar.openSnackBar(\"Please select Date first.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please select Date first.\");\r\n return false;\r\n }\r\n } else {\r\n this.validateInvoiceNo = false;\r\n this.validateAX = false;\r\n this.validateDate = false;\r\n this.validateInvoiceValue = false;\r\n this.validatePurpose = false;\r\n this.validateSAC = false;\r\n }\r\n }\r\n }\r\n\r\n CancelRecordInvoice() {\r\n this.isRecordInvoice = false;\r\n this.isInvoiceDetail = true;\r\n this.GetInvoiceDetails(\"\", \"\", \"\", \"\", \"\", this.selectYear, \"\");\r\n }\r\n CloseInvoice() {\r\n if (this.budgetType == \"Brand Budget\") {\r\n this.ConfirmSubmition();\r\n } else {\r\n if ((this.totalPO * 10) / 100 + this.totalPO < this.totalInvoice) {\r\n // this.snackbar.openSnackBar(\"Invoice value cannot be more than 10% of the PO value\", 'Close', 'red-snackbar');\r\n this.toastr.error(\r\n \"Invoice value cannot be more than 10% of the PO value.\"\r\n );\r\n return false;\r\n } else {\r\n this.isdisplay = true;\r\n //this.balanceInvoice=this.totalInvoice-this.totalPO;\r\n this.balanceInvoice = parseFloat(\r\n (this.totalInvoice - this.totalPO).toString()\r\n ).toFixed(2);\r\n\r\n //this.balancePO=this.totalPO-this.totalInvoice;\r\n this.balancePO = parseFloat(\r\n (this.totalPO - this.totalInvoice).toString()\r\n ).toFixed(2);\r\n }\r\n }\r\n }\r\n onItemSelectyear(val: any) {\r\n debugger;\r\n this.selectedYear = val;\r\n }\r\n ConfirmSubmition() {\r\n this.recordInvoice\r\n .CloseInvoice(this.RecordInvoiceList, this.userId, \"after\")\r\n .subscribe((response: any) => {\r\n if (response.status == true) {\r\n // this.snackbar.openSnackBar(response.message, 'Close', 'green-snackbar');\r\n this.toastr.success(response.message);\r\n this.isdisplay = false;\r\n this.isRecordInvoice = false;\r\n this.isInvoiceDetail = true;\r\n this.GetInvoiceDetails(\"\", \"\", \"\", \"\", \"\", this.selectYear, \"\");\r\n this.GetRecorInvoiceList(\"\");\r\n } else {\r\n // this.snackbar.openSnackBar(response.message, 'Close', 'red-snackbar');\r\n this.toastr.error(response.message);\r\n this.isdisplay = false;\r\n }\r\n });\r\n }\r\n RejectSubmition() {\r\n this.isdisplay = false;\r\n }\r\n ExportInvoiceData() {\r\n this.loader = \"block\";\r\n var url = \"/api/RecordInvoice/ExportReordInvoiceData\";\r\n this.recordInvoice\r\n .ExportInvoiceData(\r\n url,\r\n localStorage.getItem(\"mabt_userName\"),\r\n this.userId,\r\n this.selectYear\r\n )\r\n .subscribe(\r\n (success) => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, \"dd-MMM-yy\");\r\n debugger;\r\n let name = localStorage.getItem(\"mabt_userName\");\r\n let names = name.split(\" \");\r\n let firstname = names[0];\r\n let lastName = names[1];\r\n let excelName = \"RecordInvoice\" + latest_date + \".xlsx\";\r\n saveAs(success, excelName);\r\n\r\n this.loader = \"none\";\r\n },\r\n (err) => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"No Data Found.\");\r\n this.loader = \"none\";\r\n }\r\n );\r\n }\r\n AddMoreRow(i: number) {\r\n i = i - 1;\r\n let date = new Date();\r\n let Recordlist: any;\r\n let maxId: number = 0;\r\n let count: number = 1;\r\n Recordlist = this.RecordInvoiceList;\r\n this.RecordInvoiceList.push({\r\n row: 0,\r\n invoiceNo: \"0\",\r\n invoiceValue: 0,\r\n id: 0,\r\n requestId: 0,\r\n poNumber: \"\",\r\n gst: \"0\",\r\n date: date,\r\n postingDate: \"\",\r\n axTemplate: \"\",\r\n budgetType: 0,\r\n activityName: \"\",\r\n name: \"\",\r\n product: \"\",\r\n totalPO: 0,\r\n purpose: \"\",\r\n status: \"false\",\r\n isSubmit: \"false\",\r\n crop: \"\",\r\n pdfUpoaded: 0,\r\n pdfName: \"\",\r\n pdfDisable: false,\r\n maxId: 0,\r\n isPushToAX: 0,\r\n sac: \"\",\r\n });\r\n for (let index = this.RecordInvoiceList.length - 1; index > i; index--) {\r\n this.RecordInvoiceList[index].row =\r\n parseInt(this.RecordInvoiceList[index - 1].row) + 1;\r\n this.RecordInvoiceList[index].requestId =\r\n this.RecordInvoiceList[index - 1].requestId;\r\n this.RecordInvoiceList[index].poNumber =\r\n this.RecordInvoiceList[index - 1].poNumber;\r\n this.RecordInvoiceList[index].budgetType =\r\n this.RecordInvoiceList[index - 1].budgetType;\r\n this.RecordInvoiceList[index].activityName =\r\n this.RecordInvoiceList[index - 1].activityName;\r\n this.RecordInvoiceList[index].name =\r\n this.RecordInvoiceList[index - 1].name;\r\n this.RecordInvoiceList[index].product =\r\n this.RecordInvoiceList[index - 1].product;\r\n this.RecordInvoiceList[index].totalPO =\r\n this.RecordInvoiceList[index - 1].totalPO;\r\n this.RecordInvoiceList[index].crop =\r\n this.RecordInvoiceList[index - 1].crop;\r\n this.RecordInvoiceList[index].primeId =\r\n this.RecordInvoiceList[index - 1].primeId;\r\n this.RecordInvoiceList[index].maxId =\r\n this.RecordInvoiceList[index - 1].maxId;\r\n this.RecordInvoiceList[index].primeinvoiceid =\r\n this.RecordInvoiceList[index - 1].primeinvoiceid;\r\n\r\n if (index > i + 1) {\r\n this.RecordInvoiceList[index].invoiceNo =\r\n this.RecordInvoiceList[index - 1].invoiceNo;\r\n this.RecordInvoiceList[index].invoiceValue =\r\n this.RecordInvoiceList[index - 1].invoiceValue;\r\n this.RecordInvoiceList[index].isPushToAX =\r\n this.RecordInvoiceList[index - 1].isPushToAX;\r\n this.RecordInvoiceList[index].primeinvoiceid =\r\n this.RecordInvoiceList[index - 1].primeinvoiceid;\r\n this.RecordInvoiceList[index].isSubmit =\r\n this.RecordInvoiceList[index - 1].isSubmit;\r\n } else if (index == i + 1) {\r\n this.RecordInvoiceList[index].invoiceNo = \"\"; //this.RecordInvoiceList[index - 1].invoiceNo;\r\n this.RecordInvoiceList[index].invoiceValue = 0;\r\n this.RecordInvoiceList[index].isPushToAX = \"false\";\r\n this.RecordInvoiceList[index].primeinvoiceid = 0;\r\n this.RecordInvoiceList[index].sac = \"\";\r\n this.RecordInvoiceList[index].unit = \"\";\r\n this.RecordInvoiceList[index].isSubmit = \"false\";\r\n }\r\n if (maxId < this.RecordInvoiceList[index].id) {\r\n maxId = this.RecordInvoiceList[index].id;\r\n }\r\n // if(this.request=='1') //Manpower request\r\n // {\r\n // this.RecordInvoiceList[index].invoiceNo=this.pONumber;\r\n // this.confirm=null;\r\n // }\r\n }\r\n this.RecordInvoiceList.forEach((element) => {\r\n if (element.maxId != 0) {\r\n if (element.id == 0) {\r\n element.id = maxId + count;\r\n count = count + 1;\r\n } else {\r\n element.id = element.maxId + count;\r\n count = count + 1;\r\n }\r\n }\r\n });\r\n this.Calculation();\r\n }\r\n\r\n RemoveRow(i: number) {\r\n debugger;\r\n let date = new Date();\r\n let Recordlist: any[] = [];\r\n let maxId: number = 0;\r\n let count: number = 1;\r\n if (this.RecordInvoiceList.length > 1) {\r\n for (let index = 0; index <= this.RecordInvoiceList.length - 1; index++) {\r\n if (this.RecordInvoiceList[index].row != i) {\r\n Recordlist.push(this.RecordInvoiceList[index]);\r\n }\r\n }\r\n this.RecordInvoiceList = Recordlist;\r\n for (let index = 0; index <= this.RecordInvoiceList.length - 1; index++) {\r\n this.RecordInvoiceList[index].row = index + 1;\r\n }\r\n this.RecordInvoiceList.forEach((element) => {\r\n if (element.maxId != 0) {\r\n if (element.id == 0) {\r\n element.id = maxId + count;\r\n count = count + 1;\r\n } else {\r\n element.id = element.maxId + count;\r\n count = count + 1;\r\n }\r\n }\r\n });\r\n this.Calculation();\r\n }\r\n }\r\n\r\n Approve(id: number, Status: string) {\r\n this.isApproved = true;\r\n this.isRejected = false;\r\n this.id = id;\r\n this.status = Status;\r\n }\r\n IsInvoiceNumberExist(\r\n invoiceNumber: string,\r\n i: number,\r\n j: number,\r\n col: string,\r\n ponumber: string\r\n ) {\r\n let status: string = \"\";\r\n this.recordInvoice\r\n .IsInvoiceNumberExist(invoiceNumber, ponumber)\r\n .subscribe((response: any) => {\r\n status = response.status;\r\n if (response.status == false) {\r\n this.test(\"\", i, j, col);\r\n // this.snackbar.openSnackBar(response.message, 'Close', 'red-snackbar');\r\n this.toastr.error(response.message);\r\n }\r\n return response.status;\r\n });\r\n return status;\r\n }\r\n Reject(id: number, Status: string) {\r\n this.isApproved = false;\r\n this.isRejected = true;\r\n this.id = id;\r\n this.status = Status;\r\n }\r\n ConfirmApprove() {\r\n debugger;\r\n this.loader = \"block\";\r\n this.isApproved = false;\r\n this.recordInvoice\r\n .ApproveRecieptConfirmation(this.id, this.userId, this.status)\r\n .subscribe((response: any) => {\r\n if (response.status == true) {\r\n debugger;\r\n this.loader = \"none\";\r\n // this.snackbar.openSnackBar(response.message, 'Close', 'green-snackbar');\r\n this.toastr.success(response.message);\r\n this.isdisplay = false;\r\n this.isRecordInvoice = true;\r\n this.isInvoiceDetail = false;\r\n this.GetRecorInvoiceList(\"\");\r\n } else {\r\n this.loader = \"none\";\r\n // this.snackbar.openSnackBar(response.message, 'Close', 'red-snackbar');\r\n this.toastr.error(response.message);\r\n }\r\n });\r\n }\r\n ConfirmReject() {\r\n this.isRejected = false;\r\n this.recordInvoice\r\n .ApproveRecieptConfirmation(this.id, this.userId, this.status)\r\n .subscribe((response: any) => {\r\n if (response.status == true) {\r\n // this.snackbar.openSnackBar(response.message, 'Close', 'green-snackbar');\r\n this.toastr.success(response.message);\r\n this.isdisplay = false;\r\n this.isRecordInvoice = true;\r\n this.isInvoiceDetail = false;\r\n this.GetRecorInvoiceList(\"\");\r\n } else {\r\n }\r\n });\r\n }\r\n RejectApprovee() {\r\n this.isApproved = false;\r\n }\r\n Rejects() {\r\n this.isRejected = false;\r\n }\r\n _keyPress(event: any) {\r\n const pattern = /^[.\\d]+$/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n PushToAX() {\r\n debugger;\r\n var res = \"\";\r\n \r\n if(this.RMHPendingRequests.length>0 && this.RMHConfirmedRequests.length==1){\r\n this.toastr.error(\"Please select the invoice which is confirmed by RMH.\");\r\n return false;\r\n }else if(this.RMHPendingRequests.length>0 && this.RMHConfirmedRequests.length>1) {\r\n this.toastr.error(\"Please select the invoice which is confirmed by RMH.\");\r\n return false;\r\n }else{ \r\n if(this.SelectedRecordInvoiceList.length==0){\r\n this.toastr.error(\"Please select Invoice first.\");\r\n return false;\r\n }\r\n for (let i = 0; i < this.SelectedRecordInvoiceList.length; i++) {\r\n if (this.SelectedRecordInvoiceList[i].isPushToAX == \"false\") {\r\n if (\r\n this.IsInvoiceNumberExist(\r\n this.SelectedRecordInvoiceList[i].invoiceNo,\r\n i,\r\n this.SelectedRecordInvoiceList[i].row,\r\n \"invoiceNo\",\r\n this.SelectedRecordInvoiceList[i].poNumber\r\n ) == \"false\"\r\n ) {\r\n res = \"false\";\r\n }\r\n }\r\n }\r\n if (res != \"false\" && res == \"\") {\r\n this.validateAX = false;\r\n this.validatePurpose = false;\r\n this.validateCost = false;\r\n this.validateBussinesUnit = false;\r\n for (let i = 0; i < this.SelectedRecordInvoiceList.length; i++) {\r\n if (this.SelectedRecordInvoiceList[i].confirm == true) {\r\n if (\r\n this.SelectedRecordInvoiceList[i].axTemplate == \"\" ||\r\n this.SelectedRecordInvoiceList[i].axTemplate == 0\r\n ) {\r\n this.validateAX = true;\r\n } else if (this.SelectedRecordInvoiceList[i].purpose == \"\") {\r\n this.validatePurpose = true;\r\n } else if (\r\n this.SelectedRecordInvoiceList[i].unit == \"\" ||\r\n this.SelectedRecordInvoiceList[i].unit == 0\r\n ) {\r\n this.validateBussinesUnit = true;\r\n } else if (\r\n this.SelectedRecordInvoiceList[i].cost == \"\" ||\r\n this.SelectedRecordInvoiceList[i].cost == 0\r\n ) {\r\n this.validateCost = true;\r\n }\r\n }\r\n }\r\n if (this.validateAX == true) {\r\n // this.snackbar.openSnackBar(\"Please select AX templateId first.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please select AX templateId first.\");\r\n return false;\r\n } else if (this.validatePurpose == true) {\r\n // this.snackbar.openSnackBar(\"Please select Purpose first.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please select Purpose first.\");\r\n return false;\r\n } else if (this.validateCost == true) {\r\n // this.snackbar.openSnackBar(\"Please select Purpose first.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please select cost center first.\");\r\n return false;\r\n } else if (this.validateBussinesUnit == true) {\r\n // this.snackbar.openSnackBar(\"Please select Purpose first.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please select bussiness unit first.\");\r\n return false;\r\n } else {\r\n this.recordInvoice\r\n .PushToAX(this.userId, this.PoNum, this.SelectedRecordInvoiceList)\r\n .subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.isPushToAX = \"true\";\r\n this.isActivePushToAX = false;\r\n // this.snackbar.openSnackBar(response.message, 'Close', 'green-snackbar');\r\n this.toastr.success(response.message);\r\n this.isRecordInvoice = true;\r\n this.isInvoiceDetail = false;\r\n this.GetRecorInvoiceList(\"\");\r\n } else {\r\n // this.snackbar.openSnackBar(\"Something went wrong.\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"Something went wrong.\");\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n SelectPO(ponumber: string) {\r\n this.pONumber = ponumber;\r\n }\r\n\r\n filesAdd(files: File[], index: any, invoiceNo: any) {\r\n this.files = [];\r\n this.files = files;\r\n var ar = [];\r\n ar = invoiceNo.split(\"/\");\r\n for (var i = 0; i < ar.length; i++) {\r\n invoiceNo = invoiceNo.replace(\"/\", \"\");\r\n }\r\n this.fileNameParts = files[0].name.split(\".\");\r\n this.fileType = files[0].name.split(\".\")[this.fileNameParts.length - 1];\r\n if (\r\n this.fileType != \"pdf\" &&\r\n this.fileType != \"zip\" &&\r\n this.fileType != \"png\" &&\r\n this.fileType != \"csv\" &&\r\n this.fileType != \"xlsx\" &&\r\n this.fileType != \"docx\"\r\n ) {\r\n // this.snackbar.openSnackBar('Please Select Valid File Type.', 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please Select Valid File Type.\");\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n if (invoiceNo.toString() == \"0\" || invoiceNo.toString() == \"\") {\r\n // this.snackbar.openSnackBar('Please Enter Invoice No.', 'Close', 'red-snackbar');\r\n this.toastr.error(\"Please Enter Invoice No.\");\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n this.document.file = this.files[0];\r\n this.recordInvoice\r\n .uploadPDFDocument(this.document.file, index, invoiceNo, this.fileType)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n debugger;\r\n // this.snackbar.openSnackBar('File Uploaded Successfully', 'Close', 'green-snackbar');\r\n this.toastr.success(\"File Uploaded Successfully.\");\r\n this.input.nativeElement.value = null;\r\n debugger;\r\n this.RecordInvoiceList.forEach((element) => {\r\n if (element.row == index) {\r\n element.pdfName = invoiceNo + \"_\" + index + \".\" + this.fileType;\r\n element.pdfDisable = true;\r\n }\r\n });\r\n console.log(this.RecordInvoiceList);\r\n } else {\r\n // this.snackbar.openSnackBar('File Upload Failed', 'Close', 'red-snackbar');\r\n this.toastr.error(\"File Upload Failed.\");\r\n this.input.nativeElement.value = null;\r\n }\r\n });\r\n }\r\n\r\n RemovePdfFile(id: any) {\r\n this.RecordInvoiceList.forEach((element) => {\r\n if (element.id == id) {\r\n element.pdfName = \"\";\r\n element.pdfDisable = false;\r\n }\r\n });\r\n }\r\n\r\n pdfDownload(pdfName: any) {\r\n this.fileNameParts = pdfName.split(\".\");\r\n this.fileType = pdfName.split(\".\")[this.fileNameParts.length - 1];\r\n this.recordInvoice.downloadPDFDocument(pdfName).subscribe(\r\n (success) => {\r\n let fileName =\r\n pdfName.split(\".\")[0] +\r\n localStorage.getItem(\"mabt_userName\") +\r\n \".\" +\r\n this.fileType;\r\n saveAs(success, fileName);\r\n // let fileURL = URL.createObjectURL(success);\r\n // this.tryDoctype = fileURL\r\n // this.displayPDF = 'block';\r\n },\r\n (err) => {\r\n // this.snackbar.openSnackBar(\"No record/s available\", 'Close', 'red-snackbar');\r\n this.toastr.error(\"No record/s available.\");\r\n }\r\n );\r\n }\r\n GetRMH_MenuStatus() {\r\n var url = \"/api/ServiceRequest/GetBalanceAmountByActivity\";\r\n this.dashboardService\r\n .GetAmountByActivityId(url, 0, \"\")\r\n .subscribe((response: any) => {\r\n debugger;\r\n if (response.status == true) {\r\n this.IsNoRMH = true;\r\n } else {\r\n this.IsNoRMH = false;\r\n }\r\n });\r\n }\r\n // Toggles all checkboxes\r\n toggleSelectAll(event: Event): void {\r\n debugger\r\n this.isChecked = (event.target as HTMLInputElement).checked;\r\n this.isAllSelected = this.isChecked;\r\n if(this.isChecked){\r\n this.SelectedRecordInvoiceList = this.RecordInvoiceList.filter(\r\n (item) => item.isPushToAX === false || item.isPushToAX === \"false\" || item.isPushToAX === \"0\" || item.isPushToAX === 0 \r\n );\r\n \r\n }else{\r\n this.SelectedRecordInvoiceList = [];\r\n }\r\n\r\n\r\n this.RMHPendingRequests = this.SelectedRecordInvoiceList .filter(\r\n (item)=>(item.confirm === false || item.confirm === false) && (item.isPushToAX === false || item.isPushToAX === \"false\" || item.isPushToAX === \"0\" || item.isPushToAX === 0 )\r\n )\r\n\r\n this.RMHConfirmedRequests = this.RecordInvoiceList .filter(\r\n (item)=>(item.confirm === false || item.confirm === false) && (item.isPushToAX === false || item.isPushToAX === \"false\" || item.isPushToAX === \"0\" || item.isPushToAX === 0 )\r\n )\r\n \r\n this.RecordInvoiceList.forEach((item) => {\r\n if (item.isPushToAX === false || item.isPushToAX === \"false\" || item.isPushToAX === \"0\" || item.isPushToAX === 0 ) {\r\n item.checkBox = this.isChecked;\r\n }\r\n });\r\n\r\n\r\n this.SelectedRecordInvoiceList = this.SelectedRecordInvoiceList.filter(\r\n (item, index, self) =>\r\n index === self.findIndex((t) => t.invoiceNo === item.invoiceNo)\r\n );\r\n\r\n\r\n\r\n\r\n }\r\n updateSelectAllState(invoiceNo: string,event: Event): void {\r\n debugger\r\n this.SubCheck = (event.target as HTMLInputElement).checked;\r\n\r\n if (this.SubCheck) {\r\n // Add the invoice to the list if SubCheck is true\r\n var valData = this.RecordInvoiceList.find(\r\n (item) => item.invoiceNo === invoiceNo\r\n );\r\n \r\n if (valData && !this.SelectedRecordInvoiceList.some(item => item.invoiceNo === invoiceNo)) {\r\n this.SelectedRecordInvoiceList.push(valData);\r\n }\r\n if(!this.SelectedRecordInvoiceList[0].isPushToAX && !this.SelectedRecordInvoiceList[0].confirm){\r\n this.PushToAxDisabled =true\r\n }\r\n \r\n\r\n } else {\r\n // Remove the invoice from the list if SubCheck is false\r\n this.SelectedRecordInvoiceList = this.SelectedRecordInvoiceList.filter(\r\n (item) => item.invoiceNo !== invoiceNo\r\n );\r\n if(this.SelectedRecordInvoiceList.length>0){\r\n if(!this.SelectedRecordInvoiceList[0].isPushToAX && !this.SelectedRecordInvoiceList[0].confirm){\r\n this.PushToAxDisabled =true\r\n }\r\n }else{\r\n this.PushToAxDisabled =false\r\n }\r\n \r\n }\r\n \r\n \r\n \r\n this.RMHPendingRequests = this.SelectedRecordInvoiceList .filter(\r\n (item)=>(item.confirm === false || item.confirm === false) && (item.isPushToAX==\"false\"|| item.isPushToAX==false)\r\n )\r\n this.RMHConfirmedRequests = this.RecordInvoiceList .filter(\r\n (item)=>(item.confirm === false || item.confirm === false) && (item.isPushToAX==\"false\"|| item.isPushToAX==false)\r\n )\r\n\r\n\r\n \r\n\r\n\r\n\r\n this.SelectedRecordInvoiceList = this.SelectedRecordInvoiceList.filter(\r\n (item, index, self) =>\r\n index === self.findIndex((t) => t.invoiceNo === item.invoiceNo)\r\n );\r\n this.isAllSelected = this.RecordInvoiceList.every((item) => item.checkBox);\r\n }\r\n // closePDF(){\r\n // this.displayPDF = 'none';\r\n // }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvcmVxdWVzdC1icmFuZC1idWRnZXQvcmVxdWVzdC1icmFuZC1idWRnZXQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n

Request for Brand Budget

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

Filters

\\r\\n
\\r\\n
\\r\\n \\r\\n Select State\\r\\n {{ data.state }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Supplier\\r\\n {{ data.vendor }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select RMH\\r\\n {{ data.rmhName }} \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Activity Type\\r\\n {{ data.activityName }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Product\\r\\n {{ data.productId }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Crop\\r\\n {{ data.cropName }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Reference No\\r\\n {{data.referenceNo}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{data.year}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
StateSupplierRMHActivity TypeProductCropStatusReference
{{ data.stateCode}}{{ data.vendor }}{{ data.rmhName }}{{ data.activityName }}{{ data.productName }}{{ data.cropName }}{{ data.poStatus==1 ? \\\"Close\\\":\\\"Open\\\"}}{{ data.referenceNo }}
No Data Found.
\\r\\n
\\r\\n
0\\\" style=\\\"text-align:center;\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { RequestBrandBudgetService } from 'src/app/Services/RequestBrandBudget/request-brand-budget.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\n//import { MatTableDataSource,MatPaginator } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../../Services/Common/common.service';\r\nimport { RMHsList } from 'src/app/Models/PORequisition/rmhs-list';\r\n@Component({\r\n selector: 'app-request-brand-budget',\r\n templateUrl: './request-brand-budget.component.html',\r\n styleUrls: ['./request-brand-budget.component.css']\r\n})\r\nexport class RequestBrandBudgetComponent implements OnInit {\r\n userId: string;\r\n productsList = [];\r\n activities = [];\r\n States = [];\r\n RMHlist = [];\r\n VendorList = [];\r\n crops = [];\r\n POStatus = [];\r\n ReferenceNumber = [];\r\n BrandBudgetRequestList = [];\r\n totalRecords: Number;\r\n page: Number = 1;\r\n stateCode : string = '';\r\n vendors : string = '';\r\n region : string = '';\r\n activityID : string = '';\r\n productID : string = '';\r\n cropID : string = '';\r\n referenceNo : string = '';\r\n YearFilterList:any=[];\r\n SelectedYear:string;\r\n loader: string = 'none';\r\n uniqueRmhlist : RMHsList[] =[]\r\n //dataSource=new MatTableDataSource(this.BrandBudgetRequestList);\r\n\r\n\r\n //@ViewChild(MatPaginator) paginator:MatPaginator;\r\n constructor(private requestBrandBudget: RequestBrandBudgetService,private commonService:CommonService,private snackbar: MatSnackBarComponent,private _router:Router) {\r\n this.userId = localStorage.getItem('mabt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n this.getFiltersData();\r\n this.GetYearList();\r\n setTimeout(() => {\r\n this.PORequisitionFilterData();\r\n }, 1500);\r\n //this.dataSource.paginator=this.paginator;\r\n }\r\n getFiltersData() {\r\n this.requestBrandBudget.getProducts().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.productsList = response.data;\r\n console.log(this.productsList);\r\n }\r\n });\r\n this.requestBrandBudget.getActivities().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.activities = response.data;\r\n console.log(this.activities);\r\n }\r\n });\r\n this.requestBrandBudget.getStates(this.userId).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.States = response.data;\r\n console.log(this.States);\r\n }\r\n });\r\n this.requestBrandBudget.getRMHlist(this.userId).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.RMHlist = response.data;\r\n this.RMHlist.forEach(element => {\r\n if(this.uniqueRmhlist.find(x=>x.rmhCode == element.rmhid)) {}else{\r\n if(element.rmhid!=''){\r\n let obj = {\r\n rmhCode: element.rmhid,\r\n rmhName : element.rmhName\r\n };\r\n this.uniqueRmhlist.push(obj);\r\n }\r\n }\r\n })\r\n this.uniqueRmhlist.sort((a,b) => a.rmhName > b.rmhName ? 1 : -1)\r\n console.log(this.uniqueRmhlist)\r\n console.log(this.RMHlist);\r\n }\r\n });\r\n this.requestBrandBudget.getVendors().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.VendorList = response.data;\r\n console.log(this.VendorList);\r\n }\r\n });\r\n this.requestBrandBudget.getCrops().subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.crops = response.data;\r\n console.log(this.crops);\r\n }\r\n });\r\n this.requestBrandBudget.getReferenceNumbers(this.userId).subscribe((response: any) => {\r\n if (response.status == true) {\r\n this.ReferenceNumber = response.data;\r\n console.log(this.ReferenceNumber);\r\n }\r\n });\r\n }\r\n PORequisitionFilterData() {\r\n this.loader = 'block';\r\n this.requestBrandBudget.PORequisitionList(this.userId, this.stateCode, this.vendors, this.region, this.activityID, this.productID, this.cropID, this.referenceNo,this.SelectedYear).subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.BrandBudgetRequestList = resData.data;\r\n console.log(this.BrandBudgetRequestList)\r\n }\r\n this.loader = 'none';\r\n });\r\n this.page=1;\r\n }\r\n \r\n Filter(){\r\n if(this.stateCode == '' && this.vendors == '' && this.region == '' && this.activityID == '' && this.productID == '' && this.cropID == '' && this.referenceNo == ''){\r\n // this.snackbar.openSnackBar('Please select any filter', 'Close', 'red-snackbar'); \r\n this.PORequisitionFilterData();\r\n }\r\n else{\r\n this.PORequisitionFilterData();\r\n }\r\n }\r\n\r\n ExportPORequisitionFilterData() {\r\n this.requestBrandBudget.ExportPORequisitionData(this.userId, this.stateCode, this.vendors, this.region, this.activityID, this.productID, this.cropID, this.referenceNo,this.SelectedYear).subscribe((success: any) => {\r\n //var date = new Date();\r\n //let latest_date = this.datepipe.transform(date, 'dd-MMM-yy') \r\n let name = localStorage.getItem('mabt_userName');\r\n let names = name.split(' ');\r\n let firstname = names[0];\r\n let excelName = firstname + 'Brand_Budget_Request.xlsx';\r\n console.log(success);\r\n saveAs(success, excelName);\r\n });\r\n }\r\n GetdataforRefrenceNo(referenceNo:any){\r\n localStorage.setItem('reference_no',referenceNo);\r\n this._router.navigate(['/MABudget/PORequisition']);\r\n }\r\n RaisePORequisition(){\r\n localStorage.setItem('reference_no','');\r\n this._router.navigate(['/MABudget/PORequisition']);\r\n }\r\n GetYearList(){\r\n debugger;\r\n this.commonService.GetYearList(this.userId).subscribe((response:any)=>{\r\n if(response.status==true){\r\n debugger;\r\n this.YearFilterList=response.data;\r\n this.SelectedYear=this.YearFilterList[0].year;\r\n console.log(this.YearFilterList);\r\n }\r\n })\r\n }\r\n}\r\n","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9zZXJ2aWNlLWNvbmZpcm1hdGlvbi1yZWFzb24vc2VydmljZS1jb25maXJtYXRpb24tcmVhc29uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxtQkFBbUI7SUFDbkIsU0FBUztJQUNULFVBQVU7SUFDVixpQ0FBaUM7SUFDakMsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixhQUFhO0lBQ2IsY0FBYztJQUNkLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtDQUNmIiwiZmlsZSI6InNyYy9hcHAvQ29tcG9uZW50cy9zZXJ2aWNlLWNvbmZpcm1hdGlvbi1yZWFzb24vc2VydmljZS1jb25maXJtYXRpb24tcmVhc29uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucG9wdXAtd3JhcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICB6LWluZGV4OiAxNjtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n

Service Confirmation Reason

\\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
Service Confirmation reasonCreated OnUpdated OnAction
{{ data.serviceConfirmationReason }}{{ data.createdOn | date:\\\"dd/MMM/y\\\" }}{{ data.modifiedOn | date:\\\"dd/MMM/y h:mm:ss a\\\" }}{{ data.isActive==1?\\\"Active\\\":\\\"InActive\\\" }}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Are you sure you want to change status?

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \"","import { Component, OnInit } from '@angular/core';\r\nimport { ServiceConfirmationReasonService } from 'src/app/Services/ServiceConfirmationReason/service-confirmation-reason.service';\r\nimport { ServiceConfirmationReason } from 'src/app/Models/Service-Confirmation-reason/ServiceConfirmationReason';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogBoxComponent } from 'src/app/Components/dialog-box/dialog-box.component';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-service-confirmation-reason',\r\n templateUrl: './service-confirmation-reason.component.html',\r\n styleUrls: ['./service-confirmation-reason.component.css']\r\n})\r\nexport class ServiceConfirmationReasonComponent implements OnInit {\r\n serviceConfirmationDetails:any=[];\r\n loader:string\r\n serviceConfirmation: ServiceConfirmationReason= new ServiceConfirmationReason();\r\n displayChangeStatus : string = 'none';\r\n serviceConfirmationId : any;\r\n isServiceConfirmed : any;\r\n constructor(private serviceConfirmationReason:ServiceConfirmationReasonService,public dialog:MatDialog,private snackBar: MatSnackBarComponent,private toastr:ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.getServiceConfirmation();\r\n }\r\n getServiceConfirmation(){\r\n this.serviceConfirmationReason.getServiceConfirmations().subscribe((response:any)=>{\r\n if(response.message==\"Success\"){\r\n this.serviceConfirmationDetails=response.data;\r\n console.log(this.serviceConfirmationDetails);\r\n this.loader='none';\r\n }\r\n });\r\n }\r\n createServiceConfirmation(serviceConfirmation:any){\r\n if(serviceConfirmation.value==\"\"){\r\n // this.snackBar.openSnackBar('Please fill required details to create.','Close','red-snackbar');\r\n this.toastr.error('Please fill required details to create.');\r\n //alert(\"Please fill required details to create.\")\r\n }\r\n else{\r\n this.serviceConfirmationReason.createServiceConfirmations(serviceConfirmation.value).subscribe((response:any)=>{\r\n this.getServiceConfirmation();\r\n if (response.message == \"Service confirmation reason already exist.\"){\r\n // this.snackBar.openSnackBar('Service confirmation reason already exist.','Close','red-snackbar');\r\n this.toastr.error('Service confirmation reason already exist.');\r\n //alert(\"Service confirmation reason already exist.\");\r\n console.log(response.status);\r\n this.loader = 'none';\r\n }else{\r\n // this.snackBar.openSnackBar('New service confirmation reason added successfully.','Close','green-snackbar');\r\n this.toastr.success('New service confirmation reason added successfully.');\r\n console.log(response.status);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n }\r\n // openDialogToChangeStatus(serviceConfirmationId: string, isActive:any){\r\n // debugger;\r\n // let dialogRef=this.dialog.open(DialogBoxComponent);\r\n // dialogRef.afterClosed().subscribe(result=>{\r\n // console.log('Dialog Result is:'+ result);\r\n // if(result==\"Yes\"){\r\n // this.changeServiceConfirmationStatus(serviceConfirmationId , isActive);\r\n // }\r\n // });\r\n // }\r\n openDialogToChangeStatus(serviceConfirmationId: string, isActive:string){\r\n this.displayChangeStatus = 'block';\r\n this.serviceConfirmationId = serviceConfirmationId;\r\n this.isServiceConfirmed = isActive;\r\n}\r\n changeServiceConfirmationStatus(serviceConfirmationId:string, isActive:any){\r\n this.serviceConfirmation.ServiceConfirmationId=serviceConfirmationId;\r\n if(isActive==0)\r\n this.serviceConfirmation.IsActive=1;\r\n else\r\n this.serviceConfirmation.IsActive=0;\r\n this.serviceConfirmationReason.UpdateServiceConfirmation(this.serviceConfirmation).subscribe((response:any)=>{\r\n this.getServiceConfirmation();\r\n if (response.Status == true) {\r\n console.log(response.Status);\r\n this.loader = 'none';\r\n }\r\n }); \r\n }\r\n color(serviceConfirmationId: string,isActive:any){\r\n if(isActive==0)\r\n {\r\n return 'red'\r\n }\r\n else\r\n {\r\n return 'green'\r\n }\r\n }\r\n ChangeStatus(id : any){\r\n if(id == 0){\r\n this.displayChangeStatus = 'none';\r\n }\r\n else{\r\n this.displayChangeStatus = 'none';\r\n this.changeServiceConfirmationStatus(this.serviceConfirmationId, this.isServiceConfirmed); \r\n } \r\n }\r\n}\r\n","module.exports = \".popup-wrap {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n width: 300px;\\r\\n height: auto;\\r\\n padding: 20px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n z-index: 16;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9zZXJ2aWNlLXJlY2VpcHQtY29uZmlybWF0aW9uL3NlcnZpY2UtcmVjZWlwdC1jb25maXJtYXRpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGlDQUFpQztJQUNqQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0NBQ2YiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL3NlcnZpY2UtcmVjZWlwdC1jb25maXJtYXRpb24vc2VydmljZS1yZWNlaXB0LWNvbmZpcm1hdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnBvcHVwLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTY7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n

Service Receipt Confirmation

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
PO No.Vendor NameActivity TypeBudget TypeCropProductDelivery TimelineStateTotal Value
{{ data.poNumber }}{{ data.vendor }}{{ data.activityName }}{{ data.budgetType }}{{ data.cropName }}{{ data.productName }}{{ data.date | date:\\\"dd/MMM/y\\\" }}{{ data.stateCode }}{{ ConvertNumberToSpecialFormate(data.total) }}
Grand Total - {{ GrandTotal }}
\\r\\n
\\r\\n

Service Confirmation :

\\r\\n
\\r\\n \\r\\n Received\\r\\n Partially Received\\r\\n Not Received\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Are you sure you want to submit?

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup,FormBuilder } from '@angular/forms';\r\nimport { ServiceReceiptConfirmationService } from 'src/app/Services/ServiceReceiptConfirmation/service-receipt-confirmation.service';\r\nimport { Router } from '@angular/router';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { DashboardService } from '../../Services/Dashboard/dashboard.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-service-receipt-confirmation',\r\n templateUrl: './service-receipt-confirmation.component.html',\r\n styleUrls: ['./service-receipt-confirmation.component.css']\r\n})\r\nexport class ServiceReceiptConfirmationComponent implements OnInit {\r\n \r\n PONumber:string;\r\n ServiceReceiptList=[];\r\n GrandTotal:any;\r\n Total:any;\r\n RadioBtn:any;\r\n displayDialog : string = 'none';\r\n Note:any;\r\n roleId: any;\r\n IsNoRMH:boolean;\r\n loader: string='none';\r\n constructor(private serviceReceipt : ServiceReceiptConfirmationService,private _router:Router,private snackbar:MatSnackBarComponent,private dashboardService: DashboardService,private toastr:ToastrService) { \r\n this.roleId = '';\r\n // if(this.roleId==48){\r\n // var x = document.getElementsByClassName(\"fpe-budget\");\r\n // x.className \r\n // }\r\n }\r\n\r\n ngOnInit() {\r\n this.PONumber=localStorage.getItem('mabt_serviceReceiptId');\r\n this.roleId=parseInt(localStorage.getItem('mabt_roleID'));\r\n this.ConfirmPO();\r\n }\r\nConfirmPO(){\r\n this.serviceReceipt.serviceReceiptConfirmation(this.PONumber).subscribe((resData:any)=>{ console.log(resData);\r\n if(resData.status==true){\r\n this.ServiceReceiptList=resData.data;\r\n console.log(this.ServiceReceiptList)\r\n this.GrandTotalAmount();\r\n }\r\n });\r\n }\r\n GrandTotalAmount()\r\n {\r\n var count=this.ServiceReceiptList.length;\r\n this.Total=0;\r\n if(count>0)\r\n {\r\n for(var i=0;i1){\r\n if(num[1].length==1){\r\n return total+'.'+num[1]+'0';\r\n }else{\r\n return total+'.'+num[1];\r\n }\r\n }else{\r\n return total +'.00';\r\n }\r\n // this.GrandTotal=this.Total.toString().replace(/\\B(?=(\\d{2})+(?!\\d))/g,\",\");\r\n }\r\n SaveData(){\r\n if(this.RadioBtn==undefined){\r\n this.snackbar.openSnackBar('Please check service confirmation.', 'Close', 'red-snackbar');\r\n this.toastr.error('Please check service confirmation.');\r\n }else{\r\n this.displayDialog = 'block';\r\n }\r\n }\r\n ConfirmationService(id : any){\r\n if(id == 0){\r\n this.displayDialog = 'none';\r\n }\r\n else{\r\n this.loader = 'block';\r\n this.displayDialog = 'none';\r\n this.serviceReceipt.saveServiceReceiptConfirmation(this.PONumber,this.RadioBtn,this.Note).subscribe((resData:any)=>{\r\n if(resData.status==true){\r\n this.loader = 'none';\r\n // this.snackbar.openSnackBar('Record submitted successfully.', 'Close', 'green-snackbar'); \r\n this.toastr.success('Record submitted successfully.');\r\n this._router.navigate(['/MABudget/Confirmation']);\r\n }else{\r\n this.loader = 'none';\r\n // this.snackbar.openSnackBar('Somthing went wrong.', 'Close', 'red-snackbar'); \r\n this.toastr.error('Somthing went wrong.');\r\n }\r\n }); \r\n } \r\n }\r\n GetRMH_MenuStatus()\r\n {\r\n var url = \"/api/ServiceRequest/GetBalanceAmountByActivity\";\r\n this.dashboardService.GetAmountByActivityId(url,0,'').subscribe((response:any)=>{\r\n \r\n if (response.status == true) {\r\n this.IsNoRMH=true;\r\n \r\n }\r\n else {\r\n this.IsNoRMH=false;\r\n \r\n \r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".export-btn1{\\r\\n float: none;\\r\\n text-align: center;\\r\\n margin: 30px 0 0 0;\\r\\n width: 230px;\\r\\n height: 32px;\\r\\n color: #515151;\\r\\n font-size: 16px;\\r\\n padding: 6px 15px;\\r\\n border-radius: 5px;\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n border: solid 1px #1e9600;\\r\\n background-color: #eeffea;\\r\\n}\\r\\n.center-box .excel-box{\\r\\n font-size: 12px;\\r\\n color: #2e7d32;\\r\\n text-decoration: underline;\\r\\n margin: 0 0 0 0;\\r\\n height: 40px;\\r\\n}\\r\\n.center-box {\\r\\n text-align: center;\\r\\n margin: 50px 0 0 0;\\r\\n}\\r\\n.excel-box{\\r\\n float : none !important;\\r\\n}\\r\\n.excel-box a {\\r\\n font-size: 20px;\\r\\n color: #2e7d32;\\r\\n text-decoration: underline;\\r\\n margin: 0px 0 0 0px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy92ZW5kb3Itc3RhdGUtbWFwcGluZy92ZW5kb3Itc3RhdGUtbWFwcGluZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGFBQWE7SUFDYixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0NBQzdCO0FBQ0Q7SUFDSSxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLDJCQUEyQjtJQUMzQixnQkFBZ0I7SUFDaEIsYUFBYTtDQUNoQjtBQUNEO0lBQ0ksbUJBQW1CO0lBQ25CLG1CQUFtQjtDQUN0QjtBQUNEO0lBQ0ksd0JBQXdCO0NBQzNCO0FBQ0Q7SUFDSSxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLDJCQUEyQjtJQUMzQixvQkFBb0I7Q0FDdkIiLCJmaWxlIjoic3JjL2FwcC9Db21wb25lbnRzL3ZlbmRvci1zdGF0ZS1tYXBwaW5nL3ZlbmRvci1zdGF0ZS1tYXBwaW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhwb3J0LWJ0bjF7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMzBweCAwIDAgMDtcclxuICAgIHdpZHRoOiAyMzBweDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIGNvbG9yOiAjNTE1MTUxO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgcGFkZGluZzogNnB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzFlOTYwMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWZmZWE7XHJcbn1cclxuLmNlbnRlci1ib3ggLmV4Y2VsLWJveHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjMmU3ZDMyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBtYXJnaW46IDAgMCAwIDA7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuLmNlbnRlci1ib3gge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiA1MHB4IDAgMCAwO1xyXG59XHJcbi5leGNlbC1ib3h7XHJcbiAgICBmbG9hdCA6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uZXhjZWwtYm94IGEge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgY29sb3I6ICMyZTdkMzI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIG1hcmdpbjogMHB4IDAgMCAwcHg7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { VendorStateMappingService } from 'src/app/Services/VendorStateMapping/vendorstatemapping.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n\r\n@Component({\r\n selector: 'app-vendor-state-mapping',\r\n templateUrl: './vendor-state-mapping.component.html',\r\n styleUrls: ['./vendor-state-mapping.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class VendorStateMappingComponent implements OnInit {\r\n userId: string;\r\n loader:string='none';\r\n constructor(private vendorstatemappingService: VendorStateMappingService,private snackbar: MatSnackBarComponent, private datepipe: DatePipe,private toastr:ToastrService) {\r\n this.userId = localStorage.getItem('mabt_userId'); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ExportVendorStateMapping(){\r\n this.loader = 'block';\r\n this.vendorstatemappingService.ExportVendorStateMapping()\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mabt_userName');\r\n let names = name.split(' ');\r\n let firstname = names[0];\r\n let lastName = names[2];\r\n let excelName = firstname + 'VendorRateCard' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n \r\n this.loader = 'none';\r\n },\r\n err => {\r\n // this.snackbar.openSnackBar(\"No Data Found.\", 'Close', 'red-snackbar');\r\n this.toastr.error('No Data Found.');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n}\r\n","export class ActivityGroup{\r\n ActivityGroupId :string;\r\n ActivityGroupName :string;\r\n IsGroupActive:any;\r\n CreatedOn:string;\r\n ModifiedOn:string\r\n}","export class ActivityType{\r\n ActivityTypeId :string;\r\n ActivityName :string;\r\n ActivityGroup :string;\r\n IsActivityActive:any;\r\n CreatedOn:string;\r\n ModifiedOn:string\r\n}","export class CreditDebitReason{\r\n CreditDebitReasonId :string;\r\n CreditDebitReason :string;\r\n IsActive:any;\r\n CreatedOn:string;\r\n ModifiedOn:string\r\n}","export class Crops{\r\n CropId: string;\r\n CropName: string;\r\n isCropActive:any;\r\n}\r\n","export class Documents {\r\n file:File;\r\n}","export class PaymentTerm{\r\n PaymentTermId :string;\r\n PaymentTerm :string;\r\n IsActive:any;\r\n CreatedOn:string;\r\n ModifiedOn:string\r\n}","export class Products{\r\n ProductId: string;\r\n ProductName: string;\r\n isProductActive:any;\r\n}","export class RaisePoFormSubmit {\r\n FPERequestID : number;\r\n PONumber : string;\r\n PODate : string;\r\n VendorId : string;\r\n RequiredItem : RequiredItemList[];\r\n ApproxValueAmount : number;\r\n GST : number;\r\n GrandTotalOfAllActivities : number;\r\n FMCRefrenceNumber : string;\r\n Date : string;\r\n Instructions : string;\r\n PaymentTerm : string;\r\n Deductions : string;\r\n PenaltyClause : string;\r\n ImportantPoints : string;\r\n TermsConditions : string;\r\n Status : number;\r\n RejectReason : string;\r\n Region : string;\r\n VendorName : string;\r\n VendorAddress : string;\r\n VendorEmail : string;\r\n VendorMobile : string;\r\n MaShipToAddress : string;\r\n MaShipToGST : string;\r\n MaName : string;\r\n MaNumber : string;\r\n RequestTypeId:number;\r\n}\r\n\r\nexport class RequiredItemList{\r\n ID : number;\r\n Element : string;\r\n Specification : string;\r\n Qunatity : number;\r\n Rate : number;\r\n RequiredDays : number;\r\n VehiclesRequired : number;\r\n}\r\n\r\nexport class TotalSumActivtiywise{\r\n activityTypeId : string;\r\n activityId : number;\r\n TotalSum : number;\r\n}","export class ServiceConfirmationReason{\r\n ServiceConfirmationId :string;\r\n ServiceConfirmation :string;\r\n IsActive:any;\r\n CreatedOn:string;\r\n ModifiedOn:string\r\n}","export class global {\r\n urlOrigin:string;\r\n hostName:string;\r\n\r\n constructor(){\r\n this.getDomainName();\r\n }\r\n\r\n getDomainName()\r\n {\r\n this.urlOrigin=document.location.origin;\r\n this.hostName=document.location.hostname;\r\n }\r\n\r\n getApiUrl()\r\n {\r\n switch(this.hostName)\r\n {\r\n case \"localhost\": \r\n\r\n\r\n return \"https://localhost:49477\";\r\n\r\n\r\n case \"mabudget.uat.fmcone.in\":\r\n return \"https://mabudget.uat.fmcone.in/api\";\r\n\r\n default:\r\n return this.urlOrigin+\"/api\";\r\n }\r\n }\r\n}\r\n","export class UserProfile {\r\n UserName : string;\r\n Email : string;\r\n MobileNo : string;\r\n Designation : string;\r\n}\r\nexport class Notify{\r\n notification : Notification[];\r\n unReadMsg : number;\r\n}\r\nexport class UpdateNotification{\r\n ID : number;\r\n Read : boolean;\r\n Active : boolean;\r\n}\r\nexport class Notification{\r\n id : number;\r\n notificationMessage : string;\r\n isActive : boolean;\r\n isRead : boolean;\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient ,HttpHeaders} from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\nimport { ActivityGroup } from '../../Models/Activity-Group/ActivityGroup';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActivityGroupService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient,private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getActivityGroupList():Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/ActivityGroup/GetActivityGroupList',\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n changeActivityGroupStatus(activityGroup:ActivityGroup):Observable{\r\n let _body={\r\n \"activityGroupId\":activityGroup.ActivityGroupId,\r\n \"isGroupActive\":activityGroup.IsGroupActive,\r\n \"modifiedBy\":localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/ActivityGroup/UpdateActivityGroupStatus',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n createActivity(activityGroupName):Observable{\r\n let _body = {\r\n \"activityGroupName\":activityGroupName,\r\n \"createdBy\":localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/ActivityGroup/CreateActivityGroup',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\nimport { ActivityType } from '../../Models/Activity-Type/ActivityType';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActivityTypeService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getActivityTypeList(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/ActivityType/GetActivityTypeList',\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n changeActivityTypeStatus(activityType: ActivityType): Observable {\r\n let _body = {\r\n \"activityTypeId\": activityType.ActivityTypeId,\r\n \"isActivityActive\": activityType.IsActivityActive,\r\n //\"modifiedBy\":\"Backend\"\r\n \"modifiedBy\": localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/ActivityType/UpdateActivityTypeStatus',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n createActivityType(activityName: string, activityGroupId: string): Observable {\r\n let _body = {\r\n \"activityName\": activityName,\r\n \"activityGroupId\": activityGroupId,\r\n \"createdBy\": localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/ActivityType/CreateActivity',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getActivityGroup(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/ActivityType/GetActiveActivityGroup',\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from '../../models/global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BrandBudgetService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: Http, private https: HttpClient) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n\r\n }\r\n\r\n GetBrandBudgetFilterData(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/BrandBudgetAllocation/BrandBudgetFilterData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n BudgetExcelDownload(userName: string, currentYear: number): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let url = \"/api/BrandBudgetAllocation/DownloadBudgetAllocationExcel\";\r\n let _body = {\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName,\r\n \"IsBrandBudgetMA\":false\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n \r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n \r\n }\r\n\r\n uploadDocument(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mabt_userId'));\r\n formData.append(\"IsBrandBudgetMA\", 'false');\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/BrandBudgetAllocation/UploadDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n BindBudgetData(year: String, division: string, ma:string): Observable {\r\n let url=\"/api/BrandBudgetAllocation/BindBudgetAllocationData\";\r\n let _body = {\r\n \"MA\": ma,\r\n \"Division\": division,\r\n \"Year\": year,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"IsBrandBudgetMA\":false\r\n\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n ExportBudgetData(userName: string, year: string, division: string, ma:string): Observable {\r\n let url=\"/api/BrandBudgetAllocation/ExportBudgetData\";\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"MA\": ma,\r\n \"Division\": division,\r\n \"Year\": year,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName,\r\n \"IsBrandBudgetMA\":false\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n \r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from '../../models/global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BrandBudgetService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: Http, private https: HttpClient) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n\r\n }\r\n\r\n GetBrandBudgetFilterData(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/BrandBudgetAllocation/BrandBudgetFilterData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n BudgetExcelDownload(userName: string, currentYear: number): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let url = \"/api/BrandBudgetAllocation/DownloadBudgetAllocationExcel\";\r\n let _body = {\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName,\r\n \"IsBrandBudgetMA\":true\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n \r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n \r\n }\r\n\r\n uploadDocument(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mabt_userId'));\r\n formData.append(\"IsBrandBudgetMA\", 'true');\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/BrandBudgetAllocation/UploadDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n BindBudgetData(year: String, division: string, ma:string): Observable {\r\n debugger;\r\n let url=\"/api/BrandBudgetAllocation/BindBudgetAllocationData\";\r\n let _body = {\r\n \"MA\": ma,\r\n \"Division\": division,\r\n \"Year\": year,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"IsBrandBudgetMA\":true\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n ExportBudgetData(userName: string, year: string, division: string, ma:string): Observable {\r\n let url=\"/api/BrandBudgetAllocation/ExportBudgetData\";\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"MA\": ma,\r\n \"Division\": division,\r\n \"Year\": year,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName,\r\n \"IsBrandBudgetMA\":true\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n \r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, } from '@angular/http';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BudgetAllocationService {\r\n ROOT_URL: string = \"\";\r\n constructor(private https: HttpClient, private http: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getSBU(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/BudgetAllocation/GetSBU\",\r\n headers: headers\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getContiBudget(sbu: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\ndebugger;\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/BudgetAllocation/GetContiBudget?sbu=\" + sbu +'&&userId='+ localStorage.getItem('mabt_userId'),\r\n headers: headers\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getBudgetType(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/BudgetAllocation/GetBudgetType\",\r\n headers: headers\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n filterBudget(sbu: String, budgetType: String, year: String) {\r\n debugger;\r\n let _body = {\r\n\r\n \"budgetId\": budgetType,\r\n \"sbuCode\": sbu,\r\n \"userId\": localStorage.getItem('mabt_userId')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/BudgetAllocation/GetBudgetFilterData\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n BudgetExcelDownload(url: string, userName: string, roleId: string, currentYear: number): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"budgetId\": '',\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n\r\n }\r\n BindBudgetData(url: string, sbu: String, budgetType: String, year: String, Activity: string): Observable {\r\n let _body = {\r\n \"sbuCode\": sbu,\r\n \"budgetId\": budgetType,\r\n \"year\": year,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"ActivityGroup\": Activity\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n ExportBudgetData(url: string, userName: string, userId: string, budgetType: string, year: string, sbu: string): Observable {\r\n debugger;\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"budgetId\": budgetType,\r\n \"year\": year,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName,\r\n \"SBUCode\": sbu\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n\r\n }\r\n SaveBudgetFromGrid(url: string, budgetdetais: any, currentYear: number, contiBudget: string, reimbursement: string): Observable {\r\n debugger;\r\n let _body = {\r\n \"isSave\": 1,\r\n \"budgetId\": '',\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"dtBudget\": budgetdetais,\r\n \"contiBudget\": contiBudget,\r\n \"reimbursement\": reimbursement\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n uploadDocument(documents: File): Observable {\r\n debugger;\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mabt_userId'));\r\n formData.append(\"RoleId\", localStorage.getItem('mabt_roleID'));\r\n formData.append(\"isDraft\", \"1\");\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/BudgetAllocation/UploadDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n debugger;\r\n return res.json();\r\n });\r\n }\r\n RegionPerActivityExcelDownload(url: string, userName: string, currentYear: number): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private https: HttpClient, private http: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n GetYearList(userId: string) {\r\n let _body = {\r\n \"userId\": userId,\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Dashboard/GetYearFilter\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { global } from '../../models/global';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfirmationService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private Http: Http, private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getBudgetTypes(): Observable { \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/FPERequests/GetBudgetType',\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getActivities(): Observable { \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/ActivityType/GetActivityType',\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getRegions(userId: string): Observable { \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/FPERequests/GetMARegions?userId=' + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getStates(userId: string): Observable { \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/FPERequests/GetMAStates?userId=' + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getVendors(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId')\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/POStatus/VendorList\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getPONumber(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId')\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/POStatus/GetPONumbers\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n POConfirmationList(activityID: string, budgetCode: string, stateCode: string, regionCode: string, vendor: string, PONum: string): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"activityID\": activityID,\r\n \"budgetCode\": budgetCode,\r\n \"vendorID\": vendor,\r\n \"pONumber\": PONum,\r\n \"stateCode\": stateCode,\r\n \"regionCode\": regionCode,\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Confirmation/POConfirmList',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n ExportPOConfirmationList(activityID: string, budgetCode: string, stateCode: string, regionCode: string, vendor: string, PONum: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"userName\": localStorage.getItem('mabt_userName'),\r\n \"activityID\": activityID,\r\n \"budgetCode\": budgetCode,\r\n \"vendorID\": vendor,\r\n \"pONumber\": PONum,\r\n \"stateCode\": stateCode,\r\n \"regionCode\": regionCode,\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Confirmation/ExportPOConfirmList',\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n })\r\n return this.Http.request(new Request(requestoptions)).map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient ,HttpHeaders} from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreditDebitReasonService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient,private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getCreditDebitReasonList():Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/creditDebitReason/GetCreditDebitReason',\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n changeCreditDebitReasonStatus(creditDebitReason:any):Observable{\r\n let _body={\r\n \"creditDebitReasonId\":creditDebitReason.CreditDebitReasonId,\r\n \"isActive\":creditDebitReason.IsActive,\r\n \"modifiedBy\":localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/creditDebitReason/UpdateCreditDebitReasonStatus',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n createCreditDebitReason(creditDebitReason):Observable{\r\n let _body={\r\n \"creditDebitReason\":creditDebitReason,\r\n \"createdBy\":localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/creditDebitReason/CreateCreditDebitReason',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\nimport { map } from 'rxjs/operators';\r\nimport { Crops } from 'src/app/Models/Crops/Crops';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CropsService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient,private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getCropsDetails(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Crops/CropsList',\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n changeCropStatus(crops: Crops): Observable {\r\n let _body = {\r\n \"cropId\": crops.CropId,\r\n \"cropName\": crops.CropName,\r\n \"isCropActive\": crops.isCropActive,\r\n //\"createdBy\":\"laxmikant\"\r\n \"createdBy\": localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Crops/UpdateCropConfiguration',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient,HttpHeaders } from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { UpdateNotification } from 'src/app/Models/profile/UserProfile';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashboardService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private Http:Http,private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getLeftMenuList(roleId:String):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Dashboard/GetMenuList?roleId=\" + roleId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n GetAmountByActivityId(url: string,ActivityId:number,Region:string): Observable { \r\n let _body={\r\n \"ActivityId\":ActivityId,\r\n \"Region\": Region,\r\n \"userId\":localStorage.getItem('mabt_userId'),\r\n \"Action\":\"RMHSTATUS\"\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.Http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n updateNotification(detail : UpdateNotification[]) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mabt_userId'),\r\n \"Data\" : detail\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n // let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization':'Bearer '+ localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions : RequestOptions = new RequestOptions({\r\n method : 'POST',\r\n url : this.ROOT_URL + \"/api/Login/UpdateNotification\",\r\n headers : headers,\r\n body : _body\r\n })\r\n \r\n return this.Http.request(new Request(requestoptions))\r\n .map((res : Response) => {\r\n return res.json();\r\n });\r\n\r\n}\r\n getSBU(userId:string,maCode:string):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Dashboard/GetSBU?userId=\"+userId+\"&MACode=\"+maCode,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getDMHDivision(userId:any,sbuCode:any):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Dashboard/GetDivision?userId=\"+userId+\"&SBUCode=\"+sbuCode,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getZMHZone(userId:any,division:any):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Dashboard/GetZone?userId=\"+userId+\"&division=\"+division,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getRMHRegion(userId:any,zone:any):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Dashboard/GetRegion?userId=\"+userId+\"&zone=\"+zone,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getMA(userId :any):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Dashboard/GetMA?userId=\"+userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getBarChartData(userId:any,ma:any,sbu:any,division:any,zone:any,region:any,selectedYear:any):Observable{debugger;\r\n let _body={ \r\n \"maCode\":ma,\r\n \"sbuCode\":sbu,\r\n \"divisionCode\":division,\r\n \"zoneCode\":zone,\r\n \"regionCode\":region,\r\n \"userId\":userId,\r\n \"year\":selectedYear\r\n };debugger\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Dashboard/BarChartData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getUpcomingActivities(userId:string){\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Dashboard/UpcomingActivities?userId=\"+userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getDashboardFilterData(userId:string):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Dashboard/GetDashboardFilterData?userId=\"+userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient,HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DebitCreditListService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient,private https:Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n GetDebitCreditListFilterData(): Observable {\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/DebitCreditList/GetDebitCreditListFilterData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n GetDebitCreditListData(noteType : string, vendor : string, invoice : string) : Observable {\r\n let _body = {\r\n \"UserId\" : localStorage.getItem('mabt_userId'),\r\n \"NoteType\" : noteType,\r\n \"Vendor\" : vendor,\r\n \"Invoice\" : invoice\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/DebitCreditList/GetDebitCreditListData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n } \r\n\r\n ExportDebitCreditNoteData(noteType : string, vendor : string, invoice : string) : Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"UserName\": localStorage.getItem('mabt_userName'),\r\n \"NoteType\" : noteType,\r\n \"Vendor\" : vendor,\r\n \"Invoice\" : invoice\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/DebitCreditList/ExportDebitCreditNoteData',\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n })\r\n\r\n return this.https.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient,HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { DebitCreditNote } from 'src/app/Models/Debit-Credit-Note/debit-credit-note';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DebitCreditNoteService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient,private https:Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n GetInvoiceNumberList(): Observable {\r\n debugger;\r\n let _body = {\r\n \"UserId\" : localStorage.getItem('mabt_userId')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/DebitCreditNote/GetInvoiceNumberList',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n GetDataAsPerInvoiceNumber(invoiceNo : any): Observable {\r\n let _body = {\r\n \"UserId\" : localStorage.getItem('mabt_userId'),\r\n \"InvoiceNo\" : invoiceNo\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/DebitCreditNote/GetDataAsPerInvoiceNumber',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n SubmitDebitCreditList(debitCreditNote : DebitCreditNote[]): Observable {\r\n let _body = {\r\n \"UserId\" : localStorage.getItem('mabt_userId'),\r\n \"DebitCreditNote\" : debitCreditNote\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/DebitCreditNote/SubmitDebitCreditList',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { DebugElement } from '@angular/core/src/debug/debug_node';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from '../../models/global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FPEBudgetService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: Http, private https: HttpClient) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n\r\n }\r\n getBudgetAndRemainingBudget(currentYear: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/BudgetAllocation/GetBudgetAndRemainingBudget?year=\" + currentYear,\r\n headers: headers\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n FPEBudgetExcelDownload(url: string, userName: string, roleId: string, currentYear: number, ma: string, sbu: string, month: string, division: string,zone:string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"budgetId\": '',\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"RoleId\": roleId,\r\n \"userName\": userName,\r\n \"MA\": ma,\r\n \"SBU\": sbu,\r\n \"Month\": month,\r\n \"Division\": division,\r\n \"Zone\": zone\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n\r\n }\r\n TransferBudget(Month:any,fromActivityGroup:any,toActivityGroup:any,FromRegion:any,ToRegion:any,TransferedAmount:any)\r\n {\r\n let Userid=localStorage.getItem('mabt_userId')\r\n let _body = { \r\n \"UserId\": Userid,\r\n \"Month\": Month,\r\n \"FromActivityGroup\": fromActivityGroup,\r\n \"ActivityGroup\": toActivityGroup,\r\n \"FromRegion\":FromRegion,\r\n \"ToRegion\":ToRegion,\r\n \"Amount\":TransferedAmount\r\n \r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPEBudget/TransferBudget',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n \r\n }\r\n GetRegionListWithBudget(Month:string,Group:string)\r\n {\r\n let Userid=localStorage.getItem('mabt_userId')\r\n let _body = { \r\n \"UserId\": Userid,\r\n \"Month\": Month,\r\n \"ActivityGroup\": Group\r\n \r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPEBudget/GetRegionListWithBudget',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n \r\n }\r\n\r\n GetFPEBudgetListingData(ma: any, sbu: any,division:any,zoneCode:any, year: any, zone: any, group: any, month: any): Observable {\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"MA\": ma,\r\n \"SBU\": sbu,\r\n \"Division\": division,\r\n \"ZoneCode\":zoneCode,\r\n \"Year\": year,\r\n \"Zone\": zone,\r\n \"ActivityGroup\": group,\r\n \"Month\": month\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPEBudget/FPEBudgetListingData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n GetFPEBudgetFilterData(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPEBudget/FPEBudgetFilterData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n GetFMGMBudgetFilterData(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPEBudget/FMGMBudgetFilterData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n SubmitFPEBudgetData(): Observable {debugger;\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPEBudget/SubmitFPEBudgetData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n SubmitFPEBudget(isSave: string, year: number): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"isSave\": isSave,\r\n \"Year\": year,\r\n \"UserId\": localStorage.getItem('mabt_userId')\r\n\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/FPEBudget/SubmitFPEBudget\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n BindFPEBudgetData(url: string, budgetType: string, year: number): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"budgetId\": budgetType,\r\n \"year\": year,\r\n \"userId\": localStorage.getItem('mabt_userId')\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n ExportFPEBudgetData(url: string, userName: string, ma: string, sbu: string, year: string, month: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"MA\": ma,\r\n \"Year\": year,\r\n \"SBU\": sbu,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName,\r\n \"Month\": month\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n\r\n }\r\n\r\n downloadFile(fileName: string, url: string) {\r\n url = this.ROOT_URL + url;\r\n return this.http.get(url, {\r\n\r\n responseType: ResponseContentType.Blob//, search: // query string if have\r\n }).map(res => {\r\n return {\r\n filename: fileName,\r\n data: res.blob()\r\n };\r\n }).subscribe(res => {\r\n var fileBlob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n if (window.navigator.msSaveOrOpenBlob) { // for IE browser\r\n window.navigator.msSaveBlob(fileBlob, fileName);\r\n }\r\n else {\r\n var url = window.URL.createObjectURL(res.data);\r\n var a = document.createElement('a');\r\n document.body.appendChild(a);\r\n a.setAttribute('style', 'display: none');\r\n a.href = url;\r\n a.download = res.filename;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n a.remove(); // remove the element\r\n }\r\n }, error => {\r\n //console.log('download error:', JSON.stringify(error));\r\n }, () => {\r\n //console.log('Completed file download.')\r\n });\r\n }\r\n\r\n uploadDocument(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mabt_userId'));\r\n formData.append(\"RoleId\", localStorage.getItem('mabt_roleID'));\r\n formData.append(\"isDraft\", \"1\");\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/FPEBudget/UploadDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n getBudgetTypes(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/BudgetAllocation/GetBudgetType\",\r\n headers: headers\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n RegionPerActivityExcelDownload(url: string, userName: string, currentYear: number): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n \r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n }\r\n ExcelInitialRevOpsBudgetDownload(url: string, userName: string, currentYear: number): Observable{\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n \r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n }\r\n uploadDocumentRegionWise(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mabt_userId'));\r\n formData.append(\"RoleId\", localStorage.getItem('mabt_roleID'));\r\n formData.append(\"isDraft\", \"1\");\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/FPEBudget/uploadDocumentRegionWise\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n ActivityTypeMappingDownload(url: string, userName: string, currentYear: number): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"year\": currentYear,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n \r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FPERequestsService {\r\n ROOT_URL: string = \"\";\r\n RequestId: number = 0;\r\n constructor(private https: Http, private http: HttpClient) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getFPERequestFilterData(userId: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetFPERequestFilterData?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getBudgetTypes(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetBudgetType\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getActivities(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/ActivityType/GetActivityType\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getProducts(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Products/ProductsConfiguration\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getCrops(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Crops/CropsConfiguration\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getRegions(userId: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetMARegions?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getStates(userId: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetMAStates?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n\r\n GetFPERequestList(activityID: string=\"\", budgetCode: string=\"\", productID: string=\"\", cropID: string=\"\", stateCode: string=\"\", regionCode: string=\"\", monthCode: string=\"\",selectedYear: string): Observable {\r\n\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"ActivityID\": activityID,\r\n \"BudgetCode\": budgetCode,\r\n \"ProductID\": productID,\r\n \"CropID\": cropID,\r\n \"StateCode\": stateCode,\r\n \"RegionCode\": regionCode,\r\n \"MonthCode\": monthCode,\r\n\r\n \"Year\": selectedYear\r\n\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPERequests/FPERequestListingData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n GetPoRequestListing(activityID: string, budgetCode: string, productID: string, cropID: string, stateCode: string, regionCode: string,selectedYear:string,SelectedRequestID:string): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"ActivityID\": activityID,\r\n \"BudgetCode\": budgetCode,\r\n \"ProductID\": productID,\r\n \"CropID\": cropID,\r\n \"StateCode\": stateCode,\r\n \"RegionCode\": regionCode,\r\n \"Year\": selectedYear,\r\n \"RequestID\": SelectedRequestID,\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPERequests/GetPoRequestListing',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n GetFPERequestApproveList(activityID: string, budgetCode: string, productID: string, cropID: string, stateCode: string, regionCode: string,selectedYear:string): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"ActivityID\": activityID,\r\n \"BudgetCode\": budgetCode,\r\n \"ProductID\": productID,\r\n \"CropID\": cropID,\r\n \"StateCode\": stateCode,\r\n \"RegionCode\": regionCode,\r\n \"Year\": selectedYear,\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/FPERequests/FPERequestApproveListingData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n ExportFPERequestData(url: string, userName: string, userId: string,selectYear:string,SelectedRequestID?:string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"userName\": userName,\r\n \"ActivityID\": \"\",\r\n \"BudgetCode\": \"\",\r\n \"ProductID\": \"\",\r\n \"CropID\": \"\",\r\n \"StateCode\": \"\",\r\n \"RegionCode\": \"\",\r\n \"Year\":selectYear,\r\n \"RequestID\":SelectedRequestID!=\"\"?SelectedRequestID:\"\"\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n\r\n return this.https.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n\r\n }\r\n\r\n ApproveRequest(item: any, AppRej: string, url: string, reason: string, BudgetType:string) {\r\n this.RequestId = item;\r\n let userId = localStorage.getItem('mabt_userId')\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let _body = {\r\n \"RequestId\": this.RequestId,\r\n \"userId\": userId,\r\n \"AppRej\": AppRej,\r\n \"BudgetUse\":BudgetType,\r\n \"Reason\": reason\r\n };\r\n\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n\r\n DeleteRequest(RequestId: any, url: string) {\r\n\r\n let userId = localStorage.getItem('mabt_userId')\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let _body = {\r\n \"RequestId\": RequestId,\r\n \"userId\": userId,\r\n\r\n };\r\n\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n GetRequestStatus(RequestId: any, PO: any, url: string) {\r\n this.RequestId = RequestId;\r\n let userId = localStorage.getItem('mabt_userId')\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let _body = {\r\n \"RequestId\": this.RequestId,\r\n \"userId\": userId,\r\n \"PO\": PO\r\n };\r\n\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { User } from '../../models/login/user';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { DebugElement } from '@angular/core/src/debug/debug_node';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from '../../models/global';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n authenticateUser(user: any): Observable {\r\n let _body = JSON.stringify(user.value);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Login/AuthenticateUserCMaster\",\r\n headers: headers,\r\n body: _body\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n }\r\n\r\n checkSession(): Promise {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization':'Bearer '+ localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Login/UserCookieExists',\r\n headers: headers\r\n });\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n .toPromise();\r\n\r\n }\r\n\r\n profileDetails(userid: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Login/ProfileDetails?userid=\"+userid,\r\n headers: headers\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n}\r\n\r\nnotification(): Observable {\r\n let userId =localStorage.getItem('mabt_userId');\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Login/Notification?userId=\"+userId,\r\n headers: headers\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n}\r\n\r\nvalidateUser(userID: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Login/ISValidUsers?UserID='+userID,\r\n headers: headers\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res;\r\n });\r\n\r\n}\r\n\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { LoginService } from '../login/login.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionService {\r\n\r\n constructor(private router: Router, private loginService: LoginService) { }\r\n timer: number = 0;\r\n id: any;\r\n resetSession() {\r\n this.timer = 0;\r\n clearInterval(this.id);\r\n this.startSession();\r\n }\r\n\r\n startSession() {\r\n this.id = setInterval(() => {\r\n this.timer++;\r\n this.onSessionOut();\r\n }, 1000);\r\n\r\n }\r\n onSessionOut() {\r\n if (this.timer > 6000) {\r\n clearInterval(this.id);\r\n this.timer = 0;\r\n this.logout();\r\n }\r\n }\r\n\r\n logout() {\r\n clearInterval(this.id);\r\n this.timer = 0;\r\n // this.loginService.logout().subscribe((resdata: any) => {\r\n localStorage.removeItem('mabt_userName');\r\n localStorage.removeItem('mabt_userId');\r\n sessionStorage.removeItem('mabt_token');\r\n localStorage.removeItem('mabt_token');\r\n localStorage.removeItem('mabt_roleCode');\r\n sessionStorage.removeItem('mabt_userId');\r\n this.router.navigate(['/MABudget/Login']);\r\n clearInterval(this.id);\r\n this.timer = 0;\r\n // });\r\n\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PORequisitionService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n RMHForBrandBudget(userId: string) {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/RequestBrandBudget/RMHsList?userID=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n RegionForRMH(RMHID: string) {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/RequestBrandBudget/RegionForRMH?userID=\" + RMHID,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n PORequisitionData(userId: string, regionCode: string) {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/RequestBrandBudget/GetBrandBudgetDetails?userID=\" + userId + \"®ionCode=\" + regionCode,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n\r\n ActivityRequestList(rmhCode: string,brandManager:string): Observable {\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"RMHName\": rmhCode,\r\n \"BrandManager\":brandManager\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RequestBrandBudget/ActivityRequestList',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n submitPORequisition(PORequisitionDetails: any): Observable {\r\n let _body = {\r\n \"PORequisitions\": PORequisitionDetails\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RequestBrandBudget/SavePORequisition',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n PoRequisitionPdfDownload(region: any, title: any): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"Region\": region,\r\n \"Title\": title\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RequestBrandBudget/PoRequisitionPdfDownload',\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'application/pdf' })\r\n return blob;\r\n });\r\n }\r\n SaveFMCPOData(reference_no: string, fmcPoRef: string, fmcPoValue: string, fmcPoDate: string, fmcPoGST: string): Observable {\r\n debugger;\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n //\"RequestId\":requestId,\r\n \"ReferenceNo\": reference_no,\r\n \"FmcPoRef\": fmcPoRef,\r\n \"FmcPoValue\": fmcPoValue,\r\n \"FmcPoDate\": fmcPoDate,\r\n \"FmcPoGST\": fmcPoGST\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RequestBrandBudget/SaveFmcPOData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n CloseFmcPo(reference_no: string): Observable {\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n //\"RequestId\":requestId,\r\n \"ReferenceNo\": reference_no,\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RequestBrandBudget/UpdateFmcPOData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient,HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class POStatusService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getBudgetTypes(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetBudgetType\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getActivities(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/ActivityType/GetActivityType\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getRegions(userId: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetMARegions?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getStates(userId: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetMAStates?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n getVendors(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId')\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/POStatus/VendorList',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getPONumber(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId')\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/POStatus/GetPONumbers',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n POStatusList(activityID: string, budgetCode: string, stateCode: string, regionCode: string, vendor: string, PONum: string,selectYear:string): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"ActivityID\": activityID,\r\n \"BudgetCode\": budgetCode,\r\n \"VendorID\": vendor,\r\n \"PONumber\": PONum,\r\n \"StateCode\": stateCode,\r\n \"RegionCode\": regionCode,\r\n \"Year\":selectYear,\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/POStatus/POStatusList',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n ExportPoStatusData(budgetCode: string, activityID: string, regionCode: string, stateCode: string, vendor: string, PONum: string,selectYear:string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"userName\": localStorage.getItem('mabt_userName'),\r\n \"activityID\": activityID,\r\n \"budgetCode\": budgetCode,\r\n \"vendorID\": vendor,\r\n \"poNumber\": PONum,\r\n \"stateCode\": stateCode,\r\n \"regionCode\": regionCode,\r\n \"Year\":selectYear\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/POStatus/ExportPoStatusData',\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n })\r\n\r\n return this.https.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { global } from 'src/app/Models/global';\r\nimport { HttpClient,HttpHeaders } from '@angular/common/http';\r\nimport { PaymentTerm } from '../../Models/Payment-Terms/PaymentTerm';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentTermsService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private https:Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getPaymentTerms():Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/PaymentTerm/GetPaymentTerm',\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n createpaymentTerm(paymentTerm:any,discount:any){\r\n let _body={\r\n \"paymentTerms\":paymentTerm,\r\n \"discount\":discount,\r\n //\"createdBy\":\"Ravi\"\r\n \"createdBy\":localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/PaymentTerm/CreatePaymentTerm',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n changePaymentTermStatus(paymentTerms:PaymentTerm){\r\n let _body={\r\n \"paymentTermsId\":paymentTerms.PaymentTermId,\r\n \"isActive\":paymentTerms.IsActive,\r\n //\"modifiedBy\":\"Mohit\"\r\n \"modifiedBy\":localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/PaymentTerm/UpdatePaymentTermStatus',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Products } from 'src/app/Models/Products/Products';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductsService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n getProductsDetails(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Products/ProductsList\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n changeProductStatus(products: Products): Observable {\r\n let _body = {\r\n \"productId\": products.ProductId,\r\n \"productName\": products.ProductName,\r\n \"isProductActive\": products.isProductActive,\r\n //\"createdBy\":\"laxmikant\"\r\n \"createdBy\": localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Products/UpdateProductsConfig',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n//import { UserProfile } from 'src/app/Models/Profile/UserProfile';\r\n//import { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\n\r\n\r\n//import { DebugElement } from '@angular/core/src/debug/debug_node';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProfileService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n \r\n getPersonalDetails(userId:string):Observable\r\n { \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Login/ProfileDetails?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { HttpClient ,HttpHeaders} from '@angular/common/http';\r\nimport { global } from 'src/app/Models/global';\r\nimport { RaisePoFormSubmit, TotalSumActivtiywise } from 'src/app/Models/RaisePo/raise-po-form-submit';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RaisepoService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient,private https:Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n GetRaisePoListingData(fpeRequestID: number, poNum : any): Observable {\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"FPERequestID\": fpeRequestID,\r\n \"PoNumber\" : poNum\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RaisePo/GetRaisePoListingData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n GetVendorRequiredItemListingData(vendorId: any, fpeRequestID: number): Observable {\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"VendorId\": vendorId,\r\n \"FPERequestID\": fpeRequestID\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RaisePo/GetVendorRequiredItemListingData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n SaveRaisePoListingData(raisePoFormSubmit: RaisePoFormSubmit): Observable {\r\n debugger;\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"FPERequestID\": raisePoFormSubmit.FPERequestID,\r\n \"PONumber\": raisePoFormSubmit.PONumber,\r\n \"PODate\": raisePoFormSubmit.PODate,\r\n \"VendorId\": raisePoFormSubmit.VendorId,\r\n \"VendorName\": raisePoFormSubmit.VendorName,\r\n \"VendorAddress\":raisePoFormSubmit.VendorAddress,\r\n \"VendorEmail\":raisePoFormSubmit.VendorEmail,\r\n \"VendorMobile\":raisePoFormSubmit.VendorMobile,\r\n \"RequiredItem\": raisePoFormSubmit.RequiredItem,\r\n \"ApproxValueAmount\": raisePoFormSubmit.ApproxValueAmount,\r\n \"GST\": raisePoFormSubmit.GST,\r\n \"GrandTotalOfAllActivities\": raisePoFormSubmit.GrandTotalOfAllActivities,\r\n \"FMCRefrenceNumber\": raisePoFormSubmit.FMCRefrenceNumber,\r\n \"Date\": raisePoFormSubmit.Date,\r\n \"Instructions\": raisePoFormSubmit.Instructions,\r\n \"PaymentTerm\": raisePoFormSubmit.PaymentTerm,\r\n \"Deductions\": raisePoFormSubmit.Deductions,\r\n \"PenaltyClause\": raisePoFormSubmit.PenaltyClause,\r\n \"ImportantPoints\": raisePoFormSubmit.ImportantPoints,\r\n \"TermsConditions\": raisePoFormSubmit.TermsConditions,\r\n \"Status\": raisePoFormSubmit.Status,\r\n \"RejectReason\" : raisePoFormSubmit.RejectReason,\r\n \"Region\" : raisePoFormSubmit.Region,\r\n \"ShipToAddress\" : raisePoFormSubmit.MaShipToAddress,\r\n \"ShipToGST\" : raisePoFormSubmit.MaShipToGST,\r\n \"MaName\" : raisePoFormSubmit.MaName,\r\n \"MaNumber\" : raisePoFormSubmit.MaNumber,\r\n \"RequestTypeId\":raisePoFormSubmit.RequestTypeId\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RaisePo/SaveRaisePoListingData',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n CheckBudgetOnQuantityChange(fpeRequestID: any,poNumber: any,activityId: any, totalSum: any, regionCode: any):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"FpeRequestID\": fpeRequestID,\r\n \"PoNumber\": poNumber,\r\n \"ActivityId\": activityId,\r\n \"TotalSum\": totalSum,\r\n \"RegionCode\": regionCode\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RaisePo/CheckBudgetOnQuantityChange',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n RaisePoPdfDownload(poNumber: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"PoNumber\": poNumber\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RaisePo/RaisePoPdfDownload',\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'application/pdf' })\r\n return blob;\r\n });\r\n }\r\n\r\n RegionChange(regionCode : string, fpeRequestID : any, totalActivityWiseAmount : TotalSumActivtiywise[]) : Observable{\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"Region\" : regionCode,\r\n \"TotalActivityWiseAmount\" : totalActivityWiseAmount,\r\n \"FPERequestID\" : fpeRequestID\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RaisePo/RegionChange',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RecordInvoiceServiceService {\r\n ROOT_URL: string = \"\";\r\n constructor(private https: HttpClient, private http: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n GetPoList(userId: string) {\r\n let _body = {\r\n\r\n \"userId\": userId,\r\n\r\n };\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/GetPoFilter\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n GetRecorInvoiceList(userId: string, po: string) {\r\n let _body = {\r\n\r\n \"userId\": userId,\r\n \"pO\": po\r\n\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/GetRecordInvoiceListingDataByPO\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n RecordInvoice(userId: string, RecordInvoiceList: any) {\r\n debugger;\r\n let _body = {\r\n\r\n \"RecordInvoiceList\": RecordInvoiceList,\r\n \"userId\": userId\r\n\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/RecordInvoices\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n BindFilterData(userId: string, region: string, state: string, vendor: string, activityType: string) {\r\n let _body = {\r\n\r\n \"region\": region,\r\n \"userId\": userId,\r\n \"state\": state,\r\n \"vendor\": vendor,\r\n \"activityType\": activityType\r\n\r\n };\r\n debugger;\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/BindFilterData\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n GetInvoiceDetails(userId: string, region: string, state: string, vendor: string, activityType: string,invoice:string,year:string,requestId:string,selectedPO:string) {\r\n debugger;\r\n let _body = {\r\n\r\n \"userId\": userId,\r\n \"region\": region,\r\n \"state\": state,\r\n \"vendor\": vendor,\r\n \"activityType\": activityType,\r\n \"invoice\": invoice,\r\n \"year\":year,\r\n \"requestId\":requestId,\r\n \"selectedPO\":selectedPO\r\n\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/GetInvoiceDetails\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n CloseInvoice(RecordInvoiceList: any, userId: any,Action :string) {\r\n let _body = {\r\n\r\n \"RecordInvoiceList\": RecordInvoiceList,\r\n \"userId\": userId,\r\n \"Action\":Action\r\n\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/CloseInvoice\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n PushToAX(userid: any, PoNumber: any,RecordInvoiceList:any) {\r\n let _body = {\r\n\r\n \"po\": PoNumber,\r\n \"userId\": userid,\r\n \"RecordInvoiceList\": RecordInvoiceList,\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/PushToAX\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n ApproveRecieptConfirmation(id: any, userId: any, status: any) {\r\n let _body = {\r\n\r\n \"id\": id,\r\n \"userId\": userId,\r\n \"status\": status\r\n\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/ApproveRecieptConfirmation\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n IsInvoiceNumberExist(invoicenumber: string,ponumber:string) {\r\n let _body = {\r\n\r\n\"ponumber\":ponumber,\r\n \"status\": invoicenumber,\r\n \"userId\": localStorage.getItem('mabt_userId'),\r\n \r\n\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/IsInvoiceNumberExist\",\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n ExportInvoiceData(url: string, userName: string, userId: string,year:string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body = {\r\n \"userId\": userId,\r\n \"region\": \"\",\r\n \"state\": \"\",\r\n \"vendor\": \"\",\r\n \"activityType\": \"\",\r\n \"userName\": userName,\r\n \"year\":year\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n\r\n }\r\n\r\n uploadPDFDocument(documents: File, index : any, invoiceNo : any,Extension:string): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mabt_userId'));\r\n formData.append(\"RoleId\", localStorage.getItem('mabt_roleID'));\r\n formData.append(\"RowId\", index);\r\n formData.append(\"UserName\", localStorage.getItem('mabt_userName'));\r\n formData.append(\"InvoiceNo\", invoiceNo);\r\n formData.append(\"Ext\", Extension);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/RecordInvoice/UploadPDFDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n downloadPDFDocument(pdfName : any): Observable {\r\n debugger;\r\n let _body = {\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"PDFName\": pdfName\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/RecordInvoice/DownloadPDFDocument\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'pdf' })\r\n return blob;\r\n });\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { global } from '../../models/global';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RequestBrandBudgetService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private Http: Http, private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getStates(userId: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetMAStates?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getActivities(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/ActivityType/GetActivityType\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getProducts(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Products/ProductsConfiguration\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getCrops(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Crops/CropsConfiguration\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getRMHlist(userId: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/FPERequests/GetMARegions?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getVendors(): Observable {\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId')\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/POStatus/VendorList',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getReferenceNumbers(userID: string): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/RequestBrandBudget/GetReferenceNo?userID=' + userID,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n PORequisitionList(userId: string, stateCode: string, vendors: string, region: string, activityID: string, productID: string, cropID: string, ReferenceNo: string,selectYear:string) {\r\n let _body = {\r\n \"userId\": userId,\r\n \"stateCode\": stateCode,\r\n \"regionCode\": region,\r\n \"activityID\": activityID,\r\n \"vendorID\": vendors,\r\n \"productID\": productID,\r\n \"cropID\": cropID,\r\n \"referenceNo\": ReferenceNo,\r\n \"Year\":selectYear\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RequestBrandBudget/GetBrandBudgetRequestList',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n ExportPORequisitionData(userId: string, stateCode: string, vendors: string, region: string, activityID: string, productID: string, cropID: string, ReferenceNo: string,selectYear:string) {\r\n let _body = {\r\n \"userId\": userId,\r\n \"userName\": localStorage.getItem('mabt_userName'),\r\n \"stateCode\": stateCode,\r\n \"regionCode\": region,\r\n \"activityID\": activityID,\r\n \"vendorID\": vendors,\r\n \"productID\": productID,\r\n \"cropID\": cropID,\r\n \"referenceNo\": ReferenceNo,\r\n \"Year\":selectYear\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/RequestBrandBudget/ExportPORequisitionData',\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n })\r\n return this.Http.request(new Request(requestoptions)).map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { global } from 'src/app/Models/global';\r\nimport { HttpClient,HttpHeaders } from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceConfirmationReasonService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient,private https:Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n getServiceConfirmations():Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/ServiceConfirmationReason/GetServiceConfirmationReason\",\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n createServiceConfirmations(serviceConfirmationReason:any){\r\n let _body={\r\n \"ServiceConfirmationReason\":serviceConfirmationReason,\r\n \"createdBy\":localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/ServiceConfirmationReason/CreateServiceConfirmationReason',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n UpdateServiceConfirmation(serviceConfirmationReason:any){\r\n let _body={\r\n \"serviceConfirmationId\":serviceConfirmationReason.ServiceConfirmationId,\r\n \"isActive\":serviceConfirmationReason.IsActive,\r\n \"modifiedBy\":localStorage.getItem('mabt_userName')\r\n };\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/ServiceConfirmationReason/UpdateServiceConfirmationReason',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { global } from '../../models/global';\r\nimport { HttpClient,HttpHeaders} from '@angular/common/http';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceReceiptConfirmationService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient,private https:Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n serviceReceiptConfirmation(poNumber:string):Observable{\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Confirmation/ServiceReceiptConfirmation?poNumber='+poNumber,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n saveServiceReceiptConfirmation(poNumber:any,radioBtn:any,Note:string):Observable{\r\n let _body={\r\n \"poNumber\":poNumber,\r\n \"userID\":localStorage.getItem('mabt_userId'),\r\n \"radioBtn\":radioBtn,\r\n \"note\":Note\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Confirmation/SaveServiceReceiptConfirmation',\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DebugElement } from '@angular/core/src/debug/debug_node';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from '../../models/global';\r\nimport { jsonpCallbackContext } from '@angular/common/http/src/module';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceRequestService {\r\n ROOT_URL: string = \"\";\r\n constructor(private http: Http, private https:HttpClient) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n Bindddls(url: string): Observable { \r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + url+\"?userId=\"+localStorage.getItem('mabt_userId'),\r\n headers: headers\r\n // body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nBindStateDDL(url: string,region:string): Observable { \r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + url+\"?region=\"+region,\r\n headers: headers\r\n // body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nBindRegionDDL(url: string,state:string): Observable { \r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + url+\"?userId=\"+localStorage.getItem('mabt_userId')+\"&state=\"+state,\r\n headers: headers\r\n // body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\nBindElementDDL(url: string,State:string,ActivityId:number,VendorId:string): Observable { \r\n let _body={\r\n \"ActivityId\":ActivityId,\r\n \"state\": State,\r\n \"userId\":localStorage.getItem('mabt_userId'),\r\n \"VendorId\":VendorId\r\n }\r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nGetAmountByProductId(url: string,BrandManager:string,StateCode:string,Region:any,requestid:number): Observable { \r\n\r\n let _body={\r\n \"BrandManager\":BrandManager,\r\n \"StateCode\":StateCode,\r\n \"Region\":Region,\r\n \"userId\":localStorage.getItem('mabt_userId'),\r\n \"RequestId\":requestid\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nCheckAvailableBrandBudget(url:string, BrandManager:string,ActivityId:number,BrandRequestlist:any, StateCode:string,Region:any,requestid:number){\r\n let _body={\r\n \"BrandManager\":BrandManager,\r\n \"BrandRequest\":BrandRequestlist,\r\n \"StateCode\":StateCode,\r\n \"Region\":Region,\r\n \"userId\":localStorage.getItem('mabt_userId'),\r\n \"RequestId\":requestid,\r\n \"ActivityId\":ActivityId\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nGetAmountByActivityId(url: string,ActivityId:number,StateCode:string,Region:string,requestid:number,seletDate:any): Observable { //\r\n debugger;\r\n var date: String = seletDate.toString();\r\n if (date.includes('GMT')) {\r\n date = date.replace(date.substring(25, date.length), '');\r\n }\r\n let _body={\r\n \"ActivityId\":ActivityId,\r\n \"Region\": Region,\r\n \"StateCode\":StateCode,\r\n \"userId\":localStorage.getItem('mabt_userId'),\r\n \"Action\":'',\r\n \"RequestId\":requestid,\r\n \"StartDate\":date\r\n }\r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\nGetSpecificationByElementId(url: string,ElementId:number,ActivityId:number,State:string): Observable { \r\n let _body={\r\n \"ElementId\":ElementId,\r\n \"ActivityId\":ActivityId,\r\n \"state\": State,\r\n \"userId\":localStorage.getItem('mabt_userId')\r\n \r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nGetRequestDetailById(url: string,RequestId:number): Observable { \r\n \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + url+\"?RequestId=\"+RequestId,\r\n headers: headers,\r\n //body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\nGetVendorDetailById(url: string,vendorid:string,RequestId:number,StateCode:string): Observable { \r\n let _body={\r\n \"UserId\": localStorage.getItem('mabt_userId'),\r\n \"VendorId\":vendorid,\r\n \"RequestId\":RequestId,\r\n \"StateCode\":StateCode\r\n }\r\n debugger;\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url, //+\"?Vendorid=\"+vendorid+\"&RequestId=\"+RequestId+\"&StateCode=\"+StateCode,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\nGetTargetAssigned(url: string,regionCode:string,Date:any,StartDate?:any): Observable { \r\n let _body={\r\n //\"UserId\": localStorage.getItem('mabt_userId'),\r\n \"RegionCode\":regionCode,\r\n \"StartDate\":StartDate,\r\n \"EndDate\":Date\r\n }\r\n debugger;\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url, //+\"?Vendorid=\"+vendorid+\"&RequestId=\"+RequestId+\"&StateCode=\"+StateCode, \r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\nGetVendors(url:string,State :string,RequestType:number)\r\n{\r\n let _body={\r\n // \"ElementId\":ElementId,\r\n // \"ActivityId\":ActivityId,\r\n \"requestType\": RequestType,\r\n \"state\": State,\r\n \"userId\":localStorage.getItem('mabt_userId')\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n // let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\nGetAmountByVendor(url:string,VendorId: string,specification:number,State:string,ActivityId:number)\r\n{\r\n \r\n let _body={\r\n \"VendorId\":VendorId,\r\n \"Specification\":specification,\r\n \"State\":State,\r\n \"ActivityId\":ActivityId\r\n \r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nBindVendorRateCardItems(url: string,Activity:string): Observable { \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + url+\"?Activity=\"+Activity,\r\n headers: headers\r\n // body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\n\r\nSaveRequest(url:string,RequestData:any,RequestId:number,BudgetType:string)\r\n{\r\n \r\n let _body={\r\n \"RequestData\":RequestData,\r\n \"isSave\": localStorage.getItem(\"isDraft\"),\r\n \"userId\":localStorage.getItem('mabt_userId'),\r\n \"RequestId\":RequestId,\r\n \"BudgetUse\":BudgetType\r\n\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n // let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\n\r\n\r\nGetVendorDetails(vendorid:string,url: string): Observable { \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + url+\"?VendorId=\"+vendorid,\r\n headers: headers\r\n // body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nGetAmountPerActivity(url: string,StateCode:string,Region:string,ActivityId:number): Observable { \r\n let _body={\r\n \"ActivityId\":ActivityId,\r\n \"Region\": Region,\r\n \"StateCode\":StateCode,\r\n \"userId\":localStorage.getItem('mabt_userId'),\r\n \r\n }\r\n //let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\nTransferBudgetAmount(url:string,activityId:string,fromRegion:string,toRegion:string,amount:string,StartDate:any){\r\n let _body={\r\n \"UserId\":localStorage.getItem('mabt_userId'),\r\n \"ActivityId\": activityId,\r\n \"FromRegion\": fromRegion,\r\n \"ToRegion\": toRegion,\r\n \"TransferAmount\": amount,\r\n \"StartDate\":StartDate\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\nGetActivityList(url:string,RequestType:number)\r\n{\r\n let _body={\r\n \"requestType\": RequestType,\r\n \"userId\":localStorage.getItem('mabt_userId')\r\n }\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n // let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Observable } from 'rxjs';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VendorStateMappingService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n ExportVendorStateMapping(): Observable {\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let _body = {\r\n \"userID\": localStorage.getItem('mabt_userId'),\r\n \"userName\": localStorage.getItem('mabt_userName')\r\n };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/VendorMapping/DownloadVendorMappingExcel',\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\r\n })\r\n \r\n return this.https.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n var blob = new Blob([res.blob()], { type: 'xlsx' })\r\n return blob;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { User } from '../../models/login/user';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { DebugElement } from '@angular/core/src/debug/debug_node';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from '../../models/global';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n authenticateUser(user: any): Observable {\r\n let _body = JSON.stringify(user.value);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Login/AuthenticateUserCMaster\",\r\n headers: headers,\r\n body: _body\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n }\r\n\r\n checkSession(): Promise {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization':'Bearer '+ localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Login/UserCookieExists',\r\n headers: headers\r\n });\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n .toPromise();\r\n\r\n }\r\n\r\n profileDetails(userid: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Login/ProfileDetails?userid=\"+userid,\r\n headers: headers\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n}\r\n\r\nnotification(): Observable {\r\n let userId =localStorage.getItem('mabt_userId');\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Login/Notification?userId=\"+userId,\r\n headers: headers\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n}\r\n\r\nvalidateUser(userID: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Login/ISValidUsers?UserID='+userID,\r\n headers: headers\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res;\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 { Observable } from 'rxjs';\r\n//import { UserProfile } from 'src/app/Models/Profile/UserProfile';\r\n//import { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\n\r\n\r\n//import { DebugElement } from '@angular/core/src/debug/debug_node';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from 'src/app/Models/global';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProfileService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: HttpClient, private https: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n \r\n getPersonalDetails(userId:string):Observable\r\n { \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Login/ProfileDetails?userId=\" + userId,\r\n headers: headers\r\n })\r\n return this.https.request(new Request(requestoptions))\r\n .map(response => (response).json()); \r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \" \"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport {LoginComponent} from '../app/Components/login/login.component'\r\nimport {MatSnackBarComponent} from './Components/mat-snack-bar/mat-snack-bar.component'\r\nimport { AppComponent } from './app.component';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { HttpModule } from '@angular/http';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { LoginService } from './services/login/login.service';\r\nimport { ProfileService} from './Services/Profile/profile.service';\r\n//import {PagerService} from './Services/pager.service';\r\nimport { HomeLayoutComponent } from './Components/Layout/HomeLayout.Component';\r\n//import { ProfileComponent } from './Components/profile/profile.component';\r\nimport { LoginLayoutComponent } from './Components/Layout/LoginLayout.Component';\r\n//import { AuthGuard } from './auth.guard';\r\n//import { HomeComponent } from './Components/home/home.component';\r\nimport { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';\r\n// { SelectAutocompleteModule } from 'mat-select-autocomplete';\r\nimport { ToastrModule } from '../../node_modules/ngx-toastr';\r\nimport {NgxPaginationModule} from 'ngx-pagination';\r\n// search module\r\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\nimport { OrderModule } from 'ngx-order-pipe';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport {DemoMaterialModule} from './material-module';\r\n\r\n\r\n//import { EncryptionDecryptionService } from './Services/encryption-decryption/encryption-decryption.service';\r\n//import{NgChartjsModule} from 'ng-chartjs';\r\nimport {\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,\r\n} from '@angular/material';\r\nimport { ProfileComponent } from './Components/profile/profile.component';\r\nimport { ProductsComponent } from './Components/products/products.component';\r\nimport { CropsComponent } from './Components/crops/crops.component';\r\nimport { ActivityGroupComponent } from './Components/activity-group/activity-group.component';\r\nimport { ActivityTypeComponent } from './Components/activity-type/activity-type.component';\r\nimport { PaymentTermsComponent } from './Components/payment-terms/payment-terms.component';\r\nimport { ServiceConfirmationReasonComponent } from './Components/service-confirmation-reason/service-confirmation-reason.component';\r\nimport { CreditDebitReasonComponent } from './Components/credit-debit-reason/credit-debit-reason.component';\r\nimport { DialogBoxComponent } from './Components/dialog-box/dialog-box.component';\r\nimport { BudgetAllocationComponent } from './Components/budget-allocation/budget-allocation.component';\r\nimport { FPEBudgetAllocationComponent } from './Components/fpebudget-allocation/fpebudget-allocation.component';\r\nimport { AuthGuard } from './auth.guard';\r\nimport { BudgetRequestComponent } from './Components/budget-request/budget-request.component';\r\nimport { DashboardComponent } from './Components/dashboard/dashboard.component';\r\nimport { ConfirmationComponent } from './Components/confirmation/confirmation.component';\r\nimport { FPERequestsComponent } from './Components/fperequests/fperequests.component';\r\nimport { POStatusComponent } from './Components/postatus/postatus.component';\r\nimport { RaisePoComponent } from './Components/raise-po/raise-po.component';\r\nimport { ActivityRequestComponent } from './Components/activity-request/activity-request.component';\r\nimport { ServiceReceiptConfirmationComponent } from './Components/service-receipt-confirmation/service-receipt-confirmation.component';\r\nimport { RequestBrandBudgetComponent } from './Components/request-brand-budget/request-brand-budget.component';\r\nimport { PORequisitionComponent } from './Components/porequisition/porequisition.component';\r\nimport { ApproveActivityRequestComponent } from './Components/approve-activity-request/approve-activity-request.component';\r\nimport { PoRequestListingComponent } from './Components/po-request-listing/po-request-listing.component';\r\n\r\nimport { RecordInvoiceComponent } from './Components/record-invoice/record-invoice.component';\r\n\r\nimport { DebitCreditListComponent } from './Components/debit-credit-list/debit-credit-list.component';\r\nimport { DebitCreditNoteComponent } from './Components/debit-credit-note/debit-credit-note.component';\r\nimport { VendorStateMappingComponent } from './Components/vendor-state-mapping/vendor-state-mapping.component';\r\nimport { BudgetTransferComponent } from './Components/budget-transfer/budget-transfer.component';\r\nimport { FmgmBudgetAllocationComponent } from './Components/fmgm-budget-allocation/fmgm-budget-allocation.component';\r\nimport { BrandBudgetAllocationComponent } from './Components/brand-budget-allocation/brand-budget-allocation.component';\r\nimport { BrandBudgetMAAllocationComponent } from './Components/brand-budgetMA-allocation/brand-budgetMA-allocation.component';\r\n\r\n\r\n\r\n\r\n\r\n// import { FPEBudgetAllocationComponent } from './Components/FPEBudget/fpebudget-allocation/fpebudget-allocation.component';\r\n//import { DragDirective } from './drag-drop.directive';\r\nconst routes: Routes = [\r\n {\r\n \r\n path: '',\r\n component: LoginComponent,\r\n children: [\r\n { path: '', component: LoginComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/Login', component: LoginComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n\r\n \r\n ]\r\n },\r\n {\r\n path:'',\r\n component: HomeLayoutComponent, \r\n children:[\r\n { path: 'MABudget/Profile', component: ProfileComponent,pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/Crops', component: CropsComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/Products', component: ProductsComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/ActivityGroup', component: ActivityGroupComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/ActivityType', component: ActivityTypeComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/Payment-Terms', component:PaymentTermsComponent,pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/Service-Confirmation-Reason', component:ServiceConfirmationReasonComponent,pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/Credit-Debit-Reason', component:CreditDebitReasonComponent,pathMatch:'full',canActivate: [AuthGuard] },\r\n { path: 'MABudget/BudgetAllocation', component:BudgetAllocationComponent,pathMatch:'full',canActivate: [AuthGuard] },\r\n { path: 'MABudget/MABudgetAllocation', component: FPEBudgetAllocationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/FPEBudgetRequest', component: BudgetRequestComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/Confirmation', component:ConfirmationComponent,pathMatch:'full', canActivate: [AuthGuard]},\r\n { path: 'MABudget/FPERequests', component:FPERequestsComponent,pathMatch:'full', canActivate: [AuthGuard]},\r\n { path: 'MABudget/POStatus', component:POStatusComponent,pathMatch:'full', canActivate: [AuthGuard]}, \r\n { path: 'MABudget/RaisePo/:type/:id/:poNum', component:RaisePoComponent,pathMatch:'full', canActivate: [AuthGuard]}, \r\n { path: 'MABudget/ServiceReceiptConfirmation', component:ServiceReceiptConfirmationComponent,pathMatch:'full'} , \r\n { path: 'MABudget/ApproveFPEBudgetRequest', component: ApproveActivityRequestComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/Dashboard', component: DashboardComponent, pathMatch: 'full' },\r\n { path: 'MABudget/ActivityRequest/:statusID/:requestID', component: ActivityRequestComponent,pathMatch: 'full', canActivate: [AuthGuard] },\r\n //{ path: 'MABudget/ActivityRequest', component: ActivityRequestComponent,pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/RequestBrandBudget',component:RequestBrandBudgetComponent,pathMatch:'full'},\r\n { path: 'MABudget/PORequisition',component:PORequisitionComponent,pathMatch:'full'},\r\n { path: 'MABudget/PoRequestListing',component:PoRequestListingComponent,pathMatch:'full', canActivate: [AuthGuard] },\r\n\r\n { path: 'MABudget/RecordInvoice',component:RecordInvoiceComponent,pathMatch:'full', canActivate: [AuthGuard] },\r\n \r\n\r\n { path: 'MABudget/DebitCreditListing',component:DebitCreditListComponent,pathMatch:'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/AddDebitCreditNote',component:DebitCreditNoteComponent,pathMatch:'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/VendorRateCard',component:VendorStateMappingComponent,pathMatch:'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/FMGMBudgetAllocation', component: FmgmBudgetAllocationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/BrandBudgetAllocation', component: BrandBudgetAllocationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MABudget/BrandBudgetMAAllocation', component: BrandBudgetMAAllocationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n ]\r\n },\r\n { path: '**', redirectTo: '/Login' }\r\n]\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n MatSnackBarComponent,\r\n ProfileComponent,\r\n ProductsComponent,\r\n CropsComponent,\r\n HomeLayoutComponent,\r\n LoginLayoutComponent,\r\n ActivityGroupComponent,\r\n ActivityTypeComponent,\r\n PaymentTermsComponent,\r\n ServiceConfirmationReasonComponent,\r\n CreditDebitReasonComponent,\r\n DialogBoxComponent,\r\n BudgetAllocationComponent,\r\n FPEBudgetAllocationComponent,\r\n\r\n BudgetRequestComponent,\r\n DashboardComponent,\r\n ConfirmationComponent,\r\n FPERequestsComponent,\r\n POStatusComponent,\r\n RaisePoComponent,\r\n ServiceReceiptConfirmationComponent,\r\n ActivityRequestComponent,\r\n ServiceReceiptConfirmationComponent,\r\n RequestBrandBudgetComponent,\r\n PORequisitionComponent,\r\n ApproveActivityRequestComponent,\r\n PoRequestListingComponent,\r\n\r\n RecordInvoiceComponent,\r\n\r\n DebitCreditListComponent,\r\n DebitCreditNoteComponent,\r\n VendorStateMappingComponent,\r\n BudgetTransferComponent,\r\n FmgmBudgetAllocationComponent,\r\n BrandBudgetAllocationComponent,\r\n BrandBudgetMAAllocationComponent,\r\n\r\n ],\r\n imports: [\r\n NgSelectModule, \r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpModule,\r\n MatSnackBarModule,\r\n MatDialogModule,\r\n NgxPaginationModule,\r\n HttpClientModule,\r\n //DemoMaterialModule,\r\n Ng4LoadingSpinnerModule.forRoot(),\r\n //SelectAutocompleteModule,\r\n ToastrModule.forRoot({timeOut: 15000,\r\n preventDuplicates: true,\r\n maxOpened: 1,\r\n autoDismiss: true,\r\n extendedTimeOut:3000}),\r\n RouterModule.forRoot(routes, { useHash: true }),\r\n Ng2SearchPipeModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n NgMultiSelectDropDownModule.forRoot(),\r\n DemoMaterialModule,\r\n \r\n ],\r\n providers: [LoginService, MatSnackBarComponent, MatDatepickerModule,ProfileService],\r\n bootstrap: [AppComponent],\r\n entryComponents: [DialogBoxComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { LoginService } from './services/login/login.service';\r\nimport { AuthService } from './services/auth.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private router: Router, private loginService: LoginService, private authService: AuthService) { }\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n if (this.checkSession()) {\r\n // logged in so return true\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkSession(): boolean {\r\n let flag: boolean = false;\r\n this.loginService.checkSession()\r\n .then((response) => {\r\n if (response != null) {\r\n if (response == true) {\r\n let userId = localStorage.getItem(\"mabt_userId\");\r\n sessionStorage.setItem(\"mabt_userId\", userId)\r\n let sessionUserId = sessionStorage.getItem(\"mabt_userId\");\r\n if (sessionUserId == null) {\r\n this.router.navigate(['/MABudget/Login']);\r\n flag = false;\r\n }\r\n } else {\r\n this.router.navigate(['/MABudget/Login']);\r\n flag = false;\r\n }\r\n }\r\n else {\r\n this.router.navigate(['/MABudget/Login']);\r\n flag = false;\r\n }\r\n\r\n },\r\n error => {\r\n if (error.status === 401) {\r\n this.router.navigate(['/MABudget/Login']);\r\n flag = false;\r\n }\r\n });\r\n\r\n return flag = true;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {A11yModule} from '@angular/cdk/a11y';\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\nimport {PortalModule} from '@angular/cdk/portal';\r\nimport {ScrollingModule} from '@angular/cdk/scrolling';\r\nimport {CdkStepperModule} from '@angular/cdk/stepper';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {CdkTreeModule} from '@angular/cdk/tree';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatDialogModule} from '@angular/material/dialog';\r\nimport {MatDividerModule} from '@angular/material/divider';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport {MatGridListModule} from '@angular/material/grid-list';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport {MatMenuModule} from '@angular/material/menu';\r\nimport {MatNativeDateModule, MatRippleModule} from '@angular/material/core';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatSidenavModule} from '@angular/material/sidenav';\r\nimport {MatSliderModule} from '@angular/material/slider';\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\nimport {MatSortModule} from '@angular/material/sort';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport {MatToolbarModule} from '@angular/material/toolbar';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatTreeModule} from '@angular/material/tree';\r\n\r\n@NgModule({\r\n exports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n ]\r\n})\r\nexport class DemoMaterialModule {}\r\n\r\n\r\n/** Copyright 2019 Google Inc. All Rights Reserved.\r\n Use of this source code is governed by an MIT-style license that\r\n can be found in the LICENSE file at http://angular.io/license */","export class global {\r\n urlOrigin:string;\r\n hostName:string;\r\n\r\n constructor(){\r\n this.getDomainName();\r\n }\r\n\r\n getDomainName()\r\n {\r\n this.urlOrigin=document.location.origin;\r\n this.hostName=document.location.hostname;\r\n }\r\n\r\n getApiUrl()\r\n {\r\n switch(this.hostName)\r\n {\r\n case \"localhost\": \r\n\r\n\r\n return \"https://localhost:49477\";\r\n\r\n\r\n case \"mabudget.uat.fmcone.in\":\r\n return \"https://mabudget.uat.fmcone.in/api\";\r\n\r\n default:\r\n return this.urlOrigin+\"/api\";\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '../../../node_modules/@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n constructor(private router:Router ) { }\r\n sendToken(token: string) {\r\n localStorage.setItem(\"LoggedInUser\", token)\r\n }\r\n getToken() {\r\n return localStorage.getItem(\"LoggedInUser\")\r\n }\r\n isLoggednIn() {\r\n return this.getToken() !== null;\r\n }\r\n logout() {\r\n localStorage.removeItem(\"LoggedInUser\");\r\n this.router.navigate(['Login']);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { User } from '../../models/login/user';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { DebugElement } from '@angular/core/src/debug/debug_node';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { global } from '../../models/global';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginService {\r\n\r\n ROOT_URL: string = \"\";\r\n constructor(private http: Http) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n }\r\n\r\n authenticateUser(user: any): Observable {\r\n let _body = JSON.stringify(user.value);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Login/AuthenticateUserCMaster\",\r\n headers: headers,\r\n body: _body\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n }\r\n\r\n checkSession(): Promise {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization':'Bearer '+ localStorage.getItem('mabt_token'), 'UserID': localStorage.getItem('mabt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Login/UserCookieExists',\r\n headers: headers\r\n });\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n .toPromise();\r\n\r\n }\r\n\r\n profileDetails(userid: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Login/ProfileDetails?userid=\"+userid,\r\n headers: headers\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n}\r\n\r\nnotification(): Observable {\r\n let userId =localStorage.getItem('mabt_userId');\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Login/Notification?userId=\"+userId,\r\n headers: headers\r\n })\r\n \r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n\r\n}\r\n\r\nvalidateUser(userID: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Login/ISValidUsers?UserID='+userID,\r\n headers: headers\r\n })\r\n\r\n return this.http.request(new Request(requestoptions))\r\n .map((res: Response) => {\r\n return res;\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 { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":""}