{"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/additional-requirement/additional-requirement.component.css","webpack:///./src/app/Components/additional-requirement/additional-requirement.component.html","webpack:///./src/app/Components/additional-requirement/additional-requirement.component.ts","webpack:///./src/app/Components/annual-requirement-status-report/annual-requirement-status-report.component.css","webpack:///./src/app/Components/annual-requirement-status-report/annual-requirement-status-report.component.html","webpack:///./src/app/Components/annual-requirement-status-report/annual-requirement-status-report.component.ts","webpack:///./src/app/Components/annual-requirement/annual-requirement.component.css","webpack:///./src/app/Components/annual-requirement/annual-requirement.component.html","webpack:///./src/app/Components/annual-requirement/annual-requirement.component.ts","webpack:///./src/app/Components/approval-status-report/approval-status-report.component.css","webpack:///./src/app/Components/approval-status-report/approval-status-report.component.html","webpack:///./src/app/Components/approval-status-report/approval-status-report.component.ts","webpack:///./src/app/Components/artwork/artwork.component.css","webpack:///./src/app/Components/artwork/artwork.component.html","webpack:///./src/app/Components/artwork/artwork.component.ts","webpack:///./src/app/Components/artworks-specification/artworks-specification.component.css","webpack:///./src/app/Components/artworks-specification/artworks-specification.component.html","webpack:///./src/app/Components/artworks-specification/artworks-specification.component.ts","webpack:///./src/app/Components/brand-mapping/brand-mapping.component.css","webpack:///./src/app/Components/brand-mapping/brand-mapping.component.html","webpack:///./src/app/Components/brand-mapping/brand-mapping.component.ts","webpack:///./src/app/Components/bulk-upload/bulk-upload.component.css","webpack:///./src/app/Components/bulk-upload/bulk-upload.component.html","webpack:///./src/app/Components/bulk-upload/bulk-upload.component.ts","webpack:///./src/app/Components/final-requirement/final-requirement.component.css","webpack:///./src/app/Components/final-requirement/final-requirement.component.html","webpack:///./src/app/Components/final-requirement/final-requirement.component.ts","webpack:///./src/app/Components/home/home.component.css","webpack:///./src/app/Components/home/home.component.html","webpack:///./src/app/Components/home/home.component.ts","webpack:///./src/app/Components/inventory-management/inventory-management.component.css","webpack:///./src/app/Components/inventory-management/inventory-management.component.html","webpack:///./src/app/Components/inventory-management/inventory-management.component.ts","webpack:///./src/app/Components/job-specification/job-specification.component.css","webpack:///./src/app/Components/job-specification/job-specification.component.html","webpack:///./src/app/Components/job-specification/job-specification.component.ts","webpack:///./src/app/Components/jobnumber-cancellation/jobnumber-cancellation.component.css","webpack:///./src/app/Components/jobnumber-cancellation/jobnumber-cancellation.component.html","webpack:///./src/app/Components/jobnumber-cancellation/jobnumber-cancellation.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/material-allocation/material-allocation.component.css","webpack:///./src/app/Components/material-allocation/material-allocation.component.html","webpack:///./src/app/Components/material-allocation/material-allocation.component.ts","webpack:///./src/app/Components/material-dispatch/material-dispatch.component.css","webpack:///./src/app/Components/material-dispatch/material-dispatch.component.html","webpack:///./src/app/Components/material-dispatch/material-dispatch.component.ts","webpack:///./src/app/Components/po-status-update/po-status-update.component.css","webpack:///./src/app/Components/po-status-update/po-status-update.component.html","webpack:///./src/app/Components/po-status-update/po-status-update.component.ts","webpack:///./src/app/Components/product-configuration/product-configuration.component.css","webpack:///./src/app/Components/product-configuration/product-configuration.component.html","webpack:///./src/app/Components/product-configuration/product-configuration.component.ts","webpack:///./src/app/Components/production-packageing/production-packageing.component.css","webpack:///./src/app/Components/production-packageing/production-packageing.component.html","webpack:///./src/app/Components/production-packageing/production-packageing.component.ts","webpack:///./src/app/Components/production-printing/production-printing.component.css","webpack:///./src/app/Components/production-printing/production-printing.component.html","webpack:///./src/app/Components/production-printing/production-printing.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/state-mapping/ma-state-mapping.component.css","webpack:///./src/app/Components/state-mapping/ma-state-mapping.component.html","webpack:///./src/app/Components/state-mapping/ma-state-mapping.component.ts","webpack:///./src/app/Components/timeline-setting/timeline-setting.component.css","webpack:///./src/app/Components/timeline-setting/timeline-setting.component.html","webpack:///./src/app/Components/timeline-setting/timeline-setting.component.ts","webpack:///./src/app/Components/unit-price/unit-price.component.css","webpack:///./src/app/Components/unit-price/unit-price.component.html","webpack:///./src/app/Components/unit-price/unit-price.component.ts","webpack:///./src/app/Components/vendor-details/vendor-details.component.css","webpack:///./src/app/Components/vendor-details/vendor-details.component.html","webpack:///./src/app/Components/vendor-details/vendor-details.component.ts","webpack:///./src/app/Components/vendor-finalization/vendor-finalization.component.css","webpack:///./src/app/Components/vendor-finalization/vendor-finalization.component.html","webpack:///./src/app/Components/vendor-finalization/vendor-finalization.component.ts","webpack:///./src/app/Components/whstock-in/whstock-in.component.css","webpack:///./src/app/Components/whstock-in/whstock-in.component.html","webpack:///./src/app/Components/whstock-in/whstock-in.component.ts","webpack:///./src/app/Components/worker-address/worker-address.component.css","webpack:///./src/app/Components/worker-address/worker-address.component.html","webpack:///./src/app/Components/worker-address/worker-address.component.ts","webpack:///./src/app/Components/zmh-requirementapproval/zmh-requirementapproval.component.css","webpack:///./src/app/Components/zmh-requirementapproval/zmh-requirementapproval.component.html","webpack:///./src/app/Components/zmh-requirementapproval/zmh-requirementapproval.component.ts","webpack:///./src/app/Models/Admin/artworkspecification.ts","webpack:///./src/app/Models/Admin/production-approval.ts","webpack:///./src/app/Models/Admin/timeline-configuration.ts","webpack:///./src/app/Models/Admin/worker-address.ts","webpack:///./src/app/Models/AnnualRequirement/ExcelDocuments.ts","webpack:///./src/app/Models/BulkUpload/bulkDocument.ts","webpack:///./src/app/Models/Dashboard/DashboardFilters.ts","webpack:///./src/app/Models/InventoryManagement/filter.ts","webpack:///./src/app/Models/MCPlanningMaterial/mcplanningmaterial.ts","webpack:///./src/app/Models/Material-Dispatch/MaterialDispatch.ts","webpack:///./src/app/Models/MaterialAllocation/MaterialAllocation.ts","webpack:///./src/app/Models/Production/production.ts","webpack:///./src/app/Models/WHStockIn/whstockin.ts","webpack:///./src/app/Models/job-allocation-to-vendors/po-status-update.ts","webpack:///./src/app/Models/job-allocation-to-vendors/vendor-finalization.ts","webpack:///./src/app/Models/login/profile.ts","webpack:///./src/app/Services/Dashboard/dashboard.service.ts","webpack:///./src/app/Services/InventoryManagement/inventory.service.ts","webpack:///./src/app/Services/MCPlanningMaterial/MCPlanningMaterial.service.ts","webpack:///./src/app/Services/MCPlanningMaterial/mcplanningmaterial.service.ts","webpack:///./src/app/Services/admin-rights/artworks-specification.service.ts","webpack:///./src/app/Services/admin-rights/bm-brand.service.ts","webpack:///./src/app/Services/admin-rights/job-specification.service.ts","webpack:///./src/app/Services/admin-rights/ma-state-mapping.service.ts","webpack:///./src/app/Services/admin-rights/product-configuration.service.ts","webpack:///./src/app/Services/admin-rights/production-approval.service.ts","webpack:///./src/app/Services/admin-rights/timeline-configuration.service.ts","webpack:///./src/app/Services/admin-rights/unit-price.service.ts","webpack:///./src/app/Services/admin-rights/vendor-detail.service.ts","webpack:///./src/app/Services/admin-rights/worker-address.service.ts","webpack:///./src/app/Services/bulk-upload/bulk-upload.service.ts","webpack:///./src/app/Services/encryption-decryption/encryption-decryption.service.ts","webpack:///./src/app/Services/job-allocation-to-vendors/po-status-update.service.ts","webpack:///./src/app/Services/job-allocation-to-vendors/vendor-finalization.service.ts","webpack:///./src/app/Services/login/login.service.ts","webpack:///./src/app/Services/pager.service.ts","webpack:///./src/app/Services/reports/reports.service.ts","webpack:///./src/app/Services/session.service.ts","webpack:///./src/app/Services/whstock-in/whstockin.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/drag-drop.directive.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","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)","webpack:///zlib (ignored)","webpack:///fs (ignored)?b913","webpack:///http (ignored)","webpack:///https (ignored)","webpack:///url (ignored)"],"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 MC Material Tracking\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\\"img\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\\"img\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"img\\\"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
{{count}}
\\r\\n
\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n Clear All \\r\\n \\r\\n
    \\r\\n
  • \\r\\n {{reminder.notificationMessage}}\\r\\n
    \\r\\n x\\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 \\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\\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/session.service';\r\nimport { EncryptionDecryptionService } from 'src/app/Services/encryption-decryption/encryption-decryption.service';\r\nimport { DashboardService } from 'src/app/Services/Dashboard/dashboard.service';\r\nimport { Notify, UpdateNotification } from 'src/app/Models/login/profile';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector : 'app-layout',\r\n templateUrl : './HomeLayout.Component.html'\r\n\r\n})\r\nexport class HomeLayoutComponent implements OnInit {\r\n userName;\r\n RoleId : string;\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 session : SessionService, private router : Router, private route : ActivatedRoute,\r\n private snackBar : MatSnackBarComponent, private encryptionDecryptionService : EncryptionDecryptionService,\r\n private dashboardService : DashboardService, private loginService : LoginService,private toastr: ToastrService) {\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('mcmt_userName');\r\n this.RoleId = localStorage.getItem('mcmt_roleID');\r\n }\r\n\r\n ngOnInit() {\r\n this.loadScript();\r\n }\r\n\r\n public loadScript() {\r\n var isFound = false;\r\n var scripts = document.getElementsByTagName(\"script\")\r\n for (var i = 0; i < scripts.length; ++i) {\r\n if (scripts[i].getAttribute('src') != null && scripts[i].getAttribute('src').includes(\"loader\")) {\r\n isFound = true;\r\n }\r\n }\r\n if (!isFound) {\r\n var dynamicScripts = [\"assets/js/script.js\"];\r\n for (var i = 0; i < dynamicScripts.length; i++) {\r\n let node = document.createElement('script');\r\n node.src = dynamicScripts[i];\r\n node.type = 'text/javascript';\r\n node.async = false;\r\n node.charset = 'utf-8';\r\n document.getElementsByTagName('head')[0].appendChild(node);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n\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('mcmt_userId');\r\n var encodedUserid = btoa(userid);\r\n var encodePortal = btoa('MCMT');\r\n if (this.ROOT_URL.indexOf('mcmaterial.uat.fmcone.in') !== -1)\r\n var url = 'https://cmaster.uat.fmcone.in/ChangePassword?user=' + encodedUserid + '&portal=' + encodePortal;\r\n else\r\n var url = 'https://cmaster.fmcone.in/ChangePassword?user=' + encodedUserid + '&portal=' + encodePortal;\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n logout() {\r\n this.session.logout();\r\n }\r\n\r\n notification(){\r\n this.loginService.notification()\r\n .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.toastr.error(resData.msg);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getMenuList() {\r\n this.dashboardService.getMenuList()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\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 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 });\r\n Menulist.push(detail)\r\n });\r\n this.menuList = Menulist;\r\n } else {\r\n this.toastr.error(resData.message);\r\n }\r\n }\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 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 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 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 = \" \\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 { User } from '../../models/login/user';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { global } from '../../models/global';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\ndeclare var $:any;\r\n@Component({\r\n selector: 'app-login-layout',\r\n templateUrl: './LoginLayout.Component.html'\r\n})\r\nexport class LoginLayoutComponent {\r\n constructor(){\r\n\r\n }\r\n\r\n\r\n \r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Additional Requirement


\\r\\n

Requirement can be placed only for NO-RMH regions.

\\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
Job TypeBrandCropLanguageStateRequirement MonthQuantity
{{detail.jobType}}{{detail.brand}}{{detail.crop}}{{detail.language}}{{detail.state}}{{detail.requirementMonth}}{{ConvertToCurrency(detail.requestedQuantity)}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MCPlanningMaterialService } from 'src/app/Services/MCPlanningMaterial/MCPlanningMaterial.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { Documents } from '../../Models/AnnualRequirement/ExcelDocuments';\r\nimport { ViewChild } from '@angular/core';\r\nimport { FinalRequirementFilters } from 'src/app/Models/MCPlanningMaterial/mcplanningmaterial';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-additional-requirement',\r\n templateUrl: './additional-requirement.component.html',\r\n styleUrls: ['./additional-requirement.component.css'],\r\n providers: [PagerService, DatePipe]\r\n})\r\nexport class AdditionalRequirementComponent implements OnInit {\r\n\r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService, private snackBar: MatSnackBarComponent,\r\n private _pagerService: PagerService, private datepipe: DatePipe, private router: Router,private toastr: ToastrService,) {\r\n\r\n }\r\n\r\n\r\n loader: string = 'none';\r\n files: File[] = [];\r\n fileName: string = '';\r\n document: Documents = new Documents();\r\n fileToUpload: File = null;\r\n details: any;\r\n pageSetting: number = 10;\r\n pager: any = {};\r\n model: any[];\r\n valid: any;\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n userName: string;\r\n date = new Date();\r\n currentDate: string;\r\n isFileCorrect: boolean;\r\n roleID: string;\r\n selectedMonth: any = '';\r\n selectedJobType: any = '';\r\n selectedBrand: any = '';\r\n selectedCrop: any = '';\r\n selectedstate: any = '';\r\n selectedyear: any = '';\r\n accessdata:string='';// add by deepanshu 4 june 2023\r\n\r\n @ViewChild('file') input;\r\n @ViewChild('brand') brand;\r\n @ViewChild('crop') crop;\r\n @ViewChild('jobtype') jobtype;\r\n @ViewChild('month') month;\r\n @ViewChild('state') state;\r\n @ViewChild('year') year;\r\n\r\n public brandSettings = {};\r\n public cropSettings = {};\r\n public jobTypeSettings = {};\r\n public monthSettings = {};\r\n public stateSettings = {};\r\n public yearSettings = {};\r\n monthDropdown = [];\r\n\r\n additionalRequirementFilters: FinalRequirementFilters = new FinalRequirementFilters();\r\n dropdownList = [\r\n { item_id: '1', item_text: 'Jan' },\r\n { item_id: '2', item_text: 'Feb' },\r\n { item_id: '3', item_text: 'Mar' },\r\n { item_id: '4', item_text: 'Apr' },\r\n { item_id: '5', item_text: 'May' },\r\n { item_id: '6', item_text: 'Jun' },\r\n { item_id: '7', item_text: 'Jul' },\r\n { item_id: '8', item_text: 'Aug' },\r\n { item_id: '9', item_text: 'Sep' },\r\n { item_id: '10', item_text: 'Oct' },\r\n { item_id: '11', item_text: 'Nov' },\r\n { item_id: '12', item_text: 'Dec' }\r\n ];\r\n ascNumberSort: boolean = true;\r\n sortDirection: string = '';\r\n\r\n ngOnInit(): void {\r\n this.getAdditionalRequirementFilters();\r\n this.mcPlanningMaterialService.GetAdditionalRequirementDetail('', '', '', '','','')\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.snackBar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.details = resData.data;\r\n this.model = resData.data;\r\n this.ascNumberSort = true;\r\n this.sortDirection = '';\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n // this.setPage(1,this.pageSetting)\r\n this.loader = 'none';\r\n } else {\r\n this.toastr.error(resData.message);\r\n //this.snackBar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n });\r\n\r\n //this.getAdditionalRequirementDetails();\r\n this.selectedPaging = '0';\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.monthDropdown = [\r\n { \"id\": 1, \"itemName\": \"January\" },\r\n { \"id\": 2, \"itemName\": \"February\" },\r\n { \"id\": 3, \"itemName\": \"March\" },\r\n { \"id\": 4, \"itemName\": \"April\" },\r\n { \"id\": 5, \"itemName\": \"May\" },\r\n { \"id\": 6, \"itemName\": \"June\" },\r\n { \"id\": 7, \"itemName\": \"July\" },\r\n { \"id\": 8, \"itemName\": \"August\" },\r\n { \"id\": 9, \"itemName\": \"September\" },\r\n { \"id\": 10, \"itemName\": \"October\" },\r\n { \"id\": 11, \"itemName\": \"November\" },\r\n { \"id\": 12, \"itemName\": \"December\" }\r\n ];\r\n this.brandSetting();\r\n this.cropSetting();\r\n this.jobTypeSetting();\r\n this.monthSetting();\r\n this.stateSetting();\r\n this.yearSetting();\r\n }\r\n\r\n download() {\r\n //if (this.roleID == '39' || this.roleID == '44' || this.roleID == '43') {\r\n if (this.roleID == '39' || this.roleID == '44' || this.roleID == '43' || this.roleID == '77' || this.roleID == '47' || this.roleID == '28') {\r\n if (this.state.selectedItems == '') {\r\n this.toastr.error(\"Please Select Region\");\r\n //this.snackBar.openSnackBar(\"Please Select Region\", 'Close', 'red-snackbar');\r\n return;\r\n }\r\n }\r\n this.loader = 'block';\r\n this.loader = 'block';\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedMonth = '';\r\n let selectedState = '';\r\n let selectedYear = '';\r\n this.loader = 'block';\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedMonth = Array.prototype.map.call(this.month.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if ((this.roleID != '42') && (this.roleID != '76')) {\r\n selectedState = Array.prototype.map.call(this.state.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n selectedState = '';\r\n }\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.mcPlanningMaterialService.downloadAdditionalRequirementExcel(selectedBrand, selectedMonth, selectedCrop, selectedJobtype, selectedState,selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n debugger;\r\n let latest_date = this.datepipe.transform(date, 'dd-MMM-yy')\r\n let name = localStorage.getItem('mcmt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n //let roleId=localStorage.getItem('mcmt_roleID');\r\n let cYear = this.year.selectedItems[0].id;\r\n let excelName = firstname + '_' + lastName + '_'+ cYear + '_AdditionalRequirement_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n\r\n this.loader = 'none';\r\n },\r\n err => {\r\n if (this.roleID == '42'|| this.roleID == '76') {\r\n this.toastr.error(\"No Data Available.\");\r\n //this.snackBar.openSnackBar(\"No Data Available.\", 'Close', 'red-snackbar');\r\n }\r\n else {\r\n this.toastr.error(\"No Data Available.Select Region filter to download NO-RMH or No-ZMH or No-DMH Excel\");\r\n //this.snackBar.openSnackBar(\"No Data Available.Select Region filter to download NO-RMH or No-ZMH or No-DMH Excel\", 'Close', 'red-snackbar');\r\n }\r\n this.loader = 'none';\r\n console.log(err);\r\n }\r\n );\r\n }\r\n getAdditionalRequirementDetails() {\r\n this.loader = 'block';\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedMonth = '';\r\n let selectedYear = '';\r\n let selectedState = '';\r\n this.loader = 'block';\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedMonth = Array.prototype.map.call(this.month.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (this.roleID != '42' && this.roleID != '76') {\r\n selectedState = Array.prototype.map.call(this.state.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n selectedState = '';\r\n }\r\n this.mcPlanningMaterialService.GetAdditionalRequirementDetail(selectedJobtype, selectedBrand, selectedCrop,\r\n selectedMonth,selectedYear,selectedState)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.snackBar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.details = resData.data;\r\n this.model = resData.data;\r\n //this.setPage(1,this.pageSetting)\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 }\r\n downloadLink(fileName: string): void {\r\n let url: string = '/Templates/' + fileName;\r\n this.mcPlanningMaterialService.downloadFile(fileName, url);\r\n }\r\n\r\n getAdditionalRequirementFilters() {\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.getAdditionalRequirementFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n this.additionalRequirementFilters = resData.data;\r\n this.accessdata=resData.data.access[0].access; //add by deepanshu 4 june\r\n //alert(this.accessdata);//add by deepanshu 4 june\r\n this.onCurrentRequirementYearSelected(this.additionalRequirementFilters.year)\r\n this.loader = 'none';\r\n }\r\n else {\r\n //this.snackBar.openSnackBar(resData.msg, 'Close', 'red-snackbar');\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n public onCurrentRequirementYearSelected(item: any) {\r\n class YearItemList{\r\n id: number;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : (new Date()).getFullYear(),\r\n text: (new Date()).getFullYear().toString()\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem\r\n this.yearSetting();\r\n }\r\n\r\n onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n \r\n if(selectedyear != (new Date()).getFullYear().toString())\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className += \"hideuploadExcel\";\r\n }\r\n else\r\n {\r\n document.getElementById(\"ancUploadExcel\").classList.remove(\"hideuploadExcel\");\r\n }\r\n }\r\n\r\n\r\n filter() {\r\n this.getAdditionalRequirementDetails();\r\n }\r\n\r\n filesDroppedAdd(files: File[]) {\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 name =localStorage.getItem('mcmt_userName').split(' ');\r\n // let firstname=name[0];\r\n // let lastName=name[1];\r\n // let correctFileName=firstname+'_'+lastName+'_AdditionalRequirement_'\r\n\r\n // if(fileNameParts[0].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 // {\r\n // this.snackBar.openSnackBar('Please Select Valid File.','Close','red-snackbar');\r\n // this.input.nativeElement.value = null;\r\n // this.loader = 'none';\r\n // return false;\r\n\r\n // }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error('Please Select Valid File Type.');\r\n //this.snackBar.openSnackBar('Please Select Valid File Type.', 'Close', 'red-snackbar');\r\n this.input.nativeElement.value = null;\r\n this.loader = 'none';\r\n return false;\r\n\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.mcPlanningMaterialService.uploadAdditionalRequirement(this.document.file)\r\n \r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n //this.snackBar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n // this.getAdditionalRequirementDetails();\r\n\r\n this.getAdditionalRequirementDetails();\r\n } else {\r\n this.toastr.error(resData.message);\r\n //this.snackBar.openSnackBar(resData.message, 'Close', 'red-snackbar');\r\n\r\n this.getAdditionalRequirementDetails();\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 getbrandWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedBrand = '';\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.mcPlanningMaterialService.getdataonbrandselection(selectedBrand, '', '')\r\n .subscribe((response) => {\r\n if (response.status) {\r\n\r\n\r\n this.brand.selectedItems = response.data.brands.map(item => { return { id: item.brandID, text: item.brandName } });\r\n this.crop.selectedItems = response.data.crops.map(item => { return { id: item.cropID, text: item.cropName } });\r\n this.jobtype.selectedItems = response.data.jobTypes.map(item => { return { id: item.jobTypeID, text: item.jobTypeName } });\r\n this.loader = 'none';\r\n }\r\n\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n brandSetting() {\r\n this.brandSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Brand Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n cropSetting() {\r\n this.cropSettings = {\r\n singleSelection: false,\r\n idField: 'cropID',\r\n textField: 'cropName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Crop Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n jobTypeSetting() {\r\n this.jobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No JobType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n monthSetting() {\r\n this.monthSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'itemName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Month Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n stateSetting() {\r\n this.stateSettings = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Region Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n }; \r\n }\r\n yearSetting() {\r\n this.yearSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n onbrandSelectAll(item: any) {\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandSelect(item: any) {\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandDeSelect(item: any) {\r\n if (this.brand.selectedItems < 1) {\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n }\r\n else\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandDeSelectAll(item: any) {\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.brand.selectedItems = [];\r\n }\r\n sort() {\r\n let sortedArray: any[] = [];\r\n let splitString: any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownList.forEach(x => {\r\n this.details.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.details = sortedArray;\r\n }\r\n else {\r\n this.dropdownList.forEach(x => {\r\n this.details.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.details = sortedArray.reverse();\r\n }\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n let parts = Intl.NumberFormat('en-IN');\r\n return parts.format(parseInt(value.replace(',','')));\r\n }\r\n}\r\n\r\n\r\n\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Report

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ReportsService } from 'src/app/Services/reports/reports.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { DashboardService } from 'src/app/Services/Dashboard/dashboard.service';\r\nimport { DropDownResponse,DashboardFilters, Year} from 'src/app/Models/Dashboard/DashboardFilters';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-annual-requirement-status-report',\r\n templateUrl: './annual-requirement-status-report.component.html',\r\n styleUrls: ['./annual-requirement-status-report.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class AnnualRequirementStatusReportComponent implements OnInit {\r\n loader: string = 'none';\r\n roleID: string;\r\n selectedYear: any[] = [];\r\n @ViewChild('year') year;\r\n yearSettings: IDropdownSettings = {};\r\n selectedRequirementYear: any = '';\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n \r\n constructor(private dashboardService: DashboardService,\r\n private reportsService:ReportsService,private snackBar:MatSnackBarComponent, \r\n private router: Router, private datepipe: DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID'); }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getDashboardFiltersOnPageLoad();\r\n this.YearSettings();\r\n }\r\n\r\n getDashboardFiltersOnPageLoad() {\r\n debugger;\r\n this.loader = 'block';\r\n this.dashboardService.dashboardFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.ddlResponse = resData.data;\r\n class YearItemList{\r\n id: any;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : this.ddlResponse.requirementYear[this.ddlResponse.requirementYear.length - 1].year,\r\n text: this.ddlResponse.requirementYear[this.ddlResponse.requirementYear.length - 1].year\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem;\r\n //let cYear=requiredItem;\r\n this.loader = 'none';\r\n //this.onCurrentYearSelected(this.ddlResponse.year)\r\n }\r\n \r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n YearSettings(){\r\n this.yearSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n downloadAnnualStatusReport() {\r\n this.loader = 'block';\r\n let selectedYear = '';\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.reportsService.getAnnualStatusReport(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('mcmt_userName').split(' ');\r\n let firstname=name[0];\r\n let lastName=name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n let excelName=firstname+'_'+lastName + '_'+ cYear +'_AnnualStatusReport_'+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 record/s available\");\r\n //this.snackBar.openSnackBar(\"No record/s available\", 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n //Download Approval Status Report in Excel\r\n downloadApprovalStatusReport() {\r\n this.loader = 'block';\r\n let selectedYear = '';\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.reportsService.getApprovalStatusReport(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('mcmt_userName').split(' ');\r\n let firstname=name[0];\r\n let lastName=name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n let excelName=firstname+'_'+lastName+ '_'+ cYear +'_ApprovalStatusReport_'+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 record/s available\");\r\n //this.snackBar.openSnackBar(\"No record/s available\", 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n //Download Consolidated Requirement Report in Excel\r\n downloadConsolidatedRequirementReport() {\r\n this.loader = 'block';\r\n let selectedYear = '';\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.reportsService.getConsolidatedRequirementReport(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('mcmt_userName').split(' ');\r\n let firstname=name[0];\r\n let lastName=name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n let excelName=firstname+'_'+lastName+ '_'+ cYear +'_ConsolidatedRequirementReport_'+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 record/s available\");\r\n //this.snackBar.openSnackBar(\"No record/s available\", 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Annual Requirement


\\r\\n

Requirement can be placed only for NO-RMH regions.

\\r\\n
\\r\\n \\r\\n Upload\\r\\n Excel\\r\\n \\r\\n Download Excel\\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
Job TypeBrandCropLanguageStateRequirement MonthQuantity
{{detail.jobType}}{{detail.brand}}{{detail.crop}}{{detail.language}}{{detail.state}}{{detail.requirementMonth}}{{ConvertToCurrency(detail.requestedQuantity)}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { SessionService } from '../../Services/session.service';\r\nimport { EncryptionDecryptionService } from '../../../app/Services/encryption-decryption/encryption-decryption.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { saveAs } from 'file-saver';\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material\";\r\nimport { Documents } from '../../Models/AnnualRequirement/ExcelDocuments';\r\nimport { MCPlanningMaterialService } from '../../../app/Services/MCPlanningMaterial/mcplanningmaterial.service'// 'src/app/Services/MCPlanningMaterial/MCPlanningMaterial.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { from } from 'rxjs';\r\nimport { PagerService } from '../../../app/Services/pager.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ViewChild } from '@angular/core';\r\nimport { FinalRequirementFilters } from '../../../app/Models/MCPlanningMaterial/mcplanningmaterial';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-annual-requirement',\r\n templateUrl: './annual-requirement.component.html',\r\n styleUrls: ['./annual-requirement.component.css'],\r\n providers: [PagerService, DatePipe]\r\n})\r\n\r\nexport class AnnualRequirementComponent implements OnInit {\r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService, private snackBar: MatSnackBarComponent,\r\n private _pagerService: PagerService, private datepipe: DatePipe, private router: Router, private toastr: ToastrService) {\r\n\r\n }\r\n\r\n\r\n @ViewChild('brand') brand;\r\n @ViewChild('crop') crop;\r\n @ViewChild('jobtype') jobtype;\r\n @ViewChild('month') month;\r\n @ViewChild('state') state;\r\n @ViewChild('year') year;\r\n\r\n public brandSettings = {};\r\n public cropSettings = {};\r\n public jobTypeSettings = {};\r\n public monthSettings = {};\r\n public stateSettings = {};\r\n public yearSettings = {};\r\n dropdownList = [\r\n { item_id: '1', item_text: 'Jan' },\r\n { item_id: '2', item_text: 'Feb' },\r\n { item_id: '3', item_text: 'Mar' },\r\n { item_id: '4', item_text: 'Apr' },\r\n { item_id: '5', item_text: 'May' },\r\n { item_id: '6', item_text: 'Jun' },\r\n { item_id: '7', item_text: 'Jul' },\r\n { item_id: '8', item_text: 'Aug' },\r\n { item_id: '9', item_text: 'Sep' },\r\n { item_id: '10', item_text: 'Oct' },\r\n { item_id: '11', item_text: 'Nov' },\r\n { item_id: '12', item_text: 'Dec' }\r\n ];\r\n loader: string = 'none';\r\n files: File[] = [];\r\n roleID: string;\r\n fileName: string = '';\r\n document: Documents = new Documents();\r\n fileToUpload: File = null;\r\n details: any;\r\n pageSetting: number = 10;\r\n pager: any = {};\r\n model: any[];\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n annualRequirementFilters: FinalRequirementFilters = new FinalRequirementFilters();\r\n selectedPaging: any;\r\n userName: string;\r\n date = new Date();\r\n currentDate: string;\r\n isFileCorrect: boolean;\r\n @ViewChild('file') input;\r\n private _file: File;\r\n selectedMonth: any = '';\r\n selectedJobType: any = '';\r\n selectedBrand: any = '';\r\n selectedCrop: any = '';\r\n selectedstate: any = '';\r\n selectedyear: any = '';\r\n accessdata:string='';// add by deepanshu 1 june 2023\r\n \r\n monthDropdown = [];\r\n ascNumberSort: boolean = true;\r\n sortDirection: string = '';\r\n\r\n ngOnInit(): void {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getAnnualRequirementFilters();\r\n //this.getAnnualRequirementDetails();\r\n this.mcPlanningMaterialService.getAnnualRequirementDetail('', '', '', '','')\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.details = resData.data;\r\n this.model = resData.data;\r\n // this.setPage(1, this.pageSetting)\r\n this.ascNumberSort = true;\r\n this.sortDirection = '';\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.selectedPaging = '0';\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.monthDropdown = [\r\n { \"id\": 1, \"itemName\": \"January\" },\r\n { \"id\": 2, \"itemName\": \"February\" },\r\n { \"id\": 3, \"itemName\": \"March\" },\r\n { \"id\": 4, \"itemName\": \"April\" },\r\n { \"id\": 5, \"itemName\": \"May\" },\r\n { \"id\": 6, \"itemName\": \"June\" },\r\n { \"id\": 7, \"itemName\": \"July\" },\r\n { \"id\": 8, \"itemName\": \"August\" },\r\n { \"id\": 9, \"itemName\": \"September\" },\r\n { \"id\": 10, \"itemName\": \"October\" },\r\n { \"id\": 11, \"itemName\": \"November\" },\r\n { \"id\": 12, \"itemName\": \"December\" }\r\n ];\r\n \r\n this.brandSetting();\r\n this.cropSetting();\r\n this.jobTypeSetting();\r\n this.monthSetting();\r\n this.stateSetting();\r\n this.yearSetting();\r\n }\r\n\r\n\r\n download() {\r\n if(this.roleID=='39'||this.roleID=='44'||this.roleID=='43'|| this.roleID=='77')\r\n {\r\n if(this.state.selectedItems=='')\r\n {\r\n //this.snackBar.openSnackBar(\"Please Select Region\",'Close','red-snackbar');\r\n this.toastr.error(\"Please Select Region\");\r\n return;\r\n }\r\n }\r\n this.loader = 'block';\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedMonth = '';\r\n let selectedState = '';\r\n let selectedYear = '';\r\n this.loader = 'block';\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedMonth = Array.prototype.map.call(this.month.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if(this.roleID!='42' && this.roleID!='76')\r\n {\r\n selectedState = Array.prototype.map.call(this.state.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else{\r\n selectedState='';\r\n }\r\n this.mcPlanningMaterialService.downloadAnnualRequirementExcel(selectedBrand,selectedMonth,selectedCrop,selectedJobtype,selectedState,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('mcmt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n //let roleId=localStorage.getItem('mcmt_roleID');\r\n let cYear = this.year.selectedItems[0].id;\r\n let excelName = firstname + '_' + lastName + '_'+ cYear + '_AnnualRequirement_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none';\r\n },\r\n err => {\r\n if(this.roleID=='42' || this.roleID=='76'){\r\n //this.snackBar.openSnackBar(\"No Data Available.\",'Close','red-snackbar');\r\n this.toastr.error(\"No Data Available.\");\r\n }\r\n else{\r\n this.toastr.error(\"No Data Available.Select Region filter to download NO-RMH or No-ZMH or No-DMH Excel\");\r\n //this.snackBar.openSnackBar(\"No Data Available.Select Region filter to download NO-RMH or No-ZMH or No-DMH Excel\",'Close','red-snackbar');\r\n }\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n downloadLink(fileName: string): void {\r\n let url: string = '/Templates/' + fileName;\r\n this.mcPlanningMaterialService.downloadFile(fileName, url);\r\n }\r\n\r\n getAnnualRequirementDetails() {\r\n debugger;\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedMonth = '';\r\n let selectedYear = '';\r\n this.loader = 'block';\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedMonth = Array.prototype.map.call(this.month.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n this.mcPlanningMaterialService.getAnnualRequirementDetail(selectedJobtype, selectedBrand, selectedCrop,\r\n selectedMonth,selectedYear)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n \r\n this.details = resData.data;\r\n \r\n debugger;\r\n this.model = resData.data;\r\n //this.setPage(1, this.pageSetting)\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 }\r\n\r\n getAnnualRequirementFilters() {\r\n\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.getAnnualRequirementFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n \r\n \r\n this.annualRequirementFilters = resData.data;\r\n this.accessdata=resData.data.access[0].access \r\n // alert(this.accessdata);\r\n this.onCurrentRequirementYearSelected(this.annualRequirementFilters.year)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n //this.snackBar.openSnackBar(resData.msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n public onCurrentRequirementYearSelected(item: any) {\r\n class YearItemList{\r\n id: number;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : item[0].currentrequirementYear,\r\n text: item[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem\r\n this.yearSetting();\r\n }\r\n\r\n\r\n filter() {\r\n this.getAnnualRequirementDetails();\r\n }\r\n\r\n filesDroppedAdd(files: File[]) {\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 name = localStorage.getItem('mcmt_userName').split(' ');\r\n // let firstname = name[0];\r\n // let lastName = name[1];\r\n //let correctFileName = firstname + '_' + lastName + '_AnnualRequirement_'\r\n //if (fileNameParts[0].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.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.toastr.error('Please select valid file type.');\r\n //this.snackBar.openSnackBar('Please select valid file type.', 'Close', 'red-snackbar');\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.mcPlanningMaterialService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n //this.snackBar.openSnackBar(resData.message, 'Close', 'green-snackbar');\r\n this.getAnnualRequirementDetails();\r\n //this.loader = 'none';\r\n this.getAnnualRequirementDetails();\r\n } else {\r\n this.toastr.error(resData.message);\r\n //this.snackBar.openSnackBar(resData.message, 'Close', 'red-snackbar');\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 getbrandWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedBrand = '';\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.mcPlanningMaterialService.getdataonbrandselection(selectedBrand, '', '')\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.brand.selectedItems = response.data.brands.map(item => { return { id: item.brandID, text: item.brandName } });\r\n this.crop.selectedItems = response.data.crops.map(item => { return { id: item.cropID, text: item.cropName } });\r\n this.jobtype.selectedItems = response.data.jobTypes.map(item => { return { id: item.jobTypeID, text: item.jobTypeName } });\r\n this.loader = 'none';\r\n\r\n }\r\n\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n brandSetting() {\r\n this.brandSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Brand Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n cropSetting() {\r\n this.cropSettings = {\r\n singleSelection: false,\r\n idField: 'cropID',\r\n textField: 'cropName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Crop Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n jobTypeSetting() {\r\n this.jobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No JobType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n monthSetting() {\r\n this.monthSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'itemName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Month Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n stateSetting() {\r\n this.stateSettings = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Region Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n yearSetting() {\r\n this.yearSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n onbrandSelectAll(item: any) {\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandSelect(item: any) {\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n \r\n if(selectedyear != this.annualRequirementFilters.year[0].currentrequirementYear)\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className += \"hideuploadExcel\";\r\n }\r\n else\r\n {\r\n document.getElementById(\"ancUploadExcel\").classList.remove(\"hideuploadExcel\");\r\n }\r\n }\r\n \r\n onbrandDeSelect(item: any) {\r\n if (this.brand.selectedItems < 1) {\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n }\r\n else\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandDeSelectAll(item: any) {\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.brand.selectedItems = [];\r\n }\r\n sort() {\r\n let sortedArray : any[] = [];\r\n let splitString : any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownList.forEach(x => {\r\n this.details.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.details = sortedArray;\r\n }\r\n else {\r\n this.dropdownList.forEach(x => {\r\n this.details.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.details = sortedArray.reverse();\r\n }\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n let parts = Intl.NumberFormat('en-IN');\r\n return parts.format(parseInt(value.replace(',','')));\r\n }\r\n}\r\n // Start :For Pagination\r\n // setPage(page: number, pageSize: number) {\r\n // // get pager object from service\r\n // if (this.modalSetting == 0) {\r\n // this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n // this.details = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n // }\r\n // else {\r\n // if (this.modalSetting == 1) {\r\n // this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n // this.details = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n // }\r\n // else {\r\n // this.pager = this._pagerService.getPager(this.modelDepandent.length, page, pageSize);\r\n // this.details = this.modelDepandent.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n // }\r\n // }\r\n // // get current page of items\r\n // }\r\n\r\n\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Approval Status Report

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ReportsService } from '../../Services/reports/reports.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-approval-status-report',\r\n templateUrl: './approval-status-report.component.html',\r\n styleUrls: ['./approval-status-report.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ApprovalStatusReportComponent implements OnInit {\r\n loader: string = 'none';\r\n constructor(private reportsService:ReportsService,private snackBar:MatSnackBarComponent, private router: Router, private datepipe: DatePipe,private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n }\r\n\r\n downloadApprovalStatusReport() {\r\n this.loader = 'block';\r\n this.reportsService.getApprovalStatusReport('')\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('mcmt_userName').split(' ');\r\n let firstname=name[0];\r\n let lastName=name[1];\r\n let excelName=firstname+'_'+lastName + '_ApprovalStatusReport_'+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 record/s available\");\r\n //this.snackBar.openSnackBar(\"No record/s available\", 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Artwork Approval

\\r\\n
\\r\\n Upload Excel\\r\\n Download Excel\\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
Select AllJob NumberRMH NameJob TypeCropBrandLanguageStateRequirement MonthRequested QtyAvailable QtyFinal QtyPO Approved QtyProduction Approval Status
{{detail.jobNumber}}{{detail.rmhName}}{{detail.jobType}}{{detail.crop}}{{detail.brand}}{{detail.language}}{{detail.state}}{{detail.requirementMonth}}{{ConvertToCurrency(detail.requestQuantity)}}{{ConvertToCurrency(detail.availableQuantity)}}{{ConvertToCurrency(detail.finalQuantity)}}{{ConvertToCurrency(detail.poApprovedQty)}}{{detail.status}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { ProductionApprovalFilters, ProductionApprovalDetails, updateStatus } from 'src/app/Models/Admin/production-approval';\r\nimport { ProductionApprovalService } from 'src/app/Services/admin-rights/production-approval.service';\r\nimport { element } from 'protractor';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-artwork',\r\n templateUrl: './artwork.component.html',\r\n styleUrls: ['./artwork.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ArtworkComponent implements OnInit {\r\n loader: string = '';\r\n artworkFilters: ProductionApprovalFilters = new ProductionApprovalFilters();\r\n artworkDetails: ProductionApprovalDetails[] = [];\r\n mainArtworkDetails: ProductionApprovalDetails[] = [];\r\n selectedJobNumber: any;\r\n selectedRMHName: any;\r\n selectedJobType: any;\r\n selected: any = 0;\r\n @ViewChild('file') input;\r\n selectedBrand: any;\r\n selectedCrop: any;\r\n selectedLanguage: any;\r\n selectedStatus: any;\r\n selectedMonth: any;\r\n files: File[] = [];\r\n fileName: string = '';\r\n selectedPaging: any;\r\n selectedState: any;\r\n sortDirection: string = '';\r\n ascNumberSort: boolean = true;\r\n dropdownList = [\r\n { item_id: '1', item_text: 'Jan' },\r\n { item_id: '2', item_text: 'Feb' },\r\n { item_id: '3', item_text: 'Mar' },\r\n { item_id: '4', item_text: 'Apr' },\r\n { item_id: '5', item_text: 'May' },\r\n { item_id: '6', item_text: 'Jun' },\r\n { item_id: '7', item_text: 'Jul' },\r\n { item_id: '8', item_text: 'Aug' },\r\n { item_id: '9', item_text: 'Sep' },\r\n { item_id: '10', item_text: 'Oct' },\r\n { item_id: '11', item_text: 'Nov' },\r\n { item_id: '12', item_text: 'Dec' }\r\n ];\r\n dropdownSettings1: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'jobNumberID',\r\n textField: 'jobNumberName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings2: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings3: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings4: IDropdownSettings = {\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 };\r\n dropdownSettings5: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings6: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings7: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings8: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings9: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'requirementStatusID',\r\n textField: 'requirementStatusName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n\r\n constructor(private snackBar: MatSnackBarComponent, private _pagerService: PagerService, private datepipe: DatePipe,\r\n private router: Router, private productionApprovalService: ProductionApprovalService,private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.artworkProductionFilters();\r\n this.artworkProductionDetails();\r\n }\r\n\r\n artworkProductionFilters() {\r\n this.loader = 'block';\r\n this.productionApprovalService.artworkProductionFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.artworkFilters = resData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n //this.snackBar.openSnackBar(resData.msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n artworkProductionDetails() {\r\n this.loader = 'block'; \r\n this.selectedJobNumber = undefined;\r\n this.selectedRMHName = undefined;\r\n this.selectedJobType = undefined;\r\n this.selectedBrand = undefined;\r\n this.selectedCrop = undefined;\r\n this.selectedLanguage = undefined;\r\n this.selectedStatus = undefined;\r\n this.selectedMonth = undefined;\r\n this.selectedState = undefined;\r\n this.productionApprovalService.artworkProductionDetails(this.selectedJobNumber, this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop,\r\n this.selectedLanguage, this.selectedStatus, this.selectedMonth, this.selectedState)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.artworkDetails = resdata.data;\r\n this.mainArtworkDetails = resdata.data\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n //this.snackBar.openSnackBar(resdata.msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n let selectJobNo: any[] = this.selectedJobNumber;\r\n let selectRmh: any[] = this.selectedRMHName;\r\n let selectJob: any[] = this.selectedJobType;\r\n let selectBrand: any[] = this.selectedBrand;\r\n let selectCrop: any[] = this.selectedCrop;\r\n let selectLanguage: any[] = this.selectedLanguage;\r\n let selectStatus: any[] = this.selectedStatus;\r\n let selectMonth: any[] = this.selectedMonth;\r\n let selectState: any[] = this.selectedState;\r\n let customJobNo: string = \"\";\r\n let customVendor: string = \"\";\r\n let customRmh: string = \"\";\r\n let customJob: string = \"\";\r\n let customBrand: string = \"\";\r\n let customCrop: string = \"\";\r\n let customLanguage: string = \"\";\r\n let customStatus: string = \"\";\r\n let customMonth: string = \"\";\r\n let customState: string = \"\";\r\n if (selectJobNo != undefined) {\r\n selectJobNo.forEach(x => {\r\n if (x.length == 0) {\r\n customJobNo = \"\";\r\n }\r\n else {\r\n if (customJobNo == \"\") {\r\n customJobNo = x.jobNumberName;\r\n }\r\n else {\r\n customJobNo = customJobNo.concat(\",\");\r\n customJobNo = customJobNo.concat(x.jobNumberName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectRmh != undefined) {\r\n selectRmh.forEach(x => {\r\n if (x.length == 0) {\r\n customRmh = \"\";\r\n }\r\n else {\r\n if (customRmh == \"\") {\r\n customRmh = x.rMHCode;\r\n }\r\n else {\r\n customRmh = customRmh.concat(\",\");\r\n customRmh = customRmh.concat(x.rMHCode);\r\n }\r\n }\r\n })\r\n }\r\n if (selectJob != undefined) {\r\n selectJob.forEach(x => {\r\n if (x.length == 0) {\r\n customJob = \"\";\r\n }\r\n else {\r\n if (customJob == \"\") {\r\n customJob = x.jobTypeName;\r\n }\r\n else {\r\n customJob = customJob.concat(\",\");\r\n customJob = customJob.concat(x.jobTypeName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectBrand != undefined) {\r\n selectBrand.forEach(x => {\r\n if (x.length == 0) {\r\n customBrand = \"\";\r\n }\r\n else {\r\n if (customBrand == \"\") {\r\n customBrand = x.brandName;\r\n }\r\n else {\r\n customBrand = customBrand.concat(\",\");\r\n customBrand = customBrand.concat(x.brandName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectCrop != undefined) {\r\n selectCrop.forEach(x => {\r\n if (x.length == 0) {\r\n customCrop = \"\";\r\n }\r\n else {\r\n if (customCrop == \"\") {\r\n customCrop = x.cropName;\r\n }\r\n else {\r\n customCrop = customCrop.concat(\",\");\r\n customCrop = customCrop.concat(x.cropName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectLanguage != undefined) {\r\n selectLanguage.forEach(x => {\r\n if (x.length == 0) {\r\n customLanguage = \"\";\r\n }\r\n else {\r\n if (customLanguage == \"\") {\r\n customLanguage = x.languageName;\r\n }\r\n else {\r\n customLanguage = customLanguage.concat(\",\");\r\n customLanguage = customLanguage.concat(x.languageName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectStatus != undefined) {\r\n selectStatus.forEach(x => {\r\n if (x.length == 0) {\r\n customStatus = \"\";\r\n }\r\n else {\r\n if (customStatus == \"\") {\r\n customStatus = x.requirementStatusID.toString();\r\n }\r\n else {\r\n customStatus = customStatus.concat(\",\");\r\n customStatus = customStatus.concat(x.requirementStatusID.toString());\r\n }\r\n }\r\n })\r\n }\r\n if (selectMonth != undefined) {\r\n selectMonth.forEach(x => {\r\n if (x.length == 0) {\r\n customMonth = \"\";\r\n }\r\n else {\r\n if (customMonth == \"\") {\r\n customMonth = x.item_id;\r\n }\r\n else {\r\n customMonth = customMonth.concat(\",\");\r\n customMonth = customMonth.concat(x.item_id);\r\n }\r\n }\r\n })\r\n }\r\n if (selectState != undefined) {\r\n selectState.forEach(x => {\r\n if (x.length == 0) {\r\n customState = \"\";\r\n }\r\n else {\r\n if (customState == \"\") {\r\n customState = x.stateName;\r\n }\r\n else {\r\n customState = customState.concat(\",\");\r\n customState = customState.concat(x.stateName);\r\n }\r\n }\r\n })\r\n }\r\n this.productionApprovalService.downloadExcel(customJobNo, customRmh, customJob, customBrand, customCrop,\r\n customLanguage, customStatus, customMonth, customState, customVendor)\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('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let ExcelName = Firstname + '_' + LastName + '_ProductionApproval_' + 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 record/s available\");\r\n //this.snackBar.openSnackBar(\"No record/s available\", 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n updateStatus(): void {\r\n this.loader = 'block';\r\n let updateArtworkProduction: updateStatus[] = []\r\n let active: number = 0;\r\n this.mainArtworkDetails.forEach(element => {\r\n if (element.isActive == true) { \r\n active = 1;\r\n var approvedRequirement = {\r\n JobNumber: element.jobNumber\r\n }\r\n updateArtworkProduction.push(approvedRequirement)\r\n }\r\n })\r\n if(active == 1){\r\n this.productionApprovalService.updateArtworkProduction(updateArtworkProduction)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n if (resdata.data[0].status == 'true') {\r\n this.toastr.success(resdata.data[0].msg);\r\n //this.snackBar.openSnackBar(resdata.data[0].msg, 'Close', 'green-snackbar');\r\n this.loader = 'none';\r\n this.selected = 0;\r\n this.artworkProductionDetails();\r\n } else {\r\n this.toastr.error(resdata.data[0].msg);\r\n //this.snackBar.openSnackBar(resdata.data[0].msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n //this.snackBar.openSnackBar(resdata.msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n })\r\n } \r\n else {\r\n this.toastr.error('Requirement not selected');\r\n //this.snackBar.openSnackBar('Requirement not selected', 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n }\r\n\r\n filesAdd(files: File[]) {\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 if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error('Please Select Valid File Type.');\r\n //this.snackBar.openSnackBar('Please Select Valid File Type.', 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n return false;\r\n }\r\n this.loader = 'block';\r\n this.productionApprovalService.uploadArtworkProduction(this.files[0])\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n if (resData.data[0].status == 'true') {\r\n //this.toastr.success(resData.data[0].msg);\r\n this.toastr.success('Uploaded Successfully');\r\n //this.snackBar.openSnackBar(resData.data[0].msg, 'Close', 'green-snackbar');\r\n this.artworkProductionDetails();\r\n this.input.nativeElement.value = null;\r\n this.loader = 'none';\r\n } else {\r\n this.toastr.error(resData.data[0].msg);\r\n //this.snackBar.openSnackBar(resData.data[0].msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n }\r\n else {\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n //this.snackBar.openSnackBar('Some problem occurred, please try again later.', 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n this.files = [];\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 filter() {\r\n let customRmh: any[] = this.selectedRMHName;\r\n let customBrand: any[] = this.selectedBrand;\r\n let customJob: any[] = this.selectedJobType;\r\n let customCrop: any[] = this.selectedCrop;\r\n let customLanguage: any[] = this.selectedLanguage;\r\n let customJobNo: any[] = this.selectedJobNumber;\r\n let customState: any[] = this.selectedState;\r\n let customMonth: any[] = this.selectedMonth;\r\n let customStatus: any[] = this.selectedStatus;\r\n let filteredRmh = [];\r\n let filteredBrand = [];\r\n let filteredCrop = [];\r\n let filteredJob = [];\r\n let filteredLanguage = [];\r\n let filteredWH = [];\r\n let filteredState = [];\r\n let filteredMonth = [];\r\n let filteredStatus = [];\r\n let ArtworkDetail: ProductionApprovalDetails[] = this.mainArtworkDetails;\r\n let resultDetail: ProductionApprovalDetails[] = [];\r\n let resultId = [];\r\n let splitString: any[] = [];\r\n let filter: boolean = false;\r\n if (customRmh != undefined && customRmh.length > 0) {\r\n customRmh.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.rmhId == element.rMHCode) {\r\n filteredRmh.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredRmh;\r\n filter = true;\r\n }\r\n if (customBrand != undefined && customBrand.length > 0) {\r\n customBrand.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.brand == element.brandName) {\r\n filteredBrand.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredBrand.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredBrand;\r\n }\r\n filter = true;\r\n }\r\n if (customCrop != undefined && customCrop.length > 0) {\r\n customCrop.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.crop == element.cropName) {\r\n filteredCrop.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredCrop.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredCrop;\r\n }\r\n filter = true;\r\n }\r\n if (customJob != undefined && customJob.length > 0) {\r\n customJob.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.jobType == element.jobTypeName) {\r\n filteredJob.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredJob.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredJob;\r\n }\r\n filter = true;\r\n }\r\n if (customLanguage != undefined && customLanguage.length > 0) {\r\n customLanguage.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.language == element.languageName) {\r\n filteredLanguage.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredLanguage.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredLanguage;\r\n }\r\n filter = true;\r\n }\r\n if (customJobNo != undefined && customJobNo.length > 0) {\r\n customJobNo.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.jobNumber == element.jobNumberName) {\r\n filteredWH.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredWH.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredWH;\r\n }\r\n filter = true;\r\n }\r\n if (customStatus != undefined && customStatus.length > 0) {\r\n customStatus.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.status == element.requirementStatusName) {\r\n filteredStatus.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredStatus.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredStatus;\r\n }\r\n filter = true;\r\n }\r\n if (customState != undefined && customState.length > 0) {\r\n customState.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.state == element.stateName) {\r\n filteredState.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredState.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredState;\r\n }\r\n filter = true;\r\n }\r\n if (customMonth != undefined && customMonth.length > 0) {\r\n customMonth.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n splitString = detail.requirementMonth.split(\"'\");\r\n if (splitString[0] == element.item_text) {\r\n filteredMonth.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredMonth.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredMonth;\r\n }\r\n filter = true;\r\n }\r\n if (filter == true) {\r\n resultId.forEach(element => {\r\n ArtworkDetail.forEach(detail => {\r\n if (detail.jobNumber == element) {\r\n resultDetail.push(detail);\r\n }\r\n })\r\n })\r\n this.artworkDetails = resultDetail;\r\n }\r\n else {\r\n this.artworkDetails = this.mainArtworkDetails;\r\n }\r\n this.sortDirection = '';\r\n }\r\n onItemSelect() {\r\n\r\n }\r\n onSelectAll() {\r\n\r\n }\r\n\r\n onItemSelectJob() {\r\n let jobNo = this.selectedJobNumber;\r\n let customBrand = [];\r\n let customRmh = [];\r\n let customCrop = [];\r\n let customJob = [];\r\n let customLanguage = [];\r\n let customMonth = [];\r\n let customState = [];\r\n let customJobNo = [];\r\n let customStatus = [];\r\n this.artworkFilters.jobNumbers.forEach(x => {\r\n jobNo.forEach(element => {\r\n if (element.jobNumberName == x.jobNumberName) {\r\n customJobNo.push(x);\r\n }\r\n });\r\n })\r\n let active: boolean = true;\r\n this.artworkFilters.brands.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.brandID == element.brandID.trim()) {\r\n if (customBrand.length == 0) {\r\n customBrand.push(x);\r\n }\r\n else {\r\n customBrand.forEach(y => {\r\n if (y.brandID == x.brandID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customBrand.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.status.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.requirementStatusID == element.statusID) {\r\n if (customStatus.length == 0) {\r\n customStatus.push(x);\r\n }\r\n else {\r\n customStatus.forEach(y => {\r\n if (y.item_id == x.requirementStatusID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customStatus.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.states.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.stateName == element.stateName) {\r\n if (customState.length == 0) {\r\n customState.push(x);\r\n }\r\n else {\r\n customState.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customState.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.crops.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.cropID == element.cropID) {\r\n if (customCrop.length == 0) {\r\n customCrop.push(x);\r\n }\r\n else {\r\n customCrop.forEach(y => {\r\n if (y.cropID == x.cropID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customCrop.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.jobTypes.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.jobTypeID == element.jobTypeID) {\r\n if (customJob.length == 0) {\r\n customJob.push(x);\r\n }\r\n else {\r\n customJob.forEach(y => {\r\n if (y.jobTypeID == x.jobTypeID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customJob.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.languages.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.languageID == element.languageID) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.languageID == x.languageID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.rmhs.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.rMHCode == element.rMHCode) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.dropdownList.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.item_id == element.month) {\r\n if (customMonth.length == 0) {\r\n customMonth.push(x);\r\n }\r\n else {\r\n customMonth.forEach(y => {\r\n if (y.item_id == x.item_id) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customMonth.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.selectedJobType = customJob;\r\n this.selectedLanguage = customLanguage;\r\n this.selectedMonth = customMonth;\r\n this.selectedRMHName = customRmh;\r\n this.selectedState = customState;\r\n this.selectedCrop = customCrop;\r\n this.selectedBrand = customBrand;\r\n this.selectedStatus = customStatus;\r\n }\r\n\r\n onItemSelectState() {\r\n let customState: any[] = this.selectedState;\r\n let customRmh = [];\r\n let finalRMH = [];\r\n let customLanguage = [];\r\n let finalLanguage = [];\r\n let active: boolean = true;\r\n this.artworkFilters.maMapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.stateName == detail.stateName) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.artworkFilters.rmhs.forEach(x => {\r\n customRmh.forEach(detail => {\r\n if (x.rMHCode == detail.rMHCode) {\r\n if (finalRMH.length == 0) {\r\n finalRMH.push(x);\r\n }\r\n else {\r\n finalRMH.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalRMH.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.artworkFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.state == x.state) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.artworkFilters.languages.forEach(x => {\r\n customLanguage.forEach(detail => {\r\n if (x.languageName == detail.languageName) {\r\n if (finalLanguage.length == 0) {\r\n finalLanguage.push(x);\r\n }\r\n else {\r\n finalLanguage.forEach(y => {\r\n if (y.languageName == x.languageName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedRMHName = finalRMH;\r\n this.selectedLanguage = finalLanguage;\r\n }\r\n\r\n onStateDeSelect() {\r\n this.onItemSelectState()\r\n }\r\n\r\n onJobDeSelect() {\r\n this.onItemSelectJob()\r\n }\r\n\r\n onItemSelectAllJob() {\r\n let customBrand = [];\r\n let customRmh = [];\r\n let customCrop = [];\r\n let customJob = [];\r\n let customLanguage = [];\r\n let customMonth = [];\r\n let customStatus = [];\r\n let customState = [];\r\n let customJobNo = [];\r\n this.artworkFilters.jobNumbers.forEach(x => {\r\n customJobNo.push(x);\r\n })\r\n let active: boolean = true;\r\n this.artworkFilters.brands.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.brandID == element.brandID) {\r\n if (customBrand.length == 0) {\r\n customBrand.push(x);\r\n }\r\n else {\r\n customBrand.forEach(y => {\r\n if (y.brandID == x.brandID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customBrand.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.status.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.requirementStatusID == element.statusID) {\r\n if (customStatus.length == 0) {\r\n customStatus.push(x);\r\n }\r\n else {\r\n customStatus.forEach(y => {\r\n if (y.item_id == x.requirementStatusID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customStatus.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.states.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.stateName == element.stateName) {\r\n if (customState.length == 0) {\r\n customState.push(x);\r\n }\r\n else {\r\n customState.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customState.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.crops.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.cropID == element.cropID) {\r\n if (customCrop.length == 0) {\r\n customCrop.push(x);\r\n }\r\n else {\r\n customCrop.forEach(y => {\r\n if (y.cropID == x.cropID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customCrop.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.jobTypes.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.jobTypeID == element.jobTypeID) {\r\n if (customJob.length == 0) {\r\n customJob.push(x);\r\n }\r\n else {\r\n customJob.forEach(y => {\r\n if (y.jobTypeID == x.jobTypeID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customJob.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.languages.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.languageID == element.languageID) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.languageID == x.languageID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.artworkFilters.rmhs.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.rMHCode == element.rMHCode) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.dropdownList.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.item_id == element.month) {\r\n if (customMonth.length == 0) {\r\n customMonth.push(x);\r\n }\r\n else {\r\n customMonth.forEach(y => {\r\n if (y.item_id == x.item_id) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customMonth.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.selectedJobType = customJob;\r\n this.selectedLanguage = customLanguage;\r\n this.selectedMonth = customMonth;\r\n this.selectedRMHName = customRmh;\r\n this.selectedState = customState;\r\n this.selectedCrop = customCrop;\r\n this.selectedBrand = customBrand;\r\n this.selectedStatus = customStatus;\r\n }\r\n onJobAllDeSelect() {\r\n this.selectedJobType = [];\r\n this.selectedLanguage = [];\r\n this.selectedMonth = [];\r\n this.selectedRMHName = [];\r\n this.selectedState = [];\r\n this.selectedCrop = [];\r\n this.selectedBrand = [];\r\n }\r\n onItemSelectAllState() {\r\n let customRmh = [];\r\n let finalRMH = [];\r\n let customLanguage = [];\r\n let finalLanguage = [];\r\n let customState = [];\r\n this.artworkFilters.states.forEach(x => {\r\n customState.push(x);\r\n })\r\n let active: boolean = true;\r\n this.artworkFilters.maMapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.stateName == detail.stateName) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.artworkFilters.rmhs.forEach(x => {\r\n customRmh.forEach(detail => {\r\n if (x.rMHCode == detail.rMHCode) {\r\n if (finalRMH.length == 0) {\r\n finalRMH.push(x);\r\n }\r\n else {\r\n finalRMH.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalRMH.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.artworkFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.state == x.state) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.artworkFilters.languages.forEach(x => {\r\n customLanguage.forEach(detail => {\r\n if (x.languageName == detail.languageName) {\r\n if (finalLanguage.length == 0) {\r\n finalLanguage.push(x);\r\n }\r\n else {\r\n finalLanguage.forEach(y => {\r\n if (y.languageName == x.languageName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedRMHName = finalRMH;\r\n this.selectedLanguage = finalLanguage;\r\n }\r\n onStateAllDeSelect() {\r\n this.selectedRMHName = [];\r\n this.selectedLanguage = [];\r\n }\r\n\r\n sort() {\r\n let sortedArray: ProductionApprovalDetails[] = [];\r\n let splitString: any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownList.forEach(x => {\r\n this.artworkDetails.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.artworkDetails = sortedArray;\r\n }\r\n else {\r\n this.dropdownList.forEach(x => {\r\n this.artworkDetails.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.artworkDetails = sortedArray.reverse();\r\n }\r\n }\r\n\r\n selectAll() {\r\n if (this.selected == 0) {\r\n this.artworkDetails.forEach(function (detail) {\r\n if (detail.status == \"Artwork Awaited\") {\r\n detail.isActive = true;\r\n }\r\n })\r\n }\r\n if (this.selected == 1) {\r\n this.artworkDetails.forEach(function (detail) {\r\n if (detail.status == \"Artwork Awaited\") {\r\n detail.isActive = false;\r\n }\r\n })\r\n }\r\n }\r\n\r\n check(index: any) {\r\n if (this.artworkDetails[index].status == \"Artwork Awaited\") {\r\n return 'false'\r\n }\r\n else {\r\n return 'true'\r\n }\r\n }\r\n\r\n updateIsactive(index: any) {\r\n \r\n let selectedIdCustom = this.artworkDetails[index].jobNumber;\r\n let isActiveCustom = this.artworkDetails[index].isActive;\r\n let requirementTypeCustom = this.artworkDetails[index].requirementType;\r\n this.mainArtworkDetails.forEach(function (detail) {\r\n if (detail.jobNumber == selectedIdCustom && detail.requirementType == requirementTypeCustom) {\r\n detail.isActive = isActiveCustom;\r\n }\r\n })\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n","module.exports = \"\\r\\n .popup-wrap {z-index:10;}\\r\\n .overlay{z-index:9; background: rgba(0, 0, 0, 0.9) !important;}\"","module.exports = \"
\\r\\n

Artwork Specification

\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
EditBrandCropJob TypeLanguageSubstrateOpen Size (Inch)Finish Size (Inch)Number
of Pages
ColorFabricationPrinting ProcessUnit Price (Quarter 1){{currentYear}}Unit Price (Quarter 2){{currentYear}}Unit Price (Quarter 3){{currentYear}}Unit Price (Quarter 4){{currentYear}}Unit Price (Quarter 1){{currentYear+1}}Unit Price (Quarter 2){{currentYear+1}}Unit Price (Quarter 3){{currentYear+1}}Unit Price (Quarter 4){{currentYear+1}}Remarks
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
{{popupHeader}}
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • Active\\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n \\r\\n
    \\r\\n
  • Brand *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Crop *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • Brand *\\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Brand Manager\\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Crop *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n


\\r\\n
\\r\\n
    \\r\\n
  • Job Type *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Language *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Substrate \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Open Size (Inch) \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Finish Size (Inch) \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Number of Pages \\r\\n = 48 && event.charCode <= 57\\\" [disabled]='disabledOptions'>\\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Color \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Fabrication \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Printing Process \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Remarks \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Unit Price\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • Unit Price ({{currentYear}})
  • \\r\\n
  • Quarter 1\\r\\n \\r\\n
  • \\r\\n
  • Quarter 2\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n Quarter 3 \\r\\n
  • \\r\\n
  • \\r\\n Quarter 4 \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Unit Price ({{currentYear+1}})
  • \\r\\n
  • Quarter 1\\r\\n \\r\\n
  • \\r\\n
  • Quarter 2\\r\\n \\r\\n
  • \\r\\n
  • Quarter 3\\r\\n \\r\\n
  • \\r\\n
  • Quarter 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
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Documents } from 'src/app/Models/AnnualRequirement/ExcelDocuments';\r\nimport { ArtworksSpecificationService } from 'src/app/Services/admin-rights/artworks-specification.service';\r\nimport { Artworkspecification, DropDown } from 'src/app/Models/Admin/artworkspecification';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-artworks-specification',\r\n templateUrl: './artworks-specification.component.html',\r\n styleUrls: ['./artworks-specification.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ArtworksSpecificationComponent implements OnInit {\r\n artworkDetails: any;\r\n rowCount: any;\r\n model: any;\r\n selectedState: string;\r\n selectedMA: string;\r\n otherBrands: string = 'false';\r\n loader: string = 'none';\r\n pageSetting: number = 10;\r\n modalSetting: number = 0;\r\n pager: any = {};\r\n modelDepandent: any[];\r\n files: File[] = [];\r\n fileName: string = '';\r\n displayAddJob: string = 'none';\r\n displayEditArtwork: string = 'none';\r\n popupHeader : string = '';\r\n displayOtherBrand: string = 'none';\r\n document: Documents = new Documents();\r\n fileToUpload: File = null;\r\n IsFileCorrect: boolean;\r\n customID: number = 0;\r\n customBrand: string = '';\r\n customCrop: string = '';\r\n customJob: string = '';\r\n customLanguage: string = '';\r\n customSpecification: string = '';\r\n customRemarks: string = ''\r\n customOpenSize: string = '';\r\n customFinishSize: string = '';\r\n customNoPages: string = '';\r\n customColor: string = '';\r\n customFabrication: string = '';\r\n customPrinting: string = '';\r\n customActive: boolean = true;\r\n customPortFolio: string = 'Insecticide common'\r\n customOtherBrand: string = '';\r\n customOtherBrandId: string = '';\r\n customBrandManager: string = '';\r\n customItemName: string = '';\r\n AddJobdropdown: DropDown = new DropDown();\r\n @ViewChild('file') input;\r\n disabledOptions : boolean = false;\r\n currentYear:number;\r\n unitPriceCurrent:number=0;\r\n unitPriceFuture:number=0;\r\n\r\n displayEditPanel:string='none';\r\n unitPriceCurrentQ1:number=0;\r\n unitPriceCurrentQ2:number=0; \r\n unitPriceCurrentQ3:number=0;\r\n unitPriceCurrentQ4:number=0;\r\n unitPriceFutureQ1:number=0;\r\n unitPriceFutureQ2:number=0;\r\n unitPriceFutureQ3:number=0;\r\n unitPriceFutureQ4:number=0;\r\n constructor(private artworksSpecificationService: ArtworksSpecificationService, private snackBar: MatSnackBarComponent, private _pagerService: PagerService,\r\n private router: Router, private datepipe: DatePipe,private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getArtworksSpecification();\r\n this.getArtworksSpecificationDropDown();\r\n this.currentYear = new Date().getFullYear();\r\n }\r\n\r\n async getArtworksSpecification() {\r\n this.loader = 'block';\r\n await this.artworksSpecificationService.GetArtworksSpecification()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.artworkDetails = resdata.data.artworkDetails;\r\n this.model = resdata.data.artworkDetails;\r\n this.rowCount = resdata.data.rowCount;\r\n this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n // console.log('art'+resdata.data.artworkDetails);\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n onChange(val) {\r\n if (val == \"Others\") {\r\n this.displayOtherBrand = 'block';\r\n this.popupHeader = 'Add Other Brands'\r\n this.disabledOptions = true;\r\n }\r\n this.customOtherBrand = '';\r\n this.customBrandManager = '';\r\n }\r\n // Start :For Pagination\r\n setPage(page: number, pageSize: number) {\r\n // get pager object from service\r\n if (this.modalSetting == 0) {\r\n this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n this.artworkDetails = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n else {\r\n if (this.modalSetting == 1) {\r\n this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n this.artworkDetails = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n else {\r\n this.pager = this._pagerService.getPager(this.modelDepandent.length, page, pageSize);\r\n this.artworkDetails = this.modelDepandent.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n }\r\n // get current page of items\r\n }\r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n this.artworksSpecificationService.downloadArtworkExcel()\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('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let ExcelName = Firstname + '_' + LastName + '_ArtworkSpecification_' + 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 record/s available\");\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n filesDroppedAdd(files: File[]) {\r\n\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 Name = localStorage.getItem('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let CorrectFileName = Firstname + '_' + LastName + '_ArtworkSpecification_'\r\n if (fileNameParts[0].includes(CorrectFileName)) {\r\n this.IsFileCorrect = true;\r\n }\r\n else {\r\n this.IsFileCorrect = false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error('Please Select Valid File Type.');\r\n //this.toastr.error('Please Select Valid File Type.', 'Close', 'red-snackbar');\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.artworksSpecificationService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n //this.toastr.error(resData.message, 'Close', 'green-snackbar');\r\n this.getArtworksSpecification();\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n } else {\r\n this.toastr.error(resData.message);\r\n //this.toastr.error(resData.message, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n this.getArtworksSpecification();\r\n this.input.nativeElement.value = null;\r\n }\r\n this.files = [];\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 addJob() {\r\n this.displayEditArtwork = 'block';\r\n this.popupHeader = 'Add Job Items'\r\n this.unitPriceCurrentQ1 = 0;\r\n this.unitPriceCurrentQ2=0;\r\n this.unitPriceCurrentQ3=0;\r\n this.unitPriceCurrentQ4=0;\r\n\r\n this.unitPriceFutureQ1=0;\r\n this.unitPriceFutureQ2=0;\r\n this.unitPriceFutureQ3=0;\r\n this.unitPriceFutureQ4=0;\r\n\r\n this.unitPriceFuture = 0;\r\n }\r\n\r\n editArtwork(index: any) {\r\n this.popupHeader = 'Update Artwork Specification';\r\n this.displayEditArtwork = 'block';\r\n this.customID = this.artworkDetails[index].id;\r\n this.customActive = this.artworkDetails[index].active;\r\n this.customBrand = this.artworkDetails[index].brand;\r\n this.customColor = this.artworkDetails[index].color;\r\n this.customCrop = this.artworkDetails[index].crop;\r\n this.customFabrication = this.artworkDetails[index].fabrication;\r\n this.customFinishSize = this.artworkDetails[index].finishSize;\r\n this.customJob = this.artworkDetails[index].job;\r\n this.customLanguage = this.artworkDetails[index].languagae;\r\n this.customNoPages = this.artworkDetails[index].noOfPage;\r\n this.customOpenSize = this.artworkDetails[index].openSize;\r\n this.customPrinting = this.artworkDetails[index].printingProcess;\r\n this.customSpecification = this.artworkDetails[index].specification;\r\n this.customRemarks = this.artworkDetails[index].remarks;\r\n this.unitPriceCurrentQ1=this.artworkDetails[index].unitPriceCQ1;\r\n this.unitPriceCurrentQ2=this.artworkDetails[index].unitPriceCQ2;\r\n this.unitPriceCurrentQ3=this.artworkDetails[index].unitPriceCQ3;\r\n this.unitPriceCurrentQ4=this.artworkDetails[index].unitPriceCQ4;\r\n\r\n this.unitPriceFutureQ1=this.artworkDetails[index].unitPriceFQ1;\r\n this.unitPriceFutureQ2=this.artworkDetails[index].unitPriceFQ2;\r\n this.unitPriceFutureQ3=this.artworkDetails[index].unitPriceFQ3;\r\n this.unitPriceFutureQ4=this.artworkDetails[index].unitPriceFQ4;\r\n \r\n }\r\n closeArtwork() {\r\n this.displayEditArtwork = 'none';\r\n this.displayOtherBrand = 'none';\r\n this.customID = 0;\r\n this.customBrand = '';\r\n this.customColor = '';\r\n this.customCrop = '';\r\n this.customFabrication = '';\r\n this.customFinishSize = '';\r\n this.customJob = '';\r\n this.customLanguage = '';\r\n this.customNoPages = '';\r\n this.customOpenSize = '';\r\n this.customPrinting = '';\r\n this.customSpecification = '';\r\n this.customRemarks = '';\r\n this.displayEditPanel='none';\r\n }\r\n\r\n addArtwork() {\r\n this.loader = 'block';\r\n this.displayEditPanel='none';\r\n var updatebrand\r\n if (this.customBrand == 'Others') {\r\n updatebrand = this.customOtherBrand\r\n }\r\n else {\r\n updatebrand = this.customBrand\r\n }\r\n if (updatebrand != '') {\r\n if (this.customCrop != '') {\r\n if (this.customJob != '') {\r\n if (this.customLanguage != '') {\r\n if(this.unitPriceCurrentQ1>=0 && this.unitPriceCurrentQ2>=0 && this.unitPriceCurrentQ3>=0 && this.unitPriceCurrentQ4>=0\r\n && this.unitPriceFutureQ1>=0 && this.unitPriceFutureQ2>=0 && this.unitPriceFutureQ3>=0 && this.unitPriceFutureQ4>=0)\r\n {\r\n let updateArtwork: Artworkspecification[] = [];\r\n var updateDetail = {\r\n ID: this.customID,\r\n Active: this.customActive,\r\n Brand: updatebrand,\r\n Crop: this.customCrop,\r\n Job: this.customJob,\r\n Language: this.customLanguage,\r\n Specification: this.customSpecification,\r\n OpenSize: this.customOpenSize,\r\n FinishSize: this.customFinishSize,\r\n NoPage: this.customNoPages,\r\n Color: this.customColor,\r\n Fabrication: this.customFabrication,\r\n PrintingProcess: this.customPrinting,\r\n Remarks: this.customRemarks,\r\n unitPriceCurrentQ1:this.unitPriceCurrentQ1,\r\n unitPriceCurrentQ2:this.unitPriceCurrentQ2,\r\n unitPriceCurrentQ3:this.unitPriceCurrentQ3,\r\n unitPriceCurrentQ4:this.unitPriceCurrentQ4,\r\n unitPriceFutureQ1:this.unitPriceFutureQ1,\r\n unitPriceFutureQ2:this.unitPriceFutureQ2,\r\n unitPriceFutureQ3:this.unitPriceFutureQ3,\r\n unitPriceFutureQ4:this.unitPriceFutureQ4 \r\n };\r\n updateArtwork.push(updateDetail);\r\n this.artworksSpecificationService.updateArtworksSpecification(updateArtwork)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.getArtworksSpecification();\r\n this.displayEditArtwork = 'none';\r\n this.customID = 0;\r\n this.customBrand = '';\r\n this.customColor = '';\r\n this.customCrop = '';\r\n this.customFabrication = '';\r\n this.customFinishSize = '';\r\n this.customJob = '';\r\n this.customLanguage = '';\r\n this.customNoPages = '';\r\n this.customOpenSize = '';\r\n this.customPrinting = '';\r\n this.customSpecification = '';\r\n this.customRemarks = '';\r\n this.unitPriceCurrent=0;\r\n this.unitPriceFuture=0;\r\n this.getArtworksSpecificationDropDown();\r\n this.toastr.success(resdata.data[0].msg);\r\n //this.toastr.error(resdata.data[0].msg, 'Close', 'green-snackbar');\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.data[0].msg);\r\n //this.toastr.error(resdata.data[0].msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n this.displayEditArtwork = 'none';\r\n }\r\n })\r\n }\r\n else{\r\n this.toastr.error(\"Unit Price should be Non Negetive\");\r\n //this.toastr.error(\"Unit Price should be Non Negetive\", 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n //this.toastr.error(\"Mandatory Fields can not be empty\", 'Close', 'red-snackbar');\r\n this.getArtworksSpecificationDropDown();\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n // this.toastr.error(\"Mandatory Fields can not be empty\", 'Close', 'red-snackbar');\r\n this.getArtworksSpecificationDropDown();\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n //this.toastr.error(\"Mandatory Fields can not be empty\", 'Close', 'red-snackbar');\r\n this.getArtworksSpecificationDropDown();\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n //this.toastr.error(\"Mandatory Fields can not be empty\", 'Close', 'red-snackbar');\r\n this.getArtworksSpecificationDropDown();\r\n this.loader = 'none';\r\n }\r\n }\r\n\r\n getArtworksSpecificationDropDown() {\r\n this.loader = 'block';\r\n this.artworksSpecificationService.getArtworksSpecificationDropDown()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.AddJobdropdown = resdata.data as DropDown;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n //this.toastr.error(resdata.msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n otherBrand() {\r\n if (this.customBrand == 'Others') {\r\n this.displayOtherBrand = 'block';\r\n this.otherBrands = 'true';\r\n }\r\n else {\r\n this.displayOtherBrand = 'none';\r\n this.otherBrands = 'false';\r\n }\r\n this.customOtherBrand = '';\r\n this.customBrandManager = '';\r\n }\r\n closeOtherBrand() {\r\n this.displayEditArtwork = 'block';\r\n this.customOtherBrand = '';\r\n this.customOtherBrandId = '';\r\n this.customBrandManager = '';\r\n this.customItemName = '';\r\n this.otherBrands = 'false';\r\n this.displayOtherBrand = 'none';\r\n }\r\n\r\n addOtherBrand() {\r\n this.loader = 'block';\r\n if (this.customOtherBrand != '') {\r\n this.artworksSpecificationService.updateOtherBrands(this.customCrop, this.customOtherBrand, this.customBrandManager)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n if (resdata.data[0].status == 'true') {\r\n this.getArtworksSpecificationDropDown();\r\n this.customLanguage = '';\r\n this.loader = 'none';\r\n this.displayOtherBrand = 'none';\r\n this.otherBrands = 'false';\r\n this.disabledOptions = false;\r\n this.displayEditArtwork = 'block';\r\n this.customBrand = this.customOtherBrand;\r\n }\r\n else {\r\n this.toastr.error(resdata.data[0].msg);\r\n //this.toastr.error(resdata.data[0].msg, 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n this.loader = 'none';\r\n this.customOtherBrand = '';\r\n this.customItemName = '';\r\n }\r\n }\r\n\r\n selectEvent(item) {\r\n console.log(item);\r\n // do something with selected item\r\n }\r\n\r\n onChangeSearch(val: string) {\r\n console.log(val);\r\n this.customOtherBrand = '';\r\n this.customBrandManager = '';\r\n // fetch remote data from here\r\n // And reassign the 'data' which is binded to 'data' property.\r\n }\r\n\r\n onFocused(e) {\r\n console.log(e);\r\n // do something when input is focused\r\n }\r\n\r\n ViewUnitPricePanel()\r\n {\r\n this.displayEditPanel='block'; \r\n }\r\n\r\n closeEditPanel()\r\n {\r\n this.displayEditPanel='none'; \r\n }\r\n}\r\n\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Brand Manager & Brand Mapping

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{col.name}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { BmBrandService } from 'src/app/Services/admin-rights/bm-brand.service';\r\nimport { Bmbrandmapping, bmmapping } from 'src/app/Models/Admin/bmbrandmapping';\r\nimport { FormGroup, FormArray, FormBuilder } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-brand-mapping',\r\n templateUrl: './brand-mapping.component.html',\r\n styleUrls: ['./brand-mapping.component.css']\r\n})\r\nexport class BrandMappingComponent implements OnInit {\r\n loader: string = 'none';\r\n brandmanagers: any[];\r\n products: any[];\r\n bmproducts: any[];\r\n mappings: any[];\r\n dsGridColumn: any[];\r\n selectedRegionMessage: any[];\r\n bmbrandmapping: Bmbrandmapping[];\r\n\r\n form: FormGroup;\r\n checkbo: any;\r\n\r\n constructor(private snackBar: MatSnackBarComponent, private bmBrandService: BmBrandService, private router: Router, private formBuilder: FormBuilder,private toastr: ToastrService) {\r\n this.form = this.formBuilder.group({\r\n orders: new FormArray([])\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getBrandList();\r\n this.bmbrandmapping = [];\r\n\r\n }\r\n\r\n getBrandList() {\r\n this.loader = 'block';\r\n this.bmBrandService.getBrandList()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.loader = 'none';\r\n this.mappings = resdata.data.mapping;\r\n this.bmproducts = resdata.data.bmproducts;\r\n this.brandmanagers = resdata.data.brandmanagers;\r\n this.products = resdata.data.products;\r\n this.dsGridColumn = this.getAllKeysFromList(this.mappings);\r\n\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\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 updateBmBrandMapping() {\r\n // for(let i = 0; i < this.bmbrandmapping.length; i++){\r\n // for(let j = 0; j < this.bmproducts.length; j++){\r\n // if(this.bmbrandmapping[i].Brand==this.bmproducts[j].brand && this.bmbrandmapping[i].IsActive ==true && this.bmproducts[j].isActive==true){\r\n // if(this.bmbrandmapping[i].UserID!=this.bmproducts[j].brandManager){\r\n // this.toastr.error('Select only one Brand Manager for a Brand','Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // else{\r\n // this.bmBrandService.updateBmBrandmapping(this.bmbrandmapping)\r\n // .subscribe((resdata : any) => {\r\n // if (resdata.status == true) {\r\n // this.toastr.error('Brand Mapping have been Configured.', 'Close', 'green-snackbar');\r\n // this.loader = 'none';\r\n // this.getBrandList();\r\n // this.bmbrandmapping = [];\r\n // }\r\n // else {\r\n // this.toastr.error(resdata.msg,'Close', 'red-snackbar');\r\n // this.loader = 'none';\r\n // }\r\n // });\r\n // }\r\n\r\n // }\r\n // }\r\n // }\r\n\r\n }\r\n changeif(id: any, IsActive: any) {\r\n let splitid = id.split('_');\r\n let brand = splitid[0];\r\n let brandmanager = splitid[1];\r\n var List = {\r\n UserID: brandmanager,\r\n Brand: brand,\r\n IsActive: IsActive\r\n }\r\n this.bmbrandmapping.push(List);\r\n this.bmBrandService.updateBmBrandmapping(this.bmbrandmapping)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.toastr.success('Brand Mapping has been Configured.');\r\n this.getBrandList();\r\n this.bmbrandmapping = [];\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

Bulk Upload

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

Bulk Job Number Cancellation

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

Bulk Job Cancellation

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
JobNumberRemarks
{{detail.jobNumber}}{{detail.remarks}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { DatePipe } from \"@angular/common\";\r\nimport { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { bulkExcel, Documents, uploadException } from '../../Models/BulkUpload/bulkDocument';\r\nimport { LoginService } from '../../services/login/login.service';\r\nimport { PagerService } from \"src/app/Services/pager.service\";\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { BulkUploadService } from \"src/app/Services/bulk-upload/bulk-upload.service\";\r\nimport * as XLSX from \"xlsx\";\r\n\r\n@Component({\r\n selector: 'app-bulk-upload',\r\n templateUrl: './bulk-upload.component.html',\r\n styleUrls: ['./bulk-upload.component.css'],\r\n providers: [PagerService, DatePipe]\r\n})\r\n\r\nexport class BulkUploadComponent implements OnInit {\r\n userName: string;\r\n userID:string;\r\n roleID: string;\r\n loader: string = 'none';\r\n files: File[] = [];\r\n fileName: string = '';\r\n // document: Documents = new Documents();\r\n\r\n\r\n //upload excel\r\n document: Documents = new Documents();\r\n IsFileCorrect: boolean;\r\n arrayBuffer: any;\r\n filelist: any;\r\n displayUploadPanel: string = 'none';\r\n errorExcelUpload: uploadException[] = [];\r\n afterUpload: bulkExcel[]=[];\r\n constructor(private bulkUploadService: BulkUploadService, private snackBar: MatSnackBarComponent,\r\n private _pagerService: PagerService, private datepipe: DatePipe, private router: Router,private toastr: ToastrService,) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.userName = localStorage.getItem('mcmt_userName');\r\n }\r\n \r\n\r\n @ViewChild('file') input;\r\n\r\n\r\n ngOnInit(): void {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n else{\r\n \r\n }\r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n }\r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n this.bulkUploadService.DownloadBulkJobCancellationExcel()\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n var latest_date = this.datepipe.transform(date, 'dd-MMM-yy');\r\n var Name = localStorage.getItem('mcmt_userName').split(' ');\r\n var Firstname = Name[0];\r\n var LastName = Name[1];\r\n let cYear :number;\r\n cYear=(new Date()).getFullYear();\r\n var ExcelName = Firstname + '_' + LastName + '_'+ cYear + '_BulkJobCancellation_' + latest_date + '.xlsx'; \r\n saveAs(success, ExcelName);\r\n \r\n },\r\n err => {\r\n this.toastr.error(\"No Records Available.\");\r\n this.loader = 'none';\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n\r\n filesDroppedAdd(files: File[]) {\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 CorrectFileName = '_BulkJobCancellation_';\r\n if (fileNameParts[0].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.toastr.error('Please Select Valid File.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error('Please Select Valid File Type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else {\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n let fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(this.files[0]);\r\n fileReader.onload = (e) => {\r\n this.arrayBuffer = fileReader.result;\r\n var data = new Uint8Array(this.arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\" });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n this.filelist = XLSX.utils.sheet_to_json(worksheet, { raw: true });\r\n this.displayUploadPanel = 'block';\r\n this.files = [];\r\n this.loader = 'none';\r\n if(this.filelist==''){\r\n this.toastr.error('No record found in excel');\r\n this.displayUploadPanel = 'none';\r\n }\r\n else{\r\n this.displayUploadPanel = 'none';\r\n this.UploadSubmit();\r\n }\r\n\r\n }\r\n }\r\n \r\n }\r\n closeUploadPanel() {\r\n this.displayUploadPanel = 'none';\r\n this.afterUpload = null;\r\n }\r\n UploadSubmit() {\r\n this.loader = 'block';\r\n this.bulkUploadService.uploadBulkJobCancellation(this.filelist).subscribe((responseData: any) => { \r\n if(responseData.message=='Job numbers cannot be cancelled'){\r\n this.toastr.error(responseData.message);\r\n this.displayUploadPanel = 'block'; \r\n }\r\n else if(responseData.message=='Data Uploaded Successfully'){\r\n this.toastr.success(responseData.message); \r\n this.displayUploadPanel = 'none'; \r\n }\r\n else if(responseData.message=='Partially Data Uploaded Successfully'){\r\n this.toastr.success(responseData.message); \r\n this.displayUploadPanel = 'block'; \r\n }\r\n else{\r\n this.toastr.success(responseData.message);\r\n }\r\n \r\n if(responseData.data!=null){\r\n this.afterUpload=responseData.data;\r\n } \r\n }); \r\n err=>{\r\n this.toastr.error('Some error occured while uploading file', 'Close');\r\n this.loader = 'none';\r\n this.displayUploadPanel = 'none';\r\n } \r\n }\r\n}\r\n ","module.exports = \".additional-tbl{ min-width: 200px !important;}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n

Additional Requirement Approval

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

Final Requirement

\\r\\n
\\r\\n
\\r\\n \\r\\n Upload (RMH/RBM Data)\\r\\n \\r\\n Download (RMH/RBM Data)\\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
Select AllRMH/RBM NameJob TypeBrandCropLanguageStateRequirement MonthRequirement TypeRequested QuantityAvailable InventoryFinal Production QuantityApproved QuantityDelivery DeadlineBrand ManagerPortfolioMAStatus
{{detail.rmhName}}{{detail.jobType}}{{detail.brand}}{{detail.crop}}{{detail.language}}{{detail.state}}{{detail.requirementMonth}}{{detail.requirementType}}{{ConvertToCurrency(detail.requestedQuantity)}}{{ConvertToCurrency(detail.availableInInventory)}}{{ConvertToCurrency(detail.finalQuantity)}}{{detail.approvedQuantity < 0 ? 0 : detail.approvedQuantity}}{{detail.deliveryDeadline}}{{detail.brandManager}}{{detail.portfolio}}{{detail.ma}}{{detail.status}}{{detail.status}}
{{\\\"No Record Found\\\"}}{{\\\"No Records Found for Additional Requirement\\\"}}
\\r\\n
\\r\\n \\r\\n\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MCPlanningMaterialService } from '../../Services/MCPlanningMaterial/MCPlanningMaterial.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { FinalRequirementDetails, FinalRequirementFilters, ApprovedQuantity, RequirementType } from 'src/app/Models/MCPlanningMaterial/mcplanningmaterial';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { Router } from '@angular/router';\r\nimport { DefaultGlobalConfig } from 'ngx-toastr';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\nimport { Details } from 'src/app/Models/WHStockIn/whstockin';\r\n//import internal = require('assert');\r\n\r\n@Component({\r\n selector: 'app-final-requirement',\r\n templateUrl: './final-requirement.component.html',\r\n styleUrls: ['./final-requirement.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class FinalRequirementComponent implements OnInit {\r\n totalItemCount: any; \r\n pageNo: number = 1; \r\n totalPages:number;\r\n userID: string;\r\n roleID: string;\r\n selectedJobNumber: any;\r\n selectedJobNumberString: any;\r\n fileNameParts: string[];\r\n color : any;\r\n statusColor : any = '#000';\r\n selectedRMHName: any;\r\n selectedRMHNameString: any;\r\n selectedJobType: any;\r\n selectedJobTypeString: any;\r\n selectedBrand: any;\r\n selectedBrandString: any;\r\n @ViewChild('file') input;\r\n @ViewChild('year') year;\r\n selectedCrop: any;\r\n selectedCropString: any;\r\n selectedLanguage: any;\r\n selectedLanguageString: any;\r\n selectedStatus: any;\r\n selectedStatusString: any;\r\n selectedRequirementType: any;\r\n selectedRequirementTypeString: any;\r\n selectedMA: any;\r\n selectedMAString: any;\r\n selectedMonth: any;\r\n selectedMonthString: any;\r\n selectedYear: any;\r\n finalReqFilters: FinalRequirementFilters = new FinalRequirementFilters();\r\n requirementdetails: FinalRequirementDetails[] = [];\r\n mainReqDetail: FinalRequirementDetails[] = [];\r\n loader: string = 'none';\r\n files: File[] = [];\r\n fileName: string = '';\r\n pageSetting: number = 10;\r\n pager: any = {};\r\n //model: FinalRequirementDetails[] = [];\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n selectedState: any;\r\n selectedStateString: any;\r\n selectedBM: any;\r\n selectedBMString: any;\r\n userName: string;\r\n fileType: string;\r\n date = new Date();\r\n bgColor: string = 'white';\r\n selected: number = 0;\r\n customActive: boolean = true;\r\n sortDirection: string = '';\r\n ascNumberSort: boolean = true;\r\n dropdownList = [\r\n { item_id: '1', item_text: 'Jan' },\r\n { item_id: '2', item_text: 'Feb' },\r\n { item_id: '3', item_text: 'Mar' },\r\n { item_id: '4', item_text: 'Apr' },\r\n { item_id: '5', item_text: 'May' },\r\n { item_id: '6', item_text: 'Jun' },\r\n { item_id: '7', item_text: 'Jul' },\r\n { item_id: '8', item_text: 'Aug' },\r\n { item_id: '9', item_text: 'Sep' },\r\n { item_id: '10', item_text: 'Oct' },\r\n { item_id: '11', item_text: 'Nov' },\r\n { item_id: '12', item_text: 'Dec' }\r\n ];\r\n dropdownSettings1: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings2: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings3: IDropdownSettings = {\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 };\r\n dropdownSettings4: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings5: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'requirementTypeID',\r\n textField: 'requirementTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings6: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings7: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'requirementStatusID',\r\n textField: 'requirementStatusName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings8: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings9: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'bmCode',\r\n textField: 'bmName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings10: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'maCode',\r\n textField: 'maName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings11: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings12: IDropdownSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: false\r\n };\r\n\r\n\r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService, private snackBar: MatSnackBarComponent,\r\n private _pagerService: PagerService, private router: Router, private datepipe: DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.userName = localStorage.getItem('mcmt_userName');\r\n }\r\n\r\n \r\n ngOnInit() { \r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.finalRequiremetFilters();\r\n this.selectedPaging = '0';\r\n if (this.roleID == '28') {\r\n this.selectedBM = this.userID;\r\n }\r\n this.finalRequirementDetails();\r\n }\r\n\r\n \r\n\r\n finalRequiremetFilters() {\r\n this.loader = 'block';\r\n let year=''\r\n if (typeof this.selectedYear !== 'undefined') {\r\n year = this.selectedYear\r\n }\r\n\r\n this.mcPlanningMaterialService.finalRequirementFilters(year)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.finalReqFilters = resData.data;\r\n \r\n this.onCurrentRequirementYearSelected(this.finalReqFilters.year);\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n public onCurrentRequirementYearSelected(item: any) {\r\n class YearItemList{\r\n id: number;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj;\r\n if(this.roleID == \"47\" || this.roleID == \"51\")\r\n {\r\n obj = {\r\n id : (new Date()).getFullYear(),\r\n text: (new Date()).getFullYear().toString()\r\n }\r\n }\r\n else{\r\n\r\n obj = {\r\n id : item[0].currentrequirementYear,\r\n text: item[0].currentrequirementYear\r\n }\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem\r\n for (var i = 0; i < this.year.selectedItems.length; i++) {\r\n this.selectedYear =this.year.selectedItems[i].text;\r\n }\r\n this.dropdownSettings12 = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: false,\r\n enableCheckAll: false\r\n };\r\n }\r\n\r\n finalRequirementDetails() {\r\n this.loader = 'block';\r\n \r\n this.mcPlanningMaterialService.finalRequirementDetails(this.pageNo,this.selectedJobNumberString, this.selectedRMHNameString, this.selectedJobTypeString, this.selectedBrandString, this.selectedCropString,\r\n this.selectedRequirementTypeString, this.selectedLanguageString, this.selectedStatusString, this.selectedBMString, this.selectedMAString, this.selectedMonthString, this.selectedStateString,this.selectedYear\r\n)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.mainReqDetail = resdata.data;\r\n this.requirementdetails = resdata.data;\r\n this.totalItemCount=resdata.data.length>0? resdata.data[0].totaldata:0;\r\n this.pageSetting=resdata.data.length>0? resdata.data[0].pageSize:10;\r\n //set pagination\r\n this.totalPages = Math.ceil(this.totalItemCount / this.pageSetting); \r\n this.loader = 'none';\r\n \r\n \r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n showRecordsByPageNumber(page) { \r\n if(page>this.totalPages || page<1){\r\n return;\r\n }\r\n this.pageNo = page; \r\n this.finalRequirementDetails();\r\n } \r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n let selectJobNo: any[] = this.selectedJobNumber;\r\n let selectRmh: any[] = this.selectedRMHName;\r\n let selectJob: any[] = this.selectedJobType;\r\n let selectBrand: any[] = this.selectedBrand;\r\n let selectCrop: any[] = this.selectedCrop;\r\n let selectType: any[] = this.selectedRequirementType;\r\n let selectLanguage: any[] = this.selectedLanguage;\r\n let selectStatus: any[] = this.selectedStatus;\r\n let selectBm: any[] = this.selectedBM;\r\n let selectMa: any[] = this.selectedMA;\r\n let selectMonth: any[] = this.selectedMonth;\r\n let selectState: any[] = this.selectedState;\r\n let selectYear: any[] = this.selectedYear;\r\n let customJobNo: string = \"\";\r\n let customRmh: string = \"\";\r\n let customJob: string = \"\";\r\n let customBrand: string = \"\";\r\n let customCrop: string = \"\";\r\n let customType: string = \"\";\r\n let customLanguage: string = \"\";\r\n let customStatus: string = \"\";\r\n let customBm: string = \"\";\r\n let customMa: string = \"\";\r\n let customMonth: string = \"\";\r\n let customState: string = \"\";\r\n \r\n if (selectJobNo != undefined) {\r\n selectJobNo.forEach(x => {\r\n if (x.length == 0) {\r\n customJobNo = \"\";\r\n }\r\n else {\r\n if (customJobNo == \"\") {\r\n customJobNo = x.jobNumberName;\r\n }\r\n else {\r\n customJobNo = customJobNo.concat(\",\");\r\n customJobNo = customJobNo.concat(x.jobNumberName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectRmh != undefined) {\r\n selectRmh.forEach(x => {\r\n if (x.length == 0) {\r\n customRmh = \"\";\r\n }\r\n else {\r\n if (customRmh == \"\") {\r\n customRmh = x.rMHCode;\r\n }\r\n else {\r\n customRmh = customRmh.concat(\",\");\r\n customRmh = customRmh.concat(x.rMHCode);\r\n }\r\n }\r\n })\r\n }\r\n if (selectJob != undefined) {\r\n selectJob.forEach(x => {\r\n if (x.length == 0) {\r\n customJob = \"\";\r\n }\r\n else {\r\n if (customJob == \"\") {\r\n customJob = x.jobTypeName;\r\n }\r\n else {\r\n customJob = customJob.concat(\",\");\r\n customJob = customJob.concat(x.jobTypeName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectBrand != undefined) {\r\n selectBrand.forEach(x => {\r\n if (x.length == 0) {\r\n customBrand = \"\";\r\n }\r\n else {\r\n if (customBrand == \"\") {\r\n customBrand = x.brandName;\r\n }\r\n else {\r\n customBrand = customBrand.concat(\",\");\r\n customBrand = customBrand.concat(x.brandName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectCrop != undefined) {\r\n selectCrop.forEach(x => {\r\n if (x.length == 0) {\r\n customCrop = \"\";\r\n }\r\n else {\r\n if (customCrop == \"\") {\r\n customCrop = x.cropName;\r\n }\r\n else {\r\n customCrop = customCrop.concat(\",\");\r\n customCrop = customCrop.concat(x.cropName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectType != undefined) {\r\n selectType.forEach(x => {\r\n if (x.length == 0) {\r\n customType = \"\";\r\n }\r\n else {\r\n if (customType == \"\") {\r\n customType = x.requirementTypeID;\r\n }\r\n else {\r\n customType = customType.concat(\",\");\r\n customType = customType.concat(x.requirementTypeID);\r\n }\r\n }\r\n })\r\n }\r\n if (selectLanguage != undefined) {\r\n selectLanguage.forEach(x => {\r\n if (x.length == 0) {\r\n customLanguage = \"\";\r\n }\r\n else {\r\n if (customLanguage == \"\") {\r\n customLanguage = x.languageName;\r\n }\r\n else {\r\n customLanguage = customLanguage.concat(\",\");\r\n customLanguage = customLanguage.concat(x.languageName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectStatus != undefined) {\r\n selectStatus.forEach(x => {\r\n if (x.length == 0) {\r\n customStatus = \"\";\r\n }\r\n else {\r\n if (customStatus == \"\") {\r\n customStatus = x.requirementStatusID;\r\n }\r\n else {\r\n customStatus = customStatus.concat(\",\");\r\n customStatus = customStatus.concat(x.requirementStatusID);\r\n }\r\n }\r\n })\r\n }\r\n if (this.roleID != \"28\") {\r\n if (selectBm != undefined) {\r\n selectBm.forEach(x => {\r\n if (x.length == 0) {\r\n customBm = \"\";\r\n }\r\n else {\r\n if (customBm == \"\") {\r\n customBm = x.bmCode;\r\n }\r\n else {\r\n customBm = customBm.concat(\",\");\r\n customBm = customBm.concat(x.bmCode);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n if (this.roleID != \"28\") {\r\n if (selectMa != undefined) {\r\n selectMa.forEach(x => {\r\n if (x.length == 0) {\r\n customMa = \"\";\r\n }\r\n else {\r\n if (customMa == \"\") {\r\n customMa = x.maName;\r\n }\r\n else {\r\n customMa = customMa.concat(\",\");\r\n customMa = customMa.concat(x.maName);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n if (selectMonth != undefined) {\r\n selectMonth.forEach(x => {\r\n if (x.length == 0) {\r\n customMonth = \"\";\r\n }\r\n else {\r\n if (customMonth == \"\") {\r\n customMonth = x.item_id;\r\n }\r\n else {\r\n customMonth = customMonth.concat(\",\");\r\n customMonth = customMonth.concat(x.item_id);\r\n }\r\n }\r\n })\r\n }\r\n if (selectState != undefined) {\r\n selectState.forEach(x => {\r\n if (x.length == 0) {\r\n customState = \"\";\r\n }\r\n else {\r\n if (customState == \"\") {\r\n customState = x.stateName;\r\n }\r\n else {\r\n customState = customState.concat(\",\");\r\n customState = customState.concat(x.stateName);\r\n }\r\n }\r\n })\r\n }\r\n this.selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.mcPlanningMaterialService.downloadFinalRequirementExcel(customJobNo, customRmh, customJob, customBrand, customCrop, customType,\r\n customLanguage, customStatus, customBm, customMa, customMonth, customState,this.roleID,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('mcmt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n let excelName = firstname + '_' + lastName + '_'+ cYear + '_FinalRequirement_' + 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 approveReviewFinalRequirement() {\r\n this.loader = 'block';\r\n let approvedQuantity: ApprovedQuantity[] = [];\r\n let active: number = 0;\r\n let error: boolean = false;\r\n let requestedQty : any;\r\n let quantity:any;\r\n this.mainReqDetail.forEach(function (detail) { \r\n if (detail.isActive == true) {\r\n let changed: boolean = false\r\n if (detail.isApprovedQuantityUpdated == 1) {\r\n changed = true;\r\n }\r\n else {\r\n changed = detail.approvedQuantity != detail.approvedQuantityCopy ? true : false;\r\n }\r\n var approvedQty = {\r\n RequirementDetailID: detail.jobNumber,\r\n Quantity: detail.approvedQuantity,\r\n IsChanged: changed,\r\n RequirementType: detail.requirementType\r\n };\r\n approvedQuantity.push(approvedQty)\r\n active = 1;\r\n if(detail.requestedQuantity.toString().includes(',')){\r\n requestedQty = detail.requestedQuantity.replaceAll(',', '');\r\n }\r\n else{\r\n requestedQty = detail.requestedQuantity;\r\n }\r\n if (detail.approvedQuantity > parseInt(requestedQty)) {\r\n error = true;\r\n } \r\n quantity=detail.approvedQuantity;\r\n\r\n // else{\r\n // this.toastr.error('Please enter approved quantity.');\r\n // this.loader = 'none';\r\n // }\r\n }\r\n });\r\n if(quantity==null){\r\n this.toastr.error('Approved quantity cannot be blank.');\r\n this.loader = 'none';\r\n }\r\n else if(quantity<0){\r\n this.toastr.error('Approved quantity cannot be negative.');\r\n this.loader = 'none';\r\n }\r\n else{\r\n if (active == 1) {\r\n if (error == false) {\r\n this.mcPlanningMaterialService.approveReviewFinalRequirement(approvedQuantity)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n if (resdata.data[0].status == 'true') {\r\n this.toastr.success(resdata.data[0].msg);\r\n this.selectedJobNumber = '';\r\n this.selectedRMHName = '';\r\n this.selectedJobType = '';\r\n this.selectedBrand = '';\r\n this.selectedCrop = '';\r\n this.selectedRequirementType = '';\r\n this.selectedLanguage = '';\r\n this.selectedStatus = '';\r\n if (this.roleID == '28') {\r\n this.selectedBM = '';\r\n }\r\n this.selectedMA = '';\r\n this.selectedMonth = '';\r\n this.selectedState = '';\r\n this.selected = 0;\r\n this.finalRequirementDetails();\r\n this.filter();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.data[0].msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n else{\r\n this.toastr.error('Approved Quantity cannot be more than Requested Quantity.');\r\n this.loader = 'none';\r\n }\r\n }\r\n \r\n else {\r\n this.toastr.error('Requirement not selected');\r\n this.loader = 'none';\r\n }\r\n }\r\n }\r\n\r\n filesAdd(files: File[]) {\r\n this.files = [];\r\n this.files = files;\r\n this.fileNameParts = files[0].name.split('.');\r\n this.fileType = files[0].name.split('.')[this.fileNameParts.length - 1];\r\n if (this.fileType != 'xls' && this.fileType != 'xlsx') {\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.loader = 'block';\r\n this.mcPlanningMaterialService.uploadApprovedQuantity(this.files[0])\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n if (resData.data == 1) {\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n else{ \r\n if (resData.data[0].status == 'true') {\r\n this.finalRequirementDetails();\r\n this.filter();\r\n this.toastr.success(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n else {\r\n this.toastr.error(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n } \r\n }\r\n }\r\n else {\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n this.files = [];\r\n this.loader = 'none';\r\n });\r\n this.files = this.files;\r\n this.fileName = this.files[0].name;\r\n }\r\n\r\n selectAll() {\r\n if (this.selected == 0) {\r\n if (this.roleID == \"47\" || this.roleID == \"51\") {\r\n this.requirementdetails.forEach(function (detail) {\r\n if (detail.status == \"Approval Pending By MC Team\") {\r\n detail.isActive = true;\r\n }\r\n })\r\n }\r\n else {\r\n this.requirementdetails.forEach(function (detail) {\r\n if (detail.status == \"Approval Pending By Brand Manager\") {\r\n detail.isActive = true;\r\n }\r\n })\r\n }\r\n }\r\n if (this.selected == 1) {\r\n if (this.roleID == \"47\" || this.roleID == \"51\") {\r\n this.requirementdetails.forEach(function (detail) {\r\n if (detail.status == \"Approval Pending By MC Team\") {\r\n detail.isActive = false;\r\n }\r\n })\r\n\r\n }\r\n else {\r\n this.requirementdetails.forEach(function (detail) {\r\n if (detail.status == \"Approval Pending By Brand Manager\") {\r\n detail.isActive = false;\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n check(index: any) {\r\n \r\n \r\n this.bgColor = 'white';\r\n this.color = '#000';\r\n if (this.requirementdetails[index].status == \"Approval Pending By Brand Manager\") {\r\n if (this.requirementdetails[index].requestedQuantity.replace(',', '') > this.requirementdetails[index].approvedQuantity) {\r\n if (this.requirementdetails[index].isApprovedQuantityUpdated == 1) {\r\n this.bgColor = '#f50008';\r\n this.color = '#fff';\r\n }\r\n }\r\n else {\r\n this.bgColor = 'white';\r\n this.color = '#000';\r\n }\r\n }\r\n else if (this.requirementdetails[index].status != \"Approval Pending By Brand Manager\" \r\n && this.requirementdetails[index].status != \"Approval Pending By MC Team\") {\r\n if (this.requirementdetails[index].isApprovedQuantityUpdated == 1) {\r\n this.bgColor = '#f50008';\r\n this.color = '#fff';\r\n }\r\n if(this.requirementdetails[index].requestedQuantity.replace(',', '') == this.requirementdetails[index].approvedQuantity && this.requirementdetails[index].approvedQuantity != 0) {\r\n this.bgColor = '#0a9020';\r\n this.color = '#fff';\r\n }\r\n }\r\n else {\r\n this.bgColor = 'white';\r\n this.color = '#000';\r\n }\r\n if (this.roleID == \"47\" || this.roleID==\"51\") {\r\n if (this.requirementdetails[index].status != \"Approval Pending By MC Team\") {\r\n return 'true'\r\n }\r\n else {\r\n return 'false'\r\n }\r\n }\r\n else if (this.roleID == \"28\" || this.roleID==\"51\"){\r\n if (this.requirementdetails[index].status != \"Approval Pending By Brand Manager\") {\r\n return 'true'\r\n }\r\n else {\r\n return 'false'\r\n }\r\n }\r\n else{\r\n return 'true'\r\n }\r\n }\r\n\r\n updateIsactive(index: any) {\r\n \r\n let selectedIdCustom = this.requirementdetails[index].jobNumber;\r\n let isActiveCustom = this.requirementdetails[index].isActive;\r\n let requirementTypeCustom = this.requirementdetails[index].requirementType;\r\n let priceCustom = this.requirementdetails[index].unitPrice;\r\n this.mainReqDetail.forEach(function (detail) {\r\n if (detail.jobNumber == selectedIdCustom && detail.requirementType == requirementTypeCustom && detail.unitPrice == priceCustom) {\r\n detail.isActive = isActiveCustom;\r\n }\r\n })\r\n\r\n }\r\n\r\n saveApprovedQuantity(index: any) {\r\n let idCustom = this.requirementdetails[index].jobNumber;\r\n let requirementTypeCustom = this.requirementdetails[index].requirementType;\r\n let qtyCustom = this.requirementdetails[index].requestedQuantity;\r\n let approvedQtyCustom = this.requirementdetails[index].approvedQuantity;\r\n this.mainReqDetail.forEach(function (detail) {\r\n if (detail.requirementType == requirementTypeCustom && detail.jobNumber == idCustom && detail.requestedQuantity == qtyCustom) {\r\n detail.approvedQuantity = approvedQtyCustom;\r\n }\r\n })\r\n }\r\n\r\n filter() {\r\n \r\n this.selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n var bm='';\r\n if(this.roleID !='28' && this.roleID !='39')\r\n {\r\n if(this.selectedBM !=undefined)\r\n {\r\n for(var i=0;i {\r\n customMa.forEach(element => {\r\n if (element.maName == detail.ma) {\r\n customRmh.push(detail.rMHCode);\r\n customState.push(detail.state);\r\n }\r\n });\r\n })\r\n this.finalReqFilters.rmhs.forEach(element => {\r\n customRmh.forEach(detail => {\r\n if (detail == element.rMHCode) {\r\n if (finalRmh.length == 0) {\r\n finalRmh.push(element);\r\n }\r\n else {\r\n finalRmh.forEach(x => {\r\n if (element.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalRmh.push(element);\r\n }\r\n active = true;\r\n }\r\n }\r\n })\r\n })\r\n this.finalReqFilters.states.forEach(element => {\r\n customState.forEach(detail => {\r\n if (detail == element.stateName) {\r\n if (finalState.length == 0) {\r\n finalState.push(element);\r\n }\r\n else {\r\n finalState.forEach(x => {\r\n if (x.stateName == element.stateName) {\r\n active = false\r\n }\r\n })\r\n if (active == true) {\r\n finalState.push(element);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedState = finalState;\r\n this.selectedRMHName = finalRmh;\r\n }\r\n\r\n onItemSelectBM() {\r\n let customBm = this.selectedBM;\r\n let customBrand = [];\r\n let finalBrand = [];\r\n let active: boolean = true;\r\n this.finalReqFilters.bmMapping.forEach(element => {\r\n customBm.forEach(detail => {\r\n if (element.bmName == detail.bmName) {\r\n customBrand.push(element.brandName);\r\n }\r\n });\r\n })\r\n this.finalReqFilters.brands.forEach(y => {\r\n customBrand.forEach(element => {\r\n if (element == y.brandName) {\r\n if (finalBrand.length == 0) {\r\n finalBrand.push(y);\r\n }\r\n else {\r\n finalBrand.forEach(x => {\r\n if (x.brandName == y.brandName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalBrand.push(y)\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedBrand = finalBrand;\r\n }\r\n \r\n onItemSelectState() {\r\n debugger;\r\n let customState: any[] = this.selectedState;\r\n let customRmh = [];\r\n let finalRMH = [];\r\n let customLanguage = [];\r\n let finalLanguage = [];\r\n let active: boolean = false;\r\n let check: boolean = true;\r\n this.finalReqFilters.maMapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.state != x.state) {\r\n active = true;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n active = false;\r\n }\r\n }\r\n }\r\n })\r\n })\r\n this.finalReqFilters.rmhs.forEach(x => {\r\n customRmh.forEach(detail => {\r\n if (x.rMHCode == detail.rMHCode) {\r\n if (finalRMH.length == 0) {\r\n finalRMH.push(x);\r\n }\r\n else {\r\n finalRMH.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n check = false;\r\n }\r\n })\r\n if (check == true) {\r\n finalRMH.push(x);\r\n }\r\n check = true;\r\n }\r\n }\r\n })\r\n })\r\n this.finalReqFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.state != x.state) {\r\n active = true;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n active = false;\r\n }\r\n }\r\n }\r\n })\r\n })\r\n this.finalReqFilters.languages.forEach(x => {\r\n customLanguage.forEach(detail => {\r\n if (x.languageName == detail.languageName) {\r\n if (finalLanguage.length == 0) {\r\n finalLanguage.push(x);\r\n }\r\n else {\r\n finalLanguage.forEach(y => {\r\n if (y.languageName == x.languageName) {\r\n check = false;\r\n }\r\n })\r\n if (check == true) {\r\n finalLanguage.push(x);\r\n }\r\n check = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedRMHName = finalRMH;\r\n this.selectedLanguage = finalLanguage;\r\n }\r\n\r\n onStateDeSelect() {\r\n this.onItemSelectState()\r\n }\r\n\r\n onBmDeSelect() {\r\n this.onItemSelectBM()\r\n }\r\n\r\n onMaDeSelect() {\r\n this.onItemSelectMA();\r\n }\r\n\r\n sort() {\r\n let sortedArray: any[] = [];\r\n let splitString: any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownList.forEach(x => {\r\n this.requirementdetails.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.requirementdetails = sortedArray;\r\n }\r\n else {\r\n this.dropdownList.forEach(x => {\r\n this.requirementdetails.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.requirementdetails = sortedArray.reverse();\r\n }\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n let parts = Intl.NumberFormat('en-IN');\r\n return parts.format(parseInt(value.replace(',','')));\r\n }\r\n}\r\n","module.exports = \".popup-wrapuli{ margin-left : 28%;}\\r\\n.colorRed{color: red;}\"","module.exports = \"
\\r\\n

Dashboard

\\r\\n \\r\\n \\r\\n
\\r\\n Download Excel\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n

    {{timeline.processName}} Due Date

    \\r\\n

    {{timeline.dueDate}}

    \\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
Job NumberPO NumberRMH/RBM NameRequirement TypeJob TypeBrandCropLanguageRequested QuantityApproved QuantityFinal Production QuantityRequirement MonthEstimated Delivery to WarehouseStatus
{{dashboardDetail.jobNumber}}\\r\\n {{dashboardDetail.poNumber}}{{dashboardDetail.rmhName}}{{dashboardDetail.requirementType}}{{dashboardDetail.jobType}}{{dashboardDetail.brand}}{{dashboardDetail.crop}}{{dashboardDetail.language}}{{ConvertToCurrency(dashboardDetail.requestedQuantity)}}{{ConvertToCurrency(dashboardDetail.approvedQuantity)}}{{ConvertToCurrency(dashboardDetail.finalProductionQty)}}{{dashboardDetail.requirementMonth}}{{dashboardDetail.estimatedDelivery}}{{dashboardDetail.orderStatus}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

{{remarks}}

\\r\\n
\\r\\n
    \\r\\n
  • Job Number : {{jobNumber}}
  • \\r\\n
  • PO Number : {{poNumber}}
  • \\r\\n
  • RMH/RBM Name : {{rmhName}}
  • \\r\\n
  • RMH/RBM ID : {{rmhID}}
  • \\r\\n
\\r\\n
    \\r\\n
  • Vendor Name : {{vendorName}}
  • \\r\\n
\\r\\n

Order Status

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

Requirement
Submitted

\\r\\n
\\r\\n
\\r\\n = 2\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

Requirement
Approved

\\r\\n
\\r\\n
\\r\\n = 3\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

Vendor
Finalized

\\r\\n
\\r\\n
\\r\\n = 4\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

PO Issued
{{poNumber}}

\\r\\n
\\r\\n
\\r\\n = 5\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

Artwork Production
Approved

\\r\\n
\\r\\n
\\r\\n = 6\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

Production In Process

\\r\\n
\\r\\n
\\r\\n = 7\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

Production Done

\\r\\n
\\r\\n
\\r\\n = 8\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

Material Received
by WH

\\r\\n
\\r\\n
\\r\\n = 9\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

Material Dispatch
to Field Team

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 CodeJob TypeBrandCropLanguagePO Issued
for QTY
Dispatched
Qty to Field
Dispatched
Date
Remaining Qty
to Dispatch
Number
of Boxes
TransporterRequirement Submission DateRequirement Submission DateRequirement Approved By BMRequirement Submission DateRequirement Approved By BMVendor FinalizedRequirement Submission DateRequirement Approved By BMVendor FinalizedPO IssuedRequirement Submission DateRequirement Approved By BMVendor FinalizedPO IssuedArtwork ApprovedRequirement Submission DateRequirement Approved By BMVendor FinalizedPO IssuedArtwork ApprovedProduction ApprovedRequirement Submission DateRequirement Approved By BMVendor FinalizedPO IssuedArtwork ApprovedProduction ApprovedDispatched by PrinterMaterial Received By WarehouseRequirement Submission DateRequirement Approved By BMVendor FinalizedPO IssuedArtwork ApprovedProduction ApprovedDispatched by PrinterMaterial Received By WarehouseMaterial Dispatch To Field Team
{{poDetail.regioncode}}{{poDetail.jobType}}{{poDetail.brand}}{{poDetail.crop}}{{poDetail.language}}{{ConvertToCurrency(poDetail.poQuantityApproved)}}{{ConvertToCurrency(poDetail.dispatchedQty)}}{{poDetail.dispatchedDate}}{{ConvertToCurrency(poDetail.remainingQty)}}{{ConvertToCurrency(poDetail.noOfBoxes)}}{{poDetail.transporter}}{{poDetail.requirementSubmissionDate}}{{poDetail.requirementSubmissionDate}}{{poDetail.requirementApprovedByBM}}{{poDetail.requirementSubmissionDate}}{{poDetail.requirementApprovedByBM}}{{poDetail.vendorFinalized}}{{poDetail.requirementSubmissionDate}}{{poDetail.requirementApprovedByBM}}{{poDetail.vendorFinalized}}{{poDetail.poIssued}}{{poDetail.requirementSubmissionDate}}{{poDetail.requirementApprovedByBM}}{{poDetail.vendorFinalized}}{{poDetail.poIssued}}{{poDetail.artworkApproved}}{{poDetail.requirementSubmissionDate}}{{poDetail.requirementApprovedByBM}}{{poDetail.vendorFinalized}}{{poDetail.poIssued}}{{poDetail.artworkApproved}}{{poDetail.productionApproval}}{{poDetail.requirementSubmissionDate}}{{poDetail.requirementApprovedByBM}}{{poDetail.vendorFinalized}}{{poDetail.poIssued}}{{poDetail.artworkApproved}}{{poDetail.productionApproval}}{{poDetail.materialAllocated}}{{poDetail.materialReceivedByWH}}{{poDetail.requirementSubmissionDate}}{{poDetail.requirementApprovedByBM}}{{poDetail.vendorFinalized}}{{poDetail.poIssued}}{{poDetail.productionApproval}}{{poDetail.productionApproval}}{{poDetail.materialAllocated}}{{poDetail.materialReceivedByWH}}{{poDetail.materialDispatchedtoFieldTeam}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { SessionService } from '../../Services/session.service';\r\nimport { EncryptionDecryptionService } from 'src/app/Services/encryption-decryption/encryption-decryption.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { saveAs } from 'file-saver';\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material\";\r\nimport { DashboardService } from 'src/app/Services/Dashboard/dashboard.service';\r\nimport { DashboardFilters, DashboardDetails, DropDownResponse, JobNumber, Brand } from 'src/app/Models/Dashboard/DashboardFilters';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css'],\r\n providers: [PagerService, DatePipe]\r\n})\r\nexport class HomeComponent implements OnInit {\r\n @ViewChild('jobnumber') jobnumber;\r\n @ViewChild('brand') brand;\r\n @ViewChild('crop') crop;\r\n @ViewChild('jobtype') jobtype;\r\n @ViewChild('language') language;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('requirementType') requirementType;\r\n @ViewChild('requirementYear') requirementYear;\r\n selectedYear: any[] = [];\r\n @ViewChild('status') status;\r\n @ViewChild('ma') ma;\r\n @ViewChild('month') month;\r\n bgcolor : string = '#000';\r\n userName: string;\r\n roleCode: string;\r\n userID: string;\r\n roleID: string;\r\n isActive : number;\r\n remarks : string;\r\n currentYearPlus: any;\r\n currentYear: any;\r\n\r\n selectedJobNumber: any = '';\r\n selectedRMHName: any = '';\r\n selectedJobType: any = '';\r\n selectedBrand: any = '';\r\n selectedCrop: any = '';\r\n selectedLanguage: any = '';\r\n selectedStatus: any = '';\r\n selectedMA: any = '';\r\n selectedRequirementType: any = '';\r\n selectedRequirementYear: any = '';\r\n details: DashboardDetails[] = [];\r\n orderStatus : number = 1;\r\n dashboardFilters: DashboardFilters = new DashboardFilters();\r\n displayToDoList: string = 'none';\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n displayPONumber: string = 'none';\r\n loader: string = 'none';\r\n path: string;\r\n displayPO: string = 'none';\r\n jobNumber: any;\r\n poNumber: any;\r\n rmhName: string;\r\n rmhID: string;\r\n vendorName : string;\r\n requirementSubmitted: number = 1;\r\n requirementApproved: number = 1;\r\n vendorFinalized: number = 0;\r\n poIssued: number = 0;\r\n artworkProductionApproved: number = 0;\r\n materialDispatch: number = 0;\r\n poDetails: any;\r\n processTimelineDetail: any;\r\n // pageSetting: number = 20;\r\n pageSetting: number = 20;\r\n pager: any = {};\r\n model: any[];\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n name: string;\r\n className : string = '';\r\n date = new Date();\r\n public jobNumberSettings = {};\r\n public brandSettings = {};\r\n public cropSettings = {};\r\n public jobTypeSettings = {};\r\n public languageSettings = {};\r\n public rmhSettings = {};\r\n public requirementTypeSettings = {};\r\n public requirementYearSettings = {};\r\n public statusSettings = {};\r\n public maSettings = {};\r\n public monthSettings = {};\r\n ascNumberSort: boolean = true;\r\n accessdata:string='';// add by deepanshu 15 june 2023\r\n currentDate: string;\r\n sortDirection: string = '';\r\n monthDropdown = [];\r\n dropdownList = [\r\n { item_id: '1', item_text: 'Jan' },\r\n { item_id: '2', item_text: 'Feb' },\r\n { item_id: '3', item_text: 'Mar' },\r\n { item_id: '4', item_text: 'Apr' },\r\n { item_id: '5', item_text: 'May' },\r\n { item_id: '6', item_text: 'Jun' },\r\n { item_id: '7', item_text: 'Jul' },\r\n { item_id: '8', item_text: 'Aug' },\r\n { item_id: '9', item_text: 'Sep' },\r\n { item_id: '10', item_text: 'Oct' },\r\n { item_id: '11', item_text: 'Nov' },\r\n { item_id: '12', item_text: 'Dec' }\r\n ];\r\n \r\n constructor(private session: SessionService,\r\n private encryptionDecryptionService: EncryptionDecryptionService,\r\n private router: Router, private activatedRoute: ActivatedRoute,\r\n private dialog: MatDialog, private dashboardService: DashboardService,\r\n private snackBar: MatSnackBarComponent, private _pagerService: PagerService,\r\n private datePipe: DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.currentDate = this.datePipe.transform(this.date, 'MM/dd/yyyy');\r\n this.name = localStorage.getItem('mcmt_userName');\r\n \r\n }\r\n ngOnInit(): void {\r\n clearInterval(this.session.id);\r\n this.session.startSession();\r\n this.processTimeline();\r\n this.selectedPaging = '0';\r\n this.getDashboardFiltersOnPageLoad();\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n if (this.roleID == '42' || this.roleID == '76') {\r\n this.selectedRMHName = this.userID;\r\n }\r\n\r\n this.currentYear = new Date();\r\n this.currentYearPlus = this.currentYear.getFullYear();\r\n\r\n this.dashboardService.dashboardDetails('', '', '', '', '', '', this.currentYearPlus, '', '','','')\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n this.details = resdata.data.detail;\r\n this.model = resdata.data.detail;\r\n this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n //this.DashboardDetails();\r\n this.jobNumberSetting();\r\n this.brandSetting();\r\n this.cropSetting();\r\n this.languageSetting();\r\n this.statusSetting();\r\n this.jobTypeSetting();\r\n this.rmhSetting();\r\n this.requirementTypeSetting();\r\n this.requirementYearSetting();\r\n this.maSetting();\r\n this.monthSetting();\r\n this.monthDropdown = [\r\n { \"id\": 1, \"itemName\": \"January\" },\r\n { \"id\": 2, \"itemName\": \"February\" },\r\n { \"id\": 3, \"itemName\": \"March\" },\r\n { \"id\": 4, \"itemName\": \"April\" },\r\n { \"id\": 5, \"itemName\": \"May\" },\r\n { \"id\": 6, \"itemName\": \"June\" },\r\n { \"id\": 7, \"itemName\": \"July\" },\r\n { \"id\": 8, \"itemName\": \"August\" },\r\n { \"id\": 9, \"itemName\": \"September\" },\r\n { \"id\": 10, \"itemName\": \"October\" },\r\n { \"id\": 11, \"itemName\": \"November\" },\r\n { \"id\": 12, \"itemName\": \"December\" }\r\n ];\r\n\r\n }\r\n\r\n\r\n dashboardDetails() {\r\n this.loader = 'block';\r\n let selectedJobnumber = '';\r\n let selectedRMH = '';\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedLanguage = '';\r\n let selectedRequirementType = '';\r\n let selectedRequirementYear = '';\r\n let selectedStatus = '';\r\n let selectedMA = '';\r\n let selectedMonth='';\r\n selectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (this.roleID != '42' && this.roleID != '76') {\r\n selectedRMH = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n selectedRMH = '';\r\n }\r\n if (this.roleID != '42' && this.roleID != '76' && this.roleID != '48'&& this.roleID!='57') {\r\n selectedMA = Array.prototype.map.call(this.ma.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n selectedMA = '';\r\n }\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.text; }).join(\",\");\r\n selectedLanguage = Array.prototype.map.call(this.language.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedRequirementType = Array.prototype.map.call(this.requirementType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedRequirementYear = Array.prototype.map.call(this.requirementYear.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedMonth = Array.prototype.map.call(this.month.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dashboardService.dashboardDetails(selectedJobnumber, selectedRMH, selectedJobtype,\r\n selectedBrand, selectedCrop, selectedRequirementType,selectedRequirementYear, selectedLanguage, selectedStatus, selectedMA,selectedMonth)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.details = resdata.data.detail;\r\n this.model = resdata.data.detail;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n getDashboardFiltersOnPageLoad() {\r\n this.loader = 'block';\r\n this.dashboardService.dashboardFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n debugger;\r\n //this.dashboardFilters = resData.data as DashboardFilters;\r\n this.ddlResponse = resData.data;\r\n this.accessdata=resData.data.access[0].access; //add by deepanshu 15 june\r\n sessionStorage.setItem('Acccess',this.accessdata);\r\n // alert(this.accessdata);//add by deepanshu 15 june\r\n //this.ddlResponse.brands=resData.data;\r\n this.onCurrentYearSelected(this.ddlResponse.requirementYear)\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n public onCurrentYearSelected(item: any) {\r\n class YearItemList{\r\n id: any;\r\n text: any;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : (new Date()).getFullYear().toString(),\r\n text: (new Date()).getFullYear().toString()\r\n }\r\n\r\n requiredItem.push(obj)\r\n this.requirementYear.selectedItems=requiredItem\r\n for (var i = 0; i < this.requirementYear.selectedItems.length; i++) {\r\n this.selectedYear.push(this.requirementYear.selectedItems[i].text)\r\n }\r\n //this.commaSeperatedStatus = this.selectedStatusType.join(\", \");\r\n this.requirementYearSetting();\r\n }\r\n\r\n\r\n\r\n getDashboardFilters() {\r\n this.loader = 'block';\r\n this.dashboardService.dashboardFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.ddlResponse = resData.data;\r\n \r\n \r\n this.ascNumberSort = true;\r\n this.sortDirection = '';\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.ascNumberSort = true;\r\n this.sortDirection = '';\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n excelDownload() {\r\n this.loader = 'block';\r\n let selectedJobnumber = '';\r\n let selectedRMH = '';\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedLanguage = '';\r\n let selectedRequirementType = '';\r\n let selectedRequirementYear = '';\r\n let selectedStatus = '';\r\n let selectedMA = '';\r\n let selectedMonth='';\r\n selectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (this.roleID != '42' && this.roleID != '76') {\r\n selectedRMH = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n selectedRMH = '';\r\n }\r\n if (this.roleID != '42' && this.roleID != '76' && this.roleID != '48'&& this.roleID!='57') {\r\n selectedMA = Array.prototype.map.call(this.ma.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n selectedMA = '';\r\n }\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.text; }).join(\",\");\r\n selectedLanguage = Array.prototype.map.call(this.language.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedRequirementType = Array.prototype.map.call(this.requirementType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedRequirementYear = Array.prototype.map.call(this.requirementYear.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedMonth = Array.prototype.map.call(this.month.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n\r\n this.dashboardService.downloadExcel(selectedJobnumber, selectedRMH, selectedJobtype,\r\n selectedBrand, selectedCrop, selectedRequirementType,selectedRequirementYear, selectedLanguage,\r\n selectedStatus, selectedMA,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('mcmt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n let excelName = firstname + '_' + lastName + '_Dashboard_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n downloadLink(fileName: string): void {\r\n let url: string = '/Templates/' + fileName;\r\n this.dashboardService.downloadFile(fileName, url);\r\n }\r\n changeJobNumber(event: any) {\r\n this.selectedJobNumber = event.target.value;\r\n }\r\n changeRMHName(event: any) {\r\n this.selectedRMHName = event.target.value;\r\n }\r\n changeJobType(event: any) {\r\n this.selectedJobType = event.target.value;\r\n }\r\n changeBrand(event: any) {\r\n this.selectedBrand = event.target.value;\r\n }\r\n changeCrop(event: any) {\r\n this.selectedCrop = event.target.value;\r\n }\r\n changeLanguage(event: any) {\r\n this.selectedLanguage = event.target.value;\r\n }\r\n changeRequirementType(event: any) {\r\n this.selectedRequirementType = event.target.value;\r\n }\r\n changeRequirementYear(event: any) {\r\n this.selectedRequirementYear = event.target.value;\r\n }\r\n changeOrderStatus(event: any) {\r\n this.selectedStatus = event.target.value;\r\n }\r\n filter() {\r\n this.dashboardDetails();\r\n }\r\n logout() {\r\n this.session.logout();\r\n }\r\n\r\n openToDoList() {\r\n this.displayToDoList = 'block';\r\n }\r\n\r\n closeToDoList() {\r\n this.displayToDoList = 'none';\r\n }\r\n openPO(poNumber: string, rmhName: string, jobNumber: any, status : string) {\r\n this.dashboardService.getPODetails(jobNumber)\r\n .subscribe((resData: any) => {\r\n debugger;\r\n if (resData.status == true) {\r\n this.poDetails = resData.data;\r\n console.log(this.poDetails);\r\n this.jobNumber = jobNumber;\r\n this.rmhName = rmhName;\r\n this.rmhID = resData.data[0].rmh;\r\n this.poNumber = poNumber;\r\n this.vendorName = resData.data[0].vendorName;\r\n this.isActive = resData.data[0].isActive;\r\n this.remarks = resData.data[0].cancellationStatus;\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n\r\n if(status == 'Vendor Finalization Pending'){\r\n this.orderStatus = 2;\r\n }\r\n else if(status == 'PO Issuance Pending'){\r\n this.orderStatus = 3;\r\n }\r\n else if(status == 'Artwork Required'){\r\n this.orderStatus = 4;\r\n }\r\n else if(status == 'Artwork Approval Awaited'){\r\n this.orderStatus = 4;\r\n }\r\n else if(status == 'Printer to Share JPEG'){\r\n this.orderStatus = 4;\r\n }\r\n else if(status == 'Production In Process'){\r\n this.orderStatus = 5;\r\n }\r\n else if(status == 'Production Done'){\r\n this.orderStatus = 6;\r\n }\r\n else if(status == 'Material To Be Received At WH'){\r\n this.orderStatus = 7;\r\n }\r\n else if(status == 'Material received by Warehouse'){\r\n this.orderStatus = 8;\r\n }\r\n else if(status == 'Dispatched by Printer'){//'Material Allocation To Be Received'){\r\n this.orderStatus = 7;\r\n }\r\n else if(status == 'Dispatch To Field In Process'){\r\n this.orderStatus = 8;\r\n }\r\n else if(status == 'Field Team Confirmation Pending'){\r\n this.orderStatus = 9;\r\n }\r\n else if(status == 'Received by Field team'){\r\n this.orderStatus = 9;\r\n }\r\n else if(status == 'JobNumber Cancelled'){\r\n var currentStatus = resData.data[0].statusWhenCancel;\r\n if(currentStatus == 'Vendor Finalization Pending'){\r\n this.orderStatus = 2;\r\n }\r\n else if(currentStatus == 'PO Issuance Pending'){\r\n this.orderStatus = 3;\r\n }\r\n else if(currentStatus == 'Artwork Required'){\r\n this.orderStatus = 4;\r\n }\r\n else if(currentStatus == 'Artwork Approval Awaited'){\r\n this.orderStatus = 4;\r\n }\r\n else if(currentStatus == 'Printer to Share JPEG'){\r\n this.orderStatus = 4;\r\n }\r\n else if(currentStatus == 'Production In Process'){\r\n this.orderStatus = 5;\r\n }\r\n else \r\n {\r\n this.orderStatus = 1;\r\n }\r\n }\r\n else{\r\n this.orderStatus = 1;\r\n }\r\n\r\n this.displayPO = 'block';\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n }\r\n }\r\n );\r\n }\r\n\r\n closePO() {\r\n this.displayPO = 'none'; \r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n\r\n processTimeline() {\r\n this.dashboardService.getProcessTimeline()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.processTimelineDetail = resData.data;\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getJobnumberWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedJobnumber = '';\r\n selectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dashboardService.getrmhonjobnumberselection(selectedJobnumber, '', '', '')\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.jobnumber.selectedItems = response.data.selectedjobnumber.map(item => { return { id: item.jobNumber, text: item.jobNumber } });\r\n this.brand.selectedItems = response.data.brands.map(item => { return { id: item.brandID, text: item.brandName } });\r\n this.crop.selectedItems = response.data.crops.map(item => { return { id: item.cropID, text: item.cropName } });\r\n this.jobtype.selectedItems = response.data.jobTypes.map(item => { return { id: item.jobTypeID, text: item.jobTypeName } });\r\n this.language.selectedItems = response.data.languages.map(item => { return { id: item.languageID, text: item.languageName } });\r\n if (this.roleID != '42' && this.roleID != '76') {\r\n this.rmh.selectedItems = response.data.rmhs.map(item => { return { id: item.rMHCode, text: item.rMHName } });\r\n\r\n }\r\n if (this.roleID != '42' && this.roleID != '76' && this.roleID != '48' && this.roleID!='57') {\r\n this.ma.selectedItems = response.data.ma.map(item => { return { id: item.ma, text: item.ma } });\r\n }\r\n this.requirementType.selectedItems = response.data.requirementTypes.map(item => { return { id: item.requirementTypeID, text: item.requirementTypeName } });\r\n this.requirementYear.selectedItems = response.data.requirementYear.map(item => { return { id: item.year, text: item.year } });\r\n \r\n this.status.selectedItems = response.data.status.map(item => { return { id: item.requirementStatusID, text: item.requirementStatusName } });\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n getRMHWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedRMH = '';\r\n selectedRMH = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dashboardService.getrmhonjobnumberselection('', selectedRMH, '', '')\r\n .subscribe((response) => {\r\n if (response.status) {\r\n\r\n this.language.selectedItems = response.data.languages.map(item => { return { id: item.languageID, text: item.languageName } });\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n getMAWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedMA = '';\r\n selectedMA = Array.prototype.map.call(this.ma.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dashboardService.getrmhonjobnumberselection('', '', '', selectedMA)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = response.data.rmhs.map(item => { return { id: item.rMHCode, text: item.rMHName } });\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n getbrandWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedbrand = '';\r\n selectedbrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dashboardService.getrmhonjobnumberselection('', '', selectedbrand, '')\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.brands.length > 0) {\r\n this.brand.selectedItems = response.data.brands.map(item => { return { id: item.brandID, text: item.brandName } });\r\n this.crop.selectedItems = response.data.crops.map(item => { return { id: item.cropID, text: item.cropName } });\r\n this.jobtype.selectedItems = response.data.jobTypes.map(item => { return { id: item.jobTypeID, text: item.jobTypeName } });\r\n this.language.selectedItems = response.data.languages.map(item => { return { id: item.languageID, text: item.languageName } });\r\n }\r\n else\r\n this.jobnumber.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n jobNumberSetting() {\r\n this.jobNumberSettings = {\r\n singleSelection: false,\r\n idField: 'jobNumber',\r\n textField: 'jobNumber',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Job Number Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n onJobNumberSelect(item: any) {\r\n this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n }\r\n onJobNumberSelectAll(item: any) {\r\n this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n }\r\n onJobNumberDeSelect(item: any) {\r\n this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n if (this.jobnumber.selectedItems.length == 0) {\r\n this.jobnumber.selectedItems = [];\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n if (this.roleID != '42' && this.roleID != '76') {\r\n this.rmh.selectedItems = [];\r\n }\r\n if (this.roleID != '42' && this.roleID != '76' && this.roleID != '48'&& this.roleID!='57') {\r\n this.ma.selectedItems = [];\r\n }\r\n this.requirementType.selectedItems = [];\r\n this.requirementYear.selectedItems = [];\r\n this.status.selectedItems = [];\r\n }\r\n }\r\n onJobNumberDeSelectAll(item: any) {\r\n\r\n if (this.roleID != '42' && this.roleID != '76') {\r\n this.getDashboardFiltersOnPageLoad();\r\n this.dashboardService.dashboardDetails('', '', '', '', '', '', '', '', '','','')\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.details = resdata.data.detail;\r\n this.model = resdata.data.detail;\r\n this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n this.jobnumber.selectedItems = [];\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n if (this.roleID != '42' && this.roleID != '76') {\r\n this.rmh.selectedItems = [];\r\n }\r\n if (this.roleID != '42' && this.roleID != '76' && this.roleID != '48'&& this.roleID!='57') {\r\n this.ma.selectedItems = [];\r\n }\r\n this.requirementType.selectedItems = [];\r\n this.requirementYear.selectedItems = [];\r\n this.status.selectedItems = [];\r\n }\r\n }\r\n onMASelect(item: any) {\r\n\r\n this.getMAWiseData(this.ma.selectedItems);\r\n\r\n }\r\n onMASelectAll(item: any) {\r\n this.getMAWiseData(this.ma.selectedItems);\r\n\r\n }\r\n onMADeSelect(item: any) {\r\n // this.jobnumber.selectedItems=[];\r\n this.rmh.selectedItems = [];\r\n }\r\n onMADeSelectAll(item: any) {\r\n //this.jobnumber.selectedItems=[];\r\n this.rmh.selectedItems = [];\r\n }\r\n onRMHSelect(item: any) {\r\n\r\n this.getRMHWiseData(this.rmh.selectedItems);\r\n\r\n }\r\n onRMHSelectAll(item: any) {\r\n this.getRMHWiseData(this.rmh.selectedItems);\r\n\r\n }\r\n\r\n onRMHDeSelect(item: any) {\r\n // this.jobnumber.selectedItems=[];\r\n this.language.selectedItems = [];\r\n }\r\n onRMHDeSelectAll(item: any) {\r\n //this.jobnumber.selectedItems=[];\r\n this.language.selectedItems = [];\r\n }\r\n onbrandSelect(item: any) {\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandSelectAll(item: any) {\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandDeSelect(item: any) {\r\n if (this.brand.selectedItems.length < 1) {\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n }\r\n else\r\n this.getbrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandDeSelectAll(item: any) {\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n }\r\n brandSetting() {\r\n this.brandSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Brand Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n cropSetting() {\r\n this.cropSettings = {\r\n singleSelection: false,\r\n idField: 'cropID',\r\n textField: 'cropName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Crop Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n jobTypeSetting() {\r\n this.jobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No JobType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n languageSetting() {\r\n this.languageSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Language Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n rmhSetting() {\r\n this.rmhSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RMH Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n requirementTypeSetting() {\r\n this.requirementTypeSettings = {\r\n singleSelection: false,\r\n idField: 'requirementTypeID',\r\n textField: 'requirementTypeName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RequirementType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n requirementYearSetting() {\r\n this.requirementYearSettings = {\r\n singleSelection: false,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RequirementYear Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n maSetting() {\r\n this.maSettings = {\r\n singleSelection: false,\r\n idField: 'ma',\r\n textField: 'ma',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RequirementType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n statusSetting() {\r\n this.statusSettings = {\r\n singleSelection: false,\r\n idField: 'requirementStatusID',\r\n textField: 'requirementStatusName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Status Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n monthSetting() {\r\n this.monthSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'itemName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Month Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n // Start :For Pagination\r\n setPage(page: number, pageSize: number) {\r\n // get pager object from service\r\n if (this.modalSetting == 0) {\r\n this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n this.details = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n else {\r\n if (this.modalSetting == 1) {\r\n this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n this.details = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n else {\r\n this.pager = this._pagerService.getPager(this.modelDepandent.length, page, pageSize);\r\n this.details = this.modelDepandent.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n }\r\n // get current page of items\r\n }\r\n\r\n sort() {\r\n let sortedArray: DashboardDetails[] = [];\r\n let splitString: any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownList.forEach(x => {\r\n this.model.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.details = sortedArray;\r\n }\r\n else {\r\n this.dropdownList.forEach(x => {\r\n this.model.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.details = sortedArray.reverse();\r\n }\r\n }\r\n\r\n color(index: any){\r\n if(this.details[index].approvedQuantity != ''){\r\n if(this.details[index].approvedQuantity == this.details[index].requestedQuantity && this.details[index].approvedQuantity != 0){\r\n this.bgcolor = '#fff';\r\n return '#0a9020';\r\n }\r\n else{\r\n this.bgcolor = '#fff';\r\n return '#f50008';\r\n }\r\n }\r\n else{\r\n this.bgcolor = '#000';\r\n }\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Inventory Management

\\r\\n
\\r\\n Download Excel\\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
RMH/RBM NameJob TypeBrandCropLanguageStateWH LocationQty Received at Warehouse-Stock InQTY Dispatched to Field Team-Stock OutQty of Material Damaged or SpoilFinal StockJob NumberStockIn DateStockOut DateAgeing (Days)StatusAction
{{detail.rmhName}}{{detail.jobType}}{{detail.brand}}{{detail.crop}}{{detail.language}}{{detail.state}}{{detail.whLocation}}{{ConvertToCurrency(detail.quantity)}}{{ConvertToCurrency(detail.stockOut)}}{{ConvertToCurrency(detail.materialDamaged)}}{{ConvertToCurrency(detail.finalStock)}}{{detail.jobNumber}}{{detail.stockInDate}}{{detail.stockOutDate}}{{detail.ageing}}{{detail.status}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Job Number:\\r\\n {{jobNumber}}\\r\\n
\\r\\n
\\r\\n RMH Name:\\r\\n {{RMHName}}\\r\\n
\\r\\n
\\r\\n Job Type:\\r\\n {{JobType}}\\r\\n
\\r\\n
\\r\\n Brand:\\r\\n {{Brand}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Crop:\\r\\n {{Crop}}\\r\\n
\\r\\n
\\r\\n Language:\\r\\n {{Language}}\\r\\n
\\r\\n
\\r\\n State:\\r\\n {{State}}\\r\\n
\\r\\n
\\r\\n Stock In Quantity:\\r\\n {{Quantity}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Qty of Material Damaged/Spoil\\r\\n \\r\\n
\\r\\n
\\r\\n Status \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\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 { Filter } from 'src/app/Models/InventoryManagement/filter';\r\nimport { InventoryData, MaterialDamaged } from 'src/app/Models/InventoryManagement/inventory-data';\r\nimport { InventoryService } from 'src/app/Services/InventoryManagement/inventory.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\nimport { identifierModuleUrl } from '@angular/compiler';\r\n\r\n@Component({\r\n selector: 'app-inventory-management',\r\n templateUrl: './inventory-management.component.html',\r\n styleUrls: ['./inventory-management.component.css'],\r\n providers: [PagerService, DatePipe]\r\n\r\n})\r\nexport class InventoryManagementComponent implements OnInit {\r\n loader: string = 'none';\r\n inverntoryFilters: Filter = new Filter();\r\n inventoryDetails: InventoryData[] = [];\r\n mainInventoryDetail: InventoryData[] = [];\r\n selectedRMHName: any;\r\n selectedWHLoaction: any;\r\n selectedLanguage: any;\r\n selectedCrop: any;\r\n selectedBrand: any;\r\n selectedJobType: any;\r\n selectedState: any;\r\n roleID: string;\r\n totalDataCount: any;\r\n totPage: number;\r\n pageSetting: number = 10;\r\n pager: any = {};\r\n model: any[];\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n date = new Date();\r\n currentDate: string;\r\n userName: string;\r\n displayEditPanel: string = 'none';\r\n isdisabledMaterialDamaged: string = 'false';\r\n dropdownSettings1: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings2: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings3: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings4: IDropdownSettings = {\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 };\r\n dropdownSettings5: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings6: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'whLocationID',\r\n textField: 'whLocationName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings7: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n jobNumber: any;\r\n RMHName : any;\r\n JobType : any;\r\n Brand : any;\r\n Crop : any;\r\n Language : any;\r\n State : any;\r\n MaterialDamaged : any;\r\n Status : any;\r\n Quantity : any;\r\n InventoryID:any;\r\n FinalStock:any;\r\n\r\n constructor(private router: Router, private inventoryService: InventoryService, private snackBar: MatSnackBarComponent,\r\n private _pagerService: PagerService, private datepipe: DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userName = localStorage.getItem('mcmt_userName');\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.inventoryFilters();\r\n this.selectedPaging = '0';\r\n this.inventoryDetail();\r\n }\r\n\r\n inventoryDetail() {\r\n this.loader = 'block';\r\n this.inventoryService.inventoryDetails(this.selectedRMHName, this.selectedState, this.selectedJobType, this.selectedBrand,\r\n this.selectedCrop, this.selectedLanguage, this.selectedWHLoaction)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.inventoryDetails = resdata.data.inventory;\r\n this.mainInventoryDetail = resdata.data.inventory;\r\n this.model = resdata.data.inventory;\r\n this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.data.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n inventoryFilters() {\r\n this.loader = 'block';\r\n this.inventoryService.inventoryFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.inverntoryFilters = resData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.data.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n // damagedMaterial(event) {\r\n // this.loader = 'block';\r\n // let approvedQuantity: MaterialDamaged[] = [];\r\n // this.inventoryDetails.forEach(function (detail) {\r\n // var approvedQty = {\r\n // InventoryId: detail.inventoryID,\r\n // MaterialDamaged: detail.materialDamaged,\r\n // Status: detail.status\r\n // };\r\n // approvedQuantity.push(approvedQty)\r\n // });\r\n // this.inventoryService.inventoryUpdate(approvedQuantity)\r\n // .subscribe((resData: any) => {\r\n // if (resData.status == true) {\r\n // this.inventoryDetails = resData.data;\r\n // this.model = resData.data.inventory;\r\n // location.reload();\r\n // this.toastr.success(resData.data.msg);\r\n // this.loader = 'none';\r\n // }\r\n // else {\r\n // this.toastr.error(resData.data.msg);\r\n // this.loader = 'none';\r\n // }\r\n // }\r\n // );\r\n // }\r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n let selectRmh: any[] = this.selectedRMHName;\r\n let selectJob: any[] = this.selectedJobType;\r\n let selectBrand: any[] = this.selectedBrand;\r\n let selectCrop: any[] = this.selectedCrop;\r\n let selectLanguage: any[] = this.selectedLanguage;\r\n let selectWh: any[] = this.selectedWHLoaction;\r\n let selectState: any[] = this.selectedState;\r\n let customRmh: string = \"\";\r\n let customJob: string = \"\";\r\n let customBrand: string = \"\";\r\n let customCrop: string = \"\";\r\n let customWh: string = \"\";\r\n let customLanguage: string = \"\";\r\n let customState: string = \"\";\r\n if (selectRmh != undefined) {\r\n selectRmh.forEach(x => {\r\n if (x.length == 0) {\r\n customRmh = \"\";\r\n }\r\n else {\r\n if (customRmh == \"\") {\r\n customRmh = x.rMHCode;\r\n }\r\n else {\r\n customRmh = customRmh.concat(\",\");\r\n customRmh = customRmh.concat(x.rMHCode);\r\n }\r\n }\r\n })\r\n }\r\n if (selectJob != undefined) {\r\n selectJob.forEach(x => {\r\n if (x.length == 0) {\r\n customJob = \"\";\r\n }\r\n else {\r\n if (customJob == \"\") {\r\n customJob = x.jobTypeName;\r\n }\r\n else {\r\n customJob = customJob.concat(\",\");\r\n customJob = customJob.concat(x.jobTypeName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectBrand != undefined) {\r\n selectBrand.forEach(x => {\r\n if (x.length == 0) {\r\n customBrand = \"\";\r\n }\r\n else {\r\n if (customBrand == \"\") {\r\n customBrand = x.brandName;\r\n }\r\n else {\r\n customBrand = customBrand.concat(\",\");\r\n customBrand = customBrand.concat(x.brandName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectCrop != undefined) {\r\n selectCrop.forEach(x => {\r\n if (x.length == 0) {\r\n customCrop = \"\";\r\n }\r\n else {\r\n if (customCrop == \"\") {\r\n customCrop = x.cropName;\r\n }\r\n else {\r\n customCrop = customCrop.concat(\",\");\r\n customCrop = customCrop.concat(x.cropName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectLanguage != undefined) {\r\n selectLanguage.forEach(x => {\r\n if (x.length == 0) {\r\n customLanguage = \"\";\r\n }\r\n else {\r\n if (customLanguage == \"\") {\r\n customLanguage = x.languageName;\r\n }\r\n else {\r\n customLanguage = customLanguage.concat(\",\");\r\n customLanguage = customLanguage.concat(x.languageName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectWh != undefined) {\r\n selectWh.forEach(x => {\r\n if (x.length == 0) {\r\n customWh = \"\";\r\n }\r\n else {\r\n if (customWh == \"\") {\r\n customWh = x.whLocationName;\r\n }\r\n else {\r\n customWh = customWh.concat(\",\");\r\n customWh = customWh.concat(x.whLocationName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectState != undefined) {\r\n selectState.forEach(x => {\r\n if (x.length == 0) {\r\n customState = \"\";\r\n }\r\n else {\r\n if (customState == \"\") {\r\n customState = x.stateName;\r\n }\r\n else {\r\n customState = customState.concat(\",\");\r\n customState = customState.concat(x.stateName);\r\n }\r\n }\r\n })\r\n }\r\n this.inventoryService.downloadInventoryExcel(customRmh, customState, customJob,\r\n customBrand, customCrop, customLanguage, customWh)\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('mcmt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n let excelName = firstname + '_' + lastName + '_Inventory_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No record/s available\");\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n updateDamagedMaterial(index: any) {\r\n // if (this.MaterialDamaged == 0 ) {\r\n // this.toastr.error('Material Damaged Quantity can not be Zero.');\r\n // return false;\r\n // }\r\n if (this.MaterialDamaged < 0) {\r\n this.toastr.error('Material Damaged Quantity can not be less than Zero.');\r\n return false;\r\n }\r\n if (this.MaterialDamaged > this.Quantity) {\r\n this.toastr.error('Material Damaged Quantity can not be greater than Stock In Quantity.');\r\n return false;\r\n }\r\n if (this.MaterialDamaged > this.FinalStock) {\r\n this.toastr.error('Material Damaged Quantity can not be greater than Final Stock.');\r\n return false;\r\n }\r\n this.loader = 'block';\r\n let approvedQuantity: MaterialDamaged[] = [];\r\n var approvedQty = {\r\n InventoryId: this.InventoryID,\r\n JobNumber: this.jobNumber,\r\n MaterialDamaged: this.MaterialDamaged,\r\n Status: this.Status\r\n };\r\n approvedQuantity.push(approvedQty)\r\n\r\n this.inventoryService.inventoryUpdate(approvedQuantity)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n // this.inventoryDetails = resData.data;\r\n // this.model = resData.data.inventory;\r\n // this.setPage(1, this.pageSetting)\r\n this.toastr.success(resData.message);\r\n this.loader = 'none';\r\n this.displayEditPanel= 'none';\r\n this.inventoryDetail();\r\n }\r\n else {\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n // Start :For Pagination\r\n setPage(page: number, pageSize: number) {\r\n // get pager object from service\r\n if (this.modalSetting == 0) {\r\n this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n this.inventoryDetails = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n else {\r\n if (this.modalSetting == 1) {\r\n this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n this.inventoryDetails = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n else {\r\n this.pager = this._pagerService.getPager(this.modelDepandent.length, page, pageSize);\r\n this.inventoryDetails = this.modelDepandent.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n }\r\n }\r\n\r\n\r\n filter() {\r\n let customRmh: any[] = this.selectedRMHName;\r\n let customBrand: any[] = this.selectedBrand;\r\n let customJob: any[] = this.selectedJobType;\r\n let customCrop: any[] = this.selectedCrop;\r\n let customLanguage: any[] = this.selectedLanguage;\r\n let customWH: any[] = this.selectedWHLoaction;\r\n let customState: any[] = this.selectedState;\r\n let filteredRmh = [];\r\n let filteredBrand = [];\r\n let filteredCrop = [];\r\n let filteredJob = [];\r\n let filteredLanguage = [];\r\n let filteredWH = [];\r\n let filteredState = [];\r\n let InventoryDetail: InventoryData[] = this.mainInventoryDetail;\r\n let resultDetail: InventoryData[] = [];\r\n let resultId = [];\r\n let filter: boolean = false;\r\n if (customRmh != undefined && customRmh.length > 0) {\r\n customRmh.forEach(element => {\r\n InventoryDetail.forEach(detail => {\r\n if (detail.rmhid == element.rMHCode) {\r\n filteredRmh.push(detail.rank);\r\n }\r\n })\r\n });\r\n resultId = filteredRmh;\r\n filter = true;\r\n }\r\n if (customBrand != undefined && customBrand.length > 0) {\r\n customBrand.forEach(element => {\r\n InventoryDetail.forEach(detail => {\r\n if (detail.brand == element.brandName) {\r\n filteredBrand.push(detail.rank);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredBrand.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredBrand;\r\n }\r\n filter = true;\r\n }\r\n if (customCrop != undefined && customCrop.length > 0) {\r\n customCrop.forEach(element => {\r\n InventoryDetail.forEach(detail => {\r\n if (detail.crop == element.cropName) {\r\n filteredCrop.push(detail.rank);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredCrop.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredCrop;\r\n }\r\n filter = true;\r\n }\r\n if (customJob != undefined && customJob.length > 0) {\r\n customJob.forEach(element => {\r\n InventoryDetail.forEach(detail => {\r\n if (detail.jobType == element.jobTypeName) {\r\n filteredJob.push(detail.rank);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredJob.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredJob;\r\n }\r\n filter = true;\r\n }\r\n if (customLanguage != undefined && customLanguage.length > 0) {\r\n customLanguage.forEach(element => {\r\n InventoryDetail.forEach(detail => {\r\n if (detail.language == element.languageName) {\r\n filteredLanguage.push(detail.rank);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredLanguage.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredLanguage;\r\n }\r\n filter = true;\r\n }\r\n if (customWH != undefined && customWH.length > 0) {\r\n customWH.forEach(element => {\r\n InventoryDetail.forEach(detail => {\r\n if (detail.whLocation == element.whLocationName) {\r\n filteredWH.push(detail.rank);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredWH.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredWH;\r\n }\r\n filter = true;\r\n }\r\n if (customState != undefined && customState.length > 0) {\r\n customState.forEach(element => {\r\n InventoryDetail.forEach(detail => {\r\n if (detail.state == element.stateName) {\r\n filteredState.push(detail.rank);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredState.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredState;\r\n }\r\n filter = true;\r\n }\r\n if (filter == true) {\r\n resultId.forEach(element => {\r\n InventoryDetail.forEach(detail => {\r\n if (detail.rank == element) {\r\n resultDetail.push(detail);\r\n }\r\n })\r\n })\r\n this.inventoryDetails = resultDetail;\r\n }\r\n else {\r\n this.inventoryDetails = this.mainInventoryDetail;\r\n }\r\n }\r\n onItemSelect() {\r\n\r\n }\r\n onSelectAll() {\r\n\r\n }\r\n\r\n viewPanel(JobNumber:any,RMHName:any,JobType:any,Brand:any,Crop:any,Language:any,State:any,MaterialDamaged:any,Status:any,Quantity:any,InventoryID:any,FinalStock:any) {\r\n this.displayEditPanel = 'block';\r\n this.jobNumber = JobNumber;\r\n this.RMHName = RMHName;\r\n this.JobType = JobType;\r\n this.Brand = Brand;\r\n this.Crop = Crop;\r\n this.Language = Language;\r\n this.State = State;\r\n this.MaterialDamaged = MaterialDamaged;\r\n this.Status = Status;\r\n this.Quantity = Quantity;\r\n this.InventoryID = InventoryID;\r\n this.FinalStock = FinalStock;\r\n if(this.Status == \"Blocked Material\")\r\n {\r\n this.isdisabledMaterialDamaged = 'true';\r\n }\r\n else{\r\n this.isdisabledMaterialDamaged = 'false';\r\n }\r\n }\r\n\r\n inventoryStatuschange()\r\n {\r\n if(this.Status == \"Blocked Material\")\r\n {\r\n this.isdisabledMaterialDamaged = 'true';\r\n }\r\n else{\r\n this.isdisabledMaterialDamaged = 'false';\r\n }\r\n }\r\n\r\n closeEditPanel() {\r\n this.displayEditPanel= 'none';\r\n const body = document. getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n\r\n onItemSelectState() {\r\n let customState: any[] = this.selectedState;\r\n let customRmh = [];\r\n let customWH = [];\r\n let finalRMH = [];\r\n let finalWH = [];\r\n let customLanguage = [];\r\n let finalLanguage = [];\r\n let active: boolean = false;\r\n let check: boolean = true;\r\n this.inverntoryFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.stateName == detail.stateName) {\r\n if (customWH.length == 0) {\r\n customWH.push(x);\r\n }\r\n else {\r\n customWH.forEach(y => {\r\n if (y.stateName != x.stateName) {\r\n active = true;\r\n }\r\n })\r\n if (active == true) {\r\n customWH.push(x);\r\n active = false;\r\n }\r\n }\r\n }\r\n })\r\n })\r\n this.inverntoryFilters.whLocations.forEach(x => {\r\n customWH.forEach(detail => {\r\n if (x.whLocationName == detail.whLocationName) {\r\n if (finalWH.length == 0) {\r\n finalWH.push(x);\r\n }\r\n else {\r\n finalWH.forEach(y => {\r\n if (x.whLocationName == y.whLocationName) {\r\n check = false;\r\n }\r\n })\r\n if (check == true) {\r\n finalWH.push(x)\r\n }\r\n check = true;\r\n }\r\n }\r\n })\r\n })\r\n this.inverntoryFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.stateName == detail.stateName) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.stateName != x.stateName) {\r\n active = true;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n active = false;\r\n }\r\n }\r\n }\r\n })\r\n })\r\n this.inverntoryFilters.rmh.forEach(x => {\r\n customRmh.forEach(detail => {\r\n if (x.rMHCode == detail.rMHCode) {\r\n if (finalRMH.length == 0) {\r\n finalRMH.push(x);\r\n }\r\n else {\r\n finalRMH.forEach(y => {\r\n if (x.rMHCode == y.rMHCode) {\r\n check = false;\r\n }\r\n })\r\n if (check == true) {\r\n finalRMH.push(x)\r\n }\r\n check = true\r\n }\r\n }\r\n })\r\n })\r\n this.inverntoryFilters.languageMapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.stateName != x.state) {\r\n active = true;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n active = false;\r\n }\r\n }\r\n }\r\n })\r\n })\r\n this.inverntoryFilters.languages.forEach(x => {\r\n customLanguage.forEach(detail => {\r\n if (x.languageName == detail.languageName) {\r\n if (finalLanguage.length == 0) {\r\n finalLanguage.push(x);\r\n }\r\n else {\r\n finalLanguage.forEach(y => {\r\n if (x.languageName == y.languageName) {\r\n check = false;\r\n }\r\n })\r\n if (check == true) {\r\n finalLanguage.push(x)\r\n }\r\n check = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedWHLoaction = finalWH;\r\n this.selectedRMHName = finalRMH;\r\n this.selectedLanguage = finalLanguage;\r\n }\r\n\r\n onStateDeSelect() {\r\n this.onItemSelectState()\r\n }\r\n ConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Specification and Addition of Job Items

\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
JobVisibility
{{job.jobType}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\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 { JobSpecificationService } from 'src/app/Services/admin-rights/job-specification.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { JobItemList } from 'src/app/Models/Admin/jobitemspecification';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-job-specification',\r\n templateUrl: './job-specification.component.html',\r\n styleUrls: ['./job-specification.component.css']\r\n})\r\nexport class JobSpecificationComponent implements OnInit {\r\n jobList: JobItemList[];\r\n loader: string = 'none';\r\n displayAddJob: string = 'none';\r\n jobItem: string = '';\r\n constructor(private snackBar: MatSnackBarComponent, private router: Router, private jobSpecificationService: JobSpecificationService,private toastr: ToastrService) {\r\n this.getJobList();\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n }\r\n\r\n getJobList() {\r\n this.loader = 'block';\r\n this.jobSpecificationService.getJobList()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.jobList = resdata.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n addJob() {\r\n this.displayAddJob = 'block';\r\n }\r\n\r\n closeAddJob() {\r\n this.displayAddJob = \"none\";\r\n }\r\n\r\n addJobitem() {\r\n if (this.jobItem == \"\" || this.jobItem == null) {\r\n this.toastr.error(\"Empty input Feild\");\r\n this.jobItem = \"\";\r\n }\r\n else {\r\n var addJobItem = {\r\n jobType: this.jobItem,\r\n isActive: true\r\n }\r\n this.jobList.push(addJobItem);\r\n this.jobItem = \"\";\r\n this.displayAddJob = \"none\"\r\n }\r\n }\r\n\r\n updateJobItemSpecification() {\r\n this.loader = 'block';\r\n let updateJobItemList: JobItemList[] = [];\r\n this.jobList.forEach(function (detail) {\r\n let addJobItem = {\r\n jobType: detail.jobType,\r\n isActive: detail.isActive\r\n };\r\n updateJobItemList.push(addJobItem)\r\n\r\n });\r\n this.jobSpecificationService.updateJobConfiguration(updateJobItemList)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.toastr.success('Job Item List have been Configured.');\r\n this.loader = 'none';\r\n this.getJobList();\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\nbutton[disabled=disabled], button:disabled \\r\\n{\\r\\n background: #eda99b;\\r\\n}\\r\\n\\r\\n.mat-radio-button.mat-accent .mat-radio-inner-circle {\\r\\n background-color: #dc5539;\\r\\n}\\r\\n\\r\\n.mat-radio-outer-circle {\\r\\n box-sizing: border-box;\\r\\n height: 20px;\\r\\n left: 0;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n transition: border-color cubic-bezier(0.58, 0.21, 0.27, 0.61) 280ms;\\r\\n width: 20px;\\r\\n border-width: 2px;\\r\\n border-style: solid;\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n.mat-radio-button\\r\\n{\\r\\n margin: 10px;\\r\\n}\"","module.exports = \"
\\r\\n

JobNumber Cancellation

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Select All
ActionJobNumberRMH/RBM NameStateRequirement MonthBrandJob TypeCropLanguageApproved QuantityCancelled QuantityRemarksStatus
{{detail.jobNumber}}{{detail.rmhName}}{{detail.state}}{{detail.requirementMonth}}{{detail.brand}}{{detail.jobType}}{{detail.crop}}{{detail.language}}{{ConvertToCurrency(detail.approvedQuantity)}}{{ConvertToCurrency(detail.cancelledQty)}}{{detail.remarks}} \\r\\n {{detail.status}}\\r\\n
No Records Found
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n JobNumber: {{JobnumberId}}\\r\\n Approved Qty: {{ApprovedQty}}\\r\\n \\r\\n Complete\\r\\n Partial\\r\\n \\r\\n Quantity: \\r\\n \\r\\n Remaining Qty: \\r\\n {{ApprovedQty}}\\r\\n 0\\r\\n {{mainRemainingQty}}\\r\\n Remarks(If any)\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

Every job number selected will be completely canceled. Are you sure you want to proceed

\\r\\n \\r\\n\\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 { MCPlanningMaterialService } from '../../Services/MCPlanningMaterial/mcplanningmaterial.service'\r\nimport { FinalRequirementDetails, RequirementDetailsZMH, RequirementDetails } from 'src/app/Models/MCPlanningMaterial/mcplanningmaterial';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component'\r\nimport { DropDownResponse, MultiSelectCancellation, Requesters } from 'src/app/Models/Dashboard/DashboardFilters';\r\nimport { Router } from '@angular/router';\r\nimport { element } from '@angular/core/src/render3/instructions';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-jobnumber-cancellation',\r\n templateUrl: './jobnumber-cancellation.component.html',\r\n styleUrls: ['./jobnumber-cancellation.component.css']\r\n\r\n})\r\nexport class JobnumberCancellationComponent implements OnInit {\r\n @ViewChild('jobnumber') jobnumber;\r\n @ViewChild('brand') brand;\r\n @ViewChild('crop') crop;\r\n @ViewChild('jobtype') jobtype;\r\n @ViewChild('language') language;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('status') status;\r\n @ViewChild('requester') requester;\r\n @ViewChild('year') year;\r\n // @ViewChild('ma') ma;\r\n public jobNumberSettings = {};\r\n public brandSettings = {};\r\n public cropSettings = {};\r\n public jobTypeSettings = {};\r\n public languageSettings = {};\r\n public rmhSettings = {};\r\n yearSettings: IDropdownSettings = {};\r\n public statusSettings = {};\r\n public requesterSettings = {};\r\n requirementId: string = '';\r\n public JobNumbers: any = [];\r\n public Remarks: any;\r\n multiSelectCancellation: MultiSelectCancellation[] = [];\r\n selectCheck: boolean = false;\r\n IsDisabled: boolean;\r\n loader: string = 'none';\r\n userID: string;\r\n roleID: string;\r\n selectedJobNumber: any = '';\r\n selectedRMHName: any = '';\r\n selectedJobType: any = '';\r\n selectedBrand: any = '';\r\n selectedCrop: any = '';\r\n selectedLanguage: any = '';\r\n selectedStatus: any = '';\r\n selectedRequested: any = '';\r\n selectedYear: any = '';\r\n displayPanel: string = 'none';\r\n displayMultiPanel: string = 'none';\r\n RemarksText: any;\r\n CancelledQty: any;\r\n fadeBackground: string;\r\n JobnumberId: any;\r\n ApprovedQty: any;\r\n remainingQty: any;\r\n cancellationType: any = '0';\r\n requirementdetails: RequirementDetails[] = [];\r\n //Added for Cancellation option (partial,full)\r\n cancelTrack: any = 0;\r\n mainRemainingQty: any;\r\n submitDisable: boolean = false;\r\n cancelTrackPartial: boolean = false;\r\n cancelTrackComplete: boolean = false;\r\n //End Add\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService, private router: Router, private snackBar: MatSnackBarComponent,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.displayPanel = 'none';\r\n this.fadeBackground = 'none';\r\n this.displayMultiPanel = 'none';\r\n this.getFiltersOnPageLoad();\r\n this.jobNumberSetting();\r\n this.brandSetting();\r\n this.cropSetting();\r\n this.languageSetting();\r\n this.statusSetting();\r\n this.requesterSetting();\r\n this.jobTypeSetting();\r\n this.rmhSetting();\r\n this.YearSettings(); \r\n }\r\n getFiltersOnPageLoad() {\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.getRequirementDetailsForJobCancellation()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n //this.dashboardFilters = resData.data as DashboardFilters;\r\n this.ddlResponse = resData.data;\r\n this.ddlResponse.year = resData.data.requirementYear;\r\n class YearItemList{\r\n id: string;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n this.selectedYear = this.ddlResponse.year[0].currentrequirementYear;\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem;\r\n let tempArray : Requesters[] = [];\r\n var temp;\r\n temp = {\r\n text : \"Request Raised by MC\"\r\n };\r\n tempArray.push(temp);\r\n temp = {\r\n text : \"Request Raised by MA\"\r\n };\r\n tempArray.push(temp);\r\n temp = {\r\n text : \"Cancel Job Number\"\r\n };\r\n tempArray.push(temp);\r\n this.ddlResponse.requester = tempArray;\r\n //this.ddlResponse.brands=resData.data;\r\n this.GetRequirementDetails();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n GetRequirementDetails() {\r\n this.selectedRMHName = \"\";\r\n this.selectedCrop = \"\";\r\n this.selectedBrand = \"\";\r\n this.selectedJobType = \"\";\r\n this.selectedLanguage = \"\";\r\n this.selectedStatus = \"\";\r\n this.selectedJobNumber = \"\";\r\n this.selectedRequested = \"\";\r\n this.mcPlanningMaterialService.GetRequirementDetailForJobCancellation(this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop, this.selectedLanguage, this.selectedStatus, this.selectedJobNumber, this.selectedRequested, this.selectedYear)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n this.requirementdetails = responseData.data;\r\n this.loader = 'none';\r\n this.fadeBackground = 'none';\r\n }\r\n else {\r\n this.requirementdetails = responseData.data;\r\n this.toastr.error('No records Available');\r\n this.loader = 'none';\r\n this.fadeBackground = 'none';\r\n }\r\n })\r\n\r\n }\r\n filter() {\r\n let selectedJobnumber = '';\r\n let selectedRMH = '';\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedLanguage = '';\r\n let selectedStatus = '';\r\n let selectedRequested = '';\r\n let selectedYear = '';\r\n selectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedRMH = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedLanguage = Array.prototype.map.call(this.language.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedRequested = Array.prototype.map.call(this.requester.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.mcPlanningMaterialService.GetRequirementDetailForJobCancellation(selectedRMH, selectedJobtype, selectedBrand, selectedCrop, selectedLanguage, selectedStatus, selectedJobnumber,selectedRequested,selectedYear)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n this.requirementdetails = responseData.data;\r\n this.loader = 'none';\r\n this.fadeBackground = 'none';\r\n }\r\n else {\r\n this.requirementdetails = responseData.data;\r\n this.toastr.error('No records Available');\r\n this.loader = 'none';\r\n this.fadeBackground = 'none';\r\n }\r\n })\r\n\r\n }\r\n checkSelected(index: number, jobnumber: string) {\r\n if (!this.requirementdetails[index][\"isActive\"] && this.requirementdetails[index][\"isDisable\"] == false) {\r\n //this.JobNumbers.splice(index-1,1);\r\n let i;\r\n i = this.JobNumbers.findIndex(item => item === jobnumber);\r\n this.JobNumbers.splice(i, 1);\r\n }\r\n else\r\n this.JobNumbers.push(this.requirementdetails[index][\"jobNumber\"]);\r\n }\r\n // check(index: any) {\r\n // if(this.requirementdetails[index][\"isActive\"])\r\n // {\r\n // return 'true'\r\n // }\r\n // else{\r\n // 'false'\r\n // }\r\n // }\r\n closePopup() {\r\n this.displayPanel = 'none';\r\n this.fadeBackground = 'none';\r\n this.displayMultiPanel = 'none';\r\n this.RemarksText = \"\";\r\n this.cancelTrack = 0;\r\n }\r\n displayPopup(jobnumber, approvedqty, requestedCancelledQty) {\r\n this.JobnumberId = jobnumber;\r\n this.ApprovedQty = approvedqty;\r\n this.remainingQty = approvedqty.replaceAll(',', '');\r\n this.mainRemainingQty = approvedqty.replaceAll(',', '');\r\n this.CancelledQty = requestedCancelledQty.replaceAll(',', '');\r\n this.displayPanel = 'block';\r\n this.fadeBackground = 'block';\r\n this.cancellationType = '0';\r\n this.cancelTrack == 0;\r\n if (requestedCancelledQty.replaceAll(',', '') > 0) {\r\n if (requestedCancelledQty.replaceAll(',', '') == approvedqty.replaceAll(',', '')) {\r\n this.cancelTrack = 1;\r\n var element = document.getElementById(\"cancelTrackRadioComplete\");\r\n element.classList.add(\"mat-radio-checked\");\r\n var element = document.getElementById(\"cancelTrackRadioPartial\");\r\n element.classList.remove(\"mat-radio-checked\");\r\n this.mainRemainingQty = this.remainingQty.replaceAll(',', '') - requestedCancelledQty.replaceAll(',', '');\r\n }\r\n else {\r\n this.cancelTrack = 2;\r\n var element = document.getElementById(\"cancelTrackRadioPartial\");\r\n element.classList.add(\"mat-radio-checked\");\r\n var element = document.getElementById(\"cancelTrackRadioComplete\");\r\n element.classList.remove(\"mat-radio-checked\");\r\n this.mainRemainingQty = this.remainingQty.replaceAll(',', '') - requestedCancelledQty.replaceAll(',', '');\r\n }\r\n }\r\n }\r\n\r\n CalculateRemainingQty(event: any) {\r\n this.mainRemainingQty = this.remainingQty;\r\n this.mainRemainingQty = this.remainingQty - event.target.value;\r\n }\r\n\r\n CancelTrackRadio(index: any) {\r\n if(index == 1){\r\n var element = document.getElementById(\"cancelTrackRadioComplete\");\r\n element.classList.add(\"mat-radio-checked\");\r\n var element = document.getElementById(\"cancelTrackRadioPartial\");\r\n element.classList.remove(\"mat-radio-checked\");\r\n }\r\n else{\r\n var element = document.getElementById(\"cancelTrackRadioPartial\");\r\n element.classList.add(\"mat-radio-checked\");\r\n var element = document.getElementById(\"cancelTrackRadioComplete\");\r\n element.classList.remove(\"mat-radio-checked\");\r\n }\r\n }\r\n\r\n ApproveRequirement(jobnumber) {\r\n this.loader = 'block';\r\n this.submitDisable = true;\r\n // if(this.JobNumbers.length==0)\r\n // {\r\n // this.toastr.error('Please Select Jobnumber', 'Close', 'red-snackbar');\r\n // this.RemarksText=\"\";\r\n // return false;\r\n // }\r\n if (this.cancelTrack == 0) {\r\n this.toastr.error('Please Select Cancellation Type.');\r\n return false;\r\n }\r\n if (this.cancelTrack == 1) {\r\n this.CancelledQty = this.ApprovedQty.replaceAll(',', '');\r\n }\r\n if (this.RemarksText == null) {\r\n this.RemarksText = \"\";\r\n }\r\n if (this.roleID == '51') {\r\n if (this.CancelledQty == null || this.CancelledQty == 0) {\r\n this.toastr.error('Please Enter Quantity to Cancel.');\r\n return false;\r\n }\r\n }\r\n if (this.roleID != '51') {\r\n if (this.CancelledQty == null || this.CancelledQty == 0) {\r\n this.CancelledQty = this.ApprovedQty.replaceAll(',', '')\r\n }\r\n }\r\n\r\n this.mcPlanningMaterialService.CancelJobnumbers(jobnumber, this.RemarksText, this.CancelledQty, this.ApprovedQty.replaceAll(',', ''))\r\n .subscribe((responseData: any) => {\r\n if (responseData.status) {\r\n this.toastr.success(responseData.message);\r\n this.submitDisable = false;\r\n this.filter();\r\n this.RemarksText = \"\";\r\n this.CancelledQty = \"\";\r\n this.ApprovedQty = \"\";\r\n this.loader = 'none';\r\n this.selectCheck = false;\r\n this.displayPanel = 'none';\r\n this.fadeBackground = 'none';\r\n this.JobNumbers = [];\r\n this.cancelTrack = 0;\r\n }\r\n else {\r\n this.toastr.error('Some error Occured,Could not update status');\r\n this.submitDisable = false;\r\n this.loader = 'none';\r\n this.displayPanel = 'none';\r\n this.RemarksText = \"\";\r\n this.CancelledQty = \"\";\r\n this.ApprovedQty = \"\";\r\n this.JobNumbers = [];\r\n this.fadeBackground = 'none';\r\n this.filter();\r\n }\r\n })\r\n }\r\n SelectAll() {\r\n this.JobNumbers = [];\r\n if (this.selectCheck == true) {\r\n this.requirementdetails.forEach(element => {\r\n if (element.status != \"JobNumber Cancelled\") {\r\n this.JobNumbers.push(element.jobNumber);\r\n element.isActive = true;\r\n }\r\n })\r\n }\r\n else {\r\n this.requirementdetails.forEach(element => {\r\n element.isActive = false;\r\n })\r\n }\r\n }\r\n // onJobNumberSelect(item: any) {\r\n // this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n\r\n // }\r\n // onJobNumberSelectAll(item: any) {\r\n\r\n // this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n\r\n // }\r\n // onJobNumberDeSelect(item: any) {\r\n // this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n // if (this.jobnumber.selectedItems.length == 0) {\r\n // this.jobnumber.selectedItems = [];\r\n // this.brand.selectedItems = [];\r\n // this.crop.selectedItems = [];\r\n // this.jobtype.selectedItems = [];\r\n // this.language.selectedItems = [];\r\n // if (this.roleID != '42') {\r\n // this.rmh.selectedItems = [];\r\n // }\r\n // if (this.roleID != '42' && this.roleID != '48') {\r\n // this.ma.selectedItems = [];\r\n // }\r\n // this.requirementType.selectedItems = [];\r\n // this.status.selectedItems = [];\r\n // }\r\n // }\r\n onJobNumberDeSelectAll(item: any) {\r\n\r\n this.jobnumber.selectedItems = [];\r\n // this.brand.selectedItems = [];\r\n // this.crop.selectedItems = [];\r\n // this.jobtype.selectedItems = [];\r\n // this.language.selectedItems = [];\r\n // this.rmh.selectedItems = [];\r\n // this.status.selectedItems = [];\r\n }\r\n\r\n YearSettings(){\r\n this.yearSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n onRMHDeSelect(item: any) {\r\n\r\n this.rmh.selectedItems = [];\r\n }\r\n onRMHDeSelectAll(item: any) {\r\n\r\n this.rmh.selectedItems = [];\r\n }\r\n // onRMHSelect(item: any) {\r\n\r\n // this.getRMHWiseData(this.rmh.selectedItems);\r\n\r\n // }\r\n // onRMHSelectAll(item: any) {\r\n // this.getRMHWiseData(this.rmh.selectedItems);\r\n\r\n // }\r\n\r\n\r\n // onbrandSelect(item: any) {\r\n // this.getbrandWiseData(this.brand.selectedItems);\r\n // }\r\n // onbrandSelectAll(item: any) {\r\n // this.getbrandWiseData(this.brand.selectedItems);\r\n // }\r\n // onbrandDeSelect(item: any) {\r\n // if (this.brand.selectedItems.length < 1) {\r\n // this.brand.selectedItems = [];\r\n // this.crop.selectedItems = [];\r\n // this.jobtype.selectedItems = [];\r\n // this.language.selectedItems = [];\r\n // }\r\n // else\r\n // this.getbrandWiseData(this.brand.selectedItems);\r\n // }\r\n // onbrandDeSelectAll(item: any) {\r\n // this.brand.selectedItems = [];\r\n // this.crop.selectedItems = [];\r\n // this.jobtype.selectedItems = [];\r\n // this.language.selectedItems = [];\r\n // }\r\n\r\n jobNumberSetting() {\r\n this.jobNumberSettings = {\r\n singleSelection: false,\r\n idField: 'jobNumber',\r\n textField: 'jobNumber',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Job Number Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n brandSetting() {\r\n this.brandSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Brand Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n cropSetting() {\r\n this.cropSettings = {\r\n singleSelection: false,\r\n idField: 'cropID',\r\n textField: 'cropName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Crop Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n jobTypeSetting() {\r\n this.jobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No JobType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n languageSetting() {\r\n this.languageSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Language Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n rmhSetting() {\r\n this.rmhSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RMH Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n statusSetting() {\r\n this.statusSettings = {\r\n singleSelection: false,\r\n idField: 'requirementStatusID',\r\n textField: 'requirementStatusName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Status Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n \r\n requesterSetting() {\r\n this.requesterSettings = {\r\n singleSelection: false,\r\n idField: 'text',\r\n textField: 'text',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Status Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n displayAllPopup(){\r\n let tempArray: MultiSelectCancellation[] = [];\r\n this.requirementdetails.forEach(element =>{\r\n if(element.isActive == true && element.isDisable != true){\r\n var obj = {\r\n JobNumber : element.jobNumber,\r\n Remarks: '',\r\n CancelledQty: element.finalQuantity.replaceAll(',', ''),\r\n ApprovedQty: element.finalQuantity.replaceAll(',', '')\r\n }\r\n tempArray.push(obj);\r\n }\r\n })\r\n this.multiSelectCancellation = tempArray;\r\n this.displayMultiPanel = 'block';\r\n this.fadeBackground = 'block';\r\n }\r\n\r\n CancelAllJobNumber(){\r\n this.mcPlanningMaterialService.CancelAllJobnumbers(this.multiSelectCancellation)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status) {\r\n this.toastr.success(responseData.message);\r\n this.submitDisable = false;\r\n this.GetRequirementDetails();\r\n this.RemarksText = \"\";\r\n this.CancelledQty = \"\";\r\n this.ApprovedQty = \"\";\r\n this.loader = 'none';\r\n this.selectCheck = false;\r\n this.displayPanel = 'none';\r\n this.fadeBackground = 'none';\r\n this.displayMultiPanel = 'none';\r\n this.JobNumbers = [];\r\n this.cancelTrack = 0;\r\n }\r\n else {\r\n this.toastr.error('Some error Occured,Could not update status');\r\n this.submitDisable = false;\r\n this.loader = 'none';\r\n this.displayPanel = 'none';\r\n this.displayMultiPanel = 'none';\r\n this.RemarksText = \"\";\r\n this.CancelledQty = \"\";\r\n this.ApprovedQty = \"\";\r\n this.JobNumbers = [];\r\n this.fadeBackground = 'none';\r\n this.GetRequirementDetails();\r\n }\r\n })\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n\\t\\t
\\r\\n\\t\\t\\\"img\\\"\\r\\n\\t

MC Material Tracking

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\t\\t Forgot your password?\\r\\n\\t
\\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 { User } from '../../models/login/user';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { global } from '../../models/global';\r\nimport {MatSnackBarComponent} from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\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,\r\n 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: ['MCMT'],\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('mcmt_token',resData.data.token);\r\n localStorage.setItem('mcmt_user', resData.data);\r\n sessionStorage.setItem('mcmt_userId', resData.data.userID);\r\n localStorage.setItem('mcmt_userId', resData.data.userID);\r\n localStorage.setItem('mcmt_userName', resData.data.userName.trim());\r\n localStorage.setItem('mcmt_roleID', resData.data.roleID);\r\n localStorage.setItem('mcmt_roleCode', resData.data.roleName.trim());\r\n this.router.navigate(['/MCMaterial/Dashboard']);\r\n sessionStorage.tabID ? sessionStorage.tabID : sessionStorage.tabID = Math.random();\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('mcmaterial.uat.fmcone.in') !== -1)\r\n url = 'https://cmaster.uat.fmcone.in/ForgotPassword';\r\n else\r\n url = 'https://cmaster.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}\r\n","module.exports = \"\"","module.exports = \"

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

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport {MatSnackBar} from '@angular/material';\r\n\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\r\n // this function will open up snackbar on top right position with custom background color (defined in css)\r\n\topenSnackBar(message: string, action: string, className: string) {\r\n\r\n this.snackBar.open(message, action, {\r\n duration: 20000,\r\n verticalPosition: 'top',\r\n horizontalPosition: 'end',\r\n panelClass: [className],\r\n });\r\n}\r\n}\r\n","module.exports = \"/* .popup-wrap .box-margin input\\r\\n{\\r\\n width:100%;\\r\\n}\\r\\n\\r\\n.border-box {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n width: 100%;\\r\\n border: solid 1px #d4d4d4;\\r\\n background: #fff;\\r\\n padding: 24px 0 0px 2%;\\r\\n margin: 0 0 10px 0;\\r\\n border-radius: 5px;\\r\\n min-height: 200px;\\r\\n}\\r\\n.vertical-table-fixed {\\r\\n overflow-y: auto;\\r\\n max-height: 500px;\\r\\n}\\r\\n.border-box .box {\\r\\n float: left;\\r\\n margin: 0 2% 0 0;\\r\\n position: relative;\\r\\n width: 23%;\\r\\n padding: 15px;\\r\\n}\\r\\n.vertical-table-fixed table td {\\r\\n line-height: 1.5;\\r\\n padding: 5px 10px;\\r\\n} */\\r\\n\\r\\n.filter\\r\\n{\\r\\nmargin: 10px;\\r\\n\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n

Material Allocation

\\r\\n\\r\\n
\\r\\n Upload\\r\\n Excel\\r\\n \\r\\n \\r\\n Download excel\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Confirm Receipt
Job NumberRMH/RBM NameStateRequirement MonthBrandJob TypeCropLanguageEstimated Delivery to WarehouseFinal Approved QuantityAllocated QuantityTotal remainingStatusView/Edit
{{detail.jobNumber}}{{detail.name}}{{detail.state}}{{detail.month}}{{detail.brand}}{{detail.jobType}}{{detail.cropName}}{{detail.language}}{{detail.deliveryDeadline}}{{ConvertToCurrency(detail.approvedQuantity)}}{{ConvertToCurrency(detail.allocatedQuantity)}}{{ConvertToCurrency(detail.totalRemaining)}}{{detail.status}}{{detail.isSavedAsDraft}}{{detail.isSubmitted}}\\r\\n
No Records Found
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Job Number\\r\\n \\r\\n
\\r\\n
\\r\\n RMH/RBM Name\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n State\\r\\n \\r\\n
\\r\\n
\\r\\n Brand\\r\\n \\r\\n
\\r\\n
\\r\\n Job Type\\r\\n \\r\\n
\\r\\n
\\r\\n Crop\\r\\n \\r\\n
\\r\\n
\\r\\n Language\\r\\n \\r\\n
\\r\\n Estimated Delivery to WH\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n Region\\r\\n \\r\\n
\\r\\n
\\r\\n Name of MIE/MDO/MC/SC/TM\\r\\n \\r\\n
\\r\\n
\\r\\n MIE/MDO/MC/SC/TM User ID\\r\\n \\r\\n
\\r\\n
\\r\\n Designation\\r\\n \\r\\n
\\r\\n
\\r\\n Final Approved Quantity\\r\\n \\r\\n
\\r\\n
\\r\\n Allocate Quantity\\r\\n \\r\\n
\\r\\n
\\r\\n Total Remaining Quantity\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Status\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n{{errorMessage}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Job NumberFinal Approved QuantityName of MIE/MDODesignationAllotted QuantityTotal remainingAction
{{detail.jobNumber}}{{detail.finalQuantity}}{{detail.userName}}{{detail.userRole}}{{ConvertToCurrency(detail.allocatedQuantity)}}{{ConvertToCurrency(detail.totalRemaining)}}
No Records Found
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Upload Material Allocation

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
JobNumberRMH NameStateJobTypeBrandLanguageCropNameApprovedQuantityStatusAllocateQuantityName of MIE/MDODesignationMIE/MDO UserID
{{detail.JobNumber}}{{detail.Name}}{{detail.State}}{{detail.JobType}}{{detail.Brand}}{{detail.Language}}{{detail.CropName}}{{ConvertToCurrency(detail.ApprovedQuantity)}}{{detail.Status}}{{ConvertToCurrency(detail.AllocatedQuantity)}}{{detail.UserName}}{{detail.Designation}}{{detail.UserID}}
No Records Found
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
JobNumberError
{{detail.jobNumber}}{{detail.statement}}
\\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 { DatePipe } from '@angular/common';\r\nimport { MCPlanningMaterialService } from '../../Services/MCPlanningMaterial/mcplanningmaterial.service';\r\nimport { MaterialAllocationFilter, MaterialAllocation, MaterialAllocationDetails, uploadException,Region, userID } from \"../../Models/MaterialAllocation/MaterialAllocation\"\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component'\r\nimport { PagerService } from '../../Services/pager.service'\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown'\r\nimport { Documents } from '../../Models/AnnualRequirement/ExcelDocuments'\r\nimport * as XLSX from \"xlsx\"\r\nimport { e } from '@angular/core/src/render3';\r\nimport { ELEMENT_PROBE_PROVIDERS } from '@angular/platform-browser/src/dom/debug/ng_probe';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-material-allocation',\r\n templateUrl: './material-allocation.component.html',\r\n styleUrls: ['./material-allocation.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class MaterialAllocationComponent implements OnInit {\r\n @ViewChild('requirementStatus') requirementStatus;\r\n @ViewChild('JobNumber') JobNumber;\r\n @ViewChild('State') State;\r\n @ViewChild('year') year;\r\n\r\n userID: string;\r\n roleID: string;\r\n\r\n selectedRMHName: string = '';\r\n selectedJobType: string = '';\r\n selectedBrand: string = '';\r\n selectedCrop: string = '';\r\n selectedLanguage: string = '';\r\n selectedMonth: string = '';\r\n currentStatus: string;\r\n selectedJobNumber: string;\r\n selectedState: string;\r\n selectedYear: any = '';\r\n quantity:number;\r\n\r\n materialAllocationFilters: MaterialAllocationFilter = new MaterialAllocationFilter();\r\n materialAllocation: MaterialAllocation[] = [];// new MaterialAllocation();\r\n materialAllocationDetails: MaterialAllocationDetails[] = [];//FinalRequirementDetails[] = [];//new FinalRequirementDetails();\r\n loader: string = 'none';\r\n files: File[] = [];\r\n fileName: string = '';\r\n pageSetting: number = 10;\r\n pager: any = {};\r\n model: MaterialAllocationDetails[] = [];\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n userName: string;\r\n Date = new Date();\r\n\r\n\r\n ascNumberSort: boolean = true;\r\n sortDirection: string = '';\r\n\r\n //Multiple dropdown select\r\n dropdownMonth = [];\r\n selectedItems = [];\r\n dropdownStatus = [];\r\n dropdownSettings: IDropdownSettings = {};\r\n dropdownCropSettings: IDropdownSettings = {};\r\n dropdownBrandSettings: IDropdownSettings = {};\r\n dropdownJobTypeSettings: IDropdownSettings = {};\r\n dropdownLanguageSettings: IDropdownSettings = {};\r\n dropdownRmhsSettings: IDropdownSettings = {};\r\n dropdownstatusSettings: IDropdownSettings = {};\r\n dropdownJobNumbersSetting: IDropdownSettings = {};\r\n dropdownstateSetting: IDropdownSettings = {};\r\n dropdownyearSetting: IDropdownSettings = {};\r\n\r\n //display of popup\r\n displayViewPanel: string = 'block';\r\n displayEditPanel: string = 'none';\r\n popJobNumber: string;\r\n popEstDel: string;\r\n popRMH: string;\r\n popLanguage: number;\r\n popState: string;\r\n popBrand: string;\r\n popJobType: string;\r\n popCrop: string;\r\n popFAQ: number;\r\n popName: string;\r\n popUserID: string;\r\n popDesg: string;\r\n popAQty: number;\r\n popStatus: number;\r\n popTotalremainingqty: number;\r\n popRequirmentID: number;\r\n hdnLimit: boolean = true;\r\n errorMessage: string;\r\n IsValidRole: boolean = false;\r\n selectCheck: boolean;\r\n TotalRemainingQuantity: number = 0;\r\n popRequirementType: number;\r\n popRegion:string;\r\n Region:Region[]=[];\r\n changeRegionFAQ:number;\r\n MIEMDOuserDetail:userID[]=[];\r\n accessdata:string='';// add by deepanshu 15 june 2023\r\n\r\n\r\n //upload excel\r\n document: Documents = new Documents();\r\n IsFileCorrect: boolean;\r\n arrayBuffer: any;\r\n filelist: any;\r\n displayUploadPanel: string = 'none';\r\n errorExcelUpload: uploadException[] = [];\r\n\r\n //Confirm Receipt\r\n confirmRequirementId: string = '';\r\n confirmJobNumber: string = '';\r\n\r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService, private snackBar: MatSnackBarComponent,\r\n private _pagerService: PagerService, private router: Router, private datePipe: DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.userName = localStorage.getItem('mcmt_userName');\r\n if (this.roleID == \"42\" || this.roleID == \"76\") {\r\n this.displayViewPanel = \"block\";\r\n }\r\n }\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.MaterialAllocationfilter();\r\n this.bindMonthDropdown();\r\n this.bindDropdown();\r\n this.applySearchFilter();\r\n this.hdnLimit = true;\r\n this.ascNumberSort = true;\r\n this.sortDirection = '';\r\n this.errorExcelUpload=null;\r\n }\r\n onItemSelect(event: any, filter: string) {\r\n debugger;\r\n if (filter == \"Month\") {\r\n if (this.selectedMonth.length == 1)\r\n this.selectedMonth += ',';\r\n this.selectedMonth += event.item_id + ',';\r\n\r\n }\r\n if (filter == \"RMH\") {\r\n if (this.selectedRMHName.length > 0 && this.selectedRMHName.indexOf(\",\") == -1)\r\n this.selectedRMHName += ',';\r\n this.selectedRMHName += \"'\" + event.rMHCode + \"'\" + ',';\r\n\r\n }\r\n if (filter == \"Crop\") {\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 == \"Brand\") {\r\n if (this.selectedBrand.length > 0 && this.selectedBrand.indexOf(\",\") == -1)\r\n \r\n this.selectedBrand += ',';\r\n // this.selectedBrand += \"'\" + event.brandName + \"'\" + ',';\r\n this.selectedBrand += event.brandName + ',';\r\n\r\n }\r\n if (filter == \"Language\") {\r\n if (this.selectedLanguage.length > 0 && this.selectedLanguage.indexOf(\",\") == -1)\r\n this.selectedLanguage += ',';\r\n this.selectedLanguage += event.languageID + ',';\r\n\r\n }\r\n if (filter == \"Jobtype\") {\r\n if (this.selectedJobType.length > 0 && this.selectedJobType.indexOf(\",\") == -1)\r\n this.selectedJobType += ',';\r\n this.selectedJobType += event.jobTypeID + ',';\r\n\r\n }\r\n }\r\n onSelectAll(event: any, filter: string) {\r\n\r\n if (filter == \"Month\") {\r\n this.selectedMonth = '';\r\n for (let item of event) {\r\n this.selectedMonth += item.item_id.toString() + ',';\r\n }\r\n\r\n }\r\n if (filter == \"RMH\") {\r\n this.selectedRMHName = '';\r\n for (let item of event) {\r\n this.selectedRMHName += \"'\" + item.rMHCode.toString() + \"'\" + ',';\r\n }\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 }\r\n if (filter == \"Brand\") {\r\n this.selectedBrand = '';\r\n for (let item of event) {\r\n this.selectedBrand += \"'\" + item.brandName.toString() + \"'\" + ',';\r\n }\r\n\r\n }\r\n if (filter == \"Language\") {\r\n this.selectedLanguage = '';\r\n for (let item of event) {\r\n this.selectedLanguage += item.languageID.toString() + ',';\r\n }\r\n\r\n }\r\n if (filter == \"Jobtype\") {\r\n this.selectedJobType = '';\r\n for (let item of event) {\r\n this.selectedJobType += item.jobTypeID.toString() + ',';\r\n }\r\n\r\n }\r\n }\r\n deSelectAll(event: any, filter: string) {\r\n if (filter == \"Month\")\r\n this.selectedMonth = '';\r\n if (filter == \"RMH\")\r\n this.selectedRMHName = '';\r\n if (filter == \"Jobtype\")\r\n this.selectedJobType = '';\r\n if (filter == \"Brand\")\r\n this.selectedBrand = '';\r\n if (filter == \"Crop\")\r\n this.selectedCrop = '';\r\n if (filter == \"Language\")\r\n this.selectedLanguage = '';\r\n }\r\n unSelect(event: any, filter: string) {\r\n switch (filter) {\r\n case \"Month\":\r\n {\r\n if (this.selectedMonth.indexOf(event.item_id + ',') != -1) {\r\n this.selectedMonth = this.selectedMonth.replace(event.item_id + ',', '');\r\n }\r\n else {\r\n this.selectedMonth = this.selectedMonth.replace(event.item_id, '');\r\n }\r\n break;\r\n }\r\n case \"RMH\":\r\n {\r\n if (this.selectedRMHName.indexOf(\"'\" + event.rMHCode + \"'\" + ',') != -1) {\r\n this.selectedRMHName = this.selectedRMHName.replace(\"'\" + event.rMHCode + \"'\" + \",\", '');\r\n }\r\n else {\r\n this.selectedRMHName = this.selectedMonth.replace(\"'\" + event.rMHCode + \"'\", '');\r\n }\r\n break;\r\n }\r\n case \"Jobtype\":\r\n {\r\n if (this.selectedJobType.indexOf(event.jobTypeID + ',') != -1) {\r\n this.selectedJobType = this.selectedJobType.replace(event.jobTypeID + ',', '');\r\n }\r\n else {\r\n this.selectedJobType = this.selectedJobType.replace(event.jobTypeID, '');\r\n }\r\n break;\r\n }\r\n case \"Brand\":\r\n {\r\n if (this.selectedBrand.indexOf(\"'\" + event.brandName + \"'\" + ',') != -1) {\r\n this.selectedBrand = this.selectedBrand.replace(\"'\" + event.brandName + \"'\" + \",\", '');\r\n }\r\n else {\r\n this.selectedBrand = this.selectedBrand.replace(\"'\" + event.brandName + \"'\", '');\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 \"Language\":\r\n {\r\n if (this.selectedLanguage.indexOf(event.languageID + ',') != -1) {\r\n this.selectedLanguage = this.selectedLanguage.replace(event.languageID + ',', '');\r\n }\r\n else {\r\n this.selectedLanguage = this.selectedLanguage.replace(event.languageID, '');\r\n }\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n bindMonthDropdown() {\r\n this.dropdownMonth = [\r\n { item_id: 1, item_text: 'January' },\r\n { item_id: 2, item_text: 'February' },\r\n { item_id: 3, item_text: 'March' },\r\n { item_id: 4, item_text: 'April' },\r\n { item_id: 5, item_text: 'May' },\r\n { item_id: 6, item_text: 'June' },\r\n { item_id: 7, item_text: 'July' },\r\n { item_id: 8, item_text: 'August' },\r\n { item_id: 9, item_text: 'September' },\r\n { item_id: 10, item_text: 'October' },\r\n { item_id: 11, item_text: 'November' },\r\n { item_id: 12, item_text: 'December' }\r\n ];\r\n this.dropdownStatus = [\r\n // { item_id: 3, item_text: 'Vendor Finalization Pending' },\r\n // { item_id: 4, item_text: 'PO Issuance Pending' },\r\n // { item_id: 5, item_text: 'Artwork Awaited' },\r\n { item_id: 6, item_text: 'Material Allocation To Be Received' },\r\n { item_id: 7, item_text: 'Material Allocation Received' },\r\n { item_id: 8, item_text: 'Dispatched by Printer' },\r\n { item_id: 9, item_text: 'Material To Be Received At WH' },\r\n { item_id: 10, item_text: 'Dispatch To Field In Process' },\r\n { item_id: 11, item_text: 'Field Team Confirmation Pending' },\r\n { item_id: 12, item_text: 'Received by Field team' }\r\n ];\r\n\r\n this.dropdownstatusSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n }\r\n\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n }\r\n bindDropdown() {\r\n this.dropdownCropSettings = {\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: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownBrandSettings = {\r\n singleSelection: false,\r\n idField: 'brandName',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownJobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownLanguageSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownRmhsSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownJobNumbersSetting = {\r\n singleSelection: false,\r\n idField: 'jobNumber',\r\n textField: 'jobNumber',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownstateSetting = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownyearSetting = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: false,\r\n enableCheckAll: false\r\n };\r\n }\r\n applySearchFilter() {\r\n this.GetMaterialAllocationScreen();\r\n }\r\n MaterialAllocationfilter() {\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.getMaterialAllocationFilter()\r\n .subscribe((responsedata: any) => {\r\n if (responsedata.status == true) {\r\n debugger;\r\n this.materialAllocationFilters = responsedata.data;\r\n this.accessdata=responsedata.data.access[0].access; //add by deepanshu 4 june\r\n // alert(this.accessdata);//add by deepanshu 4 june\r\n this.onCurrentRequirementYearSelected(this.materialAllocationFilters.year)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error('No data available in filters');\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n public onCurrentRequirementYearSelected(item: any) {\r\n class YearItemList{\r\n id: number;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : item[0].currentrequirementYear,\r\n text: item[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem\r\n // for (var i = 0; i < this.year.selectedItems.length; i++) {\r\n // this.selectedYear.push(this.year.selectedItems[i].text)\r\n // }\r\n this.dropdownyearSetting = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: false,\r\n enableCheckAll: false\r\n };\r\n }\r\n\r\n GetMaterialAllocationScreen() {\r\n debugger;\r\n this.loader = 'block';\r\n if (this.roleID == '42' || this.roleID == '76')\r\n // this.selectedRMHName = \"'\" + this.userID + \"'\";\r\n this.selectedRMHName = this.userID ;\r\n \r\n else\r\n this.selectedRMHName = \"'\" + this.userID + \"'\";\r\n //this.selectedRMHName = this.selectedRMHName.lastIndexOf(\",\") == this.selectedRMHName.length - 1 ? this.selectedRMHName.substring(0, this.selectedRMHName.lastIndexOf(\",\")) : this.selectedRMHName;\r\n this.selectedMonth = this.selectedMonth.lastIndexOf(',') == this.selectedMonth.length - 1 ? this.selectedMonth.substring(0, this.selectedMonth.length - 1) : this.selectedMonth;\r\n this.selectedCrop = this.selectedCrop.lastIndexOf(\",\") == this.selectedCrop.length - 1 ? this.selectedCrop.substring(0, this.selectedCrop.length - 1) : this.selectedCrop;\r\n this.selectedBrand = this.selectedBrand.lastIndexOf(\",\") == this.selectedBrand.length - 1 ? this.selectedBrand.substring(0, this.selectedBrand.lastIndexOf(\",\")) : this.selectedBrand;\r\n this.selectedLanguage = this.selectedLanguage.lastIndexOf(\",\") == this.selectedLanguage.length - 1 ? this.selectedLanguage.substring(0, this.selectedLanguage.length - 1) : this.selectedLanguage;\r\n this.selectedJobType = this.selectedJobType.lastIndexOf(\",\") == this.selectedJobType.length - 1 ? this.selectedJobType.substring(0, this.selectedJobType.length - 1) : this.selectedJobType;\r\n // this.selectedJobNumber = Array.prototype.map.call(this.JobNumber.selectedItems, function (item) { return \"'\" + item.id + \"'\"; }).join(\",\");\r\n this.selectedJobNumber = Array.prototype.map.call(this.JobNumber.selectedItems, function (item) { return item.id ; }).join(\",\");\r\n // this.selectedState = Array.prototype.map.call(this.State.selectedItems, function (item) { return \"'\" + item.id + \"'\"; }).join(\",\");\r\n this.selectedState = Array.prototype.map.call(this.State.selectedItems, function (item) { return item.id ; }).join(\",\");\r\n // this.currentStatus = Array.prototype.map.call(this.requirementStatus.selectedItems, function (item) { return \"'\" +item.text+ \"'\"; }).join(\",\");\r\n this.currentStatus = Array.prototype.map.call(this.requirementStatus.selectedItems, function (item) { return item.text ; }).join(\",\");\r\n \r\n \r\n if (this.currentStatus.length == 0)\r\n {\r\n if(this.roleID != '76')\r\n {\r\n this.currentStatus = Array.prototype.map.call(this.dropdownStatus,function(item){return \"'\" +item.item_text+ \"'\"; }).join(\",\"); \r\n }\r\n \r\n }\r\n this.selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n debugger;\r\n\r\n this.mcPlanningMaterialService.materialAllocationDetails(this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop, this.selectedLanguage, this.selectedMonth, this.selectedJobNumber, this.selectedState, this.currentStatus,this.selectedYear)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n debugger;\r\n this.materialAllocationDetails = responseData.data;\r\n this.model = responseData.data;\r\n this.loader = 'none';\r\n this.selectCheck=false;\r\n this.confirmJobNumber='';\r\n // this.setPage(1, this.pageSetting)\r\n }\r\n else {\r\n this.materialAllocationDetails = responseData.data;\r\n this.toastr.error('No record Available');\r\n this.loader = 'none';\r\n this.selectCheck=false;\r\n this.confirmJobNumber='';\r\n }\r\n })\r\n }\r\n viewPanel(detail: any) {\r\n debugger;\r\n this.popRequirmentID = detail.requirementDetailsID;\r\n this.popJobNumber = detail.jobNumber;\r\n this.popRegion='';\r\n this.MaterialAllocation(\"SELECT\", 0, false, false);\r\n this.displayEditPanel = 'block';\r\n this.displayViewPanel = 'none';\r\n \r\n }\r\n async viewEditPanel(detail: any) {\r\n debugger;\r\n this.popRequirmentID = detail.requirementDetailsID;\r\n this.popJobNumber = detail.jobNumber;\r\n this.popRequirementType = detail.requirementType;\r\n this.quantity=detail.finalQuantity;\r\n this.popRegion=detail.regioncode;\r\n debugger;\r\n this.MIEMDOuserDetail=this.materialAllocationFilters.userID.filter(m=>m.regionCode==detail.regioncode);\r\n if(this.MIEMDOuserDetail.length>0)\r\n {\r\n debugger;\r\n this.popUserID=this.MIEMDOuserDetail[0].userID \r\n this.popDesg=this.MIEMDOuserDetail[0].roleName; \r\n this.popName=this.MIEMDOuserDetail[0].name;\r\n }\r\n this.materialAllocation = [];\r\n\r\n if (detail.isSavedAsDraft == 0 && detail.isSubmitted==0) {\r\n this.displayEditPanel = 'block';\r\n this.displayViewPanel = 'block';\r\n this.popRMH = detail.rmhid;\r\n this.popEstDel = detail.deliveryDeadline;\r\n this.popState = detail.state;\r\n this.popLanguage = detail.languageID;\r\n this.popBrand = detail.brand;\r\n this.popJobType = detail.jobTypeID;\r\n this.popCrop = detail.cropID;\r\n // this.popFAQ = detail.finalQuantity;\r\n this.popAQty = 0;\r\n // this.popTotalremainingqty = detail.finalQuantity;\r\n // this.TotalRemainingQuantity = this.popTotalremainingqty;\r\n this.popStatus = detail.statusID;\r\n this.GetRegionDropdown(detail);\r\n await this.MaterialAllocation(\"GETSELECT\", 0, false, false)\r\n\r\n }\r\n else {\r\n await this.MaterialAllocation(\"GETSELECT\", 0, false, false)\r\n if (this.materialAllocation == null || this.materialAllocation.length == 0) {\r\n this.displayEditPanel = 'block';\r\n this.displayViewPanel = 'block';\r\n this.popRMH = detail.rmhid;\r\n this.popEstDel = detail.deliveryDeadline;\r\n this.popState = detail.state;//replace(/\\s/g, \"\");\r\n this.popLanguage = detail.languageID;\r\n this.popBrand = detail.brand;\r\n this.popJobType = detail.jobTypeID;\r\n this.popCrop = detail.cropID;\r\n // this.popFAQ = detail.finalQuantity;\r\n // this.popName = '';\r\n // this.popUserID = '';\r\n // this.popDesg = '';\r\n this.popAQty = 0;\r\n this.popStatus = detail.statusID;//6;\r\n this.TotalRemainingQuantity = detail.finalQuantity;\r\n\r\n this.IsValidRole = false;\r\n\r\n this.materialAllocation = [];\r\n this.errorMessage = \"\";\r\n this.GetRegionDropdown(detail);\r\n\r\n \r\n }\r\n }\r\n const body = document. getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n closeEditPanel() {\r\n this.displayEditPanel = 'none';\r\n this.TotalRemainingQuantity = 0;\r\n this.popTotalremainingqty = 0;\r\n this.materialAllocation = [];\r\n this.popRegion='';\r\n this.hdnLimit = true;\r\n this.MIEMDOuserDetail=[];\r\n this.applySearchFilter();\r\n const body = document. getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n AllocateQuantity(event: any) {\r\n if (Number(event.currentTarget.value) < 0) {\r\n event.currentTarget.value = \"0\";\r\n }\r\n else {\r\n if (this.popFAQ >= this.popAQty) {\r\n this.hdnLimit = true;\r\n if (this.TotalRemainingQuantity - this.popAQty >= 0) {\r\n this.popTotalremainingqty = this.TotalRemainingQuantity - this.popAQty;\r\n }\r\n else {\r\n this.hdnLimit = false;\r\n this.errorMessage = \"Allocated quantity exceed its limit\";\r\n }\r\n\r\n }\r\n else {\r\n this.hdnLimit = false;\r\n this.errorMessage = \"Allocated quantity exceed its limit\";\r\n }\r\n }\r\n }\r\n async DraftSave() {\r\n if (this.TotalRemainingQuantity >= 0 && this.popAQty > 0 && this.TotalRemainingQuantity - this.popAQty >= 0 && this.popName != undefined && this.popName !='') {\r\n await this.MaterialAllocation(\"INSERT\", 0, true, false); \r\n\r\n }\r\n else {\r\n this.toastr.error('Required fields can not be blank');\r\n }\r\n }\r\n async AllocationSubmit() {\r\n\r\n if (this.TotalRemainingQuantity >= 0 && this.TotalRemainingQuantity - this.popAQty >= 0 && this.popName != undefined && this.popName !='') {\r\n this.displayViewPanel = \"none\";\r\n const body = document. getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n await this.MaterialAllocation(\"SUBMIT\", 0, false, true);\r\n //await this.MaterialAllocation(\"GETSELECT\", 0, false, true);\r\n\r\n }\r\n \r\n else {\r\n this.toastr.error('Required fields can not be blank');\r\n }\r\n \r\n\r\n }\r\n async DeleteAllocation(details: any) {\r\n await this.MaterialAllocation(\"DELETE\", details.allocateID, false, false);\r\n }\r\n MaterialAllocation(Defination: string, AllotedId: number, IsSaveAsDraft: boolean, isSubmitted: boolean): Promise {\r\n this.mcPlanningMaterialService.SavematerialAllocationDetails(Defination, AllotedId, this.popRequirmentID, this.popJobNumber, this.popUserID, this.popDesg, this.popName, this.popFAQ, this.popAQty, this.popTotalremainingqty, IsSaveAsDraft, isSubmitted, this.popRequirementType,this.popRegion)\r\n .subscribe((responseData: any) => { \r\n if (responseData.status == true) {\r\n this.materialAllocation = [];\r\n this.materialAllocation = responseData.data; \r\n this.popTotalremainingqty = responseData.data[0][\"totalRemaining\"];\r\n this.TotalRemainingQuantity = responseData.data[0][\"totalRemaining\"];\r\n this.popAQty = 0;\r\n this.loader = 'none';\r\n }\r\n else { \r\n this.materialAllocation = [];\r\n this.popTotalremainingqty = this.quantity;\r\n this.TotalRemainingQuantity = this.quantity;\r\n this.popAQty = 0; \r\n this.loader = 'none';\r\n this.displayViewPanel='block';\r\n // this.toastr.error('No record available/Could not submit records,Please check the inputs', 'Close', 'red-snackbar');\r\n }\r\n })\r\n return;\r\n }\r\n GetRegionDropdown(detail: any) {\r\n this.mcPlanningMaterialService.GetMaterialAllocationRegion(this.popJobNumber)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n let countregion = 0;\r\n this.Region = [];\r\n this.Region = responseData.data;\r\n countregion = this.Region.length;\r\n if (countregion > 0) {\r\n this.popRegion = detail.regioncode;//this.Region[0].regionCode;\r\n this.changeRegionFAQ = this.Region.find(m => m.regionCode == detail.regioncode).approvedQuantity; //Math.floor(detail.finalQuantity/countregion);\r\n this.popFAQ = this.Region.find(m => m.regionCode == detail.regioncode).approvedQuantity;//Math.floor(detail.finalQuantity/countregion);\r\n this.popTotalremainingqty = this.Region.find(m => m.regionCode == detail.regioncode).totalRemaining;\r\n if (detail.isSavedAsDraft == 0 && detail.isSubmitted == 0) {\r\n this.TotalRemainingQuantity = this.Region.find(m => m.regionCode == detail.regioncode).totalRemaining;//Math.floor(detail.finalQuantity/countregion);\r\n this.popTotalremainingqty = this.Region.find(m => m.regionCode == detail.regioncode).totalRemaining;//Math.floor(detail.finalQuantity/countregion);\r\n this.quantity = this.changeRegionFAQ;\r\n }\r\n else {\r\n this.TotalRemainingQuantity = this.Region.find(m => m.regionCode == detail.regioncode).totalRemaining;//Math.floor(detail.finalQuantity/countregion);\r\n this.popTotalremainingqty = this.Region.find(m => m.regionCode == detail.regioncode).totalRemaining;//Math.floor(detail.finalQuantity/countregion);\r\n this.quantity = this.changeRegionFAQ;\r\n }\r\n \r\n }\r\n\r\n else {\r\n this.toastr.error('No Region code Found');\r\n }\r\n\r\n\r\n }\r\n else {\r\n this.popRegion = '';\r\n this.loader = 'none';\r\n // this.toastr.error('Some Error Occured/Due Date Exceeds,Could Not Submit Records', 'Close', 'red-snackbar');\r\n }\r\n })\r\n return;\r\n \r\n }\r\n changeRegion(countregion:number)\r\n {\r\n if(countregion>0)\r\n {\r\n this.popFAQ=this.Region.find(m=>m.regionCode==this.popRegion).approvedQuantity;//this.changeRegionFAQ;\r\n this.TotalRemainingQuantity=this.Region.find(m=>m.regionCode==this.popRegion).approvedQuantity;\r\n this.popTotalremainingqty=this.Region.find(m=>m.regionCode==this.popRegion).approvedQuantity;\r\n this.quantity=this.Region.find(m=>m.regionCode==this.popRegion).approvedQuantity;\r\n\r\n }\r\n this.MIEMDOuserDetail=[];\r\n this.MIEMDOuserDetail=this.materialAllocationFilters.userID.filter(m=>m.regionCode==this.popRegion);\r\n if(this.MIEMDOuserDetail.length>0)\r\n {\r\n this.popUserID=this.MIEMDOuserDetail[0].userID \r\n this.popDesg=this.MIEMDOuserDetail[0].roleName; \r\n this.popName=this.MIEMDOuserDetail[0].name;\r\n }\r\n this.MaterialAllocation(\"GETSELECT\", 0, false, false);\r\n \r\n }\r\n changeName(details: any) {\r\n debugger;\r\n this.popDesg = details.find(m => m.name == this.popName).roleName;\r\n this.popUserID = details.find(m => m.name == this.popName).userID;\r\n }\r\n excelDownload() {\r\n this.loader = 'block';\r\n this.selectedMonth = this.selectedMonth.lastIndexOf(',') == this.selectedMonth.length - 1 ? this.selectedMonth.substring(0, this.selectedMonth.length - 1) : this.selectedMonth;\r\n this.selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.mcPlanningMaterialService.DownloadmaterialAllocationExcel(this.selectedMonth,this.selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n //let roleId=localStorage.getItem('mcmt_roleID');\r\n var date = new Date();\r\n var latest_date = this.datePipe.transform(date, 'dd-MMM-yy');\r\n var Name = localStorage.getItem('mcmt_userName').split(' ');\r\n var Firstname = Name[0];\r\n var LastName = Name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n var ExcelName = Firstname + '_' + LastName + '_'+ cYear + '_MaterialAllocation_' + latest_date + '.xlsx';\r\n // let ExcelName =this.userID+'_MaterialAllocation_' + date.getDate() + '_' + date.getMonth() + '_' + date.getUTCFullYear() + '.xlsx';\r\n if (success.size > 0)\r\n saveAs(success, ExcelName);\r\n else\r\n this.toastr.error(\"No Records Available.\");\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No Records Available.\");\r\n this.loader = 'none';\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n filesDroppedAdd(files: File[]) {\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 CorrectFileName = 'MaterialAllocation'\r\n //console.log(fileNameParts[0].includes(CorrectFileName));\r\n if (fileNameParts[0].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.toastr.error('Please Select Valid File.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error('Please Select Valid File Type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else {\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n let fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(this.files[0]);\r\n fileReader.onload = (e) => {\r\n this.arrayBuffer = fileReader.result;\r\n var data = new Uint8Array(this.arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\" });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n this.filelist = XLSX.utils.sheet_to_json(worksheet, { raw: true });\r\n this.displayUploadPanel = 'block';\r\n this.files = [];\r\n this.loader = 'none';\r\n }\r\n }\r\n \r\n }\r\n closeUploadPanel() {\r\n this.displayUploadPanel = 'none';\r\n this.errorExcelUpload = null;\r\n //window.location.reload();\r\n }\r\n UploadSubmit() {\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.UploadmaterialAllocationExcel(this.filelist).subscribe((responseData: any) => {\r\n if (responseData.message == 'Successful!') //responseData.status = 'OK' &&\r\n {\r\n this.toastr.success('File Uploaded Successfully');\r\n this.loader = 'none';\r\n this.displayUploadPanel = 'none';\r\n this.GetMaterialAllocationScreen();\r\n \r\n }\r\n else if (responseData.message == \"Error in excel!\")//responseData.status = 'OK' && \r\n {\r\n this.toastr.error('Invalid excel data,Please correct the excel data');\r\n this.loader = 'none';\r\n this.filelist = null;\r\n this.errorExcelUpload = responseData.data;\r\n this.displayUploadPanel = 'block';\r\n }\r\n else {\r\n this.toastr.error('Some error occured while uploading file');\r\n this.loader = 'none';\r\n this.displayUploadPanel = 'none';\r\n }\r\n });\r\n\r\n\r\n // err=>{\r\n // this.toastr.error('Some error occured while uploading file', 'Close', 'red-snackbar');\r\n // this.loader = 'none';\r\n // this.displayUploadPanel = 'none';\r\n }\r\n ConfirmReceipt() {\r\n if ( this.confirmJobNumber != \"\" && this.confirmJobNumber != \",\") {\r\n // this.confirmRequirementId = \"\";\r\n // this.materialAllocationDetails.forEach(element => {\r\n // // if(element.status=='Material dispatched to Field team')\r\n // this.confirmRequirementId += element.isSelected == undefined || element.isSelected == false ? \"\" :\"'\"+ element.requirementDetailsID + \"'\"+\",\";\r\n // });\r\n this.mcPlanningMaterialService.SavematerialAllocationDetails('CONFIRM', 0, 0, this.confirmJobNumber, '', '', this.confirmRequirementId, 0, 0, 0, false, false, this.popRequirementType,this.popRegion)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n this.loader = 'none';\r\n this.toastr.success(\"Receipt Confirmation Updated Succesfuliy\");\r\n this.GetMaterialAllocationScreen();\r\n }\r\n else {\r\n this.toastr.error(\"No records Updated\");\r\n this.loader = 'none';\r\n }\r\n })\r\n\r\n }\r\n else\r\n this.toastr.error(\"No records selected\");\r\n\r\n //}\r\n }\r\n\r\n SelectAllConfirmation() {\r\n this.materialAllocationDetails.forEach(element => {\r\n if (this.selectCheck == true)\r\n {\r\n if(element.status=='Field Team Confirmation Pending')\r\n {\r\n element.isSelected = true;\r\n if(this.confirmJobNumber.indexOf(element.jobNumber)==-1)\r\n this.confirmJobNumber +=element.jobNumber+',';\r\n }\r\n }\r\n else {\r\n if(element.status=='Field Team Confirmation Pending')\r\n element.isSelected = false;\r\n this.confirmJobNumber='';\r\n }\r\n })\r\n }\r\n checkSelect(index: number) {\r\n if (this.materialAllocationDetails[index][\"isSelected\"]) {\r\n // if(this.confirmRequirementId.length>0)\r\n this.confirmRequirementId += this.materialAllocationDetails[index][\"requirementDetailsID\"]+',';\r\n if(this.confirmJobNumber.indexOf(this.materialAllocationDetails[index][\"jobNumber\"])==-1)\r\n this.confirmJobNumber += this.materialAllocationDetails[index][\"jobNumber\"]+',';\r\n //this.ConfirmReceipt();\r\n // this.confirmRequirementId.trim().replace(this.materialAllocationDetails[index][\"requirementDetailsID\"] + ',', '');\r\n // this.selectCheck = false;\r\n }\r\n else{\r\n if(this.confirmJobNumber.split(\",\").length==1)\r\n this.confirmJobNumber=this.confirmJobNumber.replace(this.materialAllocationDetails[index][\"jobNumber\"],\"\")\r\n else\r\n if(this.confirmJobNumber.indexOf(this.materialAllocationDetails[index][\"jobNumber\"])!=-1)\r\n {\r\n this.confirmJobNumber=this.confirmJobNumber.replace(\",\"+this.materialAllocationDetails[index][\"jobNumber\"],\"\")\r\n if(this.confirmJobNumber.indexOf(this.materialAllocationDetails[index][\"jobNumber\"])!=-1)\r\n {\r\n this.confirmJobNumber=this.confirmJobNumber.replace(this.materialAllocationDetails[index][\"jobNumber\"],\"\")\r\n }\r\n }\r\n\r\n this.selectCheck=false;\r\n }\r\n }\r\n sort() {\r\n let sortedArray : any[] = [];\r\n let splitString : any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownMonth.forEach(x => {\r\n this.materialAllocationDetails.forEach(element => {\r\n splitString = element.month.split(\"'\");\r\n if (x.item_text.substring(0,3) == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.materialAllocationDetails = sortedArray;\r\n }\r\n else {\r\n this.dropdownMonth.forEach(x => {\r\n this.materialAllocationDetails.forEach(element => {\r\n splitString = element.month.split(\"'\");\r\n if (x.item_text.substring(0,3) == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.materialAllocationDetails = sortedArray.reverse();\r\n }\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n if (typeof value === \"undefined\")\r\n {\r\n value='0';\r\n }\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n\r\n","module.exports = \".popup-wrap .box-margin input\\r\\n{\\r\\n width:100%;\\r\\n}\\r\\ntable input {\\r\\n width: 208px;\\r\\n}\\r\\n.required-field :after { \\r\\n content: \\\"*\\\";\\r\\n color: red;\\r\\n}\\r\\n.popup-wrap {\\r\\n position: fixed;\\r\\n z-index: 9;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n background: #fff;\\r\\n width: 1200px;\\r\\n border-radius: 5px;\\r\\n padding: 30px;\\r\\n}\\r\\n.paddingtr\\r\\n{\\r\\n padding-top: 30px;\\r\\n}\\r\\n.checkbox input\\r\\n{\\r\\nwidth:50px;\\r\\n}\\r\\nselect {\\r\\n width: 70%;\\r\\n}\\r\\n._ngcontent-c3\\r\\n{\\r\\nfloat: right;\\r\\n}\\r\\n.popup-wrapstatus {\\r\\n position: fixed;\\r\\n z-index: 9;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n background: #fff;\\r\\n width: 600px;\\r\\n border-radius: 5px;\\r\\n padding: 30px;\\r\\n}\\r\\ntd select{\\r\\n width:100%;\\r\\n}\\r\\nbutton[disabled=disabled], button:disabled \\r\\n{\\r\\nwidth: 126px;\\r\\n height: 36px;\\r\\n border-radius: 19px;\\r\\n background: #e69c8d;\\r\\n border: none;\\r\\n color: #fff;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n font-family: 'Muli', sans-serif;\\r\\n cursor: pointer;\\r\\n}\"","module.exports = \"
\\r\\n

Material Dispatch to Field Team & Status

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
Receipt ConfirmationJob NumberRMH NameStateRequirement MonthBrandJob TypeCropLanguageEstimated Delivery to WarehousePO Issued QuantityAllocated QuantityTotal remainingStatusView
{{detail.jobNumber}}{{detail.rmhname}}{{detail.state}}{{detail.month}}{{detail.brand}}{{detail.jobType}}{{detail.cropName}}{{detail.language}}{{detail.deliveryDeadline}}{{ConvertToCurrency(detail.approvedQuantity)}}{{ConvertToCurrency(detail.allocatedQuantity)}}{{ConvertToCurrency(detail.totalRemaining)}}\\r\\n {{detail.status}}\\r\\n
No Records Found
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Job Number\\r\\n \\r\\n
\\r\\n
\\r\\n RMH/RBM/MIE/MDO/MC/SC User Name \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n User ID\\r\\n \\r\\n
\\r\\n
\\r\\n Designation \\r\\n \\r\\n
\\r\\n
\\r\\n Region \\r\\n
\\r\\n
\\r\\n PO Issued Quantity \\r\\n
\\r\\n
\\r\\n Allocated Quantity \\r\\n
\\r\\n
\\r\\n MobileNumber \\r\\n
\\r\\n \\r\\n
\\r\\n Transport Name*\\r\\n \\r\\n
\\r\\n
\\r\\n Dispatch Date*\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n Dispatch Location\\r\\n \\r\\n
\\r\\n
\\r\\n Dispatch Address\\r\\n \\r\\n
\\r\\n
\\r\\n No Of Boxes\\r\\n \\r\\n
\\r\\n
\\r\\n Dispatched Quantity*\\r\\n \\r\\n
\\r\\n
\\r\\n Expected Delivery*\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Remarks\\r\\n \\r\\n
\\r\\n
\\r\\n Available In Inventory\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n{{errorMessage}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Job NumberRMH/RBM/MIE/MDO/MC/SC User NameRegionMobileNumberTransport NameDispatch DateDispatch LocationDispatch AddressNo Of BoxesDispatched QuantityExpected DeliveryRemarks
{{details.jobNumber}}{{details.userName}}{{details.regioncode}}{{details.mobileNumber}}{{details.transportName}}{{details.dispatchDate}}{{details.dispatchLocation}}{{details.dispatchAddress}}{{details.noOfBoxes}}{{ConvertToCurrency(details.quantityDispatched)}}{{details.estimatedDeliveryDate}}{{details.remarks}}
No Records 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 { MCPlanningMaterialService } from '../../Services/MCPlanningMaterial/mcplanningmaterial.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { MaterialDispatchDetails, UserDetails, Documents } from '../../Models/Material-Dispatch/MaterialDispatch'\r\nimport { DatePipe } from '@angular/common';\r\nimport { Response } from '@angular/http';\r\nimport { Validators } from '@angular/forms';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { MaterialAllocationFilter, userID} from '../../Models/MaterialAllocation/MaterialAllocation'\r\nimport { saveAs } from 'file-saver';\r\nimport { Router } from '@angular/router';\r\nimport { Alert } from 'selenium-webdriver';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-material-dispatch',\r\n templateUrl: './material-dispatch.component.html',\r\n styleUrls: ['./material-dispatch.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class MaterialDispatchComponent implements OnInit {\r\n\r\n @ViewChild('requirementStatus') requirementStatus;\r\n @ViewChild('JobNumber') JobNumber;\r\n @ViewChild('State') State;\r\n @ViewChild('JobType') JobType\r\n @ViewChild('Brand') Brand\r\n @ViewChild('Crops') Crops\r\n @ViewChild('Languages') Languages\r\n @ViewChild('RMHName') RMHName\r\n @ViewChild('year') year;\r\n userID: string;\r\n roleID: string;\r\n Status: string;\r\n loader: string;\r\n materialDispatchDetails: MaterialDispatchDetails[] = [];\r\n viewMaterialDispatchDetails: MaterialDispatchDetails = new MaterialDispatchDetails();\r\n UserDetails: UserDetails[] = [];// new UserDetails();\r\n NewUserDetails: UserDetails[] = [];\r\n materialDispatchFilters: MaterialAllocationFilter = new MaterialAllocationFilter();\r\n\r\n displayAddDispatchDetailPanel: string = 'none;'\r\n displayStatusPanel: string = 'none';\r\n viewDatetext: any;\r\n dispatchDate: any;\r\n estimatedDeliveryDate: any;\r\n\r\n selectCheck: boolean = false;\r\n requirementId: string = '';\r\n additionalrequirementId: string = '';\r\n selectStatus: number;\r\n\r\n selectedRMHName: string = '';\r\n selectedJobType: string = '';\r\n selectedBrand: string = '';\r\n selectedCrop: string = '';\r\n selectedLanguage: string = '';\r\n selectedJobNumber: string;\r\n selectedState: string;\r\n selectedYear: string = '';\r\n ascNumberSort: boolean = true;\r\n sortDirection: string = '';\r\n\r\n dropdownMonth = [];\r\n selectedItems = [];\r\n dropdownStatus = [];\r\n dropdownCropSettings: IDropdownSettings = {};\r\n dropdownBrandSettings: IDropdownSettings = {};\r\n dropdownJobTypeSettings: IDropdownSettings = {};\r\n dropdownLanguageSettings: IDropdownSettings = {};\r\n dropdownRmhsSettings: IDropdownSettings = {};\r\n dropdownstatusSettings: IDropdownSettings = {};\r\n dropdownJobNumbersSetting: IDropdownSettings = {};\r\n dropdownstateSetting: IDropdownSettings = {};\r\n indexCount:number;\r\n yearSettings: IDropdownSettings={};\r\n files: File[] = [];\r\n IsFileCorrect: boolean;\r\n @ViewChild('file') input;\r\n document: Documents = new Documents();\r\n\r\n popJobNumber:any;\r\n popUserName:any;\r\n popUserID:any;\r\n popDesgnation:any;\r\n popAllocatedQty:number;\r\n popMobileNumber:number;\r\n popTransportname:any;\r\n popDispatchDate:Date;\r\n popDispatchLocation:any;\r\n popDispatchAddress:any;\r\n popnoofBoxes:number;\r\n popQuantityDispatch:number;\r\n popExpectedDelivery:Date;\r\n popRemarks:any;\r\n dispatchDone:boolean;\r\n displayViewPanel:string;\r\n displayEditPanel:string;\r\n popRegion:string;\r\n popPOQty:number;\r\n popRemainingQty:any;\r\n\r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService, private snackBar: MatSnackBarComponent, private datePipe: DatePipe,\r\n private toastr: ToastrService,\r\n private router: Router) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.MaterialDispatchfilter();\r\n this.bindDropdown();\r\n \r\n this.displayAddDispatchDetailPanel = 'none';\r\n }\r\n getMaterialDispatchDetails() {\r\n this.selectedRMHName = Array.prototype.map.call(this.RMHName.selectedItems, function (item) { return item.id }).join(\",\");\r\n this.selectedCrop = Array.prototype.map.call(this.Crops.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.selectedBrand = Array.prototype.map.call(this.Brand.selectedItems, function (item) { return item.id }).join(\",\");\r\n this.selectedLanguage = Array.prototype.map.call(this.Languages.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.selectedJobType = Array.prototype.map.call(this.JobType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.selectedJobNumber = Array.prototype.map.call(this.JobNumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.selectedState = Array.prototype.map.call(this.State.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.Status = Array.prototype.map.call(this.requirementStatus.selectedItems, function (item) { return item.text; }).join(\",\");\r\n this.selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.text; }).join(\",\");\r\n if (this.Status.length == 0)\r\n this.Status = Array.prototype.map.call(this.dropdownStatus,function(item){return item.item_text; }).join(\",\");//'10,11,12'\r\n this.mcPlanningMaterialService.GetMaterialDispatchToField(this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop, this.selectedLanguage, this.Status, this.selectedJobNumber, this.selectedState, this.selectedYear)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status) {\r\n debugger;\r\n this.materialDispatchDetails = responseData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.materialDispatchDetails = null;\r\n // this.toastr.error('No records available', 'Close', 'red-snackbar');\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n onItemSelect(event: any, filter: string) {\r\n }\r\n onSelectAll(event: any, filter: string) {\r\n }\r\n deSelectAll(event: any, filter: string) {\r\n }\r\n unSelect(event: any, filter: string) {\r\n }\r\n bindDropdown() {\r\n this.dropdownCropSettings = {\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: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.yearSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n this.dropdownBrandSettings = {\r\n singleSelection: false,\r\n idField: 'brandName',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownJobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownLanguageSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownRmhsSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownJobNumbersSetting = {\r\n singleSelection: false,\r\n idField: 'jobNumber',\r\n textField: 'jobNumber',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownstateSetting = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownStatus = [\r\n { item_id: 10, item_text: 'Dispatch To Field In Process' },\r\n { item_id: 11, item_text: 'Field Team Confirmation Pending' },\r\n { item_id: 12, item_text: 'Received by Field team' }\r\n ];\r\n\r\n this.dropdownstatusSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n }\r\n this.dropdownMonth = [\r\n { item_id: 1, item_text: 'January' },\r\n { item_id: 2, item_text: 'February' },\r\n { item_id: 3, item_text: 'March' },\r\n { item_id: 4, item_text: 'April' },\r\n { item_id: 5, item_text: 'May' },\r\n { item_id: 6, item_text: 'June' },\r\n { item_id: 7, item_text: 'July' },\r\n { item_id: 8, item_text: 'August' },\r\n { item_id: 9, item_text: 'September' },\r\n { item_id: 10, item_text: 'October' },\r\n { item_id: 11, item_text: 'November' },\r\n { item_id: 12, item_text: 'December' }\r\n ];\r\n }\r\n filesDroppedAdd(files: File[]) {\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 Name = localStorage.getItem('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n // let CorrectFileName = Firstname + '_' + LastName + '_MaterialDispatch_'\r\n // if (fileNameParts[0].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.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.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\r\n //this.loader = 'block';\r\n this.document.file = this.files[0];\r\n //this.document.UploadedBy = localStorage.getItem('userId');\r\n this.mcPlanningMaterialService.uploadMaterialDispatchDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n //this.loader = 'none';\r\n this.getMaterialDispatchDetails();\r\n //this.getsaveSubmitStatus() ;\r\n } else {\r\n this.toastr.error(resData.message);\r\n //this.loader = 'none';\r\n this.getMaterialDispatchDetails();\r\n //this.getsaveSubmitStatus() ;\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 }\r\n\r\n MaterialDispatchfilter() {\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.getMaterialDispatchFilter()\r\n .subscribe((responsedata: any) => {\r\n if (responsedata.status == true) {\r\n this.materialDispatchFilters = responsedata.data;\r\n this.materialDispatchFilters.year = responsedata.data.currentRequirementYear;\r\n class YearItemList{\r\n id: string;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : this.materialDispatchFilters.year[0].currentrequirementYear,\r\n text: this.materialDispatchFilters.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem;\r\n this.loader = 'none';\r\n this.getMaterialDispatchDetails();\r\n }\r\n else {\r\n this.toastr.error('No data available in filters');\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n \r\n if(selectedyear != this.materialDispatchFilters.year[0].currentrequirementYear)\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className += \"hideuploadExcel\";\r\n }\r\n else\r\n {\r\n document.getElementById(\"ancUploadExcel\").classList.remove(\"hideuploadExcel\");\r\n }\r\n }\r\n\r\n GetUserDetails() {\r\n this.mcPlanningMaterialService.GetUserDetails(this.viewMaterialDispatchDetails.requirementDetailID, this.viewMaterialDispatchDetails.jobNumber, this.viewMaterialDispatchDetails.requirementType)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status) {\r\n this.UserDetails = responseData.data; \r\n var _data = this.UserDetails;\r\n debugger;\r\n \r\n // var unique = [];\r\n // var distinct = [];\r\n \r\n // for( let i = 0; i < _data.length; i++ ){\r\n // if( !unique[_data[i].userID] && !unique[_data[i].regioncode]){\r\n // distinct.push(_data[i]);\r\n // unique[\"userID\"] = 1;\r\n // unique[\"regioncode\"] = 1;\r\n // }\r\n // }\r\n\r\n const distinctThings = _data.filter((thing, i, arr) => {\r\n return arr.indexOf(arr.find(t => t.userID === thing.userID && t.regioncode === thing.regioncode)) === i;\r\n });\r\n \r\n this.NewUserDetails = distinctThings;\r\n \r\n this.popUserName=this.UserDetails.length>0?this.UserDetails[0].userName+\"#\"+this.UserDetails[0].requirementDetailID+\"#\"+this.UserDetails[0].userID:null;\r\n //this.popUserName=this.UserDetails.length>0?this.UserDetails[0].userName:null; //Added for Getting 1st MIE/MDO As Default Selection\r\n this.popUserID=this.UserDetails.length>0?this.UserDetails[0].userID:null; //Added for Getting 1st MIE/MDO As Default Selection\r\n this.popDesgnation=this.UserDetails.length>0?this.UserDetails[0].userRole:null; //Added for Getting 1st MIE/MDO As Default Selection\r\n this.popAllocatedQty=this.UserDetails.length>0?this.UserDetails[0].allocatedQuantity:0;\r\n this.popMobileNumber=this.UserDetails.length>0?this.UserDetails[0].mobileNumber:null;\r\n this.popQuantityDispatch=this.UserDetails.length>0?this.UserDetails[0].allocatedQuantity:0;\r\n this.dispatchDone=this.UserDetails.length>0 && this.UserDetails[0].dispatchDate!=null?true:false;\r\n this.popRegion=this.UserDetails.length>0?this.UserDetails[0].regioncode:null;\r\n this.popPOQty=this.UserDetails.length>0?this.UserDetails[0].poIssuedQuantity:0;\r\n this.popRemainingQty=this.UserDetails.length>0?this.UserDetails[0].availableInInventory:'0';\r\n \r\n this.popnoofBoxes=0;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.UserDetails = responseData.data;\r\n this.toastr.error('No MIE/MDO User available');\r\n this.loader = 'none';\r\n this.displayAddDispatchDetailPanel='none';\r\n }\r\n })\r\n \r\n }\r\n ViewMaterialDispatch(index: number) {\r\n debugger;\r\n this.indexCount=index;\r\n this.viewMaterialDispatchDetails = new MaterialDispatchDetails();\r\n this.displayAddDispatchDetailPanel = 'block';\r\n this.viewMaterialDispatchDetails = this.materialDispatchDetails[index];\r\n this.popJobNumber=this.materialDispatchDetails[index].jobNumber;\r\n this.popRemainingQty=this.materialDispatchDetails[index].availableInInventory==null?'0':this.materialDispatchDetails[index].availableInInventory; \r\n let allocationDone = false;\r\n allocationDone = this.materialDispatchDetails[index].materialAllocationDone;\r\n this.displayEditPanel='block';\r\n this.displayViewPanel='block'\r\n this.GetUserDetails();\r\n if (this.viewMaterialDispatchDetails.dispatchDate == null)\r\n this.viewDatetext = null;\r\n else {\r\n if (this.viewDatetext == null) {\r\n // this.UserDetails[index].dispatchDate = this.datePipe.transform(this.viewMaterialDispatchDetails.dispatchDate, 'dd-MM-yyyy');\r\n // this.UserDetails[index].estimatedDeliveryDate = this.datePipe.transform(this.viewMaterialDispatchDetails.estimatedDeliveryDate, 'dd-MM-yyyy');\r\n }\r\n this.viewDatetext = 1;\r\n }\r\n // this.UserDetails.forEach(element => {\r\n // element.estimatedDeliveryDate=this.datePipe.transform(element.estimatedDeliveryDate, 'dd-MM-yyyy');\r\n // });\r\n\r\n const body = document. getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n\r\n }\r\n // SaveMaterialDispatchDetails(index: number) {\r\n // this.loader = 'block';\r\n // this.UserDetails[index].statusID = 11;\r\n // if (this.UserDetails[index].allocatedQuantity >= this.UserDetails[index].quantityDispatched) {\r\n // if (this.validateMobileNumber(this.UserDetails[index].mobileNumber)) {\r\n // if (this.UserDetails[index].quantityDispatched != null && this.UserDetails[index].quantityDispatched != 0) {\r\n // if (this.UserDetails[index].transportName != null && this.UserDetails[index].dispatchDate != null && this.UserDetails[index].estimatedDeliveryDate!=null) { \r\n // // if (this.UserDetails[index].totalRemaining == 0)\r\n // // {\r\n // this.mcPlanningMaterialService.SaveDispatchDetails(this.UserDetails[index])\r\n // .subscribe((responseData: any) => {\r\n // if (responseData.status) {\r\n\r\n // this.displayAddDispatchDetailPanel = 'none';\r\n // this.loader = 'none';\r\n // this.toastr.error('Records Saved Successfully', 'Close', 'green-snackbar');\r\n // //this.getMaterialDispatchDetails();\r\n // this.ViewMaterialDispatch(this.indexCount);\r\n // } \r\n // else{\r\n // this.toastr.error('Error in saving records', 'Close', 'red-snackbar');\r\n // this.loader = 'none';\r\n // this.ViewMaterialDispatch(this.indexCount);\r\n // } \r\n // })\r\n // // }\r\n // // else{\r\n // // this.toastr.error('Job number have remaining value to Allocate', 'Close', 'red-snackbar');\r\n // // this.loader = 'none';\r\n // // }\r\n // } \r\n // else {\r\n // this.toastr.error('Please enter required inputs', 'Close', 'red-snackbar');\r\n // }\r\n // }\r\n // else {\r\n // this.toastr.error('Invalid Dispatched Quantity', 'Close', 'red-snackbar');\r\n // }\r\n // }\r\n // else {\r\n // this.toastr.error('Please enter a Valid Mobile Number', 'Close', 'red-snackbar');\r\n // }\r\n // }\r\n // else {\r\n // this.toastr.error('Dispatch Quantity can not exceed Allocated Quantity', 'Close', 'red-snackbar');\r\n // // this.toastr.error('Quantity dispatch should be equal to Allocate Quantity', 'Close', 'red-snackbar');\r\n // }\r\n\r\n // }\r\n SaveMaterialDispatchDetails() {\r\n this.loader = 'block';\r\n let popUpName=this.popUserName.split(\"#\");\r\n let index=this.UserDetails.indexOf(this.UserDetails.find(m => m.userName == popUpName[0] && m.requirementDetailID == popUpName[1] && m.userID == popUpName[2]));\r\n this.UserDetails[index].statusID = 11;\r\n this.UserDetails[index].mobileNumber=this.popMobileNumber;\r\n this.UserDetails[index].noOfBoxes=this.popnoofBoxes;\r\n this.UserDetails[index].quantityDispatched=this.popQuantityDispatch;\r\n this.UserDetails[index].dispatchAddress=this.popDispatchAddress;\r\n this.UserDetails[index].dispatchDate=this.popDispatchDate;\r\n this.UserDetails[index].dispatchLocation=this.popDispatchLocation;\r\n this.UserDetails[index].transportName=this.popTransportname;\r\n this.UserDetails[index].userID=this.popUserID;\r\n this.UserDetails[index].userRole=this.popDesgnation;\r\n // this.UserDetails[index].userName=this.popUserName;\r\n this.UserDetails[index].userName=popUpName[0];\r\n this.UserDetails[index].estimatedDeliveryDate=this.popExpectedDelivery;\r\n this.UserDetails[index].remarks=this.popRemarks;\r\n\r\n if (this.UserDetails[index].dispatchDate > this.UserDetails[index].estimatedDeliveryDate) {\r\n this.toastr.error('Dispatch Date Should Not Be Greater Than Estimated Delivery Date .');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n\r\n\r\n // if (this.UserDetails[index].allocatedQuantity >= this.UserDetails[index].quantityDispatched) {\r\n if (this.validateMobileNumber(this.UserDetails[index].mobileNumber)) {\r\n if (this.UserDetails[index].quantityDispatched != null && this.UserDetails[index].quantityDispatched != 0 && this.UserDetails[index].quantityDispatched<=this.popPOQty ) {\r\n if (this.UserDetails[index].transportName != null && this.UserDetails[index].dispatchDate != null && this.UserDetails[index].estimatedDeliveryDate!=null) { \r\n // if (this.UserDetails[index].totalRemaining == 0)\r\n // {\r\n this.mcPlanningMaterialService.SaveDispatchDetails(this.UserDetails[index])\r\n .subscribe((responseData: any) => {\r\n if (responseData.status) {\r\n if(responseData.message=='Requested Qty Not available in Inventory')\r\n {\r\n this.displayAddDispatchDetailPanel = 'none';\r\n this.loader = 'none';\r\n this.toastr.error('Requested Qty Not available in Inventory ');\r\n }\r\n else if(responseData.message=='Incorrect Dispatch Quantity. Dispatch Quantity greater than Total Remaining Quantity.')\r\n {\r\n this.displayAddDispatchDetailPanel = 'none';\r\n this.loader = 'none';\r\n this.toastr.error('Incorrect Dispatch Quantity. Dispatch Quantity greater than Total Remaining Quantity.');\r\n }\r\n else if(responseData.message=='Incorrect Dispatch Quantity. Dispatch Quantity greater than Approved Quantity For This Region.')\r\n {\r\n this.displayAddDispatchDetailPanel = 'none';\r\n this.loader = 'none';\r\n this.toastr.error('Incorrect Dispatch Quantity. Dispatch Quantity greater than Approved Quantity For This Region.');\r\n }\r\n else\r\n {\r\n this.displayAddDispatchDetailPanel = 'none';\r\n this.loader = 'none';\r\n this.toastr.success('Records Saved Successfully');\r\n this.getMaterialDispatchDetails();\r\n //this.ViewMaterialDispatch(this.indexCount);\r\n }\r\n } \r\n else{\r\n this.toastr.error('Error in saving records');\r\n this.loader = 'none';\r\n this.ViewMaterialDispatch(this.indexCount);\r\n } \r\n })\r\n // }\r\n // else{\r\n // this.toastr.error('Job number have remaining value to Allocate', 'Close', 'red-snackbar');\r\n // this.loader = 'none';\r\n // }\r\n } \r\n else {\r\n this.loader = 'none';\r\n this.toastr.error('Please enter required inputs');\r\n \r\n }\r\n }\r\n else {\r\n this.loader = 'none';\r\n this.toastr.error('Invalid Dispatched Quantity');\r\n }\r\n }\r\n else {\r\n this.loader = 'none';\r\n this.toastr.error('Please enter a Valid Mobile Number');\r\n }\r\n // }\r\n // else {\r\n // this.toastr.error('Dispatch Quantity can not exceed Allocated Quantity', 'Close', 'red-snackbar');\r\n // // this.toastr.error('Quantity dispatch should be equal to Allocate Quantity', 'Close', 'red-snackbar');\r\n // }\r\n\r\n }\r\n closePanel() {\r\n this.displayAddDispatchDetailPanel = 'none';\r\n this.getMaterialDispatchDetails();\r\n const body = document. getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n DownloadMaterialDispatchExcel() {\r\n this.loader = 'block';\r\n this.selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // this.Status = Array.prototype.map.call(this.dropdownStatus,function(item){return item.item_text; }).join(\",\");//'10,11,12'\r\n this.mcPlanningMaterialService.DownloadMaterialDispatchExcel(this.Status,this.selectedYear)\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n var latest_date = this.datePipe.transform(date, 'dd-MMM-yy');\r\n var Name = localStorage.getItem('mcmt_userName').split(' ');\r\n var Firstname = Name[0];\r\n var LastName = Name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n var ExcelName = Firstname + '_' + LastName + '_'+ cYear + '_MaterialDispatch_' + latest_date + '.xlsx';\r\n //let roleId=localStorage.getItem('mcmt_roleID');\r\n if (success.size > 0)\r\n saveAs(success, ExcelName);\r\n else\r\n this.toastr.error(\"No Records available for Excel.\");\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n console.log(err);\r\n }\r\n );\r\n }\r\n CheckNumber(event: any) {\r\n if (Number(event.currentTarget.value) < 0)\r\n event.currentTarget.value = \"0\";\r\n }\r\n validateMobileNumber(mobilenumber: any): boolean {\r\n if (isNaN(Number(mobilenumber)) || mobilenumber.length != 10) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n // SelectAll() {\r\n // this.materialDispatchDetails.forEach(element => {\r\n // if (this.selectCheck == true)\r\n // {\r\n // if(element.isConfirmReceipt)\r\n // element.isSelected = true;\r\n // }\r\n // else {\r\n // element.isSelected = false;\r\n // this.requirementId = \"\";\r\n // }\r\n // })\r\n // }\r\n\r\n // checkSelected(index: number) {\r\n // if (!this.materialDispatchDetails[index][\"isSelected\"]) {\r\n // if(this.materialDispatchDetails[index][\"requirementType\"]==1)\r\n // {\r\n // if(this.materialDispatchDetails[index][\"isConfirmReceipt\"])\r\n // this.requirementId.trim().replace(this.materialDispatchDetails[index][\"requirementDetailID\"] + ',', '');\r\n // }\r\n // else\r\n // {\r\n // if(this.materialDispatchDetails[index][\"isConfirmReceipt\"])\r\n // this.additionalrequirementId.trim().replace(this.materialDispatchDetails[index][\"requirementDetailID\"] + ',', '');\r\n // } \r\n // this.selectCheck = false;\r\n // }\r\n // }\r\n // GetcheckedItem() {\r\n // this.materialDispatchDetails.forEach(element => {\r\n // if (this.selectCheck == false)\r\n // {\r\n // if(element.requirementType==1)\r\n // this.requirementId += element.isSelected == undefined || element.isSelected == false ? \"\" : element.requirementDetailID + \",\";\r\n // else\r\n // this.additionalrequirementId+= element.isSelected == undefined || element.isSelected == false ? \"\" : element.requirementDetailID + \",\";\r\n // }\r\n // else\r\n // if(element.requirementType==1)\r\n // this.requirementId += element.requirementDetailID + \",\";\r\n // else\r\n // this.additionalrequirementId+= element.requirementDetailID + \",\";\r\n // });\r\n // if (this.requirementId.trim().length > 0 || this.additionalrequirementId.trim().length > 0)\r\n // {\r\n // this.selectStatus=13;\r\n // this.displayStatusPanel = 'block';\r\n // }\r\n // }\r\n\r\n submitStatus() {\r\n this.mcPlanningMaterialService.UpdateMaterialDispatchStatus(this.requirementId, this.selectStatus, this.additionalrequirementId)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status) {\r\n this.toastr.success('Status Updated Successfully');\r\n this.loader = 'none';\r\n this.displayStatusPanel = 'none';\r\n this.getMaterialDispatchDetails();\r\n }\r\n else {\r\n this.toastr.error('Some error Occured,Could not update status');\r\n this.loader = 'none';\r\n this.displayStatusPanel = 'none';\r\n }\r\n })\r\n }\r\n closeStatusPanel() {\r\n this.displayStatusPanel = 'none';\r\n this.requirementId = '';\r\n this.additionalrequirementId = '';\r\n }\r\n\r\n changeStatus(details: any) {\r\n if (details.requirementType == \"1\")\r\n this.requirementId = details.requirementDetailID;\r\n else\r\n this.additionalrequirementId = details.requirementDetailID;\r\n\r\n this.selectStatus = details.statusID;\r\n this.submitStatus();\r\n }\r\n\r\n sort() {\r\n let sortedArray : any[] = [];\r\n let splitString : any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownMonth.forEach(x => {\r\n this.materialDispatchDetails.forEach(element => {\r\n splitString = element.month.split(\"'\");\r\n if (x.item_text.substring(0,3) == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.materialDispatchDetails = sortedArray;\r\n }\r\n else {\r\n this.dropdownMonth.forEach(x => {\r\n this.materialDispatchDetails.forEach(element => {\r\n splitString = element.month.split(\"'\");\r\n if (x.item_text.substring(0,3) == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.materialDispatchDetails = sortedArray.reverse();\r\n }\r\n }\r\n\r\n changeName(details: any) {\r\n let popUpdetail=this.popUserName.split(\"#\");\r\n this.popDesgnation = details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).userRole;\r\n this.popUserID = details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).userID;\r\n this.popAllocatedQty=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).allocatedQuantity;\r\n this.popDispatchDate=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).dispatchDate;\r\n this.popDispatchAddress=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).dispatchAddress;\r\n this.popDispatchLocation=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).dispatchLocation;\r\n this.popExpectedDelivery=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).estimatedDeliveryDate;\r\n this.popMobileNumber=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).mobileNumber;\r\n this.popTransportname=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).transportName;\r\n this.popQuantityDispatch=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).quantityDispatched;\r\n this.popRemarks=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).remarks;\r\n this.popnoofBoxes=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).noOfBoxes;\r\n this.dispatchDone=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).dispatchDate?true:false;\r\n this.popRegion=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1] && m.userID == popUpdetail[2]).regioncode;\r\n //this.popRegion=details.find(m => m.userName == popUpdetail[0] && m.requirementDetailID == popUpdetail[1]).regioncode;\r\n}\r\nShowMaterialDispatch(index:number)\r\n{\r\n this.indexCount=index;\r\n this.viewMaterialDispatchDetails = new MaterialDispatchDetails();\r\n this.displayAddDispatchDetailPanel = 'block';\r\n this.viewMaterialDispatchDetails = this.materialDispatchDetails[index];\r\n this.displayAddDispatchDetailPanel = 'block';\r\n this.GetUserDetails();\r\n this.displayEditPanel='none';\r\n this.displayViewPanel='block';\r\n}\r\n\r\nConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n","module.exports = \"select {\\r\\n width: 100%;\\r\\n height: 38px;\\r\\n border-radius: 19px;\\r\\n border: solid 1px #d4d4d4;\\r\\n -webkit-appearance: none;\\r\\n -moz-appearance: none;\\r\\n appearance: none;\\r\\n padding: 0 10px;\\r\\n color: #585858;\\r\\n font-size: 15px;\\r\\n font-family: 'Muli', sans-serif;\\r\\n}\\r\\n\\r\\n.button:disabled {\\r\\n background: #dc8f7f;\\r\\n}\"","module.exports = \"
\\r\\n

PO to Vendors

\\r\\n
\\r\\n Upload Excel\\r\\n Download Excel\\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
Job NumberRMH/RBM NameJob TypeCropBrandLanguageStateRequirement MonthFinal QtyPO QuantityWH LocationStatusAction
{{detail.jobNumber}}{{detail.rmhname}}{{detail.jobType}}{{detail.crop}}{{detail.brand}}{{detail.language}}{{detail.state}}{{detail.requirementMonth}}{{ConvertToCurrency(detail.finalQuantity)}}{{ConvertToCurrency(detail.poIssueQty)}}{{detail.wHLocation}}{{detail.orderStatus}}\\r\\n \\r\\n
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n JobNumber\\r\\n \\r\\n
\\r\\n
\\r\\n Final Approved QTY\\r\\n \\r\\n
\\r\\n
\\r\\n Vendor\\r\\n \\r\\n
\\r\\n
\\r\\n Estimate Delivery To WH*\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n PO Issued Quantity*\\r\\n \\r\\n
\\r\\n
\\r\\n PO Number*\\r\\n \\r\\n
\\r\\n
\\r\\n PO Issued Date*\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
VendorPO Issued QuantityPO NumberPO Issued DateRemaining QuantityEstimate Delivery To WHAction
{{detail.vendorName}}{{detail.poQuantity}}{{detail.poNumber}}{{detail.poIssueDate}}{{ConvertToCurrency(detail.remainingQuantity)}}{{detail.estimateDeliveryToWH}}
No Records Found
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Quantity to Reject{{RejectedQty}}\\r\\n \\r\\n \\r\\n Remarks(If any)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { PoStatusUpdateService } from '../../Services/job-allocation-to-vendors/po-status-update.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { PoStatusUpdateDetails, PoStatusUpdateFilters, UpdatedPODetails, poApprovalDetail } from 'src/app/Models/job-allocation-to-vendors/po-status-update';\r\nimport { VendorFinalizationService } from 'src/app/Services/job-allocation-to-vendors/vendor-finalization.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { NativeDateAdapter, DateAdapter, MAT_DATE_FORMATS } from '@angular/material';\r\nimport { formatDate } from '@angular/common';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\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\r\nclass 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-po-status-update',\r\n templateUrl: './po-status-update.component.html',\r\n styleUrls: ['./po-status-update.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\n\r\nexport class PoStatusUpdateComponent implements OnInit {\r\n @ViewChild('year') year;\r\n userID: string;\r\n roleID: string;\r\n selectedJobNumber: any;\r\n selectedRMHName: any;\r\n selectedJobType: any;\r\n selectedBrand: any;\r\n selectedCrop: any;\r\n selectedLanguage: any;\r\n selectedStatus: any;\r\n selectedMonth: any;\r\n isSelect: any = \"0\";\r\n poStatusFilters: PoStatusUpdateFilters = new PoStatusUpdateFilters();\r\n poStatusDetails: PoStatusUpdateDetails[] = [];\r\n mainPoDetails: PoStatusUpdateDetails[] = [];\r\n vendorTypeDetail: any[] = [];\r\n loader: string = 'none';\r\n files: File[] = [];\r\n fileName: string = '';\r\n pageSetting: number = 10;\r\n pager: any = {};\r\n //model: any[];\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n selectedState: any;\r\n userName: string;\r\n Date = new Date();\r\n bgColor: string = 'LightYellow'\r\n selectedStatusCustom: number;\r\n sortDirection: string = '';\r\n ascNumberSort: boolean = true;\r\n @ViewChild('file') input;\r\n displayPoAssignment: string = 'none';\r\n poApprovalDetail: poApprovalDetail;\r\n poGridDetail: poApprovalDetail[] = [];\r\n poApprovedQuantity: number;\r\n poRemainingQuantity: number;\r\n remainingPoQty: number;\r\n popJobNumber: string;\r\n popFAQ: number;\r\n popPoIssueQty: number;\r\n popPoNumber: string;\r\n popIssueDate: any;\r\n popVendor: any;\r\n popPoIssueDate: any;\r\n displayUpdate: number = 0;\r\n poDetailsID: number = 0;\r\n POIssueDate: Date;\r\n callbackChange: string = 'none';\r\n tomorrow: Date;\r\n popEstDelDate: Date;\r\n\r\n PoNumberValidation: boolean=false;\r\n poNumberUpdate:any;\r\n//Region Remarks for partial Cancellation\r\n displayPanel:string='none';\r\n fadeBackground:string='none';\r\n RejectedQty:number=0;\r\n RemarksText:string='';\r\n gridIndex:number=0;\r\n editAction:string;\r\n isCancelationApprove:boolean=true;\r\n //End Remarks\r\n\r\n dropdownList = [\r\n { item_id: '1', item_text: 'Jan' },\r\n { item_id: '2', item_text: 'Feb' },\r\n { item_id: '3', item_text: 'Mar' },\r\n { item_id: '4', item_text: 'Apr' },\r\n { item_id: '5', item_text: 'May' },\r\n { item_id: '6', item_text: 'Jun' },\r\n { item_id: '7', item_text: 'Jul' },\r\n { item_id: '8', item_text: 'Aug' },\r\n { item_id: '9', item_text: 'Sep' },\r\n { item_id: '10', item_text: 'Oct' },\r\n { item_id: '11', item_text: 'Nov' },\r\n { item_id: '12', item_text: 'Dec' }\r\n ];\r\n dropdownSettings1: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'jobNumberID',\r\n textField: 'jobNumberName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings2: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings3: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings4: IDropdownSettings = {\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 };\r\n dropdownSettings5: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings6: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings7: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings8: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings9: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'requirementStatusID',\r\n textField: 'requirementStatusName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n yearSettings: IDropdownSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n\r\n constructor(private poStatusUpdateService: PoStatusUpdateService, private snackBar: MatSnackBarComponent, private router: Router,\r\n private _pagerService: PagerService, private datepipe: DatePipe, private vendorFinalizationService: VendorFinalizationService,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.userName = localStorage.getItem('mcmt_userName');\r\n this.selectedStatusCustom = 0;\r\n this.displayPoAssignment = 'none';\r\n this.tomorrow = new Date(new Date().setDate(new Date().getDate() + 30));\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.poStatusUpdateFilters();\r\n this.vendorTypes();\r\n this.displayUpdate = 0;\r\n this.callbackChange = 'none';\r\n }\r\n\r\n poStatusUpdateFilters() {\r\n this.loader = 'block';\r\n this.poStatusUpdateService.poStatusUpdateFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.poStatusFilters = resData.data;\r\n class YearItemList{\r\n id: string;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : this.poStatusFilters.currentRequirementYear[0].currentrequirementYear,\r\n text: this.poStatusFilters.currentRequirementYear[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem;\r\n this.poStatusUpdateDetails();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n \r\n if(selectedyear != this.poStatusFilters.currentRequirementYear[0].currentrequirementYear)\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className += \"hideuploadExcel\";\r\n }\r\n else\r\n {\r\n document.getElementById(\"ancUploadExcel\").classList.remove(\"hideuploadExcel\");\r\n }\r\n }\r\n\r\n poStatusUpdateDetails() {\r\n this.loader = 'block';\r\n this.selectedJobNumber = undefined;\r\n this.selectedRMHName = undefined;\r\n this.selectedJobType = undefined;\r\n this.selectedBrand = undefined;\r\n this.selectedCrop = undefined;\r\n this.selectedLanguage = undefined;\r\n this.selectedStatus = undefined;\r\n this.selectedMonth = undefined;\r\n this.selectedState = undefined;\r\n let selectedYear = ''\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.text; }).join(\",\");\r\n this.poStatusUpdateService.getPoStatusUpdate(this.selectedJobNumber, this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop,\r\n this.selectedLanguage, this.selectedStatus, this.selectedMonth, this.selectedState,selectedYear)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.poStatusDetails = resdata.data;\r\n //this.model = resdata.data;\r\n this.mainPoDetails = resdata.data;\r\n this.filter();\r\n //this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n else {\r\n // this.toastr.error(resdata.msg, 'Close', 'red-snackbar');\r\n this.toastr.error(\"Status updated successfully\");\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n updatePO(index: any): void {\r\n // if (this.poStatusDetails[index].quantity != 0 && this.poStatusDetails[index].poIssuedDate != '1900-01-01 00:00:00.000'\r\n // //if (this.poStatusDetails[index].poIssuedDate != '1900-01-01 00:00:00.000'\r\n // && this.poStatusDetails[index].poNumber != 0) {\r\n // if (this.poStatusDetails[index].quantity == this.poStatusDetails[index].finalQuantity) {\r\n if (this.poStatusDetails[index].vendorType == \"1\") {\r\n let updatedPO: UpdatedPODetails[] = [];\r\n let issueDate: Date;\r\n let approvedQty: string;\r\n if (this.poStatusDetails[index].poIssuedDate.toString().includes('GMT')) {\r\n issueDate = this.poStatusDetails[index].poIssuedDate.toString().replace('GMT+0530 (India Standard Time)', '').slice(4);\r\n }\r\n else {\r\n issueDate = this.poStatusDetails[index].poIssuedDate;\r\n }\r\n if (this.poStatusDetails[index].quantity.toString().includes(',')) {\r\n approvedQty = this.poStatusDetails[index].quantity.replace(',', '');\r\n }\r\n else {\r\n approvedQty = this.poStatusDetails[index].quantity;\r\n }\r\n var updatedDetails = {\r\n RequirementID: this.poStatusDetails[index].jobNumber,\r\n Quantity: approvedQty,\r\n PONumber: this.poStatusDetails[index].poNumber,\r\n POIssuedDate: issueDate,\r\n RequirementType: this.poStatusDetails[index].requirementType,\r\n };\r\n updatedPO.push(updatedDetails);\r\n this.loader = 'block';\r\n this.poStatusUpdateService.updatePO(updatedPO)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n if (resdata.data[0].status == 'true') {\r\n this.toastr.success(resdata.data[0].msg);\r\n this.poStatusUpdateDetails();\r\n this.filter();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.data[0].msg);\r\n this.loader = 'none';\r\n this.poStatusUpdateDetails();\r\n this.filter();\r\n }\r\n }\r\n else {\r\n this.isSelect = \"0\";\r\n this.toastr.error(resdata.data[0].msg);\r\n this.poStatusUpdateDetails();\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n else {\r\n this.isSelect = \"0\";\r\n }\r\n // }\r\n // else {\r\n // this.isSelect = \"0\";\r\n // if(this.poStatusDetails[index].quantity > this.poStatusDetails[index].finalQuantity){\r\n // this.toastr.error(\"PO Quantity can not be more than Final Quantity\", 'Close', 'red-snackbar');\r\n // }\r\n // else{\r\n // this.toastr.error(\"PO Quantity can not be less than Final Quantity\", 'Close', 'red-snackbar');\r\n // }\r\n // this.poStatusUpdateDetails();\r\n // this.loader = 'none';\r\n // }\r\n // }\r\n // else {\r\n // this.isSelect = \"0\";\r\n // this.toastr.error(\"Fill all parameters\", 'Close', 'red-snackbar');\r\n // this.poStatusUpdateDetails();\r\n // this.loader = 'none';\r\n // }\r\n }\r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n let selectJobNo: any[] = this.selectedJobNumber;\r\n let selectRmh: any[] = this.selectedRMHName;\r\n let selectJob: any[] = this.selectedJobType;\r\n let selectBrand: any[] = this.selectedBrand;\r\n let selectCrop: any[] = this.selectedCrop;\r\n let selectLanguage: any[] = this.selectedLanguage;\r\n let selectStatus: any[] = this.selectedStatus;\r\n let selectMonth: any[] = this.selectedMonth;\r\n let selectState: any[] = this.selectedState;\r\n let customJobNo: string = \"\";\r\n let customRmh: string = \"\";\r\n let customJob: string = \"\";\r\n let customBrand: string = \"\";\r\n let customCrop: string = \"\";\r\n let customLanguage: string = \"\";\r\n let customStatus: string = \"\";\r\n let customMonth: string = \"\";\r\n let customState: string = \"\";\r\n let selectedYear = ''\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.text; }).join(\",\");\r\n if (selectJobNo != undefined) {\r\n selectJobNo.forEach(x => {\r\n if (x.length == 0) {\r\n customJobNo = \"\";\r\n }\r\n else {\r\n if (customJobNo == \"\") {\r\n customJobNo = x.jobNumberName;\r\n }\r\n else {\r\n customJobNo = customJobNo.concat(\",\");\r\n customJobNo = customJobNo.concat(x.jobNumberName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectRmh != undefined) {\r\n selectRmh.forEach(x => {\r\n if (x.length == 0) {\r\n customRmh = \"\";\r\n }\r\n else {\r\n if (customRmh == \"\") {\r\n customRmh = x.rMHCode;\r\n }\r\n else {\r\n customRmh = customRmh.concat(\",\");\r\n customRmh = customRmh.concat(x.rMHCode);\r\n }\r\n }\r\n })\r\n }\r\n if (selectJob != undefined) {\r\n selectJob.forEach(x => {\r\n if (x.length == 0) {\r\n customJob = \"\";\r\n }\r\n else {\r\n if (customJob == \"\") {\r\n customJob = x.jobTypeName;\r\n }\r\n else {\r\n customJob = customJob.concat(\",\");\r\n customJob = customJob.concat(x.jobTypeName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectBrand != undefined) {\r\n selectBrand.forEach(x => {\r\n if (x.length == 0) {\r\n customBrand = \"\";\r\n }\r\n else {\r\n if (customBrand == \"\") {\r\n customBrand = x.brandName;\r\n }\r\n else {\r\n customBrand = customBrand.concat(\",\");\r\n customBrand = customBrand.concat(x.brandName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectCrop != undefined) {\r\n selectCrop.forEach(x => {\r\n if (x.length == 0) {\r\n customCrop = \"\";\r\n }\r\n else {\r\n if (customCrop == \"\") {\r\n customCrop = x.cropName;\r\n }\r\n else {\r\n customCrop = customCrop.concat(\",\");\r\n customCrop = customCrop.concat(x.cropName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectLanguage != undefined) {\r\n selectLanguage.forEach(x => {\r\n if (x.length == 0) {\r\n customLanguage = \"\";\r\n }\r\n else {\r\n if (customLanguage == \"\") {\r\n customLanguage = x.languageName;\r\n }\r\n else {\r\n customLanguage = customLanguage.concat(\",\");\r\n customLanguage = customLanguage.concat(x.languageName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectStatus != undefined) {\r\n selectStatus.forEach(x => {\r\n if (x.length == 0) {\r\n customStatus = \"\";\r\n }\r\n else {\r\n if (customStatus == \"\") {\r\n customStatus = x.requirementStatusID.toString();\r\n }\r\n else {\r\n customStatus = customStatus.concat(\",\");\r\n customStatus = customStatus.concat(x.requirementStatusID.toString());\r\n }\r\n }\r\n })\r\n }\r\n if (selectMonth != undefined) {\r\n selectMonth.forEach(x => {\r\n if (x.length == 0) {\r\n customMonth = \"\";\r\n }\r\n else {\r\n if (customMonth == \"\") {\r\n customMonth = x.item_id;\r\n }\r\n else {\r\n customMonth = customMonth.concat(\",\");\r\n customMonth = customMonth.concat(x.item_id);\r\n }\r\n }\r\n })\r\n }\r\n if (selectState != undefined) {\r\n selectState.forEach(x => {\r\n if (x.length == 0) {\r\n customState = \"\";\r\n }\r\n else {\r\n if (customState == \"\") {\r\n customState = x.stateName;\r\n }\r\n else {\r\n customState = customState.concat(\",\");\r\n customState = customState.concat(x.stateName);\r\n }\r\n }\r\n })\r\n }\r\n this.poStatusUpdateService.downloadExcel(customJobNo, customRmh, customJob, customBrand, customCrop,\r\n customLanguage, customStatus, customMonth, customState,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('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n let ExcelName = Firstname + '_' + LastName + '_'+ cYear + '_PoStatusUpdate_' + 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 // Start :For Pagination\r\n // setPage(page: number, pageSize: number) {\r\n // // get pager object from service\r\n // if (this.modalSetting == 0) {\r\n // this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n // this.poStatusDetails = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n // }\r\n // else {\r\n // if (this.modalSetting == 1) {\r\n // this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n // this.poStatusDetails = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n // }\r\n // else {\r\n // this.pager = this._pagerService.getPager(this.modelDepandent.length, page, pageSize);\r\n // this.poStatusDetails = this.modelDepandent.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n // }\r\n // }\r\n // // get current page of items\r\n // }\r\n\r\n\r\n vendorTypes() {\r\n this.loader = 'block';\r\n this.vendorFinalizationService.vendorTypes()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.vendorTypeDetail = resData.data.vendorTypes;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n filesAdd(files: File[]) {\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 if (fileType != 'xls' && fileType != 'xlsx') {\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\r\n this.loader = 'block';\r\n this.poStatusUpdateService.uploadPoStatus(this.files[0])\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n if (resData.data == 1) {\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n else {\r\n if (resData.data[0].status == 'true') {\r\n this.toastr.success(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.poStatusUpdateDetails();\r\n this.filter();\r\n this.input.nativeElement.value = null;\r\n } else {\r\n this.toastr.error(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n }\r\n }\r\n else {\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n this.files = [];\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 filter() {\r\n let customRmh: any[] = this.selectedRMHName;\r\n let customBrand: any[] = this.selectedBrand;\r\n let customJob: any[] = this.selectedJobType;\r\n let customCrop: any[] = this.selectedCrop;\r\n let customLanguage: any[] = this.selectedLanguage;\r\n let customJobNo: any[] = this.selectedJobNumber;\r\n let customState: any[] = this.selectedState;\r\n let customMonth: any[] = this.selectedMonth;\r\n let customStatus: any[] = this.selectedStatus;\r\n let selectedYear = ''\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.text; }).join(\",\");\r\n \r\n let filteredItem = [];\r\n \r\n let PoStatusDetail: PoStatusUpdateDetails[] = this.mainPoDetails;\r\n let resultDetail: PoStatusUpdateDetails[] = [];\r\n let resultId = [];\r\n let filter: boolean = false;\r\n let splitString: any[] = [];\r\n \r\n resultDetail=PoStatusDetail;\r\n \r\n if (customRmh != undefined && customRmh.length > 0) {\r\n customRmh.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n if (detail.rmhId == element.rMHCode) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n }\r\n\r\n if (customBrand != undefined && customBrand.length > 0) {\r\n customBrand.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n if (detail.brand == element.brandName) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n }\r\n \r\n if (customCrop != undefined && customCrop.length > 0) {\r\n customCrop.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n if (detail.crop == element.cropName) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n }\r\n \r\n if (customJob != undefined && customJob.length > 0) {\r\n customJob.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n if (detail.jobType == element.jobTypeName) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n }\r\n\r\n if (customLanguage != undefined && customLanguage.length > 0) {\r\n customLanguage.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n if (detail.language == element.languageName) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n } \r\n \r\n if (customJobNo != undefined && customJobNo.length > 0) {\r\n customJobNo.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n if (detail.jobNumber == element.jobNumberName) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n } \r\n \r\n if (selectedYear != undefined && selectedYear!= '') {\r\n resultDetail.forEach(detail => {\r\n if (detail.rollingYear == selectedYear) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n }\r\n\r\n if (customState != undefined && customState.length > 0) {\r\n customState.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n if (detail.state == element.stateName) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n }\r\n \r\n if (customMonth != undefined && customMonth.length > 0) {\r\n customMonth.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n splitString = detail.requirementMonth.split(\"'\");\r\n if (splitString[0] == element.item_text) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n }\r\n \r\n if (customStatus != undefined && customStatus.length > 0) {\r\n customStatus.forEach(element => {\r\n resultDetail.forEach(detail => {\r\n if (detail.orderStatus == element.requirementStatusName) {\r\n filteredItem.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredItem;\r\n filteredItem=[];\r\n resultDetail = resultDetail.filter( el => resultId.includes( el.jobNumber ) );\r\n filter = true;\r\n }\r\n\r\n this.poStatusDetails = resultDetail;\r\n this.sortDirection = '';\r\n //this.setPage(1, this.pageSetting)\r\n }\r\n onItemSelect() {\r\n\r\n }\r\n onSelectAll() {\r\n\r\n }\r\n\r\n onItemSelectJob() {\r\n let jobNo = this.selectedJobNumber;\r\n let customBrand = [];\r\n let customRmh = [];\r\n let customCrop = [];\r\n let customJob = [];\r\n let customStatus = [];\r\n let customLanguage = [];\r\n let customMonth = [];\r\n let customState = [];\r\n let customJobNo = [];\r\n this.poStatusFilters.jobNumbers.forEach(x => {\r\n jobNo.forEach(element => {\r\n if (element.jobNumberName == x.jobNumberName) {\r\n customJobNo.push(x);\r\n }\r\n });\r\n })\r\n let active: boolean = true;\r\n this.poStatusFilters.brands.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.brandID == element.brandID) {\r\n if (customBrand.length == 0) {\r\n customBrand.push(x);\r\n }\r\n else {\r\n customBrand.forEach(y => {\r\n if (y.brandID == x.brandID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customBrand.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n // this.poStatusFilters.orderStatus.forEach(x => {\r\n // customJobNo.forEach(element => {\r\n // if (x.requirementStatusID == element.statusID) {\r\n // if (customStatus.length == 0) {\r\n // customStatus.push(x);\r\n // }\r\n // else {\r\n // customStatus.forEach(y => {\r\n // if (y.item_id == x.requirementStatusID) {\r\n // active = false;\r\n // }\r\n // })\r\n // if (active == true) {\r\n // customStatus.push(x);\r\n // }\r\n // active = true;\r\n // }\r\n // }\r\n // });\r\n // })\r\n this.poStatusFilters.states.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.stateName == element.stateName) {\r\n if (customState.length == 0) {\r\n customState.push(x);\r\n }\r\n else {\r\n customState.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customState.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n // this.poStatusFilters.crops.forEach(x => {\r\n // customJobNo.forEach(element => {\r\n // if (x.cropID == element.cropID) {\r\n // if (customCrop.length == 0) {\r\n // customCrop.push(x);\r\n // }\r\n // else {\r\n // customCrop.forEach(y => {\r\n // if (y.cropID == x.cropID) {\r\n // active = false;\r\n // }\r\n // })\r\n // if (active == true) {\r\n // customCrop.push(x);\r\n // }\r\n // active = true;\r\n // }\r\n // }\r\n // });\r\n // })\r\n this.poStatusFilters.jobTypes.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.jobTypeID == element.jobTypeID) {\r\n if (customJob.length == 0) {\r\n customJob.push(x);\r\n }\r\n else {\r\n customJob.forEach(y => {\r\n if (y.jobTypeID == x.jobTypeID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customJob.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n // this.poStatusFilters.languages.forEach(x => {\r\n // customJobNo.forEach(element => {\r\n // if (x.languageID == element.languageID) {\r\n // if (customLanguage.length == 0) {\r\n // customLanguage.push(x);\r\n // }\r\n // else {\r\n // customLanguage.forEach(y => {\r\n // if (y.languageID == x.languageID) {\r\n // active = false;\r\n // }\r\n // })\r\n // if (active == true) {\r\n // customLanguage.push(x);\r\n // }\r\n // active = true\r\n // }\r\n // }\r\n // });\r\n // })\r\n this.poStatusFilters.rmhs.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.rMHCode == element.rMHCode) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.dropdownList.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.item_id == element.month) {\r\n if (customMonth.length == 0) {\r\n customMonth.push(x);\r\n }\r\n else {\r\n customMonth.forEach(y => {\r\n if (y.item_id == x.item_id) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customMonth.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.selectedJobType = customJob;\r\n this.selectedLanguage = customLanguage;\r\n this.selectedMonth = customMonth;\r\n this.selectedRMHName = customRmh;\r\n this.selectedState = customState;\r\n this.selectedCrop = customCrop;\r\n this.selectedBrand = customBrand;\r\n this.selectedStatus = customStatus;\r\n }\r\n\r\n onItemSelectState() {\r\n let customState: any[] = this.selectedState;\r\n let customRmh = [];\r\n let finalRMH = [];\r\n let customLanguage = [];\r\n let finalLanguage = [];\r\n let active: boolean = true;\r\n this.poStatusFilters.maMapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.stateName == detail.stateName) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.poStatusFilters.rmhs.forEach(x => {\r\n customRmh.forEach(detail => {\r\n if (x.rMHCode == detail.rMHCode) {\r\n if (finalRMH.length == 0) {\r\n finalRMH.push(x);\r\n }\r\n else {\r\n finalRMH.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalRMH.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.poStatusFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.state == x.state) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.poStatusFilters.languages.forEach(x => {\r\n customLanguage.forEach(detail => {\r\n if (x.languageName == detail.languageName) {\r\n if (finalLanguage.length == 0) {\r\n finalLanguage.push(x);\r\n }\r\n else {\r\n finalLanguage.forEach(y => {\r\n if (y.languageName == x.languageName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedRMHName = finalRMH;\r\n this.selectedLanguage = finalLanguage;\r\n }\r\n\r\n onStateDeSelect() {\r\n this.onItemSelectState();\r\n }\r\n\r\n onJobDeSelect() {\r\n this.onItemSelectJob();\r\n }\r\n\r\n onItemSelectAllJob() {\r\n let customBrand = [];\r\n let customRmh = [];\r\n let customCrop = [];\r\n let customJob = [];\r\n let customLanguage = [];\r\n let customMonth = [];\r\n let customStatus = [];\r\n let customState = [];\r\n let customJobNo = [];\r\n this.poStatusFilters.jobNumbers.forEach(x => {\r\n customJobNo.push(x);\r\n })\r\n let active: boolean = true;\r\n this.poStatusFilters.brands.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.brandID == element.brandID) {\r\n if (customBrand.length == 0) {\r\n customBrand.push(x);\r\n }\r\n else {\r\n customBrand.forEach(y => {\r\n if (y.brandID == x.brandID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customBrand.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.poStatusFilters.orderStatus.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.requirementStatusID == element.statusID) {\r\n if (customStatus.length == 0) {\r\n customStatus.push(x);\r\n }\r\n else {\r\n customStatus.forEach(y => {\r\n if (y.item_id == x.requirementStatusID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customStatus.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.poStatusFilters.states.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.stateName == element.stateName) {\r\n if (customState.length == 0) {\r\n customState.push(x);\r\n }\r\n else {\r\n customState.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customState.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.poStatusFilters.crops.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.cropID == element.cropID) {\r\n if (customCrop.length == 0) {\r\n customCrop.push(x);\r\n }\r\n else {\r\n customCrop.forEach(y => {\r\n if (y.cropID == x.cropID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customCrop.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.poStatusFilters.jobTypes.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.jobTypeID == element.jobTypeID) {\r\n if (customJob.length == 0) {\r\n customJob.push(x);\r\n }\r\n else {\r\n customJob.forEach(y => {\r\n if (y.jobTypeID == x.jobTypeID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customJob.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.poStatusFilters.languages.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.languageID == element.languageID) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.languageID == x.languageID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.poStatusFilters.rmhs.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.rMHCode == element.rMHCode) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.dropdownList.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.item_id == element.month) {\r\n if (customMonth.length == 0) {\r\n customMonth.push(x);\r\n }\r\n else {\r\n customMonth.forEach(y => {\r\n if (y.item_id == x.item_id) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customMonth.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.selectedJobType = customJob;\r\n this.selectedLanguage = customLanguage;\r\n this.selectedMonth = customMonth;\r\n this.selectedRMHName = customRmh;\r\n this.selectedState = customState;\r\n this.selectedCrop = customCrop;\r\n this.selectedBrand = customBrand;\r\n this.selectedStatus = customStatus;\r\n }\r\n onJobAllDeSelect() {\r\n this.selectedJobType = [];\r\n this.selectedLanguage = [];\r\n this.selectedMonth = [];\r\n this.selectedRMHName = [];\r\n this.selectedState = [];\r\n this.selectedCrop = [];\r\n this.selectedBrand = [];\r\n this.selectedStatus = [];\r\n }\r\n onItemSelectAllState() {\r\n let customRmh = [];\r\n let finalRMH = [];\r\n let customLanguage = [];\r\n let finalLanguage = [];\r\n let customState = [];\r\n this.poStatusFilters.states.forEach(x => {\r\n customState.push(x);\r\n })\r\n let active: boolean = true;\r\n this.poStatusFilters.maMapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.stateName == detail.stateName) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.poStatusFilters.rmhs.forEach(x => {\r\n customRmh.forEach(detail => {\r\n if (x.rMHCode == detail.rMHCode) {\r\n if (finalRMH.length == 0) {\r\n finalRMH.push(x);\r\n }\r\n else {\r\n finalRMH.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalRMH.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.poStatusFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.state == x.state) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.poStatusFilters.languages.forEach(x => {\r\n customLanguage.forEach(detail => {\r\n if (x.languageName == detail.languageName) {\r\n if (finalLanguage.length == 0) {\r\n finalLanguage.push(x);\r\n }\r\n else {\r\n finalLanguage.forEach(y => {\r\n if (y.languageName == x.languageName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedRMHName = finalRMH;\r\n this.selectedLanguage = finalLanguage;\r\n }\r\n onStateAllDeSelect() {\r\n this.selectedRMHName = [];\r\n this.selectedLanguage = [];\r\n }\r\n\r\n saveApprovedPoStatus(index: any) {\r\n let selectedId = this.poStatusDetails[index].jobNumber;\r\n let selectedPonumber = this.poStatusDetails[index].poNumber;\r\n let selectedQty = this.poStatusDetails[index].quantity;\r\n let selectedDate = this.poStatusDetails[index].poIssuedDate;\r\n this.mainPoDetails.forEach(element => {\r\n if (element.jobNumber == selectedId) {\r\n element.poNumber = selectedPonumber;\r\n element.quantity = selectedQty;\r\n element.poIssuedDate = selectedDate;\r\n }\r\n });\r\n }\r\n\r\n\r\n poNumberUpdated(index: any) {\r\n if (this.poStatusDetails[index].poNumber != 0) {\r\n this.poStatusDetails[index].quantity = this.poStatusDetails[index].finalQuantity;\r\n }\r\n this.saveApprovedPoStatus(index);\r\n }\r\n\r\n sort() {\r\n let sortedArray: PoStatusUpdateDetails[] = [];\r\n let splitString: any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownList.forEach(x => {\r\n this.poStatusDetails.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.poStatusDetails = sortedArray;\r\n }\r\n else {\r\n this.dropdownList.forEach(x => {\r\n this.poStatusDetails.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.poStatusDetails = sortedArray.reverse();\r\n }\r\n }\r\n showEditPanel(detail: any,index:number) {\r\n this.displayPoAssignment = 'block';\r\n this.popJobNumber = detail.jobNumber;\r\n this.popPoIssueQty = Number(detail.finalQuantity);\r\n this.popFAQ = detail.finalQuantity;\r\n this.GetPoApprovalDetails(0, detail.jobNumber, 0, 0, '', 0, null, null, 'SELECT');\r\n this.GetPoApprovalDetails(0, detail.jobNumber, 0, 0, '', 0, null, null, 'GRID');\r\n this.gridIndex=index;\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n closePanel() {\r\n this.displayPoAssignment = 'none';\r\n this.popPoIssueQty = null;\r\n this.popPoNumber = null;\r\n this.popJobNumber = null;\r\n this.displayUpdate = 0;\r\n this.poDetailsID = 0;\r\n this.callbackChange = 'none';\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n this.poStatusUpdateDetails();\r\n }\r\n\r\n GetPoApprovalDetails(id: number, jobNumber: string, vendorType: number, approvedQuantity: number, poNumber: string, poQuantity: number, poIssueDate: Date, poEstimateDeliveryDate: Date, action: string,cancellationRemark:string=null) {\r\n this.loader = 'block';\r\n let poIssuedDate = this.datepipe.transform(poIssueDate, 'dd-MMM-yyyy');\r\n let poEstimatedDeliveryDate = this.datepipe.transform(poEstimateDeliveryDate, 'dd-MMM-yyyy');\r\n this.poStatusUpdateService.poApprovalDetails(id, jobNumber, vendorType, approvedQuantity, poNumber, poQuantity, poIssuedDate, poEstimatedDeliveryDate, action,cancellationRemark)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.poApprovalDetail = resdata.data;\r\n if (action == 'SUBMIT') {\r\n if (resdata.data[0].column1 == \"true\") {\r\n this.toastr.success(\"PO Details Submitted Successfully\");\r\n }\r\n else\r\n this.toastr.error(\"Can not Submit record,Please add as list before submit / All Approved Quantity is not assigned\");\r\n }\r\n\r\n else if (action == 'SELECT') {\r\n if (this.callbackChange == 'call') {\r\n this.poRemainingQuantity = this.poApprovalDetail[0].remainingQuantity;\r\n this.isCancelationApprove=this.poApprovalDetail[0].cancellationApproval;\r\n }\r\n else {\r\n this.poRemainingQuantity = this.poApprovalDetail[0].remainingQuantity;\r\n this.poApprovedQuantity = this.poApprovalDetail[0].remainingQuantity;\r\n this.popVendor = this.poApprovalDetail[0].vendorType;\r\n this.popPoIssueDate = (this.poApprovalDetail[0].poIssueDate);\r\n this.popEstDelDate = (this.poApprovalDetail[0].estimateDeliveryToWH)\r\n this.popPoNumber='';\r\n this.isCancelationApprove=this.poApprovalDetail[0].cancellationApproval;\r\n }\r\n\r\n }\r\n else if (action == 'GRID' || action == 'INSERT') {\r\n this.poGridDetail = resdata.data;\r\n }\r\n else if (action == 'UPDATE') {\r\n this.poGridDetail = resdata.data;\r\n this.displayUpdate = 0;\r\n this.popPoIssueQty=null;\r\n this.popPoNumber='';\r\n this.isCancelationApprove=this.poApprovalDetail[0].cancellationApproval;\r\n }\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n SubmitPoApproveDetails() {\r\n if(this.popFAQ-this.popPoIssueQty==0)\r\n {\r\n this.GetPoApprovalDetails(0, this.popJobNumber, this.popVendor,\r\n this.popFAQ, this.popPoNumber, this.popPoIssueQty, this.popPoIssueDate, this.popEstDelDate, 'SUBMIT');\r\n }\r\n else if(this.popFAQ-this.popPoIssueQty>0)\r\n {\r\n this.displayPanel='block';\r\n this.fadeBackground='block';\r\n this.displayPoAssignment='none';\r\n this.RejectedQty=this.popFAQ-this.popPoIssueQty;\r\n \r\n }\r\n else{\r\n this.toastr.error('PO Issue Quantity can not exceed Final Approved Quantity');\r\n }\r\n }\r\n SubmitJobCancellation()\r\n {\r\n if(this.RemarksText!='' && this.editAction=='UPDATE')\r\n {\r\n this.GetPoApprovalDetails(this.poDetailsID, this.popJobNumber, this.popVendor,\r\n this.popFAQ, this.popPoNumber, this.popPoIssueQty, this.popPoIssueDate, this.popEstDelDate, 'UPDATE',this.RemarksText);\r\n }\r\n else\r\n {\r\n if(this.RemarksText!='')\r\n this.GetPoApprovalDetails(this.poDetailsID, this.popJobNumber, this.popVendor,\r\n this.popFAQ, this.popPoNumber, this.popPoIssueQty, this.popPoIssueDate, this.popEstDelDate, 'INSERT',this.RemarksText);\r\n }\r\n this.displayPanel = 'none';\r\n this.fadeBackground = 'none';\r\n this.displayPoAssignment='block';\r\n }\r\n EditPoDetails(detail: any) {\r\n this.popJobNumber = detail.jobNumber;\r\n this.popPoIssueQty = detail.poQuantity;\r\n this.popVendor = detail.vendorType;\r\n this.popPoIssueDate = detail.poIssueDate;\r\n this.popPoNumber = detail.poNumber;\r\n this.poDetailsID = detail.id;\r\n this.popEstDelDate = detail.estimateDeliveryToWH;\r\n //this.popFAQ=detail.approvedQuantity;\r\n this.displayUpdate = 1;\r\n this.poNumberUpdate= detail.poNumber;\r\n }\r\n callback() {\r\n this.callbackChange = 'call';\r\n this.GetPoApprovalDetails(0, this.popJobNumber, 0, 0, '', 0, null, null, 'SELECT');\r\n }\r\n\r\n UpdatePoDetails() {\r\n // this.loader='block';\r\n // this.ValidateJobNumber();\r\n // this.delay(2000).then(any => {\r\n // this.loader='none';\r\n this.editAction='UPDATE';\r\n if (this.popPoIssueQty != null && this.popPoIssueQty != 0 && this.popPoNumber != '' && this.popPoNumber != undefined && this.popPoIssueDate != '') {\r\n // if (this.PoNumberValidation || this.poNumberUpdate==this.popPoNumber) {\r\n if (this.popFAQ - this.popPoIssueQty == 0) {\r\n this.GetPoApprovalDetails(this.poDetailsID, this.popJobNumber, this.popVendor,\r\n this.popFAQ, this.popPoNumber, this.popPoIssueQty, this.popPoIssueDate, this.popEstDelDate, 'UPDATE');\r\n this.displayUpdate = 0;\r\n this.poDetailsID = 0;\r\n this.callback();\r\n }\r\n else if (this.popFAQ - this.popPoIssueQty > 0) {\r\n this.displayPanel = 'block';\r\n this.fadeBackground = 'block';\r\n this.displayPoAssignment = 'none';\r\n this.RejectedQty = this.popFAQ - this.popPoIssueQty; \r\n }\r\n else{\r\n this.toastr.error(\"PO Quantity can not exceed approved quantity\");\r\n }\r\n // }\r\n // else {\r\n // this.toastr.error(\"Please enter a different PoNumber,PoNumber already Exists\", 'Close', 'red-snackbar');\r\n // }\r\n // this.GetPoApprovalDetails(0,this.popJobNumber,0,0,'',0,null,null,'SELECT');\r\n }\r\n else {\r\n this.toastr.error(\"Please fill the required input\");\r\n }\r\n// });\r\n }\r\n async delay(ms: number) {\r\n await new Promise(resolve => setTimeout(()=>resolve(), ms)).then(()=>console.log(\"delay\"));\r\n}\r\n\r\n SavePoApproveDetails() {\r\n // this.loader='block';\r\n // this.ValidateJobNumber();\r\n // this.delay(2000).then(any => {\r\n // this.loader='none';\r\n this.editAction='INSERT';\r\n if (this.popPoIssueQty != null && this.popPoIssueQty != 0 && this.popPoNumber != '' && this.popPoNumber != undefined && this.popPoIssueDate != '') {\r\n if (this.popFAQ - this.popPoIssueQty >= 0) {\r\n // if (this.poRemainingQuantity == this.popFAQ || this.poRemainingQuantity == this.popPoIssueQty) {\r\n //if (this.poGridDetail == null || (this.poGridDetail != null && !this.poGridDetail.find(m => m.vendorType == this.popVendor))) {\r\n // if (this.PoNumberValidation || this.poNumberUpdate==this.popPoNumber) {\r\n if (this.popFAQ - this.popPoIssueQty == 0) {\r\n this.GetPoApprovalDetails(0, this.popJobNumber, this.popVendor,\r\n this.popFAQ, this.popPoNumber, this.popPoIssueQty, this.popPoIssueDate, this.popEstDelDate, 'INSERT');\r\n this.GetPoApprovalDetails(0, this.popJobNumber, 0, 0, '', 0, null, null, 'SELECT');\r\n this.updatePO(this.gridIndex);\r\n }\r\n else if (this.popFAQ - this.popPoIssueQty > 0) {\r\n this.displayPanel = 'block';\r\n this.fadeBackground = 'block';\r\n this.displayPoAssignment = 'none';\r\n this.RemarksText='';\r\n this.RejectedQty = this.popFAQ - this.popPoIssueQty;\r\n if(this.RemarksText!='')\r\n { \r\n this.GetPoApprovalDetails(0, this.popJobNumber, this.popVendor,\r\n this.popFAQ, this.popPoNumber, this.popPoIssueQty, this.popPoIssueDate, this.popEstDelDate, 'INSERT',this.RemarksText);\r\n } \r\n }\r\n else{\r\n this.toastr.error(\"PO Quantity can not exceed approved quantity\");\r\n }\r\n // }\r\n // else {\r\n // this.toastr.error(\"Please enter a different PoNumber,PoNumber already Exists\", 'Close', 'red-snackbar');\r\n // }\r\n // }\r\n // else {\r\n // this.toastr.error(\"Please select a different Vendor,Vendor already Exists\", 'Close', 'red-snackbar');\r\n // }\r\n // }\r\n // else {\r\n // this.toastr.error(\"PO Quantity should be equal to Remaining Quantity \" + this.poRemainingQuantity, 'Close', 'red-snackbar');\r\n // }\r\n }\r\n\r\n else {\r\n this.toastr.error(\"PO Quantity can not exceed approved quantity\");\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Please fill the required input\");\r\n }\r\n\r\n // });\r\n }\r\n\r\n\r\n\r\n // SavePoApprovalDetails(index: number) {\r\n // if (this.poApprovedQuantity - this.poApprovalDetail[index].poQuantity >= 0) {\r\n // if (this.poApprovalDetail[index].poNumber != null) {\r\n // if (this.PoNumberValidation) {\r\n // this.GetPoApprovalDetails(0, this.poApprovalDetail[index].jobNumber, this.poApprovalDetail[index].vendorType,\r\n // this.poApprovalDetail[index].approvedQuantity, this.poApprovalDetail[index].poNumber, this.poApprovalDetail[index].poQuantity, this.poApprovalDetail[index].poIssueDate, this.poApprovalDetail[index].EstimateDeliveryToWH, 'INSERT');\r\n // }\r\n // else {\r\n // this.toastr.error(\"Please enter a different PoNumber,PoNumber already Exists\", 'Close', 'red-snackbar');\r\n // }\r\n // }\r\n // else {\r\n // this.toastr.error(\"Please fill the PO Number\", 'Close', 'red-snackbar');\r\n // }\r\n // }\r\n // else {\r\n // this.toastr.error(\"PO Quantity can not exceed approved quantity\", 'Close', 'red-snackbar');\r\n // }\r\n // }\r\n UpdatePoApprovalDetails(index: number) {\r\n if (this.poApprovalDetail[index].approvedQuantity - this.poApprovalDetail[index].poQuantity >= 0) {\r\n if (this.poApprovalDetail[index].poNumber != '') {\r\n this.GetPoApprovalDetails(this.poApprovalDetail[index].id, this.poApprovalDetail[index].jobNumber, this.poApprovalDetail[index].vendorType,\r\n this.poApprovalDetail[index].approvedQuantity, this.poApprovalDetail[index].poNumber, this.poApprovalDetail[index].poQuantity, this.poApprovalDetail[index].poIssueDate, this.poApprovalDetail[index].EstimateDeliveryToWH, 'UPDATE');\r\n this.callback();\r\n }\r\n else {\r\n this.toastr.error(\"Please fill the PO Number\");\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"PO Quantity can not exceed approved quantity\");\r\n }\r\n }\r\n\r\n async ValidateJobNumber() {\r\n if (this.popPoNumber != '' ) {\r\n this.loader='block';\r\n await this.poStatusUpdateService.ValidatePoNumber(this.popPoNumber)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == false) {\r\n this.PoNumberValidation = false;\r\n this.loader='none';\r\n }\r\n else {\r\n this.PoNumberValidation = true;\r\n this.loader='none';\r\n }\r\n });\r\n }\r\n }\r\n closePopup()\r\n {\r\n this.displayPanel='none';\r\n this.fadeBackground='none';\r\n this.RemarksText=\"\";\r\n this.displayPoAssignment='block';\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

Product Configuration

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ProductsVisibility
{{brand.brandName}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { ProductList } from 'src/app/Models/Admin/ProductConfiguration';\r\nimport { ProductConfigurationService } from 'src/app/Services/admin-rights/product-configuration.service';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector : 'app-product-configuration',\r\n templateUrl : './product-configuration.component.html',\r\n styleUrls : ['./product-configuration.component.css']\r\n})\r\nexport class ProductConfigurationComponent implements OnInit {\r\n productList : any[];\r\n loader : string = 'none';\r\n\r\n constructor(private snackBar: MatSnackBarComponent, private productConfigurationService : ProductConfigurationService, private router: Router,private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getProductList();\r\n }\r\n getProductList(){\r\n this.loader = 'block';\r\n this.productConfigurationService.getProductList()\r\n .subscribe((resdata : any) =>{\r\n if(resdata.status == true){\r\n this.productList = resdata.data;\r\n this.loader = 'none';\r\n }\r\n else\r\n {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n UpdateProductVisibility(){\r\n this.loader = 'block';\r\n let brandList : ProductList[] = [];\r\n this.productList.forEach(function (detail) {\r\n var approvedQty = {\r\n BrandName : detail.brandName,\r\n IsActive : detail.active\r\n };\r\n brandList.push(approvedQty)\r\n });\r\n this.productConfigurationService.updateProductConfiguration(brandList)\r\n .subscribe((resdata : any) => {\r\n if (resdata.status == true) {\r\n this.toastr.success('Product List have been Configured.');\r\n this.loader = 'none';\r\n this.getProductList();\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Production -{{selectModule}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Select All
Job NumberRMH NameStateRequirement MonthBrandJob TypeCropLanguageVendorApproved QuantityStatus
{{detail.jobNumber}}{{detail.name}}{{detail.state}}{{detail.month}}{{detail.brand}}{{detail.jobType}}{{detail.cropName}}{{detail.language}}{{detail.vendorType}}{{detail.approvedQuantity}} \\r\\n {{detail.status}}\\r\\n
No Records Found
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MCPlanningMaterialService } from '../../Services/MCPlanningMaterial/mcplanningmaterial.service'\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component'\r\nimport { PagerService } from '../../Services/pager.service'\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown'\r\nimport { productionFilter, productionDetails, ProductionStatus } from \"../../Models/Production/production\"\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-production-packageing',\r\n templateUrl: './production-packageing.component.html',\r\n styleUrls: ['./production-packageing.component.css']\r\n})\r\nexport class ProductionPackageingComponent implements OnInit {\r\n \r\n @ViewChild('RMHName') RMHName;\r\n @ViewChild('Brand') Brand;\r\n @ViewChild('requirementStatus') requirementStatus;\r\n @ViewChild('JobNumber') JobNumber;\r\n @ViewChild('State') State;\r\n @ViewChild('vendorType') vendorType;\r\n\r\n userID: string;\r\n roleID: string;\r\n\r\n selectModule: string;\r\n selectCheck: boolean = false;\r\n\r\n loader: string = 'none';\r\n selectedRMHName: string = '';\r\n selectedJobType: string = '';\r\n selectedBrand: string = '';\r\n selectedCrop: string = '';\r\n selectedLanguage: string = '';\r\n selectedMonth: string = '';\r\n selectedStatus:string='';\r\n selectedState:string='';\r\n selectedJobNumber:string='';\r\n selectedListVendor:string='';\r\n\r\n ascNumberSort: boolean = true;\r\n sortDirection: string = '';\r\n\r\n status: any;\r\n requirementId: string = '';\r\n additionalrequirementId: string = '';\r\n displayStatusPanel: string = 'none';\r\n productionStatus: ProductionStatus[] = [];\r\n statusIntegrate: ProductionStatus = new ProductionStatus();\r\n selectStatus: any;\r\n //Multiple dropdown select\r\n dropdownMonth = [];\r\n dropdownStatus=[];\r\n selectedItems = [];\r\n dropdownSettings: IDropdownSettings = {};\r\n dropdownCropSettings: IDropdownSettings = {};\r\n dropdownBrandSettings: IDropdownSettings = {};\r\n dropdownJobTypeSettings: IDropdownSettings = {};\r\n dropdownLanguageSettings: IDropdownSettings = {};\r\n dropdownRmhsSettings: IDropdownSettings = {};\r\n dropdownstatusSettings: IDropdownSettings = {};\r\n dropdownJobNumbersSetting:IDropdownSettings={};\r\n dropdownstateSetting:IDropdownSettings={};\r\n dropdownVendorSettings:IDropdownSettings={};\r\n\r\n productionFilters: productionFilter = new productionFilter();\r\n productionDetails: productionDetails[] = [];\r\n\r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService, private router: Router, private snackBar: MatSnackBarComponent,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.selectModule=\"Packaging\";\r\n this.selectStatus=8;\r\n }\r\n\r\n bindMonthDropdown() {\r\n this.dropdownMonth = [\r\n { item_id: 1, item_text: 'January' },\r\n { item_id: 2, item_text: 'February' },\r\n { item_id: 3, item_text: 'March' },\r\n { item_id: 4, item_text: 'April' },\r\n { item_id: 5, item_text: 'May' },\r\n { item_id: 6, item_text: 'June' },\r\n { item_id: 7, item_text: 'July' },\r\n { item_id: 8, item_text: 'August' },\r\n { item_id: 9, item_text: 'September' },\r\n { item_id: 10, item_text: 'October' },\r\n { item_id: 11, item_text: 'November' },\r\n { item_id: 12, item_text: 'December' }\r\n ];\r\n\r\n this.dropdownStatus = [\r\n { item_id: 7, item_text: 'Packaging In Process' },\r\n { item_id: 8, item_text: 'Dispatched by Printer' },\r\n ];\r\n\r\n this.dropdownstatusSettings={\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n }\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n }\r\n bindDropdown() {\r\n this.dropdownCropSettings = {\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: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownBrandSettings = {\r\n singleSelection: false,\r\n idField: 'brandName',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownJobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownLanguageSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownRmhsSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownJobNumbersSetting={\r\n singleSelection: false,\r\n idField: 'jobNumber',\r\n textField: 'jobNumber',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownstateSetting={\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownVendorSettings={\r\n singleSelection: false,\r\n idField: 'vendorId',\r\n textField: 'vendorType',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n }\r\n\r\n onItemSelect(event: any, filter: string) {\r\n if (filter == \"Month\") {\r\n this.selectedMonth += event.item_id + ',';\r\n\r\n }\r\n // if (filter == \"RMH\") {\r\n // if (this.selectedRMHName.lastIndexOf(',') != this.selectedRMHName.length-1) {\r\n // this.selectedRMHName += ','+ \"'\" + event.rMHCode + \"'\" + ',';\r\n // }\r\n // else {\r\n // this.selectedRMHName += \"'\" + event.rMHCode + \"'\" + ',';\r\n // }\r\n\r\n // }\r\n if (filter == \"Crop\") {\r\n this.selectedCrop += event.cropID + ',';\r\n\r\n }\r\n // if (filter == \"Brand\") {\r\n // this.selectedBrand += \"'\" + event.brandName + \"'\" + ',';\r\n\r\n // }\r\n if (filter == \"Language\") {\r\n this.selectedLanguage += event.languageID + ',';\r\n\r\n }\r\n if (filter == \"Jobtype\") {\r\n this.selectedJobType += event.jobTypeID + ',';\r\n\r\n }\r\n }\r\n onSelectAll(event: any, filter: string) {\r\n\r\n if (filter == \"Month\") {\r\n this.selectedMonth = '';\r\n for (let item of event) {\r\n this.selectedMonth += item.item_id.toString() + ',';\r\n }\r\n\r\n }\r\n // if (filter == \"RMH\") {\r\n // this.selectedRMHName = '';\r\n // for (let item of event) {\r\n // this.selectedRMHName += \"'\" + item.rMHCode.toString() + \"'\" + ',';\r\n // }\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 }\r\n // if (filter == \"Brand\") {\r\n // this.selectedBrand = '';\r\n // for (let item of event) {\r\n // this.selectedBrand += \"'\" + item.brandName.toString() + \"'\" + ',';\r\n // }\r\n\r\n // }\r\n if (filter == \"Language\") {\r\n this.selectedLanguage = '';\r\n for (let item of event) {\r\n this.selectedLanguage += item.languageID.toString() + ',';\r\n }\r\n\r\n }\r\n if (filter == \"Jobtype\") {\r\n this.selectedJobType = '';\r\n for (let item of event) {\r\n this.selectedJobType += item.jobTypeID.toString() + ',';\r\n }\r\n\r\n }\r\n }\r\n deSelectAll(event: any, filter: string) {\r\n if (filter == \"Month\")\r\n this.selectedMonth = '';\r\n // if (filter == \"RMH\")\r\n // this.selectedRMHName = '';\r\n if (filter == \"Jobtype\")\r\n this.selectedJobType = '';\r\n // if (filter == \"Brand\")\r\n // this.selectedBrand = '';\r\n if (filter == \"Crop\")\r\n this.selectedCrop = '';\r\n if (filter == \"Language\")\r\n this.selectedLanguage = '';\r\n }\r\n unSelect(event: any, filter: string) {\r\n switch (filter) {\r\n case \"Month\":\r\n {\r\n if (this.selectedMonth.indexOf(event.item_id + ',') != -1) {\r\n this.selectedMonth = this.selectedMonth.replace(event.item_id + ',', '');\r\n }\r\n else {\r\n this.selectedMonth = this.selectedMonth.replace(event.item_id, '');\r\n }\r\n break;\r\n }\r\n // case \"RMH\":\r\n // {\r\n // if (this.selectedRMHName.indexOf(\"'\" + event.rMHCode + \"'\" + ',') != -1) {\r\n // this.selectedRMHName = this.selectedRMHName.replace(\"'\" + event.rMHCode + \"'\" + \",\", '');\r\n // }\r\n // else {\r\n // this.selectedRMHName = this.selectedMonth.replace(\"'\" + event.rMHCode + \"'\", '');\r\n // }\r\n // break;\r\n // }\r\n case \"Jobtype\":\r\n {\r\n if (this.selectedJobType.indexOf(event.jobTypeID + ',') != -1) {\r\n this.selectedJobType = this.selectedJobType.replace(event.jobTypeID + ',', '');\r\n }\r\n else {\r\n this.selectedJobType = this.selectedJobType.replace(event.jobTypeID, '');\r\n }\r\n break;\r\n }\r\n // case \"Brand\":\r\n // {\r\n // if (this.selectedBrand.indexOf(\"'\" + event.brandName + \"'\" + ',') != -1) {\r\n // this.selectedBrand = this.selectedBrand.replace(\"'\" + event.brandName + \"'\" + \",\", '');\r\n // }\r\n // else {\r\n // this.selectedBrand = this.selectedBrand.replace(\"'\" + event.brandName + \"'\", '');\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 \"Language\":\r\n {\r\n if (this.selectedLanguage.indexOf(event.languageID + ',') != -1) {\r\n this.selectedLanguage = this.selectedLanguage.replace(event.languageID + ',', '');\r\n }\r\n else {\r\n this.selectedLanguage = this.selectedLanguage.replace(event.languageID, '');\r\n }\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n ProductionPrintingfilter() {\r\n\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.getProductionFilter('Packageing')\r\n .subscribe((responsedata: any) => {\r\n if (responsedata.status == true) {\r\n this.productionFilters = responsedata.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.productionFilters = responsedata.data;\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n GetProductionPackageingDetails() {\r\n this.selectCheck = false;\r\n this.selectedRMHName = Array.prototype.map.call(this.RMHName.selectedItems, function (item) { return \"'\"+ item.id+\"'\"; }).join(\",\");// this.selectedRMHName.lastIndexOf(\",\") == this.selectedRMHName.length - 1 ? this.selectedRMHName.substring(0, this.selectedRMHName.lastIndexOf(\",\")) : this.selectedRMHName;\r\n this.selectedMonth = this.selectedMonth.lastIndexOf(',') == this.selectedMonth.length - 1 ? this.selectedMonth.substring(0, this.selectedMonth.length - 1) : this.selectedMonth;\r\n this.selectedCrop = this.selectedCrop.lastIndexOf(\",\") == this.selectedCrop.length - 1 ? this.selectedCrop.substring(0, this.selectedCrop.length - 1) : this.selectedCrop;\r\n this.selectedBrand = Array.prototype.map.call(this.Brand.selectedItems, function (item) { return \"'\"+ item.id+\"'\"; }).join(\",\");//this.selectedBrand.lastIndexOf(\",\") == this.selectedBrand.length - 1 ? this.selectedBrand.substring(0, this.selectedBrand.lastIndexOf(\",\")) : this.selectedBrand;\r\n this.selectedLanguage = this.selectedLanguage.lastIndexOf(\",\") == this.selectedLanguage.length - 1 ? this.selectedLanguage.substring(0, this.selectedLanguage.length - 1) : this.selectedLanguage;\r\n this.selectedJobType = this.selectedJobType.lastIndexOf(\",\") == this.selectedJobType.length - 1 ? this.selectedJobType.substring(0, this.selectedJobType.length - 1) : this.selectedJobType;\r\n this.selectedStatus=Array.prototype.map.call(this.requirementStatus.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if(this.selectedStatus.length==0)\r\n this.selectedStatus = this.selectModule == \"Printing\" ? '6,7,8,9,10,11,12' : '7,8,9,10,11,12';;\r\n this.selectedJobNumber=Array.prototype.map.call(this.JobNumber.selectedItems, function (item) { return \"'\"+ item.id+\"'\"; }).join(\",\");\r\n this.selectedState=Array.prototype.map.call(this.State.selectedItems, function (item) { return \"'\"+ item.id+\"'\"; }).join(\",\");\r\n this.selectedListVendor=Array.prototype.map.call(this.vendorType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n this.mcPlanningMaterialService.getProductionDetails(this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop, this.selectedLanguage, this.selectedMonth, this.selectedStatus, this.selectedJobNumber,this.selectedState,this.selectedListVendor)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n this.productionDetails = responseData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.productionDetails = responseData.data;\r\n this.toastr.error('No records Available');\r\n this.loader = 'none';\r\n }\r\n })\r\n\r\n }\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.bindMonthDropdown();\r\n this.bindDropdown();\r\n this.GetProductionPackageingDetails();\r\n this.bindProductionStatus();\r\n this.ProductionPrintingfilter()\r\n }\r\n\r\n GetcheckedItem() {\r\n this.productionDetails.forEach(element => {\r\n if (this.selectCheck == false)\r\n {\r\n if(element.requirementType==1 && element.status=='Packaging In Process')\r\n this.requirementId += element.isSelected == undefined || element.isSelected == false ? \"\" : element.requirementDetailsID + \",\";\r\n else\r\n if(element.status=='Packaging In Process')\r\n this.additionalrequirementId+= element.isSelected == undefined || element.isSelected == false ? \"\" : element.requirementDetailsID + \",\";\r\n }\r\n else\r\n if(element.requirementType==1 && element.status=='Packaging In Process')\r\n this.requirementId += element.requirementDetailsID + \",\";\r\n else\r\n if(element.status=='Packaging In Process')\r\n this.additionalrequirementId+= element.requirementDetailsID + \",\";\r\n });\r\n //if (this.requirementId.trim().length > 0 || this.additionalrequirementId.trim().length > 0)\r\n // this.submitProductionStatus();\r\n }\r\n checkSelected(index: number) {\r\n if (!this.productionDetails[index][\"isSelected\"]) {\r\n if(this.productionDetails[index][\"requirementType\"]==1 && this.productionDetails[index][\"status\"]=='Packaging In Process')\r\n this.requirementId.trim().replace(this.productionDetails[index][\"requirementDetailsID\"] + ',', '');\r\n else\r\n if(this.productionDetails[index][\"status\"]=='Packaging In Process')\r\n this.additionalrequirementId.trim().replace(this.productionDetails[index][\"requirementDetailsID\"] + ',', '');\r\n this.selectCheck = false;\r\n }\r\n }\r\n SelectAll() {\r\n this.productionDetails.forEach(element => {\r\n if (this.selectCheck == true && element.status=='Packaging In Process')\r\n element.isSelected = true;\r\n else {\r\n if(element.status=='Packaging In Process')\r\n element.isSelected = false;\r\n this.requirementId = \"\";\r\n this.additionalrequirementId = \"\";\r\n }\r\n })\r\n }\r\n ChangeModule() {\r\n this.GetProductionPackageingDetails();\r\n this.ProductionPrintingfilter();\r\n this.bindProductionStatus();\r\n this.selectCheck = false;\r\n }\r\n closeStatusPanel() {\r\n this.displayStatusPanel = 'none';\r\n this.requirementId = '';\r\n }\r\n bindProductionStatus() {\r\n this.productionStatus = [];\r\n // for (let i = 1; i <= 2; i++) {\r\n\r\n // if (i == 1) {\r\n if (this.selectModule == \"Printing\") {\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 6;\r\n this.statusIntegrate.StatusName = \"Printing in process\";\r\n this.productionStatus.push(this.statusIntegrate)\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 7;\r\n this.statusIntegrate.StatusName = \"Printing Done\";\r\n this.productionStatus.push(this.statusIntegrate)\r\n }\r\n else {\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 7;\r\n this.statusIntegrate.StatusName = \"Packaging in process\";\r\n this.productionStatus.push(this.statusIntegrate)\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 8;\r\n this.statusIntegrate.StatusName = \"Packaging Done\";\r\n this.productionStatus.push(this.statusIntegrate)\r\n }\r\n // }\r\n // else {\r\n // if (this.selectModule == \"Printing\") {\r\n // this.statusIntegrate.StatusID = 11;\r\n // this.statusIntegrate.StatusName = \"Printing Done\";\r\n // }\r\n // else {\r\n // this.statusIntegrate.StatusID = 13;\r\n // this.statusIntegrate.StatusName = \"Packageing Done\";\r\n // }\r\n // }\r\n // }\r\n }\r\n // submitProductionStatus()\r\n // {\r\n \r\n // this.mcPlanningMaterialService.updateProductionPackageingStatus(this.requirementId,this.selectStatus,this.additionalrequirementId)\r\n // .subscribe((responseData: any) => {\r\n // if (responseData.status) {\r\n // this.toastr.error('Status Updated Successfully', 'Close', 'green-snackbar');\r\n // this.loader = 'none';\r\n // this.displayStatusPanel='none';\r\n // this.GetProductionPackageingDetails();\r\n // }\r\n // else {\r\n // this.toastr.error('Some error Occured,Could not update status', 'Close', 'red-snackbar');\r\n // this.loader = 'none';\r\n // this.displayStatusPanel='none';\r\n // this.GetProductionPackageingDetails();\r\n // }\r\n // })\r\n // }\r\n changeStatus(details:any)\r\n {\r\n if(this.selectModule == \"Printing\")\r\n {\r\n this.selectStatus=7;\r\n }\r\n else\r\n this.selectStatus=8;\r\n if(details.requirementType==\"1\")\r\n this.requirementId=details.requirementDetailsID\r\n else\r\n this.additionalrequirementId=details.requirementDetailsID\r\n //this.submitProductionStatus();\r\n }\r\n\r\n sort() {\r\n let sortedArray : any[] = [];\r\n let splitString : any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownMonth.forEach(x => {\r\n this.productionDetails.forEach(element => {\r\n splitString = element.month.split(\"'\");\r\n if (x.item_text.substring(0,3) == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.productionDetails = sortedArray;\r\n }\r\n else {\r\n this.dropdownMonth.forEach(x => {\r\n this.productionDetails.forEach(element => {\r\n splitString = element.month.split(\"'\");\r\n if (x.item_text.substring(0,3) == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.productionDetails = sortedArray.reverse();\r\n }\r\n }\r\n}\r\n","module.exports = \"/* .popup-wrap\\r\\n{\\r\\n width: 600px;\\r\\n}\\r\\n.select\\r\\n{\\r\\n width:400px;\\r\\n}\\r\\n.border-box {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n width: 100%;\\r\\n border: solid 1px #d4d4d4;\\r\\n background: #fff;\\r\\n padding: 24px 0 0px 2%;\\r\\n margin: 0 0 10px 0;\\r\\n border-radius: 5px;\\r\\n min-height: 200px;\\r\\n}\\r\\n.vertical-table-fixed {\\r\\n overflow-y: auto;\\r\\n max-height: 500px;\\r\\n}\\r\\n.border-box .box {\\r\\n float: left;\\r\\n margin: 0 2% 0 0;\\r\\n position: relative;\\r\\n width: 23%;\\r\\n padding: 15px;\\r\\n}\\r\\n.vertical-table-fixed table td {\\r\\n line-height: 1.5;\\r\\n padding: 5px 10px;\\r\\n}\\r\\n.select[_ngcontent-c1] {\\r\\n width: 300px;\\r\\n} */\\r\\nbutton:disabled\\r\\n{\\r\\n background-color :#f39481;\\r\\n}\"","module.exports = \"
\\r\\n

Production

\\r\\n
\\r\\n \\r\\n Upload Production\\r\\n \\r\\n Download Production\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
Job NumberPO NumberRMH/RBM NameStateRequirement MonthBrandJob TypeCropLanguageVendorApproved QuantityPO QuantityStatusEdit
{{detail.jobNumber}}{{detail.poNumber}}{{detail.name}}{{detail.state}}{{detail.month}}{{detail.brand}}{{detail.jobType}}{{detail.cropName}}{{detail.language}}{{detail.vendorType}}{{detail.approvedQuantity}}{{detail.poQuantity}}\\r\\n \\r\\n {{detail.status}}\\r\\n
No Records Found
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Date-Artwork given to Printer:\\r\\n {{ArtworkToPrinter | date : \\\"dd-MMM-yy\\\" }}\\r\\n
\\r\\n
\\r\\n Date-Printer to share Jpeg file:\\r\\n {{Artworkjpeg | date : \\\"dd-MMM-yy\\\"}}\\r\\n
\\r\\n
\\r\\n Proof Approved Date:
\\r\\n {{proofApproveDate | date : \\\"dd-MMM-yy\\\"}}\\r\\n
\\r\\n
\\r\\n Proof approver name:
\\r\\n {{proofApprover}}\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Job Number:\\r\\n {{jobNumber}}\\r\\n
\\r\\n
\\r\\n PO Number:\\r\\n {{poNumber}}\\r\\n
\\r\\n
\\r\\n RMH Name:\\r\\n {{rmhName}}\\r\\n
\\r\\n
\\r\\n Approved Quantity:\\r\\n \\r\\n {{approvedQuantity}}\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n CN Number \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Forwarder \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Docket Number \\r\\n \\r\\n
\\r\\n
\\r\\n Invoice Number *\\r\\n \\r\\n
\\r\\n
\\r\\n Invoice Date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Invoice Value \\r\\n \\r\\n
\\r\\n
\\r\\n Payment Date \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n Dispatch Date \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Delivery to Warehouse Date \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n Dispatch Quantity *\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n Remarks\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{errorMessage}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Job Number:\\r\\n {{jobNumber}}\\r\\n
\\r\\n
\\r\\n PO Number:\\r\\n {{poNumber}}\\r\\n
\\r\\n
\\r\\n RMH Name:\\r\\n {{rmhName}}\\r\\n
\\r\\n
\\r\\n Approved Quantity:\\r\\n \\r\\n {{approvedQuantity}}\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Artwork Given To Printer *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Printer to Share Jpeg File *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Proof Approved *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Proof Approver Name\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n

Artwork & Production

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
JobNumberError
{{detail.jobNumber}}{{detail.msg}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MCPlanningMaterialService } from '../../Services/MCPlanningMaterial/mcplanningmaterial.service'\r\nimport {WHStockInService} from '../../Services/whstock-in/whstockin.service'\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component'\r\nimport { PagerService } from '../../Services/pager.service'\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown'\r\nimport { productionFilter, productionDetails,productionDetails_ByPoNumer, ProductionStatus } from \"../../Models/Production/production\"\r\nimport { DatePipe } from '@angular/common';\r\nimport { DebugHelper } from 'protractor/built/debugger';\r\nimport { Router } from '@angular/router';\r\nimport { MatDatepickerInputEvent } from '@angular/material';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-production-printing',\r\n templateUrl: './production-printing.component.html',\r\n styleUrls: ['./production-printing.component.css'],\r\n providers: [PagerService, DatePipe]\r\n})\r\n\r\n\r\nexport class ProductionPrintingComponent implements OnInit {\r\n\r\n @ViewChild('RMHName') RMHName;\r\n @ViewChild('Brand') Brand;\r\n @ViewChild('requirementStatus') requirementStatus;\r\n @ViewChild('JobNumber') JobNumber;\r\n @ViewChild('State') State;\r\n @ViewChild('vendorType') vendorType;\r\n userID: string;\r\n roleID: string;\r\n CNNNumber: any='';\r\n requirementStatusId :number;\r\n StockInDate: any=new Date();;\r\n StockInQuantity: any=0;\r\n NumberofBoxes: any=0;\r\n Logistics: any='';\r\n DocketNumber: any='';\r\n EstimatedDeliveryDate:any =new Date();\r\n VendorName:string='';\r\n BalanceQuantity:any=0;\r\n InvoiceNumber: any='';\r\n InvoiceDate: any= new Date();\r\n InvoiceValue: any=0;\r\n PaymentDate: any=new Date();;\r\n Remarks: any='';\r\n DispatchedDate:any=new Date();\r\n displayEditPanel:string='none';\r\n displayViewPanel:string='none';\r\n selectCheck: boolean = false;\r\n poNumber:string='';\r\n approvedQuantity='';\r\n rmhName:string='';\r\n jobNumber:string='';\r\n ascNumberSort: boolean = true;\r\n sortDirection: string = '';\r\n poQuantity:any=0;\r\n files: File[] = [];\r\n fileName: string = '';\r\n selectModule: string;\r\n fileNameParts: string[];\r\n fileType: string;\r\n loader: string = 'none';\r\n selectedRMHName: string = '';\r\n selectedJobType: string = '';\r\n selectedBrand: string = '';\r\n selectedCrop: string = '';\r\n selectedLanguage: string = '';\r\n selectedMonth: string = '';\r\n selectedStatus:string='';\r\n selectedYear: string = '';\r\n selectedState:string='';\r\n selectedJobNumber:string='';\r\n selectedListVendor:string='';\r\n status: any;\r\n requirementId: string = '';\r\n additionalrequirementId: string = '';\r\n displayStatusPanel: string = 'none';\r\n productionStatus: ProductionStatus[] = [];\r\n statusIntegrate: ProductionStatus = new ProductionStatus();\r\n selectStatus: any;\r\n //Multiple dropdown select\r\n dropdownMonth = [];\r\n dropdownStatus=[];\r\n selectedItems = [];\r\n dropdownSettings: IDropdownSettings = {};\r\n dropdownCropSettings: IDropdownSettings = {};\r\n dropdownBrandSettings: IDropdownSettings = {};\r\n dropdownJobTypeSettings: IDropdownSettings = {};\r\n dropdownLanguageSettings: IDropdownSettings = {};\r\n dropdownRmhsSettings: IDropdownSettings = {};\r\n dropdownstatusSettings: IDropdownSettings = {};\r\n dropdownJobNumbersSetting:IDropdownSettings={};\r\n dropdownstateSetting:IDropdownSettings={};\r\n dropdownVendorSettings:IDropdownSettings={};\r\n yearSettings : IDropdownSettings = {};\r\n @ViewChild('file') input;\r\n @ViewChild('year') year;\r\n productionFilters: productionFilter = new productionFilter();\r\n productionDetails: productionDetails[] = [];\r\n proddetails:productionDetails_ByPoNumer =null;\r\n\r\n SubmitProductionDetails:boolean=true;\r\n\r\n displayArtworkEditPanel:string='none';\r\n\r\n /* Added for 15.01.2021*/\r\n ArtworkToPrinter:Date;\r\n Artworkjpeg:Date;\r\n proofApproveDate:Date;\r\n proofApprover:any;\r\n Status:any;\r\n\r\n // /* Added For Error Panel in excel upload 17 jun 21 */\r\n displayUploadErrorPanel:string='none';\r\n\r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService,private wHStockInService: WHStockInService, private router: Router,\r\n private datePipe: DatePipe,private snackBar: MatSnackBarComponent,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.selectModule = \"Printing\";\r\n this.selectStatus=7;\r\n }\r\n\r\n bindMonthDropdown() {\r\n this.dropdownMonth = [\r\n { item_id: 1, item_text: 'January' },\r\n { item_id: 2, item_text: 'February' },\r\n { item_id: 3, item_text: 'March' },\r\n { item_id: 4, item_text: 'April' },\r\n { item_id: 5, item_text: 'May' },\r\n { item_id: 6, item_text: 'June' },\r\n { item_id: 7, item_text: 'July' },\r\n { item_id: 8, item_text: 'August' },\r\n { item_id: 9, item_text: 'September' },\r\n { item_id: 10, item_text: 'October' },\r\n { item_id: 11, item_text: 'November' },\r\n { item_id: 12, item_text: 'December' }\r\n ];\r\n\r\n this.dropdownStatus = [\r\n { item_id: 5, item_text: 'Artwork Required' },\r\n { item_id: 6, item_text: 'Production In Process' },\r\n { item_id: 7, item_text: 'Dispatched by Printer' },\r\n { item_id: 15, item_text: 'Artwork Approval Awaited' },\r\n { item_id: 16, item_text: 'Printer to Share JPEG' },\r\n ];\r\n\r\n \r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n }\r\n bindDropdown() {\r\n this.dropdownCropSettings = {\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: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownBrandSettings = {\r\n singleSelection: false,\r\n idField: 'brandName',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownJobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownLanguageSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n\r\n };\r\n this.dropdownRmhsSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownstatusSettings={\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownJobNumbersSetting={\r\n singleSelection: false,\r\n idField: 'jobNumber',\r\n textField: 'jobNumber',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownstateSetting={\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.dropdownVendorSettings = {\r\n singleSelection: false,\r\n idField: 'vendorId',\r\n textField: 'vendorType',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 2,\r\n allowSearchFilter: true,\r\n enableCheckAll: true\r\n };\r\n this.yearSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n onItemSelect(event: any, filter: string) {\r\n if (filter == \"Month\") {\r\n this.selectedMonth += event.item_id + ',';\r\n\r\n }\r\n // if (filter == \"RMH\") {\r\n // if (this.selectedRMHName.lastIndexOf(',') != this.selectedRMHName.length-1) {\r\n // this.selectedRMHName += ','+ \"'\" + event.rMHCode + \"'\" + ',';\r\n // }\r\n // else {\r\n // this.selectedRMHName += \"'\" + event.rMHCode + \"'\" + ',';\r\n // }\r\n\r\n // }\r\n if (filter == \"Crop\") {\r\n this.selectedCrop += event.cropID + ',';\r\n\r\n }\r\n // if (filter == \"Brand\") {\r\n // this.selectedBrand += \"'\" + event.brandName + \"'\" + ',';\r\n\r\n // }\r\n if (filter == \"Language\") {\r\n this.selectedLanguage += event.languageID + ',';\r\n\r\n }\r\n if (filter == \"Jobtype\") {\r\n this.selectedJobType += event.jobTypeID + ',';\r\n\r\n }\r\n }\r\n onSelectAll(event: any, filter: string) {\r\n\r\n if (filter == \"Month\") {\r\n this.selectedMonth = '';\r\n for (let item of event) {\r\n this.selectedMonth += item.item_id.toString() + ',';\r\n }\r\n\r\n }\r\n // if (filter == \"RMH\") {\r\n // this.selectedRMHName = '';\r\n // for (let item of event) {\r\n // this.selectedRMHName += \"'\" + item.rMHCode.toString() + \"'\" + ',';\r\n // }\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 }\r\n // if (filter == \"Brand\") {\r\n // this.selectedBrand = '';\r\n // for (let item of event) {\r\n // this.selectedBrand += \"'\" + item.brandName.toString() + \"'\" + ',';\r\n // }\r\n\r\n // }\r\n if (filter == \"Language\") {\r\n this.selectedLanguage = '';\r\n for (let item of event) {\r\n this.selectedLanguage += item.languageID.toString() + ',';\r\n }\r\n\r\n }\r\n if (filter == \"Jobtype\") {\r\n this.selectedJobType = '';\r\n for (let item of event) {\r\n this.selectedJobType += item.jobTypeID.toString() + ',';\r\n }\r\n\r\n }\r\n }\r\n deSelectAll(event: any, filter: string) {\r\n if (filter == \"Month\")\r\n this.selectedMonth = '';\r\n // if (filter == \"RMH\")\r\n // this.selectedRMHName = '';\r\n if (filter == \"Jobtype\")\r\n this.selectedJobType = '';\r\n // if (filter == \"Brand\")\r\n // this.selectedBrand = '';\r\n if (filter == \"Crop\")\r\n this.selectedCrop = '';\r\n if (filter == \"Language\")\r\n this.selectedLanguage = '';\r\n }\r\n unSelect(event: any, filter: string) {\r\n switch (filter) {\r\n case \"Month\":\r\n {\r\n if (this.selectedMonth.indexOf(event.item_id + ',') != -1) {\r\n this.selectedMonth = this.selectedMonth.replace(event.item_id + ',', '');\r\n }\r\n else {\r\n this.selectedMonth = this.selectedMonth.replace(event.item_id, '');\r\n }\r\n break;\r\n }\r\n // case \"RMH\":\r\n // {\r\n // if (this.selectedRMHName.indexOf(\"'\" + event.rMHCode + \"'\" + ',') != -1) {\r\n // this.selectedRMHName = this.selectedRMHName.replace(\"'\" + event.rMHCode + \"'\" + \",\", '');\r\n // }\r\n // else {\r\n // this.selectedRMHName = this.selectedMonth.replace(\"'\" + event.rMHCode + \"'\", '');\r\n // }\r\n // break;\r\n // }\r\n case \"Jobtype\":\r\n {\r\n if (this.selectedJobType.indexOf(event.jobTypeID + ',') != -1) {\r\n this.selectedJobType = this.selectedJobType.replace(event.jobTypeID + ',', '');\r\n }\r\n else {\r\n this.selectedJobType = this.selectedJobType.replace(event.jobTypeID, '');\r\n }\r\n break;\r\n }\r\n // case \"Brand\":\r\n // {\r\n // if (this.selectedBrand.indexOf(\"'\" + event.brandName + \"'\" + ',') != -1) {\r\n // this.selectedBrand = this.selectedBrand.replace(\"'\" + event.brandName + \"'\" + \",\", '');\r\n // }\r\n // else {\r\n // this.selectedBrand = this.selectedBrand.replace(\"'\" + event.brandName + \"'\", '');\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 \"Language\":\r\n {\r\n if (this.selectedLanguage.indexOf(event.languageID + ',') != -1) {\r\n this.selectedLanguage = this.selectedLanguage.replace(event.languageID + ',', '');\r\n }\r\n else {\r\n this.selectedLanguage = this.selectedLanguage.replace(event.languageID, '');\r\n }\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n ProductionPrintingfilter() {\r\n\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.getProductionFilter('Printing')\r\n .subscribe((responsedata: any) => {\r\n if (responsedata.status == true) {\r\n this.productionFilters = responsedata.data;\r\n class YearItemList{\r\n id: string;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : this.productionFilters.currentRequirementYear[0].currentrequirementYear,\r\n text: this.productionFilters.currentRequirementYear[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem;\r\n this.loader = 'none';\r\n this.GetProductionDetails();\r\n }\r\n else {\r\n this.productionFilters = responsedata.data;\r\n class YearItemList{\r\n id: string;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : this.productionFilters.currentRequirementYear[0].currentrequirementYear,\r\n text: this.productionFilters.currentRequirementYear[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem;\r\n this.loader = 'none';\r\n this.GetProductionDetails();\r\n }\r\n })\r\n }\r\n\r\n onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n \r\n if(selectedyear != this.productionFilters.currentRequirementYear[0].currentrequirementYear)\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className += \"hideuploadExcel\";\r\n }\r\n else\r\n {\r\n document.getElementById(\"ancUploadExcel\").classList.remove(\"hideuploadExcel\");\r\n }\r\n }\r\n\r\n GetProductionDetails() {\r\n this.selectCheck = false;\r\n this.selectedRMHName = Array.prototype.map.call(this.RMHName.selectedItems, function (item) { return \"\"+ item.id+\"\"; }).join(\",\");// this.selectedRMHName.lastIndexOf(\",\") == this.selectedRMHName.length - 1 ? this.selectedRMHName.substring(0, this.selectedRMHName.lastIndexOf(\",\")) : this.selectedRMHName;\r\n this.selectedMonth = this.selectedMonth.lastIndexOf(',') == this.selectedMonth.length - 1 ? this.selectedMonth.substring(0, this.selectedMonth.length - 1) : this.selectedMonth;\r\n this.selectedCrop = this.selectedCrop.lastIndexOf(\",\") == this.selectedCrop.length - 1 ? this.selectedCrop.substring(0, this.selectedCrop.length - 1) : this.selectedCrop;\r\n this.selectedBrand = Array.prototype.map.call(this.Brand.selectedItems, function (item) { return \"\"+ item.id+\"\"; }).join(\",\");//this.selectedBrand.lastIndexOf(\",\") == this.selectedBrand.length - 1 ? this.selectedBrand.substring(0, this.selectedBrand.lastIndexOf(\",\")) : this.selectedBrand;\r\n this.selectedLanguage = this.selectedLanguage.lastIndexOf(\",\") == this.selectedLanguage.length - 1 ? this.selectedLanguage.substring(0, this.selectedLanguage.length - 1) : this.selectedLanguage;\r\n this.selectedJobType = this.selectedJobType.lastIndexOf(\",\") == this.selectedJobType.length - 1 ? this.selectedJobType.substring(0, this.selectedJobType.length - 1) : this.selectedJobType;\r\n this.selectedStatus=Array.prototype.map.call(this.requirementStatus.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if(this.selectedStatus.length==0)\r\n this.selectedStatus = '5,6,7,8,9,10';\r\n this.selectedJobNumber=Array.prototype.map.call(this.JobNumber.selectedItems, function (item) { return \"\"+ item.id+\"\"; }).join(\",\");\r\n this.selectedState=Array.prototype.map.call(this.State.selectedItems, function (item) { return \"\"+ item.id+\"\"; }).join(\",\");\r\n this.selectedListVendor=Array.prototype.map.call(this.vendorType.selectedItems, function (item) { return \"\"+item.id+\"\"; }).join(\",\");\r\n this.selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.mcPlanningMaterialService.GetProductionPrintingDetails(this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop, this.selectedLanguage, this.selectedMonth, this.selectedStatus, this.selectedJobNumber,this.selectedState,this.selectedListVendor, this.selectedYear)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n this.productionDetails = responseData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.productionDetails = responseData.data;\r\n this.toastr.error('No record Available');\r\n this.loader = 'none';\r\n }\r\n })\r\n\r\n }\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.ProductionPrintingfilter()\r\n this.bindMonthDropdown();\r\n this.bindDropdown();\r\n this.bindProductionStatus();\r\n \r\n }\r\n GetcheckedItem() {\r\n this.requirementId='';\r\n this.additionalrequirementId='';\r\n\r\n this.productionDetails.forEach(element => {\r\n if (this.selectCheck == false)\r\n {\r\n if(element.requirementType==1 && (element.status=='Production In Process'))\r\n this.requirementId += element.isSelected == undefined || element.isSelected == false ? \"\" : element.requirementDetailsID + \",\";\r\n else\r\n if(element.status=='Production In Process' )\r\n this.additionalrequirementId+= element.isSelected == undefined || element.isSelected == false ? \"\" : element.requirementDetailsID + \",\";\r\n }\r\n else\r\n if(element.requirementType==1 && (element.status=='Production In Process' ))\r\n this.requirementId += element.requirementDetailsID + \",\";\r\n else\r\n if(element.status=='Production In Process')\r\n this.additionalrequirementId+= element.requirementDetailsID + \",\";\r\n });\r\n if (this.requirementId.trim().length > 0 || this.additionalrequirementId.trim().length > 0)\r\n this.submitProductionStatus();\r\n else\r\n this.toastr.error('Please check any record/s to Approve');\r\n }\r\n checkSelected(index: number) {\r\n if (!this.productionDetails[index][\"isSelected\"]) {\r\n if(this.productionDetails[index][\"requirementType\"]==1 && (this.productionDetails[index][\"status\"]=='Production In Process' ))\r\n this.requirementId.trim().replace(this.productionDetails[index][\"requirementDetailsID\"] + ',', '');\r\n else\r\n if(this.productionDetails[index][\"status\"]=='Production In Process' )\r\n this.additionalrequirementId.trim().replace(this.productionDetails[index][\"requirementDetailsID\"] + ',', '');\r\n this.selectCheck = false;\r\n }\r\n }\r\n\r\n selectedDisable(index: number){\r\n if(this.productionDetails[index][\"status\"]=='Production In Process'){\r\n return 'false';\r\n }\r\n else{\r\n return 'true';\r\n }\r\n }\r\n SelectAll() {\r\n this.productionDetails.forEach(element => {\r\n if (this.selectCheck == true && (element.status=='Production In Process' ))\r\n element.isSelected = true;\r\n else {\r\n if(element.status=='Production In Process')\r\n element.isSelected = false;\r\n this.requirementId = \"\";\r\n this.additionalrequirementId = \"\";\r\n }\r\n })\r\n }\r\n ChangeModule() {\r\n this.GetProductionDetails();\r\n this.ProductionPrintingfilter();\r\n this.bindProductionStatus();\r\n this.selectCheck = false;\r\n }\r\n closeStatusPanel() {\r\n this.displayStatusPanel = 'none';\r\n this.requirementId = '';\r\n }\r\n bindProductionStatus() {\r\n this.productionStatus = [];\r\n // for (let i = 1; i <= 2; i++) {\r\n\r\n // if (i == 1) {\r\n if (this.selectModule == \"Printing\") {\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 5;\r\n this.statusIntegrate.StatusName = \"Artwork Required\";\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 6;\r\n this.statusIntegrate.StatusName = \"Production in process\";\r\n this.productionStatus.push(this.statusIntegrate)\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 7;\r\n this.statusIntegrate.StatusName = \"Printing Done\";\r\n this.productionStatus.push(this.statusIntegrate)\r\n }\r\n else {\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 7;\r\n this.statusIntegrate.StatusName = \"Production in process\";\r\n this.productionStatus.push(this.statusIntegrate)\r\n this.statusIntegrate = new ProductionStatus();;\r\n this.statusIntegrate.StatusID = 8;\r\n this.statusIntegrate.StatusName = \"Packageing Done\";\r\n this.productionStatus.push(this.statusIntegrate)\r\n }\r\n // }\r\n // else {\r\n // if (this.selectModule == \"Printing\") {\r\n // this.statusIntegrate.StatusID = 11;\r\n // this.statusIntegrate.StatusName = \"Printing Done\";\r\n // }\r\n // else {\r\n // this.statusIntegrate.StatusID = 13;\r\n // this.statusIntegrate.StatusName = \"Packageing Done\";\r\n // }\r\n // }\r\n // }\r\n }\r\n submitProductionStatus()\r\n {\r\n this.loader='block';\r\n this.mcPlanningMaterialService.UpdateProductionStatus(this.requirementId,this.selectStatus,this.additionalrequirementId)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status) {\r\n if(responseData.data.length>0)\r\n {\r\n this.toastr.error('Please Complete Production Update step for Job Number '+responseData.data);\r\n\r\n }\r\n else\r\n {\r\n this.toastr.success('Status Updated Successfully');\r\n\r\n }\r\n this.loader = 'none';\r\n this.displayStatusPanel='none';\r\n this.GetProductionDetails();\r\n }\r\n else {\r\n this.toastr.error('Some error Occured,Could not update status');\r\n this.loader = 'none';\r\n this.displayStatusPanel='none';\r\n this.GetProductionDetails();\r\n }\r\n })\r\n }\r\n changeStatus(details:any)\r\n {\r\n if(this.selectModule == \"Printing\")\r\n {\r\n this.selectStatus=7;\r\n }\r\n else\r\n this.selectStatus=8;\r\n if(details.requirementType==\"1\")\r\n this.requirementId=details.requirementDetailsID\r\n else\r\n this.additionalrequirementId=details.requirementDetailsID\r\n \r\n this.submitProductionStatus();\r\n }\r\n viewPanel(poNumber:any,StatusID : any,defination:string)\r\n {\r\n this.requirementStatusId = StatusID;\r\n this.CNNNumber='';\r\n this.VendorName='';\r\n this.DispatchedDate=new Date();\r\n this.Logistics='';\r\n this.NumberofBoxes=0;\r\n this.PaymentDate=new Date();\r\n this.DocketNumber='';\r\n this.InvoiceValue='';\r\n this.Remarks='';\r\n this.InvoiceNumber='';\r\n this.InvoiceDate=new Date();\r\n this.EstimatedDeliveryDate=new Date();\r\n this.poNumber=poNumber;\r\n this.displayEditPanel='block'; \r\n this.displayViewPanel='block';\r\n // this.ArtworkPrinter=new Date();\r\n // this.Jpegdate=new Date();\r\n // this.proofApprovedDate=new Date();\r\n // this.Approver='';\r\n //this.displayStatusPanel='block';\r\n this.mcPlanningMaterialService.GetProductionPrintingDetails_ByPoNumber(poNumber)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n this.proddetails = responseData.data;\r\n this.poNumber=this.proddetails[0].poNumber;\r\n this.rmhName=this.proddetails[0].rmhName;\r\n this.jobNumber=this.proddetails[0].jobNumber;\r\n this.approvedQuantity=this.proddetails[0].approvedQuantity;\r\n this.poQuantity=this.proddetails[0].poQuantity;\r\n this.CNNNumber = this.proddetails[0].cnNumber;\r\n this.VendorName = this.proddetails[0].vendorName;\r\n this.DispatchedDate = this.proddetails[0].dipatchDate;\r\n this.PaymentDate = this.proddetails[0].paymentDate;\r\n this.DocketNumber = this.proddetails[0].docketNo;\r\n this.InvoiceValue = this.proddetails[0].invoiceValue;\r\n this.Remarks = this.proddetails[0].remarks;\r\n this.InvoiceNumber = this.proddetails[0].invoiceNo;\r\n this.InvoiceDate = this.proddetails[0].invoiceDate;\r\n this.EstimatedDeliveryDate = this.proddetails[0].warehouseDate;\r\n this.ArtworkToPrinter=this.proddetails[0].artworkGivenToPrinter;\r\n this.Artworkjpeg=this.proddetails[0].printerSharedJpeg;\r\n this.proofApproveDate=this.proddetails[0].proofApproved;\r\n this.proofApprover=this.proddetails[0].proofApproverName; \r\n this.loader = 'none';\r\n //this.GetProductionSavedDetails(this.jobNumber,this.poNumber);\r\n }\r\n // else {\r\n // this.productionDetails = responseData.data;\r\n // this.toastr.error('No records Available', 'Close', 'red-snackbar');\r\n // this.loader = 'none';\r\n // }\r\n })\r\n if(defination=='view')\r\n this.SubmitProductionDetails=true;\r\n else\r\n this.SubmitProductionDetails=false;\r\n\r\n }\r\n viewArtworkPanel(poNumber:any,StatusID : any,defination:string)\r\n {\r\n this.displayArtworkEditPanel='block'; \r\n this.displayViewPanel='block';\r\n this.mcPlanningMaterialService.GetProductionPrintingDetails_ByPoNumber(poNumber)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n this.proddetails = responseData.data;\r\n this.poNumber=this.proddetails[0].poNumber;\r\n this.rmhName=this.proddetails[0].rmhName;\r\n this.jobNumber=this.proddetails[0].jobNumber;\r\n this.approvedQuantity=this.proddetails[0].approvedQuantity; \r\n this.ArtworkToPrinter=this.proddetails[0].artworkGivenToPrinter==null && StatusID=='Artwork Required'?'mm/DD/yyyy':this.proddetails[0].artworkGivenToPrinter;\r\n this.Artworkjpeg=this.proddetails[0].printerSharedJpeg==null && StatusID=='Printer to Share JPEG'?'mm/DD/yyyy':this.proddetails[0].printerSharedJpeg;\r\n this.proofApproveDate=this.proddetails[0].proofApproved==null && StatusID=='Artwork Approval Awaited'?'mm/DD/yyyy':this.proddetails[0].proofApproved;\r\n this.proofApprover=this.proddetails[0].proofApproverName; \r\n this.Status=StatusID;\r\n }\r\n });\r\n\r\n }\r\n GetProductionSavedDetails(JobNumber:any,POnumber: any){\r\n this.wHStockInService.getProductionSavedDetails(JobNumber,'', '', '', '', '', '', '', POnumber)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n if(resdata.data.length>0)\r\n {\r\n // this.details = resdata.data.warehouseStockInDetail;\r\n //alert(resdata.data[0].invoiceDate);\r\n this.DispatchedDate=new Date(resdata.data[0].dispatchDate);//resdata.data[0].dispatchDate;\r\n this.CNNNumber=resdata.data[0].cnNumber;\r\n // this.StockInDate=resdata.data.warehouseStockInDetail[0].stockInDate;\r\n // this.StockInQuantity=resdata.data.warehouseStockInDetail[0].stockInQty;\r\n //this.NumberofBoxes=resdata.data[0].noOfBoxes;\r\n //this.Logistics=resdata.data[0].logistics;\r\n this.DocketNumber=resdata.data[0].docketNo;\r\n this.InvoiceNumber=resdata.data[0].invoiceNo;\r\n this.InvoiceDate=new Date(resdata.data[0].invoiceDate);//this.datePipe.transform(resdata.data[0].invoiceDate,\"MM/dd/yyyy\");\r\n this.InvoiceValue=resdata.data[0].invoiceValue;\r\n this.Remarks=resdata.data[0].remarks;\r\n this.VendorName=resdata.data[0].vendor;\r\n this.PaymentDate =new Date(resdata.data[0].paymentDate);\r\n this.EstimatedDeliveryDate=new Date(resdata.data[0].estimatedDelivery);\r\n\r\n if(this.InvoiceDate==\"\")\r\n {\r\n // this.StockInDate =this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\r\n this.InvoiceDate =new Date();\r\n }\r\n if(this.PaymentDate==\"\")\r\n {\r\n // this.StockInDate =this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\r\n this.PaymentDate =new Date();\r\n }\r\n this.displayEditPanel = 'block';\r\n // this.getsaveSubmitStatus();\r\n this.loader = 'none'; \r\n }\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n \r\n\r\n DraftSave(Type:number) {\r\n \r\n // if( this.CNNNumber=='undefined' || this.CNNNumber.length==0)\r\n // {\r\n // this.toastr.error('Please Enter CN Number', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // if( this.VendorName=='undefined' || this.VendorName.length==0)\r\n // {\r\n // this.toastr.error('Please Enter forwarder Name', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // if(this.NumberofBoxes<=0 ||this.NumberofBoxes=='undefined'){\r\n // this.toastr.error('Number of boxes should be greater than 0', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // if(this.NumberofBoxes.length==0)\r\n // {\r\n // this.toastr.error('Please Enter Number of Boxes', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // if(this.Logistics.length==0)\r\n // {\r\n // this.toastr.error('Please Enter Logistics', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // if(this.DocketNumber.length==0)\r\n // {\r\n // this.toastr.error('Please Enter Docket Number', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n if(this.InvoiceNumber.length==0)\r\n {\r\n this.toastr.error('Please Enter Invoice Number');\r\n return false;\r\n }\r\n if(this.InvoiceDate.length==0)\r\n {\r\n this.toastr.error('Please Enter Invoice Date');\r\n return false;\r\n }\r\n if(this.DispatchedDate.length==0)\r\n {\r\n this.toastr.error('Please Enter Dispatched Date');\r\n return false;\r\n }\r\n if(this.EstimatedDeliveryDate.length==0)\r\n {\r\n this.toastr.error('Please Enter Estimated Delivery Date');\r\n return false;\r\n }\r\n // if(this.PaymentDate.length==0)\r\n // {\r\n // this.toastr.error('Please Enter Payment Date', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n \r\n let ConvertedInvoiceDate=this.datePipe.transform(this.InvoiceDate, 'dd-MMM-yyyy');\r\n let ConvertedPaymentDate=this.datePipe.transform(this.PaymentDate, 'dd-MMM-yyyy');\r\n let ConvertedEstimatedDeliveryDate=this.datePipe.transform(this.EstimatedDeliveryDate, 'dd-MMM-yyyy');\r\n\r\n let ConvertedDispatchedDate=this.datePipe.transform(this.DispatchedDate, 'dd-MMM-yyyy');\r\n\r\n this.wHStockInService.SubmitProductionDetails(this.jobNumber,this.poNumber,this.CNNNumber,this.VendorName,\r\n this.NumberofBoxes, this.Logistics, this.DocketNumber, this.InvoiceNumber, ConvertedInvoiceDate,ConvertedEstimatedDeliveryDate,ConvertedDispatchedDate, this.InvoiceValue,\r\n ConvertedPaymentDate,this.poQuantity ,this.Remarks,Type)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n debugger;\r\n // if(resdata.message==\"Please Complete PO Update first.PO not done for complete Final Quantity.\")\r\n // {\r\n // this.toastr.error(resdata.message, 'Close', 'red-snackbar');\r\n // }\r\n // else{\r\n this.toastr.success(resdata.message);\r\n //}\r\n \r\n this.displayEditPanel = 'none';\r\n //this.getDetailsOnPageLoad();\r\n this.loader = 'none';\r\n this.GetProductionDetails();\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n ArtworkApprovalSubmit(JobNumber:any,PONumber:any){\r\n debugger;\r\n if((this.ArtworkToPrinter!=null && this.ArtworkToPrinter.toString()=='mm/DD/yyyy') ||(this.Artworkjpeg!=null && this.Artworkjpeg.toString()=='mm/DD/yyyy') || (this.proofApproveDate!=null && this.proofApproveDate.toString()=='mm/DD/yyyy'))\r\n {\r\n this.toastr.error('Please fill the required input');\r\n return false;\r\n }\r\n let ConvertedArtworkToPrinter=this.datePipe.transform(this.ArtworkToPrinter, 'dd-MMM-yy');\r\n let ConvertedArtworkjpeg=this.datePipe.transform(this.Artworkjpeg, 'dd-MMM-yy');\r\n let ConvertedproofApproveDate=this.datePipe.transform(this.proofApproveDate, 'dd-MMM-yy');\r\n\r\n if((this.ArtworkToPrinter!=null && this.ArtworkToPrinter.toString()!='mm/DD/yyyy') && (this.Artworkjpeg!=null && this.Artworkjpeg.toString()!='mm/DD/yyyy') )\r\n {\r\n var artworrkPrinter=new Date(this.ArtworkToPrinter);\r\n var artworkjp=new Date(this.Artworkjpeg);\r\n if(artworrkPrinter>artworkjp)\r\n {\r\n this.toastr.error('Artwork given to printer date can not be greater than Printer to Shared JPEG Date ');\r\n return false;\r\n }\r\n }\r\n if((this.Artworkjpeg!=null && this.Artworkjpeg.toString()!='mm/DD/yyyy') && (this.proofApproveDate!=null && this.proofApproveDate.toString()!='mm/DD/yyyy'))\r\n {\r\n var proofApprovedD=new Date(this.proofApproveDate);\r\n var artworkjp=new Date(this.Artworkjpeg);\r\n if(artworkjp>proofApprovedD)\r\n {\r\n this.toastr.error('Printer to Shared JPEG date can not be greater than Proof Approved Date ');\r\n return false;\r\n }\r\n }\r\n if((this.ArtworkToPrinter!=null && this.ArtworkToPrinter.toString()!='mm/DD/yyyy') && (this.proofApproveDate!=null && this.proofApproveDate.toString()!='mm/DD/yyyy'))\r\n {\r\n var artworrkPrinter=new Date(this.ArtworkToPrinter);\r\n var artworkjp=new Date(this.Artworkjpeg);\r\n if(artworrkPrinter>artworkjp)\r\n {\r\n this.toastr.error('Artwork given to printer date can not be greater than Proof Approved Date ');\r\n return false;\r\n }\r\n }\r\n // const dateRegEx = new RegExp(/^\\d{1,2}\\.\\d{1,2}\\.\\d{4}$/);\r\n // if(this.ArtworkToPrinter!=null )\r\n // { \r\n // if(dateRegEx.test(ConvertedArtworkToPrinter)==null)\r\n // {\r\n // this.toastr.error('Plese enter correct artwork printer date in MM/dd/YYYY format', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // }\r\n // if(this.Artworkjpeg!=null )\r\n // {\r\n // if(dateRegEx.test(ConvertedArtworkjpeg)==null)\r\n // {\r\n // this.toastr.error('Plese enter correct artwork jpeg date in MM/dd/YYYY format', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // }\r\n // if(this.proofApproveDate!=null )\r\n // {\r\n // if(dateRegEx.test(ConvertedproofApproveDate)==null)\r\n // {\r\n // this.toastr.error('Plese enter correct proof approve date in MM/dd/YYYY format', 'Close', 'red-snackbar');\r\n // return false;\r\n // }\r\n // }\r\n\r\n this.loader = 'block';\r\n\r\n this.mcPlanningMaterialService.updateArtworkStatus(JobNumber,PONumber,ConvertedArtworkToPrinter,ConvertedArtworkjpeg,ConvertedproofApproveDate,this.proofApprover)\r\n .subscribe((resdata: any) => {\r\n \r\n if (resdata.status == true) {\r\n debugger;\r\n // if(resdata.message==\"Please Complete PO Update first.PO not done for complete Final Quantity.\")\r\n // {\r\n // this.toastr.error(resdata.message, 'Close', 'red-snackbar');\r\n // }\r\n // else{\r\n this.toastr.success(resdata.message);\r\n //}\r\n \r\n this.displayEditPanel = 'none';\r\n //this.getDetailsOnPageLoad();\r\n this.loader = 'none';\r\n this.displayArtworkEditPanel='none';\r\n this.GetProductionDetails();\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n\r\n }\r\n closeEditPanel() {\r\n debugger;\r\n this.displayEditPanel = 'none';\r\n let SelectedStatus;\r\n //SelectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n \r\n // this.TotalRemainingQuantity = 0;\r\n // this.popTotalremainingqty = 0;\r\n // this.materialAllocation = [];\r\n // this.applySearchFilter();\r\n }\r\n closeArtworkEditPanel()\r\n {\r\n this.displayArtworkEditPanel='none';\r\n }\r\n sort() {\r\n debugger;\r\n let sortedArray : any[] = [];\r\n let splitString : any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownMonth.forEach(x => {\r\n this.productionDetails.forEach(element => {\r\n splitString = element.month.split(\"'\");\r\n if (x.item_text.substring(0,3) == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.productionDetails = sortedArray;\r\n }\r\n else {\r\n this.dropdownMonth.forEach(x => {\r\n this.productionDetails.forEach(element => {\r\n splitString = element.month.split(\"'\");\r\n if (x.item_text.substring(0,3) == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.productionDetails = sortedArray.reverse();\r\n }\r\n }\r\n\r\n filesAdd(files: File[]) {\r\n this.files = [];\r\n debugger;\r\n this.files = files;\r\n this.fileNameParts = files[0].name.split('.');\r\n this.fileType = files[0].name.split('.')[this.fileNameParts.length - 1];\r\n if (this.fileType != 'xls' && this.fileType != 'xlsx') {\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.loader = 'block';\r\n this.mcPlanningMaterialService.uploadProductionExcel(this.files[0])\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n if (resData.data == 1) {\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n this.GetProductionDetails();\r\n }\r\n else{ \r\n if (resData.data[0].status == 'true') {\r\n this.GetProductionDetails();\r\n this.toastr.success(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n else {\r\n this.GetProductionDetails();\r\n this.displayUploadErrorPanel='none';\r\n this.toastr.error(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n } \r\n }\r\n }\r\n else {\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n this.files = [];\r\n this.loader = 'none';\r\n });\r\n this.files = this.files;\r\n this.fileName = this.files[0].name;\r\n }\r\n\r\n excelDownload() {\r\n this.selectCheck = false;\r\n this.selectedRMHName = Array.prototype.map.call(this.RMHName.selectedItems, function (item) { return \"\"+ item.id+\"\"; }).join(\",\");// this.selectedRMHName.lastIndexOf(\",\") == this.selectedRMHName.length - 1 ? this.selectedRMHName.substring(0, this.selectedRMHName.lastIndexOf(\",\")) : this.selectedRMHName;\r\n this.selectedMonth = this.selectedMonth.lastIndexOf(',') == this.selectedMonth.length - 1 ? this.selectedMonth.substring(0, this.selectedMonth.length - 1) : this.selectedMonth;\r\n this.selectedCrop = this.selectedCrop.lastIndexOf(\",\") == this.selectedCrop.length - 1 ? this.selectedCrop.substring(0, this.selectedCrop.length - 1) : this.selectedCrop;\r\n this.selectedBrand = Array.prototype.map.call(this.Brand.selectedItems, function (item) { return \"\"+ item.id+\"\"; }).join(\",\");//this.selectedBrand.lastIndexOf(\",\") == this.selectedBrand.length - 1 ? this.selectedBrand.substring(0, this.selectedBrand.lastIndexOf(\",\")) : this.selectedBrand;\r\n this.selectedLanguage = this.selectedLanguage.lastIndexOf(\",\") == this.selectedLanguage.length - 1 ? this.selectedLanguage.substring(0, this.selectedLanguage.length - 1) : this.selectedLanguage;\r\n this.selectedJobType = this.selectedJobType.lastIndexOf(\",\") == this.selectedJobType.length - 1 ? this.selectedJobType.substring(0, this.selectedJobType.length - 1) : this.selectedJobType;\r\n this.selectedStatus=Array.prototype.map.call(this.requirementStatus.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if(this.selectedStatus.length==0)\r\n this.selectedStatus = '6,7,8,9,10,11,12';\r\n this.selectedJobNumber=Array.prototype.map.call(this.JobNumber.selectedItems, function (item) { return \"\"+ item.id+\"\"; }).join(\",\");\r\n this.selectedState=Array.prototype.map.call(this.State.selectedItems, function (item) { return \"\"+ item.id+\"\"; }).join(\",\");\r\n this.selectedListVendor=Array.prototype.map.call(this.vendorType.selectedItems, function (item) { return \"\"+item.id+\"\"; }).join(\",\");\r\n this.selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.GetProductionPrintingExcel(this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop, this.selectedLanguage, this.selectedMonth, this.selectedStatus, this.selectedJobNumber,this.selectedState,this.selectedListVendor,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('mcmt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n let excelName = firstname + '_' + lastName + '_'+ cYear + '_Production_' + 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 closeUploadPanel()\r\n {\r\n this.displayUploadErrorPanel='none';\r\n this.GetProductionDetails();\r\n }\r\nConvertToCurrency(value:any)\r\n {\r\n debugger;\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}","module.exports = \".pro-box1 {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n}\\r\\n.pro-box1 img {\\r\\n margin: 4px 5px 0 0;\\r\\n vertical-align: top;\\r\\n display: inline-block;\\r\\n}\\r\\n.pro-box1 span {\\r\\n font-size: 14px;\\r\\n color: #979797;\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n font-weight: 500;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n.pro-box1 strong {\\r\\n font-size: 12px;\\r\\n color: #393939;\\r\\n margin-left: 5px;\\r\\n display: inline-block;\\r\\n width: 87%;\\r\\n}\"","module.exports = \"
\\r\\n

Profile

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Username :\\r\\n {{profileDetail.name}}\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Mobile Number :\\r\\n {{profileDetail.mobileNo}}\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Designation :\\r\\n {{profileDetail.roleName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Email :\\r\\n {{profileDetail.emailID}}\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Supervisor Name :\\r\\n {{profileDetail.supervisor}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"no\\r\\n Warehouse Location :\\r\\n {{profileDetail.whLocation}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"no\\r\\n Region Code :\\r\\n {{profileDetail.regionCode}}\\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 { Profile } from '../../Models/login/profile';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { ToastrModule, 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 loader : string = 'none';\r\n userId : string;\r\n roleID : string;\r\n profileDetail : Profile = new Profile();\r\n error : boolean;\r\n\r\n constructor( private router : Router, private loginService : LoginService,private snackBar : MatSnackBarComponent,private toastr: ToastrService) { \r\n this.userId = localStorage.getItem('mcmt_userId');\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.profileDetails(this.userId);\r\n }\r\n\r\n profileDetails(userId : any) {\r\n this.loader = 'block';\r\n this.loginService.profileDetails(userId)\r\n .subscribe((resData : any) => {\r\n if(resData.status == true)\r\n {\r\n this.profileDetail = resData.data;\r\n this.loader = 'none';\r\n }\r\n else\r\n {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

MA & State Mapping

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
{{name.ma}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{detail.state}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { MaStateMappingService } from 'src/app/Services/admin-rights/ma-state-mapping.service';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector : 'app-ma-state-mapping',\r\n templateUrl : './ma-state-mapping.component.html',\r\n styleUrls : ['./ma-state-mapping.component.css']\r\n})\r\nexport class MaStateMappingComponent implements OnInit {\r\n ma : any;\r\n state : any[];\r\n maState : any[];\r\n loader : string = 'none';\r\n\r\n constructor(private maStateService : MaStateMappingService, private router: Router, private snackBar : MatSnackBarComponent,private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getMAStateMapping();\r\n }\r\n\r\n getMAStateMapping(){\r\n this.loader = 'block';\r\n this.maStateService.getMAStateMapping('')\r\n .subscribe((resdata : any) =>{\r\n if(resdata.status == true){\r\n this.ma = resdata.data.ma;\r\n this.state = resdata.data.states;\r\n this.loader = 'none';\r\n }\r\n else\r\n {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n getState(selectedMA : any){\r\n this.state.forEach(function (detail) {\r\n if(detail.ma == selectedMA){\r\n this.maState = detail.states\r\n }\r\n })\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Timeline Settings

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No. of Boxes{{column.roleCode}}
Requirement Year For All{{row.status}}\\r\\n \\r\\n \\r\\n \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n \\r\\n \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n = 48 && event.charCode <= 57\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n = 48 && event.charCode <= 57\\\"> \\r\\n \\r\\n \\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 { DatePipe } from '@angular/common';\r\nimport { PoStatusUpdateService } from '../../Services/job-allocation-to-vendors/po-status-update.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { PoStatusUpdateDetails, PoStatusUpdateFilters, UpdatedPODetails } from 'src/app/Models/job-allocation-to-vendors/po-status-update';\r\nimport { VendorFinalizationService } from 'src/app/Services/job-allocation-to-vendors/vendor-finalization.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { NativeDateAdapter, DateAdapter, MAT_DATE_FORMATS } from '@angular/material';\r\nimport { formatDate } from '@angular/common';\r\nimport { TimelineConfigurationService } from 'src/app/Services/admin-rights/timeline-configuration.service';\r\nimport { TimeLineConfiguration, UpdatedTimeline } from 'src/app/Models/Admin/timeline-configuration';\r\nimport { element } from 'protractor';\r\nimport { exit } from 'process';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\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\r\nclass 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-timeline-setting',\r\n templateUrl: './timeline-setting.component.html',\r\n styleUrls: ['./timeline-setting.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 TimelineSettingComponent implements OnInit {\r\n loader: string = 'none';\r\n IsValid: boolean = true;\r\n timelineDetail: TimeLineConfiguration = new TimeLineConfiguration();\r\n mapping: any[] = [];\r\n\r\n constructor(private timelineConfigurationService: TimelineConfigurationService, private router: Router, private snackBar: MatSnackBarComponent,private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getTimelineConfiguration();\r\n }\r\n\r\n getTimelineConfiguration() {\r\n this.loader = 'block';\r\n this.timelineConfigurationService.getTimelineConfiguration()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.timelineDetail = resdata.data;\r\n this.mapping = resdata.data.mapping;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n getRequirementMaxYear()\r\n {\r\n return new Date().getFullYear()+1;\r\n }\r\n\r\n updateTimeline() {\r\n this.loader = 'block';\r\n let updatedTimeline: UpdatedTimeline[] = [];\r\n let errormessage : string;\r\n this.timelineDetail.details.forEach(element => {\r\n let sDate: string;\r\n let eDate: string;\r\n\r\n if (element.active == 1) {\r\n if (element.startDate.toString().includes('GMT')) {\r\n sDate = element.startDate.toString().replace('GMT+0530 (India Standard Time)', '').slice(4);\r\n }\r\n else {\r\n sDate = element.startDate;\r\n }\r\n if (element.endDate.toString().includes('GMT')) {\r\n eDate = element.endDate.toString().replace('GMT+0530 (India Standard Time)', '').slice(4);\r\n }\r\n else {\r\n eDate = element.endDate;\r\n }\r\n }\r\n else {\r\n sDate=eDate=element.startDate = element.endDate.toString();\r\n\r\n }\r\n var details = {\r\n ID: element.id,\r\n StartDate: sDate,\r\n EndDate: eDate\r\n }\r\n updatedTimeline.push(details);\r\n })\r\n\r\n\r\n // Code for Client Validation\r\n if(updatedTimeline != null && updatedTimeline.length > 0)\r\n {\r\n for (let entry of updatedTimeline) { \r\n \r\n if(entry.ID == 24)\r\n {\r\n // Check for Requirement year\r\n if(entry.StartDate < \"2021\" || entry.StartDate > this.getRequirementMaxYear().toString())\r\n {\r\n errormessage = 'Timeline Settings Requirement year must be from 2021 to ' + this.getRequirementMaxYear().toString();\r\n this.IsValid = false;\r\n break;\r\n }\r\n } \r\n if(entry.ID == 1 || entry.ID == 3 || entry.ID == 9)\r\n {\r\n // Check for StartDate equal or greater than endDate\r\n if(Date.parse(entry.StartDate) >= Date.parse(entry.EndDate))\r\n {\r\n errormessage = 'Timeline Settings StartDate should not be equal or greater than EndDate.';\r\n this.IsValid = false;\r\n break;\r\n }\r\n }\r\n\r\n if(entry.ID == 3)\r\n {\r\n var filterdata = updatedTimeline.find(item => item.ID == 1);\r\n if(filterdata != null)\r\n {\r\n var AnnualRequirementSubmissionStartDate = filterdata.StartDate; \r\n \r\n // Check for StartDate of Approval On Requirement Start Date is equal greater than StartDate\r\n if(Date.parse(entry.StartDate) < Date.parse(AnnualRequirementSubmissionStartDate))\r\n {\r\n errormessage = 'Timeline Settings Approval On Requirement Start Date should be equal or greater than Annual Requirement Submission Start Date';\r\n this.IsValid = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if(entry.ID == 9)\r\n {\r\n var filterdata = updatedTimeline.find(item => item.ID == 3);\r\n if(filterdata != null)\r\n {\r\n var ApprovalOnRequirementStartDate = filterdata.StartDate; \r\n \r\n // Check for StartDate of Vendor Finalization Start Date is equal greater than Approval On Requirement StartDate\r\n if(Date.parse(entry.StartDate) < Date.parse(ApprovalOnRequirementStartDate))\r\n {\r\n errormessage = 'Timeline Settings Vendor Finalization Start Date should be equal or greater than Annual Requirement Submission Start Date';\r\n this.IsValid = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if(entry.ID == 1)\r\n {\r\n var filterdata = updatedTimeline.find(item => item.ID == 24);\r\n if(filterdata != null)\r\n {\r\n var reqyear = filterdata.StartDate; \r\n \r\n // Check for Requirement year\r\n if(reqyear < \"2021\" || reqyear > this.getRequirementMaxYear().toString())\r\n {\r\n errormessage = 'Timeline Settings Requirement year must be from 2021 to ' + this.getRequirementMaxYear().toString();\r\n this.IsValid = false;\r\n break;\r\n }\r\n\r\n // Check for StartDate equal and endDate based on requirment year\r\n if(Date.parse('01-Oct-'+ (parseInt(reqyear)-1).toString()) > Date.parse(entry.StartDate) || Date.parse('31-Dec-'+(parseInt(reqyear)-1).toString()) < Date.parse(entry.StartDate)\r\n && Date.parse('01-Oct-'+ (parseInt(reqyear)-1).toString()) > Date.parse(entry.EndDate) || Date.parse('31-Dec-'+(parseInt(reqyear)-1).toString()) < Date.parse(entry.EndDate)\r\n )\r\n {\r\n errormessage = 'Timeline Settings Annual Requirement Submission should be between 01-Oct-'+(parseInt(reqyear)-1).toString()+' to 31-Dec-'+(parseInt(reqyear)-1).toString();\r\n this.IsValid = false;\r\n break;\r\n }\r\n }\r\n }\r\n \r\n if(entry.ID == 17 || entry.ID == 18 || entry.ID == 19 || entry.ID == 21 || entry.ID == 22\r\n || entry.ID == 23 )\r\n {\r\n // Check for Zero entry for days\r\n if(entry.StartDate == \"0\")\r\n {\r\n errormessage = 'Timeline Settings days should not be equal to zero.';\r\n this.IsValid = false;\r\n break;\r\n }\r\n\r\n if(entry.StartDate > \"365\")\r\n {\r\n errormessage = 'Timeline Settings days should be equal or less than 365.';\r\n this.IsValid = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n \r\n if(!this.IsValid && typeof errormessage!='undefined' && errormessage)\r\n {\r\n this.toastr.error(errormessage);\r\n this.loader = 'none';\r\n }\r\n else\r\n {\r\n this.timelineConfigurationService.updateTimelineConfiguration(updatedTimeline)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n if (resdata.data[0].status == 'true') {\r\n this.toastr.success(resdata.data[0].msg);\r\n this.getTimelineConfiguration();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.data[0].msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(resdata.data[0].msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Unit Price

\\r\\n
\\r\\n Upload Excel\\r\\n Download Excel\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Job ItemBrandCropLanguageSpecificationOpen Size (Inch)Finish Size (Inch)Number
of pages
ColorFabricationUnit Price in {{currentYear}}Unit Price in {{futureYear}}
{{unitPrice.jobItem}}{{unitPrice.brand}}{{unitPrice.crop}}{{unitPrice.language}}{{unitPrice.specification}}{{unitPrice.openSize}}{{unitPrice.finishSize}}{{unitPrice.noOfPage}}{{unitPrice.color}}{{unitPrice.fabrication}}{{unitPrice.unitPriceCurrentYear| number:'1.2-2'}}{{unitPrice.unitPriceFutureYear| number:'1.2-2'}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { SessionService } from '../../Services/session.service';\r\nimport { EncryptionDecryptionService } from 'src/app/Services/encryption-decryption/encryption-decryption.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { saveAs } from 'file-saver';\r\nimport { UnitPriceService } from 'src/app/Services/admin-rights/unit-price.service';\r\nimport { DashboardFilters, DashboardDetails } from 'src/app/Models/Dashboard/DashboardFilters';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-unit-price',\r\n templateUrl: './unit-price.component.html',\r\n styleUrls: ['./unit-price.component.css'],\r\n providers: [PagerService, DatePipe]\r\n})\r\nexport class UnitPriceComponent implements OnInit {\r\n userName: string;\r\n roleCode: string;\r\n userID: string;\r\n roleID: string;\r\n unitPriceDetails: any[] = [];\r\n loader: string = 'none';\r\n path: string;\r\n Name: string;\r\n Date = new Date();\r\n CurrentDate: string;\r\n previousYear: number;\r\n currentYear: number;\r\n futureYear: number;\r\n files: File[] = [];\r\n fileName: string = '';\r\n pageSetting : number = 10;\r\n pager : any = {};\r\n model : any[] = [];\r\n modalSetting : number = 0;\r\n modelFilter : any[];\r\n modelDepandent : any[];\r\n selectedPaging : any;\r\n @ViewChild('file') input;\r\n\r\n\r\n constructor(private session: SessionService,\r\n private encryptionDecryptionService: EncryptionDecryptionService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private unitPriceService: UnitPriceService, private snackBar: MatSnackBarComponent,\r\n private _pagerService: PagerService, private datePipe: DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.selectedPaging = '0';\r\n this.CurrentDate = this.datePipe.transform(this.Date, 'MM/dd/yyyy');\r\n this.Name = localStorage.getItem('mcmt_userName');\r\n }\r\n\r\n ngOnInit(): void {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n clearInterval(this.session.id);\r\n this.session.startSession();\r\n let today = new Date();\r\n let year = today.getFullYear();\r\n this.previousYear = year - 1;\r\n this.currentYear = year;\r\n this.futureYear = year + 1;\r\n this.getUnitPrice();\r\n\r\n }\r\n\r\n getUnitPrice() {\r\n this.loader = 'block';\r\n this.unitPriceService.getUnitPrice()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.unitPriceDetails = resdata.data;\r\n this.model = resdata.data;\r\n this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.data.msg);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n this.unitPriceService.downloadExcel()\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('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let ExcelName = Firstname + '_' + LastName + '_UnitPrice_' + 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 record/s available\");\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n uploadUnitPrice(files: File[]) {\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 if (fileType != 'xls' && fileType != 'xlsx') {\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\r\n this.loader = 'block';\r\n this.unitPriceService.uploadUnitPrice(this.files[0])\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n if (resData.data[0].status == 'true') {\r\n this.toastr.success(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.getUnitPrice();\r\n this.input.nativeElement.value = null;\r\n } else {\r\n this.toastr.error(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n }\r\n else {\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n this.files = [];\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\r\n // Start :For Pagination\r\n setPage(page: number, pageSize: number) {\r\n // get pager object from service\r\n if (this.modalSetting == 0) {\r\n this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n this.unitPriceDetails = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n else {\r\n if (this.modalSetting == 1) {\r\n this.pager = this._pagerService.getPager(this.model.length, page, pageSize);\r\n this.unitPriceDetails = this.model.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n else {\r\n this.pager = this._pagerService.getPager(this.modelDepandent.length, page, pageSize);\r\n this.unitPriceDetails = this.modelDepandent.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n }\r\n // get current page of items\r\n }\r\n}\r\n","module.exports = \".vendorPopup{\\r\\n height: auto !important;\\r\\n}\\r\\n.vendorPDF{\\r\\n width: 120% !important;\\r\\n}\\r\\n.padding{\\r\\n padding-right: 1% !important;\\r\\n}\\r\\n.pdf-viewer {\\r\\n display: block;\\r\\n height: 100vh;\\r\\n}\\r\\n.vendorPDFVeiw{\\r\\n width: auto !important;\\r\\n height: 80vh;\\r\\n}\\r\\n.img-size{\\r\\n width: 100%;\\r\\n height: 10;\\r\\n}\"","module.exports = \"
\\r\\n

Vendor Details

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
EditVendor NameVendor TypeContact No.Email IDMarketing AgencyAddressStatePDF
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
Add Vendor Details
\\r\\n
\\r\\n \\r\\n
Update Vendor Details
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • Active\\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Vendor Name *\\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Vendor Type *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Contact No. *\\r\\n\\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Email ID *\\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Marketing Agency \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • Address \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • State \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • PDF File \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
PDF Viewer
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Documents } from 'src/app/Models/AnnualRequirement/ExcelDocuments';\r\nimport { VendorDetails } from 'src/app/Models/Admin/vendor-details';\r\nimport { VendorDetailService } from 'src/app/Services/admin-rights/vendor-detail.service';\r\nimport { VendorFinalizationService } from 'src/app/Services/job-allocation-to-vendors/vendor-finalization.service';\r\nimport { element } from '@angular/core/src/render3/instructions';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-vendor-details',\r\n templateUrl: './vendor-details.component.html',\r\n styleUrls: ['./vendor-details.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class VendorDetailsComponent implements OnInit {\r\n vendorDetail: any[] = [];\r\n model: any[] = [];\r\n rowCount: any;\r\n fileNameParts: string[];\r\n @ViewChild('file') input;\r\n files: File[] = [];\r\n fileName: string = '';\r\n fileType: string;\r\n loader: string = 'none';\r\n pageSetting: number = 10;\r\n modalSetting: number = 0;\r\n pager: any = {};\r\n modelDepandent: any[];\r\n IsFileCorrect: boolean;\r\n addJobdropdown: any[] = [];\r\n document: Documents = new Documents();\r\n displayEditVendor: string = 'none';\r\n customID: number = 0;\r\n customActive: boolean = true;\r\n customName: string = '';\r\n customType: string = '';\r\n customNumber: string = '';\r\n customEmail: string = '';\r\n customMA: string = '';\r\n customAddress: string = '';\r\n customState: string = '';\r\n vendorTypeDetail: any[] = [];\r\n roleID : any;\r\n tryDoctype : any;\r\n displayPDF : string = 'none';\r\n\r\n constructor(private vendorFinalizationService: VendorFinalizationService, private snackBar: MatSnackBarComponent, private _pagerService: PagerService, private datepipe: DatePipe,\r\n private router: Router, private vendorDetailService: VendorDetailService,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID'); }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getVendorDetails();\r\n this.getVendorDetailDropDown();\r\n }\r\n\r\n getVendorDetails() {\r\n console.log(this.roleID);\r\n this.loader = 'block';\r\n this.vendorDetailService.getVendorDetails()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.vendorDetail = resdata.data.vendorDetails;\r\n this.rowCount = resdata.data.rowCount;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n vendorTypes() {\r\n this.loader = 'block';\r\n this.vendorFinalizationService.vendorTypes()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.vendorTypeDetail = resData.data.vendorTypes;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n this.vendorDetailService.downloadVendorExcel()\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('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let ExcelName = Firstname + '_' + LastName + '_VendorDetails_' + 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 record/s available\");\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n filesDroppedAdd(files: File[]) {\r\n\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 Name = localStorage.getItem('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let CorrectFileName = Firstname + '_' + LastName + '_VendorDetails_'\r\n if (fileNameParts[0].includes(CorrectFileName)) {\r\n this.IsFileCorrect = true;\r\n }\r\n else {\r\n this.IsFileCorrect = false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\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\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n this.vendorDetailService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n this.getVendorDetails();\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n } else {\r\n this.toastr.error(resData.message);\r\n this.loader = 'none';\r\n this.getVendorDetails();\r\n this.input.nativeElement.value = null;\r\n }\r\n this.files = [];\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 addVendor() {\r\n this.vendorTypes();\r\n this.displayEditVendor = 'block';\r\n this.customID = 0;\r\n }\r\n\r\n editVendor(index: any) {\r\n this.displayEditVendor = 'block';\r\n this.customID = this.vendorDetail[index].id;\r\n this.customActive = this.vendorDetail[index].active;\r\n this.customName = this.vendorDetail[index].name;\r\n this.customType = this.vendorDetail[index].type;\r\n this.customNumber = this.vendorDetail[index].number;\r\n this.customEmail = this.vendorDetail[index].email;\r\n this.customMA = this.vendorDetail[index].ma;\r\n this.customAddress = this.vendorDetail[index].address;\r\n this.customState = this.vendorDetail[index].state;\r\n }\r\n closeVendor() {\r\n this.displayEditVendor = 'none';\r\n this.customID = 0;\r\n this.customName = '';\r\n this.customType = '';\r\n this.customNumber = '';\r\n this.customEmail = '';\r\n this.customMA = '';\r\n this.customAddress = '';\r\n this.customState = '';\r\n }\r\n\r\n validation(input: string) {\r\n if (this.customEmail != '') {\r\n if (this.customNumber != '') {\r\n if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(this.customEmail)) {\r\n if (/^[6-9]\\d{9}$/.test(this.customNumber)) {\r\n if (this.customName != '') {\r\n if (this.customType != '') {\r\n if (input == 'Update') {\r\n switch (this.customType.toUpperCase()) {\r\n case \"PRINT VENDOR\":\r\n {\r\n this.customType = '1';\r\n break;\r\n }\r\n case \"PRIMARY LOGISTICS VENDOR\":\r\n {\r\n this.customType = '2';\r\n break;\r\n }\r\n case \"SECONDARY LOGISTICS VENDOR\":\r\n {\r\n this.customType = '3';\r\n break;\r\n }\r\n default:\r\n {\r\n this.customType = '0';\r\n break;\r\n }\r\n }\r\n\r\n }\r\n this.addVendorDetails();\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Invalid Mobile No.\");\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Invalid Email ID\");\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(\"Mandatory Fields can not be empty\");\r\n this.loader = 'none';\r\n }\r\n }\r\n\r\n addVendorDetails() {\r\n this.loader = 'block';\r\n let updateVendor: VendorDetails[] = [];\r\n var updateDetail = {\r\n ID: this.customID,\r\n Active: this.customActive,\r\n Name: this.customName,\r\n Type: this.customType,\r\n Number: this.customNumber,\r\n Email: this.customEmail,\r\n MA: this.customMA,\r\n Address: this.customAddress,\r\n State: this.customState\r\n };\r\n updateVendor.push(updateDetail);\r\n this.vendorDetailService.updateVendorDetail(updateVendor)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.getVendorDetails();\r\n this.displayEditVendor = 'none';\r\n this.pdfUpload(this.customName);\r\n this.customID = 0;\r\n this.customName = '';\r\n this.customType = '';\r\n this.customNumber = '';\r\n this.customEmail = '';\r\n this.customMA = '';\r\n this.customAddress = '';\r\n this.customState = '';\r\n this.toastr.success(resdata.data[0].msg);\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.data[0].msg);\r\n this.loader = 'none';\r\n this.displayEditVendor = 'none';\r\n }\r\n })\r\n }\r\n\r\n getVendorDetailDropDown() {\r\n this.loader = 'block';\r\n this.vendorDetailService.getVendorDetailDropDown()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.addJobdropdown = resdata.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n filesAdd(files: File[]) {\r\n this.files = [];\r\n this.files = files;\r\n this.fileNameParts = files[0].name.split('.');\r\n this.fileType = files[0].name.split('.')[this.fileNameParts.length - 1];\r\n if (this.fileType != 'pdf') {\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 }\r\n pdfUpload(name : any){\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n this.vendorDetailService.uploadPDFDocument(name, this.document.file)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.toastr.success('PDF Uploaded Successfully');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n else {\r\n this.toastr.error('PDF Upload Failed');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n })\r\n }\r\n\r\n pdfDownload(index: any) {\r\n var VendorName = this.vendorDetail[index].name.replace(' ', '')\r\n this.loader = 'block';\r\n this.vendorDetailService.downloadPDFDocument(VendorName)\r\n .subscribe(\r\n success => {\r\n //let ExcelName = VendorName + '.pdf';\r\n //saveAs(success, ExcelName);\r\n let fileURL = URL.createObjectURL(success);\r\n this.tryDoctype = fileURL\r\n this.displayPDF = 'block';\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No record/s available\");\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n closePDF(){\r\n this.displayPDF = 'none';\r\n }\r\n}\r\n","module.exports = \"button:disabled\\r\\n{\\r\\n background: #f78d77;\\r\\n}\"","module.exports = \"
\\r\\n

Vendor Finalization

\\r\\n
\\r\\n Upload Excel\\r\\n Download Excel\\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
Select AllJob NumberRMH/RBM NameJob TypeCropBrandLanguageStateRequirement MonthFinal QtyWH LocationStatusAction
{{detail.jobNumber}}{{detail.rmhname}}{{detail.jobType}}{{detail.crop}}{{detail.brand}}{{detail.language}}{{detail.state}}{{detail.requirementMonth}}{{ConvertToCurrency(detail.finalQuantity)}}{{detail.whLocation}}{{detail.orderStatus}}\\r\\n \\r\\n \\r\\n
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n
\\r\\n \\r\\n

Assign Vendor

\\r\\n
\\r\\n
\\r\\n
\\r\\n Job Number\\r\\n \\r\\n
\\r\\n
\\r\\n Vendor Type\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Job Number\\r\\n \\r\\n Vendor Type\\r\\n \\r\\n Date\\r\\n \\r\\n Action\\r\\n
\\r\\n {{vendor.jobNumber}}\\r\\n \\r\\n {{vendor.vendorName}}\\r\\n \\r\\n {{vendor.date}}\\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 { DatePipe } from '@angular/common';\r\nimport { VendorFinalizationService } from '../../Services/job-allocation-to-vendors/vendor-finalization.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { VendorFinalizationDetails, VendorFinalizationFilters, UpdateVendorType, UpdateVendorTypeDetails } from '../../Models/job-allocation-to-vendors/vendor-finalization';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { element } from '@angular/core/src/render3/instructions';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-vendor-finalization',\r\n templateUrl: './vendor-finalization.component.html',\r\n styleUrls: ['./vendor-finalization.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class VendorFinalizationComponent implements OnInit {\r\n userID: string;\r\n roleID: string;\r\n selectedJobNumber: any;\r\n selectedRMHName: any;\r\n selectedJobType: any;\r\n selectedBrand: any;\r\n selectedCrop: any;\r\n selectedLanguage: any;\r\n selectedStatus: any;\r\n selectedMonth: any;\r\n vendorFilters: VendorFinalizationFilters = new VendorFinalizationFilters();\r\n vendorDetails: VendorFinalizationDetails[] = [];\r\n mainVendorDetails: VendorFinalizationDetails[] = [];\r\n VendorFinalizationpopUp: VendorFinalizationDetails[] = [];\r\n loader: string = 'none';\r\n files: File[] = [];\r\n fileName: string = '';\r\n pageSetting: number = 10;\r\n pager: any = {};\r\n //model: any[];\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n selectedState: any;\r\n userName: string;\r\n date = new Date();\r\n vendorTypeDetail: any[] = [];\r\n //multivendorTypeDetail: any[] = [];\r\n selectedVendor: any;\r\n selectedYear: any; \r\n ascNumberSort: boolean = true;\r\n sortDirection: string = '';\r\n @ViewChild('file') input;\r\n @ViewChild('year') year;\r\n selected: number = 0;\r\n displayVendorAssignment: string = 'none';\r\n VendorJobNumber: string;\r\n vendorGridTypeDetail: UpdateVendorTypeDetails;\r\n vendorType: any;\r\n IsValidForDelete: string = 'none';\r\n displayViewAssesment: string = 'none';\r\n IsEdit:string='none';\r\n IsSave:string='block';\r\n editIndex:number=0;\r\n dropdownList = [\r\n { item_id: '1', item_text: 'Jan' },\r\n { item_id: '2', item_text: 'Feb' },\r\n { item_id: '3', item_text: 'Mar' },\r\n { item_id: '4', item_text: 'Apr' },\r\n { item_id: '5', item_text: 'May' },\r\n { item_id: '6', item_text: 'Jun' },\r\n { item_id: '7', item_text: 'Jul' },\r\n { item_id: '8', item_text: 'Aug' },\r\n { item_id: '9', item_text: 'Sep' },\r\n { item_id: '10', item_text: 'Oct' },\r\n { item_id: '11', item_text: 'Nov' },\r\n { item_id: '12', item_text: 'Dec' }\r\n ];\r\n dropdownSettings1: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'jobNumberID',\r\n textField: 'jobNumberName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings2: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings3: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings4: IDropdownSettings = {\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 };\r\n dropdownSettings5: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings6: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings7: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'stateID',\r\n textField: 'stateName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings8: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownSettings9: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'vendorTypeID',\r\n textField: 'vendorType',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true\r\n };\r\n dropdownVendorSettings: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'vendorTypeID',\r\n textField: 'vendorType',\r\n // selectAllText: 'Select All',\r\n // unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: false\r\n\r\n };\r\n yearSettings : IDropdownSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n\r\n\r\n constructor(private vendorFinalizationService: VendorFinalizationService, private snackBar: MatSnackBarComponent,\r\n private _pagerService: PagerService, private router: Router, private datepipe: DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.userName = localStorage.getItem('mcmt_userName');\r\n this.displayVendorAssignment = 'none';\r\n this.VendorFinalizationpopUp = [];\r\n this.IsValidForDelete = 'none';\r\n this.displayViewAssesment = 'none';\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.vendorFinalizationFilters();\r\n this.vendorTypes();\r\n\r\n }\r\n vendorFinalizationFilters() {\r\n this.loader = 'block';\r\n this.vendorFinalizationService.vendorFinalizationFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.vendorFilters = resData.data;\r\n class YearItemList{\r\n id: string;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : this.vendorFilters.rollingYears[0].currentrequirementYear,\r\n text: this.vendorFilters.rollingYears[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem;\r\n this.vendorFinalizationDetails();\r\n this.loader = 'none';\r\n\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n vendorFinalizationDetails() {\r\n this.loader = 'block';\r\n this.selectedJobNumber = undefined;\r\n this.selectedRMHName = undefined;\r\n this.selectedJobType = undefined;\r\n this.selectedBrand = undefined;\r\n this.selectedCrop = undefined;\r\n this.selectedLanguage = undefined;\r\n this.selectedStatus = undefined;\r\n this.selectedMonth = undefined;\r\n this.selectedState = undefined;\r\n this.vendorFinalizationService.getVendorFinalization(this.selectedJobNumber, this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop,\r\n this.selectedLanguage, this.selectedStatus, this.selectedMonth, this.selectedState)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.vendorDetails = resdata.data;\r\n //this.model=resdata.data;\r\n this.mainVendorDetails = resdata.data\r\n // this.setPage(1,this.pageSetting)\r\n this.loader = 'none';\r\n this.filter();\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n\r\n vendorTypes() {\r\n this.loader = 'block';\r\n this.vendorFinalizationService.vendorTypes()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.vendorTypeDetail = resData.data.vendorTypes;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n excelDownload() {\r\n this.loader = 'block';\r\n let selectJobNo: any[] = this.selectedJobNumber;\r\n let selectRmh: any[] = this.selectedRMHName;\r\n let selectJob: any[] = this.selectedJobType;\r\n let selectBrand: any[] = this.selectedBrand;\r\n let selectCrop: any[] = this.selectedCrop;\r\n let selectLanguage: any[] = this.selectedLanguage;\r\n let selectStatus: any[] = this.selectedStatus;\r\n let selectMonth: any[] = this.selectedMonth;\r\n let selectState: any[] = this.selectedState;\r\n let selectedVendor: any[] = this.selectedVendor;\r\n let selectYear: any = this.year.selectedItems[0].id;\r\n let customJobNo: string = \"\";\r\n let customVendor: string = \"\";\r\n let customRmh: string = \"\";\r\n let customJob: string = \"\";\r\n let customBrand: string = \"\";\r\n let customCrop: string = \"\";\r\n let customLanguage: string = \"\";\r\n let customStatus: string = \"\";\r\n let customMonth: string = \"\";\r\n let customState: string = \"\";\r\n let customYear: string = \"\";\r\n if (selectJobNo != undefined) {\r\n selectJobNo.forEach(x => {\r\n if (x.length == 0) {\r\n customJobNo = \"\";\r\n }\r\n else {\r\n if (customJobNo == \"\") {\r\n customJobNo = x.jobNumberName;\r\n }\r\n else {\r\n customJobNo = customJobNo.concat(\",\");\r\n customJobNo = customJobNo.concat(x.jobNumberName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectYear != undefined) {\r\n customYear = selectYear;\r\n }\r\n if (selectedVendor != undefined) {\r\n selectedVendor.forEach(x => {\r\n if (x.length == 0) {\r\n customVendor = \"\";\r\n }\r\n else {\r\n if (customVendor == \"\") {\r\n customVendor = x.vendorType;\r\n }\r\n else {\r\n customVendor = customVendor.concat(\",\");\r\n customVendor = customVendor.concat(x.vendorType);\r\n }\r\n }\r\n })\r\n }\r\n if (selectRmh != undefined) {\r\n selectRmh.forEach(x => {\r\n if (x.length == 0) {\r\n customRmh = \"\";\r\n }\r\n else {\r\n if (customRmh == \"\") {\r\n customRmh = x.rMHCode;\r\n }\r\n else {\r\n customRmh = customRmh.concat(\",\");\r\n customRmh = customRmh.concat(x.rMHCode);\r\n }\r\n }\r\n })\r\n }\r\n if (selectJob != undefined) {\r\n selectJob.forEach(x => {\r\n if (x.length == 0) {\r\n customJob = \"\";\r\n }\r\n else {\r\n if (customJob == \"\") {\r\n customJob = x.jobTypeName;\r\n }\r\n else {\r\n customJob = customJob.concat(\",\");\r\n customJob = customJob.concat(x.jobTypeName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectBrand != undefined) {\r\n selectBrand.forEach(x => {\r\n if (x.length == 0) {\r\n customBrand = \"\";\r\n }\r\n else {\r\n if (customBrand == \"\") {\r\n customBrand = x.brandName;\r\n }\r\n else {\r\n customBrand = customBrand.concat(\",\");\r\n customBrand = customBrand.concat(x.brandName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectCrop != undefined) {\r\n selectCrop.forEach(x => {\r\n if (x.length == 0) {\r\n customCrop = \"\";\r\n }\r\n else {\r\n if (customCrop == \"\") {\r\n customCrop = x.cropName;\r\n }\r\n else {\r\n customCrop = customCrop.concat(\",\");\r\n customCrop = customCrop.concat(x.cropName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectLanguage != undefined) {\r\n selectLanguage.forEach(x => {\r\n if (x.length == 0) {\r\n customLanguage = \"\";\r\n }\r\n else {\r\n if (customLanguage == \"\") {\r\n customLanguage = x.languageName;\r\n }\r\n else {\r\n customLanguage = customLanguage.concat(\",\");\r\n customLanguage = customLanguage.concat(x.languageName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectStatus != undefined) {\r\n selectStatus.forEach(x => {\r\n if (x.length == 0) {\r\n customStatus = \"\";\r\n }\r\n else {\r\n if (customStatus == \"\") {\r\n customStatus = x.requirementStatusName;\r\n }\r\n else {\r\n customStatus = customStatus.concat(\",\");\r\n customStatus = customStatus.concat(x.requirementStatusName);\r\n }\r\n }\r\n })\r\n }\r\n if (selectMonth != undefined) {\r\n selectMonth.forEach(x => {\r\n if (x.length == 0) {\r\n customMonth = \"\";\r\n }\r\n else {\r\n if (customMonth == \"\") {\r\n customMonth = x.item_id;\r\n }\r\n else {\r\n customMonth = customMonth.concat(\",\");\r\n customMonth = customMonth.concat(x.item_id);\r\n }\r\n }\r\n })\r\n }\r\n if (selectState != undefined) {\r\n selectState.forEach(x => {\r\n if (x.length == 0) {\r\n customState = \"\";\r\n }\r\n else {\r\n if (customState == \"\") {\r\n customState = x.stateName;\r\n }\r\n else {\r\n customState = customState.concat(\",\");\r\n customState = customState.concat(x.stateName);\r\n }\r\n }\r\n })\r\n }\r\n this.vendorFinalizationService.downloadExcel(customJobNo, customRmh, customJob, customBrand, customCrop,\r\n customLanguage, customStatus, customMonth, customState, customVendor,customYear)\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('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n let ExcelName = Firstname + '_' + LastName + '_'+ cYear + '_VendorFinalization_' + 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(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n\r\n updateVendorType() {\r\n let updateVendorType: UpdateVendorType[] = [];\r\n let active: number = 0;\r\n this.loader = 'block';\r\n this.mainVendorDetails.forEach(detail => {\r\n if (detail.isActive == true) {\r\n var approvedVendor = {\r\n JobNumber: detail.jobNumber,\r\n VendorType: detail.vendorType\r\n };\r\n updateVendorType.push(approvedVendor);\r\n active = 1;\r\n }\r\n })\r\n if (active == 1) {\r\n this.vendorFinalizationService.updateVendorType(updateVendorType)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n if (resdata.data[0].status == 'true') {\r\n this.toastr.success(resdata.data[0].msg);\r\n this.loader = 'none';\r\n this.vendorFinalizationDetails();\r\n this.filter();\r\n } else {\r\n this.toastr.error('Please save vendor details before finalize');\r\n this.loader = 'none';\r\n }\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n else {\r\n this.toastr.error('Requirement not selected');\r\n this.loader = 'none';\r\n }\r\n }\r\n\r\n filesAdd(files: File[]) {\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 if (fileType != 'xls' && fileType != 'xlsx') {\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\r\n this.loader = 'block';\r\n this.vendorFinalizationService.uploadVendorFinalization(this.files[0])\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n if (resData.data[0].status == 'true') {\r\n this.toastr.success(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.vendorFinalizationDetails();\r\n this.filter();\r\n this.input.nativeElement.value = null;\r\n } else {\r\n this.toastr.error(resData.data[0].msg);\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n this.vendorFinalizationDetails();\r\n this.filter();\r\n }\r\n }\r\n else {\r\n this.toastr.error('Some problem occurred, please try again later.');\r\n this.loader = 'none';\r\n this.input.nativeElement.value = null;\r\n }\r\n this.files = [];\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 onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n \r\n if(selectedyear != this.vendorFilters.rollingYears[0].currentrequirementYear)\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className += \"hideuploadExcel\";\r\n }\r\n else\r\n {\r\n document.getElementById(\"ancUploadExcel\").classList.remove(\"hideuploadExcel\");\r\n }\r\n }\r\n\r\n filter() {\r\n let customRmh: any[] = this.selectedRMHName;\r\n let customBrand: any[] = this.selectedBrand;\r\n let customJob: any[] = this.selectedJobType;\r\n let customCrop: any[] = this.selectedCrop;\r\n let customLanguage: any[] = this.selectedLanguage;\r\n let customJobNo: any[] = this.selectedJobNumber;\r\n let customState: any[] = this.selectedState;\r\n let customMonth: any[] = this.selectedMonth;\r\n let customVendor: any[] = this.selectedVendor;\r\n let customYear: any[] = this.year.selectedItems;\r\n let filteredRmh = [];\r\n let filteredBrand = [];\r\n let filteredCrop = [];\r\n let filteredJob = [];\r\n let filteredLanguage = [];\r\n let filteredWH = [];\r\n let filteredState = [];\r\n let filteredMonth = [];\r\n let filteredVendor = [];\r\n let filteredVendorDetail: VendorFinalizationDetails[] = this.mainVendorDetails;\r\n let resultDetail: VendorFinalizationDetails[] = [];\r\n let resultId = [];\r\n let splitString: any[] = [];\r\n let filter: boolean = false;\r\n if (customRmh != undefined && customRmh.length > 0) {\r\n customRmh.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.rmhId == element.rMHCode) {\r\n filteredRmh.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n resultId = filteredRmh;\r\n filter = true;\r\n }\r\n if (customBrand != undefined && customBrand.length > 0) {\r\n customBrand.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.brand == element.brandName) {\r\n filteredBrand.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredBrand.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredBrand;\r\n }\r\n filter = true;\r\n }\r\n if (customYear != undefined && customYear.length > 0) {\r\n customYear.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.year == element.id) {\r\n filteredBrand.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredBrand.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredBrand;\r\n }\r\n filter = true;\r\n }\r\n if (customCrop != undefined && customCrop.length > 0) {\r\n customCrop.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.crop == element.cropName) {\r\n filteredCrop.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredCrop.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredCrop;\r\n }\r\n filter = true;\r\n }\r\n if (customJob != undefined && customJob.length > 0) {\r\n customJob.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.jobType == element.jobTypeName) {\r\n filteredJob.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredJob.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredJob;\r\n }\r\n filter = true;\r\n }\r\n if (customLanguage != undefined && customLanguage.length > 0) {\r\n customLanguage.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.language == element.languageName) {\r\n filteredLanguage.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredLanguage.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredLanguage;\r\n }\r\n filter = true;\r\n }\r\n if (customJobNo != undefined && customJobNo.length > 0) {\r\n customJobNo.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.jobNumber == element.jobNumberName) {\r\n filteredWH.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredWH.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredWH;\r\n }\r\n filter = true;\r\n }\r\n if (customVendor != undefined && customVendor.length > 0) {\r\n customVendor.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.vendorType != null && detail.vendorType.split(',').length > 1) {\r\n detail.vendorType.split(',').map(elements => {\r\n if (elements == element.vendorType) {\r\n filteredVendor.push(detail.jobNumber);\r\n }\r\n });\r\n }\r\n else {\r\n if (detail.vendorType == element.vendorType) {\r\n filteredVendor.push(detail.jobNumber);\r\n }\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredVendor.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredVendor;\r\n }\r\n filter = true;\r\n }\r\n if (customState != undefined && customState.length > 0) {\r\n customState.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.state == element.stateName) {\r\n filteredState.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredState.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredState;\r\n }\r\n filter = true;\r\n }\r\n if (customMonth != undefined && customMonth.length > 0) {\r\n customMonth.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n splitString = detail.requirementMonth.split(\"'\");\r\n if (splitString[0] == element.item_text) {\r\n filteredMonth.push(detail.jobNumber);\r\n }\r\n })\r\n });\r\n if (filter == true) {\r\n if (resultId.length > 0) {\r\n resultId = resultId.filter(x => filteredMonth.includes(x))\r\n }\r\n }\r\n else {\r\n resultId = filteredMonth;\r\n }\r\n filter = true;\r\n }\r\n if (filter == true) {\r\n resultId.forEach(element => {\r\n filteredVendorDetail.forEach(detail => {\r\n if (detail.jobNumber == element) {\r\n resultDetail.push(detail);\r\n }\r\n })\r\n })\r\n this.vendorDetails = resultDetail;\r\n }\r\n else {\r\n this.vendorDetails = this.mainVendorDetails;\r\n }\r\n this.sortDirection = '';\r\n }\r\n onItemSelect() {\r\n\r\n }\r\n onSelectAll() {\r\n\r\n }\r\n\r\n onItemSelectJob() {\r\n let jobNo = this.selectedJobNumber;\r\n let customBrand = [];\r\n let customRmh = [];\r\n let customCrop = [];\r\n let customJob = [];\r\n let customLanguage = [];\r\n let customMonth = [];\r\n let customState = [];\r\n let customJobNo = [];\r\n let customVendor = [];\r\n this.vendorFilters.jobNumbers.forEach(x => {\r\n jobNo.forEach(element => {\r\n if (element.jobNumberName == x.jobNumberName) {\r\n customJobNo.push(x);\r\n }\r\n });\r\n })\r\n let active: boolean = true;\r\n this.vendorFilters.brands.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.brandID == element.brandID.trim()) {\r\n if (customBrand.length == 0) {\r\n customBrand.push(x);\r\n }\r\n else {\r\n customBrand.forEach(y => {\r\n if (y.brandID == x.brandID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customBrand.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.vendorTypeDetail.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.vendorTypeID == element.vendorID) {\r\n if (customVendor.length == 0) {\r\n customVendor.push(x);\r\n }\r\n else {\r\n customVendor.forEach(y => {\r\n if (y.vendorTypeID == x.vendorTypeID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customVendor.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.states.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.stateName == element.stateName) {\r\n if (customState.length == 0) {\r\n customState.push(x);\r\n }\r\n else {\r\n customState.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customState.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.crops.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.cropID == element.cropID) {\r\n if (customCrop.length == 0) {\r\n customCrop.push(x);\r\n }\r\n else {\r\n customCrop.forEach(y => {\r\n if (y.cropID == x.cropID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customCrop.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.jobTypes.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.jobTypeID == element.jobTypeID) {\r\n if (customJob.length == 0) {\r\n customJob.push(x);\r\n }\r\n else {\r\n customJob.forEach(y => {\r\n if (y.jobTypeID == x.jobTypeID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customJob.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.languages.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.languageID == element.languageID) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.languageID == x.languageID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.rmhs.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.rMHCode == element.rMHCode) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.dropdownList.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.item_id == element.month) {\r\n if (customMonth.length == 0) {\r\n customMonth.push(x);\r\n }\r\n else {\r\n customMonth.forEach(y => {\r\n if (y.item_id == x.item_id) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customMonth.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.selectedJobType = customJob;\r\n this.selectedLanguage = customLanguage;\r\n this.selectedMonth = customMonth;\r\n this.selectedRMHName = customRmh;\r\n this.selectedState = customState;\r\n this.selectedCrop = customCrop;\r\n this.selectedBrand = customBrand;\r\n this.selectedVendor = customVendor;\r\n }\r\n\r\n onItemSelectState() {\r\n let customState: any[] = this.selectedState;\r\n let customRmh = [];\r\n let finalRMH = [];\r\n let customLanguage = [];\r\n let finalLanguage = [];\r\n let active: boolean = true;\r\n this.vendorFilters.maMapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.stateName == detail.stateName) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.vendorFilters.rmhs.forEach(x => {\r\n customRmh.forEach(detail => {\r\n if (x.rMHCode == detail.rMHCode) {\r\n if (finalRMH.length == 0) {\r\n finalRMH.push(x);\r\n }\r\n else {\r\n finalRMH.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalRMH.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.vendorFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.state == x.state) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.vendorFilters.languages.forEach(x => {\r\n customLanguage.forEach(detail => {\r\n if (x.languageName == detail.languageName) {\r\n if (finalLanguage.length == 0) {\r\n finalLanguage.push(x);\r\n }\r\n else {\r\n finalLanguage.forEach(y => {\r\n if (y.languageName == x.languageName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedRMHName = finalRMH;\r\n this.selectedLanguage = finalLanguage;\r\n }\r\n\r\n onStateDeSelect() {\r\n this.onItemSelectState()\r\n }\r\n\r\n onJobDeSelect() {\r\n this.onItemSelectJob()\r\n }\r\n onItemSelectAllJob() {\r\n let customBrand = [];\r\n let customRmh = [];\r\n let customCrop = [];\r\n let customJob = [];\r\n let customLanguage = [];\r\n let customMonth = [];\r\n let customState = [];\r\n let customJobNo = [];\r\n let customVendor = [];\r\n this.vendorFilters.jobNumbers.forEach(x => {\r\n customJobNo.push(x);\r\n })\r\n let active: boolean = true;\r\n this.vendorFilters.brands.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.brandID == element.brandID) {\r\n if (customBrand.length == 0) {\r\n customBrand.push(x);\r\n }\r\n else {\r\n customBrand.forEach(y => {\r\n if (y.brandID == x.brandID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customBrand.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.vendorTypeDetail.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.vendorTypeID == element.vendorID) {\r\n if (customVendor.length == 0) {\r\n customVendor.push(x);\r\n }\r\n else {\r\n customVendor.forEach(y => {\r\n if (y.vendorTypeID == x.vendorTypeID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customVendor.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.states.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.stateName == element.stateName) {\r\n if (customState.length == 0) {\r\n customState.push(x);\r\n }\r\n else {\r\n customState.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customState.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.crops.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.cropID == element.cropID) {\r\n if (customCrop.length == 0) {\r\n customCrop.push(x);\r\n }\r\n else {\r\n customCrop.forEach(y => {\r\n if (y.cropID == x.cropID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customCrop.push(x);\r\n }\r\n active = true;\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.jobTypes.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.jobTypeID == element.jobTypeID) {\r\n if (customJob.length == 0) {\r\n customJob.push(x);\r\n }\r\n else {\r\n customJob.forEach(y => {\r\n if (y.jobTypeID == x.jobTypeID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customJob.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.languages.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.languageID == element.languageID) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.languageID == x.languageID) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.vendorFilters.rmhs.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.rMHCode == element.rMHCode) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.dropdownList.forEach(x => {\r\n customJobNo.forEach(element => {\r\n if (x.item_id == element.month) {\r\n if (customMonth.length == 0) {\r\n customMonth.push(x);\r\n }\r\n else {\r\n customMonth.forEach(y => {\r\n if (y.item_id == x.item_id) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customMonth.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n });\r\n })\r\n this.selectedJobType = customJob;\r\n this.selectedLanguage = customLanguage;\r\n this.selectedMonth = customMonth;\r\n this.selectedRMHName = customRmh;\r\n this.selectedState = customState;\r\n this.selectedCrop = customCrop;\r\n this.selectedBrand = customBrand;\r\n this.selectedVendor = customVendor;\r\n }\r\n onJobAllDeSelect() {\r\n this.selectedJobType = [];\r\n this.selectedLanguage = [];\r\n this.selectedMonth = [];\r\n this.selectedRMHName = [];\r\n this.selectedState = [];\r\n this.selectedCrop = [];\r\n this.selectedBrand = [];\r\n this.selectedVendor = [];\r\n }\r\n onItemSelectAllState() {\r\n let customRmh = [];\r\n let finalRMH = [];\r\n let customLanguage = [];\r\n let finalLanguage = [];\r\n let customState = [];\r\n this.vendorFilters.states.forEach(x => {\r\n customState.push(x);\r\n })\r\n let active: boolean = true;\r\n this.vendorFilters.maMapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.stateName == detail.stateName) {\r\n if (customRmh.length == 0) {\r\n customRmh.push(x);\r\n }\r\n else {\r\n customRmh.forEach(y => {\r\n if (y.stateName == x.stateName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customRmh.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.vendorFilters.rmhs.forEach(x => {\r\n customRmh.forEach(detail => {\r\n if (x.rMHCode == detail.rMHCode) {\r\n if (finalRMH.length == 0) {\r\n finalRMH.push(x);\r\n }\r\n else {\r\n finalRMH.forEach(y => {\r\n if (y.rMHCode == x.rMHCode) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalRMH.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.vendorFilters.mapping.forEach(x => {\r\n customState.forEach(detail => {\r\n if (x.state == detail.stateName) {\r\n if (customLanguage.length == 0) {\r\n customLanguage.push(x);\r\n }\r\n else {\r\n customLanguage.forEach(y => {\r\n if (y.state == x.state) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n customLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.vendorFilters.languages.forEach(x => {\r\n customLanguage.forEach(detail => {\r\n if (x.languageName == detail.languageName) {\r\n if (finalLanguage.length == 0) {\r\n finalLanguage.push(x);\r\n }\r\n else {\r\n finalLanguage.forEach(y => {\r\n if (y.languageName == x.languageName) {\r\n active = false;\r\n }\r\n })\r\n if (active == true) {\r\n finalLanguage.push(x);\r\n }\r\n active = true\r\n }\r\n }\r\n })\r\n })\r\n this.selectedRMHName = finalRMH;\r\n this.selectedLanguage = finalLanguage;\r\n }\r\n onStateAllDeSelect() {\r\n this.selectedRMHName = [];\r\n this.selectedLanguage = [];\r\n }\r\n sort() {\r\n let sortedArray: VendorFinalizationDetails[] = [];\r\n let splitString: any[] = [];\r\n if (this.ascNumberSort == true) {\r\n this.dropdownList.forEach(x => {\r\n this.vendorDetails.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = false;\r\n this.sortDirection = 'asc';\r\n this.vendorDetails = sortedArray;\r\n }\r\n else {\r\n this.dropdownList.forEach(x => {\r\n this.vendorDetails.forEach(element => {\r\n splitString = element.requirementMonth.split(\"'\");\r\n if (x.item_text == splitString[0]) {\r\n sortedArray.push(element);\r\n }\r\n })\r\n })\r\n this.ascNumberSort = true;\r\n this.sortDirection = 'desc';\r\n this.vendorDetails = sortedArray.reverse();\r\n }\r\n }\r\n\r\n selectAll() {\r\n if (this.selected == 0) {\r\n this.vendorDetails.forEach(element => {\r\n if (element.orderStatus == \"Vendor Finalization Pending\") {\r\n element.isActive = true;\r\n }\r\n })\r\n }\r\n else {\r\n this.vendorDetails.forEach(element => {\r\n if (element.orderStatus == \"Vendor Finalization Pending\") {\r\n element.isActive = false;\r\n }\r\n })\r\n }\r\n }\r\n\r\n check(index: any) {\r\n if (this.roleID == '51') {\r\n if (this.vendorDetails[index].orderStatus == \"Vendor Finalization Pending\") {\r\n return 'false'\r\n }\r\n else {\r\n return 'true'\r\n }\r\n }\r\n }\r\n\r\n updateIsactive(index: any) {\r\n let selectedIDCustom = this.vendorDetails[index].jobNumber;\r\n let selectedIsActive = this.vendorDetails[index].isActive;\r\n this.mainVendorDetails.forEach(function (detail) {\r\n if (detail.jobNumber == selectedIDCustom) {\r\n detail.isActive = selectedIsActive;\r\n }\r\n })\r\n }\r\n\r\n DisplayvendorAssignment(index: any) {\r\n this.displayVendorAssignment = 'block'; \r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n this.displayViewAssesment = 'block';\r\n this.VendorFinalizationpopUp = [];\r\n this.VendorJobNumber = this.vendorDetails[index].jobNumber;\r\n this.IsValidForDelete = 'block';\r\n this.Vendordetails(0, this.VendorJobNumber, 0, '', 0, 0, 'SELECT');\r\n }\r\n viewvendorAssignment(index: any) {\r\n this.VendorFinalizationpopUp = []; \r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. add('overlay-back');\r\n this.displayVendorAssignment = 'block';\r\n this.VendorJobNumber = this.vendorDetails[index].jobNumber;\r\n this.IsValidForDelete = 'none';\r\n this.displayViewAssesment = 'none';\r\n this.Vendordetails(0, this.VendorJobNumber, 0, '', 0, 0, 'SELECT');\r\n }\r\n closePanel() {\r\n this.displayVendorAssignment = 'none';\r\n this.VendorFinalizationpopUp = []; \r\n this.IsSave='block';\r\n this.IsEdit='none';\r\n this.vendorType='';\r\n const body = document. getElementsByTagName('body')[0];\r\n body. classList. remove('overlay-back');\r\n }\r\n Savevendor() {\r\n let vendorName = this.vendorTypeDetail.find(m => m.vendorTypeID == this.vendorType).vendorType;\r\n this.vendorFinalizationService.updateVendorTypeDetails(0, this.VendorJobNumber, this.vendorType, vendorName, 3, 1, 'INSERT')\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.vendorGridTypeDetail = resData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\nEditVendor(index: number)\r\n{\r\nthis.vendorType=this.vendorTypeDetail.find(m => m.vendorType == this.vendorGridTypeDetail[index].vendorName).vendorTypeID;\r\nthis.IsSave='none';\r\nthis.IsEdit='block';\r\nthis.editIndex=index;\r\n}\r\n\r\n UpdateVendor() {\r\n this.Vendordetails(this.vendorGridTypeDetail[this.editIndex].id, this.vendorGridTypeDetail[this.editIndex].jobNumber, this.vendorTypeDetail.find(m => m.vendorTypeID==this.vendorType).vendorTypeID, this.vendorTypeDetail.find(m => m.vendorTypeID==this.vendorType).vendorType, 3, 1, 'UPDATE');\r\n this.IsSave='block';\r\n this.IsEdit='none';\r\n }\r\n Vendordetails(ID: number, jobNumber: string, vendorType: number, vendorName: string, currentStatus: number, isActive: number, action: string) {\r\n this.vendorFinalizationService.updateVendorTypeDetails(ID, jobNumber, vendorType, vendorName, currentStatus, isActive, action)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.vendorGridTypeDetail = resData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n","module.exports = \"\\r\\nbutton[disabled=disabled], button:disabled \\r\\n{\\r\\n background: #dc8f7f;\\r\\n}\\r\\n.right-number{\\r\\n text-align: right;\\r\\n width: 2%;\\r\\n}\"","module.exports = \"
\\r\\n

Material Received by WH (Stock In)

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n

    {{timeline.processName}} Due Date {{timeline.dueDate}}

    \\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
Job NumberPO NumberPO DateRequirement TypeJob TypeBrandCropLanguageApproved QuantityApproved PO QuantityRemaining Stock In QTYEstimated Delivery to WarehouseQuarterAgencyWarehouseStateRMH NameVendor NameBrand ManagerCN NumberStock In DateStock In QtyDocket NumberInvoice NumberInvoice DateInvoice ValuePayment DateRemarks By MMSStatusEdit
{{warehouseDetail.jobNumber}}{{warehouseDetail.poNumber}}{{warehouseDetail.poIssuedDate}}{{warehouseDetail.requirementType}}{{warehouseDetail.jobType}}{{warehouseDetail.brand}}{{warehouseDetail.crop}}{{warehouseDetail.language}}{{ConvertToCurrency(warehouseDetail.quantity)}}{{ConvertToCurrency(warehouseDetail.approvedPoQuantity)}}{{ConvertToCurrency(warehouseDetail.remainingQuantity)}}{{warehouseDetail.estimatedDelivery}}{{warehouseDetail.quarter}}{{warehouseDetail.agency}}{{warehouseDetail.warehouse}}{{warehouseDetail.state}}{{warehouseDetail.rmhName}}{{warehouseDetail.vendor}}{{warehouseDetail.brandManager}}{{warehouseDetail.cnNumber}}{{warehouseDetail.stockInDate}}{{ConvertToCurrency(warehouseDetail.stockInQtyDone)}}{{warehouseDetail.docketNo}}{{warehouseDetail.invoiceNo}}{{warehouseDetail.invoiceDate}}{{warehouseDetail.invoiceValue}}{{warehouseDetail.paymentDate}}{{warehouseDetail.remarks}}{{warehouseDetail.status}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Job Number:\\r\\n {{jobNumberr}}\\r\\n
\\r\\n
\\r\\n PO Number:\\r\\n {{poNumber}}\\r\\n
\\r\\n
\\r\\n RMH Name:\\r\\n {{rmhName}}\\r\\n
\\r\\n
\\r\\n Approved Quantity:\\r\\n {{approvedqty}}\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n CN Number:\\r\\n {{CNNNumber}}\\r\\n\\r\\n
\\r\\n
\\r\\n Logistics:\\r\\n {{Logistics}}\\r\\n
\\r\\n
\\r\\n Docket Number:\\r\\n {{DocketNumber}}\\r\\n
\\r\\n
\\r\\n Invoice Number:\\r\\n {{InvoiceNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Invoice Date:\\r\\n {{InvoiceDate}}\\r\\n
\\r\\n
\\r\\n Invoice Value: \\r\\n {{InvoiceValue}}\\r\\n
\\r\\n
\\r\\n Payment Date: \\r\\n {{PaymentDate}}\\r\\n \\r\\n
\\r\\n
\\r\\n Remarks by MMS:\\r\\n {{Remarks}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Number of Boxes:\\r\\n {{NumberofBoxes}}\\r\\n
\\r\\n
\\r\\n PO Approved Quantity:\\r\\n {{POApprovedQty}}\\r\\n
\\r\\n
\\r\\n Remaining Quantity:\\r\\n {{BalQty}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Remarks By MA:\\r\\n \\r\\n
\\r\\n
\\r\\n Stock In Date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Stock In Quantity *\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{errorMessage}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { SessionService } from '../../Services/session.service';\r\nimport { EncryptionDecryptionService } from 'src/app/Services/encryption-decryption/encryption-decryption.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { saveAs } from 'file-saver';\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material\";\r\nimport { WHStockInService } from 'src/app/Services/whstock-in/whstockin.service';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { PagerService } from 'src/app/Services/pager.service';\r\nimport { IDropdownSettings, NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { element } from 'protractor';\r\nimport { WHSTockInDetails, Documents, DropDownResponse } from 'src/app/Models/WHStockIn/whstockin';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n\r\n@Component({\r\n selector: 'app-whstock-in',\r\n templateUrl: './whstock-in.component.html',\r\n styleUrls: ['./whstock-in.component.css'],\r\n providers: [PagerService, DatePipe]\r\n})\r\nexport class WHStockInComponent implements OnInit {\r\n @ViewChild('jobnumber') jobnumber;\r\n @ViewChild('brand') brand;\r\n @ViewChild('crop') crop;\r\n @ViewChild('jobtype') jobtype;\r\n @ViewChild('language') language;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('requirementType') requirementType;\r\n @ViewChild('status') status;\r\n @ViewChild('po') po;\r\n @ViewChild('year') year;\r\n userName: string;\r\n roleCode: string;\r\n userID: string;\r\n roleID: string;\r\n CNNNumber: any;\r\n StockInDate: any;\r\n StockInQuantity: any;\r\n NumberofBoxes: any;\r\n Logistics: any;\r\n DocketNumber: any;\r\n InvoiceNumber: any;\r\n InvoiceDate: any;\r\n InvoiceValue: any;\r\n PaymentDate: any;\r\n Remarks: any;\r\n WHRemarks: any;\r\n POApprovedQty: any;\r\n selectedJobNumber: any = '';\r\n selectedRMHName: any = '';\r\n selectedJobType: any = '';\r\n selectedBrand: any = '';\r\n selectedCrop: any = '';\r\n selectedLanguage: any = '';\r\n selectedStatus: any = '';\r\n selectedPO: any = '';\r\n selectedRequirementType: any = '';\r\n details: WHSTockInDetails[] = [];\r\n\r\n displayToDoList: string = 'none';\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n displayPONumber: string = 'none';\r\n loader: string = 'none';\r\n path: string;\r\n displayPO: string = 'none';\r\n jobNumberr: any;\r\n poNumber: any;\r\n rmhName: string;\r\n approvedqty: any;\r\n files: File[] = [];\r\n rmhID: string;\r\n requirementSubmitted: number = 1;\r\n requirementApproved: number = 1;\r\n vendorFinalized: number = 0;\r\n poIssued: number = 0;\r\n artworkProductionApproved: number = 0;\r\n materialDispatch: number = 0;\r\n poDetails: any;\r\n processTimelineDetail: any;\r\n IsFileCorrect: boolean;\r\n pageSetting: number = 10;\r\n pager: any = {};\r\n model: any[];\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n RemainingQty:number;\r\n BalQty:number;\r\n Name: string;\r\n today:any;\r\n maxdate:any;\r\n IsSubmitDisable:boolean;\r\n IsSaveDisable:boolean;\r\n displayEditPanel: string = 'none';\r\n Date = new Date();\r\n public JobNumberSettings = {};\r\n public BrandSettings = {};\r\n public CropSettings = {};\r\n public JobTypeSettings = {};\r\n public LanguageSettings = {};\r\n public RMHSettings = {};\r\n public RequirementTypeSettings = {};\r\n public StatusSettings = {};\r\n public POSettings = {};\r\n yearSettings: IDropdownSettings={};\r\n document: Documents = new Documents();\r\n ascNumberSort: boolean = true;\r\n CurrentDate: string;\r\n sortDirection: string = '';\r\n @ViewChild('file') input;\r\n dropdownList = [\r\n { item_id: '1', item_text: 'Jan' },\r\n { item_id: '2', item_text: 'Feb' },\r\n { item_id: '3', item_text: 'Mar' },\r\n { item_id: '4', item_text: 'Apr' },\r\n { item_id: '5', item_text: 'May' },\r\n { item_id: '6', item_text: 'Jun' },\r\n { item_id: '7', item_text: 'Jul' },\r\n { item_id: '8', item_text: 'Aug' },\r\n { item_id: '9', item_text: 'Sep' },\r\n { item_id: '10', item_text: 'Oct' },\r\n { item_id: '11', item_text: 'Nov' },\r\n { item_id: '12', item_text: 'Dec' }\r\n\r\n ];\r\n\r\n constructor(private session: SessionService,\r\n private encryptionDecryptionService: EncryptionDecryptionService,\r\n private router: Router, private activatedRoute: ActivatedRoute,\r\n private dialog: MatDialog, private wHStockInService: WHStockInService,\r\n private snackBar: MatSnackBarComponent, private _pagerService: PagerService,\r\n private datePipe: DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n this.CurrentDate = this.datePipe.transform(this.Date, 'MM/dd/yyyy');\r\n this.Name = localStorage.getItem('mcmt_userName');\r\n }\r\n ngOnInit(): void {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getFiltersOnPageLoad();\r\n this.JobNumberSetting();\r\n this.BrandSetting();\r\n this.CropSetting();\r\n this.LanguageSetting();\r\n this.StatusSetting();\r\n this.JobTypeSetting();\r\n this.RMHSetting();\r\n this.RequirementTypeSetting();\r\n this.POSetting();\r\n this.YearSettings();\r\n \r\n //this.today=new Date();\r\n //this.getsaveSubmitStatus();\r\n this.IsSubmitDisable=true;\r\n this.IsSaveDisable=true;\r\n\r\n \r\n }\r\n filter() {\r\n this.getDetailsOnFilter();\r\n }\r\n getsaveSubmitStatus() { \r\n this.wHStockInService.getSaveSubmitStatus()\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == 'IsSubmitSave') {\r\n this.IsSubmitDisable=true;\r\n this.IsSaveDisable=true;\r\n }\r\n else if(resdata.status == 'IsSubmit'){\r\n this.IsSubmitDisable=false;\r\n this.IsSaveDisable=true;\r\n }\r\n else if(resdata.status == 'IsSave'){\r\n this.IsSubmitDisable=true;\r\n this.IsSaveDisable=false;\r\n }\r\n })\r\n }\r\n getDetailsOnPageLoad() {\r\n let selectedYear = '';\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getWarehouseStockInDetails('', '', '', '', '', '', '', '', '',selectedYear)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n this.details = resdata.data.warehouseStockInDetail;\r\n console.log(this.details);\r\n this.model = resdata.data.detail;\r\n //this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n getDetailsOnFilter() {\r\n let SelectedJobnumber = '';\r\n let SelectedRMH = '';\r\n let SelectedBrand = '';\r\n let SelectedCrop = '';\r\n let SelectedJobtype = '';\r\n let SelectedLanguage = '';\r\n let SelectedRequirementType = '';\r\n let SelectedStatus = '';\r\n let SelectedPO = '';\r\n let selectedYear = '';\r\n SelectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedRMH = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedPO = Array.prototype.map.call(this.po.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedLanguage = Array.prototype.map.call(this.language.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedRequirementType = Array.prototype.map.call(this.requirementType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getWarehouseStockInDetails(SelectedJobnumber, SelectedRMH, SelectedJobtype,\r\n SelectedBrand, SelectedCrop, SelectedRequirementType, SelectedLanguage,\r\n SelectedStatus, SelectedPO,selectedYear)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n this.details = resdata.data.warehouseStockInDetail;\r\n this.model = resdata.data.detail;\r\n //this.setPage(1, this.pageSetting)\r\n //this.getsaveSubmitStatus();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n viewPanel(JobNumber:any,POnumber: any) {\r\n let selectedYear = '';\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getWarehouseStockInDetails(JobNumber,'', '', '', '', '', '', '', POnumber,selectedYear)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n // this.details = resdata.data.warehouseStockInDetail;\r\n this.jobNumberr = resdata.data.warehouseStockInDetail[0].jobNumber;\r\n this.poNumber = resdata.data.warehouseStockInDetail[0].poNumber;\r\n this.rmhName = resdata.data.warehouseStockInDetail[0].rmhName;\r\n this.approvedqty = resdata.data.warehouseStockInDetail[0].quantity;\r\n this.CNNNumber=resdata.data.warehouseStockInDetail[0].cnNumber;\r\n this.StockInDate=new Date(resdata.data.warehouseStockInDetail[0].stockInDate);\r\n //this.StockInDate=resdata.data.warehouseStockInDetail[0].stockInDate;\r\n this.StockInQuantity=resdata.data.warehouseStockInDetail[0].stockInQty;\r\n this.NumberofBoxes=resdata.data.warehouseStockInDetail[0].noOfBoxes;\r\n this.Logistics=resdata.data.warehouseStockInDetail[0].logistics;\r\n this.DocketNumber=resdata.data.warehouseStockInDetail[0].docketNo;\r\n this.InvoiceNumber=resdata.data.warehouseStockInDetail[0].invoiceNo;\r\n this.InvoiceDate=resdata.data.warehouseStockInDetail[0].invoiceDate;\r\n this.InvoiceValue=resdata.data.warehouseStockInDetail[0].invoiceValue;\r\n this.PaymentDate=resdata.data.warehouseStockInDetail[0].paymentDate;\r\n this.Remarks=resdata.data.warehouseStockInDetail[0].remarks;\r\n this.WHRemarks=resdata.data.warehouseStockInDetail[0].whRemarks;\r\n this.POApprovedQty=resdata.data.warehouseStockInDetail[0].poApprovedQty;\r\n this.RemainingQty=this.approvedqty.replaceAll(',', '')-this.POApprovedQty.replaceAll(',','')\r\n \r\n if(Number(this.POApprovedQty)==Number(this.StockInQuantity))\r\n {\r\n this.BalQty=this.StockInQuantity.replaceAll(',','')\r\n }\r\n if(this.BalQty==0)\r\n {\r\n this.BalQty=this.POApprovedQty.replaceAll(',', '')-this.StockInQuantity.replaceAll(',','')\r\n }\r\n else\r\n {\r\n this.BalQty= this.StockInQuantity\r\n }\r\n if(resdata.data.warehouseStockInDetail[0].stockInDate==\"\" || resdata.data.warehouseStockInDetail[0].stockInDate==null)\r\n {\r\n // this.StockInDate =this.datePipe.transform(new Date(),\"dd-MM-yyyy\");\r\n this.StockInDate =new Date();\r\n }\r\n this.displayEditPanel = 'block';\r\n // this.getsaveSubmitStatus();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n closeEditPanel() {\r\n this.displayEditPanel = 'none';\r\n let SelectedStatus;\r\n SelectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let SelectedYear;\r\n SelectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getWarehouseStockInDetails('', '', '',\r\n '', '', '', '','', '',SelectedYear)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n this.details = resdata.data.warehouseStockInDetail;\r\n this.model = resdata.data.detail;\r\n //this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n })\r\n // this.TotalRemainingQuantity = 0;\r\n // this.popTotalremainingqty = 0;\r\n // this.materialAllocation = [];\r\n // this.applySearchFilter();\r\n }\r\n ChangeRequest(Type:number)\r\n {\r\n \r\n this.wHStockInService.changeRequest(Type)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n this.toastr.success(resdata.message);\r\n this.getDetailsOnPageLoad();\r\n //this.getsaveSubmitStatus();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n \r\n }\r\n DraftSave(Type:number) {\r\n if(this.StockInDate.length==0)\r\n {\r\n this.toastr.error('Please Enter Stock In Date');\r\n return false;\r\n }\r\n if(this.StockInQuantity.length==0)\r\n {\r\n this.toastr.error('Please Enter Stock In Quantity');\r\n return false;\r\n }\r\n if(this.StockInQuantity==null ||this.StockInQuantity==\"0\")\r\n {\r\n this.toastr.error('Stock In Quantity cannot be 0');\r\n return false;\r\n }\r\n if(this.BalQty==0)\r\n {\r\n if(Number(this.StockInQuantity)>Number(this.POApprovedQty))\r\n this.toastr.error('Stock In Quantity cannot be greater than PO Approved Qty. ');\r\n return false;\r\n \r\n }\r\n else{\r\n if(Number(this.StockInQuantity)>this.BalQty)\r\n {\r\n this.toastr.error('Stock In Quantity cannot be greater than Remaining Quantity ');\r\n return false;\r\n }\r\n }\r\n \r\n let ConvertedStockInDate=this.datePipe.transform(this.StockInDate, 'dd-MMM-yyyy');\r\n this.wHStockInService.saveAsDraftStockInDetails(this.jobNumberr,this.StockInQuantity.replaceAll(',', ''),this.poNumber,ConvertedStockInDate,this.WHRemarks,Type)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n if(resdata.message==\"Please Complete PO Update first.PO not done for complete Final Quantity.\")\r\n {\r\n this.toastr.error(resdata.message);\r\n }\r\n else{\r\n this.toastr.success(resdata.message);\r\n }\r\n \r\n this.displayEditPanel = 'none';\r\n this.getDetailsOnFilter();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n getFiltersOnPageLoad() {\r\n this.loader = 'block';\r\n this.wHStockInService.getFilters()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n //this.dashboardFilters = resData.data as DashboardFilters;\r\n this.ddlResponse = resData.data;\r\n //this.ddlResponse.brands=resData.data;\r\n class YearItemList{\r\n id: string;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : this.ddlResponse.currentRequirementYear[0].currentrequirementYear,\r\n text: this.ddlResponse.currentRequirementYear[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem;\r\n this.getDetailsOnPageLoad();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n\r\n onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n \r\n if(selectedyear != this.ddlResponse.currentRequirementYear[0].currentrequirementYear)\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className += \"hideuploadExcel\";\r\n }\r\n else\r\n {\r\n document.getElementById(\"ancUploadExcel\").classList.remove(\"hideuploadExcel\");\r\n }\r\n }\r\n\r\n ExcelDownload() {\r\n this.loader = 'block';\r\n let SelectedJobnumber = '';\r\n let SelectedRMH = '';\r\n let SelectedBrand = '';\r\n let SelectedCrop = '';\r\n let SelectedJobtype = '';\r\n let SelectedLanguage = '';\r\n let SelectedRequirementType = '';\r\n let SelectedStatus = '';\r\n let SelectedPO = '';\r\n let selectedYear = '';\r\n SelectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedRMH = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedPO = Array.prototype.map.call(this.po.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedLanguage = Array.prototype.map.call(this.language.selectedItems, function (item) { return item.id; }).join(\",\");\r\n SelectedRequirementType = Array.prototype.map.call(this.requirementType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.DownloadExcel(SelectedJobnumber, SelectedRMH, SelectedJobtype,\r\n SelectedBrand, SelectedCrop, SelectedRequirementType, SelectedLanguage,\r\n SelectedStatus, SelectedPO,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('mcmt_userName').split(' ');\r\n let Firstname = Name[0];\r\n let LastName = Name[1];\r\n let cYear = this.year.selectedItems[0].id;\r\n let ExcelName = Firstname + '_' + LastName + '_'+ cYear + '_MaterialRecievedbyWarehouse_' + latest_date + '.xlsx';\r\n saveAs(success, ExcelName);\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n }\r\n );\r\n }\r\n getJobnumberWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedJobnumber = '';\r\n selectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getdataonjobnumberselection(selectedJobnumber, '', '', '')\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.jobnumber.selectedItems = response.data.selectedjobnumber.map(item => { return { id: item.jobNumber, text: item.jobNumber } });\r\n this.brand.selectedItems = response.data.brands.map(item => { return { id: item.brandID, text: item.brandName } });\r\n this.crop.selectedItems = response.data.crops.map(item => { return { id: item.cropID, text: item.cropName } });\r\n this.jobtype.selectedItems = response.data.jobTypes.map(item => { return { id: item.jobTypeID, text: item.jobTypeName } });\r\n this.language.selectedItems = response.data.languages.map(item => { return { id: item.languageID, text: item.languageName } });\r\n this.rmh.selectedItems = response.data.rmhs.map(item => { return { id: item.rMHCode, text: item.rMHName } });\r\n this.po.selectedItems = response.data.po.map(item => { return { id: item.poNumber, text: item.poNumber } });\r\n this.requirementType.selectedItems = response.data.requirementTypes.map(item => { return { id: item.requirementTypeID, text: item.requirementTypeName } });\r\n //this.status.selectedItems = response.data.status.map(item => { return { id: item.requirementStatusID, text: item.requirementStatusName } });\r\n this.loader = 'none';\r\n\r\n }\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n getBrandWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedBrand = '';\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getdataonjobnumberselection('', '', selectedBrand, '')\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.brand.selectedItems = response.data.brands.map(item => { return { id: item.brandID, text: item.brandName } });\r\n this.crop.selectedItems = response.data.crops.map(item => { return { id: item.cropID, text: item.cropName } });\r\n this.jobtype.selectedItems = response.data.jobTypes.map(item => { return { id: item.jobTypeID, text: item.jobTypeName } });\r\n this.language.selectedItems = response.data.languages.map(item => { return { id: item.languageID, text: item.languageName } });\r\n this.loader = 'none';\r\n\r\n }\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n getPOWiseData(filter: any) {\r\n this.loader = 'block';\r\n let selectedPO = '';\r\n selectedPO = Array.prototype.map.call(this.po.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getdataonjobnumberselection('', '', '', selectedPO)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.jobnumber.selectedItems = response.data.selectedjobnumber.map(item => { return { id: item.jobNumber, text: item.jobNumber } });\r\n this.brand.selectedItems = response.data.brands.map(item => { return { id: item.brandID, text: item.brandName } });\r\n this.crop.selectedItems = response.data.crops.map(item => { return { id: item.cropID, text: item.cropName } });\r\n this.jobtype.selectedItems = response.data.jobTypes.map(item => { return { id: item.jobTypeID, text: item.jobTypeName } });\r\n this.language.selectedItems = response.data.languages.map(item => { return { id: item.languageID, text: item.languageName } });\r\n this.rmh.selectedItems = response.data.rmhs.map(item => { return { id: item.rMHCode, text: item.rMHName } });\r\n this.po.selectedItems = response.data.po.map(item => { return { id: item.poNumber, text: item.poNumber } });\r\n this.requirementType.selectedItems = response.data.requirementTypes.map(item => { return { id: item.requirementTypeID, text: item.requirementTypeName } });\r\n //this.status.selectedItems = response.data.status.map(item => { return { id: item.requirementStatusID, text: item.requirementStatusName } });\r\n this.loader = 'none';\r\n\r\n }\r\n\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n });\r\n }\r\n filesDroppedAdd(files: File[]) {\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 Name = localStorage.getItem('mcmt_userName').split(' ');\r\n // let Firstname = Name[0];\r\n // let LastName = Name[1];\r\n //let CorrectFileName = Firstname + '_' + LastName + '_MaterialRecievedbyWarehouse_'\r\n // let CorrectFileName = '_MaterialRecievedbyWarehouse_'\r\n // if (fileNameParts[1].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.toastr.error('Please select a valid file.', 'Close', 'red-snackbar');\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.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\r\n //this.loader = 'block';\r\n this.document.file = this.files[0];\r\n //this.document.UploadedBy = localStorage.getItem('userId');\r\n this.wHStockInService.uploadDocument(this.document.file)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n //this.loader = 'none';\r\n this.getDetailsOnPageLoad();\r\n //this.getsaveSubmitStatus() ;\r\n } else {\r\n this.toastr.error(resData.message);\r\n //this.loader = 'none';\r\n this.getDetailsOnPageLoad();\r\n //this.getsaveSubmitStatus() ;\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 JobNumberSetting() {\r\n this.JobNumberSettings = {\r\n singleSelection: false,\r\n idField: 'jobNumber',\r\n textField: 'jobNumber',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No jobNumbers Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n onJobNumberSelect(item: any) {\r\n this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n }\r\n onJobNumberSelectAll(item: any) {\r\n this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n }\r\n onJobNumberDeSelect(item: any) {\r\n this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n if (this.jobnumber.selectedItems.length == 0) {\r\n this.jobnumber.selectedItems = [];\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n this.rmh.selectedItems = [];\r\n this.po.selectedItems = [];\r\n this.requirementType.selectedItems = [];\r\n this.status.selectedItems = [];\r\n }\r\n }\r\n onJobNumberDeSelectAll(item: any) {\r\n let SelectedYear = '';\r\n SelectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getWarehouseStockInDetails('', '', '', '', '', '', '', '', '',SelectedYear)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n this.details = resdata.data.warehouseStockInDetail;\r\n this.model = resdata.data.detail;\r\n //this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n this.jobnumber.selectedItems = [];\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n this.rmh.selectedItems = [];\r\n this.po.selectedItems = [];\r\n this.requirementType.selectedItems = [];\r\n this.status.selectedItems = [];\r\n\r\n }\r\n onPOSelect(item: any) {\r\n this.getPOWiseData(this.po.selectedItems);\r\n\r\n }\r\n onPOSelectAll(item: any) {\r\n this.getPOWiseData(this.po.selectedItems);\r\n\r\n }\r\n onPODeSelect(item: any) {\r\n this.getPOWiseData(this.po.selectedItems);\r\n if (this.po.selectedItems.length == 0) {\r\n this.jobnumber.selectedItems = [];\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n this.rmh.selectedItems = [];\r\n this.po.selectedItems = [];\r\n this.requirementType.selectedItems = [];\r\n this.status.selectedItems = [];\r\n }\r\n }\r\n onPODeSelectAll(item: any) {\r\n let SelectedYear = '';\r\n SelectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.wHStockInService.getWarehouseStockInDetails('', '', '', '', '', '', '', '', '',SelectedYear)\r\n .subscribe((resdata: any) => {\r\n this.loader = 'block';\r\n if (resdata.status == true) {\r\n this.details = resdata.data.warehouseStockInDetail;\r\n this.model = resdata.data.detail;\r\n //this.setPage(1, this.pageSetting)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n this.jobnumber.selectedItems = [];\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n this.rmh.selectedItems = [];\r\n this.po.selectedItems = [];\r\n this.requirementType.selectedItems = [];\r\n this.status.selectedItems = [];\r\n }\r\n onRMHSelect(item: any) {\r\n\r\n // this.GetRMHWiseData(this.rmh.selectedItems);\r\n\r\n }\r\n onRMHSelectAll(item: any) {\r\n // this.GetRMHWiseData(this.rmh.selectedItems);\r\n\r\n }\r\n\r\n onRMHDeSelect(item: any) {\r\n //this.language.selectedItems = [];\r\n }\r\n onRMHDeSelectAll(item: any) {\r\n\r\n //this.language.selectedItems = [];\r\n }\r\n onbrandSelect(item: any) {\r\n this.getBrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandSelectAll(item: any) {\r\n this.getBrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandDeSelect(item: any) {\r\n if (this.brand.selectedItems.length < 1) {\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n }\r\n else\r\n this.getBrandWiseData(this.brand.selectedItems);\r\n }\r\n onbrandDeSelectAll(item: any) {\r\n this.brand.selectedItems = [];\r\n this.crop.selectedItems = [];\r\n this.jobtype.selectedItems = [];\r\n this.language.selectedItems = [];\r\n }\r\n BrandSetting() {\r\n this.BrandSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Brand Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n CropSetting() {\r\n this.CropSettings = {\r\n singleSelection: false,\r\n idField: 'cropID',\r\n textField: 'cropName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Crop Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n JobTypeSetting() {\r\n this.JobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No JobType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n LanguageSetting() {\r\n this.LanguageSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Language Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n RMHSetting() {\r\n this.RMHSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RMH Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n RequirementTypeSetting() {\r\n this.RequirementTypeSettings = {\r\n singleSelection: false,\r\n idField: 'requirementTypeID',\r\n textField: 'requirementTypeName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RequirementType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n YearSettings(){\r\n this.yearSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n POSetting() {\r\n this.POSettings = {\r\n singleSelection: false,\r\n idField: 'poNumber',\r\n textField: 'poNumber',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RequirementType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n StatusSetting() {\r\n this.StatusSettings = {\r\n singleSelection: false,\r\n idField: 'requirementStatusID',\r\n textField: 'requirementStatusName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Status Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n\r\n","module.exports = \".bold\\r\\n{\\r\\n font-weight: 900;\\r\\n}\"","module.exports = \"
\\r\\n

Address Management

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
User NameUser IDDesignationAddressCityStatePinCodeAction
{{detail.username}}{{detail.userid}}{{detail.designation}}{{detail.streetAddress}}{{detail.city}}{{detail.state}}{{detail.pincode}}
No Records Found
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n MIE/MIO/MDO User Name \\r\\n {{workaddress.username}}\\r\\n\\r\\n
\\r\\n
\\r\\n User ID
\\r\\n {{workaddress.userid}}\\r\\n
\\r\\n
\\r\\n Designation
\\r\\n {{workaddress.designation}}\\r\\n
\\r\\n
\\r\\n Address*\\r\\n \\r\\n
\\r\\n
\\r\\n City*\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Pin Code*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n State*\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { State, workerAddressDetails } from '../../Models/Admin/worker-address';\r\nimport { Documents } from '../../Models/Material-Dispatch/MaterialDispatch';\r\nimport { WorkerAddressService } from '../../Services/admin-rights/worker-address.service';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\nimport * as XLSX from \"xlsx\"\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-worker-address',\r\n templateUrl: './worker-address.component.html',\r\n styleUrls: ['./worker-address.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class WorkerAddressComponent implements OnInit {\r\n\r\n loader: string = 'none';\r\n userID: string;\r\n roleID: string;\r\n workerAddressDetail:workerAddressDetails[];\r\n workaddress:workerAddressDetails;\r\n workinitaddress:workerAddressDetails;\r\n state:State[];\r\n IsFileCorrect:boolean=false;\r\n files: File[] = [];\r\n document: Documents = new Documents();\r\n arrayBuffer: any;\r\n filelist: any;\r\n displayAddAddressPanel:string='none';\r\n popAddress:string;\r\n popCity:string\r\n popPinCode:number;\r\n accessdata:string='';// add by deepanshu 15 june 2023\r\n popState:string\r\n constructor(private workerAddressService: WorkerAddressService, private router: Router, private snackBar: MatSnackBarComponent,private datePipe:DatePipe,private toastr: ToastrService) {\r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getWorkerAddressDetails();\r\n this.getStateDropdown();\r\n this.workaddress=new workerAddressDetails;\r\n }\r\ngetStateDropdown()\r\n{\r\n this.workerAddressService.getworkerFilter().subscribe((resdata:any)=>{ if (resdata.status == true) {this.state=resdata.data;}})\r\n}\r\n getWorkerAddressDetails() {\r\n this.loader = 'block';\r\n this.workinitaddress=new workerAddressDetails;\r\n this.workinitaddress.loggedInUser=this.userID ;\r\n this.workinitaddress.action=\"SELECT\";\r\n this.workerAddressService.getWorkerDetail(this.workinitaddress)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.workerAddressDetail = resdata.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n viewEditAddressPanel(detail:any)\r\n {\r\n this.displayAddAddressPanel='block';\r\n this.workaddress.userid=detail.userid;\r\n this.workaddress.username=detail.username;\r\n this.workaddress.designation=detail.designation;\r\n this.workaddress.id=detail.id;\r\n this.popAddress=detail.streetAddress\r\n this.popCity=detail.city;\r\n this.popPinCode=detail.pincode;\r\n this.popState=detail.state;\r\n //this.workaddress=detail; \r\n this.getStateDropdown();\r\n if(this.popState==undefined || this.popState==\"\" || this.popState==null)\r\n {\r\n this.popState=this.state[0].state;\r\n }\r\n const body = document. getElementsByTagName('body')[0];\r\n body.classList.add('overlay-back');\r\n }\r\n closePanel()\r\n {\r\n this.displayAddAddressPanel='none';\r\n this.popState=this.state[0].state;\r\n this.popAddress=\"\";\r\n this.popCity=\"\";\r\n this.popPinCode=null;\r\n this.getWorkerAddressDetails();\r\n const body = document. getElementsByTagName('body')[0];\r\n body.classList.remove('overlay-back');\r\n }\r\n SaveworkerAddress()\r\n {\r\n if(this.popAddress!=\"\" && this.popAddress!=null && this.popCity!=\"\" && this.popCity!=null && this.popState!=\"\" && this.popPinCode!=null)\r\n {\r\n if(this.popPinCode.toString().length==6 && this.popPinCode.toString().indexOf('.')==-1)\r\n {\r\n this.loader = 'block';\r\n this.workaddress.action=\"INSERT\";\r\n this.workaddress.streetAddress=this.popAddress;\r\n this.workaddress.city=this.popCity;\r\n this.workaddress.pincode=this.popPinCode.toString();\r\n this.workaddress.state=this.popState;\r\n\r\n this.workerAddressService.getWorkerDetail(this.workaddress)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.workerAddressDetail = resdata.data;\r\n this.loader = 'none';\r\n this.displayAddAddressPanel='none';\r\n this.getWorkerAddressDetails();\r\n }\r\n else {\r\n this.toastr.error(resdata.msg);\r\n this.loader = 'none';\r\n }\r\n })\r\n }\r\n else\r\n this.toastr.error(\"Invalid Pin Code\");\r\n\r\n }\r\n else\r\n {\r\n this.toastr.error(\"Please enter the required input\");\r\n }\r\n }\r\n\r\n DownloadWorkerAddressExcel() {\r\n this.loader = 'block';\r\n // this.Status = Array.prototype.map.call(this.dropdownStatus,function(item){return item.item_text; }).join(\",\");//'10,11,12'\r\n this.workerAddressService.DownloadWorkerAddressExcel()\r\n .subscribe(\r\n success => {\r\n var date = new Date();\r\n var latest_date = this.datePipe.transform(date, 'dd-MMM-yy');\r\n var Name = localStorage.getItem('mcmt_userName').split(' ');\r\n var Firstname = Name[0];\r\n var LastName = Name[1];\r\n var ExcelName = Firstname + '_' + LastName + '_WorkerAddress_' + latest_date + '.xlsx';\r\n //let roleId=localStorage.getItem('mcmt_roleID');\r\n if (success.size > 0)\r\n saveAs(success, ExcelName);\r\n else\r\n this.toastr.error(\"No Records available for Excel.\");\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n filesDroppedAdd(files: File[]) {\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 CorrectFileName = 'WorkerAddress'\r\n //console.log(fileNameParts[0].includes(CorrectFileName));\r\n if (fileNameParts[0].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.toastr.error('Please Select Valid File.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error('Please Select Valid File Type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else {\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n let fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(this.files[0]);\r\n fileReader.onload = (e) => {\r\n this.arrayBuffer = fileReader.result;\r\n var data = new Uint8Array(this.arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\" });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n this.filelist = XLSX.utils.sheet_to_json(worksheet, { raw: true });\r\n // this.filelist.Add(\"LoggedinUser\",this.userID);\r\n this.workerAddressService.UploadWorkerAddressExcel(this.filelist).subscribe((resdata: any) => {\r\n if (resdata.status == true) {\r\n this.loader = 'none';\r\n this.displayAddAddressPanel='none';\r\n this.toastr.success('Upload Successfully');\r\n this.getWorkerAddressDetails();\r\n }\r\n else {\r\n this.toastr.error(resdata.message);\r\n this.loader = 'none';\r\n }\r\n })\r\n this.files = [];\r\n this.loader = 'none';\r\n }\r\n }\r\n \r\n}\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

ZMH Requirement Approval

\\r\\n

DMH Requirement Approval

\\r\\n

SBUMH Requirement Approval

\\r\\n
\\r\\n
\\r\\n Download Excel\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Select All
Job NumberRMH/RBM NameStateRequirement MonthBrandJob TypeCropLanguageApproved QuantityStatus
{{detail.jobNumber}}{{detail.rmhName}}{{detail.state}}{{detail.requirementMonth}}{{detail.brand}}{{detail.jobType}}{{detail.crop}}{{detail.language}}{{ConvertToCurrency(detail.approvedQuantity)}} \\r\\n {{detail.status}}\\r\\n
No Records Found
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MCPlanningMaterialService } from '../../Services/MCPlanningMaterial/mcplanningmaterial.service'\r\nimport { FinalRequirementDetails, RequirementDetailsZMH } from 'src/app/Models/MCPlanningMaterial/mcplanningmaterial';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component'\r\nimport { DropDownResponse } from 'src/app/Models/Dashboard/DashboardFilters';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-zmh-requirementapproval',\r\n templateUrl: './zmh-requirementapproval.component.html',\r\n styleUrls: ['./zmh-requirementapproval.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ZmhRequirementapprovalComponent implements OnInit {\r\n @ViewChild('jobnumber') jobnumber;\r\n @ViewChild('brand') brand;\r\n @ViewChild('crop') crop;\r\n @ViewChild('jobtype') jobtype;\r\n @ViewChild('language') language;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('status') status;\r\n @ViewChild('year') year;\r\n\r\n // @ViewChild('ma') ma;\r\n public jobNumberSettings = {};\r\n public brandSettings = {};\r\n public cropSettings = {};\r\n public jobTypeSettings = {};\r\n public languageSettings = {};\r\n public rmhSettings = {};\r\n public statusSettings = {};\r\n public yearSettings = {};\r\n\r\n requirementId: string = '';\r\n public JobNumbers :any=[];\r\n selectCheck: boolean = false;\r\n IsDisabled : boolean ;\r\n loader: string = 'none';\r\n userID: string;\r\n roleID: string;\r\n selectedJobNumber: any = '';\r\n selectedRMHName: any = '';\r\n selectedJobType: any = '';\r\n selectedBrand: any = '';\r\n selectedCrop: any = '';\r\n selectedLanguage: any = '';\r\n selectedStatus: any = '';\r\n selectedYear: any = '';\r\n accessdata:string='';// add by deepanshu 5 june 2023\r\n requirementdetails:RequirementDetailsZMH[]=[];\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n \r\n constructor(private mcPlanningMaterialService: MCPlanningMaterialService, private router: Router, private snackBar: MatSnackBarComponent,private datepipe: DatePipe,private toastr: ToastrService) { \r\n this.roleID = localStorage.getItem('mcmt_roleID');\r\n this.userID = localStorage.getItem('mcmt_userId');\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.tabID == undefined) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n }\r\n this.getFiltersOnPageLoad();\r\n this.jobNumberSetting();\r\n this.brandSetting();\r\n this.cropSetting();\r\n this.languageSetting();\r\n this.statusSetting();\r\n this.jobTypeSetting();\r\n this.rmhSetting();\r\n this.yearSetting();\r\n this.GetRequirementDetails();\r\n }\r\n getFiltersOnPageLoad() {\r\n this.loader = 'block';\r\n this.mcPlanningMaterialService.getRequirementDetailsFiltersZMH()\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n //this.dashboardFilters = resData.data as DashboardFilters;\r\n this.ddlResponse = resData.data;\r\n this.accessdata=resData.data.access[0].access; //add by deepanshu 5 june\r\n // alert(this.accessdata);//add by deepanshu 5 june\r\n this.onCurrentRequirementYearSelected(this.ddlResponse.year)\r\n //this.ddlResponse.brands=resData.data;\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(resData.msg);\r\n this.loader = 'none';\r\n }\r\n }\r\n );\r\n }\r\n public onCurrentRequirementYearSelected(item: any) {\r\n class YearItemList{\r\n id: number;\r\n text: string;\r\n }\r\n let requiredItem: YearItemList[] = [];\r\n var obj = {\r\n id : item[0].currentrequirementYear,\r\n text: item[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem\r\n for (var i = 0; i < this.year.selectedItems.length; i++) {\r\n this.selectedYear.push(this.year.selectedItems[i].text)\r\n }\r\n this.yearSetting();\r\n }\r\n\r\n GetRequirementDetails() {\r\n this.selectedRMHName=\"\";\r\n this.selectedCrop=\"\";\r\n this.selectedBrand=\"\";\r\n this.selectedJobType=\"\";\r\n this.selectedLanguage=\"\";\r\n this.selectedStatus=\"\";\r\n this.selectedJobNumber=\"\";\r\n this.selectedYear = \"\";\r\n\r\n this.mcPlanningMaterialService.GetRequirementDetailsZMH(this.selectedRMHName, this.selectedJobType, this.selectedBrand, this.selectedCrop, this.selectedLanguage, this.selectedStatus, this.selectedJobNumber,this.selectedYear)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n debugger;\r\n this.requirementdetails = responseData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.requirementdetails = responseData.data;\r\n this.toastr.error('No records Available');\r\n this.loader = 'none';\r\n }\r\n })\r\n \r\n }\r\n filter() {\r\n let selectedJobnumber = '';\r\n let selectedRMH = '';\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedLanguage = '';\r\n let selectedStatus = '';\r\n let selectedYear = '';\r\n \r\n selectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedRMH = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedLanguage = Array.prototype.map.call(this.language.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n this.mcPlanningMaterialService.GetRequirementDetailsZMH(selectedRMH, selectedJobtype, selectedBrand, selectedCrop, selectedLanguage,selectedStatus, selectedJobnumber,selectedYear)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status == true) {\r\n this.requirementdetails = responseData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.requirementdetails = responseData.data;\r\n this.toastr.error('No records Available');\r\n this.loader = 'none';\r\n }\r\n })\r\n \r\n }\r\n checkSelected(index: number) {\r\n if (!this.requirementdetails[index][\"isActive\"]&&this.requirementdetails[index][\"isDisable\"]==false) {\r\n // this.JobNumbers.splice(index,1);\r\n this.JobNumbers.splice(this.JobNumbers.indexOf(this.requirementdetails[index].jobNumber), 1);\r\n \r\n }\r\n else\r\n this.JobNumbers.push(this.requirementdetails[index][\"jobNumber\"]);\r\n }\r\n // check(index: any) {\r\n // if(this.requirementdetails[index][\"isActive\"])\r\n // {\r\n // return 'true'\r\n // }\r\n // else{\r\n // 'false'\r\n // }\r\n // }\r\n ApproveRequirement()\r\n {\r\n this.mcPlanningMaterialService.ApproveRequirement(this.JobNumbers)\r\n .subscribe((responseData: any) => {\r\n if (responseData.status) {\r\n this.toastr.success(responseData.message);\r\n this.loader = 'none';\r\n this.selectCheck=false;\r\n this.filter();\r\n }\r\n else {\r\n this.toastr.error('Some error Occured,Could not update status');\r\n this.loader = 'none';\r\n this.filter();\r\n }\r\n })\r\n }\r\n SelectAll() {\r\n this.JobNumbers=[];\r\n if(this.selectCheck==true)\r\n {\r\n this.requirementdetails.forEach(element => {\r\n this.JobNumbers.push(element.jobNumber);\r\n element.isActive = true;\r\n })\r\n }\r\n else{\r\n this.requirementdetails.forEach(element => {\r\n element.isActive = false;\r\n })\r\n }\r\n }\r\n // onJobNumberSelect(item: any) {\r\n // this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n \r\n // }\r\n // onJobNumberSelectAll(item: any) {\r\n \r\n // this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n \r\n // }\r\n // onJobNumberDeSelect(item: any) {\r\n // this.getJobnumberWiseData(this.jobnumber.selectedItems);\r\n // if (this.jobnumber.selectedItems.length == 0) {\r\n // this.jobnumber.selectedItems = [];\r\n // this.brand.selectedItems = [];\r\n // this.crop.selectedItems = [];\r\n // this.jobtype.selectedItems = [];\r\n // this.language.selectedItems = [];\r\n // if (this.roleID != '42') {\r\n // this.rmh.selectedItems = [];\r\n // }\r\n // if (this.roleID != '42' && this.roleID != '48') {\r\n // this.ma.selectedItems = [];\r\n // }\r\n // this.requirementType.selectedItems = [];\r\n // this.status.selectedItems = [];\r\n // }\r\n // }\r\n onJobNumberDeSelectAll(item: any) {\r\n\r\n this.jobnumber.selectedItems = [];\r\n // this.brand.selectedItems = [];\r\n // this.crop.selectedItems = [];\r\n // this.jobtype.selectedItems = [];\r\n // this.language.selectedItems = [];\r\n // this.rmh.selectedItems = [];\r\n // this.status.selectedItems = [];\r\n }\r\n \r\n \r\n // onRMHDeSelect(item: any) {\r\n \r\n // this.rmh.selectedItems = [];\r\n // }\r\n onRMHDeSelectAll(item: any) {\r\n \r\n this.rmh.selectedItems = [];\r\n }\r\n // onRMHSelect(item: any) {\r\n\r\n // this.getRMHWiseData(this.rmh.selectedItems);\r\n\r\n // }\r\n // onRMHSelectAll(item: any) {\r\n // this.getRMHWiseData(this.rmh.selectedItems);\r\n\r\n // }\r\n\r\n \r\n // onbrandSelect(item: any) {\r\n // this.getbrandWiseData(this.brand.selectedItems);\r\n // }\r\n // onbrandSelectAll(item: any) {\r\n // this.getbrandWiseData(this.brand.selectedItems);\r\n // }\r\n // onbrandDeSelect(item: any) {\r\n // if (this.brand.selectedItems.length < 1) {\r\n // this.brand.selectedItems = [];\r\n // this.crop.selectedItems = [];\r\n // this.jobtype.selectedItems = [];\r\n // this.language.selectedItems = [];\r\n // }\r\n // else\r\n // this.getbrandWiseData(this.brand.selectedItems);\r\n // }\r\n // onbrandDeSelectAll(item: any) {\r\n // this.brand.selectedItems = [];\r\n // this.crop.selectedItems = [];\r\n // this.jobtype.selectedItems = [];\r\n // this.language.selectedItems = [];\r\n // }\r\n\r\n jobNumberSetting() {\r\n this.jobNumberSettings = {\r\n singleSelection: false,\r\n idField: 'jobNumber',\r\n textField: 'jobNumber',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Job Number Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n brandSetting() {\r\n this.brandSettings = {\r\n singleSelection: false,\r\n idField: 'brandID',\r\n textField: 'brandName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Brand Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n cropSetting() {\r\n this.cropSettings = {\r\n singleSelection: false,\r\n idField: 'cropID',\r\n textField: 'cropName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Crop Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n jobTypeSetting() {\r\n this.jobTypeSettings = {\r\n singleSelection: false,\r\n idField: 'jobTypeID',\r\n textField: 'jobTypeName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No JobType Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n languageSetting() {\r\n this.languageSettings = {\r\n singleSelection: false,\r\n idField: 'languageID',\r\n textField: 'languageName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Language Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n rmhSetting() {\r\n this.rmhSettings = {\r\n singleSelection: false,\r\n idField: 'rMHCode',\r\n textField: 'rMHName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RMH Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n yearSetting() {\r\n this.yearSettings = {\r\n singleSelection: true,\r\n idField: 'year',\r\n textField: 'year',\r\n enableCheckAll: false,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: false,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Year Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n \r\n statusSetting() {\r\n this.statusSettings = {\r\n singleSelection: false,\r\n idField: 'requirementStatusID',\r\n textField: 'requirementStatusName',\r\n enableCheckAll: true,\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: true,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Status Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n excelDownload(){\r\n this.loader = 'block';\r\n let selectedJobnumber = '';\r\n let selectedRMH = '';\r\n let selectedBrand = '';\r\n let selectedCrop = '';\r\n let selectedJobtype = '';\r\n let selectedLanguage = '';\r\n let selectedStatus = '';\r\n let selectedYear = '';\r\n \r\n selectedJobnumber = Array.prototype.map.call(this.jobnumber.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedRMH = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedBrand = Array.prototype.map.call(this.brand.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedCrop = Array.prototype.map.call(this.crop.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedJobtype = Array.prototype.map.call(this.jobtype.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedStatus = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedLanguage = Array.prototype.map.call(this.language.selectedItems, function (item) { return item.id; }).join(\",\");\r\n selectedYear = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n this.mcPlanningMaterialService.GetAnnualRequirementDetailForZMHApprovalExcel(selectedRMH, selectedJobtype, selectedBrand, selectedCrop, selectedLanguage, selectedStatus, selectedJobnumber,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('mcmt_userName').split(' ');\r\n let firstname = name[0];\r\n let lastName = name[1];\r\n //let roleId=localStorage.getItem('mcmt_roleID');\r\n let cYear = this.year.selectedItems[0].id;\r\n let excelName = firstname + '_' + lastName + '_'+ cYear + '_AnnualRequirementApproval_' + latest_date + '.xlsx';\r\n saveAs(success, excelName);\r\n this.loader = 'none';\r\n },\r\n err => { \r\n this.toastr.error(\"No Record/s Available\");\r\n this.loader = 'none';\r\n }\r\n );\r\n \r\n }\r\n\r\n ConvertToCurrency(value:any)\r\n {\r\n var parts = value.toString().replace(',','').split(\".\");\r\n if(parts[0].length > 3){\r\n parts[0] = parts[0].slice(0,parts[0].length-3).replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") +','+ parts[0].slice(parts[0].length-3,parts[0].length);\r\n }\r\n return parts.join(\".\");\r\n }\r\n}\r\n","export class Artworkspecification {\r\n ID : number;\r\n Brand : string;\r\n Crop : string;\r\n Job : string;\r\n Language : string;\r\n Specification : string;\r\n OpenSize : string;\r\n FinishSize : string;\r\n NoPage : string;\r\n Color : string;\r\n Fabrication : string;\r\n PrintingProcess : string;\r\n Active : boolean;\r\n Remarks : string;\r\n unitPriceCurrentQ1:number;\r\n unitPriceCurrentQ2:number;\r\n unitPriceCurrentQ3:number;\r\n unitPriceCurrentQ4:number;\r\n unitPriceFutureQ1:number;\r\n unitPriceFutureQ2:number;\r\n unitPriceFutureQ3:number;\r\n unitPriceFutureQ4:number;\r\n}\r\n\r\nexport class DropDown{\r\n brand : Brand[];\r\n crop : Crop[];\r\n language : Language[];\r\n brandManager : BrandManager[];\r\n jobType : JobType[];\r\n}\r\n\r\nexport class Brand{\r\n brand : string;\r\n}\r\nexport class Crop{\r\n crop : string;\r\n}\r\nexport class Language{\r\n languagae : string;\r\n}\r\nexport class BrandManager{\r\n name : string;\r\n userID : string;\r\n}\r\nexport class JobType{\r\n job : string;\r\n}","\r\nexport class ProductionApprovalDetails {\r\n requirementID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhId:string;\r\n requirementType : string;\r\n jobType:string;\r\n brand:string;\r\n crop:string;\r\n language:string;\r\n state:string;\r\n requirementMonth:string;\r\n requestQuantity : any;\r\n availableQuantity : any;\r\n finalQuantity:any;\r\n poApprovedQty:any;\r\n wHLocation:any;\r\n orderStatus:any;\r\n vendorType:any;\r\n status:string;\r\n isActive : boolean;\r\n}\r\n\r\nexport class ProductionApprovalFilters {\r\n jobNumbers:jobNumber[];\r\n rmhs:RMH[];\r\n jobTypes:JobType[];\r\n brands:Brand[];\r\n crops:Crop[];\r\n languages:Language[];\r\n status:RequirementStatus[];\r\n states:State[];\r\n maMapping:MaMapping[];\r\n mapping : stateMapping[];\r\n}\r\n\r\nexport class jobNumber{\r\n jobNumberID:string;\r\n jobNumberName:string;\r\n rMHCode:string;\r\n brandID: string;\r\n jobTypeID:number;\r\n cropID:number;\r\n languageID:number;\r\n stateName: string;\r\n month : string\r\n statusID : string;\r\n}\r\nexport class RMH{\r\n rMHCode:string;\r\n rMHName:string;\r\n}\r\n\r\nexport class Brand{\r\n brandID:string;\r\n brandName:string;\r\n}\r\n\r\nexport class JobType{\r\n jobTypeID:number;\r\n jobTypeName:string;\r\n}\r\n\r\nexport class Crop{\r\n cropID:number;\r\n cropName:string;\r\n}\r\n\r\nexport class Language{\r\n languageID:number;\r\n languageName:string;\r\n}\r\n\r\nexport class RequirementStatus{\r\n requirementStatusID:number;\r\n requirementStatusName:string;\r\n}\r\n\r\nexport class State{\r\n stateID:string;\r\n stateName:string;\r\n}\r\n\r\nexport class MaMapping{\r\n rMHCode:string;\r\n stateName:string;\r\n ma:string;\r\n}\r\n\r\nexport class stateMapping{\r\n languageID : number;\r\n languageName : string;\r\n state : string;\r\n}\r\n\r\nexport class updateStatus{\r\n JobNumber : string;\r\n}","export class TimeLineConfiguration {\r\n rows : Rows[];\r\n columns : Columns[];\r\n details : Details[];\r\n mapping : any[];\r\n}\r\nexport class Columns{\r\n roleCode : string;\r\n roleId : number;\r\n}\r\nexport class Rows{\r\n status : string;\r\n requirementtype : string;\r\n}\r\nexport class Details{\r\n id : number;\r\n roleId : number;\r\n status : string;\r\n requirementtype : string;\r\n startDate : string;\r\n endDate : string;\r\n active : number;\r\n}\r\nexport class UpdatedTimeline{\r\n ID : number;\r\n StartDate : string;\r\n EndDate : string;\r\n}","export class workerAddressDetails {\r\n action: string;\r\n id: number;\r\n username: string\r\n userid: string\r\n designation: string\r\n streetAddress: string\r\n city: string\r\n pincode: string\r\n state: string\r\n loggedInUser: string;\r\n}\r\nexport class State\r\n{\r\n state:string;\r\n}","export class Documents {\r\n file:File;\r\n}","export class Documents {\r\n file:File;\r\n}\r\n\r\nexport class uploadException\r\n{\r\n jobNumber:string;\r\n}\r\n\r\nexport class bulkExcel{\r\n srNo:number;\r\n jobNumber:string;\r\n remarks:string;\r\n}","export class DashboardFilters {\r\n jobNumbers : JobNumber[];\r\n rmhs : RMH[];\r\n jobTypes : JobType[];\r\n brands : Brand[];\r\n crops : Crop[];\r\n languages : Language[];\r\n requirementTypes : RequirementType[];\r\n //requirementYear : RequirementYear[];\r\n status : RequirementStatus[];\r\n year:Year[];\r\n}\r\n\r\nexport class DashboardDetails {\r\n jobNumber : string;\r\n poNumber:string;\r\n rmhName : string;\r\n rmhid : string;\r\n jobType : string;\r\n brand : string;\r\n requirementType : string\r\n requirementYear : string\r\n crop : Crop;\r\n language : string;\r\n requestedQuantity : any;\r\n approvedQuantity : any;\r\n orderStatus : any;\r\n requirementMonth:any;\r\n estimatedDelivery : any;\r\n approvedOn : any;\r\n color: string;\r\n finalProductionQty:any;\r\n}\r\n\r\nexport class RMH{\r\n rMHCode : string;\r\n rMHName : string;\r\n}\r\n\r\nexport class Brand{\r\n brandID : string;\r\n brandName : string;\r\n}\r\n\r\nexport class JobType{\r\n jobTypeID : number;\r\n jobTypeName : string;\r\n}\r\n\r\nexport class RequirementType{\r\n requirementTypeID : number;\r\n requirementTypeName : string;\r\n}\r\n// export class RequirementYear{\r\n// // requirementTypeID : number;\r\n// // requirementYearID : any;\r\n// }\r\n\r\nexport class Crop{\r\n cropID : number;\r\n cropName : string;\r\n}\r\n\r\nexport class Language{\r\n languageID : number;\r\n languageName : string;\r\n}\r\n\r\nexport class RequirementStatus{\r\n requirementStatusID : number;\r\n requirementStatusName : string;\r\n}\r\n\r\nexport class Requesters{\r\n text : string;\r\n}\r\n\r\nexport class JobNumber{\r\n jobNumber : string;\r\n}\r\nexport class DropDownResponse {\r\n brands: Array = new Array()\r\n crops: Array = new Array()\r\n jobNumbers: Array = new Array()\r\n jobTypes: Array = new Array()\r\n languages: Array = new Array()\r\n requirementTypes: Array = new Array()\r\n requirementYear: Array = new Array()\r\n rmhs: Array = new Array()\r\n status: Array = new Array()\r\n requester:Array = new Array()\r\n year:Year[];\r\n}\r\n\r\nexport class MultiSelectCancellation{\r\n JobNumber: string;\r\n Remarks: string;\r\n CancelledQty: number;\r\n ApprovedQty: number;\r\n}\r\n\r\nexport class Year{\r\n year:any;\r\n currentrequirementYear:string;\r\n}","export class Filter {\r\n states : States[];\r\n rmh : RMH[];\r\n jobTypes : JobType[];\r\n brands : Brand[];\r\n crops : Crop[];\r\n languages : Language[];\r\n whLocations : WHLocation[];\r\n rowCount : number;\r\n languageMapping : Mapping[];\r\n mapping : stateMapping[];\r\n}\r\n\r\nexport class RMH{\r\n rMHCode : string;\r\n rMHName : string;\r\n}\r\n\r\nexport class stateMapping{\r\n rMHCode : string;\r\n stateName : string;\r\n whLocationName : string;\r\n}\r\n\r\nexport class Mapping{\r\n languageID : number;\r\n languageName : string;\r\n state : string;\r\n}\r\n\r\nexport class Brand{\r\n brandID : string;\r\n brandName : string;\r\n}\r\n\r\nexport class JobType{\r\n jobTypeID : number;\r\n jobTypeName : string;\r\n}\r\n\r\nexport class Crop{\r\n cropID : number;\r\n cropName : string;\r\n}\r\n\r\nexport class Language{\r\n languageID : number;\r\n languageName : string;\r\n}\r\n\r\nexport class States{\r\n stateID : string;\r\n stateName : string;\r\n}\r\n\r\nexport class WHLocation{\r\n whLoactionID : number;\r\n whLocationName : string;\r\n}","export class Mcplanningmaterial {\r\n}\r\n\r\nexport class FinalRequirementDetails {\r\n requirementDetailsID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhID:string;\r\n jobType:string;\r\n brand:string;\r\n crop:string;\r\n language:string;\r\n state:string;\r\n requirementMonth:string\r\n requirementType:string\r\n requestedQuantity:any;\r\n orderStatus:any;\r\n availableinInventory:any;\r\n finalQuantity:any;\r\n approvedQuantity:any;\r\n approvedQuantityCopy:any;\r\n unitPrice:any;\r\n deliveryDeadline:any;\r\n quarter:any;\r\n brandManager:any;\r\n portfolio:any;\r\n ma:any;\r\n actions:any;\r\n status:any;\r\n isApprovedQuantityUpdated:any;\r\n isActive:boolean;\r\n rollingyear:any;\r\n}\r\nexport class RequirementDetailsZMH {\r\n requirementDetailsID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhID:string;\r\n jobType:string;\r\n brand:string;\r\n crop:string;\r\n language:string;\r\n state:string;\r\n requirementMonth:string\r\n requirementType:string\r\n requestedQuantity:any;\r\n orderStatus:any;\r\n availableinInventory:any;\r\n finalQuantity:any;\r\n approvedQuantity:any;\r\n approvedQuantityCopy:any;\r\n unitPrice:any;\r\n deliveryDeadline:any;\r\n quarter:any;\r\n brandManager:any;\r\n portfolio:any;\r\n ma:any;\r\n actions:any;\r\n status:any;\r\n isApprovedQuantityUpdated:any;\r\n isActive:boolean;\r\n isDisable:boolean;\r\n}\r\nexport class RequirementDetails {\r\n requirementDetailsID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhID:string;\r\n jobType:string;\r\n brand:string;\r\n crop:string;\r\n language:string;\r\n state:string;\r\n requirementMonth:string\r\n requirementType:string\r\n requestedQuantity:any;\r\n orderStatus:any;\r\n availableinInventory:any;\r\n finalQuantity:any;\r\n approvedQuantity:any;\r\n approvedQuantityCopy:any;\r\n unitPrice:any;\r\n deliveryDeadline:any;\r\n quarter:any;\r\n brandManager:any;\r\n portfolio:any;\r\n ma:any;\r\n actions:any;\r\n status:any;\r\n isApprovedQuantityUpdated:any;\r\n isActive:boolean;\r\n isDisable:boolean;\r\n Remarks:any;\r\n cancelledQty:any=null;\r\n}\r\nexport class FinalRequirementFilters {\r\n jobNumbers:jobNumber[];\r\n rmhs:RMH[];\r\n jobTypes:JobType[];\r\n brands:Brand[];\r\n crops:Crop[];\r\n languages:Language[];\r\n requirementTypes:RequirementType[];\r\n status:RequirementStatus[];\r\n bms:BM[];\r\n mas:MA[];\r\n states:State[];\r\n year:Year[];\r\n maMapping:MaMapping[];\r\n bmMapping:BmMapping[];\r\n mapping : stateMapping[];\r\n}\r\n\r\nexport class MaMapping{\r\n rMHCode:string;\r\n state:string;\r\n ma:string;\r\n}\r\n\r\nexport class stateMapping{\r\n languageID : number;\r\n languageName : string;\r\n state : string;\r\n}\r\n\r\nexport class BmMapping{\r\n brandName:string;\r\n bmName:string;\r\n}\r\n\r\nexport class jobNumber{\r\n jobNumberID:string;\r\n jobNumberName:string;\r\n}\r\nexport class RMH{\r\n rMHCode:string;\r\n rMHName:string;\r\n}\r\n\r\nexport class Brand{\r\n brandID:string;\r\n brandName:string;\r\n}\r\n\r\nexport class JobType{\r\n jobTypeID:number;\r\n jobTypeName:string;\r\n}\r\n\r\nexport class RequirementType{\r\n requirementTypeID:number;\r\n requirementTypeName:string;\r\n}\r\n\r\nexport class Crop{\r\n cropID:number;\r\n cropName:string;\r\n}\r\n\r\nexport class Language{\r\n languageID:number;\r\n languageName:string;\r\n}\r\n\r\nexport class RequirementStatus{\r\n requirementStatusID:number;\r\n requirementStatusName:string;\r\n}\r\n\r\nexport class BM{\r\n bmCode:string;\r\n bmName:string;\r\n}\r\n\r\nexport class MA{\r\n maCode:string;\r\n maName:string;\r\n}\r\n\r\nexport class ApprovedQuantity{\r\n RequirementDetailID:string;\r\n Quantity:string;\r\n IsChanged:any;\r\n RequirementType: string;\r\n}\r\nexport class State{\r\n stateID:string;\r\n stateName:string;\r\n}\r\nexport class Year{\r\n year:string;\r\n currentrequirementYear:string;\r\n}\r\n\r\n","export class MaterialDispatchDetails\r\n{\r\n requirementDetailID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhid:string;\r\n jobType:string;\r\n JobTypeID:any;\r\n brand:string;\r\n BrandID:any;\r\n crop:string;\r\n CropID:any;\r\n language:string;\r\n LanguageID:any;\r\n state:string;\r\n stateCode:any;\r\n month:string\r\n requestedQuantity:any;\r\n availableInInventory:any;\r\n finalQuantity:any;\r\n approvedQuantity:any;\r\n deliveryDeadline:any;\r\n status:any;\r\n statusID:number;\r\n allocatedQuantity:number;\r\n totalRemaining:number;\r\n requirementType:number;\r\n transportName:any;\r\n dispatchDate:any;\r\n dispatchLocation:any;\r\n dispatchAddress:any;\r\n noOfBoxes:number;\r\n quantityDispatched:number;\r\n estimatedDeliveryDate:any;\r\n remarks:any;\r\n mobileNumber:any;\r\n isSelected:boolean=false;\r\n isConfirmReceipt:boolean;\r\n materialAllocationDone:boolean;\r\n}\r\nexport class UserDetails\r\n{\r\n requirementDetailID:number;\r\n jobNumber:string;\r\n userName:any;\r\n userID:any;\r\n userRole:any;\r\n mobileNumber:any;\r\n allocateID:number;\r\n allocatedQuantity:number;\r\n transportName:string;\r\n dispatchDate:Date;\r\n dispatchLocation:string;\r\n dispatchAddress:string;\r\n noOfBoxes:number;\r\n quantityDispatched:number;\r\n estimatedDeliveryDate:Date;\r\n remarks:string;\r\n isDispatchSaved:boolean;\r\n statusID:number;\r\n requirementType:Number;\r\n totalRemaining:number;\r\n regioncode:string;\r\n poIssuedQuantity:number;\r\n availableInInventory:any;\r\n}\r\nexport class Documents {\r\n file:File;\r\n}\r\n\r\n\r\n","import{FinalRequirementFilters,FinalRequirementDetails, RMH, JobType,Brand,Crop,Language,State, jobNumber,Year} from \"../MCPlanningMaterial/mcplanningmaterial\"\r\n//#region Material-Allocation\r\nexport class MaterialAllocationFilter extends FinalRequirementFilters\r\n{\r\nrmhs :RMH[];\r\njobTypes:JobType[];\r\nbrands:Brand[];\r\ncrops:Crop[];\r\nlanguages:Language[];\r\nMonth:any[];\r\nstates:State[];\r\njobNumbers:jobNumber[];\r\nuserID:userID[];\r\nYear:Year[];\r\n}\r\nexport class MaterialAllocationDetails\r\n{\r\n // JobNumber:string;\r\n\t// RMHName:string;\r\n\t// State:string;\r\n\t// Brand:string;\r\n\t// JobType:string;\r\n\t// Crop:string;\r\n\t// Language:string;\r\n\t// EstimatedDelivery:Date;\r\n // FinalApprovedQTY:number;\r\n\t// Name:string;\r\n\t// UserID:string;\r\n\t// Designation:string;\r\n\t// AllocateQTY:string;\r\n\t// TotalRemaining:string;\r\n // Status:string;\r\n \r\n requirementDetailsID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhid:string;\r\n jobType:string;\r\n brand:string;\r\n crop:string;\r\n language:string;\r\n state:string;\r\n month:string\r\n requestedQuantity:any;\r\n availableinInventory:any;\r\n finalQuantity:any;\r\n approvedQuantity:any;\r\n approvedQuantityCopy:any;\r\n deliveryDeadline:any;\r\n status:any;\r\n isSavedAsDraft:boolean;\r\n isSubmitted:boolean;\r\n allocatedQuantity:number;\r\n totalRemaining:number;\r\n isSelected:boolean=false;\r\n RequirementType:number;\r\n statusID:number;\r\n regionCode:string;\r\n}\r\nexport class userID\r\n{\r\n name:string;\r\n userID:string;\r\n roleName:string;\r\n regionCode:string;\r\n}\r\nexport class CurrentRequirementYear{\r\n year: string;\r\n currentrequirementYear: string;\r\n}\r\nexport class MaterialAllocation extends FinalRequirementDetails\r\n{\r\n allocatedQuantity:number;\r\n allocateID:number;\r\n approvedQuantity:number;\r\n isSavedasDraft:boolean;\r\n isSubmitted:boolean;\r\n jobNumber:string;\r\n requirementID:number\r\n totalRemaining:number\r\n userID:string\r\n userName:string\r\n userRole:string\r\n}\r\n\r\nexport class popMaterialAllocation \r\n{\r\n displayViewPanel: string = 'block';\r\n displayEditPanel: string = 'none';\r\n popJobNumber: string;\r\n popEstDel: string;\r\n popRMH: string;\r\n popLanguage: number;\r\n popState: string;\r\n popBrand: string;\r\n popJobType: string;\r\n popCrop: string;\r\n popFAQ: number;\r\n popName: string;\r\n popUserID: string;\r\n popDesg: string;\r\n popAQty: number;\r\n popStatus: number;\r\n popTotalremainingqty: number;\r\n popRequirmentID: number;\r\n hdnLimit: boolean = true;\r\n errorMessage: string;\r\n IsValidRole: boolean = false;\r\n selectCheck: number;\r\n TotalRemainingQuantity: number = 0;\r\n}\r\nexport class uploadException\r\n{\r\n jobNumber:string;\r\n statement:string;\r\n}\r\nexport class Region\r\n{\r\n regionCode:string;\r\n approvedQuantity:number;\r\n totalRemaining:number;\r\n isSavedasDraft:number;\r\n}\r\n//#endregion\r\n","import { RMH, JobType, Brand, Crop, Language, FinalRequirementFilters, jobNumber, State } from \"../MCPlanningMaterial/mcplanningmaterial\"\r\nexport class productionFilter extends FinalRequirementFilters\r\n {\r\n rmhs: RMH[];\r\n jobTypes: JobType[];\r\n brands: Brand[];\r\n crops: Crop[];\r\n languages: Language[];\r\n Month: any[];\r\n jobNumbers:jobNumber[];\r\n states:State[];\r\n vendor:vendor[];\r\n currentRequirementYear: CurrentRequirementYear[];\r\n}\r\nexport class productionDetails { \r\n requirementDetailsID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhid:string;\r\n jobType:string;\r\n brand:string;\r\n brandID:string;\r\n cropName:string;\r\n cropID:string;\r\n Language:string;\r\n LanguageID:string;\r\n state:string;\r\n stateCode:string;\r\n month:string\r\n approvedQuantity:any;\r\n status:any;\r\n isSelected:boolean=false;\r\n requirementType:number;\r\n vendorType:string;\r\n}\r\nexport class ProductionStatus\r\n{\r\n StatusID:number;\r\n StatusName:string;\r\n}\r\nexport class vendor\r\n{\r\n vendorId:number;\r\n vendorType:string;\r\n}\r\n\r\nexport class productionDetails_ByPoNumer\r\n{\r\n jobNumber:string;\r\n poNumber:string;\r\n approvedQuantity:string;\r\n rmhName:string;\r\n}\r\n\r\nexport class CurrentRequirementYear{\r\n year: string;\r\n currentrequirementYear: string;\r\n}\r\n","export class WHSTockInDetails {\r\n detail : Details[];\r\n}\r\n\r\nexport class Details {\r\n jobNumber : string;\r\n poNumber:string;\r\n poIssuedDate:any;\r\n requirementType : string\r\n jobType : string;\r\n brand : string;\r\n crop : string;\r\n language : string;\r\n quantity:string;\r\n approvedPoQuantity : string;\r\n remainingQuantity : string;\r\n estimatedDelivery : any;\r\n quarter:string;\r\n agency:string;\r\n warehouse:string;\r\n state:string;\r\n rmhName : string;\r\n vendor : string;\r\n brandManager:string;\r\n cnNumber:string;\r\n stockInDate:any;\r\n stockInQty:string;\r\n noOfBoxes:string;\r\n balQty:string;\r\n logistics:string;\r\n requestedQuantity:string;\r\n docketNo :string;\r\n invoiceNo :string;\r\n invoiceDate :any;\r\n invoiceValue:string;\r\n paymentDate:any;\r\n remarks:string;\r\n status :string;\r\n poapprovedqty:string;\r\n whremarks:string;\r\n isEdit:number;\r\n stockInQtyDone:any\r\n\r\n}\r\nexport class Documents {\r\n file:File;\r\n}\r\nexport class Brand{\r\n brandID : string;\r\n brandName : string;\r\n}\r\nexport class JobType{\r\n jobTypeID : number;\r\n jobTypeName : string;\r\n}\r\n\r\nexport class RequirementType{\r\n requirementTypeID : number;\r\n requirementTypeName : string;\r\n}\r\n\r\nexport class Crop{\r\n cropID : number;\r\n cropName : string;\r\n}\r\n\r\nexport class Language{\r\n languageID : number;\r\n languageName : string;\r\n}\r\n\r\nexport class RequirementStatus{\r\n requirementStatusID : number;\r\n requirementStatusName : string;\r\n}\r\n\r\nexport class JobNumber{\r\n jobNumber : string;\r\n}\r\nexport class RMH{\r\n rMHCode : string;\r\n rMHName : string;\r\n}\r\nexport class PO{\r\n pO : string;\r\n}\r\nexport class CurrentRequirementYear{\r\n year: string;\r\n currentrequirementYear: string;\r\n}\r\nexport class DropDownResponse {\r\n brands: Array = new Array()\r\n crops: Array = new Array()\r\n jobNumbers: Array = new Array()\r\n jobTypes: Array = new Array()\r\n languages: Array = new Array()\r\n requirementTypes: Array = new Array()\r\n rmhs: Array = new Array()\r\n status: Array = new Array()\r\n po: Array = new Array()\r\n currentRequirementYear: Array = new Array()\r\n}","export class PoStatusUpdate {\r\n}\r\nexport class PoStatusUpdateDetails {\r\n requirementID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhId:string;\r\n requirementType:string;\r\n jobType:string;\r\n brand:string;\r\n crop:string;\r\n language:string;\r\n state:string;\r\n requirementMonth:string;\r\n finalQuantity:string;\r\n wHLocation:string;\r\n quantity:any;\r\n poNumber:any;\r\n poIssuedDate:any;\r\n vendorType:string;\r\n orderStatus:string;\r\n poIssueQty:any;\r\n rollingYear:string;\r\n}\r\n\r\nexport class PoStatusUpdateFilters {\r\n jobNumbers:jobNumber[];\r\n rmhs:RMH[];\r\n jobTypes:JobType[];\r\n brands:Brand[];\r\n crops:Crop[];\r\n languages:Language[];\r\n orderStatus:RequirementStatus[];\r\n states:State[];\r\n maMapping:MaMapping[];\r\n mapping : stateMapping[];\r\n Vendor:Vendor[];\r\n currentRequirementYear: CurrentRequirementYear[];\r\n}\r\nexport class CurrentRequirementYear{\r\n year:string;\r\n currentrequirementYear:string;\r\n}\r\nexport class Vendor{\r\n id:Number;\r\n vendorType:string;\r\n}\r\nexport class jobNumber{\r\n jobNumberID:string;\r\n jobNumberName:string;\r\n rMHCode:string;\r\n brandID: string;\r\n jobTypeID:number;\r\n cropID:number;\r\n languageID:number;\r\n stateName: string;\r\n month : string;\r\n statusID : string;\r\n}\r\n\r\nexport class RMH{\r\n rMHCode:string;\r\n rMHName:string;\r\n}\r\n\r\nexport class Brand{\r\n brandID:string;\r\n brandName:string;\r\n}\r\n\r\nexport class JobType{\r\n jobTypeID:number;\r\n jobTypeName:string;\r\n}\r\n\r\nexport class Crop{\r\n cropID:number;\r\n cropName:string;\r\n}\r\n\r\nexport class Language{\r\n languageID:number;\r\n languageName:string;\r\n}\r\n\r\nexport class RequirementStatus{\r\n requirementStatusID:number;\r\n requirementStatusName:string;\r\n}\r\n\r\nexport class State{\r\n stateID:string;\r\n stateName:string;\r\n}\r\n\r\nexport class UpdatedPODetails{\r\n RequirementID:any;\r\n Quantity:string;\r\n PONumber:any;\r\n POIssuedDate:Date;\r\n RequirementType:string;\r\n}\r\n\r\nexport class MaMapping{\r\n rMHCode:string;\r\n stateName:string;\r\n ma:string;\r\n}\r\n\r\nexport class stateMapping{\r\n languageID : number;\r\n languageName : string;\r\n state : string;\r\n}\r\nexport class poApprovalDetail\r\n{\r\n id:number;\r\n jobNumber:string;\r\n vendorType:number;\r\n vendorName:string;\r\n approvedQuantity:number;\r\n poNumber:string;\r\n poQuantity:number;\r\n poIssuedDate:Date;\r\n remainingQuantity:number;\r\n EstimateDeliveryToWH:any;\r\n cancelationApproval:number;\r\n}","import { JobNumber } from \"../Dashboard/DashboardFilters\";\r\n\r\nexport class VendorFinalization {\r\n}\r\nexport class VendorFinalizationDetails {\r\n requirementID:any;\r\n jobNumber:string;\r\n rmhName:string;\r\n rmhId:string;\r\n requirementType : string;\r\n jobType:string;\r\n brand:string;\r\n crop:string;\r\n language:string;\r\n state:string;\r\n requirementMonth:string\r\n finalQuantity:any;\r\n wHLocation:any;\r\n orderStatus:any;\r\n vendorType:any;\r\n isActive : boolean;\r\n currentStatus : number;\r\n year: string;\r\n}\r\n\r\nexport class VendorFinalizationFilters {\r\n jobNumbers:jobNumber[];\r\n rmhs:RMH[];\r\n jobTypes:JobType[];\r\n brands:Brand[];\r\n crops:Crop[];\r\n languages:Language[];\r\n status:RequirementStatus[];\r\n states:State[];\r\n maMapping:MaMapping[];\r\n mapping : stateMapping[];\r\n rollingYears : RollingYear[];\r\n}\r\n\r\nexport class jobNumber{\r\n jobNumberID:string;\r\n jobNumberName:string;\r\n rMHCode:string;\r\n brandID: string;\r\n jobTypeID:number;\r\n cropID:number;\r\n languageID:number;\r\n stateName: string;\r\n month : string\r\n vendorID : string;\r\n}\r\nexport class RMH{\r\n rMHCode:string;\r\n rMHName:string;\r\n}\r\n\r\nexport class Brand{\r\n brandID:string;\r\n brandName:string;\r\n}\r\n\r\nexport class JobType{\r\n jobTypeID:number;\r\n jobTypeName:string;\r\n}\r\n\r\nexport class Crop{\r\n cropID:number;\r\n cropName:string;\r\n}\r\n\r\nexport class Language{\r\n languageID:number;\r\n languageName:string;\r\n}\r\n\r\nexport class RequirementStatus{\r\n requirementStatusID:number;\r\n requirementStatusName:string;\r\n}\r\n\r\nexport class State{\r\n stateID:string;\r\n stateName:string;\r\n}\r\n\r\nexport class MaMapping{\r\n rMHCode:string;\r\n stateName:string;\r\n ma:string;\r\n}\r\n\r\nexport class stateMapping{\r\n languageID : number;\r\n languageName : string;\r\n state : string;\r\n}\r\n\r\nexport class RollingYear{\r\n year: string;\r\n currentrequirementYear: string;\r\n}\r\n\r\nexport class UpdateVendorType{\r\n JobNumber : string;\r\n VendorType : string;\r\n}\r\n\r\nexport class UpdateVendorTypeDetails{\r\n ID :number;\r\nJobNumber : string;\r\n VendorType : number;\r\nVendorName : string;\r\nCurrentStatus :number;\r\n IsActive :number;\r\n Action : string;\r\n Date:any;\r\n}","export class Profile {\r\n name : string;\r\n emailID : string;\r\n mobileNo : string;\r\n roleName : string;\r\n supervisor : string;\r\n whLocation : string;\r\n regionCode : string;\r\n}\r\n\r\nexport class Notify{\r\n notification : Notification[];\r\n unReadMsg : number;\r\n}\r\nexport class RMH{\r\n rmhName : string;\r\n}\r\nexport class Status{\r\n status : string;\r\n}\r\n\r\nexport class Notification{\r\n id : number;\r\n notificationMessage : string;\r\n isActive : boolean;\r\n isRead : boolean;\r\n}\r\n\r\nexport class UpdateNotification{\r\n ID : number;\r\n Read : boolean;\r\n Active : boolean;\r\n}","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { UpdateNotification } from 'src/app/Models/login/profile';\r\nimport { DropDownResponse } from 'src/app/Models/Dashboard/DashboardFilters';\r\n\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\nexport class DashboardService {\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 dashboardFilters() : Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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 : 'GET',\r\n url : this.ROOT_URL + \"/api/Dashboard/DashboardFilter?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\n getMenuList() : Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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 : 'GET',\r\n url : this.ROOT_URL + \"/api/Dashboard/GetMenuList?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\n dashboardDetails(jobNumber : any, name : any, type : any, brand : any, crop : any, requirementType : any,requirementYear : any,\r\n language : any, status : any, ma:any,month:any) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\" : jobNumber,\r\n \"RMHName\" : name,\r\n \"JobType\" : type,\r\n \"Brand\" : brand,\r\n \"Crop\" : crop,\r\n \"RequirementType\" : requirementType,\r\n \"RequirementYear\" : requirementYear,\r\n \"Language\" : language,\r\n \"OrderStatus\" : status,\r\n \"MA\":ma,\r\n \"Month\":month\r\n }\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/Dashboard/DashboardDetails\",\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 getrmhonjobnumberselection(jobNumber : any,rmh:any,brand:any,ma:any) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\" : jobNumber,\r\n \"RMHName\":rmh,\r\n \"Brand\":brand,\r\n \"MA\":ma\r\n }\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/Dashboard/GetRMHJobnumber\",\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 downloadExcel(jobNumber : any, name : any, type : any, brand : any, crop : any, requirementType : any,requirementYear : any,\r\n language : any, status : any,ma:any,month:any) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\" : jobNumber,\r\n \"RMHName\" : name,\r\n \"JobType\" : type,\r\n \"Brand\" : brand,\r\n \"Crop\" : crop,\r\n \"RequirementType\" : requirementType,\r\n \"RequirementYear\" : requirementYear,\r\n \"Language\" : language,\r\n \"OrderStatus\" : status,\r\n \"MA\":ma,\r\n \"Month\":month\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/Dashboard/DownloadExcel\",\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\r\n getPODetails(jobNumber : string) : Observable {\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 : 'GET',\r\n url : this.ROOT_URL + \"/api/Dashboard/GetPODetails?jobNumber=\"+jobNumber,\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 downloadFile(fileName : string, url : string) {\r\n url = this.ROOT_URL + url;\r\n window.open(this.ROOT_URL + 'MC_MaterialTrackingAPI/FMC.MCMaterial.API/Templates/' + fileName, '_blank');\r\n return this.http.get(url, {\r\n responseType : ResponseContentType.Blob//, search: // query string if have\r\n }).map(res => {\r\n return {\r\n \r\n filename : fileName,\r\n data : res.blob()\r\n \r\n };\r\n }).subscribe(res => {\r\n window.location.href = this.ROOT_URL + '/api/Templates/' + res.filename;\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 getProcessTimeline() : Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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 : 'GET',\r\n url : this.ROOT_URL + \"/api/Dashboard/GetProcessTimeline?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\n\r\n updateNotification(detail : UpdateNotification[]) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"Data\" : detail\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/Account/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 getJobnumberDropdowns(ddlResponse : DropDownResponse) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"Data\" : ddlResponse\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/Account/GetJobnumberDropdowns\",\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","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 { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { Body } from '@angular/http/src/body';\r\nimport { InventoryData, MaterialDamaged } from 'src/app/Models/InventoryManagement/inventory-data';\r\n\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\nexport class InventoryService {\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 inventoryDetails(name : string, state : string, type : string, brand : string, crop : string, language : string,\r\n location : string) : Observable {\r\n let _body = {\r\n \"RMHID\" : localStorage.getItem('mcmt_userId'),\r\n \"RMHName\" : name,\r\n \"State\" : state,\r\n \"JobType\" : type,\r\n \"Brand\" : brand,\r\n \"Crop\" : crop,\r\n \"Language\" : language,\r\n \"WHLocation\" : location\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/Inventory/InventoryManagementDetails\",\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 inventoryFilters() : Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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 : 'GET',\r\n url : this.ROOT_URL + \"/api/Inventory/InventoryManagementFilter?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\n inventoryUpdate(detail : MaterialDamaged[]) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"Data\" : detail\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/Inventory/InventoryManagementUpdate\",\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 downloadInventoryExcel(name : string, state : string, type : string, brand : string, crop : string, language : string,\r\n location : string) : Observable {\r\n let _body = {\r\n \"RMHID\" : localStorage.getItem('mcmt_userId'),\r\n \"RMHName\" : name,\r\n \"State\" : state,\r\n \"JobType\" : type,\r\n \"Brand\" : brand,\r\n \"Crop\" : crop,\r\n \"Language\" : language,\r\n \"WHLocation\" : location\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/Inventory/DownloadExcel\",\r\n headers : headers,\r\n body : _body,\r\n responseType : ResponseContentType.Blob\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, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpRequest, HttpEvent, HttpResponse } from '@angular/common/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { ApprovedQuantity } from '../../Models/MCPlanningMaterial/mcplanningmaterial';\r\nimport { MaterialDispatchDetails, UserDetails } from '../../Models/Material-Dispatch/MaterialDispatch';\r\nimport { HttpInterceptor, HttpHandler, HttpErrorResponse } from '@angular/common/http';\r\nimport { MultiSelectCancellation } from 'src/app/Models/Dashboard/DashboardFilters';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MCPlanningMaterialService {\r\n private apiUploadUrl: string;\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 this.apiUploadUrl = this.ROOT_URL + '/api/AnnualRequirement/UploadFile';\r\n }\r\n\r\n downloadAnnualRequirementExcel(brand: any, month: any, crop: any, jobtype: any, state: any, year:any): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let roleId = localStorage.getItem('mcmt_roleID');\r\n let Brand = brand;\r\n let Crop = crop;\r\n let JobType = jobtype;\r\n let Month = month;\r\n let State = state;\r\n let Year = year;\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\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/DownloadAnnualRequirementExcel?UserID=\" + userID + \"&RoleId=\" + roleId\r\n + \"&Brand=\" + Brand + \"&Crop=\" + Crop + \"&JobType=\" + JobType + \"&Month=\" + Month + \"&State=\" + State+ \"&Year=\" + Year,\r\n headers: headers,\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 getdataonbrandselection(brand: any, crop: any, jobtype: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"JobType\": jobtype\r\n }\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/AnnualRequirement/Getdataonbrandselection\",\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 downloadFile(fileName: string, url: string) {\r\n url = this.ROOT_URL + url;\r\n return this.http.get(url, {\r\n responseType: ResponseContentType.Blob//, search: // query string if have\r\n }).map(res => {\r\n return {\r\n\r\n filename: fileName,\r\n data: res.blob()\r\n\r\n };\r\n }).subscribe(res => {\r\n window.location.href = this.ROOT_URL + '/Templates/' + res.filename;\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 public uploadFile(file: Blob): Observable {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let roleId = localStorage.getItem('mcmt_roleID');\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/UploadFile?UserID=\" + userID + \"&RoleId=\" + roleId + \"&formFile\" + formData,\r\n headers: headers,\r\n body: formData\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 finalRequirementFilters(year:any): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/FinalRequirement/FinalRequirementFilters?userID=\" + userID+\"&year=\"+year,\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 getAnnualRequirementDetail(type: any, brand: any, crop: any, month: any,year:any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Month\": month,\r\n \"Year\": year\r\n }\r\n let headers = new Headers({ '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/AnnualRequirement/GetAnnualRequirementDetail\",\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 getAnnualRequirementFilters(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/GetAnnualRequirementFilters?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\n finalRequirementDetails(pageNo :number,jobNumber: string, name: string, type: string, brand: string, crop: string, requirementType: string, language: string, status: any, bm: string, ma: string, month: string, state: string,year:string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"RequirementType\": requirementType,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"BM\": bm,\r\n \"MA\": ma,\r\n \"Month\": month,\r\n \"State\": state,\r\n \"Year\": year,\r\n \"pageNo\":pageNo\r\n }\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/FinalRequirement/FinalRequirementDetails\",\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 uploadDocument(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n formData.append(\"RoleId\", localStorage.getItem('mcmt_roleID'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/AnnualRequirement/UploadDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n uploadMaterialDispatchDocument(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/MaterialDispatch/UploadMaterialDispatchDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n downloadFinalRequirementExcel(jobNumber: string, name: string, type: string, brand: string, crop: string, requirementType: string, language: string, status: any, bm: string, ma: string, month: string, state: string,roleId:any,year:string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"RequirementType\": requirementType,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"BM\": bm,\r\n \"MA\": ma,\r\n \"Month\": month,\r\n \"State\": state,\r\n \"Year\": year\r\n }\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:roleId=='47'?this.ROOT_URL + \"/api/FinalRequirement/DownloadFinalRequirementExcel\":this.ROOT_URL + \"/api/FinalRequirement/DownloadBrandManagerRequirementExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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 approveReviewFinalRequirement(approvedQuantity: ApprovedQuantity[]): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"ApprovedDetail\": approvedQuantity\r\n }\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/FinalRequirement/ApproveReviewFinalRequirement\",\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 getdataonfilterselection(jobNumber: any, rmh: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": rmh\r\n }\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/Dashboard/GetRMHJobnumber\",\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 uploadApprovedQuantity(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/FinalRequirement/ApproveReviewFinalRequirementExcel\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n\r\n downloadAdditionalRequirementExcel(brand: any, month: any, crop: any, jobtype: any, state: any,year:any): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let roleId = localStorage.getItem('mcmt_roleID');\r\n let Brand = brand;\r\n let Crop = crop;\r\n let JobType = jobtype;\r\n let Month = month;\r\n let State = state;\r\n let Year = year\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\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/AdditionalRequirement/DownloadAdditionalRequirementExcel?UserID=\" + userID + \"&RoleId=\" + roleId\r\n + \"&Brand=\" + Brand + \"&Crop=\" + Crop + \"&JobType=\" + JobType + \"&Month=\" + Month + \"&State=\" + State+ \"&Year=\" + Year,\r\n //url: this.ROOT_URL + \"/api/AnnualRequirement/DownloadAnnualRequirementExcel?UserID=\"+ userID +\"&RoleId=\"+roleId,\r\n headers: headers,\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 GetAdditionalRequirementDetail(type: string, brand: string, crop: string, month: string,year:string,state:string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Month\": month,\r\n \"Year\": year,\r\n \"State\": state\r\n }\r\n let headers = new Headers({ '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/AdditionalRequirement/GetAdditionalRequirementDetail\",\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 uploadAdditionalRequirement(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n formData.append(\"RoleId\", localStorage.getItem('mcmt_roleID'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/AdditionalRequirement/UploadAdditionalRequirement\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n getAdditionalRequirementFilters(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/AdditionalRequirement/GetAdditionalRequirementFilters?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\n //#region Material Allocation\r\n getMaterialAllocationFilter(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/MaterialAllocation/MaterialAllocationFilter?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 materialAllocationDetails(rmhName: string, jobtype: string, brand: string, crop: string, language: string, month: string, jobNumber: string, state: string, status: string,year:string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobtype,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"Month\": month,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"Status\": status,\r\n \"Year\": year\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/MaterialAllocation/MaterialAllocationDetails\",\r\n headers: headers,\r\n body: _body\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 SavematerialAllocationDetails(Defination: string, AllocateID: number, RequirementID: number, JobNumber: string, UserID: string, UserRole: string, UserName: string, ApprovedQuantity: number, AllocatedQuantity: number, TotalRemaining: number, IsSavedasDraft: boolean, IsSubmitted: boolean, RequirementType: number, Regioncode: string): Observable {\r\n let _body = {\r\n \"defination\": Defination,\r\n \"AllocateID\": AllocateID,\r\n \"RequirementID\": RequirementID,\r\n \"JobNumber\": JobNumber,\r\n \"UserID\": UserID,\r\n \"UserRole\": UserRole,\r\n \"UserName\": UserName,\r\n \"ApprovedQuantity\": ApprovedQuantity,\r\n \"AllocatedQuantity\": AllocatedQuantity,\r\n \"TotalRemaining\": TotalRemaining,\r\n \"IsSavedasDraft\": IsSavedasDraft,\r\n \"IsSubmitted\": IsSubmitted,\r\n \"RequirementType\": RequirementType,\r\n \"Regioncode\": Regioncode\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/MaterialAllocation/SaveMaterialAllocation\",\r\n headers: headers,\r\n body: _body\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 DownloadmaterialAllocationExcel(month: string,year:string): Observable {\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/MaterialAllocation/DownloadMaterialAllocationExcel?Month=\" + month + \"&Year=\"+year,\r\n headers: headers,\r\n responseType: ResponseContentType.Blob,\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 UploadmaterialAllocationExcel(fileList: any): Observable {\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/MaterialAllocation/UploadMaterialAllocationExcel\",\r\n headers: headers,\r\n body: fileList,\r\n responseType: ResponseContentType.Json\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 GetMaterialAllocationRegion(jobNumber: string): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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/MaterialAllocation/GetRegionMaterialAllocation?Jobnumber=\" + jobNumber,\r\n headers: headers\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 //end region\r\n // #region Production\r\n getProductionFilter(status: string): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let _body = {\r\n \"UserID\": userID,\r\n \"requirementDetailsId\": status\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/Production/GetProductionFilters\",\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 getProductionDetails(rmhName: any, jobType: any, brand: any, crop: any, language: any, month: any, status: any, jobNumber: any, state: any, vendor: any): Observable {\r\n let _body = {\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Month\": month,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"vendor\": vendor\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/Production/GetProductionDetails\",\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 GetProductionPrintingDetails(rmhName: any, jobType: any, brand: any, crop: any, language: any, month: any, status: any, jobNumber: any, state: any, vendor: any, year: string): Observable {\r\n let _body = {\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Month\": month,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"vendor\": vendor,\r\n \"Year\": year\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/Production/GetProductionPrintingDetails\",\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 GetProductionPrintingExcel(rmhName: any, jobType: any, brand: any, crop: any, language: any, month: any, status: any, jobNumber: any, state: any, vendor: any,year: string): Observable {\r\n let _body = {\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Month\": month,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"vendor\": vendor,\r\n \"Year\": year\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/Production/DownloadProductionExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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 uploadProductionExcel(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/Production/UploadProductionExcel\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n GetRequirementDetailsZMH(rmhName: any, jobType: any, brand: any, crop: any, language: any, status: any, jobNumber: any,year:any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"Year\": year\r\n\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/AnnualRequirement/GetAnnualRequirementDetailForZMHApproval\",\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 GetAnnualRequirementDetailForZMHApprovalExcel(rmhName: any, jobType: any, brand: any, crop: any, language: any, status: any, jobNumber: any,year:any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"Year\": year,\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/AnnualRequirement/GetAnnualRequirementDetailForZMHApprovalExcel\",\r\n headers: headers,\r\n body:_body,\r\n responseType: ResponseContentType.Blob,\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 GetRequirementDetailForJobCancellation(rmhName: any, jobType: any, brand: any, crop: any, language: any, status: any, jobNumber: any, requester: any, year: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"Requested\": requester,\r\n \"Year\": year\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/AnnualRequirement/GetRequirementDetailForJobCancellation\",\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 getRequirementDetailsFiltersZMH(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/GetRequirementDetailsFiltersZMH?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 getRequirementDetailsForJobCancellation(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/GetRequirementDetailsForJobCancellation?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 UpdateProductionStatus(requirementDetailsId: any, status: any, AdditionalRequirequirementID: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"requirementDetailsId\": requirementDetailsId,\r\n \"status\": status,\r\n \"AdditionalRequirequirementID\": AdditionalRequirequirementID\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/Production/UpdateProductionStatus\",\r\n headers: headers,\r\n body: _body\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 updateArtworkStatus(Jobnumber:any,PONumber:any,ArtworkgiventoPrinter:any,PrinterSharedJpeg:any,ProofApproved:any,ProofApproverName:any): Observable {\r\n let _body = {\r\n \"LoggedInUser\": localStorage.getItem('mcmt_userId'),\r\n \"jobNumber\": Jobnumber,\r\n \"PONumber\": PONumber,\r\n \"ArtworkgiventoPrinter\": ArtworkgiventoPrinter,\r\n \"PrinterSharedJpeg\":PrinterSharedJpeg,\r\n \"ProofApproved\":ProofApproved,\r\n \"ProofApproverName\":ProofApproverName\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/Production/updateArtworkStatus\",\r\n headers: headers,\r\n body: _body\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 ApproveRequirement(Jobnumbers: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": Jobnumbers,\r\n\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/AnnualRequirement/ApproveRequirement\",\r\n headers: headers,\r\n body: _body\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 CancelJobnumbers(Jobnumbers: any,Remarks:any,CancelledQty:any,ApprovedQty:any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": Jobnumbers,\r\n \"Remarks\":Remarks,\r\n \"CancelledQty\":CancelledQty,\r\n \"ApprovedQty\":ApprovedQty\r\n\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/AnnualRequirement/CancelJobnumbers\",\r\n headers: headers,\r\n body: _body\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 CancelAllJobnumbers(selectedJobnumber: MultiSelectCancellation[]): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumberUdt\": selectedJobnumber\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/AnnualRequirement/CancelAllJobnumbers\",\r\n headers: headers,\r\n body: _body\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 // #endregion\r\n ////#region Material Dispatch\r\n GetMaterialDispatchToField(rmhName: any, jobType: any, brand: any, crop: any, language: any, status: any, jobNumber: any, state: any, year: any): Observable {\r\n let _body = {\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"Year\": year\r\n }\r\n\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/MaterialDispatch/GetMaterialDispatchToField\",\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 GetUserDetails(requirementID: any, jobNumber: string, requirementType: any): Observable {\r\n let _body = {\r\n \"requirementDetailsID\": Number(requirementID),\r\n \"jobNumber\": jobNumber,\r\n \"requirementType\": Number(requirementType),\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/MaterialDispatch/GetUserDetailsForDispatch\",\r\n headers: headers,\r\n body: _body\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 SaveDispatchDetails(userDetails: UserDetails): Observable {\r\n let _body = {\r\n \"RequirementDetailID\": userDetails.requirementDetailID,\r\n \"JobNumber\": userDetails.jobNumber,\r\n \"transportName\": userDetails.transportName,\r\n \"dispatchDate\": userDetails.dispatchDate,\r\n \"dispatchLocation\": userDetails.dispatchLocation,\r\n \"dispatchAddress\": userDetails.dispatchAddress,\r\n \"noOfBoxes\": userDetails.noOfBoxes,\r\n \"quantityDispatched\": userDetails.quantityDispatched,\r\n \"estimatedDelieveryDate\": userDetails.estimatedDeliveryDate,\r\n \"remarks\": userDetails.remarks,\r\n \"status\": userDetails.statusID,\r\n \"allocateID\": userDetails.allocateID,\r\n \"allocatedQuantity\": userDetails.allocatedQuantity,\r\n \"userName\": userDetails.userName,\r\n \"userID\": userDetails.userID,\r\n \"userRole\": userDetails.userRole,\r\n \"mobileNumber\": userDetails.mobileNumber,\r\n \"requirementType\": userDetails.requirementType,\r\n \"Regioncode\": userDetails.regioncode\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/MaterialDispatch/SaveMaterialDispatchDetails\",\r\n headers: headers,\r\n body: _body\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 DownloadMaterialDispatchExcel(status: string, year: string): Observable {\r\n let _body = {\r\n \"Status\": status,\r\n \"Year\": year\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/MaterialDispatch/DownloadMaterialDispatchExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob,\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 UpdateMaterialDispatchStatus(requirementID: any, status: number, additionalRequirement: any): Observable {\r\n let _body = {\r\n \"requirementDetailID\": requirementID,\r\n \"additionalrequirementDetails\": additionalRequirement,\r\n \"status\": status,\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/MaterialDispatch/UpdateMaterialDispatchStatus\",\r\n headers: headers,\r\n body: _body\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 getMaterialDispatchFilter(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/MaterialDispatch/MaterialDispatchFilter?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\n\r\n GetProductionPrintingDetails_ByPoNumber(poNumber: any): Observable {\r\n let _body = {\r\n \"PoNumber\": poNumber\r\n \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/Production/GetProductionPrintingDetailBy_PONumber\",\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 //#endregion\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpRequest, HttpEvent, HttpResponse } from '@angular/common/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { ApprovedQuantity } from '../../Models/MCPlanningMaterial/mcplanningmaterial';\r\nimport { MaterialDispatchDetails, UserDetails } from '../../Models/Material-Dispatch/MaterialDispatch';\r\nimport { HttpInterceptor, HttpHandler, HttpErrorResponse } from '@angular/common/http';\r\nimport { MultiSelectCancellation } from 'src/app/Models/Dashboard/DashboardFilters';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MCPlanningMaterialService {\r\n private apiUploadUrl: string;\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 this.apiUploadUrl = this.ROOT_URL + '/api/AnnualRequirement/UploadFile';\r\n }\r\n\r\n downloadAnnualRequirementExcel(brand: any, month: any, crop: any, jobtype: any, state: any, year:any): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let roleId = localStorage.getItem('mcmt_roleID');\r\n let Brand = brand;\r\n let Crop = crop;\r\n let JobType = jobtype;\r\n let Month = month;\r\n let State = state;\r\n let Year = year;\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\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/DownloadAnnualRequirementExcel?UserID=\" + userID + \"&RoleId=\" + roleId\r\n + \"&Brand=\" + Brand + \"&Crop=\" + Crop + \"&JobType=\" + JobType + \"&Month=\" + Month + \"&State=\" + State+ \"&Year=\" + Year,\r\n headers: headers,\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 getdataonbrandselection(brand: any, crop: any, jobtype: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"JobType\": jobtype\r\n }\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/AnnualRequirement/Getdataonbrandselection\",\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 downloadFile(fileName: string, url: string) {\r\n url = this.ROOT_URL + url;\r\n return this.http.get(url, {\r\n responseType: ResponseContentType.Blob//, search: // query string if have\r\n }).map(res => {\r\n return {\r\n\r\n filename: fileName,\r\n data: res.blob()\r\n\r\n };\r\n }).subscribe(res => {\r\n window.location.href = this.ROOT_URL + '/Templates/' + res.filename;\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 public uploadFile(file: Blob): Observable {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let roleId = localStorage.getItem('mcmt_roleID');\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/UploadFile?UserID=\" + userID + \"&RoleId=\" + roleId + \"&formFile\" + formData,\r\n headers: headers,\r\n body: formData\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 finalRequirementFilters(year:any): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/FinalRequirement/FinalRequirementFilters?userID=\" + userID+\"&year=\"+year,\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 getAnnualRequirementDetail(type: any, brand: any, crop: any, month: any,year:any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Month\": month,\r\n \"Year\": year\r\n }\r\n let headers = new Headers({ '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/AnnualRequirement/GetAnnualRequirementDetail\",\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 getAnnualRequirementFilters(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/GetAnnualRequirementFilters?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\n finalRequirementDetails(pageNo :number,jobNumber: string, name: string, type: string, brand: string, crop: string, requirementType: string, language: string, status: any, bm: string, ma: string, month: string, state: string,year:string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"RequirementType\": requirementType,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"BM\": bm,\r\n \"MA\": ma,\r\n \"Month\": month,\r\n \"State\": state,\r\n \"Year\": year,\r\n \"pageNo\":pageNo\r\n }\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/FinalRequirement/FinalRequirementDetails\",\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 uploadDocument(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n formData.append(\"RoleId\", localStorage.getItem('mcmt_roleID'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/AnnualRequirement/UploadDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n uploadMaterialDispatchDocument(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/MaterialDispatch/UploadMaterialDispatchDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n downloadFinalRequirementExcel(jobNumber: string, name: string, type: string, brand: string, crop: string, requirementType: string, language: string, status: any, bm: string, ma: string, month: string, state: string,roleId:any,year:string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"RequirementType\": requirementType,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"BM\": bm,\r\n \"MA\": ma,\r\n \"Month\": month,\r\n \"State\": state,\r\n \"Year\": year\r\n }\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:roleId=='47'?this.ROOT_URL + \"/api/FinalRequirement/DownloadFinalRequirementExcel\":this.ROOT_URL + \"/api/FinalRequirement/DownloadBrandManagerRequirementExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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 approveReviewFinalRequirement(approvedQuantity: ApprovedQuantity[]): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"ApprovedDetail\": approvedQuantity\r\n }\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/FinalRequirement/ApproveReviewFinalRequirement\",\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 getdataonfilterselection(jobNumber: any, rmh: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": rmh\r\n }\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/Dashboard/GetRMHJobnumber\",\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 uploadApprovedQuantity(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/FinalRequirement/ApproveReviewFinalRequirementExcel\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n\r\n downloadAdditionalRequirementExcel(brand: any, month: any, crop: any, jobtype: any, state: any,year:any): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let roleId = localStorage.getItem('mcmt_roleID');\r\n let Brand = brand;\r\n let Crop = crop;\r\n let JobType = jobtype;\r\n let Month = month;\r\n let State = state;\r\n let Year = year\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\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/AdditionalRequirement/DownloadAdditionalRequirementExcel?UserID=\" + userID + \"&RoleId=\" + roleId\r\n + \"&Brand=\" + Brand + \"&Crop=\" + Crop + \"&JobType=\" + JobType + \"&Month=\" + Month + \"&State=\" + State+ \"&Year=\" + Year,\r\n //url: this.ROOT_URL + \"/api/AnnualRequirement/DownloadAnnualRequirementExcel?UserID=\"+ userID +\"&RoleId=\"+roleId,\r\n headers: headers,\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 GetAdditionalRequirementDetail(type: string, brand: string, crop: string, month: string,year:string,state:string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Month\": month,\r\n \"Year\": year,\r\n \"State\": state\r\n }\r\n let headers = new Headers({ '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/AdditionalRequirement/GetAdditionalRequirementDetail\",\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 uploadAdditionalRequirement(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n formData.append(\"RoleId\", localStorage.getItem('mcmt_roleID'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/AdditionalRequirement/UploadAdditionalRequirement\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n getAdditionalRequirementFilters(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/AdditionalRequirement/GetAdditionalRequirementFilters?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\n //#region Material Allocation\r\n getMaterialAllocationFilter(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/MaterialAllocation/MaterialAllocationFilter?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 materialAllocationDetails(rmhName: string, jobtype: string, brand: string, crop: string, language: string, month: string, jobNumber: string, state: string, status: string,year:string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobtype,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"Month\": month,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"Status\": status,\r\n \"Year\": year\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/MaterialAllocation/MaterialAllocationDetails\",\r\n headers: headers,\r\n body: _body\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 SavematerialAllocationDetails(Defination: string, AllocateID: number, RequirementID: number, JobNumber: string, UserID: string, UserRole: string, UserName: string, ApprovedQuantity: number, AllocatedQuantity: number, TotalRemaining: number, IsSavedasDraft: boolean, IsSubmitted: boolean, RequirementType: number, Regioncode: string): Observable {\r\n let _body = {\r\n \"defination\": Defination,\r\n \"AllocateID\": AllocateID,\r\n \"RequirementID\": RequirementID,\r\n \"JobNumber\": JobNumber,\r\n \"UserID\": UserID,\r\n \"UserRole\": UserRole,\r\n \"UserName\": UserName,\r\n \"ApprovedQuantity\": ApprovedQuantity,\r\n \"AllocatedQuantity\": AllocatedQuantity,\r\n \"TotalRemaining\": TotalRemaining,\r\n \"IsSavedasDraft\": IsSavedasDraft,\r\n \"IsSubmitted\": IsSubmitted,\r\n \"RequirementType\": RequirementType,\r\n \"Regioncode\": Regioncode\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/MaterialAllocation/SaveMaterialAllocation\",\r\n headers: headers,\r\n body: _body\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 DownloadmaterialAllocationExcel(month: string,year:string): Observable {\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/MaterialAllocation/DownloadMaterialAllocationExcel?Month=\" + month + \"&Year=\"+year,\r\n headers: headers,\r\n responseType: ResponseContentType.Blob,\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 UploadmaterialAllocationExcel(fileList: any): Observable {\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/MaterialAllocation/UploadMaterialAllocationExcel\",\r\n headers: headers,\r\n body: fileList,\r\n responseType: ResponseContentType.Json\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 GetMaterialAllocationRegion(jobNumber: string): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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/MaterialAllocation/GetRegionMaterialAllocation?Jobnumber=\" + jobNumber,\r\n headers: headers\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 //end region\r\n // #region Production\r\n getProductionFilter(status: string): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let _body = {\r\n \"UserID\": userID,\r\n \"requirementDetailsId\": status\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/Production/GetProductionFilters\",\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 getProductionDetails(rmhName: any, jobType: any, brand: any, crop: any, language: any, month: any, status: any, jobNumber: any, state: any, vendor: any): Observable {\r\n let _body = {\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Month\": month,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"vendor\": vendor\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/Production/GetProductionDetails\",\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 GetProductionPrintingDetails(rmhName: any, jobType: any, brand: any, crop: any, language: any, month: any, status: any, jobNumber: any, state: any, vendor: any, year: string): Observable {\r\n let _body = {\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Month\": month,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"vendor\": vendor,\r\n \"Year\": year\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/Production/GetProductionPrintingDetails\",\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 GetProductionPrintingExcel(rmhName: any, jobType: any, brand: any, crop: any, language: any, month: any, status: any, jobNumber: any, state: any, vendor: any,year: string): Observable {\r\n let _body = {\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Month\": month,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"vendor\": vendor,\r\n \"Year\": year\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/Production/DownloadProductionExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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 uploadProductionExcel(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/Production/UploadProductionExcel\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n GetRequirementDetailsZMH(rmhName: any, jobType: any, brand: any, crop: any, language: any, status: any, jobNumber: any,year:any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"Year\": year\r\n\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/AnnualRequirement/GetAnnualRequirementDetailForZMHApproval\",\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 GetAnnualRequirementDetailForZMHApprovalExcel(rmhName: any, jobType: any, brand: any, crop: any, language: any, status: any, jobNumber: any,year:any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"Year\": year,\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/AnnualRequirement/GetAnnualRequirementDetailForZMHApprovalExcel\",\r\n headers: headers,\r\n body:_body,\r\n responseType: ResponseContentType.Blob,\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 GetRequirementDetailForJobCancellation(rmhName: any, jobType: any, brand: any, crop: any, language: any, status: any, jobNumber: any, requester: any, year: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"Requested\": requester,\r\n \"Year\": year\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/AnnualRequirement/GetRequirementDetailForJobCancellation\",\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 getRequirementDetailsFiltersZMH(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/GetRequirementDetailsFiltersZMH?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 getRequirementDetailsForJobCancellation(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/GetRequirementDetailsForJobCancellation?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 UpdateProductionStatus(requirementDetailsId: any, status: any, AdditionalRequirequirementID: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"requirementDetailsId\": requirementDetailsId,\r\n \"status\": status,\r\n \"AdditionalRequirequirementID\": AdditionalRequirequirementID\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/Production/UpdateProductionStatus\",\r\n headers: headers,\r\n body: _body\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 updateArtworkStatus(Jobnumber:any,PONumber:any,ArtworkgiventoPrinter:any,PrinterSharedJpeg:any,ProofApproved:any,ProofApproverName:any): Observable {\r\n let _body = {\r\n \"LoggedInUser\": localStorage.getItem('mcmt_userId'),\r\n \"jobNumber\": Jobnumber,\r\n \"PONumber\": PONumber,\r\n \"ArtworkgiventoPrinter\": ArtworkgiventoPrinter,\r\n \"PrinterSharedJpeg\":PrinterSharedJpeg,\r\n \"ProofApproved\":ProofApproved,\r\n \"ProofApproverName\":ProofApproverName\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/Production/updateArtworkStatus\",\r\n headers: headers,\r\n body: _body\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 ApproveRequirement(Jobnumbers: any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": Jobnumbers,\r\n\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/AnnualRequirement/ApproveRequirement\",\r\n headers: headers,\r\n body: _body\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 CancelJobnumbers(Jobnumbers: any,Remarks:any,CancelledQty:any,ApprovedQty:any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": Jobnumbers,\r\n \"Remarks\":Remarks,\r\n \"CancelledQty\":CancelledQty,\r\n \"ApprovedQty\":ApprovedQty\r\n\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/AnnualRequirement/CancelJobnumbers\",\r\n headers: headers,\r\n body: _body\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 CancelAllJobnumbers(selectedJobnumber: MultiSelectCancellation[]): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumberUdt\": selectedJobnumber\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/AnnualRequirement/CancelAllJobnumbers\",\r\n headers: headers,\r\n body: _body\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 // #endregion\r\n ////#region Material Dispatch\r\n GetMaterialDispatchToField(rmhName: any, jobType: any, brand: any, crop: any, language: any, status: any, jobNumber: any, state: any, year: any): Observable {\r\n let _body = {\r\n \"RMHName\": rmhName,\r\n \"JobType\": jobType,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"Status\": status,\r\n \"JobNumber\": jobNumber,\r\n \"State\": state,\r\n \"Year\": year\r\n }\r\n\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/MaterialDispatch/GetMaterialDispatchToField\",\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 GetUserDetails(requirementID: any, jobNumber: string, requirementType: any): Observable {\r\n let _body = {\r\n \"requirementDetailsID\": Number(requirementID),\r\n \"jobNumber\": jobNumber,\r\n \"requirementType\": Number(requirementType),\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/MaterialDispatch/GetUserDetailsForDispatch\",\r\n headers: headers,\r\n body: _body\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 SaveDispatchDetails(userDetails: UserDetails): Observable {\r\n let _body = {\r\n \"RequirementDetailID\": userDetails.requirementDetailID,\r\n \"JobNumber\": userDetails.jobNumber,\r\n \"transportName\": userDetails.transportName,\r\n \"dispatchDate\": userDetails.dispatchDate,\r\n \"dispatchLocation\": userDetails.dispatchLocation,\r\n \"dispatchAddress\": userDetails.dispatchAddress,\r\n \"noOfBoxes\": userDetails.noOfBoxes,\r\n \"quantityDispatched\": userDetails.quantityDispatched,\r\n \"estimatedDelieveryDate\": userDetails.estimatedDeliveryDate,\r\n \"remarks\": userDetails.remarks,\r\n \"status\": userDetails.statusID,\r\n \"allocateID\": userDetails.allocateID,\r\n \"allocatedQuantity\": userDetails.allocatedQuantity,\r\n \"userName\": userDetails.userName,\r\n \"userID\": userDetails.userID,\r\n \"userRole\": userDetails.userRole,\r\n \"mobileNumber\": userDetails.mobileNumber,\r\n \"requirementType\": userDetails.requirementType,\r\n \"Regioncode\": userDetails.regioncode\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/MaterialDispatch/SaveMaterialDispatchDetails\",\r\n headers: headers,\r\n body: _body\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 DownloadMaterialDispatchExcel(status: string, year: string): Observable {\r\n let _body = {\r\n \"Status\": status,\r\n \"Year\": year\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/MaterialDispatch/DownloadMaterialDispatchExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob,\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 UpdateMaterialDispatchStatus(requirementID: any, status: number, additionalRequirement: any): Observable {\r\n let _body = {\r\n \"requirementDetailID\": requirementID,\r\n \"additionalrequirementDetails\": additionalRequirement,\r\n \"status\": status,\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/MaterialDispatch/UpdateMaterialDispatchStatus\",\r\n headers: headers,\r\n body: _body\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 getMaterialDispatchFilter(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/MaterialDispatch/MaterialDispatchFilter?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\n\r\n GetProductionPrintingDetails_ByPoNumber(poNumber: any): Observable {\r\n let _body = {\r\n \"PoNumber\": poNumber\r\n \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/Production/GetProductionPrintingDetailBy_PONumber\",\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 //#endregion\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { Artworkspecification } from 'src/app/Models/Admin/artworkspecification';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ArtworksSpecificationService {\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 GetArtworksSpecification(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/ArtworksSpecification/ArtworksSpecification?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\n downloadArtworkExcel(): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_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/ArtworksSpecification/DownloadArtworkExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions : RequestOptions = new RequestOptions({\r\n headers : headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/ArtworksSpecification/UploadArtworkSpecification\", formData, requestoptions)\r\n .map((res : Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n\r\n updateArtworksSpecification(updateArtwork : Artworkspecification[]): Observable {\r\n let _body = {\r\n \"UserID\":localStorage.getItem('mcmt_userId'),\r\n \"UpdateArtwork\":updateArtwork\r\n }\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/ArtworksSpecification/UpdateArtworksSpecification\",\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\r\n getArtworksSpecificationDropDown(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/ArtworksSpecification/ArtworksSpecificationDropDown?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\n updateOtherBrands(portfolio, brand, brandManager): Observable {\r\n let _body = {\r\n \"UserID\" :localStorage.getItem('mcmt_userId'),\r\n \"Portfolio\" :portfolio,\r\n \"Brand\" : brand,\r\n \"BrandManager\" : brandManager\r\n }\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/ArtworksSpecification/UpdateOtherBrands\",\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","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { Bmbrandmapping } from 'src/app/Models/Admin/bmbrandmapping';\r\n\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\nexport class BmBrandService {\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 getBrandList(): Observable {\r\n let userID =localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/BmBrandMapping/GetBmBrandMapping?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\n updateBmBrandmapping(brand:Bmbrandmapping[]): Observable {\r\n let _body = {\r\n \"UserID\":localStorage.getItem('mcmt_userId'),\r\n \"Data\":brand\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/BmBrandMapping/UpdateBmBrandMapping\",\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","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { JobItemList } from 'src/app/Models/Admin/jobitemspecification';\r\n\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\nexport class JobSpecificationService {\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 getJobList() : Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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 : 'GET',\r\n url : this.ROOT_URL + \"/api/JobSpecification/GetJobSpecification?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\n updateJobConfiguration(jobList:JobItemList[]) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"Data\" : jobList\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/JobSpecification/UpdateJobSpecification\",\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","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\nexport class MaStateMappingService {\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 \r\n getMAStateMapping(selectedMA:any): Observable {\r\n let _body = {\r\n \"userID\" : localStorage.getItem('mcmt_userId'),\r\n \"MA\" : selectedMA\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/MaStateMapping/GetMAStateMapping\",\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","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { ProductList } from 'src/app/Models/Admin/ProductConfiguration';\r\n\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\nexport class ProductConfigurationService {\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 getProductList() : Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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 : 'GET',\r\n url : this.ROOT_URL + \"/api/ProductConfiguration/ProductConfiguration?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\n \r\n updateProductConfiguration(brandList:ProductList[]) : Observable {\r\n let _body = {\r\n \"UserID\" :localStorage.getItem('mcmt_userId'),\r\n \"Data\" : brandList\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/ProductConfiguration/UpdateProductConfiguration\",\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","import { Injectable } from \"@angular/core\";\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { global } from '../../models/global';\r\nimport { Observable } from \"rxjs\";\r\nimport { updateStatus } from \"src/app/Models/Admin/production-approval\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n\r\nexport class ProductionApprovalService {\r\n ROOT_URL: string = \"\";\r\n \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 artworkProductionFilters(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/ProductionApproval/ArtworkProductionFilters?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\n artworkProductionDetails(jobNumber: string, name: string, type: string, brand: string, crop: string, language: string, status: any, month: string, state: string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"Month\": month,\r\n \"State\": state\r\n }\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/ProductionApproval/ArtworkProductionDetails\",\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 downloadExcel(jobNumber: string, name: string, type: string, brand: string, crop: string, language: string, status: any, month: string, state: string,Vendor: string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"Month\": month,\r\n \"State\": state,\r\n \"Vendor\": Vendor\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/ProductionApproval/DownloadProductionApprovalExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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 uploadArtworkProduction(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/ProductionApproval/UploadArtworkProduction\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n updateArtworkProduction(updateArtworkProduction: updateStatus[]): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": updateArtworkProduction\r\n }\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/ProductionApproval/UpdateArtworkProduction\",\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\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { UpdatedTimeline } from 'src/app/Models/Admin/timeline-configuration';\r\n\r\n\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\n\r\nexport class TimelineConfigurationService {\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 \r\n getTimelineConfiguration(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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 : 'GET',\r\n url : this.ROOT_URL + \"/api/TimelineConfiguration/GetTimelineConfiguration?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 updateTimelineConfiguration(updatedTimeline:UpdatedTimeline[]): Observable {\r\n let _body = {\r\n \"UserID\":localStorage.getItem('mcmt_userId'),\r\n \"UpdatedTimeline\":updatedTimeline\r\n }\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/TimelineConfiguration/UpdateTimelineConfiguration\",\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","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 UnitPriceService {\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 getUnitPrice(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/UnitPrice/GetUnitPrice?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\n downloadExcel(): Observable {\r\n let userID = localStorage.getItem('mcmt_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: 'GET',\r\n url: this.ROOT_URL + \"/api/UnitPrice/DownloadUnitPriceExcel?userID=\" + userID,\r\n headers: headers,\r\n responseType: ResponseContentType.Blob\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 uploadUnitPrice(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/UnitPrice/UploadUnitPrice\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { VendorDetails } from 'src/app/Models/Admin/vendor-details';\r\nimport { HttpEvent } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VendorDetailService {\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 getVendorDetails(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/VendorDetails/GetVendorDetails?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\n downloadVendorExcel(): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_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/VendorDetails/DownloadVendorExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/VendorDetails/UploadVendorDetail\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n\r\n updateVendorDetail(updateArtwork: VendorDetails[]): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"UpdateVendor\": updateArtwork\r\n }\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/VendorDetails/UpdateVendorDetail\",\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\r\n getVendorDetailDropDown(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/VendorDetails/VendorDetailDropDown?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\n uploadPDFDocument(name : any,documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n formData.append(\"VendorName\",name);\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/VendorDetails/UploadVendorPDFDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n downloadPDFDocument(name : any): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"VendorName\" : name\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/VendorDetails/DownloadVendorPDFDocument\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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: 'text/html' })\r\n return blob;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { workerAddressDetails } from '../../Models/Admin/worker-address';\r\n\r\n\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\nexport class WorkerAddressService {\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 getWorkerDetail(workerAddress:workerAddressDetails) : Observable {\r\n let _body = {\r\n \"ACTION\": workerAddress.action,\r\n \"ID\": workerAddress.id,\r\n \"USERNAME\": workerAddress.username,\r\n \"USERID\": workerAddress.userid,\r\n \"DESIGNATION\": workerAddress.designation,\r\n \"StreetAddress\": workerAddress.streetAddress,\r\n \"City\": workerAddress.city,\r\n \"PINCODE\": workerAddress.pincode,\r\n \"STATE\": workerAddress.state,\r\n \"LoggedInUser\": localStorage.getItem('mcmt_userId')\r\n }\r\n\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/WorkerAddress/GetWorkerAddressDetails\",\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 DownloadWorkerAddressExcel(): Observable {\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/WorkerAddress/DownloadworkerAddressExcel?userId=\" + localStorage.getItem('mcmt_userId'),\r\n headers: headers,\r\n responseType: ResponseContentType.Blob,\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\ngetworkerFilter()\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: 'GET',\r\n url: this.ROOT_URL + \"/api/WorkerAddress/getworkerFilter\",\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\nUploadWorkerAddressExcel(fileList: any): Observable {\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/WorkerAddress/UploadWorkerAddressExcel?userid=\"+localStorage.getItem('mcmt_userId'),\r\n headers: headers,\r\n body: fileList,\r\n responseType: ResponseContentType.Json\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 // UpdateWorkerDetail() : Observable {\r\n // let _body = {\r\n // \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n // \"Data\" : jobList\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/JobSpecification/UpdateJobSpecification\",\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","import { Injectable } from \"@angular/core\";\r\nimport { Http ,Response,Headers, ResponseContentType, RequestOptions,ResponseOptions, Request } from \"@angular/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { global } from '../../models/global';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BulkUploadService {\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 DownloadBulkJobCancellationExcel(): Observable {\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: 'GET',\r\n url: this.ROOT_URL + \"/api/BulkUpload/DownloadBulkJobCancelExcel\",\r\n headers: headers,\r\n responseType: ResponseContentType.Blob,\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 uploadBulkJobCancellation(fileList: any): Observable {\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/BulkUpload/UploadBulkJobCancellationDocument\",\r\n headers: headers,\r\n body: fileList,\r\n responseType: ResponseContentType.Json\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 * as CryptoJS from 'crypto-js';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EncryptionDecryptionService {\r\n\r\n constructor() { }\r\n\r\n //The set method is use for encrypt the value.\r\n set(keys, value){\r\n var key = CryptoJS.enc.Utf8.parse(keys);\r\n var iv = CryptoJS.enc.Utf8.parse(keys);\r\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(value.toString()), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n\r\n return encrypted.toString();\r\n }\r\n\r\n //The get method is use for decrypt the value.\r\n get(keys, value){\r\n var key = CryptoJS.enc.Utf8.parse(keys);\r\n var iv = CryptoJS.enc.Utf8.parse(keys);\r\n var decrypted = CryptoJS.AES.decrypt(value, key, {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n\r\n return decrypted.toString(CryptoJS.enc.Utf8);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { UpdatedPODetails } from 'src/app/Models/job-allocation-to-vendors/po-status-update';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PoStatusUpdateService {\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 poStatusUpdateFilters(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/PoStatusUpdate/PoStatusUpdateFilters?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\n getPoStatusUpdate(jobNumber: string, name: string, type: string, brand: string, crop: string, language: string, status: any, month: string, state: string, year: string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"Month\": month,\r\n \"State\": state,\r\n \"Year\": year\r\n }\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/PoStatusUpdate/GetPoStatusUpdate\",\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 downloadExcel(jobNumber: string, name: string, type: string, brand: string, crop: string, language: string, status: any, month: string, state: string, year: string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"Month\": month,\r\n \"State\": state,\r\n \"Year\": year\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/PoStatusUpdate/DownloadPoStatusUpdateExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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 updatePO(updatedPO : UpdatedPODetails[]): Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"Details\" : updatedPO\r\n }\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/PoStatusUpdate/UpdatePoStatus\",\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\r\n uploadPoStatus(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/PoStatusUpdate/UpdatePoStatusExcel\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n\r\n ValidatePoNumber(poNumber: string): Observable {\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/PoStatusUpdate/ValidatePONumber?poNumber=\"+poNumber,\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 poApprovalDetails(id:number,jobNumber: string,vendorType :number,approvedQuantity:number,poNumber:string,poQuantity:number,poIssueDate:any,poEstimateDeliveryDate:any,action:string,cancellationRemark:string=null): Observable {\r\n let _body = {\r\n \"ID\":id,\r\n \"LoggedInUser\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"VendorType\": vendorType,\r\n \"ApprovedQuantity\": approvedQuantity,\r\n \"PONumber\": poNumber,\r\n \"POQuantity\": poQuantity,\r\n \"POIssueDate\": poIssueDate,\r\n \"EstimateDeliveryToWH\":poEstimateDeliveryDate,\r\n \"Action\": action,\r\n \"cancellationRemark\":cancellationRemark\r\n\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/PoStatusUpdate/GetPoApprovalDetails\",\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}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { UpdateVendorType } from 'src/app/Models/job-allocation-to-vendors/vendor-finalization';\r\nimport { UpdateVendorTypeDetails } from '../../Models/job-allocation-to-vendors/vendor-finalization';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VendorFinalizationService {\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 vendorFinalizationFilters(): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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: 'GET',\r\n url: this.ROOT_URL + \"/api/VendorFinalization/VendorFinalizationFilters?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\n getVendorFinalization(jobNumber: string, name: string, type: string, brand: string, crop: string, language: string, status: any, month: string, state: string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"Month\": month,\r\n \"State\": state\r\n }\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/VendorFinalization/GetVendorFinalization\",\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 downloadExcel(jobNumber: string, name: string, type: string, brand: string, crop: string, language: string, status: any, month: string, state: string,Vendor: string,year: string): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\": jobNumber,\r\n \"RMHName\": name,\r\n \"JobType\": type,\r\n \"Brand\": brand,\r\n \"Crop\": crop,\r\n \"Language\": language,\r\n \"OrderStatus\": status,\r\n \"Month\": month,\r\n \"State\": state,\r\n \"Vendor\": Vendor,\r\n \"Year\": year\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/VendorFinalization/DownloadVendorFinalizationExcel\",\r\n headers: headers,\r\n body: _body,\r\n responseType: ResponseContentType.Blob\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 uploadVendorFinalization(documents: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", localStorage.getItem('mcmt_userId'));\r\n\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/VendorFinalization/UploadVendor\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n\r\n vendorTypes(): Observable {\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: 'GET',\r\n url: this.ROOT_URL + \"/api/VendorFinalization/GetVendorTypes\",\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\n updateVendorType(updateVendorType : UpdateVendorType[]): Observable {\r\n let _body = {\r\n \"UserID\": localStorage.getItem('mcmt_userId'),\r\n \"UpdateVendor\": updateVendorType\r\n }\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/VendorFinalization/UpdateVendorType\",\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 updateVendorTypeDetails(ID:number,JobNumber:string,VendorType:number,VendorName:string,CurrentStatus:number,IsActive:number,Action:string): Observable {\r\n let _body = {\r\n \"LoggedinUser\": localStorage.getItem('mcmt_userId'),\r\n \"ID\":ID,\r\n \"JobNumber\" : JobNumber,\r\n \"VendorType\" : VendorType,\r\n \"VendorName\" : VendorName,\r\n \"CurrentStatus\" :CurrentStatus,\r\n \"IsActive\" :IsActive,\r\n \"Action\" : Action\r\n\r\n }\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/VendorFinalization/UpdateVendorDetails\",\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","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 { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 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/Account/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('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Dashboard/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/Account/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('mcmt_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/Account/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/Account/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","// import { Injectable } from '@angular/core';\r\n\r\n// @Injectable({\r\n// providedIn: 'root'\r\n// })\r\n// export class PagerService {\r\n\r\n// constructor() { }\r\n// }\r\n\r\n\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { debounce } from 'rxjs/operator/debounce';\r\nimport { DebugElement } from '@angular/core/src/debug/debug_node';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PagerService {\r\n\r\n getPager(totalItems: number, currentPage: number = 1, pageSize: number) {\r\n // calculate total pages\r\n let totalPages = Math.ceil(totalItems / pageSize);\r\n\r\n // ensure current page isn't out of range\r\n if (currentPage < 1) {\r\n currentPage = 1;\r\n } else if (currentPage > totalPages) {\r\n currentPage = totalPages;\r\n }\r\n\r\n let startPage: number, endPage: number;\r\n if (totalPages <= 10) {\r\n // less than 10 total pages so show all\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else {\r\n // more than 10 total pages so calculate start and end pages\r\n if (currentPage <= 6) {\r\n startPage = 1;\r\n endPage = 10;\r\n } else if (currentPage + 4 >= totalPages) {\r\n startPage = totalPages - 9;\r\n endPage = totalPages;\r\n } else {\r\n startPage = currentPage - 5;\r\n endPage = currentPage + 4;\r\n }\r\n }\r\n\r\n // calculate start and end item indexes\r\n let startIndex = (currentPage - 1) * pageSize;\r\n let endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n\r\n // create an array of pages to ng-repeat in the pager control\r\n let pages = Array.from(Array((endPage + 1) - startPage).keys()).map(i => startPage + i);\r\n\r\n // return object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages\r\n };\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpRequest, HttpEvent, HttpResponse } from '@angular/common/http';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 ReportsService {\r\n private apiUploadUrl: string;\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 getApprovalStatusReport(year : string): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let _body = {\r\n \"UserId\": userID,\r\n \"Year\": year\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/Report/ApprovalStatusReport\",\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 getConsolidatedRequirementReport(year : string): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let _body = {\r\n \"UserId\": userID,\r\n \"Year\": year\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/Report/ConsolidatedRequirementReport\",\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 getAnnualStatusReport(year : string): Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\r\n let _body = {\r\n \"UserId\": userID,\r\n \"Year\": year\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/Report/AnnualStatusReport\",\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}\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('mcmt_userName');\r\n localStorage.removeItem('mcmt_userId');\r\n sessionStorage.removeItem('mcmt_token');\r\n localStorage.removeItem('mcmt_token');\r\n localStorage.removeItem('mcmt_roleCode');\r\n sessionStorage.removeItem('mcmt_userId');\r\n this.router.navigate(['/MCMaterial/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 { Http, Response, RequestOptions, Request, Headers, ResponseContentType, ResponseOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 { UpdateNotification } from 'src/app/Models/login/profile';\r\nimport { DropDownResponse } from 'src/app/Models/Dashboard/DashboardFilters';\r\n\r\n@Injectable({\r\n providedIn : 'root'\r\n})\r\nexport class WHStockInService {\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 getFilters() : Observable {\r\n let userID = localStorage.getItem('mcmt_userId');\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 : 'GET',\r\n //url : this.ROOT_URL + \"/api/Invetory/WarehouseStockInFilters?userID=\"+userID,\r\n url : this.ROOT_URL + \"/api/Inventory/WarehouseStockInFilter?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 changeRequest(type:number) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"Type\":type\r\n }\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/Dashboard/DashboardDetails\",\r\n url : this.ROOT_URL + \"/api/Inventory/WarehouseChangeRequest\",\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 getProductionSavedDetails(jobNumber : any, name : any, type : any, brand : any, crop : any, requirementType : any,\r\n language : any, status : any, po:any) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\" : jobNumber,\r\n \"RMHName\" : name,\r\n \"JobType\" : type,\r\n \"Brand\" : brand,\r\n \"Crop\" : crop,\r\n \"RequirementType\" : requirementType,\r\n \"Language\" : language,\r\n \"OrderStatus\" : status,\r\n \"PO\":po\r\n }\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/Production/WarehouseStockInDetails\",\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 getWarehouseStockInDetails(jobNumber : any, name : any, type : any, brand : any, crop : any, requirementType : any,\r\n language : any, status : any, po:any, year: any) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\" : jobNumber,\r\n \"RMHName\" : name,\r\n \"JobType\" : type,\r\n \"Brand\" : brand,\r\n \"Crop\" : crop,\r\n \"RequirementType\" : requirementType,\r\n \"Language\" : language,\r\n \"OrderStatus\" : status,\r\n \"PO\":po,\r\n \"Year\": year\r\n }\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/Inventory/WarehouseStockInDetails\",\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 getSaveSubmitStatus() : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId')\r\n }\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/Inventory/GetSaveSubmitStatus\",\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 saveAsDraftStockInDetails(JobNumber:any,StockInQuantity:any,PONumber:any,StockInDate:any,WHRemarks,Type:number) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\":JobNumber,\r\n \"StockInDate\" : StockInDate,\r\n \"StockInQuantity\" : StockInQuantity,\r\n \"PONumber\":PONumber,\r\n \"WHRemarks\":WHRemarks,\r\n \"Type\":Type\r\n }\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/Dashboard/DashboardDetails\",\r\n url : this.ROOT_URL + \"/api/Inventory/SaveAsDraftStockInDetails\",\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\r\n SubmitProductionDetails(JobNumber:any,poNumber:any,CNNNumber:any,VendorName:any,\r\n NumberofBoxes:any,Logistics:any,DocketNumber:any,InvoiceNumber:any,InvoiceDate:any,EstimatedDeliveryDate:any,DispatchedDate:any,InvoiceValue:any,\r\n PaymentDate:any,PoQuantity:any,Remarks:any,Type:number) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\":JobNumber,\r\n \"poNumber\":poNumber,\r\n \"CNNNumber\" : CNNNumber,\r\n \"VendorName\":VendorName,\r\n \"NumberofBoxes\" : NumberofBoxes,\r\n \"Logistics\" : Logistics,\r\n \"DocketNumber\" : DocketNumber,\r\n \"InvoiceNumber\" : InvoiceNumber,\r\n \"InvoiceDate\" : InvoiceDate,\r\n \"EstimatedDate\":EstimatedDeliveryDate,\r\n \"DispatchedDate\":DispatchedDate,\r\n \"InvoiceValue\":InvoiceValue,\r\n \"PaymentDate\":PaymentDate,\r\n \"PoQuantity\":PoQuantity,\r\n \"Remarks\":Remarks,\r\n \"Type\":Type\r\n \r\n }\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/Dashboard/DashboardDetails\",\r\n url : this.ROOT_URL + \"/api/Production/SaveAsDraftproductionDetails\",\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\r\n getdataonjobnumberselection(jobNumber : any,rmh:any,brand:any,po:any) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\" : jobNumber,\r\n \"RMHName\":rmh,\r\n \"Brand\":brand,\r\n \"PO\":po\r\n }\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/Inventory/GetRMHJobnumber\",\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 DownloadExcel(jobNumber : any, name : any, type : any, brand : any, crop : any, requirementType : any,\r\n language : any, status : any,po:any, year: any) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"JobNumber\" : jobNumber,\r\n \"RMHName\" : name,\r\n \"JobType\" : type,\r\n \"Brand\" : brand,\r\n \"Crop\" : crop,\r\n \"RequirementType\" : requirementType,\r\n \"Language\" : language,\r\n \"OrderStatus\" : status,\r\n \"PO\":po,\r\n \"Year\": year\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/Invetory/DownloadWarehouseStockInExcel\",\r\n url : this.ROOT_URL + \"/api/Inventory/DownloadExcelWHStockInExcel\",\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\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('mcmt_userId'));\r\n \r\n let headers = new Headers({'Authorization':'Bearer '+ localStorage.getItem('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n headers: headers\r\n })\r\n return this.http.post(this.ROOT_URL + \"/api/Inventory/UploadDocument\", formData, requestoptions)\r\n .map((res: Response) => {\r\n return res.json();\r\n });\r\n }\r\n \r\n\r\n \r\n getJobnumberDropdowns(ddlResponse : DropDownResponse) : Observable {\r\n let _body = {\r\n \"UserID\" : localStorage.getItem('mcmt_userId'),\r\n \"Data\" : ddlResponse\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/Account/GetJobnumberDropdowns\",\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","module.exports = \"\\r\\napp-artworks-specification .popup-wrap {z-index:10;}\\r\\napp-artworks-specification .overlay{z-index:9; background: rgba(0, 0, 0, 0.9) !important;}\"","module.exports = \" \\r\\n\\r\\n\"","import { Component } from '@angular/core';\r\nimport { HostListener } from '@angular/core';\r\nimport { SessionService } from './Services/session.service';\r\nimport { isNull } from 'util';\r\n\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 \r\n\r\n UAT_IP_1 = 'http://169.38.100.202:9245/#/'\r\n UAT_IP_2 = 'http://169.38.100.202:9246/#/'\r\n PROD_IP_1 = 'http://169.38.100.206:9254/#/'\r\n localHost = 'http://localhost:4200'\r\n title = 'MC Material Tracking';\r\n constructor(private session: SessionService) { }\r\n\r\n @HostListener('document:keyup', ['$event'])\r\n @HostListener('document:click', ['$event'])\r\n @HostListener('document:wheel', ['$event'])\r\n @HostListener('mousemove', ['$event'])\r\n @HostListener('window:scroll', ['$event'])\r\n onclick() {\r\n \r\n if ((window.location.href !== this.UAT_IP_1 + \"MCMaterial/Login\")\r\n && (window.location.href !== this.UAT_IP_2 + \"MCMaterial/Login\") \r\n && (window.location.href !== this.PROD_IP_1 + \"MCMaterial/Login\")\r\n && (window.location.href !== this.localHost + \"MCMaterial/Login\")\r\n ) {\r\n this.session.resetSession();\r\n }\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { HttpModule } from '@angular/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './Components/login/login.component';\r\nimport { LoginService } from './services/login/login.service';\r\nimport {PagerService} from './Services/pager.service';\r\nimport { HomeLayoutComponent } from './Components/Layout/HomeLayout.Component';\r\nimport { ProfileComponent } from './Components/profile/profile.component';\r\nimport { LoginLayoutComponent } from './Components/Layout/LoginLayout.Component';\r\nimport { AuthGuard } from './auth.guard';\r\nimport { HomeComponent } from './Components/home/home.component';\r\nimport { MatSnackBarComponent } from './Components/mat-snack-bar/mat-snack-bar.component';\r\nimport { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';\r\nimport { SelectAutocompleteModule } from 'mat-select-autocomplete';\r\nimport { ToastrModule } from '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 { EncryptionDecryptionService } from './Services/encryption-decryption/encryption-decryption.service';\r\nimport { MaterialAllocationComponent } from './Components/material-allocation/material-allocation.component';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\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 { DragDirective } from './drag-drop.directive';\r\nimport { AnnualRequirementComponent } from './Components/annual-requirement/annual-requirement.component';\r\nimport { InventoryManagementComponent } from './Components/inventory-management/inventory-management.component';\r\nimport { FinalRequirementComponent } from './Components/final-requirement/final-requirement.component';\r\nimport { UnitPriceComponent } from './Components/unit-price/unit-price.component';\r\nimport { VendorFinalizationComponent } from './Components/vendor-finalization/vendor-finalization.component';\r\nimport { PoStatusUpdateComponent } from './Components/po-status-update/po-status-update.component';\r\nimport { AdditionalRequirementComponent } from './Components/additional-requirement/additional-requirement.component';\r\nimport { ProductConfigurationComponent } from './Components/product-configuration/product-configuration.component';\r\nimport { MaStateMappingComponent } from './Components/state-mapping/ma-state-mapping.component';\r\nimport { ArtworksSpecificationComponent } from './Components/artworks-specification/artworks-specification.component';\r\nimport { JobSpecificationComponent } from './Components/job-specification/job-specification.component';\r\nimport { BrandMappingComponent } from './Components/brand-mapping/brand-mapping.component';\r\nimport { ApprovalStatusReportComponent } from './Components/approval-status-report/approval-status-report.component';\r\nimport { WHStockInComponent } from './Components/whstock-in/whstock-in.component';\r\nimport { ProductionPrintingComponent } from './Components/production-printing/production-printing.component';\r\nimport { MaterialDispatchComponent } from './Components/material-dispatch/material-dispatch.component';\r\nimport { ArtworkComponent } from './Components/artwork/artwork.component';\r\nimport { VendorDetailsComponent } from './Components/vendor-details/vendor-details.component';\r\nimport { TimelineSettingComponent } from './Components/timeline-setting/timeline-setting.component';\r\nimport { ProductionPackageingComponent } from './Components/production-packageing/production-packageing.component';\r\nimport { ZmhRequirementapprovalComponent } from './Components/zmh-requirementapproval/zmh-requirementapproval.component';\r\nimport { AnnualRequirementStatusReportComponent } from './Components/annual-requirement-status-report/annual-requirement-status-report.component';\r\nimport { JobnumberCancellationComponent } from './Components/jobnumber-cancellation/jobnumber-cancellation.component';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Request, XHRBackend, RequestOptions, Response, Http, RequestOptionsArgs, Headers } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Router } from '@angular/router';\r\n\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\nimport { AuthService } from './services/auth.service';\r\nimport { WorkerAddressComponent } from './Components/worker-address/worker-address.component';\r\nimport { BulkUploadComponent } from './Components/bulk-upload/bulk-upload.component';\r\n\r\n\r\n@Injectable()\r\nexport class httpinterceptService extends Http {\r\n\r\n constructor(backend: XHRBackend, defaultOptions: RequestOptions, private router: Router) {\r\n super(backend, defaultOptions);\r\n }\r\n // localHost = 'http://localhost:4200/';\r\n localHost = 'http://169.38.100.202:9246/';\r\n //localHost = 'http://169.38.100.206:9254/';\r\n request(url: string | Request, options?: RequestOptionsArgs): Observable { \r\n return super.request(url, options).catch(this.catchErrors());\r\n }\r\n\r\n private catchErrors() {\r\n return (res: Response) => {\r\n if (res.status === 401 || res.status === 403) {\r\n window.location.href = this.localHost + \"#\";\r\n }\r\n return Observable.throw(res);\r\n };\r\n }\r\n}\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent,\r\n children: [\r\n { path: '', component: LoginComponent, pathMatch: 'full' },\r\n { path: 'MCMaterial/Login', component: LoginComponent }\r\n ]\r\n },\r\n {\r\n path: '',\r\n component: HomeLayoutComponent,\r\n children: [\r\n { path: 'MCMaterial/Dashboard', component: HomeComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/AnnualRequirement', component: AnnualRequirementComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/Profile', component: ProfileComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/InventoryManagement', component: InventoryManagementComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/FinalRequirement', component: FinalRequirementComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/UnitPrice', component: UnitPriceComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/VendorFinalization', component: VendorFinalizationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/POtoVendors', component: PoStatusUpdateComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/AdditionalRequirement', component: AdditionalRequirementComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/ProductConfiguration', component: ProductConfigurationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/MAStateMapping', component: MaStateMappingComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/ArtworksSpecification', component: ArtworksSpecificationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/JobSpecification', component: JobSpecificationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/BMBrandMapping', component: BrandMappingComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/ApprovalStatusReport', component: ApprovalStatusReportComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/MaterialAllocation', component: MaterialAllocationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/ProductionApproval', component: ProductionPrintingComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/MaterialDispatch', component: MaterialDispatchComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/ArtworkApproval', component: ArtworkComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/VendorDetails', component: VendorDetailsComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/WarehouseStockIn', component: WHStockInComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/ProductionPackageing', component: ProductionPackageingComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/TimelineSettings', component: TimelineSettingComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/AnnualRequirementApproval', component: ZmhRequirementapprovalComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/AnnualStatusReport', component: AnnualRequirementStatusReportComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/AdditionalRequirementApproval', component: FinalRequirementComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/CancelJobNumber', component: JobnumberCancellationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/AddressManagement', component: WorkerAddressComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'MCMaterial/BulkUpload', component: BulkUploadComponent, pathMatch: 'full', canActivate: [AuthGuard]},\r\n ]\r\n },\r\n { path: '**', redirectTo: 'MCMaterial/Login' }\r\n]\r\n\r\n@NgModule({\r\n exports: [\r\n MatAutocompleteModule,\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 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 OrderModule,\r\n PdfViewerModule\r\n ],\r\n\r\n //declarations: [JobnumberCancellationComponent],\r\n //declarations: [WorkerAddressComponent],\r\n //declarations: [ZmhRequirementapprovalComponent],\r\n //declarations: [AnnualRequirementStatusReportComponent],\r\n // declarations: [ProductionPackageingComponent],\r\n //declarations: [WHStockInComponent],\r\n //declarations: [VendorDetailsComponent],\r\n //declarations: [MaterialDispatchComponent],\r\n //declarations: [ProductionPrintingComponent],\r\n //declarations: [ApprovalStatusReportComponent],\r\n\r\n //declarations: [AdditionalRequirementComponent],\r\n //declarations: [BrandMappingComponent],\r\n //declarations: [JobSpecificationComponent],\r\n //declarations: [ArtworksSpecificationComponent],\r\n //declarations: [MaStateMappingComponent],\r\n //declarations: [ProductConfigurationComponent],\r\n //declarations: [AnnualRequirementComponent]\r\n //declarations: [ProfileComponent, FinalRequirementComponent]\r\n\r\n})\r\nexport class DemoMaterialModule { }\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n HomeComponent,\r\n MatSnackBarComponent,\r\n HomeLayoutComponent,\r\n LoginLayoutComponent,\r\n DragDirective,\r\n AnnualRequirementComponent,\r\n InventoryManagementComponent,\r\n ProfileComponent, \r\n FinalRequirementComponent,\r\n UnitPriceComponent,\r\n VendorFinalizationComponent,\r\n PoStatusUpdateComponent,\r\n AdditionalRequirementComponent,\r\n ProductConfigurationComponent,\r\n MaStateMappingComponent,\r\n ArtworksSpecificationComponent,\r\n JobSpecificationComponent,\r\n BrandMappingComponent,\r\n InventoryManagementComponent,\r\n ProfileComponent, \r\n FinalRequirementComponent,\r\n ApprovalStatusReportComponent,\r\n VendorDetailsComponent,\r\n WHStockInComponent,\r\n MaterialAllocationComponent,\r\n ProductionPrintingComponent,\r\n MaterialDispatchComponent,\r\n ArtworkComponent,\r\n VendorDetailsComponent,\r\n TimelineSettingComponent,\r\n ProductionPackageingComponent,\r\n ZmhRequirementapprovalComponent,\r\n AnnualRequirementStatusReportComponent ,\r\n JobnumberCancellationComponent,\r\n WorkerAddressComponent,\r\n BulkUploadComponent\r\n\r\n ],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpModule,\r\n MatSnackBarModule,\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 ],\r\n providers: [\r\n {\r\n provide: Http,\r\n useFactory: (backend: XHRBackend, options: RequestOptions, router: Router) => {\r\n return new httpinterceptService(backend, options, router);\r\n },\r\n deps: [XHRBackend, RequestOptions, AuthService, Router]\r\n },LoginService,EncryptionDecryptionService,AuthGuard, MatSnackBarComponent, MatDatepickerModule,PagerService\r\n ],\r\n //providers: [LoginService,EncryptionDecryptionService,AuthGuard, MatSnackBarComponent, MatDatepickerModule,PagerService],\r\n bootstrap: [AppComponent]\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(\"mcmt_userId\");\r\n sessionStorage.setItem(\"mcmt_userID\", userId)\r\n let sessionUserId = sessionStorage.getItem(\"mcmt_userID\");\r\n if (sessionUserId == null) {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n flag = false;\r\n }\r\n } else {\r\n this.router.navigate(['/MCMaterial/Login']);\r\n flag = false;\r\n }\r\n }\r\n else {\r\n this.router.navigate(['/MCMaterial/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(['/MCMaterial/Login']);\r\n flag = false;\r\n }\r\n });\r\n\r\n return flag = true;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n HostBinding,\r\n HostListener,\r\n Output,\r\n EventEmitter\r\n} from \"@angular/core\";\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\nexport interface FileHandle {\r\n file: File,\r\n url: SafeUrl\r\n}\r\n\r\n@Directive({\r\n selector: \"[appDrag]\"\r\n})\r\nexport class DragDirective {\r\n @Output() files: EventEmitter = new EventEmitter();\r\n\r\n @HostBinding(\"style.background\") private background = \"#eee\";\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n @HostListener(\"dragover\", [\"$event\"]) public onDragOver(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = \"#999\";\r\n }\r\n\r\n @HostListener(\"dragleave\", [\"$event\"]) public onDragLeave(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = \"#eee\";\r\n }\r\n\r\n @HostListener('drop', ['$event']) public onDrop(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#eee';\r\n \r\n let files: File[] = [];\r\n for (let i = 0; i < evt.dataTransfer.files.length; i++) {\r\n const file = evt.dataTransfer.files[i];\r\n //const url = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(file));\r\n files.push( file );\r\n }\r\n if (files.length > 0) {\r\n this.files.emit(files);\r\n }\r\n }\r\n}\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 return \"https://localhost:44303\";\r\n case \"127.0.0.1\":\r\n return \"https://localhost:44303\";\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 { Observable } from 'rxjs';\r\nimport 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\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 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/Account/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('mcmt_token'), 'UserID': localStorage.getItem('mcmt_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Dashboard/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/Account/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('mcmt_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/Account/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/Account/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","// 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","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}