{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/Components/AdditionalRequirment/addtionalRequirment.component.html","webpack:///./src/app/Components/AdditionalRequirment/addtionalRequirment.component.ts","webpack:///./src/app/Components/AnnualRequirment/annualRequirment.component.html","webpack:///./src/app/Components/AnnualRequirment/annualRequirment.component.ts","webpack:///./src/app/Components/DSDispatchToField/DS-Dispatch-To-Field.component.html","webpack:///./src/app/Components/DSDispatchToField/DS-Dispatch-To-Field.component.ts","webpack:///./src/app/Components/DispatchSD/dispatch-sd.component.html","webpack:///./src/app/Components/DispatchSD/dispatch-sd.component.ts","webpack:///./src/app/Components/DispatchToWarehouse/dispatch-to-warehouse.component.css","webpack:///./src/app/Components/DispatchToWarehouse/dispatch-to-warehouse.component.html","webpack:///./src/app/Components/DispatchToWarehouse/dispatch-to-warehouse.component.ts","webpack:///./src/app/Components/FinalRequirment/finalRequirment.component.css","webpack:///./src/app/Components/FinalRequirment/finalRequirment.component.html","webpack:///./src/app/Components/FinalRequirment/finalRequirment.component.ts","webpack:///./src/app/Components/Layout/LoginLayout.Component.html","webpack:///./src/app/Components/Layout/LoginLayout.Component.ts","webpack:///./src/app/Components/Layout/MasterLayout.Component.html","webpack:///./src/app/Components/Layout/MasterLayout.Component.ts","webpack:///./src/app/Components/Reports/dsurequirement-report/dsurequirement-report.component.css","webpack:///./src/app/Components/Reports/dsurequirement-report/dsurequirement-report.component.html","webpack:///./src/app/Components/Reports/dsurequirement-report/dsurequirement-report.component.ts","webpack:///./src/app/Components/SDAcknowledge/sd-acknowledge.component.css","webpack:///./src/app/Components/SDAcknowledge/sd-acknowledge.component.html","webpack:///./src/app/Components/SDAcknowledge/sd-acknowledge.component.ts","webpack:///./src/app/Components/adminRights/crop-config/crop-config.component.css","webpack:///./src/app/Components/adminRights/crop-config/crop-config.component.html","webpack:///./src/app/Components/adminRights/crop-config/crop-config.component.ts","webpack:///./src/app/Components/adminRights/pack-size-config/pack-size-config.component.css","webpack:///./src/app/Components/adminRights/pack-size-config/pack-size-config.component.html","webpack:///./src/app/Components/adminRights/pack-size-config/pack-size-config.component.ts","webpack:///./src/app/Components/adminRights/product-config/product-config.component.css","webpack:///./src/app/Components/adminRights/product-config/product-config.component.html","webpack:///./src/app/Components/adminRights/product-config/product-config.component.ts","webpack:///./src/app/Components/adminRights/reminder-email-config/reminder-email-config.component.css","webpack:///./src/app/Components/adminRights/reminder-email-config/reminder-email-config.component.html","webpack:///./src/app/Components/adminRights/reminder-email-config/reminder-email-config.component.ts","webpack:///./src/app/Components/adminRights/timeline/timeline.component.css","webpack:///./src/app/Components/adminRights/timeline/timeline.component.html","webpack:///./src/app/Components/adminRights/timeline/timeline.component.ts","webpack:///./src/app/Components/demo-sample-allocation/demo-sample-allocation.component.css","webpack:///./src/app/Components/demo-sample-allocation/demo-sample-allocation.component.html","webpack:///./src/app/Components/demo-sample-allocation/demo-sample-allocation.component.ts","webpack:///./src/app/Components/demo-sample-mis/demo-sample-mis.component.css","webpack:///./src/app/Components/demo-sample-mis/demo-sample-mis.component.html","webpack:///./src/app/Components/demo-sample-mis/demo-sample-mis.component.ts","webpack:///./src/app/Components/dsCostApproval/ds-cost-approval.component.css","webpack:///./src/app/Components/dsCostApproval/ds-cost-approval.component.html","webpack:///./src/app/Components/dsCostApproval/ds-cost-approval.component.ts","webpack:///./src/app/Components/fmc-to-sd/fmc-to-sd.component.css","webpack:///./src/app/Components/fmc-to-sd/fmc-to-sd.component.html","webpack:///./src/app/Components/fmc-to-sd/fmc-to-sd.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/inventory.component.html","webpack:///./src/app/Components/inventory/inventory.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/mis-inventory/mis-inventory.component.css","webpack:///./src/app/Components/mis-inventory/mis-inventory.component.html","webpack:///./src/app/Components/mis-inventory/mis-inventory.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/Models/AdditionalRequirment/AdditionalRequirment.ts","webpack:///./src/app/Models/AdminRights/crop-details.ts","webpack:///./src/app/Models/AdminRights/reminder-email.ts","webpack:///./src/app/Models/AnnualRequirement/annual-requirement.ts","webpack:///./src/app/Models/DSCostApproval/SaveCostApproval.ts","webpack:///./src/app/Models/DSDispatchToField/DS-Dispatch-To-Field.model.ts","webpack:///./src/app/Models/Dashboard/DashboardFilters.ts","webpack:///./src/app/Models/DropDwon/DropDownRequest.ts","webpack:///./src/app/Models/Inventory/inventory-filters.ts","webpack:///./src/app/Models/MisInventory/mis-inventory.ts","webpack:///./src/app/Models/global.ts","webpack:///./src/app/Services/AdditionalRequirement/add-requirement.service.ts","webpack:///./src/app/Services/AdminRights/admin-rights.service.ts","webpack:///./src/app/Services/AnnualRequirement/annual-requirement.service.ts","webpack:///./src/app/Services/DSCostApproval/ds-costapproval.service.ts","webpack:///./src/app/Services/DSDispatchToField/DS-Dispatch-To-Field.service.ts","webpack:///./src/app/Services/Dashboard/dashboard.service.ts","webpack:///./src/app/Services/DemoSampleAllocation/demo-sample-allocation.service.ts","webpack:///./src/app/Services/DispatchToSD/dispatch-to-sd.service.ts","webpack:///./src/app/Services/DispatchToWarehouse/dispatch-to-warehouse.service.ts","webpack:///./src/app/Services/DropDown/dropdownService.ts","webpack:///./src/app/Services/FinalRequirement/final-requirement.service.ts","webpack:///./src/app/Services/FmcToSd/fmc-to-sd.service.ts","webpack:///./src/app/Services/MisInventory/mis-inventory.service.ts","webpack:///./src/app/Services/Reports/reports.service.ts","webpack:///./src/app/Services/SDAcknowledge/sd-acknowledge.service.ts","webpack:///./src/app/Services/encryption-decryption/encryption-decryption.service.ts","webpack:///./src/app/Services/inventory.service.ts","webpack:///./src/app/Services/login/login.service.ts","webpack:///./src/app/Services/pager.service.ts","webpack:///./src/app/Services/session.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/DSDispatchToField/DS-Dispatch-To-Field.model.ts","webpack:///./src/app/models/DSDispatchToSD/AddRow.ts","webpack:///./src/app/models/DemoSampleAllocation/demo-sample-allocation-details.ts","webpack:///./src/app/models/DropDwon/DropDownRequest.ts","webpack:///./src/app/models/global.ts","webpack:///./src/app/services/AnnualRequirement/annual-requirement.service.ts","webpack:///./src/app/services/auth.service.ts","webpack:///./src/app/services/login/login.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"
\\r\\n

Additional Requirement

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

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 Showing: {{startRecord}}-{{endRecord}} of {{totalRecord}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Request IdProductPack SizeCropRegionRaised ByNo of DemoDemo Area (In Sq. Mtr)JanFebMarAprMayJunJulAugSepOctNovDecRequirement YearDose Per AcreDose Per Plot (Gm/Ml)Requested QTY (Kg/Ltr)Dose ApplicationStatus
No Record Found
{{addReq.requestId}}{{addReq.productName}}{{addReq.packSize}}{{addReq.cropName}}{{addReq.region}}{{addReq.createdBy}}{{ConvertToCurrency(addReq.numberOfDemo)}}{{addReq.demoArea}}{{ConvertToCurrency(addReq.jan)}}{{ConvertToCurrency(addReq.feb)}}{{ConvertToCurrency(addReq.mar)}}{{ConvertToCurrency(addReq.apr)}}{{ConvertToCurrency(addReq.may)}}{{ConvertToCurrency(addReq.jun)}}{{ConvertToCurrency(addReq.jul)}}{{ConvertToCurrency(addReq.aug)}}{{ConvertToCurrency(addReq.sep)}}{{ConvertToCurrency(addReq.oct)}}{{ConvertToCurrency(addReq.nov)}}{{ConvertToCurrency(addReq.dec)}}{{addReq.year}}{{addReq.dosePerAcre|number:'1.2'}}{{addReq.dosePerPlot |number:'1.2'}}{{ConvertToCurrency(addReq.requestedQTY)}}{{addReq.doseApplication}}{{addReq.status}}
\\r\\n
\\r\\n \\r\\n \\r\\n
0 && isViewOnly=='0'\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

*Submission is still pending. Please press submit to confirm the requirement.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Showing: {{startRecordForHistory}}-{{endRecordForHistory}} of {{totalRecordForHistory}}\\r\\n

Approval History

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request NoReq TypeRegionStatusAction ByDate & TimeRequirement YearComments
{{appovalHistory.requestNo}}{{appovalHistory.reqType}}{{appovalHistory.region}}{{appovalHistory.status}}{{appovalHistory.actionBy}}{{appovalHistory.date}}{{appovalHistory.year}}{{appovalHistory.comments}}
{{\\\"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

Are you sure you want to submit?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { RegionModel, RMHModel } from '../../models/DropDwon/RegionModel';\r\nimport { ZoneModel } from '../../models/DropDwon/ZoneModel';\r\nimport { DivisionModel } from '../../models/DropDwon/DvisionModel';\r\nimport { SBUModel } from '../../models/DropDwon/SBUModel';\r\nimport { DropDownRequest, DropDownResponse } from '../../models/DropDwon/DropDownRequest';\r\nimport { productModel } from '../../models/DropDwon/ProductModel';\r\nimport { CropModel } from '../../models/DropDwon/CropModel';\r\nimport { AdditionalRequirment } from '../../Models/AdditionalRequirment/AdditionalRequirment'\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { global } from '../../models/global';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AdditionalRequirementService } from '../../Services/AdditionalRequirement/add-requirement.service';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { start } from 'repl';\r\n\r\n@Component({\r\n selector: 'additional-requirment',\r\n templateUrl: './addtionalRequirment.component.html'\r\n})\r\nexport class AdditionalRequirmentComponent implements OnInit {\r\n\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('cropSelect') cropSelect;\r\n @ViewChild('yearSelect') yearSelect;\r\n @ViewChild('month') month;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('file') file;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('year') year;\r\n @ViewChild('status')status\r\n\r\n public form: FormGroup;\r\n\r\n public monthList: any;\r\n public selectedMonth: any = [];\r\n public currentYear: any;\r\n public currentYearPlus: any;\r\n public Month: any;\r\n public dropdownMonthSettings: {};\r\n\r\n public RMHSettings = {};\r\n public RMHSelectedItems: RMHModel[];\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n\r\n public CropSettings = {};\r\n public CropSelectedItem: CropModel[];\r\n\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n\r\n public YearSettings= {};\r\n public SSettings= {};\r\n public dropdownStatus: {status:string}\r\n public YearSelectedItem: YearModel[];\r\n\r\n public userId: string;\r\n public roleId: string;\r\n public isViewOnly: string;\r\n public FlagDropDown: string;\r\n public loader: string = \"none\";\r\n public files: File[] = [];\r\n public fileName: string = '';\r\n public document: AdditionalRequirment = new AdditionalRequirment();\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n\r\n additionalReqObj: any = [];\r\n defaultView: boolean = true;\r\n totalRecord: any;\r\n currentPage: any;\r\n lastPage: any;\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n userName: string;\r\n displayReject = 'none';\r\n recordsOnCurrentPage: number;\r\n startRecord: number = 1;\r\n endRecord: number;\r\n endRecordForHistory: number;\r\n IsSubmittButtonDisable: boolean = true;\r\n\r\n\r\n selectedReqType: string;\r\n selectedRegion: any[] = [];\r\n selectedSbu: any[] = [];\r\n selectedDivision: any[] = [];\r\n selectedZone: any[] = [];\r\n selectedRMH: any[] = [];\r\n commaSeperatedSbus: string;\r\n commaSeperatedDivisions: string;\r\n commaSeperatedZones: string;\r\n commaSeperatedRegions: string;\r\n commaSeperatedSDs: string;\r\n commaSeperatedRMH: string;\r\n approvalDetails: any = [];\r\n// deepanshu code start\r\n currentPageForHistory: any;\r\n lastPageForHistory:any;\r\n totalRecordForHistory:any;\r\nrecordsOnCurrentPageForHistory: number = 0;\r\n startRecordForHistory:number=1;\r\n\r\nisDisabledPreviousForHistory=true;\r\n isDisabledNextForHistory=true;\r\n // deepanshu code end\r\n\r\n\r\n defaultValue = 'none';\r\n\r\n constructor(private ddlServices: DropDownService, private toastr: ToastrService, private addReqServices: AdditionalRequirementService) {\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.isViewOnly = localStorage.getItem('dsu_isViewOnly');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"44\") ? \"Supervisor\" : \"DEFAULT\";\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.currentYear = new Date();\r\n this.currentYearPlus = this.currentYear.getFullYear();\r\n this.Month = this.currentYear.getMonth();\r\n\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n debugger;\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n debugger;\r\n this.ddlResponse = response.data;\r\n debugger;\r\n this.ddlResponse.year=response.data.year;\r\n this.ddlResponse.status=response.data.status;\r\n this.SSetting();\r\n //response.data.status\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(),\r\n text: (new Date()).getFullYear()\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n // for(var i=0;i {\r\n });\r\n this.getMonthList();\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RegionSetting();\r\n this.RMHSetting();\r\n this.CropSetting();\r\n this.ProductSetting();\r\n \r\n this.YearSetting();\r\n \r\n }\r\n\r\n RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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 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 //maxHeight: 197,\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 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 ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product 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 SSetting() {\r\n this.SSettings = {\r\n singleSelection:true,\r\n idField: 'status',\r\n textField: 'status',\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 Annual Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n \r\n SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n bindMonthDropdownSetting() {\r\n this.dropdownMonthSettings = {\r\n singleSelection: false,\r\n text: \"Select Month\",\r\n idField: 'Id',\r\n textField: 'Text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n noDataAvailablePlaceholderText: 'No Month Found'\r\n };\r\n }\r\n ConvertToCurrency(value:any)\r\n {\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 getMonthList(): void {\r\n type MyArrayType = Array<{ Id: number, Text: string }>;\r\n const arrList: MyArrayType = [];\r\n this.bindMonthDropdownSetting();\r\n const arr: MyArrayType = [\r\n { Id: 1, Text: 'Jan' },\r\n { Id: 2, Text: 'Feb' },\r\n { Id: 3, Text: 'Mar' },\r\n { Id: 4, Text: 'Apr' },\r\n { Id: 5, Text: 'May' },\r\n { Id: 6, Text: 'Jun' },\r\n { Id: 7, Text: 'Jul' },\r\n { Id: 8, Text: 'Aug' },\r\n { Id: 9, Text: 'Sep' },\r\n { Id: 10, Text: 'Oct' },\r\n { Id: 11, Text: 'Nov' },\r\n { Id: 12, Text: 'Dec' },\r\n ];\r\n for (var i = 0; i <= this.Month; i++) {\r\n arrList.push(arr[i]);\r\n }\r\n this.monthList = arrList;\r\n this.selectedMonth = this.monthList.filter((item) => item.Id === (this.Month + 1));\r\n\r\n }\r\n\r\n public onSBUSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \")\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n this.commaSeperatedSbus = '';\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onDivisionSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \");\r\n\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.selectedDivision = [];\r\n this.commaSeperatedDivisions = '';\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelectAll(items: any) {\r\n this.selectedZone = [];\r\n this.commaSeperatedZones = '';\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n\r\n public onRegionSelect(item: any) {\r\n if (this.roleId != '42' && this.roleId != '76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n else {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n\r\n }\r\n }\r\n public onRegionDeSelect(item: any) {\r\n if (this.roleId != '42' && this.roleId != '76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n else {\r\n this.selectedRegion = [];\r\n this.commaSeperatedRegions = '';\r\n\r\n }\r\n }\r\n\r\n public onRegionSelectAll(items: any) {\r\n if (this.roleId != '42' && this.roleId != '76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n else {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n }\r\n\r\n }\r\n public onRegionDeSelectAll(items: any) {\r\n this.selectedRegion = [];\r\n this.commaSeperatedRegions = '';\r\n this.rmh.selectedItems = [];\r\n //this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n public onRMHSelect(item: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelect(item: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n\r\n public onRMHSelectAll(items: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelectAll(items: any) {\r\n this.regionSelect.selectedItems = [];\r\n //this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n\r\n public onProductSelect(item: any) {\r\n this.GetProductWiseData(this.productSelect.selectedItems);\r\n }\r\n public onProductSelectAll(item: any) {\r\n this.GetProductWiseData(this.productSelect.selectedItems);\r\n }\r\n public onProductDeSelectAll(items: any) {\r\n this.cropSelect.selectedItems = [];\r\n }\r\n public onProductDeSelect(items: any) {\r\n this.GetProductWiseData(this.productSelect.selectedItems);\r\n }\r\n\r\n public onCropDeSelect(item: any) {\r\n this.GetCropWiseData(this.cropSelect.selectedItems);\r\n }\r\n public onCropSelectAll(item: any) {\r\n this.GetCropWiseData(this.cropSelect.selectedItems);\r\n }\r\n public onCropDeSelectAll(items: any) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n public onCropSelect(items: any) {\r\n this.GetCropWiseData(this.cropSelect.selectedItems);\r\n }\r\n GetSBUWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.SBU = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSBUHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n this.zone.selectedItems = [];\r\n this.division.selectedItems = [];\r\n this.ddlResponse.division = response.data.division;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.division.selectedItems = response.data.division.map(item => { return { id: item.divisionCode, text: item.divisionName } });\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n GetDivisionWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n this.zone.selectedItems = [];\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.zone = response.data.zone;\r\n\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n GetZoneWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n GetRegionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRegionWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.rmh.length > 0)\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n else\r\n this.rmh.selectedItems = [];\r\n // this.rmh.selectedItems = [];\r\n // this.ddlResponse.rmh = response.data.rmh;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetRMHWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRMHWiseRegionDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.region.length > 0)\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n else\r\n this.regionSelect.selectedItems = [];\r\n // this.regionSelect.selectedItems = [];\r\n // this.ddlResponse.region = response.data.region;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n GetProductWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.product = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getProductWiseCropDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.crop.length > 0)\r\n this.cropSelect.selectedItems = response.data.crop.map(item => { return { id: item.cropId, text: item.cropName } });\r\n else\r\n this.cropSelect.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetCropWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.crop = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getCropWisePorductDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.product.length > 0)\r\n this.productSelect.selectedItems = response.data.product.map(item => { return { id: item.productId, text: item.productName } });\r\n else\r\n this.productSelect.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n if(selectedyear != (new Date()).getFullYear().toString())\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className = \"\";\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 onStatusSelect(status: {status: string}){\r\n this.dropdownStatus = status;\r\n }\r\n onSSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].status;\r\n if(selectedyear != (new Date()).getFullYear().toString())\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className = \"\";\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 DownloadExcel() {\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let today = new Date();\r\n let month;\r\n let year=0;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n \r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n let region = ''\r\n let roleId=0;\r\n if(this.roleId==\"56\"){\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n this.toastr.error('Please select region.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n }\r\n else{\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n }\r\n if (region.split(',').length > 20){\r\n this.toastr.error(\"Please select maximum 20 regions to download the excel\");\r\n this.loader = 'none';\r\n return false;\r\n } \r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.addReqServices.DownloadExcel(this.userId,region,year)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName +\"_\"+year+ \"_AdditionalRequirement_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n }, err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\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 UserId = localStorage.getItem('dsu_userId');\r\n let region = '';\r\n let product = '';\r\n let AnnualCycle='H1';\r\n\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.file.nativeElement.value = '';\r\n this.toastr.error(\"Please Select Valid File Type.\");\r\n return false;\r\n }\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n if (this.productSelect.selectedItems.length > 0) {\r\n product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n this.addReqServices.uploadDocument(this.document.file, UserId, region, product,AnnualCycle)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n if (resData.data[0].result === \"Success\") {\r\n this.toastr.success(resData.data[0].errordescription); \r\n\r\n }\r\n else {\r\n this.toastr.error(resData.data[0].errordescription);\r\n }\r\n } else {\r\n this.toastr.error(resData.message);\r\n }\r\n this.GetAdditionalRequirement(0,true);\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n \r\n }\r\n GetAdditionalRequirement(currentPage: any,IsUpload:any) {\r\n debugger;\r\n this.loader = 'block';\r\n this.isDisabledPrevious = true;\r\n this.isDisabledNext = false;\r\n let region = ''\r\n let product = ''\r\n let crop = ''\r\n let year=0;\r\n let status = '';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.startRecord = 1;\r\n\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n if(IsUpload){\r\n region = Array.prototype.map.call(this.regionSelect._data, function (item) { return item.id; }).join(\",\");\r\n }\r\n else{\r\n this.toastr.error('Please select region.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n }\r\n if (this.productSelect.selectedItems.length > 0) {\r\n product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n if (this.cropSelect.selectedItems.length > 0) {\r\n crop = Array.prototype.map.call(this.cropSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n if (this.dropdownStatus == undefined) {\r\n status = '';\r\n } else {\r\n status= this.dropdownStatus.status;\r\n }\r\n \r\n let page = currentPage;\r\n this.addReqServices.GetAdditionalRequirement(this.userId, region, \"\", product, crop,year, page,status)\r\n .subscribe((response) => {\r\n\r\n debugger;\r\n if (response.status) {\r\n debugger;\r\n console.log(response.data);\r\n this.defaultView = false;\r\n this.additionalReqObj = response.data;\r\n this.IsSubmittButtonDisable = this.additionalReqObj.isDisableSubmissionButton;\r\n this.totalRecord = this.additionalReqObj.pagination.totalRecord;\r\n this.currentPage = this.additionalReqObj.pagination.currentPage;\r\n this.lastPage = this.additionalReqObj.pagination.lastPage;\r\n this.recordsOnCurrentPage = this.additionalReqObj.pagination.recordOnPage;\r\n this.endRecord = this.recordsOnCurrentPage;\r\n if (this.currentPage == 1) {\r\n localStorage.setItem(\"numberOfRecordsOnFirstPage\", this.recordsOnCurrentPage.toString());\r\n }\r\n if (this.currentPage > 1) {\r\n this.isDisabledPrevious = false;\r\n this.startRecord = (this.currentPage - 1) * parseInt(localStorage.getItem(\"numberOfRecordsOnFirstPage\"), 10) + 1;\r\n this.endRecord = this.startRecord + this.recordsOnCurrentPage - 1;\r\n }\r\n if (this.currentPage == this.lastPage || this.totalRecord == 0) {\r\n this.isDisabledNext = !this.isDisabledNext;\r\n this.recordsOnCurrentPage = this.totalRecord;\r\n } if (this.additionalReqObj.additionalRequirement.length == 0) {\r\n this.startRecord = 0;\r\n this.endRecord = 0;\r\n this.recordsOnCurrentPage = 0;\r\n }\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n\r\n this.getApprovalHistory(1);\r\n\r\n }\r\n finalSubmission() {\r\n this.loader = 'block';\r\n let region = ''\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n this.toastr.error('Please select region.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.displayReject = 'none';\r\n this.addReqServices.FinalSubmission(this.userId, region)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.toastr.success(response.message);\r\n this.IsSubmittButtonDisable = true;\r\n this.GetAdditionalRequirement(0,false);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.IsSubmittButtonDisable = false;\r\n }\r\n this.displayReject = 'none';\r\n this.loader = 'none';\r\n }, error => {\r\n this.IsSubmittButtonDisable = false;\r\n this.loader = 'none';\r\n });\r\n }\r\n closePopup() {\r\n\r\n this.displayReject = 'none';\r\n }\r\n openCommentPopup() {\r\n\r\n this.displayReject = 'block';\r\n }\r\n reset() {\r\n this.defaultValue = 'none';\r\n // if (this.requirmentType != undefined) {\r\n // this.requirmentType.selectedItems = [];\r\n // }\r\n if (this.rmh != undefined) {\r\n this.rmh.selectedItems = [];\r\n }\r\n if (this.productSelect != undefined) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n if (this.cropSelect != undefined) {\r\n this.cropSelect.selectedItems = [];\r\n }\r\n if (this.sbu != undefined) {\r\n this.sbu.selectedItems = [];\r\n }\r\n if (this.division != undefined) {\r\n this.division.selectedItems = [];\r\n }\r\n if (this.zone != undefined) {\r\n this.zone.selectedItems = [];\r\n }\r\n if (this.regionSelect != undefined) {\r\n this.regionSelect.selectedItems = [];\r\n }\r\n if(this.yearSelect!=undefined){\r\n this.yearSelect.selectedItems=[];\r\n }\r\n }\r\n// modify getapporvalHistory\r\n getApprovalHistory(currentPageForHistory: number) {\r\n this.loader = 'block';\r\n this.isDisabledPreviousForHistory = true;\r\n this.isDisabledNextForHistory = false;\r\n this.startRecordForHistory=1;\r\n let region=\"\";\r\n let currentpageForHistory = currentPageForHistory;\r\n let year=0;\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n } if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRMH == undefined) {\r\n this.commaSeperatedRMH = '';\r\n }\r\n \r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.selectedReqType = 'ADDITIONAL'; \r\n this.roleId = localStorage.getItem('dsu_roleId'); \r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.addReqServices.getApprovalHistory(currentPageForHistory,this.userId, this.roleId, this.selectedReqType, this.commaSeperatedSbus, this.commaSeperatedDivisions, this.commaSeperatedZones, region, this.commaSeperatedRMH,year)\r\n .subscribe((approvalData) => {\r\n if(approvalData.data == null){\r\n this.startRecordForHistory = 0;\r\n this.recordsOnCurrentPageForHistory = 0;\r\n this.endRecordForHistory = 0;\r\n this.totalRecordForHistory = 0;\r\n this.approvalDetails = [];\r\n this.isDisabledNextForHistory = true;\r\n }\r\n else{\r\n this.approvalDetails = approvalData.data.approvalHistoryModels;\r\n this.totalRecordForHistory=approvalData.data.pagination.totalRecord;\r\n this.currentPageForHistory= approvalData.data.pagination.currentPage; \r\n this.lastPageForHistory = approvalData.data.pagination.lastPage;\r\n this.recordsOnCurrentPageForHistory = approvalData.data.pagination.recordsOnPage;\r\n this.endRecordForHistory = this.recordsOnCurrentPageForHistory;\r\n if (this.currentPageForHistory == 1)\r\n {\r\n localStorage.setItem(\"numberOfRecordsOnFirstPageForHistory\", this.recordsOnCurrentPageForHistory.toString());\r\n }\r\n if (this.currentPageForHistory > 1)\r\n {\r\n this.isDisabledPreviousForHistory = false;\r\n // this.startRecordForHistory = (this.currentPageForHistory - 1) * (approvalData.data.length) + 1;\r\n this.startRecordForHistory = (this.currentPageForHistory - 1) * parseInt(localStorage.getItem(\"numberOfRecordsOnFirstPageForHistory\"), 10) + 1;\r\n this.endRecordForHistory = this.startRecordForHistory + this.recordsOnCurrentPageForHistory - 1;\r\n }\r\n if (this.currentPageForHistory == this.lastPageForHistory || this.totalRecordForHistory == 0) {\r\n this.isDisabledNextForHistory = !this.isDisabledNextForHistory;\r\n this.recordsOnCurrentPageForHistory = this.totalRecordForHistory;\r\n }\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n\r\n this.loader = 'none';\r\n });\r\n }\r\n}","module.exports = \"
\\r\\n

Half Yearly Requirement

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

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 Showing: {{startRecord}}-{{recordsOnCurrentPage}} of {{totalRecord}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Request IdProductPack SizeCropRegionNo of DemoDemo Area (In Sq. Mtr)JanFebMarAprMayJunJulAugSepOctNovDecRequirement YearDose Per AcreDose Per Plot (Gm/Ml)Requested QTY (Kg/Ltr)Dose Application
No Record Found
{{annualReq.annualRequestedId}}{{annualReq.productName}}{{annualReq.packSize}}{{annualReq.cropName}}{{annualReq.region}}{{ConvertToCurrency(annualReq.numberOfDemo)}}{{annualReq.demoArea}}{{ConvertToCurrency(annualReq.jan)}}{{ConvertToCurrency(annualReq.feb)}}{{ConvertToCurrency(annualReq.mar)}}{{ConvertToCurrency(annualReq.apr)}}{{ConvertToCurrency(annualReq.may)}}{{ConvertToCurrency(annualReq.jun)}}{{ConvertToCurrency(annualReq.jul)}}{{ConvertToCurrency(annualReq.aug)}}{{ConvertToCurrency(annualReq.sep)}}{{ConvertToCurrency(annualReq.oct)}}{{ConvertToCurrency(annualReq.nov)}}{{ConvertToCurrency(annualReq.dec)}}{{annualReq.year}} {{annualReq.dosePerAcre | number:'1.2'}}{{annualReq.dosePerPlot | number:'1.2'}}{{ConvertToCurrency(annualReq.requestedQTY)}}{{annualReq.doseApplication}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
0 && isViewOnly=='0'\\\">\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

*Submission is still pending. Please press submit to confirm the requirement.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Showing: {{startRecordForHistory}}-{{endRecordForHistory}} of {{totalRecordForHistory}}\\r\\n

Approval History

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request NoReq TypeRegionStatusAction ByDate & TimeRequirement YearComments
{{appovalHistory.requestNo}}{{appovalHistory.reqType}}{{appovalHistory.region}}{{appovalHistory.status}}{{appovalHistory.actionBy}}{{appovalHistory.date}}{{appovalHistory.year}}{{appovalHistory.comments}}
{{\\\"No Record Found\\\"}}
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Are you sure you want to submit?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\"","import { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { RegionModel, RMHModel , RMHAnnualModel} from '../../models/DropDwon/RegionModel';\r\nimport { ZoneModel } from '../../models/DropDwon/ZoneModel';\r\nimport { DivisionModel } from '../../models/DropDwon/DvisionModel';\r\nimport { SBUModel } from '../../models/DropDwon/SBUModel';\r\nimport { DropDownRequest, DropDownResponse } from '../../models/DropDwon/DropDownRequest';\r\nimport { productModel } from '../../models/DropDwon/ProductModel';\r\nimport { CropModel } from '../../models/DropDwon/CropModel';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { global } from '../../models/global';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AnnualRequirement } from '../../Models/AnnualRequirement/annual-requirement';\r\nimport { AnnualRequirementService } from '../../Services/AnnualRequirement/annual-requirement.service';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { stringify } from 'querystring';\r\nimport { ifStmt } from '@angular/compiler/src/output/output_ast';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\n@Component({\r\n selector: 'annual-requirment',\r\n templateUrl: './annualRequirment.component.html'\r\n})\r\nexport class AnnualRequirmentComponent implements OnInit {\r\n\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('cropSelect') cropSelect;\r\n @ViewChild('yearSelect') yearSelect;\r\n @ViewChild('month') month;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('file') file;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('year') year;\r\n @ViewChild('annual') annual; \r\n @ViewChild('annualSelect') annualSelect;\r\n public form: FormGroup;\r\n\r\n public monthList: any;\r\n public selectedMonth: any = [];\r\n public currentYear: any;\r\n public currentYearPlus: any;\r\n public Month: any;\r\n public dropdownMonthSettings: {};\r\n\r\n public RMHSettings = {};\r\n public RMHSelectedItems: RMHModel[];\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n public RMHAnnualSettings={};\r\n public RMHAnnualSelectedItems: RMHAnnualModel[];\r\n\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n\r\n public CropSettings = {};\r\n public CropSelectedItem: CropModel[];\r\n\r\n public YearSettings= {};\r\n public YearSelectedItem: YearModel[];\r\n\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n\r\n public userId: string;\r\n public roleId: string;\r\n\r\n public AnnualType : any='';\r\n\r\n public isViewOnly: string;\r\n\r\n public FlagDropDown: string;\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n loader: string = \"none\";\r\n document: AnnualRequirement = new AnnualRequirement();\r\n IsFileCorrect: boolean;\r\n files: File[] = [];\r\n fileName: string = '';\r\n annualReqObj: any = [];\r\n defaultView: boolean = true;\r\n totalRecord: any;\r\n lastPage: any;\r\n currentPage: any;\r\n currentPageForHistory: any;\r\n lastPageForHistory:any;\r\n totalRecordForHistory:any;\r\n pager: any;\r\n config: { itemsPerPage: number; currentPage: number; };\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n isDisabledPreviousForHistory=true;\r\n isDisabledNextForHistory=true;\r\n userName: string;\r\n displayReject = 'none';\r\n recordsOnCurrentPage: number = 0;\r\n recordsOnCurrentPageForHistory: number = 0;\r\n startRecord: number = 1;\r\n startRecordForHistory:number=1;\r\n endRecordForHistory:number;\r\n IsSubmittButtonDisable: boolean = true;\r\n\r\n\r\n\r\n selectedReqType: string;\r\n selectedRegion: any[] = [];\r\n selectedSbu: any[] = [];\r\n selectedDivision: any[] = [];\r\n selectedZone: any[] = [];\r\n selectedRMH: any[] = [];\r\n commaSeperatedSbus: string;\r\n commaSeperatedDivisions: string;\r\n commaSeperatedZones: string;\r\n commaSeperatedRegions: string;\r\n commaSeperatedSDs: string;\r\n commaSeperatedRMH: string;\r\n approvalDetails: any = [];\r\n\r\n\r\n\r\n defaultValue = 'none';\r\n\r\n constructor(private ddlServices: DropDownService, private toastr: ToastrService, private annualRequirment: AnnualRequirementService) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.isViewOnly = localStorage.getItem('dsu_isViewOnly');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"44\" || this.roleId == \"77\") ? \"Supervisor\" : \"DEFAULT\";\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.currentYear = new Date();\r\n this.currentYearPlus = this.currentYear.getFullYear();\r\n this.Month = this.currentYear.getMonth();\r\n\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n this.ddlResponse.year=response.data.year;\r\n this.ddlResponse.annual=response.data.annual;\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n // for(var i=0;i {\r\n });\r\n this.getMonthList();\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RegionSetting();\r\n this.RMHSetting();\r\n this.RMHAnnualSetting();\r\n this.CropSetting();\r\n this.ProductSetting();\r\n this.YearSetting();\r\n }\r\n\r\n RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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 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 //maxHeight: 197,\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 RMHAnnualSetting() {\r\n this.RMHAnnualSettings = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'displayName',\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 Annual Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\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 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 ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n bindMonthDropdownSetting() {\r\n this.dropdownMonthSettings = {\r\n singleSelection: false,\r\n text: \"Select Month\",\r\n idField: 'Id',\r\n textField: 'Text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n noDataAvailablePlaceholderText: 'No Month Found'\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 getMonthList(): void {\r\n type MyArrayType = Array<{ Id: number, Text: string }>;\r\n const arrList: MyArrayType = [];\r\n this.bindMonthDropdownSetting();\r\n const arr: MyArrayType = [\r\n { Id: 1, Text: 'Jan' },\r\n { Id: 2, Text: 'Feb' },\r\n { Id: 3, Text: 'Mar' },\r\n { Id: 4, Text: 'Apr' },\r\n { Id: 5, Text: 'May' },\r\n { Id: 6, Text: 'Jun' },\r\n { Id: 7, Text: 'Jul' },\r\n { Id: 8, Text: 'Aug' },\r\n { Id: 9, Text: 'Sep' },\r\n { Id: 10, Text: 'Oct' },\r\n { Id: 11, Text: 'Nov' },\r\n { Id: 12, Text: 'Dec' },\r\n ];\r\n for (var i = 0; i <= this.Month; i++) {\r\n arrList.push(arr[i]);\r\n }\r\n this.monthList = arrList;\r\n this.selectedMonth = this.monthList.filter((item) => item.Id === (this.Month + 1));\r\n\r\n }\r\n // getAnnualRequirementFilters() {\r\n // this.loader = 'block';\r\n // this.ddlServices.getAnnualRequirementFilters()\r\n // . ((resData: any) => {\r\n // if (resData.status == true) {\r\n // this.annualRequirementFilters = resData.data;\r\n // this.onCurrentRequirementYearSelected(this.annualRequirementFilters.year)\r\n // this.loader = 'none';\r\n // }\r\n // else {\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\r\n public onSBUSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \")\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n this.commaSeperatedSbus = '';\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onDivisionSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \");\r\n\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.selectedDivision = [];\r\n this.commaSeperatedDivisions = '';\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelectAll(items: any) {\r\n this.selectedZone = [];\r\n this.commaSeperatedZones = '';\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n\r\n\r\n\r\n public onRegionSelect(item: any) { \r\n if (this.roleId != '42' && this.roleId != '76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39') {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n else {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n\r\n }\r\n }\r\n public onRegionDeSelect(item: any) {\r\n if (this.roleId != '42' && this.roleId != '76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39') {\r\n this.selectedRegion = [];\r\n this.commaSeperatedRegions = '';\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n else {\r\n this.selectedRegion = [];\r\n this.commaSeperatedRegions = '';\r\n\r\n }\r\n }\r\n\r\n public onRegionSelectAll(items: any) {\r\n if (this.roleId != '42' && this.roleId != '76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39') {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n else {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n }\r\n }\r\n public onRegionDeSelectAll(items: any) {\r\n this.selectedRegion = [];\r\n this.commaSeperatedRegions = '';\r\n if(this.roleId !='42' && this.roleId!='76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39')\r\n {\r\n this.rmh.selectedItems = [];\r\n }\r\n //this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n public onRMHSelect(item: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelect(item: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n\r\n public onRMHSelectAll(items: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelectAll(items: any) {\r\n this.regionSelect.selectedItems = [];\r\n //this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n public onProductSelect(item: any) {\r\n this.GetProductWiseData(this.productSelect.selectedItems);\r\n }\r\n public onProductSelectAll(item: any) {\r\n this.GetProductWiseData(this.productSelect.selectedItems);\r\n }\r\n public onProductDeSelectAll(items: any) {\r\n this.cropSelect.selectedItems = [];\r\n }\r\n public onProductDeSelect(items: any) {\r\n this.GetProductWiseData(this.productSelect.selectedItems);\r\n }\r\n\r\n public onCropDeSelect(item: any) {\r\n this.GetCropWiseData(this.cropSelect.selectedItems);\r\n }\r\n public onCropSelectAll(item: any) {\r\n this.GetCropWiseData(this.cropSelect.selectedItems);\r\n }\r\n public onCropDeSelectAll(items: any) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n public onCropSelect(items: any) {\r\n this.GetCropWiseData(this.cropSelect.selectedItems);\r\n }\r\n\r\n GetRegionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRegionWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.rmh.length > 0)\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n else\r\n this.rmh.selectedItems = [];\r\n // this.rmh.selectedItems = [];\r\n // this.ddlResponse.rmh = response.data.rmh;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetRMHWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRMHWiseRegionDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.region.length > 0)\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n else\r\n this.regionSelect.selectedItems = [];\r\n\r\n // this.regionSelect.selectedItems = [];\r\n // this.ddlResponse.region = response.data.region;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetSBUWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.SBU = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSBUHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if(this.roleId !='42' && this.roleId!='76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39')\r\n {\r\n this.rmh.selectedItems = [];\r\n }\r\n this.regionSelect.selectedItems = [];\r\n this.zone.selectedItems = [];\r\n this.division.selectedItems = [];\r\n if (response.data.division.length > 0)\r\n {\r\n this.ddlResponse.division = response.data.division;\r\n this.division.selectedItems = response.data.division.map(item => { return { id: item.divisionCode, text: item.divisionName } });\r\n }\r\n if(response.data.zone.length > 0)\r\n {\r\n this.ddlResponse.zone = response.data.zone;\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n }\r\n if(response.data.region.length > 0 )\r\n {\r\n this.ddlResponse.region = response.data.region;\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n }\r\n if(response.data.rmh.length > 0)\r\n {\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n GetDivisionWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if(this.roleId !='42' && this.roleId!='76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39')\r\n {\r\n this.rmh.selectedItems = [];\r\n }\r\n this.regionSelect.selectedItems = [];\r\n this.zone.selectedItems = [];\r\n if(response.data.zone.length > 0)\r\n {\r\n this.ddlResponse.zone = response.data.zone;\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n }\r\n if(response.data.region.length > 0 )\r\n {\r\n this.ddlResponse.region = response.data.region;\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n }\r\n if(response.data.rmh.length > 0)\r\n {\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n GetZoneWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if(this.roleId !='42' && this.roleId!='76' && this.roleId!='43' && this.roleId!='77' && this.roleId!='39')\r\n {\r\n this.rmh.selectedItems = [];\r\n }\r\n this.regionSelect.selectedItems = [];\r\n if(response.data.region.length != 0)\r\n {\r\n this.ddlResponse.region = response.data.region;\r\n }\r\n \r\n this.ddlResponse.rmh = response.data.rmh;\r\n if (response.data.region.length != 0)\r\n {\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n }\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n GetProductWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.product = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getProductWiseCropDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.crop.length > 0)\r\n this.cropSelect.selectedItems = response.data.crop.map(item => { return { id: item.cropId, text: item.cropName } });\r\n else\r\n this.cropSelect.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetCropWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.crop = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getCropWisePorductDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.product.length > 0)\r\n this.productSelect.selectedItems = response.data.product.map(item => { return { id: item.productId, text: item.productName } });\r\n else\r\n this.productSelect.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n \r\n onYearSelect(item: any) {\r\n let selectedyear = this.year.selectedItems[0].id;\r\n if(selectedyear != this.ddlResponse.year[0].currentrequirementYear)\r\n { \r\n var someElement= document.getElementById(\"ancUploadExcel\"); \r\n someElement.className = \"\";\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 DownloadExcel() {\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let roleCode=localStorage.getItem('dsu_roleCode');\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n \r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n let region = '';\r\n let year=0;\r\n let AnnualCycle='';\r\n debugger;\r\n if(this.annual.selectedItems.length>0)\r\n {\r\n AnnualCycle=Array.prototype.map.call(this.annual.selectedItems,function(item){return item.id;}).join(\",\");\r\n }\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n this.annualRequirment.DownloadExcel(this.userId,AnnualCycle, region,roleCode,year)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName +\"_\"+year+\"_\"+AnnualCycle +\"_\"+ formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n }, async err => {\r\n var errText=await err._body.text();\r\n var errJson=JSON.parse(errText);\r\n this.toastr.error(errJson.message);\r\n this.loader = 'none';\r\n\r\n });\r\n }\r\n\r\n\r\n filesDroppedAdd(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 let UserId = localStorage.getItem('dsu_userId');\r\n let AnnualCycle :string ='H1';\r\nAnnualCycle=Array.prototype.map.call(this.annual.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackBar.openSnackBar('Please Select Valid File Type.','Close','red-snackbar');\r\n this.toastr.error(\"Please Select Valid File Type.\");\r\n return false;\r\n }\r\n let region = '';\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n if(AnnualCycle == \"\")\r\n {\r\n\r\n this.toastr.error(\"Please Select Requirement Type\");\r\n this.loader = 'none';\r\n return;\r\n }\r\n this.annualRequirment.uploadDocument(this.document.file, UserId, region,AnnualCycle)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n if (resData.data[0].result === \"Success\") {\r\n this.toastr.success(resData.data[0].errordescription);\r\n }\r\n else {\r\n this.toastr.error(resData.data[0].errordescription);\r\n }\r\n }\r\n else {\r\n this.toastr.error(resData.message);\r\n }\r\n this.GetAnnualRequirement(0,true);\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n }\r\n\r\n GetAnnualRequirement(currentPage: any,IsUpload:any) {\r\n debugger\r\n this.loader = 'block';\r\n this.isDisabledPrevious = true;\r\n this.isDisabledNext = false;\r\n let region = ''\r\n let product = ''\r\n let crop = ''\r\n let year=0\r\n let annual=''\r\n this.startRecord = 1;\r\n this.userId = localStorage.getItem('dsu_userId');\r\n if(this.annual.selectedItems.length>0)\r\n {\r\n annual=Array.prototype.map.call(this.annual.selectedItems,function(item){return item.id;}).join(\",\");\r\n this.AnnualType=annual;\r\n }\r\n else\r\n {\r\n if(IsUpload){\r\n annual = Array.prototype.map.call(this.annual._data, function (item) { return item.id; }).join(\",\");\r\n }\r\n else{\r\n this.toastr.error('Please select requirement type');\r\n this.loader='none';\r\n return false;\r\n }\r\n }\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n }\r\n else {\r\n if(IsUpload){\r\n region = Array.prototype.map.call(this.regionSelect._data, function (item) { return item.id; }).join(\",\");\r\n }\r\n else{\r\n this.toastr.error('Please select region.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n }\r\n if (this.productSelect.selectedItems.length > 0) {\r\n product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n if (this.cropSelect.selectedItems.length > 0) {\r\n crop = Array.prototype.map.call(this.cropSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.AnnualType=annual;\r\n let currentpage = currentPage;\r\n this.annualRequirment.GetAnnualRequirement(this.AnnualType,this.userId, region, '', product, crop, year, currentpage)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if(response.status != false)\r\n {\r\n debugger;\r\n //window.location.href = response.filePath;\r\n this.defaultView = false;\r\n this.annualReqObj = response.data;\r\n console.log(response.data);\r\n this.IsSubmittButtonDisable = this.annualReqObj.isDisableSubmissionButton;\r\n this.totalRecord = this.annualReqObj.pagination.totalRecord;\r\n debugger;\r\n debugger;\r\n this.AnnualType=this.annualReqObj.annualRequirement[0].annualType;\r\n\r\n this.currentPage = this.annualReqObj.pagination.currentPage;\r\n this.lastPage = this.annualReqObj.pagination.lastPage;\r\n this.recordsOnCurrentPage = this.currentPage * (response.data.pagination.recordOnPage);\r\n if (this.currentPage > 1) {\r\n this.isDisabledPrevious = false;\r\n this.startRecord = (this.currentPage - 1) * (response.data.pagination.recordOnPage) + 1;\r\n }\r\n if (this.currentPage == this.lastPage || this.totalRecord == 0) {\r\n this.isDisabledNext = !this.isDisabledNext;\r\n this.recordsOnCurrentPage = this.totalRecord;\r\n\r\n }\r\n if (this.annualReqObj.annualRequirement.length == 0) {\r\n this.startRecord = 0;\r\n this.recordsOnCurrentPage = 0;\r\n }\r\n }\r\n else{\r\n this.toastr.error(response.data.message);\r\n }\r\n\r\n }\r\n else {\r\n this.toastr.error(response.data.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n\r\n });\r\ndebugger;\r\n this.getApprovalHistory(1);\r\n }\r\n\r\n finalSubmission() {\r\n\r\n debugger;\r\n this.loader = 'block';\r\n let AnnualCycle='';\r\n debugger;\r\n if(this.annual.selectedItems.length>0)\r\n {\r\n AnnualCycle=Array.prototype.map.call(this.annual.selectedItems,function(item){return item.id;}).join(\",\");\r\n }\r\n if(AnnualCycle == \"\")\r\n {\r\n\r\n this.toastr.error(\"Please Select Requirement Type\");\r\n this.loader = 'none';\r\n return;\r\n }\r\n let region = ''\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n this.toastr.error('Please select region.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.displayReject = 'none';\r\n this.annualRequirment.FinalSubmission(this.userId, region,AnnualCycle)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.toastr.success(response.message);\r\n this.IsSubmittButtonDisable = true;\r\n this.GetAnnualRequirement(0,false);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.IsSubmittButtonDisable = false;\r\n }\r\n this.displayReject = 'none';\r\n this.loader = 'none';\r\n }, error => {\r\n this.IsSubmittButtonDisable = false;\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n closePopup() {\r\n this.displayReject = 'none';\r\n }\r\n openCommentPopup() {\r\n this.displayReject = 'block';\r\n }\r\n\r\n // reset() {\r\n // location.reload();\r\n // }\r\n reset() {\r\n this.defaultValue = 'none';\r\n // if (this.requirmentType != undefined) {\r\n // this.requirmentType.selectedItems = [];\r\n // }\r\n if (this.rmh != undefined) {\r\n this.rmh.selectedItems = [];\r\n }\r\n if (this.productSelect != undefined) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n if (this.cropSelect != undefined) {\r\n this.cropSelect.selectedItems = [];\r\n }\r\n if(this.yearSelect!=undefined){\r\n this.yearSelect.selectedItems=[];\r\n }\r\n if (this.sbu != undefined) {\r\n this.sbu.selectedItems = [];\r\n }\r\n if (this.division != undefined) {\r\n this.division.selectedItems = [];\r\n }\r\n if (this.zone != undefined) {\r\n this.zone.selectedItems = [];\r\n }\r\n if (this.regionSelect != undefined) {\r\n this.regionSelect.selectedItems = [];\r\n }\r\n\r\n }\r\n\r\n getApprovalHistory(currentPageForHistory: number) { \r\n this.loader = 'block';\r\n this.isDisabledPreviousForHistory = true;\r\n this.isDisabledNextForHistory = false;\r\n this.startRecordForHistory=1;\r\n let AnnualCycle=this.AnnualType;\r\n if(AnnualCycle == null){\r\n AnnualCycle=Array.prototype.map.call(this.annual.selectedItems,function(item){return item.id;}).join(\",\");\r\n }\r\n let region = \"\";\r\n let currentpageForHistory = currentPageForHistory;\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n }\r\n if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRMH == undefined) {\r\n this.commaSeperatedRMH = '';\r\n }\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.selectedReqType = 'ANNUAL';\r\n this.roleId = localStorage.getItem('dsu_roleId'); \r\n let year=0;\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.annualRequirment.getApprovalHistory(AnnualCycle,currentpageForHistory,this.userId, this.roleId, this.selectedReqType, this.commaSeperatedSbus, this.commaSeperatedDivisions, this.commaSeperatedZones, region, this.commaSeperatedRMH,year)\r\n .subscribe((approvalData) => {\r\n if(approvalData.data == null){\r\n this.startRecordForHistory = 0;\r\n this.recordsOnCurrentPageForHistory = 0;\r\n this.endRecordForHistory = 0;\r\n this.totalRecordForHistory = 0;\r\n this.approvalDetails = [];\r\n this.isDisabledNextForHistory = true;\r\n }\r\n else{\r\n this.approvalDetails = approvalData.data.approvalHistoryModels;\r\n this.totalRecordForHistory=approvalData.data.pagination.totalRecord;\r\n this.currentPageForHistory= approvalData.data.pagination.currentPage; \r\n this.lastPageForHistory = approvalData.data.pagination.lastPage;\r\n this.recordsOnCurrentPageForHistory = approvalData.data.pagination.recordsOnPage;\r\n this.endRecordForHistory = this.recordsOnCurrentPageForHistory;\r\n if (this.currentPageForHistory == 1)\r\n {\r\n localStorage.setItem(\"numberOfRecordsOnFirstPageForHistory\", this.recordsOnCurrentPageForHistory.toString());\r\n }\r\n if (this.currentPageForHistory > 1)\r\n {\r\n this.isDisabledPreviousForHistory = false;\r\n // this.startRecordForHistory = (this.currentPageForHistory - 1) * (approvalData.data.length) + 1;\r\n this.startRecordForHistory = (this.currentPageForHistory - 1) * parseInt(localStorage.getItem(\"numberOfRecordsOnFirstPageForHistory\"), 10) + 1;\r\n this.endRecordForHistory = this.startRecordForHistory + this.recordsOnCurrentPageForHistory - 1;\r\n }\r\n if (this.currentPageForHistory == this.lastPageForHistory || this.totalRecordForHistory == 0) {\r\n this.isDisabledNextForHistory = !this.isDisabledNextForHistory;\r\n this.recordsOnCurrentPageForHistory = this.totalRecordForHistory;\r\n }\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n\r\n this.loader = 'none';\r\n });\r\n }\r\n}","module.exports = \"
\\r\\n

Demo Sample Dispatch to Field Team - Stock Out

\\r\\n
\\r\\n \\r\\n \\r\\n Upload Excel\\r\\n \\r\\n \\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 * Mandatory Fields\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Please enter no. of packs to dispatch
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Request No\\r\\n \\r\\n Req Type\\r\\n \\r\\n Region Name\\r\\n \\r\\n Product Code\\r\\n \\r\\n Product Name\\r\\n \\r\\n WH Code\\r\\n \\r\\n WH Location\\r\\n \\r\\n Pack Size\\r\\n \\r\\n \\r\\n Final QTY Approved for Production(Kg/Ltr)\\r\\n \\r\\n TotalDispatchedQty\\r\\n \\r\\n Total Remaining Packs to Allocate\\r\\n \\r\\n Care Of(Name of FMC Marketing Concern AMM/ZMM/DMH)\\r\\n \\r\\n Name Of Receiver\\r\\n \\r\\n Designation\\r\\n \\r\\n JAN\\r\\n \\r\\n FEB\\r\\n \\r\\n MAR\\r\\n \\r\\n APR\\r\\n \\r\\n MAY\\r\\n \\r\\n JUN\\r\\n \\r\\n JUL\\r\\n \\r\\n AUG\\r\\n \\r\\n SEP\\r\\n \\r\\n OCT\\r\\n \\r\\n NOV\\r\\n \\r\\n DEC\\r\\n \\r\\n Total No. of Pack to Dispatch\\r\\n \\r\\n Sample Dispatch Date*\\r\\n \\r\\n Sent through Transport Name*\\r\\n \\r\\n Manual DC No/Challan No.\\r\\n \\r\\n No. of Cases\\r\\n \\r\\n LR NO.\\r\\n \\r\\n LR DATE\\r\\n Remark Batch No.Total Remaining QTY In Invoice\\r\\n EXP. Date\\r\\n Invoice No.\\r\\n Status\\r\\n
{{row.allocatedId}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{row.annualAdditionalReqId}}{{row.requirementType}}{{row.regionName}}{{row.product}}{{row.productName}}{{row.whCode}}{{row.whLocation}}{{row.packSize}}{{row.finalApproveQTY}}{{row.totalDispatchedQtyToAllocation}}{{row.totalRemainingPacksToAllocate}}{{row.rmhName}}{{row.nameOfMIOMDO}}{{row.designation}}\\r\\n
\\r\\n
\\r\\n {{row.jan}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.jan}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.feb}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.feb}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.mar}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.mar}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.apr}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.apr}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.may}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.may}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.jun}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.jun}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.jul}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.jul}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.aug}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.aug}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.sep}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.sep}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.oct}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.oct}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.nov}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.nov}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{row.dec}}\\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.dec}}\\r\\n
\\r\\n
{{row.totalQTYToDispatch}}\\r\\n\\r\\n
\\r\\n
\\r\\n {{row.sampleAllocatedDate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{row.sampleAllocatedDate}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.transportName}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{row.transportName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.manualDCNoChallanNo}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{row.manualDCNoChallanNo}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.noOfCases}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{row.noOfCases}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.lrNo}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{row.lrNo}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.lrDate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
{{row.lrdate}}
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n {{row.remark}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.batchNo}}\\r\\n
\\r\\n
\\r\\n {{row.batchNo}}\\r\\n
\\r\\n
{{row.totalRemainingQTYInInvoiceForRequest}}\\r\\n
\\r\\n {{row.expDate}}\\r\\n
\\r\\n
\\r\\n {{row.expDate}}\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{row.invVo}}\\r\\n
\\r\\n
\\r\\n {{row.invVo}}\\r\\n
\\r\\n
{{row.status}}
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n
0 && (roleId=='14' || roleId=='53')\\\">\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Do you want to submit data?

\\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 { Router } from '@angular/router';\r\nimport { SDDispatchToFieldService } from '../../Services/DSDispatchToField/DS-Dispatch-To-Field.service';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { RegionModel, RMHModel } from '../../models/DropDwon/RegionModel';\r\nimport { ZoneModel } from '../../models/DropDwon/ZoneModel';\r\nimport { DivisionModel } from '../../models/DropDwon/DvisionModel';\r\nimport { SBUModel } from '../../models/DropDwon/SBUModel';\r\nimport { DropDownRequest, DropDownResponse, WHLocationModel, SDModel, RequirmentTypeModel } from '../../models/DropDwon/DropDownRequest';\r\nimport { productModel } from '../../models/DropDwon/ProductModel';\r\nimport { CropModel } from '../../models/DropDwon/CropModel';\r\nimport { DSDispatchToFieldTeamRequestModel, DSDispatchToFieldTeamResponseModel, DSDispatchToFieldTeamModel } from '../../models/DSDispatchToField/DS-Dispatch-To-Field.model'\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { saveAs } from 'file-saver';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-dispatchtofield',\r\n templateUrl: './DS-Dispatch-To-Field.component.html',\r\n providers: [DatePipe]\r\n})\r\nexport class DSDispatchToFieldComponent implements OnInit {\r\n\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('warehouseLocation') warehouseLocation;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('cropSelect') cropSelect;\r\n @ViewChild('requirmentType') requirmentType;\r\n @ViewChild('dispatchStatus') dispatchStatus;\r\n @ViewChild('file') file;\r\n @ViewChild('batchSelect') batchSelect;\r\n @ViewChild('invoiceSelect') invoiceSelect;\r\n @ViewChild('packSizeSelect') packSizeSelect;\r\n @ViewChild('yearSelect') yearSelect ;\r\n @ViewChild('year') year;\r\n \r\n\r\n\r\n public dropdownMonthSettings: {};\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n\r\n public RMHSettings = {};\r\n public RMHSelectedItems: RMHModel[];\r\n\r\n public WarehouseLocationSettings = {};\r\n public WarehouseLocationSelectedItem: WHLocationModel[];\r\n\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n\r\n public CropSettings = {};\r\n public CropSelectedItem: CropModel[];\r\n\r\n public RequirmentTypeSettings = {};\r\n public requirmentTypeDdl: RequirmentTypeModel[];\r\n public requirmentDllValue: any;\r\n\r\n public DispatchStatusSettings = {};\r\n public dispatchStatusDDL: any;\r\n\r\n public BatchSettings = {};\r\n public InvoiceSettings = {};\r\n public AddPackSizeSettings = {};\r\n\r\n public YearSettings= {};\r\n public YearSelectedItem: YearModel[];\r\n\r\n public userId: string;\r\n public roleId: string;\r\n public FlagDropDown: string;\r\n public loader: string = \"none\";\r\n public files: File[] = [];\r\n public fileName: string = '';\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n public whlocationList: WHLocationModel[];\r\n\r\n public dsDispatchRequest: DSDispatchToFieldTeamRequestModel = new DSDispatchToFieldTeamRequestModel();\r\n public dsDispatchResponse: Array = new Array();\r\n public defaultValue: string = 'none';\r\n\r\n dsDispatchGrid: any = [];\r\n public dsDispatchGridForApprove: any;\r\n public dsDispatchGridColumn: any;\r\n displayReject = 'none';\r\n userName: string;\r\n sampleAllocatedDate: Date = new Date();\r\n lRDate: Date = new Date();\r\n expDate: Date = new Date();\r\n mfgDate: Date = new Date();\r\n invVoDate: Date = new Date();\r\n schemeStartDate: Date = new Date();\r\n schemeEndDate: Date = new Date();\r\n salesFromRange: any = '2010';\r\n salesToRange: any = '2030';\r\n public dsDispatchModel: DSDispatchToFieldTeamModel = new DSDispatchToFieldTeamModel();\r\n selectedRegionMessage: any[] = [];\r\n qtyTotal: number[] = [];\r\n submitEnable: boolean = false;\r\n CurrentYear: string;\r\n currentMonth: any;\r\n isDispatch: string;\r\n productPackSize: any[] = [];\r\n totalRemainingPacks: any;\r\n myDate = new Date();\r\n debugger;\r\n regionName:string;\r\n constructor(private router: Router, private sddispatchService: SDDispatchToFieldService, private ddlServices: DropDownService, private toastr: ToastrService,private datePipe: DatePipe) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.FlagDropDown = \"DEFAULT\";\r\n \r\n }\r\n\r\n \r\n\r\n ngOnInit() {\r\n debugger;\r\n let currentDate = new Date();\r\n this.currentMonth = currentDate.getMonth() + 1;\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.requirmentTypeDdl = [{ id: 1, text: \"H1\" },{ id: 2, text: \"H2\" }, { id: 3, text: \"Additional\" }];\r\n this.dispatchStatusDDL = [{ id: 1, text: \"Dispatched\" }, { id: 2, text: \"Partially Dispatched\" }, { id: 3, text: \"Not Dispatched\" }]\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n this.GetWarehouseLocationData();\r\n this.ddlResponse.year=response.data.year;\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n for(var i=0;i {\r\n this.loader = 'none';\r\n });\r\n this.CurrentYear = (new Date()).getFullYear().toString();\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RegionSetting();\r\n this.RMHSetting();\r\n this.WareHouseLocationSetting();\r\n this.CropSetting();\r\n this.ProductSetting();\r\n this.RequirmentTypeSetting();\r\n this.DispatchedStatusSetting();\r\n this.BatchSetting();\r\n this.InvoiceSetting();\r\n this.AddPackSizeSetting();\r\n this.YearSetting();\r\n }\r\n\r\n\r\n RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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 \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 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 //maxHeight: 197,\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 public onRegionSelect(item: any) {\r\n if (this.roleId != '42' && this.roleId != '76' && (this.roleId=='53' || this.roleId=='1' || this.roleId=='37')) {\r\n //this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n //this.GetSDRegionWise(this.regionSelect.selectedItems);\r\n //this.GetWarehouseLocationData();\r\n }\r\n else{\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n }\r\n public onRegionDeSelect(item: any) {\r\n if (this.roleId != '42' && this.roleId != '76' && (this.roleId=='53' || this.roleId=='1' || this.roleId=='37')) {\r\n // this.warehouseLocation.selectedItems = [];\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n //this.GetWarehouseLocationData();\r\n }\r\n }\r\n\r\n public onRegionSelectAll(items: any) {\r\n if (this.roleId != '42' && this.roleId != '76') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n }\r\n public onRegionDeSelectAll(items: any) {\r\n debugger\r\n this.rmh.selectedItems = [];\r\n //this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n public onRMHSelect(item: any) {\r\n if (this.roleId != '42' && this.roleId != '76' && (this.roleId=='53' || this.roleId=='1' || this.roleId=='37') ){ \r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n \r\n //this.GetSDRegionWise(this.regionSelect.selectedItems);\r\n //this.GetWarehouseLocationData();\r\n }\r\n else{\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n }\r\n }\r\n public onRMHDeSelect(item: any) {\r\n // this.warehouseLocation.selectedItems = [];\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n // this.getSDRMHWise(this.rmh.selectedItems);\r\n //this.GetWarehouseLocationData();\r\n }\r\n\r\n // public onWHSelect(item: any) {\r\n // this.batchSelect.selectedItems=[];\r\n // this.GetBatchNo();\r\n // }\r\n // public onWHDeSelect(item: any) {\r\n // this.batchSelect.selectedItems=[];\r\n // this.GetBatchNo();\r\n // }\r\n\r\n // public onProductSelect(item: any) {\r\n // this.batchSelect.selectedItems=[];\r\n // this.GetBatchNo();\r\n // }\r\n // public onProductDeSelect(item: any) {\r\n // this.batchSelect.selectedItems=[];\r\n // this.GetBatchNo();\r\n // }\r\n\r\n\r\n public onWHSelect(item: any) {\r\n debugger;\r\n this.invoiceSelect.selectedItems = [];\r\n this.GetInvoiceNo();\r\n this.FlagDropDown = 'FILTER';\r\n this.GetWarehouseWiseData(this.warehouseLocation.selectedItems);\r\n this.FlagDropDown = \"DEFAULT\";\r\n }\r\n public onWHDeSelect(item: any) {\r\n this.invoiceSelect.selectedItems = [];\r\n this.GetInvoiceNo();\r\n this.GetWarehouseWiseData(this.warehouseLocation.selectedItems);\r\n }\r\n\r\n public onProductSelect(item: any) {\r\n this.invoiceSelect.selectedItems = [];\r\n this.GetInvoiceNo();\r\n }\r\n public onProductDeSelect(item: any) {\r\n this.invoiceSelect.selectedItems = [];\r\n this.GetInvoiceNo();\r\n }\r\n\r\n\r\n\r\n\r\n public onRMHSelectAll(items: any) {\r\n\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelectAll(items: any) {\r\n this.regionSelect.selectedItems = [];\r\n // this.warehouseLocation.selectedItems = [];\r\n //this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n // this.getSDRMHWise(this.rmh.selectedItems);\r\n //this.GetWarehouseLocationData();\r\n }\r\n RequirmentTypeSetting() {\r\n this.RequirmentTypeSettings = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'text',\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 Requirment Type Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DispatchedStatusSetting() {\r\n this.DispatchStatusSettings = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'text',\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 Dispatch Status Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\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 ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: true,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n BatchSetting() {\r\n this.BatchSettings = {\r\n singleSelection: true,\r\n idField: 'batchNo',\r\n textField: 'batchNoText',\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 Batch Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n InvoiceSetting() {\r\n this.InvoiceSettings = {\r\n singleSelection: true,\r\n idField: 'invoiceNo',\r\n textField: 'invoiceNoText',\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 Invoice Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n AddPackSizeSetting() {\r\n this.AddPackSizeSettings = {\r\n singleSelection: true,\r\n idField: 'packSize',\r\n textField: 'packSize',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Pack Size Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n WareHouseLocationSetting() {\r\n this.WarehouseLocationSettings = {\r\n singleSelection: true,\r\n idField: 'whId',\r\n textField: 'whName',\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 Warehouse Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n bindMonthDropdownSetting() {\r\n this.dropdownMonthSettings = {\r\n singleSelection: false,\r\n text: \"Select Month\",\r\n idField: 'Id',\r\n textField: 'Text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n noDataAvailablePlaceholderText: 'No Month Found'\r\n };\r\n }\r\n\r\n public onSBUSelect(item: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onDivisionSelect(item: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelect(item: any) {\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelectAll(items: any) {\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n }\r\n\r\n GetSBUWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.SBU = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSBUHierarchyDropDown(this.ddlRequest)\r\n //this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.division = response.data.division;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.division.selectedItems = response.data.division.map(item => { return { id: item.divisionCode, text: item.divisionName } });\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetDivisionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetZoneWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n GetRegionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRegionWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.rmh.length > 0) {\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n // this.getSDRMHWise(this.rmh.selectedItems);\r\n }\r\n\r\n else\r\n this.rmh.selectedItems = [];\r\n\r\n //this.ddlResponse.rmh = response.data.rmh;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetRMHWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRMHWiseRegionDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n debugger\r\n if (response.data.region.length > 0)\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n else\r\n this.regionSelect.selectedItems = [];\r\n //this.ddlResponse.region = response.data.region;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n\r\n\r\n //IsOnInit==>True Means It execute on ngOnInit\r\n //IsOnInit==>False Means It execute on OnChnage\r\n GetWarehouseLocationData() {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = 'TRUE';\r\n this.ddlServices.getWarehouseLocationDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n\r\n downloadFile() {\r\n this.dsDispatchRequest.requirmentType = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.text; }).join(\",\");\r\n if (this.dsDispatchRequest.requirmentType === \"\" || this.dsDispatchRequest.requirmentType === \"undefined\") {\r\n this.toastr.error(\"Please select requirement type.\");\r\n return false;\r\n }\r\n\r\n if ((this.roleId == '42' || this.roleId == '76') && this.regionSelect === undefined || this.regionSelect === \"\") {\r\n this.dsDispatchRequest.region = '';\r\n }\r\n else if (this.regionSelect.selectedItems.length > 0)\r\n this.dsDispatchRequest.region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n else {\r\n this.toastr.error(\"Please select region.\")\r\n this.dsDispatchRequest.region = '';\r\n return false;\r\n }\r\n if ((this.roleId == '42' || this.roleId=='76') && this.rmh === undefined || this.rmh === \"\") {\r\n this.dsDispatchRequest.rmhCode = ''\r\n }\r\n else if (this.rmh.selectedItems.length > 0) {\r\n this.dsDispatchRequest.rmhCode = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n } else {\r\n this.dsDispatchRequest.rmhCode = ''\r\n }\r\n if (this.warehouseLocation.selectedItems.length > 0)\r\n this.dsDispatchRequest.whLocation = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n else {\r\n this.dsDispatchRequest.whLocation = '';\r\n this.toastr.error(\"Please select warehouse location.\");\r\n return false;\r\n }\r\n\r\n\r\n if (this.productSelect.selectedItems.length > 0)\r\n this.dsDispatchRequest.product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n else {\r\n this.dsDispatchRequest.product = '';\r\n this.toastr.error(\"Please select product.\");\r\n return false;\r\n }\r\n\r\n\r\n // if (this.batchSelect.selectedItems.length > 0)\r\n // this.dsDispatchRequest.batch = Array.prototype.map.call(this.batchSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // else{\r\n // this.dsDispatchRequest.batch = '';\r\n // this.toastr.error(\"Please select batch.\");\r\n // return false;\r\n // }\r\n\r\n\r\n //\r\n if (this.invoiceSelect.selectedItems.length > 0)\r\n {\r\n this.dsDispatchRequest.invoice= Array.prototype.map.call(this.invoiceSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\nelse {\r\n this.dsDispatchRequest.invoice = '';\r\n this.toastr.error(\"Please select invoice.\");\r\n return false;\r\n}\r\n //\r\n this.dsDispatchRequest.userId = this.userId;\r\n // this.dsDispatchRequest.region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (this.dispatchStatus.selectedItems.length > 0)\r\n //this.dsDispatchRequest.isDispatched = this.dispatchStatus.selectedItems[0].id === 1 ? true : false;\r\n this.dsDispatchRequest.isDispatched = Array.prototype.map.call(this.dispatchStatus.selectedItems, function (item) { return item.text; }).join(\",\");\r\n else {\r\n this.dsDispatchRequest.isDispatched = '';\r\n this.toastr.error(\"Please select status.\");\r\n return false;\r\n }\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dsDispatchRequest.year=year;\r\n this.dsDispatchRequest.IsExcel = 1\r\n this.loader = 'block';\r\n this.sddispatchService.GetExcelFileName(this.dsDispatchRequest)\r\n .subscribe(returnValue => {\r\n if (returnValue.message != '') {\r\n this.toastr.error(returnValue.message);\r\n //alert(returnValue.message);\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.downloadLink(returnValue.filePath);\r\n }\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n downloadLink(Path: string): void {\r\n let today = new Date();\r\n let month;\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.dsDispatchRequest.fileUrl = Path;\r\n this.sddispatchService.DownloadFile(this.dsDispatchRequest).subscribe(\r\n success => {\r\n saveAs(success, this.userName + \"_\" + year + \"_DispatchToField_\" + formattedDate + \".xlsx\");\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"Some problem occurred while downloading file.\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n\r\n }\r\n );\r\n }\r\n fileUpload(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 let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let requirmentType = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.text; }).join(\",\");\r\n \r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.file.nativeElement.value = '';\r\n // this.snackBar.openSnackBar('Please Select Valid File Type.','Close','red-snackbar');\r\n this.toastr.error(\"Please Select Valid File Type.\");\r\n return false;\r\n }\r\n if (requirmentType === \"\" || requirmentType === \"undefined\") {\r\n this.file.nativeElement.value = '';\r\n this.toastr.error(\"Please Select Requirment Type.\");\r\n return false;\r\n }\r\n this.loader = 'block';\r\n let fileValue = this.files[0];\r\n \r\n this.sddispatchService.uploadDocument(fileValue, this.userId, requirmentType,year)\r\n .subscribe((resData: any) => {\r\n console.log(resData);\r\n if (resData.status) {\r\n\r\n // if (resData.data[0].result === \"Success\") {\r\n // //this.toastr.success(resData.data[0].errordescription);\r\n // //alert(resData.data[0].errordescription);\r\n // this.toastr.success(resData.data[0].errordescription);\r\n // //location.reload();\r\n // }\r\n // else {\r\n // this.toastr.error(resData.data[0].errordescription);\r\n // }\r\n this.toastr.success(resData.message);\r\n }\r\n else {\r\n this.toastr.error(resData.message);\r\n }\r\n this.defaultValue = \"none\";\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n\r\n }\r\n\r\n GetStockOutData() {\r\n \r\n let year =0;\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dsDispatchRequest.year=year;\r\n this.dsDispatchRequest.userId = this.userId; \r\n this.dsDispatchRequest.requirmentType = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.text; }).join(\",\");\r\n if (this.dsDispatchRequest.requirmentType === \"\" || this.dsDispatchRequest.requirmentType === \"undefined\") {\r\n this.toastr.error(\"Please select requirement type.\");\r\n return false;\r\n }\r\n if ((this.roleId == '42' || this.roleId == '76' || this.roleId == '77') && this.regionSelect === undefined || this.regionSelect === \"\") {\r\n this.dsDispatchRequest.region = '';\r\n }\r\n else if (this.regionSelect.selectedItems.length > 0)\r\n this.dsDispatchRequest.region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n else {\r\n this.toastr.error(\"Please select region.\")\r\n this.dsDispatchRequest.region = '';\r\n return false;\r\n }\r\n if ((this.roleId == '42' || this.roleId=='76' || this.roleId == '77') && this.rmh === undefined || this.rmh === \"\") {\r\n this.dsDispatchRequest.rmhCode = ''\r\n }\r\n else if (this.rmh.selectedItems.length > 0) {\r\n this.dsDispatchRequest.rmhCode = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n } else {\r\n this.dsDispatchRequest.rmhCode = ''\r\n }\r\n\r\n if (this.warehouseLocation.selectedItems.length > 0)\r\n this.dsDispatchRequest.whLocation = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n else {\r\n this.dsDispatchRequest.whLocation = '';\r\n this.toastr.error(\"Please select warehouse location.\");\r\n return false;\r\n }\r\n\r\n\r\n if (this.productSelect.selectedItems.length > 0)\r\n this.dsDispatchRequest.product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n else {\r\n this.dsDispatchRequest.product = '';\r\n this.toastr.error(\"Please select product.\");\r\n return false;\r\n }\r\n\r\n\r\n // if (this.batchSelect.selectedItems.length > 0)\r\n // this.dsDispatchRequest.batch = Array.prototype.map.call(this.batchSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // else{\r\n // this.dsDispatchRequest.batch = '';\r\n // this.toastr.error(\"Please select batch.\");\r\n // return false;\r\n // }\r\n\r\n if (this.invoiceSelect.selectedItems.length > 0)\r\n this.dsDispatchRequest.invoice = Array.prototype.map.call(this.invoiceSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n else {\r\n this.dsDispatchRequest.invoice = '';\r\n this.toastr.error(\"Please select invoice.\");\r\n return false;\r\n }\r\n\r\n\r\n\r\n if (this.dispatchStatus.selectedItems.length > 0)\r\n //this.dsDispatchRequest.isDispatched = this.dispatchStatus.selectedItems[0].id === 1 ? true : false;\r\n this.dsDispatchRequest.isDispatched = Array.prototype.map.call(this.dispatchStatus.selectedItems, function (item) { return item.text; }).join(\",\");\r\n else {\r\n this.toastr.error(\"Please select status.\")\r\n this.dsDispatchRequest.isDispatched = '';\r\n return false;\r\n }\r\n this.loader = 'block';\r\n this.sddispatchService.getStockoutScreenData(this.dsDispatchRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n debugger;\r\n this.defaultValue = 'block';\r\n\r\n this.dsDispatchGrid = response.data.getDispatchToFieldModels;\r\n if (this.dsDispatchGrid.length > 0) {\r\n this.isDispatch = this.dsDispatchGrid[0].status;\r\n }\r\n else {\r\n this.isDispatch = \"Dispatched\";\r\n }\r\n \r\n\r\n if (this.dsDispatchGrid.length > 0) {\r\n //this.productPackSize.values= null;\r\n this.productPackSize = [];\r\n for (let i = 0; i < response.data.packSizeModel.length; i++) {\r\n let packSize: any = {};\r\n packSize.packSize = response.data.packSizeModel[i].packSize;\r\n this.productPackSize.push(packSize);\r\n }\r\n\r\n // for (var i = 0; i < this.dsDispatchGrid.length; i++) {\r\n // //this.productPackSize = this.dsDispatchGrid[0].packSize;\r\n // let PackSizes = this.dsDispatchGrid[i].packSize;\r\n // let totalQTYToDispatchDd = this.dsDispatchGrid[i].totalQTYToDispatch;\r\n\r\n // if (PackSizes == '') {\r\n // PackSizes = 0;\r\n // } else {\r\n // if (PackSizes.indexOf(\"LTR\") !== -1 || PackSizes.indexOf(\"LT\") !== -1 || PackSizes.indexOf(\"KG\") !== -1) {\r\n // let valueLtrKg = 1;\r\n // PackSizes = valueLtrKg * parseInt(totalQTYToDispatchDd);\r\n // }\r\n // else if (PackSizes.indexOf(\"ML\") !== -1 || PackSizes.indexOf(\"GM\") !== -1) {\r\n // //nwValuePackSize = ((1000 * parseInt(totalQTYToDispatchD)) / parseInt(nwValuePackSize)).toFixed(2);\r\n // PackSizes = ((1000 * parseInt(totalQTYToDispatchDd)) / parseInt(PackSizes));\r\n // }\r\n // this.dsDispatchGrid[i]['finalAllottedQTY'] = PackSizes;\r\n // }\r\n // }\r\n }\r\n\r\n this.selectedRegionMessage = [];\r\n if (this.dsDispatchGrid != null) {\r\n this.selectedRegionMessage.push({ region: this.dsDispatchGrid[0].region, status: this.dsDispatchGrid[0].status })\r\n for (var i = 0; i < this.dsDispatchGrid.length; i++) {\r\n\r\n for (var j = 0; j < this.selectedRegionMessage.length; j++) {\r\n if (this.selectedRegionMessage[j].region == this.dsDispatchGrid[i].region) {\r\n break;\r\n }\r\n\r\n }\r\n if (j == this.selectedRegionMessage.length) {\r\n this.selectedRegionMessage.push({ region: this.dsDispatchGrid[i].region, status: this.dsDispatchGrid[i].status })\r\n }\r\n }\r\n }\r\n\r\n if (this.selectedRegionMessage.length >= 1) {\r\n for (var i = 0; i < this.selectedRegionMessage.length; i++) {\r\n if (this.selectedRegionMessage[i].status == 'Not Dispatched') {\r\n this.loader = 'none';\r\n this.submitEnable = false;\r\n }\r\n else {\r\n this.submitEnable = true;\r\n }\r\n }\r\n }\r\n // this.submitEnable = false;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.submitEnable = false;\r\n this.defaultValue = 'none';\r\n this.toastr.error('No record found.');\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n //#region get all column name\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 //#endregion\r\n // isRequiredField(field: string) {\r\n // const form_field = this.dsDispatchGrid.packSize.get(field);\r\n // if (!form_field.validator) {\r\n // return false;\r\n // }\r\n \r\n // const validator = form_field.validator({} as AbstractControl);\r\n // return (validator && validator.required);\r\n // }\r\n\r\n textChange(newValueJan, i, key) {\r\n\r\n let nwValue = newValueJan.target.value;\r\n if (nwValue == '') {\r\n nwValue = 0;\r\n } else {\r\n nwValue = nwValue;\r\n }\r\n let oldvalue = this.dsDispatchGrid[i][key];\r\n this.dsDispatchGrid[i][key] = nwValue;\r\n this.totalDispatchedQty(nwValue, i, oldvalue)\r\n this.noOfpacks(i)\r\n \r\n }\r\n \r\n ontotalRemainingPacks(i){\r\n var totalpacks=0;\r\n for(var j=0;j x.isSelected == true);\r\n if (data.length == 0 || data == null) {\r\n this.toastr.error(\"Please select any one of the field.\");\r\n this.loader = 'none';\r\n return false;\r\n }\r\n\r\n for(var k=0;k {\r\n if (response.status) {\r\n this.defaultValue = 'none';\r\n this.toastr.success('Data submitted successfully.');\r\n this.loader = 'none';\r\n //location.reload();\r\n //this.GetStockOutData();\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n this.displayReject = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n closePopup(commentModal: string) {\r\n this.displayReject = 'none';\r\n }\r\n openCommentPopup(array: any) {\r\n let data = array.filter(x => x.isSelected == true);\r\n if (data.length == 0 || data == null) {\r\n this.toastr.error(\"Please select any one of the field.\");\r\n return false;\r\n }\r\n this.displayReject = 'block';\r\n }\r\n reset() {\r\n this.defaultValue = 'none';\r\n if (this.requirmentType != undefined) {\r\n this.requirmentType.selectedItems = [];\r\n }\r\n if (this.rmh != undefined) {\r\n this.rmh.selectedItems = [];\r\n }\r\n if (this.productSelect != undefined) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n if (this.sbu != undefined) {\r\n this.sbu.selectedItems = [];\r\n }\r\n if (this.division != undefined) {\r\n this.division.selectedItems = [];\r\n }\r\n if (this.zone != undefined) {\r\n this.zone.selectedItems = [];\r\n }\r\n if (this.regionSelect != undefined) {\r\n this.regionSelect.selectedItems = [];\r\n }\r\n if (this.warehouseLocation != undefined) {\r\n this.warehouseLocation.selectedItems = [];\r\n }\r\n if (this.warehouseLocation != undefined) {\r\n this.warehouseLocation.selectedItems = [];\r\n }\r\n if (this.dispatchStatus != undefined) {\r\n this.dispatchStatus.selectedItems = [];\r\n }\r\n }\r\n\r\n CalculationOnPackSize(newValuePSize, i) {\r\n let nwValuePackSize = newValuePSize.packSize;\r\n let originalValuePackSize = this.dsDispatchGrid[i].packSize;\r\n let totalQTYToDispatchD = this.dsDispatchGrid[i].totalQTYToDispatch;\r\n if (nwValuePackSize == '') {\r\n nwValuePackSize = 0;\r\n } else {\r\n //this.dsDispatchGrid[i]['packSize'] = nwValuePackSize;\r\n if (nwValuePackSize.indexOf(\"LTR\") !== -1 || nwValuePackSize.indexOf(\"LT\") !== -1 || nwValuePackSize.indexOf(\"KG\") !== -1) {\r\n //let valueLtrKg = 1;\r\n //nwValuePackSize = valueLtrKg * parseInt(totalQTYToDispatchD);\r\n\r\n if (originalValuePackSize.indexOf(\"LTR\") !== -1 || originalValuePackSize.indexOf(\"LT\") !== -1 || originalValuePackSize.indexOf(\"KG\") !== -1) {\r\n nwValuePackSize = (Math.ceil((parseInt(originalValuePackSize) * parseInt(totalQTYToDispatchD)) / parseInt(nwValuePackSize)));\r\n }\r\n else {\r\n nwValuePackSize = (Math.ceil((parseInt(originalValuePackSize) * parseInt(totalQTYToDispatchD)*1000) / (parseInt(nwValuePackSize))));\r\n }\r\n\r\n }\r\n else if (nwValuePackSize.indexOf(\"ML\") !== -1 || nwValuePackSize.indexOf(\"GM\") !== -1) {\r\n\r\n if (originalValuePackSize.indexOf(\"LTR\") !== -1 || originalValuePackSize.indexOf(\"LT\") !== -1 || originalValuePackSize.indexOf(\"KG\") !== -1) {\r\n nwValuePackSize = (Math.ceil((parseInt(originalValuePackSize) * parseInt(totalQTYToDispatchD) * 1000) / parseInt(nwValuePackSize)));\r\n }\r\n else {\r\n nwValuePackSize = (Math.ceil((parseInt(originalValuePackSize) * parseInt(totalQTYToDispatchD)) / parseInt(nwValuePackSize)));\r\n }\r\n }\r\n this.dsDispatchGrid[i]['finalAllottedQTY'] = Math.round(nwValuePackSize);\r\n }\r\n }\r\n\r\n getSDRMHWise(filter: any) {\r\n debugger\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSDRMHWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.sd = response.data.sd;\r\n // this.getWHRMHWise(this.ddlRequest.RMH, this.ddlResponse.sd)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n // Get SD Region Wise\r\n\r\n GetSDRegionWise(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSDRegionWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) { \r\n //this.ddlResponse.warehouseLocation = response.data.warehouseLocation; \r\n //this.getWHRMHWise(this.ddlRequest.RMH,this.ddlResponse.sd)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n \r\n // getRMHRoleId(filter: any) {\r\n // this.loader = 'block';\r\n // this.ddlRequest.UserId = this.userId;\r\n // this.ddlRequest.Role = this.roleId;\r\n // this.ddlRequest.Flag = this.FlagDropDown;\r\n // this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n // this.ddlServices.getRMHRoleId(this.ddlRequest)\r\n // .subscribe((response) => {\r\n // if (response.status) {\r\n // this.ddlResponse.roleId=response.data.ro\r\n // // this.getWHRMHWise(this.ddlRequest.RMH, this.ddlResponse.sd)\r\n // this.loader = 'none';\r\n // }\r\n // else {\r\n // this.toastr.error(response.message);\r\n // this.loader = 'none';\r\n // }\r\n\r\n // }, error => {\r\n // this.loader = 'none';\r\n // });\r\n // }\r\n\r\n\r\n getWHRMHWise(filter: any, filterSD: any) {\r\n this.loader = 'block';\r\n this.warehouseLocation.selectedItems = [];\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = filter;\r\n this.ddlRequest.SD = Array.prototype.map.call(filterSD, function (item) { return item.sdCode; }).join(\",\");\r\n this.ddlServices.getWHRMHWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.warehouse.length == 1) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.warehouseLocation.selectedItems = response.data.warehouse.map(item => { return { id: item.whId, text: item.whName } });\r\n }\r\n\r\n else {\r\n this.warehouseLocation.selectedItems = [];\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n isAllChecked() {\r\n return this.dsDispatchGrid.every(_ => _.isSelected);\r\n }\r\n\r\n SelectDisselectAll(ev) {\r\n this.dsDispatchGrid.forEach(x => x.isSelected = ev.target.checked)\r\n }\r\n\r\n // GetBatchNo(){\r\n // this.ddlResponse.batch = [];\r\n // this.loader = 'block';\r\n // let whLocation = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // this.sddispatchService.getBatchNo(whLocation,product)\r\n // .subscribe((response) => {\r\n // if (response.status) {\r\n // this.ddlResponse.batch = response.data;\r\n // this.loader = 'none';\r\n // }\r\n // else {\r\n // this.loader = 'none';\r\n // }\r\n\r\n // }, error => {\r\n // this.loader = 'none';\r\n // });\r\n // }\r\n\r\n\r\n\r\n GetInvoiceNo() {\r\n debugger;\r\n this.ddlResponse.invoice = [];\r\n this.loader = 'block';\r\n let whLocation = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.sddispatchService.getInvoiceNo(whLocation, product)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n debugger;\r\n //alert(response.data)\r\n this.ddlResponse.invoice = response.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetWarehouseWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.WareHouse = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getWarehouseWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.ddlResponse.region = response.data.region;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}","module.exports = \"
\\r\\n

Demo Sample Dispatch to SD - Stock In

\\r\\n\\r\\n
\\r\\n\\r\\n Upload Excel\\r\\n \\r\\n Download Excel\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Download\\r\\n Excel\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Filters

\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n * Mandatory Fields\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
Received at (Warehouse Location)*Product*Pack Size*Stock Receipt Date (Stock In)*Received through (Transport/Courier)*Received from (C&F Name or Supplier Details)*Batch No*Qty as Mentioned in Documents (Kg/Ltr)*Actual (Physical) Qty Received (Kg/Ltr)*No of Case*MFG Date*EXP Date*Doc No*Invoice No*Invoice 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\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Warehouse LocationProductPack SizeStock Receipt DateReceived ThroughC&F Name or Supplier DetailsBatch NoQty Mentioned (Kg/Ltr)Actual Qty Received (Kg/Ltr)No of CaseMFG DateEXP DateDoc NoInvoice NoInvoice Date
No Record Found
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{stock.whName}}\\r\\n \\r\\n {{stock.productName}}\\r\\n \\r\\n {{stock.packSize}}\\r\\n \\r\\n {{stock.stockReceiptDate}}\\r\\n \\r\\n {{stock.receivedThrough}}\\r\\n \\r\\n {{stock.receivedFrom}}\\r\\n \\r\\n {{stock.batchNo}}\\r\\n \\r\\n {{ConvertToCurrency(stock.qtyMentioned)}}\\r\\n \\r\\n {{ConvertToCurrency(stock.qtyReceived)}}\\r\\n \\r\\n {{stock.noofCase}}\\r\\n \\r\\n {{stock.mfgDate}}\\r\\n \\r\\n {{stock.expDate}}\\r\\n \\r\\n {{stock.docNo}}\\r\\n \\r\\n {{stock.invNo}}\\r\\n \\r\\n {{stock.invDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Do you want to save data?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Warehouse Location*\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Product*\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Pack Size*\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Stock Receipt Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Received Through*\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Received From*\\r\\n \\r\\n
\\r\\n
\\r\\n Batch No*\\r\\n \\r\\n
\\r\\n
\\r\\n Qty Mentioned*\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Qty Received*\\r\\n \\r\\n
\\r\\n
\\r\\n MFG Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n EXP Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Doc No*\\r\\n \\r\\n
\\r\\n
\\r\\n Inv No*\\r\\n \\r\\n
\\r\\n
\\r\\n INV 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
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { RegionModel, RMHModel } from '../../models/DropDwon/RegionModel';\r\nimport { ZoneModel } from '../../models/DropDwon/ZoneModel';\r\nimport { DivisionModel } from '../../models/DropDwon/DvisionModel';\r\nimport { SBUModel } from '../../models/DropDwon/SBUModel';\r\nimport { DropDownRequest, DropDownResponse, RequirmentTypeModel, WHLocationModel } from '../../models/DropDwon/DropDownRequest';\r\nimport { productModel } from '../../models/DropDwon/ProductModel';\r\nimport { DynamicAddRow } from '../../models/DSDispatchToSD/AddRow';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { global } from '../../models/global';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DispatchToSDService } from '../../Services/DispatchToSD/dispatch-to-sd.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\n\r\n@Component({\r\n selector: 'dispatch-sd',\r\n templateUrl: './dispatch-sd.component.html'\r\n})\r\nexport class DispatchSDComponent implements OnInit {\r\n\r\n \r\n public loader: string = \"none\";\r\n @ViewChild('rmhSelect') rmhSelect;\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('requirmentType') requirmentType;\r\n @ViewChild('WHLocationItem') WHLocationItem;\r\n @ViewChild('file') file;\r\n\r\n @ViewChild('AddRowWHLocation') AddRowWHLocation;\r\n @ViewChild('AddRowProduct') AddRowProduct;\r\n @ViewChild('AddRowPackSize') AddRowPackSize;\r\n @ViewChild('AddRowRecThrough') AddRowRecThrough;\r\n\r\n public form: FormGroup;\r\n\r\n public RmhSettings = {};\r\n public RmhSelectedItems: RMHModel[];\r\n\r\n public dropdownMonthSettings: {};\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n\r\n public userId: string;\r\n public roleId: string;\r\n public FlagDropDown: string;\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n\r\n public ddlResponseWH: DropDownResponse = new DropDownResponse();\r\n\r\n public RequirmentTypeSettings = {};\r\n public requirmentTypeDdl: RequirmentTypeModel[];\r\n public requirmentDllValue: any;\r\n\r\n public WHLocationSettings = {};\r\n public whLocationDdl: WHLocationModel[];\r\n public whLocationDDlValue: any;\r\n\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n\r\n\r\n public AddRowWHLocationSettings = {};\r\n public AddRowWHLocationDDlValue: any;\r\n\r\n public AddRowProductSettings = {};\r\n public AddRowProductSelectedItem: productModel[];\r\n\r\n public AddRowReceivedThroughSettings = {};\r\n public AddRowPackSizeSettings = {};\r\n\r\n\r\n\r\n approvefinalReqDetails: any[] = [];\r\n reqType: string;\r\n regionCode: string;\r\n wareHouseLocation: string;\r\n selectedReqType: any = [];\r\n selectedRegion: any = [];\r\n public files: File[] = [];\r\n public fileName: string = '';\r\n defaultView: boolean = true;\r\n totalRecord: any;\r\n currentPage: any;\r\n lastPage: any;\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n dispatchToSDObj: any = [];\r\n userName: string;\r\n recordsOnCurrentPage: number = 10;\r\n startRecord: number = 1;\r\n defaultValue = \"none\";\r\n //dynamicAddRow: Array = []; \r\n dynamicAddRow: any = [];\r\n newAddRow: any = {};\r\n productPackSize: any[] = [];\r\n displayReject = 'none';\r\n displayEdit = 'none';\r\n editStockIn: any = {};\r\n editProductPackSize: any[] = [];\r\n currentYear = new Date().getFullYear();\r\n constructor(private ddlServices: DropDownService, private toastr: ToastrService, private dispatchToSD: DispatchToSDService) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"44\") ? \"Supervisor\" : \"DEFAULT\";\r\n }\r\n\r\n ngOnInit() {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n } \r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n\r\n\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RmhSetting();\r\n this.RegionSetting();\r\n this.requirmentTypeDdl = [{ id: 1, text: \"Annual\" }, { id: 2, text: \"Additional\" }];\r\n this.RequirmentTypeSetting();\r\n // this.WHLocation();\r\n this.WHLocationSetting();\r\n this.GetWarehouseLocationData(this.userId, this.roleId, \"TRUE\");\r\n this.ProductSetting();\r\n this.reqType = '';\r\n this.regionCode = '';\r\n this.AddRowWHLocationSetting();\r\n this.AddRowProductSetting();\r\n this.AddRowPackSizeSetting();\r\n this.AddRowReceivedThrough();\r\n this.loader = 'none';\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 RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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 SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n \r\n RequirmentTypeSetting() {\r\n this.RequirmentTypeSettings = {\r\n singleSelection: true,\r\n idField: 'id',\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 Requirment Type Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n WHLocationSetting() {\r\n this.WHLocationSettings = {\r\n singleSelection: false,\r\n idField: 'whId',\r\n textField: 'whName',\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 Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n WHLocation() {\r\n this.whLocationDdl = [{ WHId: \"1\", WHName: \"WHName1\" }, { WHId: \"2\", WHName: \"WHName2\" }]\r\n }\r\n\r\n AddRowWHLocationSetting() {\r\n this.AddRowWHLocationSettings = {\r\n singleSelection: true,\r\n idField: 'whCode',\r\n textField: 'whName',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Location Found',\r\n closeDropDownOnSelection: true,\r\n };\r\n }\r\n\r\n AddRowReceivedThrough() {\r\n this.AddRowReceivedThroughSettings = {\r\n singleSelection: true,\r\n idField: 'receivedThrough',\r\n textField: 'receivedThrough',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Received Through Found',\r\n closeDropDownOnSelection: true,\r\n };\r\n }\r\n\r\n AddRowPackSizeSetting() {\r\n this.AddRowPackSizeSettings = {\r\n singleSelection: true,\r\n idField: 'packSize',\r\n textField: 'packSize',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Pack Size Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n\r\n AddRowProductSetting() {\r\n this.AddRowProductSettings = {\r\n singleSelection: true,\r\n idField: 'productCode',\r\n textField: 'productName',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Product Found',\r\n closeDropDownOnSelection: true,\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 public onSBUSelect(item: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onDivisionSelect(item: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelect(item: any) {\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelectAll(items: any) {\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n GetSBUWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.SBU = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.division = response.data.division;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n GetDivisionWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n GetZoneWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n\r\n onReqTypeSelect(item: any) {\r\n if (item.length == 1) {\r\n this.selectedReqType = item.text\r\n } else {\r\n this.selectedReqType = item.text\r\n }\r\n this.RequirmentTypeSetting();\r\n }\r\n onReqTypeAll(items: any) {\r\n }\r\n\r\n onRegionSelect(item: any) {\r\n if (item.length == 1) {\r\n this.selectedRegion = item.regionCode\r\n } else {\r\n this.selectedRegion = item.regionCode\r\n }\r\n this.RequirmentTypeSetting();\r\n }\r\n onRegionAll(items: any) {\r\n }\r\n\r\n\r\n ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n\r\n\r\n GetWarehouseLocationData(userId: string, roleId: string, IsOnInit: string) {\r\n let obj: DropDownRequest = new DropDownRequest();\r\n\r\n this.loader = 'block';\r\n obj.UserId = this.userId;\r\n obj.Role = this.roleId;\r\n obj.Flag = IsOnInit;\r\n obj.SD = '';\r\n this.ddlServices.getWarehouseLocationDropDown(obj)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n\r\n this.ddlResponseWH.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n DownloadExcel() {\r\n\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n if (whLocation == \"\" || whLocation == null) {\r\n this.toastr.error(\"Please select Warehouse Location\");\r\n return false;\r\n }\r\n if (product == \"\" || product == null) {\r\n this.toastr.error(\"Please select Product\");\r\n return false;\r\n }\r\n\r\n\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n\r\n\r\n\r\n this.dispatchToSD.DownloadExcel(this.userId, whLocation, product)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_DispatchToSD_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n\r\n this.toastr.error(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n filesDroppedAdd(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 let UserId = localStorage.getItem('dsu_userId');\r\n\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackBar.openSnackBar('Please Select Valid File Type.','Close','red-snackbar');\r\n this.toastr.error(\"Please Select Valid File Type.\");\r\n return false;\r\n }\r\n\r\n this.loader = 'block';\r\n var uploadedFile = this.files[0];\r\n this.dispatchToSD.UploadDocument(uploadedFile, UserId)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.toastr.success(resData.message);\r\n this.GetDispatchToSD();\r\n }\r\n else {\r\n this.toastr.error(resData.message);\r\n }\r\n\r\n this.loader = 'none';\r\n this.file.nativeElement.value = '';\r\n }, error => {\r\n\r\n this.loader = 'none';\r\n this.file.nativeElement.value = '';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n\r\n }\r\n\r\n // GetDispatchToSD(currentPage : any) {\r\n\r\n // this.isDisabledPrevious = true;\r\n // this.isDisabledNext=false;\r\n // this.userId = localStorage.getItem('dsu_userId');\r\n // let product=Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // let whLocation=Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // let page = currentPage;\r\n // this.startRecord=1;\r\n\r\n // if(whLocation==\"\" || whLocation==null){\r\n // this.toastr.error(\"Please select WH Location\");\r\n // return false;\r\n // }\r\n // else{\r\n // this.loader = 'block';\r\n // this.dispatchToSD.GetDispatchToSD(whLocation, product, this.userId,page)\r\n // .subscribe((response) => {\r\n // if (response.status) {\r\n // //window.location.href = response.filePath;\r\n // this.defaultView=false;\r\n // this.dispatchToSDObj = response.data;\r\n // this.totalRecord = this.dispatchToSDObj.pagination.totalRecord;\r\n // this.currentPage=this.dispatchToSDObj.pagination.currentPage;\r\n // this.lastPage=this.dispatchToSDObj.pagination.lastPage;\r\n // this.recordsOnCurrentPage = this.currentPage * 10;\r\n\r\n // if (this.currentPage > 1) {\r\n // this.isDisabledPrevious = false;\r\n // this.startRecord = (this.currentPage - 1) * 10 + 1;\r\n // }\r\n // if(this.currentPage==this.lastPage)\r\n // {\r\n // this.isDisabledNext=!this.isDisabledNext;\r\n // this.recordsOnCurrentPage=this.totalRecord;\r\n // }\r\n // if(this.dispatchToSDObj.dispatchToSDList.length==0){\r\n // this.startRecord=0;\r\n // this.recordsOnCurrentPage=0;\r\n // }\r\n\r\n // }\r\n // else {\r\n // this.toastr.error(response.message);\r\n // }\r\n // this.loader = 'none';\r\n // }, error => {\r\n // this.loader = 'none';\r\n // });\r\n // }\r\n\r\n // }\r\n reset() {\r\n this.defaultValue = 'none';\r\n if (this.requirmentType != undefined) {\r\n this.requirmentType.selectedItems = [];\r\n }\r\n if (this.rmhSelect != undefined) {\r\n this.rmhSelect.selectedItems = [];\r\n }\r\n if (this.productSelect != undefined) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n // if (this.cropSelect != undefined) {\r\n // this.cropSelect.selectedItems = [];\r\n // }\r\n if (this.sbu != undefined) {\r\n this.sbu.selectedItems = [];\r\n }\r\n if (this.division != undefined) {\r\n this.division.selectedItems = [];\r\n }\r\n if (this.zone != undefined) {\r\n this.zone.selectedItems = [];\r\n }\r\n if (this.regionSelect != undefined) {\r\n this.regionSelect.selectedItems = [];\r\n }\r\n if (this.WHLocationItem != undefined) {\r\n this.WHLocationItem.selectedItems = [];\r\n }\r\n\r\n this.defaultView = true;\r\n }\r\n\r\n DownloadExcelForAdmin() {\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n if (whLocation == \"\" || whLocation == null) {\r\n this.toastr.error(\"Please select Warehouse Location\");\r\n return false;\r\n }\r\n if (product == \"\" || product == null) {\r\n this.toastr.error(\"Please select Product\");\r\n return false;\r\n }\r\n\r\n\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.dispatchToSD.DownloadExcelForAdmin(this.userId, whLocation, product)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_DispatchToSD_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n\r\n this.toastr.error(\"No data found\");\r\n this.loader = 'none';\r\n\r\n });\r\n }\r\n\r\n GetDispatchToSD() {\r\n let isValid = true;\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (whLocation == \"\" || whLocation == null) {\r\n this.toastr.error(\"Please select Warehouse Location\");\r\n isValid = false;\r\n return false;\r\n }\r\n if (product == \"\" || product == null) {\r\n this.toastr.error(\"Please select Product\");\r\n isValid = false;\r\n return false;\r\n }\r\n\r\n if (isValid) {\r\n this.loader = 'block';\r\n this.dispatchToSD.GetDispatchToSD(whLocation, product, this.userId)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.dynamicAddRow = [];\r\n this.defaultView = false;\r\n this.dispatchToSDObj = response.data;\r\n //this.AddRowWHLocationSetting();\r\n this.AddRowProductSetting();\r\n this.AddRowReceivedThrough();\r\n this.AddRowPackSizeSetting();\r\n\r\n\r\n // for (let i = 0; i < response.data.editDispatchtoSD.length; i++) {\r\n // this.AddRowForEdit(i,response.data.editDispatchtoSD[i]);\r\n // }\r\n //this.AddRow(response.data.editDispatchtoSD.length);\r\n this.AddRow(0);\r\n\r\n console.log(response.data);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n }\r\n\r\n AddRowForEdit(index, data) {\r\n var datePipe = new DatePipe(\"en-US\");\r\n let stockDate = data.stockReceiptDate;\r\n data.stockReceiptDate = datePipe.transform(stockDate, 'dd/MMM/yyyy');\r\n let mfgDate = data.mfgDate;\r\n data.mfgDate = datePipe.transform(mfgDate, 'dd/MMM/yyyy');\r\n let expDate = data.expDate;\r\n data.expDate = datePipe.transform(expDate, 'dd/MMM/yyyy');\r\n let invDate = data.invDate;\r\n data.invDate = datePipe.transform(invDate, 'dd/MMM/yyyy');\r\n\r\n this.newAddRow =\r\n {\r\n Id: data.id,\r\n WarehouseCode: data.warehouseCode,\r\n WarehouseLocation: data.warehouseLocation,\r\n ItemCode: data.itemCode,\r\n ItemName: data.itemName,\r\n PackSize: data.packSize,\r\n StockReceiptDate: data.stockReceiptDate,\r\n ReceivedThrough: data.receivedThrough,\r\n ReceivedFrom: data.receivedFrom,\r\n BatchNo: data.batchNo,\r\n QtyMentionedInDoc: data.qtyMentionedInDoc,\r\n ActualQtyReceived: data.actualQtyReceived,\r\n NoofCase: data.noofCase,\r\n MFGDate: data.mfgDate,\r\n EXPDate: data.expDate,\r\n DocNo: data.docNo,\r\n InvNo: data.invNo,\r\n INVDate: data.invDate,\r\n IsEdit: false\r\n\r\n }\r\n\r\n let WHSelected = { whCode: data.warehouseCode, whName: data.warehouseLocation };\r\n this.newAddRow.WHSelectedList = [];\r\n this.newAddRow.WHSelectedList.push(WHSelected);\r\n\r\n\r\n let ProductSelected = { productCode: data.itemCode, productName: data.itemName };\r\n this.newAddRow.ProductSelectedList = [];\r\n this.newAddRow.ProductSelectedList.push(ProductSelected);\r\n\r\n let PackSizeSelected = { packSize: data.packSize };\r\n this.newAddRow.PackSizeSelectedList = [];\r\n this.newAddRow.PackSizeSelectedList.push(PackSizeSelected);\r\n\r\n let RecThroughSelected = { receivedThrough: data.receivedThrough };\r\n this.newAddRow.RecThroughSelectedList = [];\r\n this.newAddRow.RecThroughSelectedList.push(RecThroughSelected);\r\n\r\n this.productPackSize.push(0);\r\n this.productPackSize[index] = [];\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == data.itemCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.productPackSize[index].push(packSize);\r\n\r\n\r\n }\r\n }\r\n this.dynamicAddRow.push(this.newAddRow);\r\n\r\n }\r\n\r\n\r\n AddRow(index) {\r\n this.newAddRow =\r\n {\r\n Id: 0,\r\n WarehouseCode: \"\",\r\n WarehouseLocation: \"\",\r\n ItemCode: \"\",\r\n ItemName: \"\",\r\n PackSize: \"\",\r\n StockReceiptDate: \"\",\r\n ReceivedThrough: \"\",\r\n ReceivedFrom: \"\",\r\n BatchNo: \"\",\r\n QtyMentionedInDoc: \"\",\r\n ActualQtyReceived: \"\",\r\n NoofCase: \"\",\r\n MFGDate: \"\",\r\n EXPDate: \"\",\r\n DocNo: \"\",\r\n InvNo: \"\",\r\n INVDate: \"\",\r\n IsEdit: true\r\n }\r\n this.productPackSize.push(0);\r\n this.dynamicAddRow.push(this.newAddRow);\r\n return true;\r\n }\r\n\r\n DeleteRow(index) {\r\n if (this.dynamicAddRow.length == 1) {\r\n this.toastr.error(\"Can't delete the row when there is only one row\");\r\n return false;\r\n }\r\n else {\r\n this.dynamicAddRow.splice(index, 1);\r\n return true;\r\n }\r\n }\r\n\r\n IsAlphaNumeric(event: any) {\r\n var newKeyCode = event.keyCode;\r\n return ((newKeyCode > 64 && newKeyCode < 91) || (newKeyCode > 96 && newKeyCode < 123) || (newKeyCode == 8 || newKeyCode == 32) || (newKeyCode >= 48 && newKeyCode <= 57) || newKeyCode == 59);\r\n }\r\n\r\n onAddRowProductSelect(item: any, index: any) {\r\n this.productPackSize[index] = [];\r\n\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == item.productCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.productPackSize[index].push(packSize);\r\n\r\n\r\n }\r\n }\r\n\r\n this.dynamicAddRow[index].PackSizeSelectedList = [];\r\n\r\n this.dynamicAddRow[index].ItemCode = item.productCode;\r\n this.dynamicAddRow[index].ItemName = item.productName;\r\n\r\n\r\n }\r\n onAddRowProductDeSelect(item: any, index: any) {\r\n this.productPackSize[index] = [];\r\n }\r\n\r\n onAddRowReceivedThrough(item: any, index: any) {\r\n this.dynamicAddRow[index].ReceivedThrough = item.receivedThrough;\r\n }\r\n onAddRowReceivedThroughDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].ReceivedThrough = \"\";\r\n }\r\n onAddRowPackSize(item: any, index: any) {\r\n this.dynamicAddRow[index].PackSize = item.packSize;\r\n }\r\n onAddRowPackSizeDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].PackSize = \"\";\r\n }\r\n onAddRowWHLocation(item: any, index: any) {\r\n this.dynamicAddRow[index].WarehouseCode = item.whCode;\r\n this.dynamicAddRow[index].WarehouseLocation = item.whName;\r\n }\r\n\r\n ononAddRowWHLocationDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].WarehouseCode = \"\";\r\n this.dynamicAddRow[index].WarehouseLocation = \"\";\r\n }\r\n onDateSelectEXPDate(newValueEXPDate, index) {\r\n this.dynamicAddRow[index].MFGDate\r\n let nwValue = newValueEXPDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].EXPDate = nwValue;\r\n }\r\n onDateSelectMFGDate(newValueEXPDate, index) {\r\n let nwValue = newValueEXPDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].MFGDate = nwValue;\r\n }\r\n onDateSelectStockDate(newValueEXPDate, index) {\r\n let nwValue = newValueEXPDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].StockReceiptDate = nwValue;\r\n }\r\n onDateSelectINVDate(newValueINVDate, index) {\r\n let nwValue = newValueINVDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].INVDate = nwValue;\r\n }\r\n\r\n ValidateDispatchtoSD(dynamicAddRow: any) {\r\n this.displayReject = 'none';\r\n let isValid = true;\r\n for (let i = 0; i < dynamicAddRow.length; i++) {\r\n if (!Boolean(dynamicAddRow[i].WarehouseCode)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].WarehouseLocation)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].ItemCode)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].ItemName)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].PackSize)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].StockReceiptDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].ReceivedThrough)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].ReceivedFrom)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].BatchNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].QtyMentionedInDoc)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].ActualQtyReceived)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].NoofCase)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].MFGDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].DocNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].EXPDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].InvNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].INVDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n let mfgDate = new Date(dynamicAddRow[i].MFGDate);\r\n let expDate = new Date(dynamicAddRow[i].EXPDate);\r\n if (expDate <= mfgDate) {\r\n isValid = false;\r\n this.toastr.error(\"EXP Date must be greater than MFG Date.\");\r\n return false;\r\n }\r\n }\r\n if (isValid) {\r\n\r\n this.displayReject = 'block';\r\n }\r\n\r\n\r\n //console.log(dynamicAddRow);\r\n }\r\n closePopup(commentModal: string) {\r\n this.displayReject = 'none';\r\n this.displayEdit = 'none';\r\n }\r\n\r\n SaveDispatchtoSD(dynamicAddRow: any) {\r\n this.loader = 'block';\r\n this.displayReject = 'none';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.dispatchToSD.SaveDispatchToSD(dynamicAddRow, this.userId)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.defaultView = true;\r\n this.toastr.success(response.message);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n }\r\n\r\n EditRow(stock: any) {\r\n //this.editStockIn = stock;\r\n this.editStockIn = this.DeepCopy(stock);\r\n this.editStockIn.productId = this.editStockIn.productCode;\r\n this.editStockIn.whLocation = this.editStockIn.whName;\r\n this.displayEdit = \"block\";\r\n let WHSelected = { whCode: this.editStockIn.whCode, whName: this.editStockIn.whName };\r\n this.editStockIn.WHSelectedList = [];\r\n this.editStockIn.WHSelectedList.push(WHSelected);\r\n\r\n\r\n let ProductSelected = { productCode: this.editStockIn.productCode, productName: this.editStockIn.productName };\r\n this.editStockIn.ProductSelectedList = [];\r\n this.editStockIn.ProductSelectedList.push(ProductSelected);\r\n\r\n let PackSizeSelected = { packSize: this.editStockIn.packSize };\r\n this.editStockIn.PackSizeSelectedList = [];\r\n this.editStockIn.PackSizeSelectedList.push(PackSizeSelected);\r\n\r\n let RecThroughSelected = { receivedThrough: this.editStockIn.receivedThrough };\r\n this.editStockIn.RecThroughSelectedList = [];\r\n this.editStockIn.RecThroughSelectedList.push(RecThroughSelected);\r\n\r\n }\r\n\r\n onEditRowProductSelect(item: any, index: any) {\r\n this.editProductPackSize = [];\r\n\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == item.productCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.editProductPackSize.push(packSize);\r\n\r\n\r\n }\r\n }\r\n\r\n this.editStockIn.PackSizeSelectedList = [];\r\n\r\n this.editStockIn.productId = item.productCode;\r\n this.editStockIn.productName = item.productName;\r\n\r\n\r\n }\r\n\r\n onEditRowProductDeSelect(item: any, index: any) {\r\n this.editStockIn.productName = \"\";\r\n this.editStockIn.productId = \"\";\r\n }\r\n\r\n onEditRowReceivedThrough(item: any, index: any) {\r\n this.editStockIn.receivedThrough = item.receivedThrough;\r\n }\r\n onEditRowReceivedThroughDeSelect(item: any, index: any) {\r\n this.editStockIn.receivedThrough = \"\";\r\n }\r\n onEditRowPackSize(item: any, index: any) {\r\n this.editStockIn.packSize = item.packSize;\r\n }\r\n onEditRowPackSizeDeSelect(item: any, index: any) {\r\n this.editStockIn.packSize = \"\";\r\n }\r\n onEditRowWHLocation(item: any, index: any) {\r\n this.editStockIn.whCode = item.whCode;\r\n this.editStockIn.whLocation = item.whName;\r\n }\r\n\r\n onEditRowWHLocationDeSelect(item: any, index: any) {\r\n this.editStockIn.whCode = \"\";\r\n this.editStockIn.whName = \"\";\r\n }\r\n\r\n DeepCopy(obj: any): any {\r\n let clonedObject;\r\n\r\n if (obj === null || typeof obj !== 'object') {\r\n return obj;\r\n }\r\n if (obj instanceof Array) {\r\n clonedObject = [];\r\n for (let i = 0; i < obj.length; i++) {\r\n clonedObject[i] = this.DeepCopy(obj[i]);\r\n }\r\n return clonedObject;\r\n }\r\n if (obj instanceof Date) {\r\n clonedObject = new Date(obj.valueOf());\r\n return clonedObject;\r\n }\r\n if (obj instanceof RegExp) {\r\n clonedObject = RegExp(obj.source, obj.flags);\r\n return clonedObject;\r\n }\r\n if (obj instanceof Object) {\r\n clonedObject = new obj.constructor();\r\n for (const attr in obj) {\r\n if (obj.hasOwnProperty(attr)) {\r\n clonedObject[attr] = this.DeepCopy(obj[attr]);\r\n }\r\n }\r\n return clonedObject;\r\n }\r\n }\r\n\r\n EditDispatchtoSD(stockIn) {\r\n let isValid = true;\r\n if (!Boolean(stockIn.whCode)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.whLocation)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.productId)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.productName)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.packSize)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.stockReceiptDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.receivedThrough)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.receivedFrom)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.batchNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.qtyMentioned)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.qtyReceived)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.noofCase)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.mfgDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.docNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.expDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.invNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.invDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n let mfgDate = new Date(stockIn.mfgDate);\r\n let expDate = new Date(stockIn.expDate);\r\n if (expDate <= mfgDate) {\r\n isValid = false;\r\n this.toastr.error(\"EXP Date must be greater than MFG Date.\");\r\n return false;\r\n }\r\n\r\n this.displayEdit = 'none';\r\n this.loader = 'block';\r\n\r\n if (isValid) {\r\n stockIn.userId = localStorage.getItem('dsu_userId');\r\n console.log(stockIn);\r\n this.dispatchToSD.UpdateStockIn(stockIn)\r\n .subscribe((response) => {\r\n\r\n if (response.status) {\r\n this.defaultView = true;\r\n this.toastr.success(response.message);\r\n this.GetDispatchToSD();\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n\r\n }\r\n }\r\n}","module.exports = \".applyPadding{\\r\\n padding-right: 10px;\\r\\n}\\r\\n.dispatch-popup {\\r\\n display: none;\\r\\n position: fixed;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n width: 460px;\\r\\n background-color: white;\\r\\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\\r\\n z-index: 1000;\\r\\n padding: 20px;\\r\\n border-radius: 20px;\\r\\n}\\r\\n.popup-overlay {\\r\\n display: none;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n z-index: 999;\\r\\n}\\r\\n#close-dis-popup{\\r\\n background: none;\\r\\n width: auto;\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.dispatch-popup textarea {\\r\\n width: 100%;\\r\\n height: 80px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 5px;\\r\\n resize: none;\\r\\n}\\r\\n.dispatch-popup label{\\r\\n display: block;\\r\\n}\\r\\n#open-popup {\\r\\n cursor: pointer;\\r\\n}\\r\\n.popup {\\r\\n display: none;\\r\\n position: fixed;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n width: 390px;\\r\\n background-color: white;\\r\\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\\r\\n z-index: 1000;\\r\\n padding: 20px;\\r\\n border-radius: 20px;\\r\\n}\\r\\n.popup-overlay {\\r\\n display: none;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n z-index: 999;\\r\\n}\\r\\n#close-popup{\\r\\n background: none;\\r\\n width: auto;\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 2px;\\r\\n cursor: pointer;\\r\\n}\\r\\np.popup-remark {\\r\\n font-weight: 600;\\r\\n font-size: 16px;\\r\\n margin: 20px 0 0 0;\\r\\n}\\r\\n.Remark-box{\\r\\n width: 100%;\\r\\n height: 112px;\\r\\n background: rgba(151, 151, 151, 0.02);\\r\\n border: 1px solid rgba(151, 151, 151, 0.3);\\r\\n padding: 10px 15px 5px;\\r\\n border-radius: 8px;\\r\\n overflow: auto;\\r\\n }\\r\\n.Remark-box h6{\\r\\n margin-bottom: 5px;\\r\\n color: rgba(51, 51, 51, 0.6);\\r\\n }\\r\\n.Remark-box p{\\r\\n color: #000;\\r\\n }\\r\\n.popup small {\\r\\n font-style: italic;\\r\\n line-height: 14px;\\r\\n font-size: 13px;\\r\\n display: block;\\r\\n margin: 0 0 15px 0;\\r\\n color: red;\\r\\n }\\r\\n.yearwidth {\\r\\n width: 10%;\\r\\n }\\r\\n.monthwidth{\\r\\n width: 15%;\\r\\n }\\r\\n.btnadjust {\\r\\n margin-top: 4px;\\r\\n }\"","module.exports = \"
\\r\\n

Dispatch to Warehouse

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

Filters

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Requested Data
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
ProductPack SizeQty Approved(Kg/Ltr)Qty Dispachted(Kg/Ltr)Qty Remaining(Kg/Ltr)MonthWH LocationRequested ByClosed
No Record Found
\\r\\n {{stock.productName}}\\r\\n \\r\\n {{stock.packSize}}\\r\\n \\r\\n {{stock.qtyApproved}}\\r\\n \\r\\n {{stock.requestedQty}}\\r\\n \\r\\n {{stock.remainingQty}}\\r\\n \\r\\n {{stock.monthName}}\\r\\n \\r\\n {{stock.whLocation}}\\r\\n \\r\\n {{stock.requestType}}\\r\\n \\\"\\\"\\r\\nYes \\\"Info\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n Showing: {{startRecord}}-{{endRecord}} of {{totalRecord}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * Mandatory Fields\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Product*Pack Size*Month*Batch No*Qty (Kg/Ltr)*EXP Date*LR*Carrier Detail*Origin Location*Invoice No*Date*Warehouse Location*Requested By*
\\r\\n\\r\\n
1\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Dispachted History
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
ProductPack SizeBatch NoQty Dispachted(Kg/Ltr)EXP DateInv NoInv DateLRCarrier DetailsOrigin LocationWH LocationMonthDispachted OnDispachted ByRequested By
No Record Found
\\r\\n {{stock.productName}}\\r\\n \\r\\n {{stock.packSize}}\\r\\n \\r\\n {{stock.batchNo}}\\r\\n \\r\\n {{stock.qtyDispatched}}\\r\\n \\r\\n {{stock.expDate}}\\r\\n \\r\\n {{stock.invNo}}\\r\\n \\r\\n {{stock.invDate}}\\r\\n \\r\\n {{stock.lr}}\\r\\n \\r\\n {{stock.carrierDetail}}\\r\\n \\r\\n {{stock.originLocation}}\\r\\n \\r\\n {{stock.whName}}\\r\\n \\r\\n {{stock.monthName}}\\r\\n \\r\\n {{stock.createdOn}}\\r\\n \\r\\n {{stock.createdBy}}\\r\\n \\r\\n {{ stock.requestType.slice(0, 5) }} {{ stock.requestType.slice(5) }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Are you sure you want to submit. Once submitted, it cannot be cancelled/updated.

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Product*\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Pack Size*\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Pack MRP*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Batch No*\\r\\n \\r\\n
\\r\\n
\\r\\n Qty*\\r\\n \\r\\n
\\r\\n
\\r\\n MFG Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n EXP Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Inv No*\\r\\n \\r\\n
\\r\\n
\\r\\n INV Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Warehouse Location*\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

Closed by FMC Supply Team on \\r\\n 23 Oct\\r\\n 2024\\r\\n

\\r\\n Demo samples already dispatched by FMC Supply team can be allocated and dispatched to\\r\\n field team.\\r\\n
\\r\\n
Remarks:
\\r\\n

Lorem ipsum dolor sit amet consectetur. Condimentum aliquam proin ultrices ut\\r\\n accumsan ac sit fames tortor.

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

Are you sure you want to close this request?

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { DropDownRequest, DropDownResponse, RequirmentTypeModel, WHLocationModel } from '../../Models/DropDwon/DropDownRequest';\r\nimport { productModel } from '../../Models/DropDwon/ProductModel';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DispatchToWarehouseService } from '../../Services/DispatchToWarehouse/dispatch-to-warehouse.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { monthModel } from 'src/app/Models/DropDwon/MonthModel';\r\nimport { originLocationModel } from 'src/app/Models/DropDwon/OriginLocationModel';\r\nimport { UploadExcel } from 'src/app/models/DSDispatchToSD/AddRow';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\n\r\n\r\n@Component({\r\n selector: 'dispatch-to-warehouse',\r\n templateUrl: './dispatch-to-warehouse.component.html',\r\n styleUrls: ['./dispatch-to-warehouse.component.css']\r\n})\r\nexport class DispatchToWarehouseComponent implements OnInit {\r\n \r\n public loader: string = \"none\";\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('WHLocationItem') WHLocationItem;\r\n @ViewChild('AddRowWHLocation') AddRowWHLocation;\r\n @ViewChild('AddRowProduct') AddRowProduct;\r\n @ViewChild('AddRowPackSize') AddRowPackSize;\r\n @ViewChild('AddRowRecThrough') AddRowRecThrough;\r\n @ViewChild('monthSelect') monthSelect;\r\n @ViewChild('AddRowMonth') AddRowMonth;\r\n @ViewChild('AddRowOriginLocation') AddRowOriginLocation;\r\n @ViewChild('file') file;\r\n @ViewChild('year') year;\r\n \r\n public form: FormGroup;\r\n\r\n\r\n public userId: string;\r\n public roleId: string;\r\n public FlagDropDown: string;\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n\r\n public ddlResponseWH: DropDownResponse = new DropDownResponse();\r\n\r\n public RequirmentTypeSettings = {};\r\n public requirmentTypeDdl: RequirmentTypeModel[];\r\n public requirmentDllValue: any;\r\n\r\n public WHLocationSettings = {};\r\n public whLocationDdl: WHLocationModel[];\r\n public whLocationDDlValue: any;\r\n\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n\r\n\r\n public AddRowWHLocationSettings = {};\r\n public AddRowWHLocationDDlValue: any;\r\n\r\n public AddRowRequestTypeSettings = {};\r\n public AddRowRequestTypeDDlValue: any;\r\n\r\n public AddRowProductSettings = {};\r\n public AddRowProductSelectedItem: productModel[];\r\n\r\n public AddRowReceivedThroughSettings = {};\r\n public AddRowPackSizeSettings = {};\r\n \r\n public MonthSettings = {};\r\n public MonthSelectedItem: monthModel[];\r\n\r\n public OriginLocationSettings = {};\r\n\r\n public AddRowOriginLocationSettings = {};\r\n public AddRowOriginLocationSelectedItem: originLocationModel[];\r\n\r\n public AddRowMonthSettings = {};\r\n public AddRowMonthSelectedItem: monthModel[];\r\n\r\n public YearSettings= {};\r\n document: UploadExcel = new UploadExcel();\r\n approvefinalReqDetails: any[] = [];\r\n reqType: string;\r\n regionCode: string;\r\n wareHouseLocation: string;\r\n selectedReqType: any = [];\r\n selectedRegion: any = [];\r\n public files: File[] = [];\r\n public fileName: string = '';\r\n defaultView: boolean = true;\r\n totalRecord: number = 0;\r\n currentPage: number = 1;\r\n lastPage: number = 1;\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n dispatchToSDObj: any = [];\r\n dispatchToSDWarehouseObj: any[];\r\n pagination: any;\r\n userName: string;\r\n recordsOnCurrentPage: number = 0;\r\n endRecord: number = 0;\r\n startRecord: number = 0;\r\n defaultValue = \"none\";\r\n dynamicAddRow: any = [];\r\n newAddRow: any = {};\r\n productPackSize: any[] = [];\r\n displayReject = 'none';\r\n displayEdit = 'none';\r\n editStockIn: any = {};\r\n editProductPackSize: any[] = [];\r\n currentYear = new Date().getFullYear();\r\n hiddenFMCSTCloseModel: any;\r\n remarkInput: any;\r\n today: Date;\r\n constructor(private ddlServices: DropDownService, private toastr: ToastrService, private dispatchToWarehouse: DispatchToWarehouseService,private cd: ChangeDetectorRef) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"44\") ? \"Supervisor\" : \"DEFAULT\";\r\n }\r\n\r\n ngOnInit() {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n const years=response.data.year;\r\n if (years.length >= 2) {\r\n // Extract the last two items\r\n this.ddlResponse.year = years.slice(-2);\r\n } else {\r\n this.ddlResponse.year = years;\r\n }\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n this.YearSetting(); \r\n } \r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n \r\n\r\n this.WHLocationSetting();\r\n this.GetWarehouseLocationData(this.userId, this.roleId, \"TRUE\");\r\n this.ProductSetting();\r\n // this.YearSetting(); \r\n this.MonthSetting();\r\n this.reqType = '';\r\n this.regionCode = '';\r\n this.GetWarehouseData(1);\r\n this.AddRowWHLocationSetting();\r\n this.AddRowRequestTypeSetting();\r\n this.AddRowProductSetting();\r\n this.AddRowPackSizeSetting();\r\n this.AddRowMonthSetting();\r\n this.AddRowOriginLocationSetting();\r\n\r\n this.loader = 'none';\r\n this.today=new Date();\r\n this.today.setHours(0, 0, 0, 0); \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 WHLocationSetting() {\r\n this.WHLocationSettings = {\r\n singleSelection: false,\r\n idField: 'whId',\r\n textField: 'whName',\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 Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n WHLocation() {\r\n this.whLocationDdl = [{ WHId: \"1\", WHName: \"WHName1\" }, { WHId: \"2\", WHName: \"WHName2\" }]\r\n }\r\n\r\n AddRowWHLocationSetting() {\r\n this.AddRowWHLocationSettings = {\r\n singleSelection: true,\r\n idField: 'whCode',\r\n textField: 'whName',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Location Found',\r\n closeDropDownOnSelection: true,\r\n };\r\n }\r\n AddRowRequestTypeSetting() {\r\n this.AddRowRequestTypeSettings = {\r\n singleSelection: true,\r\n idField: 'requestType',\r\n textField: 'requestType',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Request Type Found',\r\n closeDropDownOnSelection: true,\r\n };\r\n }\r\n AddRowPackSizeSetting() {\r\n this.AddRowPackSizeSettings = {\r\n singleSelection: true,\r\n idField: 'packSize',\r\n textField: 'packSize',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Pack Size Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n\r\n AddRowProductSetting() {\r\n this.AddRowProductSettings = {\r\n singleSelection: true,\r\n idField: 'productCode',\r\n textField: 'productName',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Product Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n AddRowMonthSetting() {\r\n this.AddRowMonthSettings = {\r\n singleSelection: true,\r\n idField: 'monthId',\r\n textField: 'monthName',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Month Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n AddRowOriginLocationSetting() {\r\n this.AddRowOriginLocationSettings = {\r\n singleSelection: true,\r\n idField: 'code',\r\n textField: 'name',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Origin Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n\r\n ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n MonthSetting() {\r\n this.MonthSettings = {\r\n singleSelection: false,\r\n idField: 'monthId',\r\n textField: 'monthName',\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\r\n OriginLocationSetting() {\r\n this.OriginLocationSettings = {\r\n singleSelection: false,\r\n idField: 'code',\r\n textField: 'name',\r\n enableCheckAll: false,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 10,\r\n noDataAvailablePlaceholderText: 'No Origin Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n\r\n GetWarehouseData(pageNumber: number){\r\n this.loader = 'block';\r\n debugger;\r\n this.isDisabledPrevious = true;\r\n this.isDisabledNext = false;\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let year=0;\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let month = Array.prototype.map.call(this.monthSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dispatchToWarehouse.GetDispatchToWarehouse(whLocation, product,year, month, this.userId,pageNumber)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n //this.dynamicAddRow = [];\r\n this.defaultView = false;\r\n this.dispatchToSDWarehouseObj = response.data.dispatchToWarehouseList;\r\n this.pagination = response.data.pagination;\r\n this.totalRecord = this.pagination.totalRecord;\r\n this.currentPage = this.pagination.currentPage;\r\n this.lastPage = this.pagination.lastPage;\r\n this.recordsOnCurrentPage = this.pagination.recordOnPage;\r\n this.endRecord = this.recordsOnCurrentPage;\r\n this.startRecord = 1;\r\n if (this.currentPage == 1) {\r\n localStorage.setItem(\"numberOfRecordsOnFirstPage\", this.recordsOnCurrentPage.toString());\r\n }\r\n if (this.currentPage > 1) {\r\n this.isDisabledPrevious = false;\r\n this.startRecord = (this.currentPage - 1) * parseInt(localStorage.getItem(\"numberOfRecordsOnFirstPage\"), 10) + 1;\r\n this.endRecord = this.startRecord + this.recordsOnCurrentPage - 1;\r\n }\r\n if (this.currentPage == this.lastPage || this.totalRecord == 0) {\r\n this.isDisabledNext = !this.isDisabledNext;\r\n this.recordsOnCurrentPage = this.totalRecord;\r\n } if (this.dispatchToSDWarehouseObj.length == 0) {\r\n this.startRecord = 0;\r\n this.endRecord = 0;\r\n this.recordsOnCurrentPage = 0;\r\n }\r\n\r\n console.log(response.data);\r\n }\r\n else {\r\n this.dispatchToSDWarehouseObj= [];\r\n this.pagination = [];\r\n this.totalRecord = 0;\r\n this.currentPage = 0;\r\n this.lastPage = 0;\r\n this.recordsOnCurrentPage = 0;\r\n this.endRecord = 0;\r\n this.startRecord = 0;\r\n this.isDisabledNext = true;\r\n this.isDisabledPrevious = true\r\n // this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n \r\n\r\n GetWarehouseLocationData(userId: string, roleId: string, IsOnInit: string) {\r\n let obj: DropDownRequest = new DropDownRequest();\r\n\r\n this.loader = 'block';\r\n obj.UserId = this.userId;\r\n obj.Role = this.roleId;\r\n obj.Flag = IsOnInit;\r\n obj.SD = '';\r\n this.ddlServices.getWarehouseLocationDropDown(obj)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n\r\n this.ddlResponseWH.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n\r\n reset() {\r\n this.defaultValue = 'none';\r\n if (this.productSelect != undefined) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n if (this.monthSelect != undefined) {\r\n this.monthSelect.selectedItems = [];\r\n }\r\n \r\n if (this.WHLocationItem != undefined) {\r\n this.WHLocationItem.selectedItems = [];\r\n }\r\n \r\n if (this.year != undefined)\r\n {\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem;\r\n }\r\n this.defaultView = true;\r\n }\r\n\r\n DownloadExcelForDispatchToWarehouse() {\r\n this.loader = 'block';\r\n let today = new Date();\r\n let month1 = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n let year = today.getFullYear();\r\n let formattedDate = today.getDate() + \"_\" + month1 + \"_\" + year;\r\n let yearfilter=0;\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let month = Array.prototype.map.call(this.monthSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n yearfilter = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dispatchToWarehouse.DownloadExcelForDispatchToWarehouse(whLocation, product, month,yearfilter, this.userId,0)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName +\"_\"+year+ \"_DispatchToWarehouse_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No data available for download\");\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n\r\n UploadExcel(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 let UserId = localStorage.getItem('dsu_userId');\r\n\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n this.toastr.error(\"Please Select Valid File Type.\");\r\n return false;\r\n }\r\n \r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n \r\n this.dispatchToWarehouse.uploadExcel(this.document.file, UserId)\r\n .subscribe((resData: any) => {\r\n if (resData.status == true) {\r\n this.toastr.success(resData.message);\r\n }\r\n else {\r\n this.toastr.error(resData.message);\r\n }\r\n this.file.nativeElement.value = '';\r\n debugger;\r\n this.GetWarehouseData(1);\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n\r\n }\r\n\r\n DownloadDispatchHistory() {\r\n this.loader = 'block';\r\n let today = new Date();\r\n let month1 = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n let year = today.getFullYear();\r\n let formattedDate = today.getDate() + \"_\" + month1 + \"_\" + year;\r\n \r\n this.userId = localStorage.getItem('dsu_userId');\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let month = Array.prototype.map.call(this.monthSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dispatchToWarehouse.DownloadDispatchHistory(whLocation, product, month, this.userId,0)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName +\"_\"+year+ \"_WarehouseToSDDispatchHistory_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No data available for download\");\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n GetDispatchToWarehouse() {\r\n this.GetWarehouseData(1);\r\n let isValid = true;\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let month = Array.prototype.map.call(this.monthSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let year= Array.prototype.map.call(this.year.selectedItems,function (item){return item.id;}).join(\",\");\r\n\r\n // if (isValid) {\r\n this.loader = 'block';\r\n this.dispatchToWarehouse.GetWarehouseFilter(whLocation, product, month, this.userId,year)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.dynamicAddRow = [];\r\n this.defaultView = false;\r\n debugger;\r\n this.dispatchToSDObj = response.data;\r\n // if(this.dispatchToSDObj.stockAvailable.length <= 0){\r\n // this.toastr.error(\"No data found\");\r\n // }\r\n if (this.dispatchToSDWarehouseObj.length > 0) {\r\n //for (let i = 0; i < this.dispatchToSDWarehouseObj.length; i++) {\r\n this.AddRow();\r\n //}\r\n }\r\n this.AddRowProductSetting();\r\n this.AddRowPackSizeSetting();\r\n //this.AddRowMonthSetting();\r\n //this.AddRowOriginLocationSetting();\r\n // if (this.dispatchToSDObj.stockEdit.length > 0) {\r\n // this.AddRow(0);\r\n // }\r\n console.log(response.data);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n // }\r\n\r\n }\r\n\r\n AddRowForEdit(index, data) {\r\n var datePipe = new DatePipe(\"en-US\");\r\n let mfgDate = data.mfgDate;\r\n data.mfgDate = datePipe.transform(mfgDate, 'dd/MMM/yyyy');\r\n let expDate = data.expDate;\r\n data.expDate = datePipe.transform(expDate, 'dd/MMM/yyyy');\r\n let invDate = data.invDate;\r\n data.invDate = datePipe.transform(invDate, 'dd/MMM/yyyy');\r\n\r\n this.newAddRow =\r\n {\r\n Id: data.id,\r\n WarehouseCode: data.warehouseCode,\r\n WarehouseLocation: data.warehouseLocation,\r\n ItemCode: data.itemCode,\r\n ItemName: data.itemName,\r\n PackSize: data.packSize,\r\n PackMRP: data.packMRP,\r\n BatchNo: data.batchNo,\r\n Qty: data.qty,\r\n LR: data.lr,\r\n CarrierDetail: data.CarrierDetail,\r\n OriginLocation: data.originLocation,\r\n MFGDate: data.mfgDate,\r\n EXPDate: data.expDate,\r\n DocNo: data.docNo,\r\n InvNo: data.invNo,\r\n InvDate: data.invDate,\r\n IsEdit: false\r\n\r\n }\r\n\r\n\r\n this.productPackSize.push(0);\r\n this.productPackSize[index] = [];\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == data.itemCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.productPackSize[index].push(packSize);\r\n\r\n\r\n }\r\n }\r\n this.dynamicAddRow.push(this.newAddRow);\r\n\r\n }\r\n\r\n\r\n AddRow() {\r\n this.newAddRow =\r\n {\r\n Id: 0,\r\n WarehouseCode: \"\",\r\n WarehouseLocation:\"\",\r\n ProductCode:\"\",\r\n PackSize:\"\",\r\n PackMRP: 0,\r\n BatchNo: \"\",\r\n Qty: 0.0,\r\n LR: \"\",\r\n OriginLocation: \"\",\r\n CarrierDetail: \"\",\r\n MFGDate: \"\",\r\n EXPDate: \"\",\r\n InvNo: \"\",\r\n InvDate: \"\",\r\n Month:\"\",\r\n OriginLocationName:\"\",\r\n IsEdit: true\r\n }\r\n this.productPackSize.push(0);\r\n this.dynamicAddRow.push(this.newAddRow);\r\n return true;\r\n }\r\n\r\n \r\n AddDataRow(i) {\r\n this.newAddRow =\r\n {\r\n Id: 0,\r\n WarehouseCode: \"\",\r\n WarehouseLocation:\"\",\r\n ProductCode:\"\",\r\n PackSize:\"\",\r\n PackMRP: 0,\r\n BatchNo: \"\",\r\n Qty: 0.0,\r\n LR: \"\",\r\n OriginLocation: \"\",\r\n CarrierDetail: \"\",\r\n MFGDate: \"\",\r\n EXPDate: \"\",\r\n InvNo: \"\",\r\n InvDate: \"\",\r\n Month:\"\",\r\n OriginLocationName:\"\",\r\n IsEdit: true\r\n }\r\n this.productPackSize.push(0);\r\n this.dynamicAddRow.push(this.newAddRow);\r\n return true;\r\n }\r\n\r\n DeleteRow(index) {\r\n if (this.dynamicAddRow.length == 1) {\r\n this.toastr.error(\"Can't delete the row when there is only one row\");\r\n return false;\r\n }\r\n else {\r\n this.dynamicAddRow.splice(index, 1);\r\n return true;\r\n }\r\n }\r\n\r\n IsAlphaNumeric(event: any) {\r\n var newKeyCode = event.keyCode;\r\n return ((newKeyCode > 64 && newKeyCode < 91) || (newKeyCode > 96 && newKeyCode < 123) || (newKeyCode == 8 || newKeyCode == 32) || (newKeyCode >= 48 && newKeyCode <= 57) || newKeyCode == 59);\r\n }\r\n\r\n onAddRowProductSelect(item: any, index: any) {\r\n this.productPackSize[index] = [];\r\n\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == item.productCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.productPackSize[index].push(packSize);\r\n\r\n\r\n }\r\n }\r\n\r\n this.dynamicAddRow[index].ProductCode = item.productCode;\r\n this.dynamicAddRow[index].productName = item.productName;\r\n\r\n\r\n }\r\n onAddRowProductDeSelect(item: any, index: any) {\r\n this.productPackSize[index] = [];\r\n }\r\n\r\n onAddRowPackSize(item: any, index: any) {\r\n this.dynamicAddRow[index].PackSize = item.packSize;\r\n }\r\n onAddRowPackSizeDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].PackSize = \"\";\r\n }\r\n onAddRowMonth(item: any, index: any) {\r\n this.dynamicAddRow[index].Month = item.monthId;\r\n }\r\n onAddRowMonthDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].Month = \"\";\r\n }\r\n onAddRowWHLocation(item: any, index: any) {\r\n this.dynamicAddRow[index].WarehouseCode = item.whCode;\r\n this.dynamicAddRow[index].WarehouseLocation = item.whName;\r\n }\r\n onAddRowRequestType(item: any, index: any) {\r\n debugger;\r\n this.dynamicAddRow[index].RequestTypes = item.requestType;\r\n }\r\n\r\n onAddRowOriginLocation(item: any, index: any) {\r\n this.dynamicAddRow[index].OriginLocation = item.code;\r\n var name= item.name.split('(');\r\n this.dynamicAddRow[index].OriginLocationName = name[0];\r\n }\r\n\r\n onAddRowOriginLocationDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].OriginLocation = \"\";\r\n this.dynamicAddRow[index].OriginLocationName = \"\";\r\n }\r\n\r\n onAddRowWHLocationDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].WarehouseCode = \"\";\r\n this.dynamicAddRow[index].WarehouseLocation = \"\";\r\n }\r\n onAddRowRequestTypeDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].RequestTypes = \"\";\r\n }\r\n onDateSelectEXPDate(newValueEXPDate, index) {\r\n this.dynamicAddRow[index].MFGDate\r\n let nwValue = newValueEXPDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].EXPDate = nwValue;\r\n }\r\n onDateSelectMFGDate(newValueEXPDate, index) {\r\n let nwValue = newValueEXPDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].MFGDate = nwValue;\r\n }\r\n \r\n onDateSelectINVDate(newValueINVDate, index) {\r\n let nwValue = newValueINVDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].InvDate = nwValue;\r\n }\r\n\r\n ValidateDispatchToWarehouse(dynamicAddRow: any) {\r\n\r\n this.displayReject = 'none';\r\n let isValid = true;\r\n for (let i = 0; i < dynamicAddRow.length; i++) {\r\n if (!Boolean(dynamicAddRow[i].WarehouseLocation)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].RequestTypes)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].ProductCode)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].PackSize)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n // if (!Boolean(dynamicAddRow[i].PackMRP)) {\r\n // isValid = false;\r\n // this.toastr.error(\"Please fill all required fields.\");\r\n // return false;\r\n // }\r\n if (!Boolean(dynamicAddRow[i].BatchNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].Qty)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].LR)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].OriginLocation)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].CarrierDetail)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n // if (!Boolean(dynamicAddRow[i].MFGDate)) {\r\n // isValid = false;\r\n // this.toastr.error(\"Please fill all required fields.\");\r\n // return false;\r\n // }\r\n if (!Boolean(dynamicAddRow[i].EXPDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].InvNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].InvDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].Month)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n let mfgDate = new Date(dynamicAddRow[i].MFGDate);\r\n let expDate = new Date(dynamicAddRow[i].EXPDate);\r\n if (expDate <= mfgDate) {\r\n isValid = false;\r\n this.toastr.error(\"EXP Date must be greater than MFG Date.\");\r\n return false;\r\n }\r\n // let arr1 = dynamicAddRow[i], arr2 = dynamicAddRow[i + 1];\r\n // let data1=JSON.stringify(arr1),data2=JSON.stringify(arr2);\r\n // if (data1 === data2) {\r\n // isValid = false;\r\n // this.toastr.error(\"Two rows cannot be identical.\");\r\n // return false;\r\n // }\r\n \r\n }\r\n if (isValid) {\r\n\r\n this.displayReject = 'block';\r\n }\r\n\r\n\r\n //console.log(dynamicAddRow);\r\n }\r\n closePopup(commentModal: string) {\r\n this.displayReject = 'none';\r\n this.displayEdit = 'none';\r\n }\r\n\r\n SaveDispatchToWarehouse(dynamicAddRow: any) {\r\n debugger\r\n if(dynamicAddRow.length===0)\r\n {\r\n this.toastr.error('Please Add Row to Dispatch.');\r\n this.displayReject = 'none';\r\n return \r\n }\r\n this.loader = 'block';\r\n this.displayReject = 'none';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let yearfilter=0;\r\n yearfilter = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.dispatchToWarehouse.SaveDispatchToWarehouse(dynamicAddRow, this.userId,yearfilter)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.defaultView = true;\r\n this.toastr.success(response.message);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n // this.GetWarehouseData(0);\r\n }\r\n\r\n EditRow(stock: any) {\r\n //this.editStockIn = stock;\r\n this.editStockIn = this.DeepCopy(stock);\r\n this.editStockIn.productId = this.editStockIn.productCode;\r\n this.editStockIn.whLocation = this.editStockIn.whName;\r\n this.displayEdit = \"block\";\r\n let WHSelected = { whCode: this.editStockIn.whCode, whName: this.editStockIn.whName };\r\n \r\n\r\n\r\n\r\n }\r\n\r\n onEditRowProductSelect(item: any, index: any) {\r\n this.editProductPackSize = [];\r\n\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == item.productCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.editProductPackSize.push(packSize);\r\n\r\n\r\n }\r\n }\r\n\r\n this.editStockIn.PackSizeSelectedList = [];\r\n\r\n this.editStockIn.productId = item.productCode;\r\n this.editStockIn.productName = item.productName;\r\n\r\n\r\n }\r\n\r\n onEditRowProductDeSelect(item: any, index: any) {\r\n this.editStockIn.productName = \"\";\r\n this.editStockIn.productId = \"\";\r\n }\r\n\r\n onEditRowPackSize(item: any, index: any) {\r\n this.editStockIn.packSize = item.packSize;\r\n }\r\n onEditRowPackSizeDeSelect(item: any, index: any) {\r\n this.editStockIn.packSize = \"\";\r\n }\r\n onEditRowWHLocation(item: any, index: any) {\r\n this.editStockIn.whCode = item.whCode;\r\n this.editStockIn.whLocation = item.whName;\r\n }\r\n\r\n onEditRowWHLocationDeSelect(item: any, index: any) {\r\n this.editStockIn.whCode = \"\";\r\n this.editStockIn.whName = \"\";\r\n }\r\n\r\n DeepCopy(obj: any): any {\r\n let clonedObject;\r\n\r\n if (obj === null || typeof obj !== 'object') {\r\n return obj;\r\n }\r\n if (obj instanceof Array) {\r\n clonedObject = [];\r\n for (let i = 0; i < obj.length; i++) {\r\n clonedObject[i] = this.DeepCopy(obj[i]);\r\n }\r\n return clonedObject;\r\n }\r\n if (obj instanceof Date) {\r\n clonedObject = new Date(obj.valueOf());\r\n return clonedObject;\r\n }\r\n if (obj instanceof RegExp) {\r\n clonedObject = RegExp(obj.source, obj.flags);\r\n return clonedObject;\r\n }\r\n if (obj instanceof Object) {\r\n clonedObject = new obj.constructor();\r\n for (const attr in obj) {\r\n if (obj.hasOwnProperty(attr)) {\r\n clonedObject[attr] = this.DeepCopy(obj[attr]);\r\n }\r\n }\r\n return clonedObject;\r\n }\r\n }\r\n\r\n EditDispatchToWarehouse(stockIn) {\r\n let isValid = true;\r\n if (!Boolean(stockIn.whCode)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.whLocation)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.productId)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.productName)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.packSize)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.stockReceiptDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.receivedThrough)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.receivedFrom)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.batchNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.qty)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n \r\n if (!Boolean(stockIn.mfgDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.docNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.expDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.invNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.invDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n let mfgDate = new Date(stockIn.mfgDate);\r\n let expDate = new Date(stockIn.expDate);\r\n if (expDate <= mfgDate) {\r\n isValid = false;\r\n this.toastr.error(\"EXP Date must be greater than MFG Date.\");\r\n return false;\r\n }\r\n\r\n this.displayEdit = 'none';\r\n this.loader = 'block';\r\n\r\n if (isValid) {\r\n stockIn.userId = localStorage.getItem('dsu_userId');\r\n console.log(stockIn);\r\n this.dispatchToWarehouse.UpdateStockIn(stockIn)\r\n .subscribe((response) => {\r\n\r\n if (response.status) {\r\n this.defaultView = true;\r\n this.toastr.success(response.message);\r\n //this.GetWarehouseData(1);\r\n this.GetDispatchToWarehouse();\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n\r\n }\r\n }\r\n remarkContent: string = '';\r\n remarkDate: string = '';\r\n isPartiallyclosed: boolean;\r\n onImageClick(remark: any,remainingQty: any) {\r\n \r\n const closedContent = remark.split('!split!');\r\n this.remarkDate = closedContent[0];\r\n const processedRemark = closedContent[1].replace(/\\\\n/g, '\\n');\r\n \r\n this.remarkContent = processedRemark.replace(/\\n/g, '
');\r\n \r\n if(remainingQty != 0.00)\r\n {\r\n this.isPartiallyclosed = true\r\n }\r\n else{\r\n this.isPartiallyclosed = false\r\n }\r\n this.cd.detectChanges();\r\n }\r\n onEditClick(stock: any){\r\n this.remarkInput = '';\r\n this.hiddenFMCSTCloseModel = stock;\r\n }\r\n SubmitClosedRequest(){\r\n debugger;\r\n this.loader = 'block';\r\n if(this.remarkInput == undefined || this.remarkInput.length < 1)\r\n {\r\n this.loader = 'none';\r\n this.toastr.error('Please Enter Remark');\r\n return;\r\n }\r\n const closeBtn = document.getElementById('close-dis-popup');\r\n if (closeBtn) {\r\n closeBtn.click(); // Simulate the click event\r\n }\r\n this.displayReject = 'none';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.hiddenFMCSTCloseModel ={\r\n ...this.hiddenFMCSTCloseModel, \r\n Remark: this.remarkInput,\r\n Year: this.currentYear,\r\n UserId:this.userId\r\n }\r\n console.log(this.hiddenFMCSTCloseModel);\r\n debugger;\r\n this.dispatchToWarehouse.FMCSTClosedRequest(this.hiddenFMCSTCloseModel)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.defaultView = true;\r\n this.toastr.success(response.message);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n this.GetWarehouseData(1);\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n }\r\n}","module.exports = \".product-tbl table th:nth-child(1) {\\r\\n min-width: 20px;\\r\\n width: auto;\\r\\n}\\r\\n#open-popup {\\r\\n cursor: pointer;\\r\\n}\\r\\n.popup {\\r\\n display: none;\\r\\n position: fixed;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n width: 390px;\\r\\n background-color: white;\\r\\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\\r\\n z-index: 1000;\\r\\n padding: 20px;\\r\\n border-radius: 20px;\\r\\n}\\r\\n.popup-overlay {\\r\\n display: none;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n z-index: 999;\\r\\n}\\r\\n#close-popup{\\r\\n background: none;\\r\\n width: auto;\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 2px;\\r\\n cursor: pointer;\\r\\n}\\r\\np.popup-remark {\\r\\n font-weight: 600;\\r\\n font-size: 16px;\\r\\n margin: 20px 0 0 0;\\r\\n}\\r\\n.Remark-box{\\r\\n width: 100%;\\r\\n height: 112px;\\r\\n background: rgba(151, 151, 151, 0.02);\\r\\n border: 1px solid rgba(151, 151, 151, 0.3);\\r\\n padding: 10px 15px 5px;\\r\\n border-radius: 8px;\\r\\n }\\r\\n.Remark-box h6{\\r\\n margin-bottom: 5px;\\r\\n color: rgba(51, 51, 51, 0.6);\\r\\n }\\r\\n.Remark-box p{\\r\\n color: #000;\\r\\n }\\r\\n.popup small {\\r\\n font-style: italic;\\r\\n line-height: 14px;\\r\\n font-size: 13px;\\r\\n display: block;\\r\\n margin: 0 0 15px 0;\\r\\n color: red;\\r\\n }\"","module.exports = \"
\\r\\n

Final Requirement

\\r\\n
\\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 Showing: {{startRecord}}-{{endRecord}} of {{totalRecord}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request IdReq TypeRegionRBM/RMH NameProductPack SizeCropJanFebMarAprMayJunJulAugSepOctNovDecRequirement YearNo of DemosRequested QTYStatus
{{finalReq.id}}{{selectedReqType}}{{finalReq.region}}{{finalReq.rmhName}}{{finalReq.product}}{{finalReq.packSize}}{{finalReq.crop}}{{ConvertToCurrency(finalReq.jan)}}{{ConvertToCurrency(finalReq.feb)}}{{ConvertToCurrency(finalReq.mar)}}{{ConvertToCurrency(finalReq.apr)}}{{ConvertToCurrency(finalReq.may)}}{{ConvertToCurrency(finalReq.jun)}}{{ConvertToCurrency(finalReq.jul)}}{{ConvertToCurrency(finalReq.aug)}}{{ConvertToCurrency(finalReq.sep)}}{{ConvertToCurrency(finalReq.oct)}}{{ConvertToCurrency(finalReq.nov)}}{{ConvertToCurrency(finalReq.dec)}}{{finalReq.year}}{{ConvertToCurrency(finalReq.numberOfDemo)}}{{ConvertToCurrency(finalReq.requestedQTY)}} {{finalReq.status}} \\r\\n \\\"Info\\\"\\r\\n
{{\\\"No Record Found\\\"}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n Showing: {{startRecordForHistory}}-{{endRecordForHistory}} of {{totalRecordForHistory}}\\r\\n

Approval History

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request NoReq TypeRegionStatusAction ByDate & TimeRequirement YearComments
{{appovalHistory.requestNo}}{{appovalHistory.reqType}}{{appovalHistory.region}}{{appovalHistory.status}}{{appovalHistory.actionBy}}{{appovalHistory.date}}{{appovalHistory.year}}{{appovalHistory.comments}}
{{\\\"No Record Found\\\"}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request NoReq TypeRegionRMH/RBM NameProductCropJanFebMarAprMayJunJulAugSepOctNovDecRequirement YearNo of DemosRequested QTYStatus
{{finalReq.requestNo}}{{selectedReqType}}{{finalReq.region}}{{finalReq.rmhName}}{{finalReq.product}}{{finalReq.crop}}{{finalReq.jan}}{{finalReq.feb}}{{finalReq.mar}}{{finalReq.apr}}{{finalReq.may}}{{finalReq.jun}}{{finalReq.jul}}{{finalReq.aug}}{{finalReq.sep}}{{finalReq.oct}}{{finalReq.nov}}{{finalReq.dec}}{{finalReq.year}}{{finalReq.numberOfDemo}}{{finalReq.requestedQTY}}{{finalReq.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 \\r\\n

Reject

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

Approve

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

Closed by FMC Supply Team on \\r\\n 23 Oct 2024

\\r\\n Demo samples already dispatched by FMC Supply team can be allocated and dispatched to field team.\\r\\n
\\r\\n
Remarks:
\\r\\n

Lorem ipsum dolor sit amet consectetur. Condimentum aliquam proin ultrices ut accumsan ac sit fames tortor.

\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild, ɵConsole } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { ZoneModel } from '../../models/DropDwon/ZoneModel';\r\nimport { DivisionModel } from '../../models/DropDwon/DvisionModel';\r\nimport { SBUModel } from '../../models/DropDwon/SBUModel';\r\nimport { DropDownRequest, DropDownResponse, RequirmentTypeModel, WHLocationModel, StatusModel } from '../../models/DropDwon/DropDownRequest';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { global } from '../../models/global';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { RegionModel, RMHModel } from '../../models/DropDwon/RegionModel';\r\nimport { FinalRequirementService } from '../../Services/FinalRequirement/final-requirement.service';\r\nimport { FinalRquirementDetails, ApprovalHistory } from '../../Models/FinalRequirement/final-rquirement-details';\r\nimport { RequirementStatus } from '../../Models/Dashboard/DashboardFilters';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'final-requirment',\r\n templateUrl: './finalRequirment.component.html',\r\n styleUrls: ['./finalRequirment.component.css']\r\n})\r\nexport class FinalRequirmentComponent implements OnInit {\r\n loader = 'none';\r\n IsRejected: boolean = false;\r\n displayReject = 'none';\r\n ApproveDisable: boolean = false;\r\n comment: string;\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('yearSelect') yearSelect;\r\n @ViewChild('sd') sd;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('requirmentType') requirmentType;\r\n @ViewChild('WHLocationItem') WHLocationItem;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('year') year;\r\n @ViewChild('status') status;\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('cropSelect') cropSelect;\r\n\r\n //cropSelect\r\n\r\n public RMHSettings = {};\r\n public RMHSelectedItems: RMHModel[];\r\n\r\n public form: FormGroup;\r\n\r\n public dropdownMonthSettings: {};\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n \r\n public YearSettings= {};\r\n public YearSelectedItem: YearModel[];\r\n\r\n\r\n public userId: string;\r\n public roleId: string;\r\n public isViewOnly: string;\r\n public FlagDropDown: string;\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n public RequirmentTypeSettings = {};\r\n public requirmentTypeDdl: RequirmentTypeModel[];\r\n public requirmentDllValue: any;\r\n\r\n public WHLocationSettings = {};\r\n public whLocationDdl: WHLocationModel[];\r\n public whLocationDDlValue: any;\r\n public ProductSettings = {};\r\n public CropSettings = {};\r\n\r\n IsSubmittButtonDisable: boolean = true;\r\n endRecord: number = 0;\r\n finalReqDetails: FinalRquirementDetails[] = [];\r\n finalReqProdCropDetails: FinalRquirementDetails[] = [];\r\n approvefinalReqDetails: any[] = [];\r\n reqType: string;\r\n regionCode: string;\r\n wareHouseLocation: string;\r\n selectedReqType: string;\r\n selectedRegion: any[] = [];\r\n selectedSbu: any[] = [];\r\n selectedDivision: any[] = [];\r\n selectedZone: any[] = [];\r\n selectedRMH: any[] = [];\r\n approvalDetails: ApprovalHistory[] = [];\r\n commaSeperatedSbus: string;\r\n commaSeperatedDivisions: string;\r\n commaSeperatedZones: string;\r\n commaSeperatedRegions: string;\r\n commaSeperatedSDs: string;\r\n commaSeperatedRMH: string;\r\n selectedSDs: any[] = [];\r\n public SDSettings = {};\r\n public WarehouseLocationSettings = {};\r\n userName: string;\r\n approveEnable: boolean = false;\r\n rejectEnable: boolean = false;\r\n tabName: string = \"Volume\";\r\n selectedRegionMessage: any[] = [];\r\n selectedRegionMessageUnique: any[] = [];\r\n commaSeperatedRegionsMessage: string;\r\n isProduct: boolean = false;\r\n defaultValue = 'none';\r\n defaultValueCrop = 'none';\r\n displayApprove = 'none';\r\n isDisabledPreviousForHistory=true;\r\n isDisabledNextForHistory=true;\r\n startRecordForHistory:number=1;\r\n recordsOnCurrentPageForHistory:number=0;\r\n endRecordForHistory:number=0;\r\n totalRecordForHistory:number=0;\r\n currentPageForHistory:number=1;\r\n lastPageForHistory:number=1;\r\n //selectedStatus: string;\r\n \t //deepanshu code start\r\ncurrentPageForHistory1: any;\r\nlastPageForHistory1:any;\r\ntotalRecordForHistory1:any;\r\nrecordsOnCurrentPageForHistory1: number = 0;\r\nstartRecordForHistory1:number=1;\r\n\r\nisDisabledPreviousForHistory1=true;\r\nisDisabledNextForHistory1=true;\r\nendRecordForHistory1: number;\r\n//deepansh\r\n\r\n pageNo: any;\r\n totalRecord: any;\r\n currentPage: any;\r\n lastPage: any;\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n defaultView: boolean = true;\r\n recordsOnCurrentPage: any = 10;\r\n currentDate = new Date();\r\n startRecord: any = 1;\r\n pagination: any[];\r\n public StatusSettings = {};\r\n public statusDdl: StatusModel[];\r\n public statusDllValue: any;\r\n public statusList: any;\r\n public dropdownStatusSettings: {};\r\n statusModel: RequirementStatus[] = [];\r\n selectedStatus: any[] = [];\r\n commaSeperatedStatus: string;\r\n constructor(private ddlServices: DropDownService, private toastr: ToastrService, private finalRequirementService: FinalRequirementService, private cd: ChangeDetectorRef) {\r\n debugger\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.isViewOnly = localStorage.getItem('dsu_isViewOnly');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"44\" || this.roleId == \"77\") ? \"DEFAULT\" : \"DEFAULT\";\r\n }\r\n\r\n ngOnInit() {\r\n debugger;\r\n this.ApproveDisable = true;\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.tabName = 'ProductWise';\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n debugger;\r\n // if(this.roleId== '43'){\r\n // this.ddlResponse.zone = response.data.zone;\r\n // }\r\n // if(this.roleId== '39'){\r\n // this.ddlResponse.division = response.data.division;\r\n // }\r\n // if(this.roleId== '44' || this.roleId== '28'|| this.roleId== '1' ){\r\n // this.ddlResponse.sbu = response.data.sbu;\r\n // }\r\n // this.GetSDData();\r\n // this.GetWarehouseLocationData(this.sd.selectedItems, \"TRUE\");\r\n \r\n this.ddlResponse.year=response.data.year;\r\n this.ddlResponse.product=response.data.product;\r\n this.ddlResponse.crop=response.data.crop;\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n // for(var i=0;i {\r\n\r\n });\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RegionSetting();\r\n this.YearSetting();\r\n // this.requirmentTypeDdl = [{ id: 1, text: \"Annual\" }, { id: 2, text: \"Additional\" }];\r\n this.requirmentTypeDdl = [{ id: 1, text: \"H1\" }, { id: 2, text: \"H2\" },{ id: 3, text: \"Additional\" }];\r\n this.statusDdl = [{ id: 1, text: \"Approve\" }, { id: 2, text: \"Reject\" }];\r\n this.RequirmentTypeSetting();\r\n this.RMHSetting();\r\n this.SDSetting();\r\n this.WareHouseLocationSetting();\r\n this.getStatus();\r\n this.regionCode = '';\r\n // this.getApprovalHistory('', this.regionCode);\r\n if (this.roleId == '28') {\r\n this.approveEnable = true;\r\n this.rejectEnable = true;\r\n }\r\n this.StatusSetting();\r\n this.ProductSetting();\r\n this.CropSetting();\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 ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n getStatus() {\r\n\r\n this.loader = 'block';\r\n this.bindStatusDropdownSetting();\r\n this.finalRequirementService.getStatus(this.userId, this.roleId)\r\n .subscribe((resData) => {\r\n this.statusModel = resData.data;\r\n this.statusList = this.statusModel;\r\n // this.Status = this.statusModel\r\n this.loader = 'none';\r\n\r\n });\r\n }\r\n bindStatusDropdownSetting() {\r\n this.dropdownStatusSettings = {\r\n singleSelection: false,\r\n text: \"Select Status\",\r\n idField: 'id',\r\n textField: 'status',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n noDataAvailablePlaceholderText: 'No Status Found'\r\n };\r\n }\r\n\r\n StatusSetting() {\r\n this.StatusSettings = {\r\n singleSelection: true,\r\n idField: 'id',\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 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 //maxHeight: 197,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No RBM/RMH Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n WareHouseLocationSetting() {\r\n this.WarehouseLocationSettings = {\r\n singleSelection: false,\r\n idField: 'whId',\r\n textField: 'whName',\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 Warehouse Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n SDSetting() {\r\n this.SDSettings = {\r\n singleSelection: false,\r\n idField: 'sdCode',\r\n textField: 'sdName',\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 WH Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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 SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone 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 RequirmentTypeSetting() {\r\n this.RequirmentTypeSettings = {\r\n singleSelection: true,\r\n idField: 'id',\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 Requirment Type Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n WHLocationSetting() {\r\n this.WHLocationSettings = {\r\n singleSelection: true,\r\n idField: 'WHId',\r\n textField: 'WHName',\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 Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n public onSBUSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \")\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n this.commaSeperatedSbus = '';\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n \r\n\r\n public onDivisionSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \");\r\n\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.selectedDivision = [];\r\n this.commaSeperatedDivisions = '';\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelectAll(items: any) {\r\n this.selectedZone = [];\r\n this.commaSeperatedZones = '';\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n GetSBUWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.SBU = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSBUHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.division = response.data.division;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.division.selectedItems = response.data.division.map(item => { return { id: item.divisionCode, text: item.divisionName } });\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n // if (response.data.rmh.length > 0)\r\n // this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n // else\r\n // this.rmh.selectedItems = [];\r\n\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n GetDivisionWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n GetZoneWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n\r\n onReqTypeSelect(item: any) {\r\n this.selectedReqType = item.text\r\n this.RequirmentTypeSetting();\r\n this.defaultValueCrop = \"none\";\r\n this.defaultValue = \"none\";\r\n\r\n }\r\n onReqTypeDeSelect(item: any) {\r\n this.selectedReqType = '';\r\n this.defaultValueCrop = \"none\";\r\n this.defaultValue = \"none\";\r\n }\r\n public onRegionSelect(item: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n public onRegionDeSelect(item: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n\r\n public onRegionSelectAll(items: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n public onRegionDeSelectAll(items: any) {\r\n this.selectedRegion = [];\r\n this.commaSeperatedRegions = '';\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n GetRegionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRegionWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.rmh.length > 0)\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n else\r\n this.rmh.selectedItems = [];\r\n // this.ddlResponse.rmh = response.data.rmh;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n this.loader = 'none';\r\n });\r\n }\r\n public onRMHSelect(item: any) {\r\n this.selectedRMH = [];\r\n for (var i = 0; i < this.rmh.selectedItems.length; i++) {\r\n this.selectedRMH.push(this.rmh.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRMH = this.selectedRMH.join(\", \");\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n //this.getSDRMHWise(this.rmh.selectedItems);\r\n //this.getWHRMHWise(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelect(item: any) {\r\n\r\n this.selectedRMH = [];\r\n for (var i = 0; i < this.rmh.selectedItems.length; i++) {\r\n this.selectedRMH.push(this.rmh.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRMH = this.selectedRMH.join(\", \");\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n\r\n // this.GetRMHWiseData(this.rmh.selectedItems);\r\n // this.getSDRMHWise(this.rmh.selectedItems);\r\n //this.getWHRMHWise(this.rmh.selectedItems);\r\n\r\n }\r\n\r\n public onRMHSelectAll(items: any) {\r\n this.selectedRMH = [];\r\n for (var i = 0; i < this.rmh.selectedItems.length; i++) {\r\n this.selectedRMH.push(this.rmh.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRMH = this.selectedRMH.join(\", \");\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n\r\n //this.GetRMHWiseData(this.rmh.selectedItems);\r\n //this.getSDRMHWise(this.rmh.selectedItems);\r\n //this.getWHRMHWise(this.rmh.selectedItems);\r\n\r\n }\r\n public onRMHDeSelectAll(items: any) {\r\n this.selectedRMH = [];\r\n this.commaSeperatedRMH = '';\r\n // this.GetRMHWiseData(this.rmh.selectedItems);\r\n // this.getSDRMHWise(this.rmh.selectedItems);\r\n // this.getWHRMHWise(this.rmh.selectedItems);\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n\r\n\r\n }\r\n GetRMHWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRMHWiseRegionDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n if (response.data.region.length > 0 && this.ddlRequest.RMH != '')\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n else\r\n this.regionSelect.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n getSDRMHWise(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSDRMHWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.sd = response.data.sd;\r\n this.getWHRMHWise(this.ddlRequest.RMH, this.ddlResponse.sd)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n getWHRMHWise(filter: any, filterSD: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = filter;\r\n this.ddlRequest.SD = Array.prototype.map.call(filterSD, function (item) { return item.sdCode; }).join(\",\");\r\n this.ddlServices.getWHRMHWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n public onSDSelect(item: any) {\r\n // this.getWHRMHWise(this.rmh.selectedItems,this.sd.selectedItems)\r\n this.GetWarehouseLocationData(this.sd.selectedItems, \"FALSE\");\r\n }\r\n public onSDDeSelect(item: any) {\r\n this.GetWarehouseLocationData(this.sd.selectedItems, \"FALSE\");\r\n }\r\n\r\n public onSDSelectAll(items: any) {\r\n this.GetWarehouseLocationData(this.sd.selectedItems, \"FALSE\");\r\n }\r\n public onSDDeSelectAll(items: any) {\r\n this.GetWarehouseLocationData(this.sd.selectedItems, \"FALSE\");\r\n }\r\n GetWarehouseLocationData(filter: any, IsOnInit: string) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = IsOnInit;\r\n if (filter.length > 0)\r\n this.ddlRequest.SD = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n else\r\n this.ddlRequest.SD = '';\r\n this.ddlServices.getWarehouseLocationDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetSDData() {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlServices.getSDDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.sd = response.data.sd;\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n ConvertToCurrency(value:any)\r\n {\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 getFinalRequirementData(reqType) {\r\n debugger;\r\n let region = ''\r\n //let year=0;\r\n this.loader = 'block';\r\n //year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n if (typeof (reqType) == \"undefined\" || reqType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n \r\n else {\r\n this.toastr.error('Please select region.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.getFinalRequirementDetails(reqType,1);\r\n this.getApprovalHistory(1);\r\n\r\n }\r\n\r\n getFinalRequirementDetails(reqType,currentPageForHistory1: number) {\r\n debugger;\r\n this.isDisabledPrevious = true;\r\n this.isDisabledNext = false;\r\n this.startRecord = 1;\r\n reqType= Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.text; }).join(\",\");\r\n let year=0;\r\n let status = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (status == null || status == \"\") {\r\n status = \"1\";\r\n }\r\n let product=Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let crop=Array.prototype.map.call(this.cropSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.reqType = reqType;\r\n if (this.tabName == \"ProductWise\") {\r\n // this.isProduct = true;\r\n this.isProduct = false;\r\n }\r\n else if (this.tabName == \"Product&CropWise\") {\r\n this.isProduct = false;\r\n } else {\r\n this.isProduct = false;\r\n }\r\n\r\n this.loader = 'block';\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n } if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRMH == undefined) {\r\n this.commaSeperatedRMH = '';\r\n }\r\n if(this.yearSelect!=undefined){\r\n this.yearSelect.selectedItems=[];\r\n }\r\n if (this.commaSeperatedStatus == undefined) {\r\n this.commaSeperatedStatus = '';\r\n }\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.finalRequirementService.getFinalRequirementDetails(currentPageForHistory1,product,crop,this.userId, this.roleId, this.commaSeperatedSbus, this.commaSeperatedDivisions, this.commaSeperatedZones, this.commaSeperatedRegions, this.reqType, this.commaSeperatedRMH, this.isProduct,year, this.commaSeperatedStatus)\r\n .subscribe((finalReqData) => {\r\n if (finalReqData.status) {\r\n console.log(finalReqData.data);\r\n this.defaultView = false;\r\n this.finalReqDetails = finalReqData.data.finalRequirementCropModels;\r\n this.totalRecord = finalReqData.data.pagination.totalRecord;\r\n this.currentPage = finalReqData.data.pagination.currentPage;\r\n this.lastPage = finalReqData.data.pagination.lastPage;\r\n this.recordsOnCurrentPage = finalReqData.data.pagination.recordsOnPage;\r\n this.endRecord = this.recordsOnCurrentPage;\r\n this.approveEnable = finalReqData.data.button.isNextButtonDisable;\r\n this.rejectEnable = finalReqData.data.button.isPreviousButtonDisable;\r\n if (this.currentPage == 1) {\r\n localStorage.setItem(\"numberOfRecordsOnFirstPage\", this.recordsOnCurrentPage.toString());\r\n }\r\n if (this.currentPage > 1) {\r\n this.isDisabledPrevious = false;\r\n this.startRecord = (this.currentPage - 1) * parseInt(localStorage.getItem(\"numberOfRecordsOnFirstPage\"), 10) + 1;\r\n this.endRecord = this.startRecord + this.recordsOnCurrentPage - 1;\r\n }\r\n if (this.currentPage == this.lastPage || this.totalRecord == 0) {\r\n this.isDisabledNext = !this.isDisabledNext;\r\n this.recordsOnCurrentPage = this.totalRecord;\r\n } if (finalReqData.data.finalRequirementCropModels.length == 0) {\r\n this.startRecord = 0;\r\n this.endRecord = 0;\r\n this.recordsOnCurrentPage = 0;\r\n }\r\n }\r\n else {\r\n this.toastr.error(finalReqData.message);\r\n }\r\n // if(approvalData.data == null){\r\n // this.startRecordForHistory = 0;\r\n // this.recordsOnCurrentPageForHistory = 0;\r\n // this.endRecordForHistory = 0;\r\n // this.totalRecordForHistory = 0;\r\n // this.approvalDetails = [];\r\n // this.isDisabledNextForHistory = true;\r\n // }\r\n // else{\r\n // this.approvalDetails = approvalData.data.approvalHistoryModels;\r\n // this.totalRecordForHistory=approvalData.data.pagination.totalRecord;\r\n // this.currentPageForHistory= approvalData.data.pagination.currentPage; \r\n // this.lastPageForHistory = approvalData.data.pagination.lastPage;\r\n // this.recordsOnCurrentPageForHistory = approvalData.data.pagination.recordsOnPage;\r\n // this.endRecordForHistory = this.recordsOnCurrentPageForHistory;\r\n // if (this.currentPageForHistory == 1)\r\n // {\r\n // localStorage.setItem(\"numberOfRecordsOnFirstPageForHistory\", this.recordsOnCurrentPageForHistory.toString());\r\n // }\r\n // if (this.currentPageForHistory > 1)\r\n // {\r\n // this.isDisabledPreviousForHistory = false;\r\n // // this.startRecordForHistory = (this.currentPageForHistory - 1) * (approvalData.data.length) + 1;\r\n // this.startRecordForHistory = (this.currentPageForHistory - 1) * parseInt(localStorage.getItem(\"numberOfRecordsOnFirstPageForHistory\"), 10) + 1;\r\n // this.endRecordForHistory = this.startRecordForHistory + this.recordsOnCurrentPageForHistory - 1;\r\n // }\r\n // if (this.currentPageForHistory == this.lastPageForHistory || this.totalRecordForHistory == 0) {\r\n // this.isDisabledNextForHistory = !this.isDisabledNextForHistory;\r\n // this.recordsOnCurrentPageForHistory = this.totalRecordForHistory;\r\n // }\r\n // }\r\n this.loader = 'none';\r\n if (this.tabName == 'ProductWise') {\r\n if (finalReqData.data != null) {\r\n this.defaultValue = 'block';\r\n } else {\r\n this.defaultValue = 'none';\r\n }\r\n this.finalReqDetails = finalReqData.data.finalRequirementCropModels;\r\n }\r\n else {\r\n this.defaultValueCrop = 'block';\r\n this.finalReqProdCropDetails = finalReqData.data;\r\n }\r\n this.selectedRegionMessage = [];\r\n if (this.finalReqDetails != null) {\r\n this.selectedRegionMessage.push({ region: this.finalReqDetails[0].region, status: this.finalReqDetails[0].status })\r\n for (var i = 0; i < this.finalReqDetails.length; i++) {\r\n\r\n for (var j = 0; j < this.selectedRegionMessage.length; j++) {\r\n if (this.selectedRegionMessage[j].region == this.finalReqDetails[i].region) {\r\n break;\r\n }\r\n\r\n }\r\n if (j == this.selectedRegionMessage.length) {\r\n this.selectedRegionMessage.push({ region: this.finalReqDetails[i].region, status: this.finalReqDetails[i].status })\r\n }\r\n }\r\n }\r\n // if (this.finalReqDetails != null) {\r\n // let isValid = false;\r\n // for (let i = 0; i < this.finalReqDetails.length; i++) {\r\n \r\n // if (this.roleId == \"39\") \r\n // {\r\n // if(this.finalReqDetails[i].status == 'Approval Pending at FMGM' || // Check added for FMGM role\r\n // this.finalReqDetails[i].status == 'Approval Pending at Brand Manager'|| \r\n // this.finalReqDetails[i].status == 'Rejected By DMH'||\r\n // this.finalReqDetails[i].status == 'Rejected By Admin'||\r\n // this.finalReqDetails[i].status == 'Rejected By FMGM'||\r\n // this.finalReqDetails[i].status == 'Rejected By ZMH'||\r\n // this.finalReqDetails[i].status == 'Approval Pending at ZMH' ||\r\n // this.finalReqDetails[i].status == 'Partial approved by MKTG'||\r\n // this.finalReqDetails[i].status == 'Partially Approved from Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Fully approved by MKTG')\r\n // {\r\n // isValid = true;\r\n // this.loader = 'none';\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // return false\r\n\r\n // }\r\n // else{\r\n // isValid = false;\r\n // this.loader = 'none';\r\n // this.approveEnable = false;\r\n // this.rejectEnable = false;\r\n // // return false\r\n // }\r\n // }\r\n // if (this.roleId == \"43\" || this.roleId == \"77\") \r\n // {\r\n // if(\r\n // this.finalReqDetails[i].status == 'Approval Pending at DMH' ||\r\n // this.finalReqDetails[i].status == 'Approval Pending at FMGM' ||\r\n // this.finalReqDetails[i].status == 'Approval Pending at Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Rejected By DMH' ||\r\n // this.finalReqDetails[i].status == 'Rejected By ZMH' ||\r\n // this.finalReqDetails[i].status == 'Rejected By Admin'||\r\n // this.finalReqDetails[i].status == 'Rejected By SBUMH' ||\r\n // this.finalReqDetails[i].status == 'Partial approved by MKTG'||\r\n // this.finalReqDetails[i].status == 'Partially Approved from Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Fully approved by MKTG')\r\n // {\r\n // isValid = true;\r\n // this.loader = 'none';\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // return false\r\n // }\r\n // else{\r\n // isValid = false;\r\n // this.loader = 'none';\r\n // this.approveEnable = false;\r\n // this.rejectEnable = false;\r\n // // return false\r\n // }\r\n // }\r\n // if (this.roleId == \"44\") \r\n // {\r\n // if(this.finalReqDetails[i].status == 'Approval Pending at Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Rejected By SBUMH'||\r\n // this.finalReqDetails[i].status == 'Rejected By DMH'||\r\n // this.finalReqDetails[i].status == 'Rejected By Admin'||\r\n // this.finalReqDetails[i].status == 'Rejected By ZBM/ZMH'||\r\n // this.finalReqDetails[i].status == 'Approval Pending at DMH' ||\r\n // this.finalReqDetails[i].status == 'Approval Pending at ZBM/ZMH'||\r\n // this.finalReqDetails[i].status == 'Partial approved by MKTG' ||\r\n // this.finalReqDetails[i].status == 'Partially Approved from Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Fully approved by MKTG')\r\n // {\r\n // isValid = true;\r\n // this.loader = 'none';\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // return false\r\n \r\n // }\r\n // else{\r\n // isValid = false;\r\n // this.loader = 'none';\r\n // this.approveEnable = false;\r\n // this.rejectEnable = false;\r\n // // return false\r\n // }\r\n // }\r\n // if (this.roleId == \"36\") //Added for FMGM role\r\n // {\r\n // if(this.finalReqDetails[i].status == 'Approval Pending at Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Rejected By FMGM'||\r\n // this.finalReqDetails[i].status == 'Rejected By DMH'||\r\n // this.finalReqDetails[i].status == 'Rejected By Admin'||\r\n // this.finalReqDetails[i].status == 'Rejected By ZBM/ZMH'||\r\n // this.finalReqDetails[i].status == 'Approval Pending at DMH' ||\r\n // this.finalReqDetails[i].status == 'Approval Pending at ZBM/ZMH'||\r\n // this.finalReqDetails[i].status == 'Partial approved by MKTG' ||\r\n // this.finalReqDetails[i].status == 'Partially Approved from Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Fully approved by MKTG')\r\n // {\r\n // isValid = true;\r\n // this.loader = 'none';\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // return false\r\n \r\n // }\r\n // else{\r\n // isValid = false;\r\n // this.loader = 'none';\r\n // this.approveEnable = false;\r\n // this.rejectEnable = false;\r\n // // return false\r\n // }\r\n // }\r\n // if (this.roleId == \"1\" || this.roleId==\"37\") \r\n // {\r\n // if(this.finalReqDetails[i].status == 'Approval Pending at Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Rejected By FMGM'||\r\n // this.finalReqDetails[i].status == 'Rejected By DMH'||\r\n // this.finalReqDetails[i].status == 'Rejected By Admin'||\r\n // this.finalReqDetails[i].status == 'Rejected By ZBM/ZMH' ||\r\n // this.finalReqDetails[i].status == 'Partially Approved from Brand Manager'||\r\n // this.finalReqDetails[i].status == 'Partial approved by Brand Manager')\r\n // {\r\n // isValid = true;\r\n // this.loader = 'none';\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // return false\r\n \r\n // }\r\n // else{\r\n // isValid = false;\r\n // this.loader = 'none';\r\n // this.approveEnable = false;\r\n // this.rejectEnable = false;\r\n // // return false\r\n // }\r\n // }\r\n // }\r\n // if (isValid) {\r\n // this.loader = 'none';\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // }\r\n // }\r\n\r\n // if (this.selectedRegionMessage.length >= 1) {\r\n // for (var i = 0; i < this.selectedRegionMessage.length; i++) {\r\n // if (this.selectedRegionMessage[i].status == 'Approval Pending at Brand Manager') {\r\n // this.loader = 'none';\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // }\r\n\r\n // else if (this.selectedRegionMessage[i].status == 'Rejected By SBUMH') {\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // this.loader = 'none';\r\n // }\r\n // else if (this.selectedRegionMessage[i].status == 'Rejected By DMH') {\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // this.loader = 'none';\r\n // }\r\n // else if (this.selectedRegionMessage[i].status == 'Rejected By DMH') {\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // this.loader = 'none';\r\n // }\r\n // else if (this.selectedRegionMessage[i].status == 'Rejected By ZMH') {\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // this.loader = 'none';\r\n // }\r\n // else if (this.selectedRegionMessage[i].status == 'Approval Pending at DMH' && this.roleId == '43' || this.selectedRegionMessage[i].status == 'Rejected By ZMH' && this.roleId == '43') {\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // this.loader = 'none';\r\n // }\r\n // else if (this.selectedRegionMessage[i].status == 'Approval Pending at SBUMH' && this.roleId == '39' || this.selectedRegionMessage[i].status == 'Rejected By DMH' && this.roleId == '39') {\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // this.loader = 'none';\r\n // }\r\n // else if (this.selectedRegionMessage[i].status == 'Approval Pending at Brand Manager' && this.roleId == '44' || this.selectedRegionMessage[i].status == 'Rejected By SBUMH' && this.roleId == '44') {\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // this.loader = 'none';\r\n // }\r\n // else {\r\n // this.approveEnable = false;\r\n // this.rejectEnable = false;\r\n // this.loader = 'none';\r\n // }\r\n // }\r\n // }\r\n\r\n\r\n if (this.finalReqDetails == null || finalReqData.message == 'Failure' || this.finalReqProdCropDetails == null) {\r\n this.defaultValue = 'none';\r\n this.defaultValueCrop = 'none';\r\n this.toastr.error('No data found.');\r\n this.loader = 'none';\r\n }\r\n this.loader = 'none';\r\n\r\n });\r\n }\r\n\r\n downloadURLFinalReq(pageNoForExcel:number) {\r\n let status = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (status == null || status == \"\") {\r\n status = \"1\";\r\n }\r\n let year=0;\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n if (this.tabName == \"ProductWise\") {\r\n this.isProduct = true;\r\n }\r\n else if (this.tabName == \"Product&CropWise\") {\r\n this.isProduct = false;\r\n } else {\r\n this.isProduct = false;\r\n }\r\n if (typeof (this.selectedReqType) == \"undefined\" || this.selectedReqType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.loader = 'block';\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n } if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRMH == undefined) {\r\n this.commaSeperatedRMH = '';\r\n }\r\n if(this.yearSelect!=undefined){\r\n this.yearSelect.selectedItems=[];\r\n }\r\n if (this.commaSeperatedStatus == undefined) {\r\n this.commaSeperatedStatus = '';\r\n }\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.finalRequirementService.getFinalRequirementDetailsExcel(pageNoForExcel,this.userId, this.roleId, this.commaSeperatedSbus, this.commaSeperatedDivisions, this.commaSeperatedZones, this.commaSeperatedRegions, this.selectedReqType, this.commaSeperatedRMH, this.isProduct,year, this.commaSeperatedStatus)\r\n .subscribe(\r\n success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.selectedReqType + \"_\" + this.userName+\"_\"+year + \"_\" + this.tabName + \"_FinalReq_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n //alert(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.toastr.error('No data found.');\r\n this.loader = 'none';\r\n\r\n }\r\n );\r\n }\r\n\r\n approveFinalRequirementDetails(updateDetail, reqType) {\r\n debugger;\r\n \r\n if (updateDetail == undefined || updateDetail == null || updateDetail.length == 0) {\r\n this.toastr.error('No data found for approval.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if (this.selectedRegionMessage.length >= 1) {\r\n for (var i = 0; i < this.selectedRegionMessage.length; i++) {\r\n if (this.selectedRegionMessage[i].status == 'Approval Pending at Brand Manager' && this.selectedRegionMessage[i].status == 'Approved By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + this.selectedRegionMessage[i].status);\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Approval Pending at Brand Manager') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already Approval Pending at Brand Manager.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Approved By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already approved by admin.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Rejected By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already rejected by admin.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Rejected By DMH') {\r\n // this.toastr.error(this.selectedRegionMessage[i].region + ' has already rejected by admin.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Rejected By ZBM/ZMH') {\r\n // this.toastr.error(this.selectedRegionMessage[i].region + ' has already rejected by admin.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Rejected By SBUMH') {\r\n // this.toastr.error(this.selectedRegionMessage[i].region + ' has already rejected by admin.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n this.regionCode = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n this.loader = 'block';\r\n this.IsRejected = false;\r\n // this.regionCode = '';\r\n this.displayApprove = 'none'\r\n this.displayReject = 'none';\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.finalRequirementService.approveFinalRequirementDetails(updateDetail, this.userId, this.roleId, reqType, this.regionCode, this.IsRejected, '',year)\r\n .subscribe((finalReqData) => {\r\n if (finalReqData.data[0].result == 'FAIL') {\r\n this.toastr.error(finalReqData.data[0].errordescription);\r\n this.defaultValue = 'none';\r\n this.displayApprove = 'none';\r\n this.displayReject = 'none';\r\n this.loader = 'none';\r\n } else {\r\n this.toastr.success(finalReqData.data[0].errordescription);\r\n this.defaultValue = 'none';\r\n this.displayApprove = 'none';\r\n this.displayReject = 'none';\r\n this.loader = 'none';\r\n }\r\n // if (finalReqData.message == \"Success\") {\r\n // this.toastr.success('Data Approved Successfully.');\r\n // // if (this.roleId == '1') {\r\n // // this.approveEnable = false;\r\n // // this.rejectEnable = false;\r\n // // }\r\n // // else {\r\n // // this.approveEnable = true;\r\n // // this.rejectEnable = true;\r\n // // }\r\n\r\n // this.loader = 'none';\r\n // }\r\n // else {\r\n // this.toastr.error(finalReqData.message);\r\n // this.loader = 'none';\r\n // }\r\n \r\n this.getFinalRequirementData(reqType);\r\n });\r\n }\r\n\r\n getApprovalHistory(currentPageForHistory: number) { \r\n this.loader = 'block';\r\n this.isDisabledPreviousForHistory = true;\r\n this.isDisabledNextForHistory = false;\r\n this.startRecordForHistory=1;\r\n let region=\"\";\r\n let currentpageForHistory = currentPageForHistory;\r\n let year=0;\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n } if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRMH == undefined) {\r\n this.commaSeperatedRMH = '';\r\n }\r\n if(this.yearSelect!=undefined){\r\n this.yearSelect.selectedItems=[]; \r\n }\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId'); \r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n \r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n this.finalRequirementService.getApprovalHistory(currentPageForHistory,this.userId, this.roleId, this.selectedReqType, this.commaSeperatedSbus, this.commaSeperatedDivisions, this.commaSeperatedZones, region, this.commaSeperatedRMH,year)\r\n .subscribe((approvalData) => {\r\n if(approvalData.data == null){\r\n this.startRecordForHistory = 0;\r\n this.recordsOnCurrentPageForHistory = 0;\r\n this.endRecordForHistory = 0;\r\n this.totalRecordForHistory = 0;\r\n this.approvalDetails = [];\r\n this.isDisabledNextForHistory = true;\r\n }\r\n else{\r\n this.approvalDetails = approvalData.data.approvalHistoryModels;\r\n this.totalRecordForHistory=approvalData.data.pagination.totalRecord;\r\n this.currentPageForHistory= approvalData.data.pagination.currentPage; \r\n this.lastPageForHistory = approvalData.data.pagination.lastPage;\r\n this.recordsOnCurrentPageForHistory = approvalData.data.pagination.recordsOnPage;\r\n this.endRecordForHistory = this.recordsOnCurrentPageForHistory;\r\n if (this.currentPageForHistory == 1)\r\n {\r\n localStorage.setItem(\"numberOfRecordsOnFirstPageForHistory\", this.recordsOnCurrentPageForHistory.toString());\r\n }\r\n if (this.currentPageForHistory > 1)\r\n {\r\n this.isDisabledPreviousForHistory = false;\r\n // this.startRecordForHistory = (this.currentPageForHistory - 1) * (approvalData.data.length) + 1;\r\n this.startRecordForHistory = (this.currentPageForHistory - 1) * parseInt(localStorage.getItem(\"numberOfRecordsOnFirstPageForHistory\"), 10) + 1;\r\n this.endRecordForHistory = this.startRecordForHistory + this.recordsOnCurrentPageForHistory - 1;\r\n }\r\n if (this.currentPageForHistory == this.lastPageForHistory || this.totalRecordForHistory == 0) {\r\n this.isDisabledNextForHistory = !this.isDisabledNextForHistory;\r\n this.recordsOnCurrentPageForHistory = this.totalRecordForHistory;\r\n }\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n openCommentPopup(details) {\r\n if (details.length == 0) {\r\n this.toastr.error('No data found for rejection.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if (this.selectedRegionMessage.length >= 1) {\r\n for (var i = 0; i < this.selectedRegionMessage.length; i++) {\r\n if (this.selectedRegionMessage[i].status == 'Approval Pending at Brand Manager' && this.selectedRegionMessage[i].status == 'Approved By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + this.selectedRegionMessage[i].status);\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Approval Pending at Brand Manager') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already Approval Pending at Brand Manager.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Approved By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already approved by admin.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Rejected By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already rejected by admin.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n }\r\n }\r\n this.displayReject = 'block';\r\n this.comment = '';\r\n }\r\n\r\n closePopup(commentModal: string) {\r\n this.comment = commentModal;\r\n this.displayReject = 'none';\r\n this.comment = '';\r\n this.loader = 'none';\r\n }\r\n submitRejectedComment(comment: string) {\r\n this.loader = 'block';\r\n this.comment = comment;\r\n if (typeof (comment) == \"undefined\" || this.comment == '' || this.comment == null) {\r\n this.toastr.error('Please enter comment.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.IsRejected = true;\r\n this.displayReject = 'none';\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.finalRequirementService.approveFinalRequirementDetails(this.finalReqDetails, this.userId, this.roleId, this.selectedReqType, this.regionCode, this.IsRejected, this.comment,year)\r\n .subscribe((finalReqData) => {\r\n if (finalReqData.data[0].result == 'FAIL') {\r\n this.toastr.error(finalReqData.data[0].errordescription);\r\n this.loader = 'none';\r\n this.approveEnable = true;\r\n this.rejectEnable = true;\r\n\r\n } else {\r\n this.toastr.success(finalReqData.data[0].errordescription);\r\n this.loader = 'none';\r\n this.approveEnable = true;\r\n this.rejectEnable = true;\r\n\r\n }\r\n this.closePopup(this.comment);\r\n // if (this.roleId == '1') {\r\n // this.approveEnable = false;\r\n // this.rejectEnable = false;\r\n // }\r\n // else {\r\n // this.approveEnable = true;\r\n // this.rejectEnable = true;\r\n // }\r\n\r\n this.finalReqDetails = [];\r\n this.comment = \"\";\r\n this.loader = 'none';\r\n\r\n\r\n });\r\n }\r\n\r\n setSubMenu(event: any, type: string): void {\r\n this.tabName = type;\r\n this.getFinalRequirementData(this.selectedReqType);\r\n }\r\n openApproveCommentPopup(updateDetail, reqType) {\r\n if (updateDetail == undefined || updateDetail == null || updateDetail.length == 0) {\r\n this.toastr.error('No data found for approval.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if (this.selectedRegionMessage.length >= 1) {\r\n for (var i = 0; i < this.selectedRegionMessage.length; i++) {\r\n if (this.selectedRegionMessage[i].status == 'Approval Pending at Brand Manager' && this.selectedRegionMessage[i].status == 'Approved By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + this.selectedRegionMessage[i].status);\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n this.approveEnable = true;\r\n this.rejectEnable = true;\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Approval Pending at Brand Manager') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already Approval Pending at Brand Manager.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Approved By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already approved by admin.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n else if (this.selectedRegionMessage[i].status == 'Rejected By Admin') {\r\n this.toastr.error(this.selectedRegionMessage[i].region + ' has already rejected by admin.');\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n return false;\r\n }\r\n }\r\n }\r\n this.displayApprove = 'block';\r\n }\r\n closeApprovePopup() {\r\n this.displayApprove = 'none';\r\n this.loader = 'none';\r\n\r\n }\r\n\r\n\r\n // onStatusSelect(item: any) {\r\n // this.selectedStatus = item.text\r\n // this.StatusSetting();\r\n // }\r\n // onStatusDeSelect(item: any) {\r\n // this.selectedStatus = '';\r\n // }\r\n public onStatusSelect(item: any) {\r\n\r\n this.selectedStatus = [];\r\n for (var i = 0; i < this.status.selectedItems.length; i++) {\r\n this.selectedStatus.push(this.status.selectedItems[i].text)\r\n }\r\n this.commaSeperatedStatus = this.selectedStatus.join(\", \");\r\n }\r\n public onStatusDeSelect(item: any) {\r\n this.selectedStatus = [];\r\n for (var i = 0; i < this.status.selectedItems.length; i++) {\r\n this.selectedStatus.push(this.status.selectedItems[i].text)\r\n }\r\n this.commaSeperatedStatus = this.selectedStatus.join(\", \");\r\n }\r\n\r\n public onStatusSelectAll(items: any) {\r\n this.selectedStatus = [];\r\n for (var i = 0; i < this.status.selectedItems.length; i++) {\r\n this.selectedStatus.push(this.status.selectedItems[i].text)\r\n }\r\n this.commaSeperatedStatus = this.selectedStatus.join(\", \");\r\n }\r\n public onStatusDeSelectAll(items: any) {\r\n this.selectedStatus = [];\r\n this.commaSeperatedStatus = '';\r\n }\r\n remarkContent: string = '';\r\n remarkDate: string = '';\r\n isPartiallyclosed: boolean;\r\n onImageClick(remark: any,status: any) {\r\n \r\n const closedContent = remark.split('!split!');\r\n this.remarkDate = closedContent[0];\r\n const processedRemark = closedContent[1].replace(/\\\\n/g, '\\n');\r\n \r\n this.remarkContent = processedRemark.replace(/\\n/g, '
');\r\n \r\n if(status.includes('Partially'))\r\n {\r\n this.isPartiallyclosed = true\r\n }\r\n else{\r\n this.isPartiallyclosed = false\r\n }\r\n this.cd.detectChanges();\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 = \"
\\r\\n \\r\\n
\\r\\n Demo Samples\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\\"Not\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{notifyCount}}
\\r\\n
\\r\\n

Notifications

\\r\\n 0\\\">\\r\\n Clear All\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n {{reminder.notificationMessage}}
    \\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 \\r\\n {{userName}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"no-image\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\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 '../../Services/encryption-decryption/encryption-decryption.service';\r\nimport { DashboardService } from '../../Services/Dashboard/dashboard.service';\r\nimport { Notify } from '../../Models/login/profile';\r\n\r\n@Component({\r\n selector: 'app-layout',\r\n templateUrl: './MasterLayout.Component.html'\r\n\r\n})\r\n\r\nexport class MasterLayoutComponent implements OnInit {\r\n userName;\r\n RoleId: string;\r\n IsShow: boolean;\r\n ROOT_URL: string = \"\";\r\n loadAPI: Promise;\r\n searchValue: string = '';\r\n menuList: any[] = [];\r\n notify: Notify;\r\n displayNotification: string = 'none';\r\n notifyCount: any;\r\n constructor(private session: SessionService, private router: Router, private route: ActivatedRoute, private snackBar: MatSnackBarComponent\r\n , private encryptionDecryptionService: EncryptionDecryptionService, private dashboardService: DashboardService, private loginService: LoginService) {\r\n let g: global = new global();\r\n this.ROOT_URL = g.getApiUrl();\r\n\r\n // //set username to show on the Dashboard and other pages\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.RoleId = localStorage.getItem('dsu_roleCode');\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.loadAPI = new Promise((resolve) => {\r\n this.getMenuList();\r\n this.notificationCount();\r\n resolve(true);\r\n });\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/custome_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 //Redirect to C-Master Change password page on Click over Change Password link\r\n changePassword() {\r\n var userid = localStorage.getItem('dsu_userId');\r\n var encodedUserid = btoa(userid);\r\n var encodePortal = btoa('DSU');\r\n if (this.ROOT_URL.indexOf('dsu.fmcone.in') !== -1)\r\n var url = 'https://cmaster.fmcone.in/ChangePassword?user=' + encodedUserid + '&portal=' + encodePortal;\r\n else\r\n var url = 'https://cmaster.uat.fmcone.in/ChangePassword?user=' + encodedUserid + '&portal=' + encodePortal;\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n logOut() {\r\n this.session.logout();\r\n }\r\n\r\n openNotification() {\r\n this.notifyCount = 0;\r\n this.updateNotificationCount();\r\n\r\n this.loginService.Notification()\r\n .subscribe((resData: any) => {\r\n\r\n if (resData.status == true) {\r\n this.notify = resData.data;\r\n this.displayNotification = 'block';\r\n }\r\n else {\r\n this.snackBar.openSnackBar(resData.msg, 'Close', 'red-snackbar');\r\n }\r\n }\r\n );\r\n }\r\n\r\n closeNotification() {\r\n this.notifyCount = 0;\r\n this.updateNotificationCount();\r\n\r\n this.displayNotification = 'none';\r\n }\r\n\r\n getMenuList() {\r\n debugger\r\n this.dashboardService.getMenuList()\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.menuList = resData.data;\r\n }\r\n });\r\n }\r\n\r\n notificationCount() {\r\n let userId = localStorage.getItem('dsu_userId');\r\n this.loginService.notificationCount(userId)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.notifyCount = resData.data;\r\n //alert(this.notifyCount)\r\n }\r\n });\r\n }\r\n\r\n\r\n updateNotificationCount() {\r\n let userId = localStorage.getItem('dsu_userId');\r\n this.loginService.updateNotificationCount(userId)\r\n .subscribe((resData: any) => {\r\n\r\n if (resData.status) {\r\n\r\n this.notifyCount = resData.data;\r\n }\r\n });\r\n }\r\n ClearNofication(id: number, IsAllClear: boolean) {\r\n let userId = localStorage.getItem('dsu_userId');\r\n this.loginService.ClearNotification(userId, id, IsAllClear)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.notify = resData.data;\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\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DropDownRequest, DropDownResponse } from 'src/app/Models/DropDwon/DropDownRequest';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { DropDownService } from 'src/app/Services/DropDown/dropdownService';\r\nimport { ReportsService } from '../../../Services/Reports/reports.service';\r\n\r\n@Component({\r\n selector: 'app-dsurequirement-report',\r\n templateUrl: './dsurequirement-report.component.html',\r\n styleUrls: ['./dsurequirement-report.component.css']\r\n})\r\nexport class DSURequirementReportComponent implements OnInit {\r\n\r\n @ViewChild('yearSelect') yearSelect;\r\n @ViewChild('year') year;\r\n public userId: string;\r\n public roleId: string;\r\n public loader: string=\"none\";\r\n public userName: string;\r\n \r\n public YearSettings= {};\r\n public YearSelectedItem: YearModel[];\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n \r\n defaultValue = 'none';\r\n constructor(private ddlServices: DropDownService,private toastr: ToastrService, private reportService: ReportsService ) \r\n {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId=localStorage.getItem('dsu_roleCode');\r\n }\r\n \r\n \r\n ngOnInit() {\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n this.ddlResponse.year=response.data.year;\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n for(var i=0;i {\r\n });\r\n this.YearSetting();\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 DownloadExcel() {\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let roleCode=localStorage.getItem('dsu_roleCode');\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n let region = '';\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.reportService.DSURequirementReport(this.userId,roleCode,year)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_\" + year + \"_DSURequirementReport_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n }, err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".yearwidth {\\r\\n width: 10%;\\r\\n }\\r\\n \\r\\n .btnadjust {\\r\\n margin-top: 4px;\\r\\n }\\r\\n \\r\\n .monthwidth{\\r\\n width: 15%;\\r\\n }\\r\\n \"","module.exports = \"
\\r\\n

SD Acknowledge

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

Filters

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n * Mandatory Fields\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Product Name*Pack Size*Invoice No*Qty Dispatched(Kg/Ltr)*Batch No*EXP Date*Date*LR*Carrier Detail*Origin Location*Qty Received(Kg/Ltr)*Warehouse Location*Business Unit*Cost Center*
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Acknowledge History\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ProductPack SizeBatch NoQty Dispatched(Kg/Ltr)EXP DateInvoice NoInvoice DateLRCarrier DetailsQty Received(Kg/Ltr)Origin LocationCost CenterBusiness UnitWH LocationMonthDispachted OnDispachted By
No Record Found
\\r\\n\\r\\n \\r\\n \\r\\n {{stock.productName}}\\r\\n \\r\\n {{stock.packSize}}\\r\\n \\r\\n {{stock.batchNo}}\\r\\n \\r\\n {{stock.qtyDispatched}}\\r\\n \\r\\n {{stock.expDate}}\\r\\n \\r\\n {{stock.invNo}}\\r\\n \\r\\n {{stock.invDate}}\\r\\n \\r\\n {{stock.lr}}\\r\\n \\r\\n {{stock.carrierDetail}}\\r\\n \\r\\n {{stock.qtyReceived}}\\r\\n \\r\\n {{stock.originLocation}}\\r\\n \\r\\n {{stock.costCenter}}\\r\\n \\r\\n {{stock.businessUnit}}\\r\\n \\r\\n {{stock.whName}}\\r\\n \\r\\n {{stock.monthName}}\\r\\n \\r\\n {{stock.createdOn}}\\r\\n \\r\\n {{stock.createdBy}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Are you sure you want to acknowledge.

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Product*\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Pack Size*\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Pack MRP*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Batch No*\\r\\n \\r\\n
\\r\\n
\\r\\n Qty*\\r\\n \\r\\n
\\r\\n
\\r\\n MFG Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n EXP Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Inv No*\\r\\n \\r\\n
\\r\\n
\\r\\n INV Date*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Warehouse Location*\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { DropDownRequest, DropDownResponse, RequirmentTypeModel, WHLocationModel } from '../../Models/DropDwon/DropDownRequest';\r\nimport { productModel } from '../../Models/DropDwon/ProductModel';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { SDAcknowledgeService } from '../../Services/SDAcknowledge/sd-acknowledge.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { monthModel } from 'src/app/Models/DropDwon/MonthModel';\r\n\r\n@Component({\r\n selector: 'sd-acknowledge',\r\n templateUrl: './sd-acknowledge.component.html',\r\n styleUrls: ['./sd-acknowledge.component.css']\r\n})\r\nexport class SDAcknowledge implements OnInit {\r\n \r\n \r\n public loader: string = \"none\";\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('WHLocationItem') WHLocationItem;\r\n @ViewChild('AddRowWHLocation') AddRowWHLocation;\r\n @ViewChild('AddRowProduct') AddRowProduct;\r\n @ViewChild('AddRowPackSize') AddRowPackSize;\r\n @ViewChild('AddRowRecThrough') AddRowRecThrough;\r\n @ViewChild('monthSelect') monthSelect;\r\n @ViewChild('AddRowMonth') AddRowMonth;\r\n @ViewChild('year') year;\r\n public YearSettings= {};\r\n public form: FormGroup;\r\n\r\n public userId: string;\r\n public roleId: string;\r\n public FlagDropDown: string;\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n\r\n public ddlResponseWH: DropDownResponse = new DropDownResponse();\r\n\r\n public RequirmentTypeSettings = {};\r\n public requirmentTypeDdl: RequirmentTypeModel[];\r\n public requirmentDllValue: any;\r\n\r\n public WHLocationSettings = {};\r\n public whLocationDdl: WHLocationModel[];\r\n public whLocationDDlValue: any;\r\n\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n\r\n\r\n public AddRowWHLocationSettings = {};\r\n public AddRowWHLocationDDlValue: any;\r\n\r\n public AddRowProductSettings = {};\r\n public AddRowProductSelectedItem: productModel[];\r\n\r\n public AddRowReceivedThroughSettings = {};\r\n public AddRowPackSizeSettings = {};\r\n \r\n public MonthSettings = {};\r\n public MonthSelectedItem: monthModel[];\r\n\r\n public BusinessUnitSettings = {};\r\n //public MonthSelectedItem: monthModel[];\r\n\r\n public CostCenterSettings = {};\r\n //public MonthSelectedItem: monthModel[];\r\n\r\n public AddRowMonthSettings = {};\r\n public AddRowMonthSelectedItem: monthModel[];\r\n\r\n public AddRowBusinessUnitSettings ={};\r\n //public AddRowCostCenterSelectedItem: productModel[];\r\n\r\n public AddRowCostCenterSettings ={};\r\n public isStockAvailable: boolean = true;\r\n //public AddRowCostCenterSelectedItem: productModel[];\r\n\r\n wareHouseLocation: string;\r\n selectedReqType: any = [];\r\n selectedRegion: any = [];\r\n public files: File[] = [];\r\n public fileName: string = '';\r\n defaultView: boolean = true;\r\n totalRecord: any;\r\n currentPage: any;\r\n lastPage: any;\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n dispatchToSDObj: any = [];\r\n dispatchToSDWarehouseObj: any=[];\r\n userName: string;\r\n recordsOnCurrentPage: number = 10;\r\n startRecord: number = 1;\r\n defaultValue = \"none\";\r\n dynamicAddRow: any = [];\r\n newAddRow: any = {};\r\n productPackSize: any[] = [];\r\n displayReject = 'none';\r\n displayEdit = 'none';\r\n editStockIn: any = {};\r\n editProductPackSize: any[] = [];\r\n currentYear = new Date().getFullYear();\r\n\r\n constructor(private ddlServices: DropDownService, private toastr: ToastrService, private sdAcknowledge: SDAcknowledgeService) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"44\") ? \"Supervisor\" : \"DEFAULT\";\r\n }\r\n\r\n ngOnInit() {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n const years=response.data.year;\r\n if (years.length >= 2) {\r\n // Extract the last two items\r\n this.ddlResponse.year = years.slice(-2);\r\n } else {\r\n // Handle cases where there are fewer than two items\r\n this.ddlResponse.year = years;\r\n }\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem;\r\n this.YearSetting(); \r\n } \r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n\r\n\r\n this.WHLocationSetting();\r\n this.GetWarehouseLocationData(this.userId, this.roleId, \"TRUE\");\r\n this.ProductSetting();\r\n this.MonthSetting();\r\n //this.BusinessUnitSetting();\r\n //this.CostCenterSetting();\r\n this.AddRowWHLocationSetting();\r\n this.AddRowProductSetting();\r\n this.AddRowPackSizeSetting();\r\n this.GetSDAcknowledgeData();\r\n this.AddRowMonthSetting();\r\n this.AddRowBusinessUnitSetting();\r\n this.AddRowCostCenterSetting();\r\n this.loader = 'none';\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 WHLocationSetting() {\r\n this.WHLocationSettings = {\r\n singleSelection: false,\r\n idField: 'whId',\r\n textField: 'whName',\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 Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n WHLocation() {\r\n this.whLocationDdl = [{ WHId: \"1\", WHName: \"WHName1\" }, { WHId: \"2\", WHName: \"WHName2\" }]\r\n }\r\n\r\n AddRowWHLocationSetting() {\r\n this.AddRowWHLocationSettings = {\r\n singleSelection: true,\r\n idField: 'whCode',\r\n textField: 'whName',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Location Found',\r\n closeDropDownOnSelection: true,\r\n };\r\n }\r\n\r\n AddRowPackSizeSetting() {\r\n this.AddRowPackSizeSettings = {\r\n singleSelection: true,\r\n idField: 'packSize',\r\n textField: 'packSize',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Pack Size Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n\r\n AddRowProductSetting() {\r\n this.AddRowProductSettings = {\r\n singleSelection: true,\r\n idField: 'productCode',\r\n textField: 'productName',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Product Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n AddRowMonthSetting() {\r\n this.AddRowMonthSettings = {\r\n singleSelection: true,\r\n idField: 'monthId',\r\n textField: 'monthName',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Month Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n \r\n AddRowBusinessUnitSetting() {\r\n this.AddRowBusinessUnitSettings = {\r\n singleSelection: true,\r\n idField: 'code',\r\n textField: 'name',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No BU Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n AddRowCostCenterSetting() {\r\n this.AddRowCostCenterSettings = {\r\n singleSelection: true,\r\n idField: 'code',\r\n textField: 'name',\r\n allowSearchFilter: true,\r\n clearSearchFilter: true,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No CC Found',\r\n closeDropDownOnSelection: true,\r\n\r\n };\r\n }\r\n\r\n ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n MonthSetting() {\r\n this.MonthSettings = {\r\n singleSelection: false,\r\n idField: 'monthId',\r\n textField: 'monthName',\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\r\n BusinessUnitSetting() {\r\n this.BusinessUnitSettings = {\r\n singleSelection: false,\r\n idField: 'code',\r\n textField: 'name',\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 BU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n CostCenterSetting() {\r\n this.CostCenterSettings = {\r\n singleSelection: false,\r\n idField: 'code',\r\n textField: 'name',\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 BU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n\r\n GetWarehouseLocationData(userId: string, roleId: string, IsOnInit: string) {\r\n let obj: DropDownRequest = new DropDownRequest();\r\n\r\n this.loader = 'block';\r\n obj.UserId = this.userId;\r\n obj.Role = this.roleId;\r\n obj.Flag = IsOnInit;\r\n obj.SD = '';\r\n this.ddlServices.getWarehouseLocationDropDown(obj)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n\r\n this.ddlResponseWH.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n\r\n reset() {\r\n this.defaultValue = 'none';\r\n if (this.productSelect != undefined) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n if (this.monthSelect != undefined) {\r\n this.monthSelect.selectedItems = [];\r\n }\r\n \r\n if (this.WHLocationItem != undefined) {\r\n this.WHLocationItem.selectedItems = [];\r\n }\r\n if (this.year != undefined)\r\n {\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems=requiredItem;\r\n }\r\n\r\n this.defaultView = true;\r\n }\r\n\r\n\r\n\r\n GetSDAcknowledge() {\r\n this.isStockAvailable = true;\r\n let year=\"\";\r\n let isValid = true;\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let month = Array.prototype.map.call(this.monthSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n if (whLocation == \"\" || whLocation == null) {\r\n this.toastr.error(\"Please select Warehouse Location\");\r\n isValid = false;\r\n return false;\r\n }\r\n if (product == \"\" || product == null) {\r\n this.toastr.error(\"Please select Product\");\r\n isValid = false;\r\n return false;\r\n }\r\n if (month == \"\" || month == null) {\r\n this.toastr.error(\"Please select Month\");\r\n isValid = false;\r\n return false;\r\n }\r\n if (year == \"\" || year == null) {\r\n this.toastr.error(\"Please select Year\");\r\n isValid = false;\r\n return false;\r\n }\r\n if (isValid) {\r\n this.loader = 'block';\r\n this.sdAcknowledge.GetAcknowledgeFilter(whLocation, product, year,month, this.userId)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.dynamicAddRow = [];\r\n this.defaultView = false;\r\n this.dispatchToSDObj = response.data;\r\n if(this.dispatchToSDObj.stockAvailable.length <= 0){\r\n this.isStockAvailable = false;\r\n // this.toastr.error(\"No data found\");\r\n }\r\n this.AddRowProductSetting();\r\n this.AddRowPackSizeSetting();\r\n this.AddRowMonthSetting();\r\n if (this.dispatchToSDObj.stockAvailable.length > 0) {\r\n for(let i=0;i {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n }\r\n\r\n GetSDAcknowledgeData(){\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let month = Array.prototype.map.call(this.monthSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whLocation = Array.prototype.map.call(this.WHLocationItem.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let year=\"\";\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.sdAcknowledge.GetSDAcknowledge(whLocation, product, month, this.userId ,year)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.dynamicAddRow = [];\r\n this.defaultView = false;\r\n this.dispatchToSDWarehouseObj = response.data.historyStockAvailable\r\n\r\n }\r\n else {\r\n //this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n \r\n\r\n AddRowForEdit(index, data) {\r\n var datePipe = new DatePipe(\"en-US\");\r\n let mfgDate = data.mfgDate;\r\n data.mfgDate = datePipe.transform(mfgDate, 'dd/MMM/yyyy');\r\n let expDate = data.expDate;\r\n data.expDate = datePipe.transform(expDate, 'dd/MMM/yyyy');\r\n let invDate = data.invDate;\r\n data.invDate = datePipe.transform(invDate, 'dd/MMM/yyyy');\r\n\r\n this.newAddRow =\r\n {\r\n Id: data.id,\r\n WarehouseCode: data.warehouseCode,\r\n WarehouseLocation: data.warehouseLocation,\r\n ItemCode: data.itemCode,\r\n ItemName: data.itemName,\r\n PackSize: data.packSize,\r\n PackMRP: data.packMRP,\r\n BatchNo: data.batchNo,\r\n Qty: data.qty,\r\n LR: data.lr,\r\n CarrierDetail: data.CarrierDetail,\r\n OriginLocation: data.originLocation,\r\n MFGDate: data.mfgDate,\r\n EXPDate: data.expDate,\r\n DocNo: data.docNo,\r\n InvNo: data.invNo,\r\n InvDate: data.invDate,\r\n IsEdit: false\r\n\r\n }\r\n\r\n\r\n this.productPackSize.push(0);\r\n this.productPackSize[index] = [];\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == data.itemCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.productPackSize[index].push(packSize);\r\n\r\n\r\n }\r\n }\r\n this.dynamicAddRow.push(this.newAddRow);\r\n\r\n }\r\n\r\n AddRow(index,data) {\r\n var value= data[index].originLocationName.split('(');\r\n this.newAddRow =\r\n {\r\n Id: 0,\r\n WarehouseCode: data[index].whCode,\r\n WarehouseLocation: data[index].whName,\r\n ProductCode: data[index].productCode,\r\n ProductName: data[index].productName,\r\n PackSize: data[index].packSize,\r\n PackMRP: data[index].packMRP,\r\n BatchNo: data[index].batchNo,\r\n QtyDispatched: data[index].qtyDispatched,\r\n LR: data[index].lr,\r\n OriginLocation: data[index].originLocation,\r\n OriginLocationName: value[0],\r\n OriginLocationValue: data[index].originLocationName,\r\n CarrierDetail: data[index].carrierDetail,\r\n MFGDate: data[index].mfgDate,\r\n EXPDate: data[index].expDate,\r\n InvNo: data[index].invNo,\r\n InvDate: data[index].invDate,\r\n BusinessUnit:\"\",\r\n CostCenter:\"\",\r\n IsAcknowledged:false,\r\n dispatchId:data[index].id,\r\n Month:data[index].month,\r\n IsEdit: true\r\n }\r\n this.productPackSize.push(0);\r\n this.dynamicAddRow.push(this.newAddRow);\r\n return true;\r\n }\r\n\t\r\n DeleteRow(index) {\r\n if (this.dynamicAddRow.length == 1) {\r\n this.toastr.error(\"Can't delete the row when there is only one row\");\r\n return false;\r\n }\r\n else {\r\n this.dynamicAddRow.splice(index, 1);\r\n return true;\r\n }\r\n }\r\n\r\n IsAlphaNumeric(event: any) {\r\n var newKeyCode = event.keyCode;\r\n return ((newKeyCode > 64 && newKeyCode < 91) || (newKeyCode > 96 && newKeyCode < 123) || (newKeyCode == 8 || newKeyCode == 32) || (newKeyCode >= 48 && newKeyCode <= 57) || newKeyCode == 59);\r\n }\r\n\r\n onAddRowProductSelect(item: any, index: any) {\r\n this.productPackSize[index] = [];\r\n\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == item.productCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.productPackSize[index].push(packSize);\r\n\r\n\r\n }\r\n }\r\n\r\n this.dynamicAddRow[index].ProductCode = item.productCode;\r\n this.dynamicAddRow[index].productName = item.productName;\r\n\r\n\r\n }\r\n onAddRowProductDeSelect(item: any, index: any) {\r\n this.productPackSize[index] = [];\r\n }\r\n\r\n onAddRowPackSize(item: any, index: any) {\r\n this.dynamicAddRow[index].PackSize = item.packSize;\r\n }\r\n onAddRowPackSizeDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].PackSize = \"\";\r\n }\r\n onAddRowWHLocation(item: any, index: any) {\r\n this.dynamicAddRow[index].WarehouseCode = item.whCode;\r\n this.dynamicAddRow[index].WarehouseLocation = item.whName;\r\n }\r\n\r\n ononAddRowWHLocationDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].WarehouseCode = \"\";\r\n this.dynamicAddRow[index].WarehouseLocation = \"\";\r\n }\r\n onDateSelectEXPDate(newValueEXPDate, index) {\r\n this.dynamicAddRow[index].MFGDate\r\n let nwValue = newValueEXPDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].EXPDate = nwValue;\r\n }\r\n onDateSelectMFGDate(newValueEXPDate, index) {\r\n let nwValue = newValueEXPDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].MFGDate = nwValue;\r\n }\r\n \r\n onDateSelectINVDate(newValueINVDate, index) {\r\n let nwValue = newValueINVDate;\r\n var datePipe = new DatePipe(\"en-US\");\r\n nwValue = datePipe.transform(nwValue, 'dd/MMM/yyyy')\r\n this.dynamicAddRow[index].InvDate = nwValue;\r\n }\r\n\r\n onAddRowBusinessUnit(item: any, index: any) {\r\n this.dynamicAddRow[index].BusinessUnit = item.code;\r\n }\r\n onAddRowBusinessUnitDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].BusinessUnit = \"\";\r\n }\r\n\r\n onAddRowCostCenter(item: any, index: any) {\r\n this.dynamicAddRow[index].CostCenter = item.code;\r\n }\r\n onAddRowCostCenterDeSelect(item: any, index: any) {\r\n this.dynamicAddRow[index].CostCenter = \"\";\r\n }\r\n\r\n ValidateDispatchToWarehouse(dynamicAddRow: any) {\r\n this.displayReject = 'none';\r\n let isValid = true;\r\n let isRowSelected = false;\r\n dynamicAddRow = dynamicAddRow.filter( x => x.IsAcknowledged == true);\r\n if (dynamicAddRow.length == 0) {\r\n isValid = false;\r\n this.toastr.error(\"Please select checkbox to acknowledge.\");\r\n return false;\r\n }\r\n for (let i = 0; i < dynamicAddRow.length; i++) {\r\n if (dynamicAddRow[i].IsAcknowledged && !Boolean(dynamicAddRow[i].QtyReceived)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (dynamicAddRow[i].IsAcknowledged && !Boolean(dynamicAddRow[i].BusinessUnit)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (dynamicAddRow[i].IsAcknowledged && !Boolean(dynamicAddRow[i].CostCenter)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].IsAcknowledged)) {\r\n isValid = false;\r\n this.toastr.error(\"Please select checkbox to acknowledge.\");\r\n return false;\r\n }\r\n if (dynamicAddRow[i].IsAcknowledged && !Boolean(dynamicAddRow[i].QtyDispatched)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].LR)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].OriginLocation)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].CarrierDetail)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n // if (!Boolean(dynamicAddRow[i].MFGDate)) {\r\n // isValid = false;\r\n // this.toastr.error(\"Please fill all required fields.\");\r\n // return false;\r\n // }\r\n if (!Boolean(dynamicAddRow[i].EXPDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].InvNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(dynamicAddRow[i].InvDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n // if (!Boolean(dynamicAddRow[i].Month)) {\r\n // isValid = false;\r\n // this.toastr.error(\"Please fill all required fields.\");\r\n // return false;\r\n // }\r\n let mfgDate = new Date(dynamicAddRow[i].MFGDate);\r\n let expDate = new Date(dynamicAddRow[i].EXPDate);\r\n // if (expDate <= mfgDate) {\r\n // isValid = false;\r\n // this.toastr.error(\"EXP Date must be greater than MFG Date.\");\r\n // return false;\r\n // }\r\n if (dynamicAddRow[i].IsAcknowledged && dynamicAddRow[i].QtyReceived > dynamicAddRow[i].QtyDispatched) {\r\n isValid = false;\r\n this.toastr.error(\"Qty Received should not be greater than Qty Dispatched.\");\r\n return false;\r\n }\r\n }\r\n if (isValid) {\r\n this.displayReject = 'block';\r\n }\r\n }\r\n closePopup(commentModal: string) {\r\n this.displayReject = 'none';\r\n this.displayEdit = 'none';\r\n }\r\n\r\n SaveDispatchToWarehouse(dynamicAddRow: any) {\r\n this.loader = 'block';\r\n this.displayReject = 'none';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n var data = dynamicAddRow.filter( x => x.IsAcknowledged == true);\r\n let year=\"\";\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.sdAcknowledge.SaveSDAcknowledge(data, this.userId,year)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.defaultView = true;\r\n this.toastr.success(response.message);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n }\r\n\r\n EditRow(stock: any) {\r\n //this.editStockIn = stock;\r\n this.editStockIn = this.DeepCopy(stock);\r\n this.editStockIn.productId = this.editStockIn.productCode;\r\n this.editStockIn.whLocation = this.editStockIn.whName;\r\n this.displayEdit = \"block\";\r\n let WHSelected = { whCode: this.editStockIn.whCode, whName: this.editStockIn.whName };\r\n \r\n\r\n\r\n\r\n }\r\n\r\n onEditRowProductSelect(item: any, index: any) {\r\n this.editProductPackSize = [];\r\n\r\n for (let i = 0; i < this.dispatchToSDObj.dsAddStock.packSize.length; i++) {\r\n if (this.dispatchToSDObj.dsAddStock.packSize[i].productCode == item.productCode) {\r\n let packSize: any = {};\r\n packSize.packSize = this.dispatchToSDObj.dsAddStock.packSize[i].packSize;\r\n this.editProductPackSize.push(packSize);\r\n\r\n\r\n }\r\n }\r\n\r\n this.editStockIn.PackSizeSelectedList = [];\r\n\r\n this.editStockIn.productId = item.productCode;\r\n this.editStockIn.productName = item.productName;\r\n\r\n\r\n }\r\n\r\n onEditRowProductDeSelect(item: any, index: any) {\r\n this.editStockIn.productName = \"\";\r\n this.editStockIn.productId = \"\";\r\n }\r\n\r\n onEditRowPackSize(item: any, index: any) {\r\n this.editStockIn.packSize = item.packSize;\r\n }\r\n onEditRowPackSizeDeSelect(item: any, index: any) {\r\n this.editStockIn.packSize = \"\";\r\n }\r\n onEditRowWHLocation(item: any, index: any) {\r\n this.editStockIn.whCode = item.whCode;\r\n this.editStockIn.whLocation = item.whName;\r\n }\r\n\r\n onEditRowWHLocationDeSelect(item: any, index: any) {\r\n this.editStockIn.whCode = \"\";\r\n this.editStockIn.whName = \"\";\r\n }\r\n\r\n DeepCopy(obj: any): any {\r\n let clonedObject;\r\n\r\n if (obj === null || typeof obj !== 'object') {\r\n return obj;\r\n }\r\n if (obj instanceof Array) {\r\n clonedObject = [];\r\n for (let i = 0; i < obj.length; i++) {\r\n clonedObject[i] = this.DeepCopy(obj[i]);\r\n }\r\n return clonedObject;\r\n }\r\n if (obj instanceof Date) {\r\n clonedObject = new Date(obj.valueOf());\r\n return clonedObject;\r\n }\r\n if (obj instanceof RegExp) {\r\n clonedObject = RegExp(obj.source, obj.flags);\r\n return clonedObject;\r\n }\r\n if (obj instanceof Object) {\r\n clonedObject = new obj.constructor();\r\n for (const attr in obj) {\r\n if (obj.hasOwnProperty(attr)) {\r\n clonedObject[attr] = this.DeepCopy(obj[attr]);\r\n }\r\n }\r\n return clonedObject;\r\n }\r\n }\r\n\r\n EditDispatchToWarehouse(stockIn) {\r\n let isValid = true;\r\n if (!Boolean(stockIn.whCode)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.whLocation)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.productId)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.productName)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.packSize)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.stockReceiptDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.receivedThrough)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.receivedFrom)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.batchNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.qty)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n \r\n if (!Boolean(stockIn.mfgDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.docNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.expDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.invNo)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n if (!Boolean(stockIn.invDate)) {\r\n isValid = false;\r\n this.toastr.error(\"Please fill all required fields.\");\r\n return false;\r\n }\r\n let mfgDate = new Date(stockIn.mfgDate);\r\n let expDate = new Date(stockIn.expDate);\r\n if (expDate <= mfgDate) {\r\n isValid = false;\r\n this.toastr.error(\"EXP Date must be greater than MFG Date.\");\r\n return false;\r\n }\r\n\r\n this.displayEdit = 'none';\r\n this.loader = 'block';\r\n\r\n if (isValid) {\r\n stockIn.userId = localStorage.getItem('dsu_userId');\r\n console.log(stockIn);\r\n this.sdAcknowledge.UpdateStockIn(stockIn)\r\n .subscribe((response) => {\r\n\r\n if (response.status) {\r\n this.defaultView = true;\r\n this.toastr.success(response.message);\r\n this.GetSDAcknowledge();\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n\r\n }\r\n }\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

Crop 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\\r\\n \\r\\n\\r\\n
CropsVisibility
{{crop.cropName}}\\r\\n
\\r\\n \\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 { CropDetails } from '../../../Models/AdminRights/crop-details';\r\nimport { MatSnackBarComponent } from \"../../mat-snack-bar/mat-snack-bar.component\";\r\nimport { AdminRightsService } from '../../../Services/AdminRights/admin-rights.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-crop-config',\r\n templateUrl: './crop-config.component.html',\r\n styleUrls: ['./crop-config.component.css']\r\n})\r\nexport class CropConfigComponent implements OnInit {\r\n loader = 'none';\r\n roleId: string;\r\n userId: string;\r\n cropDetails: CropDetails[] = [];\r\n // saveCropDetails: CropDetails[] = [];\r\n saveCropDetails: CropDetails = new CropDetails();\r\n\r\n constructor(private adminConfiguration: AdminRightsService, private toastr: ToastrService) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleCode');\r\n }\r\n ngOnInit() {\r\n this.getCropDetails();\r\n }\r\n getCropDetails() {\r\n this.loader = 'block';\r\n this.adminConfiguration.getCropDetails(this.userId, this.roleId)\r\n .subscribe((cropdata) => {\r\n this.cropDetails = cropdata.data;\r\n this.loader = 'none';\r\n });\r\n\r\n }\r\n changeStatus(cropName, cropGroupID) {\r\n }\r\n cancelStatus() {\r\n this.getCropDetails();\r\n\r\n }\r\n updateStatus(saveCropDetails) {\r\n let isAllStatusFalse = saveCropDetails.some((element) => element.status == true)\r\n if (!isAllStatusFalse) {\r\n this.toastr.error('Please select atleast one crop.');\r\n this.loader = 'none';\r\n } else {\r\n this.loader = 'block';\r\n\r\n this.adminConfiguration.updateCropDetails(saveCropDetails, this.userId, this.roleId)\r\n .subscribe(res => {\r\n if (res.message == \"Success\") {\r\n this.toastr.success('Data Saved Successfully.');\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(res.message);\r\n this.loader = 'none';\r\n }\r\n });\r\n }\r\n\r\n }\r\n allCrops()\r\n {\r\n this.cropDetails.forEach((item)=>item.status=true);\r\n \r\n \r\n //this.saveCropDetails.Status=true;\r\n \r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Pack Size 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 \\r\\n 1\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ProductsPack Size
{{packSizeDetail.productName}}\\r\\n
\\r\\n \\r\\n \\r\\n {{packSizeDetail.packSizeConfigurationModels[0].packSize}}\\r\\n
\\r\\n\\r\\n
{{packSizeDetail.productName}}\\r\\n
\\r\\n \\r\\n \\r\\n {{innerPackItem.packSize}}\\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 { PackSizeDetails } from '../../../Models/AdminRights/crop-details';\r\nimport { AdminRightsService } from '../../../Services/AdminRights/admin-rights.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-pack-size-config',\r\n templateUrl: './pack-size-config.component.html',\r\n styleUrls: ['./pack-size-config.component.css']\r\n})\r\nexport class PackSizeConfigComponent implements OnInit {\r\n loader = 'none';\r\n roleId: string;\r\n userId: string;\r\n packSizeDetails: any[] = [];\r\n savePackSizeDetails: any[] = [];\r\n packSizeDetailsUpdate: PackSizeDetails[] = [];\r\n updateDetails: PackSizeDetails = new PackSizeDetails();\r\n constructor(private adminConfiguration: AdminRightsService, private toastr: ToastrService) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleCode');\r\n }\r\n\r\n ngOnInit() {\r\n this.getPackSizeDetails();\r\n }\r\n getPackSizeDetails() {\r\n this.loader = 'block';\r\n this.adminConfiguration.getPackSizeDetails(this.userId, this.roleId)\r\n .subscribe((packsizedata) => {\r\n this.packSizeDetails = packsizedata.data;\r\n this.loader = 'none';\r\n });\r\n\r\n }\r\n updatePackSizeDetails(updateDetails) {\r\n this.loader = 'block';\r\n this.savePackSizeDetails = [];\r\n this.packSizeDetailsUpdate = [];\r\n for (var i = 0; i < updateDetails.length; i++) {\r\n this.savePackSizeDetails.push(updateDetails[i].packSizeConfigurationModels)\r\n\r\n }\r\n for (var j = 0; j < this.savePackSizeDetails.length; j++) {\r\n for (var k = 0; k < this.savePackSizeDetails[j].length; k++) {\r\n this.packSizeDetailsUpdate.push(this.savePackSizeDetails[j][k])\r\n\r\n }\r\n }\r\n this.adminConfiguration.updatePackSizeDetails(this.packSizeDetailsUpdate, this.userId, this.roleId)\r\n .subscribe(res => {\r\n this.toastr.success('Data Saved Successfully.');\r\n this.loader = 'none';\r\n });\r\n\r\n }\r\n cancelStatus() {\r\n this.getPackSizeDetails();\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \" \\r\\n
\\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 \\r\\n
ProductsVisibility
{{product.productName}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ProductConfig } from '../../../Models/AdminRights/product-config';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser'\r\nimport { AdminRightsService } from '../../../Services/AdminRights/admin-rights.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-product-config',\r\n templateUrl: './product-config.component.html',\r\n styleUrls: ['./product-config.component.css']\r\n})\r\nexport class ProductConfigComponent implements OnInit {\r\n loader = 'none';\r\n loggedInUser: string = localStorage.getItem('dsu_userId')\r\n productConfigObj: ProductConfig[] = [];\r\n newArray: ProductConfig[];\r\n \r\n\r\n constructor(private adminConfiguration: AdminRightsService, private toastr: ToastrService) { }\r\n\r\n\r\n ngOnInit() {\r\n this.productConfig(this.loggedInUser);\r\n\r\n }\r\n productConfig(userId: any) {\r\n this.loader = 'block';\r\n this.adminConfiguration.productConfig(userId)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.productConfigObj = resData.data;\r\n this.loader = 'none';\r\n }\r\n else {\r\n }\r\n\r\n }\r\n );\r\n }\r\n UpdateProductVisibility() {\r\n let showProduct: boolean = false;\r\n this.productConfigObj.forEach(function (ele) {\r\n if (ele.isDisplay == true) {\r\n return showProduct = true;\r\n }\r\n });\r\n if (showProduct) {\r\n this.adminConfiguration.updateProductConfiguration(this.productConfigObj, this.loggedInUser)\r\n .subscribe((resdata: any) => {\r\n if (resdata.status) {\r\n this.productConfigObj;\r\n this.toastr.success('Data Updated Successfully.');\r\n }\r\n else {\r\n\r\n }\r\n }, error => {\r\n //loader will be display none;\r\n });\r\n }\r\n else {\r\n this.toastr.error('Please select atleast one Product.');\r\n }\r\n\r\n }\r\n\r\n get selectedOptions() {\r\n return this.productConfigObj\r\n .filter(opt => opt.isDisplay)\r\n .map(opt => opt.productName)\r\n }\r\n\r\n Cancel() {\r\n this.loader = 'block';\r\n this.productConfig('');\r\n this.loader = 'none';\r\n }\r\n allProducts(event) {\r\n const checked = event.target.checked;\r\n this.productConfigObj.forEach(item => item.isDisplay = true);\r\n }\r\n\r\n}\r\n\r\n\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Reminder Email Configuration

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

Annual Requirement Submission

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

Approval on Annual Requirement

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

Cost Approval

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

Material Allocation

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

Material Dispatch to SD

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\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 \"","import { ToastrService } from '../../../../../node_modules/ngx-toastr';\r\nimport { Component, OnInit, ViewContainerRef, AfterViewInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AdminRightsService } from 'src/app/Services/AdminRights/admin-rights.service';\r\nimport { ReminderEmail, GetReminderDataModel } from 'src/app/Models/AdminRights/reminder-email';\r\n\r\n\r\n@Component({\r\n selector: 'app-reminder-email-config',\r\n templateUrl: './reminder-email-config.component.html',\r\n styleUrls: ['./reminder-email-config.component.css']\r\n})\r\nexport class ReminderEmailConfigComponent implements OnInit {\r\n reminderEmail: ReminderEmail = new ReminderEmail();\r\n ReminderEmailForm: FormGroup;\r\n userId: string = localStorage.getItem('dsu_userId');\r\n reminderData: GetReminderDataModel[] = []\r\n\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private reminderEmailService: AdminRightsService, private form: FormBuilder, public vcr: ViewContainerRef, public toastr: ToastrService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.ReminderEmailForm = this.form.group({\r\n AnnualReminderFirstDate: ['', Validators.required],\r\n AnnualReminderSecondDate: ['', Validators.required],\r\n ApprovalReminderFirstDate: ['', Validators.required],\r\n ApprovalReminderSecondDate: ['', Validators.required],\r\n CostReminderFirstDate: ['', Validators.required],\r\n CostReminderSecondDate: ['', Validators.required],\r\n MaterialReminderFirstDate: ['', Validators.required],\r\n MaterialReminderSecondDate: ['', Validators.required],\r\n DispatchReminderFirstDate: ['', Validators.required],\r\n DispatchReminderSecondDate: ['', Validators.required],\r\n DispatchToFTReminderFirstDate: ['', Validators.required],\r\n DispatchToFTReminderSecondDate: ['', Validators.required],\r\n\r\n });\r\n this.getReminderEmail(this.userId);\r\n }\r\n\r\n getReminderEmail(userId: any) {\r\n this.reminderEmailService.getReminderEmail(userId)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.reminderData = resData.data;\r\n this.reminderData.forEach(element => {\r\n\r\n if (element.formId == '1') {\r\n this.ReminderEmailForm.patchValue({\r\n AnnualReminderFirstDate: element.reminder1Day,\r\n AnnualReminderSecondDate: element.reminder2Day\r\n });\r\n\r\n }\r\n else if (element.formId == '2') {\r\n this.ReminderEmailForm.patchValue({\r\n ApprovalReminderFirstDate: element.reminder1Day,\r\n ApprovalReminderSecondDate: element.reminder2Day\r\n });\r\n }\r\n else if (element.formId == '3') {\r\n this.ReminderEmailForm.patchValue({\r\n CostReminderFirstDate: element.reminder1Day,\r\n CostReminderSecondDate: element.reminder2Day\r\n });\r\n }\r\n else if (element.formId == '4') {\r\n this.ReminderEmailForm.patchValue({\r\n MaterialReminderFirstDate: element.reminder1Day,\r\n MaterialReminderSecondDate: element.reminder2Day\r\n });\r\n }\r\n else if (element.formId == '5') {\r\n this.ReminderEmailForm.patchValue({\r\n DispatchReminderFirstDate: element.reminder1Day,\r\n DispatchReminderSecondDate: element.reminder2Day\r\n });\r\n }\r\n else if (element.formId == '6') {\r\n this.ReminderEmailForm.patchValue({\r\n DispatchToFTReminderFirstDate: element.reminder1Day,\r\n DispatchToFTReminderSecondDate: element.reminder2Day\r\n });\r\n }\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n reminderEmailConfigDetail(formData: any) {\r\n\r\n //const myForm=formData.values();\r\n // if (formData.value != null){\r\n // // myForm.forEach(element => {\r\n // // if (element > 31) {\r\n // // this.toastr.error(\"Date cannot be greater than 31\");\r\n // // }\r\n\r\n // });\r\n //}\r\n\r\n if (formData.value.AnnualReminderFirstDate > 31 ||\r\n formData.value.AnnualReminderSecondDate > 31 ||\r\n formData.value.ApprovalReminderFirstDate > 31 ||\r\n formData.value.ApprovalReminderSecondDate > 31 ||\r\n formData.value.CostReminderFirstDate > 31 ||\r\n formData.value.CostReminderSecondDate > 31 ||\r\n formData.value.MaterialReminderFirstDate > 31 ||\r\n formData.value.MaterialReminderSecondDate > 31 ||\r\n formData.value.DispatchReminderFirstDate > 31 ||\r\n formData.value.DispatchReminderSecondDate > 31 ||\r\n formData.value.DispatchToFTReminderFirstDate > 31 ||\r\n formData.value.DispatchToFTReminderSecondDate > 31) {\r\n this.toastr.error(\"Date cannot be greater than 31\");\r\n }\r\n\r\n\r\n\r\n else if (formData.value.AnnualReminderFirstDate < 1 || formData.value.AnnualReminderSecondDate < 0 ||\r\n formData.value.ApprovalReminderFirstDate < 1 || formData.value.ApprovalReminderSecondDate < 0 ||\r\n formData.value.CostReminderFirstDate < 1 || formData.value.CostReminderSecondDate < 0 ||\r\n formData.value.MaterialReminderFirstDate < 1 || formData.value.MaterialReminderSecondDate < 0 ||\r\n formData.value.DispatchReminderFirstDate < 1 || formData.value.DispatchReminderSecondDate < 0 ||\r\n formData.value.DispatchToFTReminderFirstDate < 1 || formData.value.DispatchToFTReminderSecondDate < 0) {\r\n this.toastr.error(\"Date cannot be less than 1\");\r\n //this.resetReminderEmailConfig();\r\n }\r\n else if (formData.value.AnnualReminderFirstDate > formData.value.AnnualReminderSecondDate ||\r\n formData.value.ApprovalReminderFirstDate > formData.value.ApprovalReminderSecondDate ||\r\n formData.value.CostReminderFirstDate > formData.value.CostReminderSecondDate ||\r\n formData.value.MaterialReminderFirstDate > formData.value.MaterialReminderSecondDate ||\r\n formData.value.DispatchReminderFirstDate > formData.value.DispatchReminderSecondDate ||\r\n formData.value.DispatchToFTReminderFirstDate > formData.value.DispatchToFTReminderSecondDate) {\r\n this.toastr.error(\"First reminder date cannot be greater than second reminder date\");\r\n //this.resetReminderEmailConfig();\r\n }\r\n else if (formData.value.AnnualReminderFirstDate == null || formData.value.AnnualReminderSecondDate == null ||\r\n formData.value.ApprovalReminderFirstDate == null || formData.value.ApprovalReminderSecondDate == null ||\r\n formData.value.CostReminderFirstDate == null || formData.value.CostReminderSecondDate == null ||\r\n formData.value.MaterialReminderFirstDate == null || formData.value.MaterialReminderSecondDate == null ||\r\n formData.value.DispatchReminderFirstDate == null || formData.value.DispatchReminderSecondDate == null ||\r\n formData.value.DispatchToFTReminderFirstDate == null || formData.value.DispatchToFTReminderSecondDate == null) {\r\n this.toastr.error(\"Date cannot be blank. Please enter a valid date.\");\r\n //this.resetReminderEmailConfig();\r\n }\r\n else {\r\n this.reminderEmailService.postgetReminderEmail(formData)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.toastr.success('Data Updated Successfully.');\r\n }\r\n else {\r\n this.toastr.error(\"Something Went Wrong.\");\r\n }\r\n });\r\n }\r\n\r\n }\r\n onKeyPress(event: any) {\r\n if (event.key == \"+\" || event.key == \".\" || event.key == \"-\" || event.key == \"e\")\r\n return false;\r\n else\r\n return true;\r\n };\r\n resetReminderEmailConfig() {\r\n // this.getReminderEmail();\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n
\\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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
StagesAMM/ZMH/DMHZMHDMHFMGMBMSDHOSDWH
Requirement Year For All\\r\\n = 48 && event.charCode <= 57\\\"\\r\\n style=\\\"background: #f8f8f8;\\\"> \\r\\n       
H1 Requirement Submission\\r\\n \\r\\n \\r\\n       
H2 Requirement Submission\\r\\n \\r\\n \\r\\n       
H1 Approval on Requirement \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    
H2 Approval on Requirement \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    
H1 DS Cost Approval    \\r\\n \\r\\n \\r\\n   
H2 DS Cost Approval    \\r\\n \\r\\n \\r\\n   
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDatepickerModule, MatInputModule, MatNativeDateModule } from '@angular/material';\r\nimport { getLocaleDateFormat, DatePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Timeline } from '../../../Models/AdminRights/timeline';\r\nimport { AdminRightsService } from '../../../Services/AdminRights/admin-rights.service';\r\nimport { parse } from 'querystring';\r\nimport * as moment from 'moment';\r\n//import {CalendarModule} from 'primeng/primeng';\r\n\r\n@Component({\r\n selector: 'app-timeline',\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class TimelineComponent implements OnInit {\r\n calModel1: any; calModel2: any; calModel3: any; calModel4: any;\r\n calModel5: any; calModel6: any; calModel7: any; calModel8: any;\r\n calModel9: any; calModel10: any; calModel11: any; calModel12: any;\r\n calModel13: any; calModel14: any; calModel15: any; calModel16: any; \r\n calModel17: any; calModel18: any; calModel19: any; calModel20: any;\r\n calModel21: any; calModel22: any; calModel23: any; calModel24: any; \r\n calModel25: any; calModel26: any; calModel27: any; calModel28: any; \r\n calModel29: any; calModel30: any; calModel31: any; calModel32: any;\r\n calModel33: any; calModel34: any; calModel35: any; calModel36: any; RequirmentYear: any;\r\n\r\n isBtnSubmitVisible: boolean;\r\n isBtnUpdateVisible: boolean;\r\n minDateValue = new Date();\r\n todayDate = new Date();\r\n minStartDate: Date;\r\n maxStartDate: Date;\r\n minEndDate: Date;\r\n maxEndDate: Date;\r\n FromStartDate: Date = new Date();\r\n ToEndDate: Date = new Date();\r\n CurrentYear: string;\r\n public timeline: Timeline[] = [];\r\n public userId: string;\r\n public roleId: number;\r\n public roleCode: string;\r\n hi: Date;\r\n\r\n //public _startDateAMM_ZMH_DMH_F1_u:string;\r\n public calId1Update: string;\r\n\r\n public tsResponse: Array = new Array();\r\n\r\n\r\n constructor(private toastr: ToastrService, private adminRight: AdminRightsService, private datePipe: DatePipe) {\r\n this.roleId = JSON.parse(localStorage.getItem('dsu_roleId'));\r\n this.roleCode = localStorage.getItem('dsu_roleCode');\r\n this.userId = localStorage.getItem('dsu_userId');\r\n }\r\n\r\n ngOnInit() {\r\n this.isBtnSubmitVisible = true;\r\n this.isBtnUpdateVisible = false;\r\n this.TimelineSettingView();\r\n this.CurrentYear = (new Date()).getFullYear().toString();\r\n // this.minStartDate = new Date(new Date().getFullYear(), 0, 1);\r\n // this.minEndDate = new Date(new Date().getFullYear(), 11, 31);\r\n // this.maxStartDate = new Date(new Date().getFullYear(), 0, 1);\r\n // this.maxEndDate = new Date(new Date().getFullYear(), 11, 31);\r\n }\r\n\r\n private IsDateValid(): boolean {\r\n\r\n let isValid: boolean = false;\r\n\r\n // if ((new Date(Object.prototype.toString.call(this.calModel2) === \"[object String]\" ? this.customeparse(this.calModel2) : this.calModel2)) <\r\n // (new Date(Object.prototype.toString.call(this.calModel1) === \"[object String]\" ? this.customeparse(this.calModel1) : this.calModel1))) {\r\n // this.toastr.error('Annual requirement submission [AMM/ZMH/DMH]From Date should be equal or greater than To Date.');\r\n // isValid = false;\r\n // }\r\n\r\n if ((new Date(Object.prototype.toString.call(this.calModel18) === \"[object String]\" ? this.customeparse(this.calModel18) : this.calModel18)) <\r\n (new Date(Object.prototype.toString.call(this.calModel17) === \"[object String]\" ? this.customeparse(this.calModel17) : this.calModel17))) {\r\n this.toastr.error('H1 requirement submission [AMM/ZMH/DMH]From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel20) === \"[object String]\" ? this.customeparse(this.calModel20) : this.calModel20)) <\r\n (new Date(Object.prototype.toString.call(this.calModel19) === \"[object String]\" ? this.customeparse(this.calModel19) : this.calModel19))) {\r\n this.toastr.error('H2 requirement submission [AMM/ZMH/DMH]From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel22) === \"[object String]\" ? this.customeparse(this.calModel22) : this.calModel22)) <\r\n (new Date(Object.prototype.toString.call(this.calModel21) === \"[object String]\" ? this.customeparse(this.calModel21) : this.calModel21))) {\r\n this.toastr.error('H1 Approval on requirement[ZMH] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel24) === \"[object String]\" ? this.customeparse(this.calModel24) : this.calModel24)) <\r\n (new Date(Object.prototype.toString.call(this.calModel23) === \"[object String]\" ? this.customeparse(this.calModel23) : this.calModel23))) {\r\n this.toastr.error('H1 Approval on requirement[DMH] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel26) === \"[object String]\" ? this.customeparse(this.calModel26) : this.calModel26)) <\r\n (new Date(Object.prototype.toString.call(this.calModel25) === \"[object String]\" ? this.customeparse(this.calModel25) : this.calModel25))) {\r\n this.toastr.error('H1 Approval on requirement[FMGM] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel28) === \"[object String]\" ? this.customeparse(this.calModel28) : this.calModel28)) <\r\n (new Date(Object.prototype.toString.call(this.calModel27) === \"[object String]\" ? this.customeparse(this.calModel27) : this.calModel27))) {\r\n this.toastr.error('H2 Approval on requirement[ZMH] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel30) === \"[object String]\" ? this.customeparse(this.calModel30) : this.calModel30)) <\r\n (new Date(Object.prototype.toString.call(this.calModel29) === \"[object String]\" ? this.customeparse(this.calModel29) : this.calModel29))) {\r\n this.toastr.error('H2 Approval on requirement[DMH] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel32) === \"[object String]\" ? this.customeparse(this.calModel32) : this.calModel32)) <\r\n (new Date(Object.prototype.toString.call(this.calModel31) === \"[object String]\" ? this.customeparse(this.calModel31) : this.calModel31))) {\r\n this.toastr.error('H2 Approval on requirement[FMGM] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel34) === \"[object String]\" ? this.customeparse(this.calModel34) : this.calModel34)) <\r\n (new Date(Object.prototype.toString.call(this.calModel33) === \"[object String]\" ? this.customeparse(this.calModel33) : this.calModel33))) {\r\n this.toastr.error('H1 DS cost approval[BM] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel36) === \"[object String]\" ? this.customeparse(this.calModel36) : this.calModel36)) <\r\n (new Date(Object.prototype.toString.call(this.calModel35) === \"[object String]\" ? this.customeparse(this.calModel35) : this.calModel35))) {\r\n this.toastr.error('H2 DS cost approval[BM] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n // else if ((new Date(Object.prototype.toString.call(this.calModel4) === \"[object String]\" ? this.customeparse(this.calModel4) : this.calModel4)) <\r\n // (new Date(Object.prototype.toString.call(this.calModel3) === \"[object String]\" ? this.customeparse(this.calModel3) : this.calModel3))) {\r\n // this.toastr.error('Approval on requirement[ZMH] From Date should be equal or greater than To Date.');\r\n // isValid = false;\r\n // }\r\n\r\n // else if ((new Date(Object.prototype.toString.call(this.calModel6) === \"[object String]\" ? this.customeparse(this.calModel6) : this.calModel6)) <\r\n // (new Date(Object.prototype.toString.call(this.calModel5) === \"[object String]\" ? this.customeparse(this.calModel5) : this.calModel5))) {\r\n // this.toastr.error('Approval on requirement[DMH] From Date should be equal or greater than To Date.');\r\n // isValid = false;\r\n // }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel8) === \"[object String]\" ? this.customeparse(this.calModel8) : this.calModel8)) <\r\n (new Date(Object.prototype.toString.call(this.calModel7) === \"[object String]\" ? this.customeparse(this.calModel7) : this.calModel7))) {\r\n this.toastr.error('Demo sample allocation[AMM/ZMH/DMH] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n\r\n else if ((new Date(Object.prototype.toString.call(this.calModel10) === \"[object String]\" ? this.customeparse(this.calModel10) : this.calModel10)) <\r\n (new Date(Object.prototype.toString.call(this.calModel9) === \"[object String]\" ? this.customeparse(this.calModel9) : this.calModel9))) {\r\n this.toastr.error('Demo sample allocation[BM] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n else if ((new Date(Object.prototype.toString.call(this.calModel12) === \"[object String]\" ? this.customeparse(this.calModel12) : this.calModel12)) <\r\n (new Date(Object.prototype.toString.call(this.calModel11) === \"[object String]\" ? this.customeparse(this.calModel11) : this.calModel11))) {\r\n this.toastr.error('Demo sample allocation[SDHO]From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n else if ((new Date(Object.prototype.toString.call(this.calModel14) === \"[object String]\" ? this.customeparse(this.calModel14) : this.calModel14)) <\r\n (new Date(Object.prototype.toString.call(this.calModel13) === \"[object String]\" ? this.customeparse(this.calModel13) : this.calModel13))) {\r\n this.toastr.error('Demo sample allocation [SDWH] From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n else if ((new Date(Object.prototype.toString.call(this.calModel16) === \"[object String]\" ? this.customeparse(this.calModel16) : this.calModel16)) <\r\n (new Date(Object.prototype.toString.call(this.calModel15) === \"[object String]\" ? this.customeparse(this.calModel15) : this.calModel15))) {\r\n this.toastr.error('Demo sample allocation [FMGM]From Date should be equal or greater than To Date.');\r\n isValid = false;\r\n }\r\n // else if ((new Date(Object.prototype.toString.call(this.calModel3) === \"[object String]\" ? this.customeparse(this.calModel3) : this.calModel3)) <\r\n // (new Date(Object.prototype.toString.call(this.calModel1) === \"[object String]\" ? this.customeparse(this.calModel1) : this.calModel1))) {\r\n // this.toastr.error('Approval on requirement[ZMH] From Date should be equal or greater than annual requirement submission from Date.');\r\n // isValid = false;\r\n // }\r\n // else if ((new Date(Object.prototype.toString.call(this.calModel5) === \"[object String]\" ? this.customeparse(this.calModel5) : this.calModel5)) <\r\n // (new Date(Object.prototype.toString.call(this.calModel1) === \"[object String]\" ? this.customeparse(this.calModel1) : this.calModel1))) {\r\n // this.toastr.error('Approval on requirement[DMH] From Date should be equal or greater than annual requirement submission from Date.');\r\n // isValid = false;\r\n // }\r\n else if ((new Date(Object.prototype.toString.call(this.calModel15) === \"[object String]\" ? this.customeparse(this.calModel15) : this.calModel15)) <\r\n (new Date(Object.prototype.toString.call(this.calModel1) === \"[object String]\" ? this.customeparse(this.calModel1) : this.calModel1))) {\r\n this.toastr.error('Approval on requirement[FMGM] From Date should be equal or greater than annual requirement submission from Date.');\r\n isValid = false;\r\n}\r\n else {\r\n isValid = true;\r\n }\r\n return isValid;\r\n }\r\n\r\n customeparse(value: any): Date | null {\r\n\r\n if ((typeof value === 'string') && (value.includes('/'))) {\r\n const str = value.split('/');\r\n\r\n const year = Number(str[2]);\r\n const month = Number(str[1]) - 1;\r\n const date = Number(str[0]);\r\n\r\n return new Date(year, month, date);\r\n } else if ((typeof value === 'string') && value === '') {\r\n return new Date();\r\n }\r\n const timestamp = typeof value === 'number' ? value : Date.parse(value);\r\n return isNaN(timestamp) ? null : new Date(timestamp);\r\n }\r\n\r\n private IsUserAdmin(roleCode: string): boolean {\r\n if (roleCode == \"ADM\") {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n getRequirementMaxYear()\r\n {\r\n return new Date().getFullYear()+1;\r\n }\r\n\r\n // private TimelineSubmit(): void {\r\n // const _startDateAMM_ZMH_DMH_F1 = new Date(this.calModel1).toLocaleDateString(\"en-US\");\r\n // const _endDateAMM_ZMH_DMH_F1 = new Date(this.calModel2).toLocaleDateString(\"en-US\");\r\n\r\n // const _startDateZMH_F3 = new Date(this.calModel3).toLocaleDateString(\"en-US\");\r\n // const _endDateZMH_F3 = new Date(this.calModel4).toLocaleDateString(\"en-US\");\r\n\r\n // const _startDateDMH_F3 = new Date(this.calModel5).toLocaleDateString(\"en-US\");\r\n // const _endDateDMH_F3 = new Date(this.calModel6).toLocaleDateString(\"en-US\");\r\n\r\n // const _startDateAMM_ZMH_DMH_F5 = new Date(this.calModel7).toLocaleDateString(\"en-US\");\r\n // const _endDateAMM_ZMH_DMH_F5 = new Date(this.calModel8).toLocaleDateString(\"en-US\");\r\n\r\n // const _todayDate = new Date(this.todayDate).toLocaleDateString(\"en-US\");\r\n\r\n // if (this.IsUserAdmin(this.roleCode)) {\r\n // if (this.IsDateValid()) {\r\n // this.timeline = [];\r\n // const _requestAMM_F1 = {\r\n // formId: 1,\r\n // startDate: _startDateAMM_ZMH_DMH_F1,\r\n // endDate: _endDateAMM_ZMH_DMH_F1,\r\n // roleCode: \"AMM\",\r\n // roleId:42,\r\n // createdBy: this.userId,\r\n // createdOn: _todayDate,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n\r\n // }\r\n // const _requestZMH_F1 = {\r\n // formId: 1,\r\n // startDate: _startDateAMM_ZMH_DMH_F1,\r\n // endDate: _endDateAMM_ZMH_DMH_F1,\r\n // roleCode: \"ZMH\",\r\n // roleId: 43,\r\n // createdBy: this.userId,\r\n // createdOn: _todayDate,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n\r\n // }\r\n // const _requestDMH_F1 = {\r\n // formId: 1,\r\n // startDate: _startDateAMM_ZMH_DMH_F1,\r\n // endDate: _endDateAMM_ZMH_DMH_F1,\r\n // roleCode: \"DMH\",\r\n // roleId: 39,\r\n // createdBy: this.userId,\r\n // createdOn: _todayDate,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n\r\n // }\r\n // const _requestZMH_F3 = {\r\n // formId: 3,\r\n // startDate: _startDateZMH_F3,\r\n // endDate: _endDateZMH_F3,\r\n // roleCode: \"ZMH\",\r\n // roleId: 43,\r\n // createdBy: this.userId,\r\n // createdOn: _todayDate,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n\r\n // }\r\n // const _requestDMH_F3 = {\r\n // formId: 3,\r\n // startDate: _startDateDMH_F3,\r\n // endDate: _endDateDMH_F3,\r\n // roleCode: \"DMH\",\r\n // roleId: 39,\r\n // createdBy: this.userId,\r\n // createdOn: _todayDate,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n\r\n // }\r\n // const _requestAMM_F5 = {\r\n // formId: 5,\r\n // startDate: _startDateAMM_ZMH_DMH_F5,\r\n // endDate: _endDateAMM_ZMH_DMH_F5,\r\n // roleCode: \"AMM\",\r\n // roleId:42,\r\n // createdBy: this.userId,\r\n // createdOn: _todayDate,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n\r\n // }\r\n // const _requestZMH_F5 = {\r\n // formId: 5,\r\n // startDate: _startDateAMM_ZMH_DMH_F5,\r\n // endDate: _endDateAMM_ZMH_DMH_F5,\r\n // roleCode: \"ZMH\",\r\n // roleId: 43,\r\n // createdBy: this.userId,\r\n // createdOn: _todayDate,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n\r\n // }\r\n // const _requestDMH_F5 = {\r\n // formId: 5,\r\n // startDate: _startDateAMM_ZMH_DMH_F5,\r\n // endDate: _endDateAMM_ZMH_DMH_F5,\r\n // roleCode: \"DMH\",\r\n // roleId: 39,\r\n // createdBy: this.userId,\r\n // createdOn: _todayDate,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n\r\n // }\r\n // this.timeline.push(_requestAMM_F1);\r\n // this.timeline.push(_requestZMH_F1);\r\n // this.timeline.push(_requestDMH_F1);\r\n // this.timeline.push(_requestZMH_F3);\r\n // this.timeline.push(_requestDMH_F3);\r\n // this.timeline.push(_requestAMM_F5);\r\n // this.timeline.push(_requestZMH_F5);\r\n // this.timeline.push(_requestDMH_F5);\r\n // this.adminRight.TimelineSettingSave(this.timeline).subscribe((resData: any) => {\r\n // if (resData.status) {\r\n // this.toastr.success('Admin timeline saved');\r\n // }\r\n // else {\r\n // this.toastr.error('Admin timeline saved failed');\r\n // }\r\n // })\r\n // }\r\n // }\r\n // else {\r\n // this.toastr.error('Only admin is authorized for timeline settings');\r\n // }\r\n // }\r\n\r\n TimelineUpdate(): void {\r\n this.timeline = [];\r\n const _todayDate = new Date(this.todayDate).toLocaleDateString(\"en-US\");\r\n if (this.IsUserAdmin(this.roleCode)) {\r\n if (this.IsDateValid()) {\r\n //const _date = new Date(this.calModel1).toLocaleDateString(\"en-IN\") == 'Invalid Date' ? new Date(this.calModel1).toLocaleDateString(\"en-IN\") : this.calModel1\r\n // const _requestAMM_F1 = {\r\n // formId: 1,\r\n // startDate: typeof this.calModel1 === 'string' ? this.calModel1 : this.datePipe.transform(this.calModel1, 'dd/MM/yyyy'),\r\n // endDate: typeof this.calModel2 === 'string' ? this.calModel2 : this.datePipe.transform(this.calModel2, 'dd/MM/yyyy'),\r\n // roleCode: \"AMM\",\r\n // roleId: 42,\r\n // createdBy: this.userId,\r\n // createdOn: null,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n // requirementYear : this.RequirmentYear,\r\n\r\n\r\n // }\r\n // const _requestZMH_F1 = {\r\n // formId: 1,\r\n // startDate: typeof this.calModel1 === 'string' ? this.calModel1 : this.datePipe.transform(this.calModel1, 'dd/MM/yyyy'),\r\n // endDate: typeof this.calModel2 === 'string' ? this.calModel2 : this.datePipe.transform(this.calModel2, 'dd/MM/yyyy'),\r\n // roleCode: \"ZMH\",\r\n // roleId: 43,\r\n // createdBy: this.userId,\r\n // createdOn: null,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n // requirementYear : this.RequirmentYear,\r\n\r\n\r\n // }\r\n // const _requestDMH_F1 = {\r\n // formId: 1,\r\n // startDate: typeof this.calModel1 === 'string' ? this.calModel1 : this.datePipe.transform(this.calModel1, 'dd/MM/yyyy'),\r\n // endDate: typeof this.calModel2 === 'string' ? this.calModel2 : this.datePipe.transform(this.calModel2, 'dd/MM/yyyy'),\r\n // roleCode: \"DMH\",\r\n // roleId: 39,\r\n // createdBy: this.userId,\r\n // createdOn: null,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n // requirementYear : this.RequirmentYear,\r\n\r\n\r\n // }\r\n const _requestAMM_F9 = {\r\n formId: 9,\r\n startDate: typeof this.calModel17 === 'string' ? this.calModel17 : this.datePipe.transform(this.calModel17, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel18 === 'string' ? this.calModel18 : this.datePipe.transform(this.calModel18, 'dd/MM/yyyy'),\r\n roleCode: \"AMM\",\r\n roleId: 42,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestZMH_F9 = {\r\n formId: 9,\r\n startDate: typeof this.calModel17 === 'string' ? this.calModel17 : this.datePipe.transform(this.calModel17, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel18 === 'string' ? this.calModel18 : this.datePipe.transform(this.calModel18, 'dd/MM/yyyy'),\r\n roleCode: \"ZMH\",\r\n roleId: 43,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestDMH_F9 = {\r\n formId: 9,\r\n startDate: typeof this.calModel17 === 'string' ? this.calModel17 : this.datePipe.transform(this.calModel17, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel18 === 'string' ? this.calModel18 : this.datePipe.transform(this.calModel18, 'dd/MM/yyyy'),\r\n roleCode: \"DMH\",\r\n roleId: 39,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestAMM_F10 = {\r\n formId: 10,\r\n startDate: typeof this.calModel19 === 'string' ? this.calModel19 : this.datePipe.transform(this.calModel19, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel20 === 'string' ? this.calModel20 : this.datePipe.transform(this.calModel20, 'dd/MM/yyyy'),\r\n roleCode: \"AMM\",\r\n roleId: 42,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestZMH_F10 = {\r\n formId: 10,\r\n startDate: typeof this.calModel19 === 'string' ? this.calModel19 : this.datePipe.transform(this.calModel19, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel20 === 'string' ? this.calModel20 : this.datePipe.transform(this.calModel20, 'dd/MM/yyyy'),\r\n roleCode: \"ZMH\",\r\n roleId: 43,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestDMH_F10 = {\r\n formId: 10,\r\n startDate: typeof this.calModel19 === 'string' ? this.calModel19 : this.datePipe.transform(this.calModel19, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel20 === 'string' ? this.calModel20 : this.datePipe.transform(this.calModel20, 'dd/MM/yyyy'),\r\n roleCode: \"DMH\",\r\n roleId: 39,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n // const _requestZMH_F3 = {\r\n // formId: 3,\r\n // startDate: typeof this.calModel3 === 'string' ? this.calModel3 : this.datePipe.transform(this.calModel3, 'dd/MM/yyyy'),\r\n // endDate: typeof this.calModel4 === 'string' ? this.calModel4 : this.datePipe.transform(this.calModel4, 'dd/MM/yyyy'),\r\n // roleCode: \"ZMH\",\r\n // roleId: 43,\r\n // createdBy: this.userId,\r\n // createdOn: null,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n // requirementYear : this.RequirmentYear,\r\n\r\n\r\n // }\r\n // const _requestDMH_F3 = {\r\n // formId: 3,\r\n // startDate: typeof this.calModel5 === 'string' ? this.calModel5 : this.datePipe.transform(this.calModel5, 'dd/MM/yyyy'),\r\n // endDate: typeof this.calModel6 === 'string' ? this.calModel6 : this.datePipe.transform(this.calModel6, 'dd/MM/yyyy'),\r\n // roleCode: \"DMH\",\r\n // roleId: 39,\r\n // createdBy: this.userId,\r\n // createdOn: null,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n // requirementYear : this.RequirmentYear,\r\n\r\n\r\n // }\r\n const _requestZMH_F11 = {\r\n formId: 11,\r\n startDate: typeof this.calModel21 === 'string' ? this.calModel21 : this.datePipe.transform(this.calModel21, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel22 === 'string' ? this.calModel22 : this.datePipe.transform(this.calModel22, 'dd/MM/yyyy'),\r\n roleCode: \"ZMH\",\r\n roleId: 43,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestDMH_F11 = {\r\n formId: 11,\r\n startDate: typeof this.calModel23 === 'string' ? this.calModel23 : this.datePipe.transform(this.calModel23, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel24 === 'string' ? this.calModel24 : this.datePipe.transform(this.calModel24, 'dd/MM/yyyy'),\r\n roleCode: \"DMH\",\r\n roleId: 39,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestSBUMH_F11 = {\r\n formId: 11,\r\n startDate: typeof this.calModel25 === 'string' ? this.calModel25 : this.datePipe.transform(this.calModel25, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel26 === 'string' ? this.calModel26 : this.datePipe.transform(this.calModel26, 'dd/MM/yyyy'),\r\n roleCode: \"FMGM\",\r\n roleId: 36,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n\r\n const _requestZMH_F12 = {\r\n formId: 12,\r\n startDate: typeof this.calModel27 === 'string' ? this.calModel27 : this.datePipe.transform(this.calModel27, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel28 === 'string' ? this.calModel28 : this.datePipe.transform(this.calModel28, 'dd/MM/yyyy'),\r\n roleCode: \"ZMH\",\r\n roleId: 43,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestDMH_F12 = {\r\n formId: 12,\r\n startDate: typeof this.calModel29 === 'string' ? this.calModel29 : this.datePipe.transform(this.calModel29, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel30 === 'string' ? this.calModel30 : this.datePipe.transform(this.calModel30, 'dd/MM/yyyy'),\r\n roleCode: \"DMH\",\r\n roleId: 39,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestSBUMH_F12 = {\r\n formId: 12,\r\n startDate: typeof this.calModel31 === 'string' ? this.calModel31 : this.datePipe.transform(this.calModel31, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel32 === 'string' ? this.calModel32 : this.datePipe.transform(this.calModel32, 'dd/MM/yyyy'),\r\n roleCode: \"FMGM\",\r\n roleId: 36,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n \r\n const _requestAMM_F5 = {\r\n formId: 5,\r\n startDate: typeof this.calModel7 === 'string' ? this.calModel7 : this.datePipe.transform(this.calModel7, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel8 === 'string' ? this.calModel8 : this.datePipe.transform(this.calModel8, 'dd/MM/yyyy'),\r\n roleCode: \"AMM\",\r\n roleId: 42,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestZMH_F5 = {\r\n formId: 5,\r\n startDate: typeof this.calModel7 === 'string' ? this.calModel7 : this.datePipe.transform(this.calModel7, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel8 === 'string' ? this.calModel8 : this.datePipe.transform(this.calModel8, 'dd/MM/yyyy'),\r\n roleCode: \"ZMH\",\r\n roleId: 43,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n const _requestDMH_F5 = {\r\n formId: 5,\r\n startDate: typeof this.calModel7 === 'string' ? this.calModel7 : this.datePipe.transform(this.calModel7, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel8 === 'string' ? this.calModel8 : this.datePipe.transform(this.calModel8, 'dd/MM/yyyy'),\r\n roleCode: \"DMH\",\r\n roleId: 39,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n\r\n }\r\n // const _requestSBUMH_F3 = {\r\n // formId: 3,\r\n // startDate: typeof this.calModel15 === 'string' ? this.calModel15 : this.datePipe.transform(this.calModel15, 'dd/MM/yyyy'),\r\n // endDate: typeof this.calModel16 === 'string' ? this.calModel16 : this.datePipe.transform(this.calModel16, 'dd/MM/yyyy'),\r\n // roleCode: \"FMGM\",\r\n // roleId: 36,\r\n // createdBy: this.userId,\r\n // createdOn: null,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n // requirementYear : this.RequirmentYear,\r\n\r\n\r\n // }\r\n // const _requestMKTG_F4 = {\r\n // formId: 4,\r\n // startDate: typeof this.calModel9 === 'string' ? this.calModel9 : this.datePipe.transform(this.calModel9, 'dd/MM/yyyy'),\r\n // endDate: typeof this.calModel10 === 'string' ? this.calModel10 : this.datePipe.transform(this.calModel10, 'dd/MM/yyyy'),\r\n // roleCode: \"MKTG\",\r\n // roleId: 28,\r\n // createdBy: this.userId,\r\n // createdOn: null,\r\n // isActive: true,\r\n // modifiedBy: this.userId,\r\n // modifiedOn: _todayDate,\r\n // requirementYear : this.RequirmentYear,\r\n\r\n // }\r\n const _requestMKTG_F13 = {\r\n formId: 13,\r\n startDate: typeof this.calModel33 === 'string' ? this.calModel33 : this.datePipe.transform(this.calModel33, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel34 === 'string' ? this.calModel34 : this.datePipe.transform(this.calModel34, 'dd/MM/yyyy'),\r\n roleCode: \"MKTG\",\r\n roleId: 28,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n }\r\n const _requestMKTG_F14 = {\r\n formId: 14,\r\n startDate: typeof this.calModel35 === 'string' ? this.calModel35 : this.datePipe.transform(this.calModel35, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel36 === 'string' ? this.calModel36 : this.datePipe.transform(this.calModel36, 'dd/MM/yyyy'),\r\n roleCode: \"MKTG\",\r\n roleId: 28,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n }\r\n const _requestSDHO_F6 = {\r\n formId: 6,\r\n startDate: typeof this.calModel11 === 'string' ? this.calModel11 : this.datePipe.transform(this.calModel11, 'dd/MM/yyyy'),\r\n endDate: typeof this.calModel12 === 'string' ? this.calModel12 : this.datePipe.transform(this.calModel12, 'dd/MM/yyyy'),\r\n roleCode: \"SDHO\",\r\n roleId: 52,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n }\r\n const _requestSDWH_F7 = {\r\n formId: 7,\r\n startDate: typeof (this.calModel13) === \"string\" ? this.calModel13 : this.datePipe.transform(this.calModel13, 'dd/MM/yyyy'),\r\n endDate: typeof (this.calModel14) === \"string\" ? this.calModel14 : this.datePipe.transform(this.calModel14, 'dd/MM/yyyy'),\r\n roleCode: \"SDWH\",\r\n roleId: 53,\r\n createdBy: this.userId,\r\n createdOn: null,\r\n isActive: true,\r\n modifiedBy: this.userId,\r\n modifiedOn: _todayDate,\r\n requirementYear : this.RequirmentYear,\r\n\r\n }\r\n this.timeline.push(_requestAMM_F9);\r\n this.timeline.push(_requestZMH_F9);\r\n this.timeline.push(_requestDMH_F9);\r\n this.timeline.push(_requestAMM_F10);\r\n this.timeline.push(_requestZMH_F10);\r\n this.timeline.push(_requestDMH_F10);\r\n this.timeline.push(_requestZMH_F11);\r\n this.timeline.push(_requestDMH_F11);\r\n this.timeline.push(_requestSBUMH_F11);\r\n this.timeline.push(_requestZMH_F12);\r\n this.timeline.push(_requestDMH_F12);\r\n this.timeline.push(_requestSBUMH_F12);\r\n this.timeline.push(_requestMKTG_F13);\r\n this.timeline.push(_requestMKTG_F14);\r\n this.timeline.push(_requestAMM_F5);\r\n this.timeline.push(_requestZMH_F5);\r\n this.timeline.push(_requestDMH_F5);\r\n this.timeline.push(_requestSDHO_F6);\r\n this.timeline.push(_requestSDWH_F7);\r\n this.adminRight.TimelineSettingUpdate(this.timeline).subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.toastr.success('Admin timeline updated.');\r\n this.TimelineNotification();\r\n }\r\n else {\r\n this.toastr.error('Admin timeline update failed.');\r\n }\r\n })\r\n }\r\n }\r\n else {\r\n this.toastr.error('Only admin is authorized for timeline settings.');\r\n }\r\n }\r\n\r\n TimelineSettingView() {\r\n this.adminRight.TimelineSettingView(this.userId)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.tsResponse = null;\r\n this.tsResponse = response.data;\r\n // this.calId1Update = this.tsResponse[0].startDate;\r\n //Annual requirment startdate and Enddate\r\n // this.calModel1 = this.tsResponse.filter(item => item.formId === 1 && item.roleId === 42)[0].startDate;\r\n // this.calModel2 = this.tsResponse.filter(item => item.formId === 1 && item.roleId === 42)[0].endDate;\r\n \r\n // H1 requrement startdate and enddate\r\n this.calModel17 = this.tsResponse.filter(item => item.formId === 9 && item.roleId === 42)[0].startDate;\r\n this.calModel18 = this.tsResponse.filter(item => item.formId === 9 && item.roleId === 42)[0].endDate;\r\n\r\n // H2 requrement startdate and enddate\r\n this.calModel19 = this.tsResponse.filter(item => item.formId === 10 && item.roleId === 42)[0].startDate;\r\n this.calModel20 = this.tsResponse.filter(item => item.formId === 10 && item.roleId === 42)[0].endDate;\r\n\r\n //Approval startdate and Enddate\r\n // this.calModel3 = this.tsResponse.filter(item => item.formId === 3 && item.roleId === 43)[0].startDate;\r\n // this.calModel4 = this.tsResponse.filter(item => item.formId === 3 && item.roleId === 43)[0].endDate;\r\n\r\n\r\n // this.calModel5 = this.tsResponse.filter(item => item.formId === 3 && item.roleId === 39)[0].startDate;;\r\n // this.calModel6 = this.tsResponse.filter(item => item.formId === 3 && item.roleId === 39)[0].endDate;\r\n\r\n\r\n // this.calModel15 = this.tsResponse.filter(item => item.formId === 3 && item.roleId === 36)[0].startDate;\r\n // this.calModel16 = this.tsResponse.filter(item => item.formId === 3 && item.roleId === 36)[0].endDate;\r\n\r\n // H1 Approval on requirement\r\n this.calModel21 = this.tsResponse.filter(item => item.formId === 11 && item.roleId === 43)[0].startDate;\r\n this.calModel22 = this.tsResponse.filter(item => item.formId === 11 && item.roleId === 43)[0].endDate;\r\n\r\n\r\n this.calModel23 = this.tsResponse.filter(item => item.formId === 11 && item.roleId === 39)[0].startDate;;\r\n this.calModel24 = this.tsResponse.filter(item => item.formId === 11 && item.roleId === 39)[0].endDate;\r\n\r\n\r\n this.calModel25 = this.tsResponse.filter(item => item.formId === 11 && item.roleId === 36)[0].startDate;\r\n this.calModel26 = this.tsResponse.filter(item => item.formId === 11 && item.roleId === 36)[0].endDate;\r\n\r\n // H2 Approval on requirement\r\n this.calModel27 = this.tsResponse.filter(item => item.formId === 12 && item.roleId === 43)[0].startDate;\r\n this.calModel28 = this.tsResponse.filter(item => item.formId === 12 && item.roleId === 43)[0].endDate;\r\n\r\n\r\n this.calModel29 = this.tsResponse.filter(item => item.formId === 12 && item.roleId === 39)[0].startDate;;\r\n this.calModel30 = this.tsResponse.filter(item => item.formId === 12 && item.roleId === 39)[0].endDate;\r\n\r\n\r\n this.calModel31 = this.tsResponse.filter(item => item.formId === 12 && item.roleId === 36)[0].startDate;\r\n this.calModel32 = this.tsResponse.filter(item => item.formId === 12 && item.roleId === 36)[0].endDate;\r\n\r\n //Cost Approval for Brand Manager\r\n // this.calModel9 = this.tsResponse.filter(item => item.formId === 4 && item.roleId === 28)[0].startDate;\r\n // this.calModel10 = this.tsResponse.filter(item => item.formId === 4 && item.roleId === 28)[0].endDate;\r\n \r\n //H1 DS cost approval\r\n this.calModel33 = this.tsResponse.filter(item => item.formId === 13 && item.roleId === 28)[0].startDate;\r\n this.calModel34 = this.tsResponse.filter(item => item.formId === 13 && item.roleId === 28)[0].endDate;\r\n\r\n // H2 DS cost approval\r\n this.calModel35 = this.tsResponse.filter(item => item.formId === 14 && item.roleId === 28)[0].startDate;\r\n this.calModel36 = this.tsResponse.filter(item => item.formId === 14 && item.roleId === 28)[0].endDate;\r\n\r\n //Demo Sample Allocation \r\n this.calModel7 = this.tsResponse.filter(item => item.formId === 5 && item.roleId === 42)[0].startDate;\r\n this.calModel8 = this.tsResponse.filter(item => item.formId === 5 && item.roleId === 42)[0].endDate;\r\n\r\n //Dispatch to SD\r\n this.calModel11 = this.tsResponse.filter(item => item.formId === 6 && item.roleId === 52)[0].startDate;\r\n this.calModel12 = this.tsResponse.filter(item => item.formId === 6 && item.roleId === 52)[0].endDate;\r\n\r\n //dispatch to field\r\n this.calModel13 = this.tsResponse.filter(item => item.formId === 7 && item.roleId === 53)[0].startDate;\r\n this.calModel14 = this.tsResponse.filter(item => item.formId === 7 && item.roleId === 53)[0].endDate;\r\n this.RequirmentYear = this.tsResponse[0].requirementYear;\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n this.toastr.error(error.message);\r\n });\r\n }\r\n\r\n TimelineNotification() {\r\n this.adminRight.TimelineNotification()\r\n .subscribe((response) => { });\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Demo Sample Allocation

\\r\\n
\\r\\n \\r\\n tss\\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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
S.No.RegionProductName of ReceiverDesignationSupervisor NamePack SizeRequirement YearJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECTotal No of PacksTotal Remaining QTY(Kg/Ltr)StatusAllocated DateDispatched DateEdit
{{i+1}}{{demo.regionName}}{{demo.product}}{{demo.nameOfMIOMDO}}{{demo.designation}}{{demo.nameOfMIE}}{{demo.packSize}}{{demo.year}}{{ConvertToCurrency(demo.jan)}}{{ConvertToCurrency(demo.feb)}}{{ConvertToCurrency(demo.mar)}}{{ConvertToCurrency(demo.apr)}}{{ConvertToCurrency(demo.may)}}{{ConvertToCurrency(demo.jun)}}{{ConvertToCurrency(demo.jul)}}{{ConvertToCurrency(demo.aug)}}{{ConvertToCurrency(demo.sep)}}{{ConvertToCurrency(demo.oct)}}{{ConvertToCurrency(demo.nov)}}{{ConvertToCurrency(demo.dec)}}{{ConvertToCurrency(demo.totalQtyToDispatch)}}{{ConvertToCurrency(demo.totalRemainingQTY)}}{{demo.status}}{{demo.allocatedDate | date: 'dd/MMM/yyyy hh:mm a'}}{{demo.dispatchedDate | date: 'dd/MMM/yyyy hh:mm a'}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Do you want to submit data?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Product\\r\\n \\r\\n
\\r\\n
\\r\\n PackSize\\r\\n \\r\\n
\\r\\n
\\r\\n Total Remaining Packs to Allocate\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Name Of MIO/MDO/MIE/MC/TM\\r\\n \\r\\n
\\r\\n
\\r\\n Designation\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Supervisor Name\\r\\n \\r\\n
\\r\\n
\\r\\n QTY to be dispatched\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
MonthsNo of Packs
JAN\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
FEB\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
MAR\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
APR\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
MAY\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
JUN\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
JUL\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
AUG\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
SEP\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
OCT\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
NOV\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
=currentMonth\\\">\\r\\n \\r\\n
\\r\\n
DEC\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n No. of packs to dispatch (monthwise)\\r\\n \\r\\n
\\r\\n
\\r\\n Total Remaining QTY(Kg/Ltr)\\r\\n \\r\\n
\\r\\n
\\r\\n Status\\r\\n \\r\\n
\\r\\n
\\r\\n Allocated Date\\r\\n \\r\\n
\\r\\n
\\r\\n Dispatched 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\"","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { DropDownRequest, DropDownResponse, RequirmentTypeModel, WHLocationModel, DesignationModel } from '../../models/DropDwon/DropDownRequest';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DemoSampleAllocationService } from '../../Services/DemoSampleAllocation/demo-sample-allocation.service';\r\nimport { RoleCodeModel, EmployeeNameModel, DemoSampleAllocationDetails, FilterModel } from '../../models/DemoSampleAllocation/demo-sample-allocation-details';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { RegionModel } from '../../models/DropDwon/RegionModel';\r\nimport { ZoneModel } from '../../models/DropDwon/ZoneModel';\r\nimport { DivisionModel } from '../../models/DropDwon/DvisionModel';\r\nimport { SBUModel } from '../../models/DropDwon/SBUModel';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AnnualRequirement } from '../../Models/AnnualRequirement/annual-requirement';\r\nimport { PagerService } from '../../Services/pager.service';\r\nimport { ignoreElements } from 'rxjs-compat/operator/ignoreElements';\r\nimport { productModel } from '../../Models/DropDwon/ProductModel';\r\nimport { DatePipe } from '@angular/common';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\n\r\n@Component({\r\n selector: 'app-demo-sample-allocation',\r\n templateUrl: './demo-sample-allocation.component.html',\r\n styleUrls: ['./demo-sample-allocation.component.css']\r\n})\r\nexport class DemoSampleAllocationComponent implements OnInit {\r\n loader = 'none';\r\n public userId: string;\r\n public roleId: string;\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('WHLocationItem') WHLocationItem;\r\n @ViewChild('file') file;\r\n @ViewChild('employeeSelect') employeeSelect\r\n @ViewChild('roleCodeModel') roleCodeModel\r\n @ViewChild('requirmentType') requirmentType\r\n @ViewChild('designSelect') designSelect;\r\n @ViewChild('yearSelect') yearSelect;\r\n @ViewChild('year') year;\r\n\r\n //public requirmentType: RequirmentTypeModel[];\r\n // public roleCodeModel: RoleCodeModel[];\r\n public roleCodeModelddl: RoleCodeModel[];\r\n public employeeNameModel: EmployeeNameModel[];\r\n //public demoSampleAllocationModel: DemoSampleAllocationDetails[];\r\n public demoSampleAllocationModel: any;\r\n public roleSettings = {};\r\n dropdownEmployeeNameSettings: any = {};\r\n dropdownRoleCodeSettings: any = {};\r\n selectedEmployees: any[] = [];\r\n\r\n public dropdownMonthSettings: {};\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n\r\n public FlagDropDown: string;\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n\r\n public RequirmentTypeSettings = {};\r\n public RoleCodeTypeSettings = {};\r\n public requirmentTypeDdl: RequirmentTypeModel[];\r\n public requirmentDllValue: any;\r\n\r\n public WHLocationSettings = {};\r\n public whLocationDdl: WHLocationModel[];\r\n public whLocationDDlValue: any;\r\n\r\n public YearSettings= {};\r\n public YearSelectedItem: YearModel[];\r\n\r\n approvefinalReqDetails: any[] = [];\r\n reqType: string;\r\n regionCode: string;\r\n wareHouseLocation: string;\r\n selectedReqType: any[] = [];\r\n selectedRegion: any[] = [];\r\n selectedRoleCode: any[] = [];\r\n selectedSbu: any[] = [];\r\n selectedDivision: any[] = [];\r\n selectedZone: any[] = [];\r\n commaSeperatedSbus: string;\r\n commaSeperatedDivisions: string;\r\n commaSeperatedZones: string;\r\n commaSeperatedRegions: string;\r\n sumOfPackOfOneRow: number = 0;\r\n commaSeperatedEmployees: string;\r\n commaSeperatedRoleCode: string;\r\n commaSeperatedReqType: string;\r\n selectedRole: string;\r\n userName: string;\r\n public isViewOnly: string;\r\n schemeFromRange: any;\r\n schemeToRange: any;\r\n files: File[] = [];\r\n fileName: string = '';\r\n document: AnnualRequirement = new AnnualRequirement();\r\n public demoRequestModel: FilterModel = new FilterModel();\r\n isSubmitted: string = \"false\";\r\n //Start: varibales for pagination\r\n pager: any = {};\r\n model: any[];\r\n totalNoOfPacks: any[];\r\n pageSetting: number = 10;\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n //END: varibales for pagination\r\n displayReject = 'none';\r\n defaultValue = 'none';\r\n\r\n totalRecord: any;\r\n currentPage: any;\r\n lastPage: any;\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n defaultView: boolean = true;\r\n recordsOnCurrentPage: any = 10;\r\n currentDate = new Date();\r\n startRecord: any = 1;\r\n pagination: any[];\r\n selectedRegionMessage: any[] = [];\r\n isSubmittedData: boolean = false;\r\n public dispatchStatusDDL: any;\r\n @ViewChild('dispatchStatus') dispatchStatus;\r\n public DispatchStatusSettings = {};\r\n commaSeperatedStatus: string;\r\n selectedStatusType: any[] = [];\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n @ViewChild('productSelect') productSelect;\r\n selectedProduct: any[] = [];\r\n commaSeperatedProduct: string;\r\n displayEdit = 'none';\r\n editStockIn: any = {};\r\n tempStock: any = {};\r\n currentMonth: any;\r\n originalRemainQTY: number = 0;\r\n isPopDisable: boolean = false;\r\n totalRemainingQuantity: string;\r\n\r\n\r\n public DesignationSettings = {};\r\n public designationddl: DesignationModel[];\r\n public designationDllValue: any;\r\n\r\n constructor(private toastr: ToastrService, private demoSampleAllocationService: DemoSampleAllocationService, private ddlServices: DropDownService, private _pagerService: PagerService\r\n , private datePipe: DatePipe) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.isViewOnly = localStorage.getItem('dsu_isViewOnly');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"77\" || this.roleId == \"44\") ? \"Supervisor\" : \"DEFAULT\";\r\n }\r\n\r\n ngOnInit() {\r\n let currentDate = new Date();\r\n this.currentMonth = currentDate.getMonth() + 1;\r\n this.selectedRole = '0';\r\n this.selectedPaging = '0';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.dispatchStatusDDL = [{ id: 1, text: \"Allocate Demo Sample\" }, { id: 2, text: \"Demo Sample Stock out to field team\" }]\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n\r\n this.ddlResponse = response.data;\r\n if(document.getElementsByClassName('mobile-hide-add').length>0){\r\n // this.onRegionSelectAllForMob(this.ddlResponse.region);\r\n this.onStatusTypeSelectForMob(this.dispatchStatusDDL);\r\n }\r\n this.ddlResponse.year=response.data.year;\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n for(var i=0;i {\r\n });\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RegionSetting();\r\n this.requirmentTypeDdl = [{ id: 1, text: \"H1\" }, { id: 2, text: \"H2\" }, { id: 3, text: \"Additional\" }];\r\n this.roleCodeModelddl = [{ RoleID: 1, RoleCode: \"TMH\" }, { RoleID: 2, RoleCode: \"UMH\" }];\r\n this.RoleCodeTypeSetting();\r\n this.RequirmentTypeSetting();\r\n this.WHLocation();\r\n this.WHLocationSetting();\r\n let today = new Date();\r\n let date = today.getDate();\r\n let month = today.getMonth();\r\n var year = today.getFullYear();\r\n this.schemeFromRange = year;\r\n this.schemeToRange = year;\r\n this.DispatchedStatusSetting();\r\n this.ProductSetting();\r\n this.DesignationSetting();\r\n this.YearSetting();\r\n // if(localStorage.getItem('dsu_roleId') =='76')\r\n // {\r\n \r\n\r\n this.designationddl = [{ id: 1, text: \"MIO\" }, { id: 2, text: \"MDO\" }, { id: 3, text: \"MIE\" },{id:4, text: \"MC\"},{id:5, text: \"TM\"},{id:6, text: \"RBM/RMH\"},{id:7, text: \"RSH\"}];\r\n // }\r\n // else{\r\n\r\n // this.designationddl = [{ id: 1, text: \"MIO\" }, { id: 2, text: \"MDO\" }, { id: 3, text: \"MIE\" },{id:4, text: \"MC\"},{id:6, text: \"RBM/RMH\"}];\r\n //}\r\n\r\n }\r\n ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product 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\r\n DispatchedStatusSetting() {\r\n this.DispatchStatusSettings = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'text',\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 Dispatch Status Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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 SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n RequirmentTypeSetting() {\r\n this.RequirmentTypeSettings = {\r\n singleSelection: true,\r\n idField: 'id',\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 Requirment Type Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n RoleCodeTypeSetting() {\r\n this.RoleCodeTypeSettings = {\r\n singleSelection: false,\r\n idField: 'RoleID',\r\n textField: 'RoleCode',\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 User Type Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n WHLocationSetting() {\r\n this.WHLocationSettings = {\r\n singleSelection: true,\r\n idField: 'WHId',\r\n textField: 'WHName',\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 Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DesignationSetting() {\r\n this.DesignationSettings = {\r\n singleSelection: false,\r\n idField: 'id',\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 Designation Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n WHLocation() {\r\n this.whLocationDdl = [{ WHId: '1', WHName: \"WHName1\" }, { WHId: '2', WHName: \"WHName2\" }]\r\n }\r\n\r\n public onProductSelect(item: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n public onProductDeSelect(item: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n\r\n public onProductSelectAll(items: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n public onProductDeSelectAll(items: any) {\r\n this.selectedProduct = [];\r\n this.commaSeperatedProduct = '';\r\n }\r\n\r\n public onSBUSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \")\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n this.commaSeperatedSbus = '';\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onDivisionSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \");\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.selectedDivision = [];\r\n this.commaSeperatedDivisions = '';\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelectAll(items: any) {\r\n this.selectedZone = [];\r\n this.commaSeperatedZones = '';\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onRegionSelect(item: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n if (this.commaSeperatedRoleCode == undefined) {\r\n this.commaSeperatedRoleCode = '';\r\n }\r\n //this.getEmployeeName(this.commaSeperatedRoleCode)\r\n }\r\n public onRegionDeSelect(item: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n if (this.commaSeperatedRoleCode == undefined) {\r\n this.commaSeperatedRoleCode = '';\r\n }\r\n // this.getEmployeeName(this.commaSeperatedRoleCode)\r\n }\r\n\r\n public onStatusTypeSelectForMob(item: any) {\r\n \r\n class StatusItemList{\r\n id: number;\r\n text: string;\r\n }\r\n let requiredItem: StatusItemList[] = [];\r\n var obj = {\r\n id : item[0].id,\r\n text: item[0].text\r\n }\r\n requiredItem.push(obj)\r\n this.dispatchStatus.selectedItems = requiredItem\r\n for (var i = 0; i < this.dispatchStatus.selectedItems.length; i++) {\r\n this.selectedStatusType.push(this.dispatchStatus.selectedItems[i].text)\r\n }\r\n this.commaSeperatedStatus = this.selectedStatusType.join(\", \");\r\n this.DispatchedStatusSetting();\r\n }\r\n\r\n public onRegionSelectAllForMob(items: any) {\r\n class RegionItemList{\r\n id: number;\r\n text: string;\r\n }\r\n let requiredItem: RegionItemList[] = [];\r\n for(let i=0; i {\r\n if (response.status) {\r\n this.ddlResponse.division = response.data.division;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.region = response.data.region;\r\n\r\n this.division.selectedItems = response.data.division.map(item => { return { id: item.divisionCode, text: item.divisionName } });\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n //this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n GetDivisionWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.zone = response.data.zone;\r\n\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n //this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n GetZoneWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\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 GetRegionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRegionWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n onReqTypeSelect(item: any) {\r\n this.selectedReqType = [];\r\n for (var i = 0; i < this.requirmentType.selectedItems.length; i++) {\r\n this.selectedReqType.push(this.requirmentType.selectedItems[i].text)\r\n }\r\n this.commaSeperatedReqType = this.selectedReqType.join(\", \");\r\n this.RequirmentTypeSetting();\r\n }\r\n\r\n onReqTypeDeSelect(item: any) {\r\n this.selectedReqType = [];\r\n this.commaSeperatedReqType = '';\r\n }\r\n\r\n onStatusTypeSelect(item: any) {\r\n this.selectedStatusType = [];\r\n for (var i = 0; i < this.dispatchStatus.selectedItems.length; i++) {\r\n this.selectedStatusType.push(this.dispatchStatus.selectedItems[i].text)\r\n }\r\n this.commaSeperatedStatus = this.selectedStatusType.join(\", \");\r\n this.DispatchedStatusSetting();\r\n }\r\n\r\n onStatusTypeDeSelect(item: any) {\r\n this.selectedStatusType = [];\r\n this.commaSeperatedStatus = '';\r\n }\r\n\r\n onRoleCodeSelect(item: any) {\r\n // this.selectedRole = item.RoleCode;\r\n this.selectedRoleCode = [];\r\n for (var i = 0; i < this.roleCodeModel.selectedItems.length; i++) {\r\n this.selectedRoleCode.push(this.roleCodeModel.selectedItems[i].text)\r\n }\r\n this.commaSeperatedRoleCode = this.selectedRoleCode.join(\", \");\r\n // if(this.selectedRoleCode.length >1){\r\n // this.selectedRole='';\r\n // }\r\n // else{\r\n // this.selectedRole = item.RoleCode;\r\n // }\r\n this.getEmployeeName(this.commaSeperatedRoleCode);\r\n }\r\n onRoleCodeDeSelect(item: any) {\r\n this.selectedRoleCode = [];\r\n for (var i = 0; i < this.roleCodeModel.selectedItems.length; i++) {\r\n this.selectedRoleCode.push(this.roleCodeModel.selectedItems[i].text)\r\n }\r\n this.commaSeperatedRoleCode = this.selectedRoleCode.join(\", \");\r\n // if(this.selectedRoleCode.length >1 ){\r\n // this.selectedRole='';\r\n // }\r\n // else if(this.selectedRoleCode.length =0 ){\r\n // this.selectedRole='';\r\n // }\r\n // else{\r\n // if(item.RoleCode == 'TMH'){\r\n // this.selectedRole='UMH';\r\n // }\r\n // else if(item.RoleCode == 'UMH'){\r\n // this.selectedRole='TMH';\r\n // }\r\n // else{\r\n // this.selectedRole='';\r\n // }\r\n //this.selectedRole=item.RoleCode;\r\n //}\r\n this.getEmployeeName(this.commaSeperatedRoleCode);\r\n }\r\n onRoleCodeSelectAll(item: any) {\r\n this.selectedRoleCode = [];\r\n for (var i = 0; i < this.roleCodeModel.selectedItems.length; i++) {\r\n this.selectedRoleCode.push(this.roleCodeModel.selectedItems[i].text)\r\n }\r\n this.commaSeperatedRoleCode = this.selectedRoleCode.join(\", \");\r\n // if(this.selectedRoleCode.length >1){\r\n // this.selectedRole = 'All';\r\n // }\r\n // else{\r\n // this.selectedRole = item.RoleCode;\r\n // }\r\n\r\n this.getEmployeeName(this.commaSeperatedRoleCode);\r\n }\r\n onRoleCodeDeSelectAll() {\r\n this.selectedRoleCode = [];\r\n this.commaSeperatedRoleCode = '';\r\n this.getEmployeeName(this.commaSeperatedRoleCode);\r\n }\r\n\r\n getEmployeeName(selectedRole) {\r\n this.loader = 'block';\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n } if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n this.demoSampleAllocationService.getEmployeeName(this.userId, this.roleId, this.commaSeperatedSbus, this.commaSeperatedDivisions, this.commaSeperatedZones, this.commaSeperatedRegions, this.commaSeperatedRoleCode)\r\n .subscribe((employeeData) => {\r\n this.employeeNameModel = employeeData.data;\r\n this.bindEmployeeDropdown(this.employeeNameModel);\r\n this.loader = 'none';\r\n\r\n });\r\n }\r\n bindEmployeeDropdown(selectedProduct: any): void {\r\n\r\n this.bindEmployeeDropdownSetting();\r\n\r\n }\r\n bindEmployeeDropdownSetting() {\r\n let isSingleSelection: boolean = false;\r\n isSingleSelection = false;\r\n\r\n this.dropdownEmployeeNameSettings = {\r\n singleSelection: isSingleSelection,\r\n idField: 'tmhCode',\r\n textField: 'tmhEmployeeName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n };\r\n }\r\n\r\n getDemoSampleAllocationDetails() {\r\n let region = ''\r\n if (typeof (this.commaSeperatedReqType) == \"undefined\" || this.commaSeperatedReqType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n this.toastr.error('Please select region.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n if(document.getElementsByClassName('mobile-hide-add').length==0){\r\n if (typeof (this.commaSeperatedStatus) == \"undefined\" || this.commaSeperatedStatus == '') {\r\n this.toastr.error('Please select status.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n }else{\r\n this.commaSeperatedStatus=\"\";\r\n }\r\n this.loader = 'block';\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n } if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRoleCode == undefined) {\r\n this.commaSeperatedRoleCode = '';\r\n }\r\n if (this.commaSeperatedEmployees == undefined) {\r\n this.commaSeperatedEmployees = '';\r\n }\r\n if (this.commaSeperatedStatus == undefined) {\r\n this.commaSeperatedStatus = '';\r\n }\r\n if (this.commaSeperatedProduct == undefined) {\r\n this.commaSeperatedProduct = '';\r\n }\r\n \r\n let designation = Array.prototype.map.call(this.designSelect.selectedItems, function (item) { return item.text; }).join(\",\");\r\n //this.commaSeperatedStatus ='Demo Sample Stock Out To Field Team'\r\n this.model = [];\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.demoSampleAllocationService.getDemoSampleAllocationDetails(this.userId, this.roleId,\r\n this.commaSeperatedSbus, this.commaSeperatedDivisions, this.commaSeperatedZones,\r\n this.commaSeperatedRegions, this.commaSeperatedReqType, this.commaSeperatedRoleCode,\r\n this.commaSeperatedEmployees, this.commaSeperatedStatus, this.commaSeperatedProduct, designation,year)\r\n .subscribe((details) => {\r\n \r\n this.defaultValue = 'block';\r\n this.demoSampleAllocationModel = details.data;\r\n\r\n //this.tempModel={...details.data};\r\n // console.log(details.data)\r\n\r\n if (this.demoSampleAllocationModel == null || this.demoSampleAllocationModel.length == 0) {\r\n this.defaultValue = 'none';\r\n this.toastr.error('No record found.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.model = details.data;\r\n this.totalNoOfPacks=[];\r\n for(let i = 0; i {\r\n if (obj.Product === this.model[i].product) {\r\n foundIndex = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n\r\n if (foundObject) {\r\n // Object found, update Packs\r\n this.totalNoOfPacks[foundIndex].Packs += this.model[i].totalQtyToDispatch;\r\n } else {\r\n // Object not found, insert new object\r\n this.totalNoOfPacks.push({ Product: this.model[i].product, Packs: this.model[i].totalQtyToDispatch });\r\n } \r\n }\r\n //this.setPage(1, this.pageSetting);\r\n this.loader = 'none';\r\n this.selectedRegionMessage = [];\r\n if (this.demoSampleAllocationModel != null) {\r\n this.selectedRegionMessage.push({ region: this.demoSampleAllocationModel[0].region, isAllocated: this.demoSampleAllocationModel[0].isAllocated })\r\n for (var i = 0; i < this.demoSampleAllocationModel.length; i++) {\r\n\r\n for (var j = 0; j < this.selectedRegionMessage.length; j++) {\r\n if (this.selectedRegionMessage[j].region == this.demoSampleAllocationModel[i].region) {\r\n break;\r\n }\r\n\r\n }\r\n if (j == this.selectedRegionMessage.length) {\r\n this.selectedRegionMessage.push({ region: this.demoSampleAllocationModel[i].region, isAllocated: this.demoSampleAllocationModel[i].isAllocated })\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.selectedRegionMessage.length >= 1) {\r\n for (var i = 0; i < this.selectedRegionMessage.length; i++) {\r\n if (this.selectedRegionMessage[i].isAllocated == 1) {\r\n this.isSubmittedData = true;\r\n } else {\r\n this.isSubmittedData = false;\r\n }\r\n\r\n }\r\n } else {\r\n this.isSubmittedData = false;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n onEmployeeSelect(item: any) {\r\n this.selectedEmployees = [];\r\n for (var i = 0; i < this.employeeSelect.selectedItems.length; i++) {\r\n this.selectedEmployees.push(this.employeeSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedEmployees = this.selectedEmployees.join(\", \");\r\n }\r\n onEmployeeSelectAll(item: any) {\r\n this.selectedEmployees = [];\r\n for (var i = 0; i < this.employeeSelect.selectedItems.length; i++) {\r\n this.selectedEmployees.push(this.employeeSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedEmployees = this.selectedEmployees.join(\", \");\r\n\r\n }\r\n onEmployeeDeSelect(item: any) {\r\n this.selectedEmployees = [];\r\n for (var i = 0; i < this.employeeSelect.selectedItems.length; i++) {\r\n this.selectedEmployees.push(this.employeeSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedEmployees = this.selectedEmployees.join(\", \");\r\n\r\n }\r\n onEmployeeDeSelectAll(item: any) {\r\n this.selectedEmployees = [];\r\n this.commaSeperatedEmployees = '';\r\n\r\n }\r\n downloadExcel() {\r\n let today = new Date();\r\n let region = ''\r\n let month;\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n if (typeof (this.commaSeperatedReqType) == \"undefined\" || this.commaSeperatedReqType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n \r\n if (this.regionSelect.selectedItems.length > 0) {\r\n region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n else {\r\n this.toastr.error('Please select region.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n \r\n this.loader = 'block';\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n } if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRoleCode == undefined) {\r\n this.commaSeperatedRoleCode = '';\r\n }\r\n if (this.commaSeperatedEmployees == undefined) {\r\n this.commaSeperatedEmployees = '';\r\n }\r\n if (this.commaSeperatedProduct == undefined) {\r\n this.commaSeperatedProduct = '';\r\n }\r\n let designation = Array.prototype.map.call(this.designSelect.selectedItems, function (item) { return item.text; }).join(\",\");\r\n this.demoRequestModel.UserId = this.userId;\r\n this.demoRequestModel.UserName=this.userName;\r\n this.demoRequestModel.RoleId = this.roleId;\r\n this.demoRequestModel.SBUCode = this.commaSeperatedSbus;\r\n this.demoRequestModel.DivisionCode = this.commaSeperatedDivisions;\r\n this.demoRequestModel.ZoneCode = this.commaSeperatedZones;\r\n this.demoRequestModel.RegionCode = this.commaSeperatedRegions;\r\n // this.demoRequestModel.ReqType = this.commaSeperatedReqType;\r\n this.demoRequestModel.ReqType = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.text; }).join(\",\");\r\n // let year = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.text; }).join(\",\");\r\n this.demoRequestModel.UserRole = this.commaSeperatedRoleCode\r\n this.demoRequestModel.SelectedEmplyoeeName = this.commaSeperatedEmployees\r\n this.demoRequestModel.SelectedStatus = this.commaSeperatedStatus\r\n this.demoRequestModel.Product = this.commaSeperatedProduct\r\n this.demoRequestModel.Designation = designation;\r\n this.demoRequestModel.Year = year;\r\n if(document.getElementsByClassName('mobile-hide-add').length==0){\r\n this.demoSampleAllocationService.downloadExcel(this.demoRequestModel)\r\n .subscribe(\r\n success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n\r\n\r\n \r\n saveAs(blob, this.selectedReqType + \"_\" + this.userName + \"_\" + year + \"_DemoSampleAllocation_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n // alert(\"No record found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.toastr.error('No record found.');\r\n this.loader = 'none';\r\n\r\n }\r\n );\r\n }else{\r\n this.demoSampleAllocationService.downloadExcelForMobile(this.demoRequestModel)\r\n .subscribe((resData: any) => {\r\n var path=resData.message;\r\n var a = document.getElementById('anc_mob');\r\n a.setAttribute(\"href\",\"api/Documents/DownloadExcelDemoSampleAllocation/\"+resData.message);\r\n let element: HTMLElement=document.getElementById('anc_mob') as HTMLElement;\r\n element.click();\r\n //a.click();\r\n //a.href = resData.message;\r\n\r\n\r\n //var blob=new Blob(resData.message);\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n //this.getDemoSampleAllocationDetails();\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some problem occured,please try again later.');\r\n });\r\n\r\n // .subscribe(\r\n // success => {\r\n // if (success.ok = true) {\r\n // var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n\r\n\r\n \r\n // saveAs(blob, this.selectedReqType + \"_\" + this.userName + \"_DemoSampleAllocation_\" + formattedDate + \".xlsx\");\r\n // }\r\n // this.loader = 'none';\r\n // },\r\n // err => {\r\n // // alert(\"No record found\");\r\n // //alert(\"Some problem occurred while downloading file.\");\r\n // this.toastr.error('No record found.');\r\n // this.loader = 'none';\r\n\r\n // }\r\n // );\r\n }\r\n\r\n }\r\n\r\n filesDroppedAdd(files: File[]) {\r\n ///debugger;\r\n if (typeof (this.commaSeperatedReqType) == \"undefined\" || this.commaSeperatedReqType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.files = [];\r\n this.files = files;\r\n\r\n let fileNameParts: string[] = files[0].name.split('.');\r\n let fileType = files[0].name.split('.')[fileNameParts.length - 1];\r\n let UserId = localStorage.getItem('dsu_userId');\r\n let fileNameIndex = files[0].name.indexOf('_');\r\n let fileNameIndexUserName = files[0].name.lastIndexOf('_DemoSampleAllocation');\r\n let fileNameReqType = files[0].name.substring(0, fileNameIndex);\r\n let fileNameUserType = files[0].name.substring(fileNameIndex + 1, fileNameIndexUserName);\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 if (fileNameReqType != this.commaSeperatedReqType) {\r\n this.toastr.error(\"Please select valid req type file.\");\r\n this.loader = 'none';\r\n return false;\r\n }\r\n // console.log(fileNameUserType)\r\n // console.log(localStorage.getItem('dsu_userName'))\r\n\r\n // if (fileNameUserType != this.userName) {\r\n // this.toastr.error(\"Please select valid file.\");\r\n // this.loader = 'none';\r\n // return false;\r\n // }\r\n this.loader = 'block';\r\n this.document.file = this.files[0];\r\n this.isSubmitted = \"false\";\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.demoSampleAllocationService.uploadDocument(this.document.file, UserId, this.roleId, this.commaSeperatedReqType, this.isSubmitted,year)\r\n .subscribe((resData: any) => {\r\n if (resData.data[0].result == 'FAIL') {\r\n this.toastr.error(resData.data[0].errordescription);\r\n this.loader = 'none';\r\n } else {\r\n this.toastr.success(resData.data[0].errordescription);\r\n this.loader = 'none';\r\n }\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.getDemoSampleAllocationDetails();\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some problem occured,please try again later.');\r\n });\r\n\r\n }\r\n submitDemoSampleAllocationData() {\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (this.demoSampleAllocationModel == undefined || this.demoSampleAllocationModel.length == 0 || this.demoSampleAllocationModel == null) {\r\n this.toastr.error('No data found for submission.');\r\n this.loader = 'none';\r\n //this.displayReject = 'none';\r\n return false;\r\n\r\n }\r\n this.loader = 'block';\r\n this.isSubmitted = \"true\"\r\n this.displayReject = 'none';\r\n this.demoSampleAllocationService.submitDemoSampleAllocationData(this.demoSampleAllocationModel, this.userId, this.roleId, this.commaSeperatedReqType, this.isSubmitted,year)\r\n .subscribe((resData: any) => {\r\n\r\n if (resData.data[0].result == 'FAIL') {\r\n this.toastr.error(resData.data[0].errordescription);\r\n this.defaultValue = 'none';\r\n this.loader = 'none';\r\n } else {\r\n this.toastr.success(resData.data[0].errordescription);\r\n this.defaultValue = 'none';\r\n this.loader = 'none';\r\n }\r\n this.file.nativeElement.value = '';\r\n this.displayReject = 'none';\r\n this.loader = 'none';\r\n this.getDemoSampleAllocationDetails();\r\n\r\n this.loader = 'none';\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some problem occured,please try again later.');\r\n });\r\n\r\n\r\n }\r\n closePopup(commentModal: string) {\r\n this.displayReject = 'none';\r\n this.displayEdit = 'none';\r\n }\r\n openCommentPopup() {\r\n this.displayReject = 'block';\r\n }\r\n resetData() {\r\n this.defaultValue = 'none';\r\n this.demoSampleAllocationModel = [];\r\n this.model = [];\r\n if (this.requirmentType != undefined) {\r\n this.requirmentType.selectedItems = [];\r\n }\r\n if (this.sbu != undefined) {\r\n this.sbu.selectedItems = [];\r\n }\r\n if (this.division != undefined) {\r\n this.division.selectedItems = [];\r\n }\r\n if (this.zone != undefined) {\r\n this.zone.selectedItems = [];\r\n }\r\n if (this.regionSelect != undefined) {\r\n this.regionSelect.selectedItems = [];\r\n }\r\n if (this.roleCodeModel != undefined) {\r\n this.roleCodeModel.selectedItems = [];\r\n }\r\n if (this.employeeSelect != undefined) {\r\n this.employeeSelect.selectedItems = [];\r\n }\r\n if (this.productSelect != undefined) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n EditRow(stock: any, index: number) {\r\n //console.log(stock);\r\n \r\n this.loader = 'block';\r\n \r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.demoSampleAllocationService.GetDemoSampleData(stock.allocationId, stock.requirementType,year)\r\n .subscribe((resData: any) => {\r\n if (resData.status && resData.data != null) {\r\n this.editStockIn.requestNo = resData.data.requestNo;\r\n this.editStockIn.rowNum = resData.data.rowNum;\r\n this.editStockIn.allocationId = stock.allocationId;\r\n // this.editStockIn.ammName = resData.data.ammName;\r\n // this.editStockIn.product = resData.data.product;\r\n // this.editStockIn.miomdoUserID = resData.data.miomdoUserID;\r\n // this.editStockIn.nameOfMIOMDO = resData.data.nameOfMIOMDO;\r\n // this.editStockIn.designation = resData.data.designation;\r\n // this.editStockIn.mieUserID = resData.data.mieUserID;\r\n // this.editStockIn.nameOfMIE = resData.data.nameOfMIE;\r\n // this.editStockIn.ammName = stock.ammName;\r\n this.editStockIn.ammName =resData.data.ammName;\r\n //resData.data.ammName\r\n this.editStockIn.product = stock.product;\r\n this.editStockIn.miomdoUserID = resData.data.miomdoUserID;\r\n // this.editStockIn.nameOfMIOMDO = stock.nameOfMIOMDOng ;\r\n this.editStockIn.nameOfMIOMDO = resData.data.nameOfMIOMDO;\r\n //resData.data.nameOfMIOMDO\r\n this.editStockIn.designation = stock.designation;\r\n this.editStockIn.mieUserID = stock.mieUserID;\r\n this.editStockIn.nameOfMIE =stock.nameOfMIE;\r\n\r\n this.editStockIn.packSize = resData.data.packsize;\r\n this.editStockIn.packSizeInt = resData.data.packSizeInt;\r\n this.editStockIn.jan = resData.data.jan;\r\n this.editStockIn.feb = resData.data.feb;\r\n this.editStockIn.mar = resData.data.mar;\r\n this.editStockIn.apr = resData.data.apr;\r\n this.editStockIn.may = resData.data.may;\r\n this.editStockIn.jun = resData.data.jun;\r\n this.editStockIn.jul = resData.data.jul;\r\n this.editStockIn.aug = resData.data.aug;\r\n this.editStockIn.sep = resData.data.sep;\r\n this.editStockIn.oct = resData.data.oct;\r\n this.editStockIn.nov = resData.data.nov;\r\n this.editStockIn.dec = resData.data.dec;\r\n this.sumOfPackOfOneRow = this.editStockIn.jan+this.editStockIn.feb+this.editStockIn.mar+this.editStockIn.apr\r\n +this.editStockIn.may+this.editStockIn.jun+this.editStockIn.jul+this.editStockIn.aug+this.editStockIn.sep\r\n +this.editStockIn.oct+this.editStockIn.nov+this.editStockIn.dec;\r\n this.editStockIn.reqType = resData.data.requirementType;\r\n this.editStockIn.totalQtyToDispatch = resData.data.totalQTYToDispatch;\r\n this.editStockIn.totalRemainingQTY = resData.data.totalRemainingQTY;\r\n this.totalRemainingQuantity = this.editStockIn.totalRemainingQTY;\r\n this.editStockIn.remaining = resData.data.totalRemaining;\r\n this.editStockIn.status = resData.data.status;\r\n // this.editStockIn.allocatedDate = this.datePipe.transform(resData.data.allocatedDate, 'dd/MMM/yyyy hh:mm a');\r\n // this.editStockIn.dispatchedDate = this.datePipe.transform(resData.data.dispatchedDate, 'dd/MMM/yyyy hh:mm a');\r\n this.editStockIn.allocatedDate = this.datePipe.transform(resData.data.allocatedDate, 'dd/MMM/yyyy');\r\n this.editStockIn.dispatchedDate = this.datePipe.transform(resData.data.dispatchedDate, 'dd/MMM/yyyy');\r\n // this.editStockIn.oldtotalQtyToDispatch = resData.data.totalQTYToDispatch;\r\n //this.editStockIn.oldtotalQtyToDispatch = resData.data.totalRemainingQTY.toFixed(2);\r\n this.editStockIn.oldtotalQtyToDispatch = parseFloat(resData.data.finalApprovedQTY).toFixed(2);\r\n \r\n\r\n\r\n\r\n\r\n if (resData.data.packsize.indexOf(\"LTR\") !== -1 || resData.data.packsize.indexOf(\"LT\") !== -1 || resData.data.packsize.indexOf(\"KG\") !== -1) {\r\n // this.editStockIn.remainingQtyPack = parseInt(Math.ceil(parseFloat(resData.data.totalRemainingQTY) / parseInt(resData.data.packSizeInt)).toString());\r\n this.editStockIn.remainingQtyPack = parseInt((parseFloat(resData.data.totalRemainingQTY) / parseInt(resData.data.packSizeInt)).toString());\r\n }\r\n else {\r\n // this.editStockIn.remainingQtyPack = parseInt(Math.ceil(parseFloat(resData.data.totalRemainingQTY) * 1000 / parseInt(resData.data.packSizeInt)).toString());\r\n this.editStockIn.remainingQtyPack = parseInt((parseFloat(resData.data.totalRemainingQTY) * 1000 / parseInt(resData.data.packSizeInt)).toString());\r\n }\r\n\r\n this.displayEdit = \"block\";\r\n }\r\n else {\r\n //this.toastr.error('Please submit the demo sample allocation.');\r\n }\r\n\r\n\r\n this.loader = 'none';\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some problem occured,please try again later.');\r\n });\r\n\r\n // console.log(index)\r\n // console.log(stock)\r\n // console.log(this.model)\r\n // this.editStockIn = stock;\r\n // this.tempStock = { ...stock };\r\n // // this.editStockIn.push(stock);\r\n // //this.editStockIn = this.DeepCopy(stock);\r\n // console.log(this.editStockIn)\r\n // this.editStockIn.rowNum = index;\r\n // this.editStockIn.ammName = this.editStockIn.ammName;\r\n // this.editStockIn.product = this.editStockIn.product;\r\n // this.editStockIn.miomdoUserID = this.editStockIn.miomdoUserID;\r\n // this.editStockIn.nameOfMIOMDO = this.editStockIn.nameOfMIOMDO;\r\n // this.editStockIn.designation = this.editStockIn.designation;\r\n // this.editStockIn.mieUserID = this.editStockIn.mieUserID;\r\n // this.editStockIn.nameOfMIE = this.editStockIn.nameOfMIE;\r\n // this.editStockIn.packSize = this.editStockIn.packSize;\r\n // this.editStockIn.jan = this.editStockIn.jan;\r\n // this.editStockIn.feb = this.editStockIn.feb;\r\n // this.editStockIn.mar = this.editStockIn.mar;\r\n // this.editStockIn.apr = this.editStockIn.apr;\r\n // this.editStockIn.may = this.editStockIn.may;\r\n // this.editStockIn.jun = this.editStockIn.jun;\r\n // this.editStockIn.jul = this.editStockIn.jul;\r\n // this.editStockIn.aug = this.editStockIn.aug;\r\n // this.editStockIn.sep = this.editStockIn.sep;\r\n // this.editStockIn.oct = this.editStockIn.oct;\r\n // this.editStockIn.nov = this.editStockIn.nov;\r\n // this.editStockIn.dec = this.editStockIn.dec;\r\n // this.editStockIn.totalQtyToDispatch = this.editStockIn.totalQtyToDispatch;\r\n // // if (this.editStockIn.totalRemainingQTY == 0) {\r\n // // this.editStockIn.totalRemainingQTY = this.editStockIn.finalApprovedQTY;\r\n // // } else {\r\n // // this.editStockIn.totalRemainingQTY = this.editStockIn.totalRemainingQTY;\r\n // // }\r\n // this.editStockIn.totalRemainingQTY = this.editStockIn.totalRemainingQTY;\r\n // this.originalRemainQTY = this.editStockIn.totalRemainingQTY;\r\n // this.editStockIn.status = this.editStockIn.status;\r\n // this.editStockIn.allocatedDate = this.datePipe.transform(this.editStockIn.allocatedDate, 'dd/MMM/yyyy hh:mm a');\r\n // this.editStockIn.dispatchedDate = this.datePipe.transform(this.editStockIn.dispatchedDate, 'dd/MMM/yyyy hh:mm a');\r\n\r\n }\r\n DeepCopy(obj: any): any {\r\n let clonedObject;\r\n\r\n if (obj === null || typeof obj !== 'object') {\r\n return obj;\r\n }\r\n if (obj instanceof Array) {\r\n clonedObject = [];\r\n for (let i = 0; i < obj.length; i++) {\r\n clonedObject[i] = this.DeepCopy(obj[i]);\r\n }\r\n return clonedObject;\r\n }\r\n if (obj instanceof Date) {\r\n clonedObject = new Date(obj.valueOf());\r\n return clonedObject;\r\n }\r\n if (obj instanceof RegExp) {\r\n clonedObject = RegExp(obj.source, obj.flags);\r\n return clonedObject;\r\n }\r\n if (obj instanceof Object) {\r\n clonedObject = new obj.constructor();\r\n for (const attr in obj) {\r\n if (obj.hasOwnProperty(attr)) {\r\n clonedObject[attr] = this.DeepCopy(obj[attr]);\r\n }\r\n }\r\n return clonedObject;\r\n }\r\n }\r\n saveDemoSampleAllocationData() {\r\n let sum = 0;\r\n const tableElement = this.table.nativeElement;\r\n // const inputs = tableElement.querySelectorAll('input[type=\"number\"]');\r\n //const inputs = Array.from(tableElement.querySelectorAll('input[type=\"number\"]')) as HTMLInputElement[];\r\n const inputs = Array.from(document.querySelectorAll('input.submitdisable')) as HTMLInputElement[];\r\n sum = inputs\r\n .filter((input) => !input.disabled) \r\n .reduce((acc, input) => acc + (parseFloat(input.value) || 0), 0);\r\n console.log('Sum:', sum);\r\n if(sum===0)\r\n {\r\n this.toastr.error('Please Enter Number of Packs.');\r\n this.loader = 'none';\r\n return;\r\n }\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n this.demoSampleAllocationModel = this.demoSampleAllocationModel.filter(x => x.allocationId==this.editStockIn.allocationId); \r\n\r\n this.demoSampleAllocationModel[0].jan = this.editStockIn.jan;\r\n this.demoSampleAllocationModel[0].feb = this.editStockIn.feb;\r\n this.demoSampleAllocationModel[0].mar = this.editStockIn.mar;\r\n this.demoSampleAllocationModel[0].apr = this.editStockIn.apr;\r\n this.demoSampleAllocationModel[0].may = this.editStockIn.may;\r\n this.demoSampleAllocationModel[0].jun = this.editStockIn.jun;\r\n this.demoSampleAllocationModel[0].jul = this.editStockIn.jul;\r\n this.demoSampleAllocationModel[0].aug = this.editStockIn.aug;\r\n this.demoSampleAllocationModel[0].sep = this.editStockIn.sep;\r\n this.demoSampleAllocationModel[0].oct = this.editStockIn.oct;\r\n this.demoSampleAllocationModel[0].nov = this.editStockIn.nov;\r\n this.demoSampleAllocationModel[0].dec = this.editStockIn.dec;\r\n this.demoSampleAllocationModel[0].totalQtyToDispatch = this.editStockIn.totalQtyToDispatch;\r\n this.demoSampleAllocationModel[0].ammName = this.editStockIn.ammName;\r\n this.demoSampleAllocationModel[0].miomdoUserID= this.editStockIn.miomdoUserID\r\n this.demoSampleAllocationModel[0].totalRemainingQTY = parseFloat(this.editStockIn.totalRemainingQTY).toFixed(2);\r\n\r\n if (this.demoSampleAllocationModel == undefined || this.demoSampleAllocationModel.length == 0 || this.demoSampleAllocationModel == null) {\r\n this.toastr.error('No data found for submission.');\r\n this.loader = 'none';\r\n //this.displayReject = 'none';\r\n return false;\r\n\r\n }\r\n this.loader = 'block';\r\n this.isSubmitted = \"edit\"\r\n this.displayReject = 'none';\r\n this.displayEdit = 'none';\r\n\r\n this.demoSampleAllocationModel[0].rowNum = this.editStockIn.allocationId;\r\n this.demoSampleAllocationModel[0].ammName = this.editStockIn.ammName;\r\n\r\n // this.demoSampleAllocationService.UpdateSubmitDemoSampleAllocationData(this.editStockIn.requestNo, this.editStockIn.product, this.demoSampleAllocationModel[0].region,this.demoSampleAllocationModel[0].miomdoUserID)\r\n // .subscribe((resData: any) => {\r\n // if (resData.data == 1) {\r\n //this.demoSampleAllocationService.submitDemoSampleAllocationData(this.editStockIn, this.userId, this.roleId, this.commaSeperatedReqType, this.isSubmitted,year)\r\n // this.demoSampleAllocationService.submitDemoSampleAllocationData(this.demoSampleAllocationModel, this.userId, this.roleId, this.commaSeperatedReqType, this.isSubmitted,year)\r\n \r\n\r\n this.demoSampleAllocationService.submitDemoSampleAllocationData(this.demoSampleAllocationModel, this.userId, this.roleId, this.commaSeperatedReqType, this.isSubmitted,year)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n if(resData.message== \"Success\")\r\n {\r\n this.toastr.success(\"Allocation done successfully\");\r\n this.defaultValue = 'none';\r\n this.loader = 'none';\r\n\r\n }\r\n else{\r\n this.toastr.error(resData.message);\r\n this.defaultValue = 'none';\r\n this.loader = 'none';\r\n }\r\n \r\n } else {\r\n this.toastr.success(resData.message);\r\n this.defaultValue = 'none';\r\n this.loader = 'none';\r\n }\r\n this.getDemoSampleAllocationDetails();\r\n this.file.nativeElement.value = '';\r\n this.displayReject = 'none';\r\n this.loader = 'none';\r\n\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some problem occured,please try again later.');\r\n });\r\n // } else {\r\n // this.toastr.error('Some problem occured,please try again later.');\r\n // this.defaultValue = 'none';\r\n // this.loader = 'none';\r\n\r\n // this.getDemoSampleAllocationDetails();\r\n // this.file.nativeElement.value = '';\r\n // this.displayReject = 'none';\r\n // this.loader = 'none';\r\n // }\r\n\r\n\r\n // }, error => {\r\n // this.file.nativeElement.value = '';\r\n // this.loader = 'none';\r\n // this.toastr.error('Some problem occured,please try again later.');\r\n // });\r\n\r\n\r\n }\r\n @ViewChild('poptable') table!: ElementRef;\r\n textChange(newValue, i, key, previousValue) {\r\n let nwValue = newValue.target.value;\r\n if (nwValue == '') {\r\n nwValue = 0;\r\n }\r\n \r\n let item = this.model.find(obj => obj.rowNum === parseInt(i, 10)).product;\r\n let totalRemaining= this.totalNoOfPacks.find(obj => obj.Product === item).Packs;\r\n \r\n this.totalDispatchedQty(nwValue, i, totalRemaining)\r\n }\r\n totalDispatchedQty(nwValue: any, index: any, remaining: any) {\r\n\r\n let packSize = this.editStockIn.packSize;\r\n // let packSizeInt = parseInt(this.editStockIn.packSizeInt); Commented for pcksize in decimal\r\n let packSizeInt = parseFloat(this.editStockIn.packSizeInt);\r\n\r\n if (this.editStockIn.jan == null || this.editStockIn.jan == 'undefined') {\r\n this.editStockIn.jan = 0;\r\n }\r\n else if (this.editStockIn.feb == null || this.editStockIn.feb == 'undefined') {\r\n this.editStockIn.feb = 0;\r\n }\r\n else if (this.editStockIn.mar == null || this.editStockIn.mar == 'undefined') {\r\n this.editStockIn.mar = 0;\r\n }\r\n else if (this.editStockIn.apr == null || this.editStockIn.apr == 'undefined') {\r\n this.editStockIn.apr = 0;\r\n }\r\n else if (this.editStockIn.may == null || this.editStockIn.may == 'undefined') {\r\n this.editStockIn.may = 0;\r\n }\r\n else if (this.editStockIn.jun == null || this.editStockIn.jun == 'undefined') {\r\n this.editStockIn.jun = 0;\r\n }\r\n else if (this.editStockIn.jul == null || this.editStockIn.jul == 'undefined') {\r\n this.editStockIn.jul = 0;\r\n }\r\n else if (this.editStockIn.aug == null || this.editStockIn.aug == 'undefined') {\r\n this.editStockIn.aug = 0;\r\n }\r\n else if (this.editStockIn.sep == null || this.editStockIn.sep == 'undefined') {\r\n this.editStockIn.sep = 0;\r\n }\r\n else if (this.editStockIn.oct == null || this.editStockIn.oct == 'undefined') {\r\n this.editStockIn.oct = 0;\r\n }\r\n else if (this.editStockIn.nov == null || this.editStockIn.nov == 'undefined') {\r\n this.editStockIn.nov = 0;\r\n }\r\n else if (this.editStockIn.dec == null || this.editStockIn.dec == 'undefined') {\r\n this.editStockIn.dec = 0;\r\n }\r\n\r\n\r\n let totalPacksToDispatch= (parseFloat(this.editStockIn.jan) + parseFloat(this.editStockIn.feb) + parseFloat(this.editStockIn.mar) +\r\n parseFloat(this.editStockIn.apr) + parseFloat(this.editStockIn.may) + parseFloat(this.editStockIn.jun) +\r\n parseFloat(this.editStockIn.jul) + parseFloat(this.editStockIn.aug) + parseFloat(this.editStockIn.sep) +\r\n parseFloat(this.editStockIn.oct) + parseFloat(this.editStockIn.nov) + parseFloat(this.editStockIn.dec));\r\n\r\n\r\n // if (packSize.indexOf(\"LTR\") !== -1 || packSize.indexOf(\"LT\") !== -1 || packSize.indexOf(\"KG\") !== -1) {\r\n // //this.editStockIn.totalRemainingQTY = parseFloat(remaining) - parseFloat(this.editStockIn.totalQtyToDispatch);\r\n // this.editStockIn.totalRemainingQTY = remaining - parseInt(nwValue);\r\n // this.editStockIn.remainingQtyPack = this.editStockIn.totalRemainingQTY;\r\n \r\n // }\r\n // else {\r\n // // let valuePackRemaining = remaining * 1000 / 25;\r\n // let valuePack = parseInt(nwValue) * packSizeInt / 1000;\r\n // this.editStockIn.totalRemainingQTY = remaining - valuePack;\r\n // this.editStockIn.remainingQtyPack = this.editStockIn.remainingQtyPack -parseInt(nwValue)\r\n // }\r\n if(totalPacksToDispatch > this.sumOfPackOfOneRow){\r\n remaining = (totalPacksToDispatch - this.sumOfPackOfOneRow) + remaining;\r\n }else if(totalPacksToDispatch < this.sumOfPackOfOneRow){\r\n remaining = remaining - (this.sumOfPackOfOneRow - totalPacksToDispatch)\r\n }\r\n // this.editStockIn.totalRemainingQTY = remaining - totalPacksToDispatch * packSizeInt;\r\n // this.editStockIn.remainingQtyPack = remaining/packSizeInt - totalPacksToDispatch;\r\n\r\n if (packSize.indexOf(\"LTR\") !== -1 || packSize.indexOf(\"LT\") !== -1 || packSize.indexOf(\"KG\") !== -1) {\r\n this.editStockIn.remainingQtyPack = parseInt(Math.ceil(parseFloat(this.editStockIn.oldtotalQtyToDispatch) / packSizeInt).toString()) - remaining;\r\n this.editStockIn.totalRemainingQTY = this.editStockIn.remainingQtyPack * packSizeInt;\r\n }\r\n else {\r\n this.editStockIn.remainingQtyPack = parseInt(Math.ceil(parseFloat(this.editStockIn.oldtotalQtyToDispatch) * 1000 / packSizeInt).toString()) - remaining;\r\n this.editStockIn.totalRemainingQTY = ((this.editStockIn.remainingQtyPack * packSizeInt)/1000).toString();\r\n }\r\n\r\n this.editStockIn.totalRemainingQTY = parseFloat(this.editStockIn.totalRemainingQTY).toFixed(2);\r\n\r\n // if (packSize.indexOf(\"LTR\") !== -1 || packSize.indexOf(\"LT\") !== -1 || packSize.indexOf(\"KG\") !== -1) {\r\n // this.editStockIn.remainingQtyPack = this.editStockIn.totalRemainingQTY;\r\n // }\r\n // else {\r\n // //this.editStockIn.remainingQtyPack = ((this.editStockIn.totalRemainingQTY * 1000)/packSizeInt).toFixed(2);\r\n // this.editStockIn.remainingQtyPack = (Math.floor((this.editStockIn.totalRemainingQTY * 1000) / packSizeInt));\r\n // }\r\n\r\n if (this.editStockIn.totalRemainingQTY < 0) {\r\n this.toastr.error('Total No. of Packs to Dispatch QTY can not be greater then Remaining QTY');\r\n this.isPopDisable = true;\r\n return false;\r\n }\r\n else {\r\n this.isPopDisable = false;\r\n }\r\n }\r\n\r\n isAlphaNumeric(event: any) {\r\n var newKeyCode = event.keyCode;\r\n return ((newKeyCode > 64 && newKeyCode < 91) || (newKeyCode > 96 && newKeyCode < 123) || (newKeyCode == 8 || newKeyCode == 32) || (newKeyCode >= 48 && newKeyCode <= 57) || newKeyCode == 59);\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.demoSampleAllocationModel.length, page, pageSize);\r\n // this.model = this.demoSampleAllocationModel.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.demoSampleAllocationModel.length, page, pageSize);\r\n // this.model = this.demoSampleAllocationModel.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.model = 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 // onSelectPaging(val: any): void {\r\n // if (val == \"0\") {\r\n // this.model = this.demoSampleAllocationModel;\r\n // this.pageSetting = 10;\r\n // }\r\n // else {\r\n // this.pageSetting = val == \"1\" ? 20 : 30;\r\n // }\r\n // this.modalSetting = 0;\r\n // this.setPage(1, this.pageSetting);\r\n // }\r\n // END :For Pagination\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

Demo Sample MIS

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DropDownRequest, DropDownResponse } from 'src/app/Models/DropDwon/DropDownRequest';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { DropDownService } from 'src/app/Services/DropDown/dropdownService';\r\nimport { ReportsService } from 'src/app/Services/Reports/reports.service';\r\n\r\n@Component({\r\n selector: 'app-demo-sample-mis',\r\n templateUrl: './demo-sample-mis.component.html',\r\n styleUrls: ['./demo-sample-mis.component.css']\r\n})\r\nexport class DemoSampleMisComponent implements OnInit {\r\n\r\n @ViewChild('yearSelect') yearSelect;\r\n @ViewChild('year') year;\r\n public userId: string;\r\n public roleId: string;\r\n public loader: string=\"none\";\r\n public userName: string;\r\n \r\n public YearSettings= {};\r\n public YearSelectedItem: YearModel[];\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n \r\n defaultValue = 'none';\r\n constructor(private ddlServices: DropDownService,private toastr: ToastrService, private reportService: ReportsService ) \r\n {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId=localStorage.getItem('dsu_roleId');\r\n }\r\n \r\n \r\n ngOnInit() {\r\n debugger\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n this.ddlResponse.year=response.data.year;\r\n const years=response.data.year;\r\n if (years.length >= 2) {\r\n this.ddlResponse.year = years.slice(-2);\r\n } else {\r\n this.ddlResponse.year = years;\r\n }\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n this.YearSetting();\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n this.YearSetting();\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 DownloadExcel() {\r\n debugger\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let roleCode=localStorage.getItem('dsu_roleCode');\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n let region = '';\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.reportService.DemoSampleMISReport(this.userId,roleCode,year)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_\" + year + \"_DemoSamplesUtilizationMISReport_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n }, err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".example-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n min-width: 300px;\\r\\n }\\r\\n \\r\\n .example-header {\\r\\n min-height: 64px;\\r\\n padding: 8px 24px 0;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-table {\\r\\n overflow-x: auto;\\r\\n max-height: 500px;\\r\\n }\\r\\n \\r\\n .mat-header-cell {\\r\\n text-align: left;\\r\\n color: rgba(0, 0, 0, 0.8);\\r\\n font-size: 16px;\\r\\n padding: 5px 10px;\\r\\n background: #eeeeee;\\r\\n font-weight: 600;\\r\\n}\\r\\n \\r\\n mat-cell, mat-footer-cell, mat-header-cell {\\r\\n text-align: left;\\r\\n padding: 5px 10px !important;\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n \\r\\n .mat-sort-header-button {\\r\\n text-align: left !important;\\r\\n}\\r\\n \\r\\n mat-table {\\r\\n border: 1px solid #d4d4d4;\\r\\n background: #fff;\\r\\n}\\r\\n \\r\\n mat-footer-row, mat-header-row, mat-row{ border: 1px solid #d4d4d4 !important; background: #fff;}\\r\\n \\r\\n .mat-input-element {\\r\\n border: 1px solid #d4d4d4;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n padding: 0 0 !important;\\r\\n width: 300px;\\r\\n margin: 25px 0 20px 0;\\r\\n}\\r\\n \\r\\n .title-text{ font-weight: bold; font-size: 16px;}\\r\\n \\r\\n button.mat-sort-header-button {\\r\\n text-align: left;\\r\\n}\\r\\n \\r\\n .head-tag{ text-align: left !important;}\\r\\n \\r\\n .right-text2 button.mat-sort-header-button {\\r\\n text-align: right;\\r\\n width: 200px;\\r\\n}\\r\\n \\r\\n .nc{\\r\\n text-align:left;\\r\\n padding: 15px; \\r\\n }\\r\\n \\r\\n .mat-select-panel{\\r\\n min-width: 112px!important;\\r\\n position: fixed;\\r\\n top: 822px;\\r\\n right: 264px;\\r\\n background-color: #fff;\\r\\n }\\r\\n \\r\\n .nc[_ngcontent-c1] {\\r\\n text-align: left;\\r\\n padding: 6px;\\r\\n border: 1px solid #e0e0e0;\\r\\n color: rgba(0, 0, 0, 0.6)!important;\\r\\n border-top: none!important;\\r\\n}\\r\\n \\r\\n .mat-input-element[_ngcontent-c1] {\\r\\n padding: 0 10px!important;\\r\\n}\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n

Demo Sample Cost Approval

\\r\\n
\\r\\n Upload Excel\\r\\n \\r\\n Download Excel\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Download\\r\\n 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\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Qty in Kg/Ltr\\r\\n

\\r\\n *Please note if you approve any request with 0 quantity, it will be rejected.\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
RequestIdRMH/RBM NameProductCropPack SizeWarehouse LocationRequirement TypeRequirement YearRequested QtyPending for ApprovalLast Production Qty ApprovedApproved QtyTotal CostStatusRemarksFMC Supply Team StatusFMC Supply Team Remark
No Record Found
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{dsCost.requestId}}{{dsCost.rmhName}}{{dsCost.product}}{{dsCost.cropName}}{{dsCost.packSize}}{{dsCost.whName}}{{dsCost.requirementType}}{{dsCost.year}}{{ConvertToCurrency(dsCost.requestedQTY)}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
{{ConvertToCurrency(dsCost.finalApproveQTY)}}
\\r\\n
\\r\\n {{ConvertToCurrency(dsCost.lastProductionApprovedQty)}}\\r\\n \\r\\n {{ConvertToCurrency(dsCostObj[i].totalApprovedQty)}}\\r\\n {{ConvertToCurrency(dsCostObj[i].totalCost)}}\\r\\n {{dsCost.status}}\\r\\n
\\r\\n \\r\\n
\\r\\n
{{dsCostObj[i].remarks}}
\\r\\n
{{dsCost.fmcstStatus}}{{dsCost.fmcstRemark}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Download Excel\\r\\n
\\r\\n
\\r\\n Download\\r\\n Excel\\r\\n
\\r\\n
Qty in Kg/Ltr
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
{{ConvertToCurrency(dsCost.finalApproveQTY)}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
RMH NameProductCropWarehouse LocationRequirement TypeRequested QTYStock AvailableFinal Production QTY ApprovedTotal CostRemarks
No Record Found
{{dsCost.rmhName}}{{dsCost.product}}{{dsCost.cropName}}{{dsCost.whName}}{{dsCost.requirementType}}{{ConvertToCurrency(dsCost.requestedQTY)}}\\r\\n {{ConvertToCurrency(dsCost.stockAvailable)}}\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
{{ConvertToCurrency(dsCost.requestedQTY)}}\\r\\n {{ConvertToCurrency(dsCostObj[i].totalCost)}}\\r\\n {{dsCostObj[i].remarks}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
Cost Approval History
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Requirement Type \\r\\n {{row.requirementType}} \\r\\n \\r\\n \\r\\n \\r\\n RMH Name\\r\\n {{row.rmhName}} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Product Name \\r\\n {{row.productName}} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Final Product QTY Approved \\r\\n {{ConvertToCurrency(row.finalProductQtyApproved)}} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Approved On \\r\\n {{row.approvedOn}} \\r\\n \\r\\n \\r\\n \\r\\n Comment \\r\\n {{row.comment}} \\r\\n \\r\\n \\r\\n Requirement Year \\r\\n {{row.year}} \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No Record Found
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Do you want to approve data?

\\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 { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { RegionModel, RMHModel } from '../../models/DropDwon/RegionModel';\r\nimport { ZoneModel } from '../../models/DropDwon/ZoneModel';\r\nimport { DivisionModel } from '../../models/DropDwon/DvisionModel';\r\nimport { SBUModel } from '../../models/DropDwon/SBUModel';\r\nimport { DropDownRequest, DropDownResponse, WHLocationModel, SDModel, RequirmentTypeModel, StatusModel } from '../../models/DropDwon/DropDownRequest';\r\nimport { productModel } from '../../models/DropDwon/ProductModel';\r\nimport { CropModel } from '../../models/DropDwon/CropModel';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DSCostApprovalService } from '../../Services/DSCostApproval/ds-costapproval.service';\r\nimport { SaveCostApproval } from '../../Models/DSCostApproval/SaveCostApproval';\r\nimport { parse } from 'querystring';\r\nimport {MatPaginator, MatSort, MatTableDataSource} from '@angular/material';\r\nimport { $ } from 'protractor';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { P } from '@angular/core/src/render3';\r\n\r\n\r\n@Component({\r\n selector: 'app-ds-cost-approval',\r\n templateUrl: './ds-cost-approval.component.html',\r\n styleUrls: ['./ds-cost-approval.component.css']\r\n})\r\nexport class DsCostApprovalComponent implements OnInit {\r\n\r\n displayedColumns = ['requirementType','rmhName', 'productName', 'finalProductQtyApproved','approvedOn', 'comment','year'];\r\n dataSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('sd') sd;\r\n @ViewChild('warehouseLocation') warehouseLocation;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('CropSelect') CropSelect;\r\n @ViewChild('cropSelect') cropSelect;\r\n //@ViewChild('requirmentType') requirmentType;\r\n @ViewChild('status') status;\r\n @ViewChild('file') file;\r\n @ViewChild('yearSelect') yearSelect;\r\n @ViewChild('year') year;\r\n \r\n\r\n public requirmentType:any=[];\r\n public dropdownMonthSettings: {};\r\n\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n\r\n public CropSettings = {};\r\n public CropSelectedItem: CropModel[];\r\n\r\n public RMHSettings = {};\r\n public RMHSelectedItems: RMHModel[];\r\n\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n \r\n public YearSettings= {};\r\n public YearSelectedItem: YearModel[];\r\n\r\n public userId: string;\r\n public roleId: string;\r\n public FlagDropDown: string;\r\n\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n\r\n public RequirmentTypeSettings = {};\r\n public RequirmentTypeSettingsForAdmin = {};\r\n public requirmentTypeDdl: RequirmentTypeModel[];\r\n public requirmentDllValue: any;\r\n\r\n public WHLocationSettings = {};\r\n public whLocationDdl: WHLocationModel[];\r\n public whLocationDDlValue: any;\r\n\r\n approvefinalReqDetails: any[] = [];\r\n reqType: string;\r\n regionCode: string;\r\n wareHouseLocation: string;\r\n selectedReqType: string;\r\n selectedRegion: any[] = [];\r\n selectedSbu: any[] = [];\r\n selectedDivision: any[] = [];\r\n selectedZone: any[] = [];\r\n commaSeperatedSbus: string;\r\n commaSeperatedDivisions: string;\r\n commaSeperatedZones: string;\r\n commaSeperatedRegions: string;\r\n commaSeperatedSDs: string;\r\n selectedSDs: any[] = [];\r\n public SDSettings = {};\r\n public WarehouseLocationSettings = {};\r\n public loader: string = \"none\";\r\n public files: File[] = [];\r\n public fileName: string = '';\r\n public whlocationList: WHLocationModel[];\r\n\r\n defaultView: boolean = true;\r\n tableView: boolean = false;\r\n dsCostObj: any = [];\r\n dsCostInventoryObj: any = [];\r\n dsCostHistoryObj: any = [];\r\n singleSaveCostApprove: SaveCostApproval = new SaveCostApproval();\r\n selectedSaveCostApprove: any[] = [];\r\n newSaveCostApprove: SaveCostApproval = new SaveCostApproval();\r\n userName: string;\r\n approveEnable = false;\r\n finalApprove: any = [];\r\n displayReject = 'none';\r\n calStockAvaliable: any = [];\r\n defaultValue = 'none';\r\n selectedStatus: string;\r\n approveDisable: any = false;\r\n public StatusSettings = {};\r\n public statusDdl: StatusModel[];\r\n public statusDllValue: any;\r\n tabName: string = \"Volume\";\r\n defaultValueCrop = 'none';\r\n dsCostObjCrop: any = [];\r\n defaultValueProduct = 'none';\r\n isProduct: boolean = true;\r\n \r\n//deepanshu code start\r\ncurrentPageForHistory: any;\r\nlastPageForHistory:any;\r\ntotalRecordForHistory:any;\r\nrecordsOnCurrentPageForHistory: number = 0;\r\nstartRecordForHistory:number=1;\r\n\r\nisDisabledPreviousForHistory=true;\r\nisDisabledNextForHistory=true;\r\nendRecordForHistory: number;\r\n//deepansh\r\n\r\n constructor(private ddlServices: DropDownService, private toastr: ToastrService, private dsCostServices: DSCostApprovalService) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"44\") ? \"DEFAULT\" : \"DEFAULT\";\r\n \r\n\r\n }\r\n \r\n\r\n ngOnInit() {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.tabName = 'ProductWise';\r\n\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n this.ddlResponse.year=response.data.year;\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 : this.ddlResponse.year[0].currentrequirementYear,\r\n text: this.ddlResponse.year[0].currentrequirementYear\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n // for(var i=0;i {\r\n });\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RegionSetting();\r\n // this.requirmentTypeDdl = [{ id: 1, text: \"Annual\" }, { id: 2, text: \"Additional\" }];\r\n this.requirmentTypeDdl = [{ id: 1, text: \"H1\" },{ id: 2, text: \"H2\" }, { id: 3, text: \"Additional\" }];\r\n this.statusDdl = [{ id: 1, text: \"Approved\" }, { id: 2, text: \"Approval Pending\" }, {id:3, text:\"Partially Approved\" }, {id:4, text:\"Expired\" }, {id:5, text:\"Rejected by BM\" }];\r\n this.RequirmentTypeSetting();\r\n this.RMHSetting();\r\n this.SDSetting();\r\n this.WareHouseLocationSetting();\r\n this.CropSetting();\r\n this.ProductSetting();\r\n this.StatusSetting();\r\n this.YearSetting();\r\n //this.requirmentType.push(this.requirmentTypeDdl[0]);\r\n this.requirmentType.push({ 'id': 1, 'text': \"H1\" });\r\n this.onReqTypeSelect(this.requirmentType);\r\n \r\n \r\n \r\n }\r\n\r\n RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: true,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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\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 ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\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 //maxHeight: 197,\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 WareHouseLocationSetting() {\r\n this.WarehouseLocationSettings = {\r\n singleSelection: false,\r\n idField: 'whId',\r\n textField: 'whName',\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 Warehouse Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\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 SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone 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: true,\r\n idField: 'id',\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 RequirmentTypeSetting() {\r\n this.RequirmentTypeSettings = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'text',\r\n enableCheckAll: true,\r\n //selectAllText: 'Select All',\r\n //unSelectAllText: 'UnSelect All',\r\n allowSearchFilter: false,\r\n limitSelection: -1,\r\n clearSearchFilter: true,\r\n itemsShowLimit: 1,\r\n searchPlaceholderText: 'Search',\r\n noDataAvailablePlaceholderText: 'No Requirment Type Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n RequirmentTypeSettingForAdmin() {\r\n this.RequirmentTypeSettingsForAdmin = {\r\n singleSelection: false,\r\n idField: 'id',\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 Requirment Type Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n \r\n };\r\n }\r\n WHLocationSetting() {\r\n this.WHLocationSettings = {\r\n singleSelection: true,\r\n idField: 'WHId',\r\n textField: 'WHName',\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 Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n\r\n public onSBUSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \")\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n this.commaSeperatedSbus = '';\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onDivisionSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \");\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.selectedDivision = [];\r\n this.commaSeperatedDivisions = '';\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelectAll(items: any) {\r\n this.selectedZone = [];\r\n this.commaSeperatedZones = '';\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n SDSetting() {\r\n this.SDSettings = {\r\n singleSelection: true,\r\n idField: 'sdCode',\r\n textField: 'sdName',\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 WH Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n bindMonthDropdownSetting() {\r\n this.dropdownMonthSettings = {\r\n singleSelection: false,\r\n text: \"Select Month\",\r\n idField: 'Id',\r\n textField: 'Text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n noDataAvailablePlaceholderText: 'No Month Found'\r\n };\r\n }\r\n\r\n\r\n GetSBUWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.IsBMData=true;\r\n this.ddlRequest.SBU = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSBUHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.division = response.data.division;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.division.selectedItems = response.data.division.map(item => { return { id: item.divisionCode, text: item.divisionName } });\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n GetDivisionWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n GetZoneWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n\r\n onReqTypeSelect(item: any) {\r\n this.selectedReqType = item.text\r\n this.RequirmentTypeSetting();\r\n }\r\n\r\n onReqTypeSelectAdmin(item: any){\r\n this.selectedReqType = item.text\r\n this.RequirmentTypeSettingForAdmin();\r\n }\r\n \r\n onReqTypeDeSelect(item: any) {\r\n this.selectedReqType = '';\r\n }\r\n\r\n onStatusSelect(item: any) {\r\n this.selectedStatus = item.text\r\n this.StatusSetting();\r\n }\r\n onStatusDeSelect(item: any) {\r\n this.selectedStatus = '';\r\n }\r\n public onRegionSelect(item: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n public onRegionDeSelect(item: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n\r\n public onRegionSelectAll(items: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n }\r\n public onRegionDeSelectAll(items: any) {\r\n this.selectedRegion = [];\r\n this.commaSeperatedRegions = '';\r\n }\r\n GetRegionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRegionWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n // this.ddlResponse.rmh = response.data.rmh;\r\n if (response.data.rmh.length > 0)\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n else\r\n this.rmh.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n this.loader = 'none';\r\n });\r\n }\r\n public onRMHSelect(item: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n //this.getWHRMHWise(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelect(item: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n //this.getWHRMHWise(this.rmh.selectedItems);\r\n\r\n }\r\n\r\n public onRMHSelectAll(items: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n //this.getWHRMHWise(this.rmh.selectedItems);\r\n\r\n }\r\n public onRMHDeSelectAll(items: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n // this.getWHRMHWise(this.rmh.selectedItems);\r\n\r\n }\r\n GetRMHWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRMHWiseRegionDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n \r\n class RegionItemList{\r\n id: any;\r\n text: any;\r\n }\r\n let requiredItem: RegionItemList[] = [];\r\n var obj = {\r\n id : this.ddlResponse.region[0].regionCode,\r\n text: this.ddlResponse.region[0].regionName\r\n }\r\n requiredItem.push(obj)\r\n this.regionSelect.selectedItems = requiredItem;\r\n for(var i=0;i< this.regionSelect.selectedItems.length; i++){\r\n this.regionSelect.push(this.regionSelect.selectedItems[i].text)\r\n }\r\n this.RegionSetting(); \r\n\r\n //this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n\r\n this.loader = 'none';\r\n });\r\n }\r\n getSDRMHWise(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSDRMHWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.sd = response.data.sd;\r\n this.getWHRMHWise(this.ddlRequest.RMH, this.ddlResponse.sd)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n getWHRMHWise(filter: any, filterSD: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = filter;\r\n this.ddlRequest.SD = Array.prototype.map.call(filterSD, function (item) { return item.sdCode; }).join(\",\");\r\n this.ddlServices.getWHRMHWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n GetWarehouseLocationData() {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = 'TRUE';\r\n this.ddlServices.getWarehouseLocationDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetSDData() {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlServices.getSDDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.sd = response.data.sd;\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\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 GetCostApproval(currentPageForHistory: number) {\r\n debugger;\r\n this.defaultValueCrop = 'none';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let rmh = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let crop = \"\";\r\n let year=0;\r\n // let requirmentType=\"\";\r\n let requirmentType=this.requirmentType[0].text;\r\n crop=Array.prototype.map.call(this.CropSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n \r\n //let crop=Array.prototype.map.call(this.cropSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // if(this.requirmentType.length>1){\r\n // requirmentType='1,2';\r\n // }\r\n // else{ \r\n // requirmentType = this.requirmentType[0].id;//Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // }\r\n\r\n let status = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let whCode = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let isValid = true;\r\n\r\n if (typeof (requirmentType) == \"undefined\" || requirmentType == '' || requirmentType==\"\") {\r\n this.toastr.error('Please select requirement type.');\r\n isValid = false;\r\n return false;\r\n }\r\n\r\n if (isValid) {\r\n if(this.tabName=='ProductWise')\r\n {\r\n this.isProduct=true;\r\n }\r\n else{\r\n this.isProduct=false;\r\n }\r\n this.approveEnable = false;\r\n this.loader = 'block';\r\n this.dsCostServices.GetCostApproval(currentPageForHistory,region, rmh, requirmentType, product, crop, this.userId, status, whCode,this.isProduct,year)\r\n .subscribe((response) => {\r\n debugger;\r\n //deepanshu code start\r\n this.loader = 'block';\r\n this.isDisabledPreviousForHistory = true;\r\n this.isDisabledNextForHistory = false;\r\n this.startRecordForHistory=1;\r\n let region=\"\";\r\n let currentpageForHistory = currentPageForHistory;\r\n //deeapnshu code end\r\n console.log(response);\r\n debugger;\r\n console.log(response.data.costapprovalmodel);\r\n if (response.status) {\r\n this.tableView = true;\r\n this.defaultView = false;\r\n debugger;\r\n this.defaultValue = 'block';\r\n this.defaultValueProduct = 'block';\r\n //this.dsCostObj = response.data;\r\n if (this.tabName == 'ProductWise') {\r\n this.dsCostObj = response.data.costapprovalmodel;\r\n this.dsCostInventoryObj = response.data.inventoryModel;\r\n this.dsCostHistoryObj = response.data.historyModel;\r\n console.log(this.dsCostHistoryObj);\r\n//deepanshu code start\r\n\r\nif(response.data == null){\r\n this.startRecordForHistory = 0;\r\n this.recordsOnCurrentPageForHistory = 0;\r\n this.totalRecordForHistory = 0;\r\n this.isDisabledNextForHistory = true;\r\n this.endRecordForHistory = 0;\r\n}\r\nelse{\r\n this.totalRecordForHistory=response.data.pdataModel[0].totalRecord\r\n this.currentPageForHistory= response.data.pdataModel[0].currentPage; \r\n this.lastPageForHistory = response.data.pdataModel[0].lastPage;\r\n this.recordsOnCurrentPageForHistory =response.data.pdataModel[0].recordOnPage\r\n this.endRecordForHistory = this.recordsOnCurrentPageForHistory;\r\n if (this.currentPageForHistory == 1)\r\n {\r\n \r\n localStorage.setItem(\"numberOfRecordsOnFirstPageForHistory\", this.recordsOnCurrentPageForHistory.toString());\r\n }\r\n if (this.currentPageForHistory > 1)\r\n {\r\n this.isDisabledPreviousForHistory = false;\r\n // this.startRecordForHistory = (this.currentPageForHistory - 1) * (approvalData.data.length) + 1;\r\n this.startRecordForHistory = (this.currentPageForHistory - 1) * parseInt(localStorage.getItem(\"numberOfRecordsOnFirstPageForHistory\"), 10) + 1;\r\n this.endRecordForHistory = this.startRecordForHistory + this.recordsOnCurrentPageForHistory - 1;\r\n }\r\n if (this.currentPageForHistory == this.lastPageForHistory || this.totalRecordForHistory == 0) {\r\n this.isDisabledNextForHistory = !this.isDisabledNextForHistory;\r\n this.recordsOnCurrentPageForHistory = this.totalRecordForHistory;\r\n }\r\n}\r\n//deepanshu code ne\r\n\r\n if(this.dsCostHistoryObj!=null){\r\n // Assign the data to the data source for the table to render\r\n this.dataSource = new MatTableDataSource(this.dsCostHistoryObj);\r\n \r\n\r\n setTimeout(() => {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n });\r\n\r\n\r\n\r\n // this.dataSource.paginator = this.paginator;\r\n // this.dataSource.sort = this.sort;\r\n }\r\n this.dataSource = new MatTableDataSource(this.dsCostHistoryObj);\r\n console.log(this.dataSource);\r\n console.log(this.dataSource.filteredData);\r\n //else{\r\n //}\r\n\r\n if(this.dsCostObj!=null){\r\n for (let i = 0; i < this.dsCostObj.length; i++) {\r\n if (this.dsCostObj[i].status != \"Approved\" && !this.dsCostObj[i].fmcstStatus.includes('Closed') && this.dsCostObj[i].status != \"Rejected by BM\") {\r\n this.approveEnable = true;\r\n break;\r\n }\r\n }\r\n }\r\n \r\n \r\n \r\n }\r\n \r\n else{\r\n this.defaultValueProduct='none';\r\n this.defaultValueCrop = 'block';\r\n this.dsCostObj = response.data.costapprovalmodel;\r\n this.dsCostInventoryObj = response.data.inventoryModel;\r\n \r\n if(this.dsCostObj!=null){\r\n for (let i = 0; i < this.dsCostObj.length; i++) {\r\n if (this.dsCostObj[i].status != \"Approved\" && !this.dsCostObj[i].fmcstStatus.includes('Closed') && this.dsCostObj[i].status != \"Rejected by BM\") {\r\n this.approveEnable = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n });\r\n }\r\n\r\n }\r\n \r\n applyFilter(filterValue) {\r\n filterValue = filterValue.trim(); // Remove whitespace\r\n filterValue = filterValue.toLowerCase(); // Datasource defaults to lowercase matches\r\n this.dataSource.filter = filterValue;\r\n }\r\n SaveCostApproval(saveCostApprove) {\r\n debugger;\r\n this.displayReject = 'none';\r\n let isValid = false;\r\n for (let i = 0; i < saveCostApprove.length; i++) {\r\n if (saveCostApprove[i].isSelected) {\r\n isValid = true;\r\n break;\r\n }\r\n }\r\n\r\n if (isValid) {\r\n this.selectedSaveCostApprove = [];\r\n this.singleSaveCostApprove = new SaveCostApproval();\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // let requirmentType=\"\";\r\n let requirmentType=this.requirmentType[0].text;\r\n // if(this.requirmentType.length>1){\r\n // requirmentType='1,2';\r\n // }\r\n // else{ \r\n // requirmentType = this.requirmentType[0].id;//Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // }\r\n debugger;\r\n //let requirmentType = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n this.loader = 'block';\r\n for (let i = 0; i < saveCostApprove.length; i++) {\r\n debugger;\r\n if (saveCostApprove[i].isSelected == true && saveCostApprove[i].status != 'Approved') {\r\n debugger;\r\n this.singleSaveCostApprove = new SaveCostApproval();\r\n\r\n this.singleSaveCostApprove.RequestId = saveCostApprove[i].requestId;\r\n this.singleSaveCostApprove.RequestDetailId=saveCostApprove[i].detailId ;\r\n this.singleSaveCostApprove.CostApprovalId = saveCostApprove[i].dsCostApprovalId;\r\n this.singleSaveCostApprove.productId=saveCostApprove[i].productId;\r\n this.singleSaveCostApprove.cropId=saveCostApprove[i].cropId;\r\n this.singleSaveCostApprove.packSize=saveCostApprove[i].packSize;\r\n this.singleSaveCostApprove.RequestedQTY = saveCostApprove[i].requestedQTY;\r\n this.singleSaveCostApprove.ApprovedQTY = saveCostApprove[i].finalApproveQTY.toString();\r\n this.singleSaveCostApprove.Remark = saveCostApprove[i].remarks;\r\n this.singleSaveCostApprove.status=saveCostApprove[i].status;\r\n this.singleSaveCostApprove.fmcstRemark = saveCostApprove[i].fmcstRemark;\r\n this.singleSaveCostApprove.fmcstStatus=saveCostApprove[i].fmcstStatus;\r\n\r\n \r\n // this.singleSaveCostApprove.Product = saveCostApprove[i].product;\r\n \r\n // this.singleSaveCostApprove.RequirementType = saveCostApprove[i].requirementType;\r\n // this.singleSaveCostApprove.RMHCode = saveCostApprove[i].rmhCode;\r\n // this.singleSaveCostApprove.RMHName = saveCostApprove[i].rmhName;\r\n \r\n // this.singleSaveCostApprove.WHLocation = saveCostApprove[i].whLocation;\r\n // this.singleSaveCostApprove.SD = saveCostApprove[i].sd;\r\n \r\n // this.singleSaveCostApprove.StockAvailable = saveCostApprove[i].stockAvailable;\r\n // this.singleSaveCostApprove.FinalQTY = saveCostApprove[i].finalQTY;\r\n \r\n // this.singleSaveCostApprove.TotalCost = parseFloat(saveCostApprove[i].totalCost).toFixed(2);\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.selectedSaveCostApprove.push(this.singleSaveCostApprove);\r\n\r\n\r\n }\r\n }\r\n this.dsCostServices.SaveCostApproval(this.selectedSaveCostApprove, this.userId, requirmentType, year)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.defaultView = false;\r\n this.tableView = false;\r\n this.approveEnable = false;\r\n //this.dsCostObj = response.data;\r\n this.toastr.success(response.message);\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n this.GetCostApproval(0);\r\n this.loader = 'none';\r\n }, error => {\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n\r\n }\r\n else {\r\n this.toastr.error('Please select RMH');\r\n }\r\n \r\n }\r\n\r\n\r\n DownloadExcel() {\r\n debugger;\r\n let requirmentType=this.requirmentType[0].text;\r\n // if(this.requirmentType.length>1){\r\n // requirmentType='1,2';\r\n // }\r\n // else{ \r\n // requirmentType = this.requirmentType[0].id;//Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // }\r\n let isValid = true;\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let rmh = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n let status = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.text; }).join(\",\");\r\n let whCode = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n if (typeof (requirmentType) == \"undefined\" || requirmentType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n isValid = false;\r\n return false;\r\n }\r\n\r\n if (isValid) {\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let today = new Date();\r\n let month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.dsCostServices.DownloadExcel(this.userId, requirmentType, rmh, product,whCode,status,year)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName +\"_\"+year+ \"_DSCostApproval_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n filesDroppedAdd(files: File[]) {\r\n debugger;\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 UserId = localStorage.getItem('dsu_userId');\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let AnnualCycle=this.requirmentType[0].text;\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackBar.openSnackBar('Please Select Valid File Type.','Close','red-snackbar');\r\n this.toastr.error(\"Please select valid file type.\");\r\n return false;\r\n }\r\n\r\n this.loader = 'block';\r\n var uploadedFile = this.files[0];\r\n this.dsCostServices.UploadDocument(uploadedFile, UserId,year,AnnualCycle)\r\n .subscribe((resData: any) => {\r\n debugger\r\n if (resData.status) {\r\n this.toastr.success(resData.message);\r\n this.GetCostApproval(0);\r\n }\r\n else {\r\n this.toastr.error(resData.message);\r\n }\r\n this.defaultView = false;\r\n this.tableView = false;\r\n this.approveEnable = false;\r\n this.loader = 'none';\r\n this.file.nativeElement.value = '';\r\n }, error => {\r\n\r\n this.loader = 'none';\r\n this.file.nativeElement.value = '';\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n });\r\n }\r\n\r\n\r\n textChange(newValue, reqtQty, nrv, i, id) {\r\n this.approveDisable = false;\r\n let nwValue = newValue.target.value;\r\n nwValue = parseFloat(nwValue);\r\n reqtQty = parseFloat(reqtQty);\r\n this.dsCostObj[i].totalCost = (nwValue * nrv).toFixed(2);\r\n\r\n let product = this.dsCostObj[i].product;\r\n let WareHouse = this.dsCostObj[i].whName;\r\n let StockAval = this.dsCostObj[i].stockAvailable;\r\n let TotalApprQty=this.dsCostObj[i].totalApprovedQty;\r\n // if (nwValue > reqtQty) {\r\n // this.approveDisable = true;\r\n\r\n // this.toastr.error('Final production approval quantity should not be greater than requested quantity.');\r\n // return false;\r\n // }\r\n // else {\r\n let InvStockOriginal=0;\r\n let InvStockAvailable=0;\r\n\r\n // let InvtDetails = this.dsCostInventoryObj.find(x => x.productName === product && x.whLocation == WareHouse);\r\n // let InvStockOriginal = parseFloat(InvtDetails.stock);\r\n // let InvStockAvailable = parseFloat(InvtDetails.stock);\r\nif(this.dsCostInventoryObj!=null){\r\n for(let InvtDetails=0;InvtDetails x.product == product && x.whName == WareHouse && x.id < id && x.status != 'Approved');\r\n let dsCostApproveAfter = this.dsCostObj.filter(x => x.product == product && x.whName == WareHouse && x.id >= id && x.status != 'Approved');\r\n for (let x = 0; x < dsCostApprove.length; x++) {\r\n StockReduce = StockReduce + dsCostApprove[x].stockAvailable;\r\n }\r\n InvStockAvailable = InvStockAvailable - StockReduce-TotalApprQty;\r\n\r\n if (InvStockAvailable <= 0) {\r\n for (let x = 0; x < dsCostApproveAfter.length; x++) {\r\n let dsId = dsCostApproveAfter[x].id;\r\n // dsId = parseInt(dsId) - 1;\r\n dsId = parseFloat(dsId) - 1;\r\n this.dsCostObj[dsId].stockAvailable = 0;\r\n }\r\n }\r\n else {\r\n if (nwValue > InvStockAvailable) {\r\n this.dsCostObj[i].stockAvailable = InvStockAvailable;\r\n for (let x = 0; x < dsCostApproveAfter.length; x++) {\r\n let dsId = dsCostApproveAfter[x].id;\r\n // dsId = parseInt(dsId) - 1;\r\n dsId = parseFloat(dsId) - 1;\r\n if (dsCostApproveAfter.length-1 == x) {\r\n this.dsCostObj[dsId].stockAvailable = InvStockAvailable;\r\n }\r\n else {\r\n \r\n if (i != dsId) {\r\n this.dsCostObj[dsId].stockAvailable = 0;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (dsCostApproveAfter.length == 1) {\r\n this.dsCostObj[i].stockAvailable = InvStockAvailable;\r\n }\r\n else{\r\n this.dsCostObj[i].stockAvailable = nwValue;\r\n InvStockAvailable = InvStockAvailable - nwValue;\r\n }\r\n for (let x = 0; x < dsCostApproveAfter.length; x++) {\r\n let dsId = dsCostApproveAfter[x].id;\r\n // dsId = parseInt(dsId) - 1;\r\n dsId = parseFloat(dsId) - 1;\r\n if (dsCostApproveAfter.length-1 == x) {\r\n this.dsCostObj[dsId].stockAvailable = InvStockAvailable;\r\n }\r\n else {\r\n\r\n // let reqQTY = parseInt(dsCostApproveAfter[x].requestedQTY);\r\n let reqQTY = parseFloat(dsCostApproveAfter[x].requestedQTY);\r\n if (i != dsId) {\r\n if (reqQTY >= InvStockAvailable) {\r\n this.dsCostObj[dsId].stockAvailable = InvStockAvailable;\r\n InvStockAvailable = 0;\r\n }\r\n else {\r\n this.dsCostObj[dsId].stockAvailable = reqQTY;\r\n InvStockAvailable = InvStockAvailable - reqQTY;\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n //}\r\n let isApprove = true;\r\n for (let x = 0; x < this.dsCostObj.length; x++) {\r\n let reqQTY = this.dsCostObj[x].requestedQTY;\r\n let finalApprove = this.dsCostObj[x].finalApproveQTY;\r\n // reqQTY = parseInt(reqQTY);\r\n // finalApprove = parseInt(finalApprove);\r\n // if (reqQTY < finalApprove) {\r\n // isApprove = false;\r\n // this.approveDisable = true;\r\n // break;\r\n // }\r\n }\r\n if(isApprove){\r\n this.approveDisable = false;\r\n }\r\n }\r\n\r\n isAlphaNumeric(event: any) {\r\n var newKeyCode = event.keyCode;\r\n return ((newKeyCode > 64 && newKeyCode < 91) || (newKeyCode > 96 && newKeyCode < 123) || (newKeyCode == 8 || newKeyCode == 32) || (newKeyCode >= 48 && newKeyCode <= 57) || newKeyCode == 59);\r\n }\r\n\r\n closePopup(commentModal: string) {\r\n this.displayReject = 'none';\r\n }\r\n openCommentPopup(saveCostApprove) {\r\n let isValid = false;\r\nlet issel=false;\r\n for (let i = 0; i < saveCostApprove.length; i++) {\r\n if (saveCostApprove[i].isSelected) {\r\n\r\n // if( saveCostApprove[i].stockAvailable < saveCostApprove[i].finalApproveQTY){\r\n // //this.approveDisable=true;\r\n // this.toastr.error('Final production approval quantity should not be greater than stock available.');\r\n // return false;\r\n // }\r\n // else{\r\n // //this.approveDisable=false;\r\n // isValid = true;\r\n // break;\r\n // }\r\n issel=true;\r\n if (saveCostApprove[i].finalApproveQTY == null){\r\n isValid = true;\r\n this.toastr.error('Please enter the quantity to proceed.');\r\n break;\r\n }\r\n if (saveCostApprove[i].finalApproveQTY > 0){\r\n isValid = true;\r\n break;\r\n }\r\n else{ if(saveCostApprove[i].finalApproveQTY == 0 && saveCostApprove[i].totalApprovedQty > 0)\r\n {\r\n isValid=false;\r\n this.toastr.error('Please enter a value greater than 0 for partial approved requests.');\r\n break;\r\n }\r\n else if (saveCostApprove[i].finalApproveQTY == 0 && saveCostApprove[i].totalApprovedQty == 0)\r\n {\r\n isValid = true;\r\n break;\r\n }\r\n }\r\n //isValid = true;\r\n }\r\n \r\n \r\n }\r\n if (isValid) {\r\n this.displayReject = 'block';\r\n }\r\n else if(!issel){\r\n this.toastr.error('Please select at least one request before proceeding');\r\n }\r\n \r\n }\r\n\r\n reset() {\r\n //location.reload();\r\n this.defaultValue = 'none';\r\n if (this.requirmentType != undefined) {\r\n this.requirmentType.selectedItems = [];\r\n }\r\n if (this.rmh != undefined) {\r\n this.rmh.selectedItems = [];\r\n }\r\n if (this.productSelect != undefined) {\r\n this.productSelect.selectedItems = [];\r\n }\r\n if (this.cropSelect != undefined) {\r\n this.cropSelect.selectedItems = [];\r\n }\r\n if (this.sbu != undefined) {\r\n this.sbu.selectedItems = [];\r\n }\r\n if (this.division != undefined) {\r\n this.division.selectedItems = [];\r\n }\r\n if (this.zone != undefined) {\r\n this.zone.selectedItems = [];\r\n }\r\n if (this.regionSelect != undefined) {\r\n this.regionSelect.selectedItems = [];\r\n }\r\n if (this.warehouseLocation != undefined) {\r\n this.warehouseLocation.selectedItems = [];\r\n }\r\n }\r\n\r\n\r\n DownloadExcelForAdmin() {\r\n let requirmentType = Array.prototype.map.call(this.requirmentType, function (item) { return item.text; }).join(\",\");\r\n let isValid = true;\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let rmh = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let sbu = Array.prototype.map.call(this.sbu.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let division = Array.prototype.map.call(this.division.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let zone = Array.prototype.map.call(this.zone.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let crop=Array.prototype.map.call(this.CropSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let status = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.text; }).join(\",\");\r\n let whCode = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n if (typeof (requirmentType) == \"undefined\" || requirmentType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n isValid = false;\r\n return false;\r\n }\r\n if (isValid) {\r\n\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.dsCostServices.DownloadExcelForAdmin(this.userId, requirmentType, rmh, product,whCode,status,year,sbu,division,zone,region,crop)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_\" + year + \"_DSCostApproval_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n }\r\n SelectDisselectAll(ev) {\r\n this.dsCostObj.forEach(x => x.isSelected = ev.target.checked)\r\n }\r\n\r\n isAllChecked() {\r\n return this.dsCostObj.every(_ => _.isSelected);\r\n }\r\n setSubMenu(event: any, type: string): void {\r\n this.tabName = type;\r\n this.GetCostApproval(1);\r\n}\r\nDownloadExcelCropwise() {\r\n let requirmentType=\"\";\r\n if(this.requirmentType.length>1){\r\n requirmentType='1,2';\r\n }\r\n else{ \r\n requirmentType = this.requirmentType[0].id;//Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n //let requirmentType = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let isValid = true;\r\n let rmh = Array.prototype.map.call(this.rmh.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let status = Array.prototype.map.call(this.status.selectedItems, function (item) { return item.text; }).join(\",\");\r\n let whCode = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n if (typeof (requirmentType) == \"undefined\" || requirmentType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n isValid = false;\r\n return false;\r\n }\r\n\r\n if (isValid) {\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let today = new Date();\r\n let month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.dsCostServices.DownloadExcelCropwise(this.userId, requirmentType, rmh, product,whCode,status,year)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_\" + year + \"_DSCostApproval_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n}\r\nDownloadExcelForAdminCropwise() {\r\n let requirmentType=\"\";\r\n if(this.requirmentType.length>1){\r\n requirmentType='1,2';\r\n }\r\n else{ \r\n requirmentType = this.requirmentType[0].id;//Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n }\r\n //let requirmentType = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.id; }).join(\",\");\r\n let isValid = true;\r\n let year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n if (typeof (requirmentType) == \"undefined\" || requirmentType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n isValid = false;\r\n return false;\r\n }\r\n if (isValid) {\r\n\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let today = new Date();\r\n let month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.dsCostServices.DownloadExcelCropwiseForAdmin(this.userId, requirmentType,year)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_\" + year + \"_DSCostApproval_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n}\r\n\r\n}\r\n/**Creating interface for Cost Approval History data **/\r\n\r\n\r\nexport interface CostApprovalHistoyData {\r\n requirementType:string;\r\n rmhName:string;\r\n productName: string;\r\n finalProductQtyApproved: string;\r\n approvedOn: string;\r\n comment:string;\r\n year:number;\r\n}\r\n\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Demo Sample Dispatch from FMC WH to SD WH

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Showing: {{startRecord}}-{{recordsOnCurrentPage}} of {{totalRecord}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
PO NODateCompleted / PendingApproved ByCD CodeTransfer To CD NameMaterial NameMaterial CodeApproved QTY (Kg/Ltr)Delivered QTY (Kg/Ltr)Pending QTYReason PendingDelivery PlantOrder NoDC NoDC DateINV No.INV ValueINV DateDocu LinkLR NoDateTransporter NameVehicle NoLR Ack. Recd
No Record Found
{{data.poNo}}{{data.poDate}}{{data.status}}{{data.approvedBy}}{{data.cdCode}}{{data.transferToCDName}}{{data.materialName}}{{data.materialCode}}{{data.approvedQty}}{{data.deliveredQty}}{{data.pedingQty}}{{data.reasonForPending}}{{data.deliveryPlant}}{{data.orderNo}}{{data.dcNo}}{{data.dcDate}}{{data.invNo}}{{data.invValue}}{{data.invoiceDate}}{{data.doculink}}{{data.lrNo}}{{data.lrDate}}{{data.transporterName}}{{data.vehicleNo}}{{data.lrAcknowledgmentRecd}}
\\r\\n
\\r\\n
0\\\">\\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 { ToastrService } from 'ngx-toastr';\r\nimport { FmcToSdService } from 'src/app/Services/FmcToSd/fmc-to-sd.service';\r\nimport { DropDownService } from 'src/app/Services/DropDown/dropdownService';\r\nimport { formatDate } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-fmc-to-sd',\r\n templateUrl: './fmc-to-sd.component.html',\r\n styleUrls: ['./fmc-to-sd.component.css']\r\n})\r\nexport class FmcToSdComponent implements OnInit {\r\n @ViewChild('file') file;\r\n public userId: string = localStorage.getItem('dsu_userId');\r\n public userName: string = localStorage.getItem('dsu_userName')\r\n public roleId: string = localStorage.getItem('dsu_roleId');\r\n public FlagDropDown: string;\r\n public loader: string = \"none\";\r\n public files: File[] = [];\r\n public fileName: string = '';\r\n\r\n fmcToSdobj: any = [];\r\n totalRecord: any;\r\n currentPage: any;\r\n lastPage: any;\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n defaultView: boolean = true;\r\n recordsOnCurrentPage: any = 5;\r\n currentDate = new Date();\r\n startRecord: any = 0;\r\n\r\n\r\n constructor(private fmcToSd: FmcToSdService, private ddlServices: DropDownService, private toastr: ToastrService) {\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.loader = 'block';\r\n this.GetExcelData(0);\r\n\r\n }\r\n fileUpload(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 requirmentType = Array.prototype.map.call(this.requirmentType.selectedItems, function (item) { return item.text; }).join(\",\");\r\n if (fileType != 'xls' && fileType != 'xlsx') {\r\n // this.snackBar.openSnackBar('Please Select Valid File Type.','Close','red-snackbar');\r\n this.toastr.error(\"Please Select Valid File Type.\");\r\n this.loader = 'none';\r\n return false;\r\n\r\n }\r\n\r\n this.loader = 'block';\r\n let fileValue = this.files[0];\r\n this.fmcToSd.uploadDocument(fileValue, this.userId)\r\n .subscribe((resData: any) => {\r\n console.log(resData);\r\n if (resData.status) {\r\n this.toastr.success(resData.data);\r\n this.GetExcelData(0);\r\n // if (resData.data[0].result === \"Success\") {\r\n // this.toastr.success(resData.data[0].errordescription);\r\n // }\r\n // else {\r\n // this.toastr.error(resData.data[0].errordescription);\r\n // }\r\n }\r\n else {\r\n this.toastr.error(resData.data);\r\n }\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n }, error => {\r\n this.file.nativeElement.value = '';\r\n this.loader = 'none';\r\n this.toastr.error('Some Problem Occured, Please try again later.');\r\n });\r\n\r\n }\r\n DownloadExcel() {\r\n this.loader = 'block';\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.fmcToSd.DownloadExcel(this.userId)\r\n .subscribe(success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_FmcToSd_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error('No data found');\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n GetExcelData(currentPage: any) {\r\n this.isDisabledPrevious = true;\r\n this.isDisabledNext = false;\r\n this.userId = localStorage.getItem('dsu_userId');\r\n let page = currentPage;\r\n this.loader = 'block';\r\n this.startRecord = 1;\r\n this.fmcToSd.ShowDataOnScreen(this.userId, page)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n this.fmcToSdobj = resData.data;\r\n this.loader = 'none';\r\n this.defaultView = false;\r\n this.totalRecord = this.fmcToSdobj.pagination.totalRecord;\r\n this.currentPage = this.fmcToSdobj.pagination.currentPage;\r\n this.lastPage = this.fmcToSdobj.pagination.lastPage;\r\n this.recordsOnCurrentPage = this.currentPage * 5;\r\n if (this.currentPage > 1) {\r\n this.isDisabledPrevious = false;\r\n this.startRecord = (this.currentPage * 5) - 4;\r\n\r\n }\r\n if (this.currentPage == this.lastPage) {\r\n this.isDisabledNext = !this.isDisabledNext;\r\n this.recordsOnCurrentPage = this.totalRecord;\r\n }\r\n if (this.fmcToSdobj.fmcToSdData.length == 0) {\r\n this.startRecord = 0;\r\n this.recordsOnCurrentPage = 0;\r\n }\r\n }\r\n },\r\n err => {\r\n this.toastr.error('Some Problem Occured,Please try again later.');\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n });\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","module.exports = \"#open-popup {\\r\\n cursor: pointer;\\r\\n}\\r\\n.popup {\\r\\n display: none;\\r\\n position: fixed;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n width: 390px;\\r\\n background-color: white;\\r\\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\\r\\n z-index: 1000;\\r\\n padding: 20px;\\r\\n border-radius: 20px;\\r\\n}\\r\\n.popup-overlay {\\r\\n display: none;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n z-index: 999;\\r\\n}\\r\\n#close-popup{\\r\\n background: none;\\r\\n width: auto;\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 2px;\\r\\n cursor: pointer;\\r\\n}\\r\\np.popup-remark {\\r\\n font-weight: 600;\\r\\n font-size: 16px;\\r\\n margin: 20px 0 0 0;\\r\\n}\\r\\n.Remark-box{\\r\\n width: 100%;\\r\\n height: 112px;\\r\\n background: rgba(151, 151, 151, 0.02);\\r\\n border: 1px solid rgba(151, 151, 151, 0.3);\\r\\n padding: 10px 15px 5px;\\r\\n border-radius: 8px;\\r\\n }\\r\\n.Remark-box h6{\\r\\n margin-bottom: 5px;\\r\\n color: rgba(51, 51, 51, 0.6);\\r\\n }\\r\\n.Remark-box p{\\r\\n color: #000;\\r\\n }\\r\\n.popup small {\\r\\n font-style: italic;\\r\\n line-height: 14px;\\r\\n font-size: 13px;\\r\\n display: block;\\r\\n margin: 0 0 15px 0;\\r\\n color: red;\\r\\n }\"","module.exports = \"
\\r\\n

Dashboard

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

\\r\\n *Samples approved during a month by BM will be consolidated and executed in the first week of subsequent month*(Subject to Material Availability)\\r\\n

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

Filters

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
Qty in Kg/Ltr
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Request No Request IdRequirement TypeRMH/RBM NameProductPackSizeCropMonthWarehouse LocationRequested QTYFinal QTY ApprovedQTY Dispatched To Field Team Requirement YearStatus
{{dashBoard.requestNo}}{{dashBoard.requestId}}{{dashBoard.reqType}}{{dashBoard.rmhName}}{{dashBoard.product}}{{dashBoard.packSize}}{{dashBoard.cropName}}{{dashBoard.month}}{{dashBoard.warehouseLocation}}{{ConvertToCurrency(dashBoard.requestedQTY)}}{{ConvertToCurrency(dashBoard.finalApprovedQTY)}}{{ConvertToCurrency(dashBoard.dispatchedQTYToFieldTeam.toFixed(2))}}{{dashBoard.year}} {{dashBoard.status}} \\r\\n \\\"Info\\\"\\r\\n
{{\\\"No Record Found\\\"}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Warehouse LocationProduct NameStock Available (Kg/Ltr)
{{inv.whLocation}}{{inv.productName}}{{inv.stockAvailable}}
\\r\\n No record found\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

Closed by FMC Supply Team on \\r\\n 23 Oct 2024

\\r\\n Demo samples already dispatched by FMC Supply team can be allocated and dispatched to field team.\\r\\n
\\r\\n
Remarks:
\\r\\n

Lorem ipsum dolor sit amet consectetur. Condimentum aliquam proin ultrices ut accumsan ac sit fames tortor.

\\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 '../../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 '../../Services/Dashboard/dashboard.service';\r\nimport { RequirementStatus, DashBoardFilterModel, DashBoardDetails } from '../../Models/Dashboard/DashboardFilters';\r\nimport { MatSnackBarComponent } from \"../mat-snack-bar/mat-snack-bar.component\";\r\nimport { PagerService } from '../../Services/pager.service';\r\nimport { DropDownRequest, DropDownResponse, QuarterTypeModel, RequirmentTypeModel, WHLocationModel } from '../../Models/DropDwon/DropDownRequest';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { SBUModel } from '../../Models/DropDwon/SBUModel';\r\nimport { DivisionModel } from '../../Models/DropDwon/DvisionModel';\r\nimport { ZoneModel } from '../../Models/DropDwon/ZoneModel';\r\nimport { RegionModel, RMHModel } from '../../Models/DropDwon/RegionModel';\r\nimport { productModel } from '../../Models/DropDwon/ProductModel';\r\nimport { YearModel } from 'src/app/Models/DropDwon/YearModel';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { $$ } from 'protractor';\r\n\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\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n\r\n public YearSettings={};\r\n public YearselectedItems:YearModel[];\r\n\r\n public RMHSettings = {};\r\n public RMHSelectedItems: RMHModel[];\r\n public ProductSettings = {};\r\n public CropSettings={};\r\n public ProductSelectedItem: productModel[];\r\n public FlagDropDown: string;\r\n loader = 'none';\r\n userId: string;\r\n roleId: string;\r\n userName: string;\r\n @ViewChild('requirmentType') requirmentType;\r\n @ViewChild('quarterType') quarterType;\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('rmh') rmh;\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('year') year;\r\n @ViewChild('month') month;\r\n @ViewChild('status') status;\r\n @ViewChild('warehouseLocation') warehouseLocation;\r\n @ViewChild('yearSelect') yearSelect;\r\n @ViewChild('cropSelect') cropSelect;\r\n\r\n public RequirmentTypeSettings = {};\r\n public requirmentTypeDdl: RequirmentTypeModel[];\r\n\r\n public requirmentDllValue: any;\r\n\r\n public QuarterTypeSettings = {};\r\n public quarterTypeDdl: QuarterTypeModel[];\r\n public quarterDllValue: any;\r\n \r\n selectedSbu: any[] = [];\r\n selectedDivision: any[] = [];\r\n selectedZone: any[] = [];\r\n selectedRegion: any[] = [];\r\n selectedRMH: any[] = [];\r\n selectedProduct: any[] = [];\r\n selectedMonth: any[] = [];\r\n selectedStatus: any[] = [];\r\n selectedYear: any[]=[];\r\n selecteedcrop:any[]=[];\r\n commaSeperatedCrop:string;\r\n commaSeperatedSbus: string;\r\n commaSeperatedDivisions: string;\r\n commaSeperatedZones: string;\r\n commaSeperatedRegions: string;\r\n commaSeperatedRMH: string;\r\n commaSeperatedProduct: string;\r\n commaSeperatedMonth: string;\r\n commaSeperatedStatus: string;\r\n commaSeperatedReqType: string;\r\n commaSeperatedQuartType: string;\r\n commaSeperatedYear:string;\r\n public monthList: any;\r\n public currentYear: any;\r\n public currentYearPlus: any;\r\n public Month: any;\r\n public statusList: any;\r\n public Status: any;\r\n public dropdownMonthSettings: {};\r\n public dropdownStatusSettings: {};\r\n statusModel: RequirementStatus[] = [];\r\n dashBoardDetails: DashBoardDetails[] = [];\r\n selectedReqType: any[] = [];\r\n selectedReqTypeModel: any[] = [];\r\n selectedQuartType: any[] = [];\r\n selectedQuartTypeModel: any[] = [];\r\n selectedYearType:any[]=[];\r\n defaultValue = 'none';\r\n msgView: boolean = false;\r\n public dashBoardRequestModel: DashBoardFilterModel = new DashBoardFilterModel();\r\n public WarehouseLocationSettings = {};\r\n public WarehouseLocationSelectedItem: WHLocationModel[];\r\n\r\n\r\n constructor(private session: SessionService, private ddlServices: DropDownService, private toastr: ToastrService, private dashBoardService: DashboardService, private cd: ChangeDetectorRef) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n this.FlagDropDown = (this.roleId == \"39\" || this.roleId == \"43\" || this.roleId == \"44\" || this.roleId == \"77\") ? \"DEFAULT\" : \"DEFAULT\";\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n clearInterval(this.session.id);\r\n this.session.startSession();\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.currentYear = new Date();\r\n this.currentYearPlus = this.currentYear.getFullYear();\r\n // this.Month = this.currentYear.getMonth();\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n \r\n if (response.status) {\r\n \r\n this.ddlResponse = response.data;\r\n this.GetWarehouseLocationData();\r\n this.ddlResponse.year=response.data.year;\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(),\r\n text: (new Date()).getFullYear()\r\n }\r\n requiredItem.push(obj)\r\n this.year.selectedItems = requiredItem\r\n // for(var i=0;i {\r\n });\r\n // this.requirmentTypeDdl = [{ id: 1, text: \"Annual\" }, { id: 2, text: \"Additional\" }];\r\n if(this.roleId == '56'){\r\n this.requirmentTypeDdl = [{ id: 3, text: \"Additional\" }];\r\n }else{\r\n this.requirmentTypeDdl = [{ id: 1, text: \"H1\" }, { id: 2, text: \"H2\" }, { id: 3, text: \"Additional\" }];\r\n }\r\n this.RequirmentTypeSetting();\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RegionSetting();\r\n this.RMHSetting();\r\n this.ProductSetting();\r\n this.CropSetting();\r\n this.getMonthList();\r\n this.getStatus();\r\n this.YearSetting();\r\n this.WareHouseLocationSetting();\r\n this.QuarterTypeSetting();\r\n \r\n if(this.requirmentTypeDdl.length >=2)\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" },{ id: 3, text: \"Q3\" }, { id: 4, text: \"Q4\" }];\r\n }\r\n else if(this.requirmentTypeDdl[0].text == 'Additional')\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" },{ id: 3, text: \"Q3\" }, { id: 4, text: \"Q4\" }];\r\n\r\n }\r\n else if(this.requirmentTypeDdl[0].text == 'H1')\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" }];\r\n\r\n\r\n }\r\n else if(this.requirmentTypeDdl[0].text == 'H2')\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q3\" }, { id: 2, text: \"Q4\" }];\r\n }\r\n else{\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" },{ id: 3, text: \"Q3\" }, { id: 4, text: \"Q4\" }];\r\n\r\n }\r\n \r\n\r\n for (var i = 0; i < this.requirmentTypeDdl.length; i++) {\r\n this.requirmentType.selectedItems.push(this.requirmentTypeDdl[i]);\r\n }\r\n this.onReqTypeSelectAll(this.requirmentType);\r\n \r\n // for (var i = 0; i < this.quarterTypeDdl.length; i++) {\r\n // this.quarterType.selectedItems.push(this.quarterTypeDdl[i]);\r\n // }\r\n this.getDashBoardDetails();\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 WareHouseLocationSetting() {\r\n this.WarehouseLocationSettings = {\r\n singleSelection: false,\r\n idField: 'whId',\r\n textField: 'whName',\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 Warehouse Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n RequirmentTypeSetting() {\r\n this.RequirmentTypeSettings = {\r\n singleSelection: false,\r\n idField: 'id',\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 Requirment Type 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: 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 \r\n QuarterTypeSetting() {\r\n this.QuarterTypeSettings = {\r\n singleSelection: false,\r\n idField: 'id',\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 Quarter Type Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n \r\n SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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\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 ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n\r\n getMonthList(): void {\r\n type MyArrayType = Array<{ Id: number, Text: string }>;\r\n this.bindMonthDropdownSetting();\r\n const arr: MyArrayType = [\r\n { Id: 1, Text: 'Jan' },\r\n { Id: 2, Text: 'Feb' },\r\n { Id: 3, Text: 'Mar' },\r\n { Id: 4, Text: 'Apr' },\r\n { Id: 5, Text: 'May' },\r\n { Id: 6, Text: 'Jun' },\r\n { Id: 7, Text: 'Jul' },\r\n { Id: 8, Text: 'Aug' },\r\n { Id: 9, Text: 'Sep' },\r\n { Id: 10, Text: 'Oct' },\r\n { Id: 11, Text: 'Nov' },\r\n { Id: 12, Text: 'Dec' },\r\n ];\r\n this.monthList = arr;\r\n this.month = arr;\r\n //this.monthList.filter((item) => item.Id === (this.Month));\r\n\r\n }\r\n\r\n bindMonthDropdownSetting() {\r\n this.dropdownMonthSettings = {\r\n singleSelection: false,\r\n text: \"Select Month\",\r\n idField: 'Id',\r\n textField: 'Text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n noDataAvailablePlaceholderText: 'No Month Found'\r\n };\r\n }\r\n getStatus() {\r\n this.loader = 'block';\r\n this.bindStatusDropdownSetting();\r\n this.dashBoardService.getStatus(this.userId, this.roleId)\r\n .subscribe((resData) => {\r\n this.statusModel = resData.data;\r\n this.statusList = this.statusModel;\r\n this.Status = this.statusModel\r\n this.loader = 'none';\r\n\r\n });\r\n }\r\n bindStatusDropdownSetting() {\r\n this.dropdownStatusSettings = {\r\n singleSelection: false,\r\n text: \"Select Status\",\r\n idField: 'id',\r\n textField: 'status',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n noDataAvailablePlaceholderText: 'No Status Found'\r\n };\r\n }\r\n public onSBUSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \");\r\n\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n for (var i = 0; i < this.sbu.selectedItems.length; i++) {\r\n this.selectedSbu.push(this.sbu.selectedItems[i].id)\r\n }\r\n this.commaSeperatedSbus = this.selectedSbu.join(\", \")\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.selectedSbu = [];\r\n this.commaSeperatedSbus = '';\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n\r\n public onDivisionSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \");\r\n\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.selectedDivision = []\r\n for (var i = 0; i < this.division.selectedItems.length; i++) {\r\n this.selectedDivision.push(this.division.selectedItems[i].id)\r\n }\r\n this.commaSeperatedDivisions = this.selectedDivision.join(\", \")\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.selectedDivision = [];\r\n this.commaSeperatedDivisions = '';\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneDeSelect(item: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.selectedZone = [];\r\n for (var i = 0; i < this.zone.selectedItems.length; i++) {\r\n this.selectedZone.push(this.zone.selectedItems[i].id)\r\n }\r\n this.commaSeperatedZones = this.selectedZone.join(\", \");\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneDeSelectAll(items: any) {\r\n this.selectedZone = [];\r\n this.commaSeperatedZones = '';\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onRegionSelect(item: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n public onRegionDeSelect(item: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n if (this.roleId != '42' && this.roleId!='56' && this.roleId!='76') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n }\r\n\r\n public onRegionSelectAll(items: any) {\r\n this.selectedRegion = [];\r\n for (var i = 0; i < this.regionSelect.selectedItems.length; i++) {\r\n this.selectedRegion.push(this.regionSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRegions = this.selectedRegion.join(\", \");\r\n if (this.roleId != '42' && this.roleId!='56' && this.roleId!='76') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n }\r\n public onRegionDeSelectAll(items: any) {\r\n this.selectedRegion = [];\r\n this.commaSeperatedRegions = '';\r\n if (this.roleId != '42' && this.roleId!='56' && this.roleId!='76') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n }\r\n GetRegionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRegionWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if ((this.roleId == '42' || this.roleId=='56' || this.roleId=='76') && response.data.rmh.length > 0) {\r\n this.ddlResponse.rmh = response.data.rmh;\r\n }\r\n\r\n else if (response.data.rmh.length > 0)\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n else\r\n this.rmh.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n public onRMHSelect(item: any) {\r\n this.selectedRMH = [];\r\n for (var i = 0; i < this.rmh.selectedItems.length; i++) {\r\n this.selectedRMH.push(this.rmh.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRMH = this.selectedRMH.join(\", \");\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelect(item: any) {\r\n this.selectedRMH = [];\r\n for (var i = 0; i < this.rmh.selectedItems.length; i++) {\r\n this.selectedRMH.push(this.rmh.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRMH = this.selectedRMH.join(\", \");\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n }\r\n\r\n public onRMHSelectAll(items: any) {\r\n this.selectedRMH = [];\r\n for (var i = 0; i < this.rmh.selectedItems.length; i++) {\r\n this.selectedRMH.push(this.rmh.selectedItems[i].id)\r\n }\r\n this.commaSeperatedRMH = this.selectedRMH.join(\", \");\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelectAll(items: any) {\r\n this.selectedRMH = [];\r\n this.commaSeperatedRMH = '';\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n this.getSDRMHWise(this.rmh.selectedItems);\r\n }\r\n onReqTypeSelect(item: any) {\r\n \r\n if(this.requirmentType.selectedItems.length >=2)\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" },{ id: 3, text: \"Q3\" }, { id: 4, text: \"Q4\" }];\r\n\r\n }\r\n \r\n \r\n else if(item.text =='H1')\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" }];\r\n\r\n }\r\n else if (item.text =='H2')\r\n {\r\n \r\n this.quarterTypeDdl = [{ id: 1, text: \"Q3\" }, { id: 2, text: \"Q4\" }];\r\n }\r\n else if(item.text== 'Additional')\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" },{ id: 3, text: \"Q3\" }, { id: 4, text: \"Q4\" }];\r\n\r\n }\r\n else{\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" },{ id: 3, text: \"Q3\" }, { id: 4, text: \"Q4\" }];\r\n\r\n }\r\n this.selectedReqType = [];\r\n for (var i = 0; i < this.requirmentType.selectedItems.length; i++) {\r\n this.selectedReqType.push(this.requirmentType.selectedItems[i].text)\r\n }\r\n this.commaSeperatedReqType = this.selectedReqType.join(\", \");\r\n //this.RequirmentTypeSetting();\r\n }\r\n onReqTypeDeSelect(item: any) {\r\n \r\n if(this.requirmentType.selectedItems.length == 0)\r\n {\r\n this.quarterTypeDdl = [];\r\n }\r\n else if(this.requirmentType.selectedItems.length >=2)\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" },{ id: 3, text: \"Q3\" }, { id: 4, text: \"Q4\" }];\r\n\r\n }\r\n else if(this.requirmentType.selectedItems[0].text == 'Additional')\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" },{ id: 3, text: \"Q3\" }, { id: 4, text: \"Q4\" }];\r\n }\r\n else if(this.requirmentType.selectedItems[0].text == 'H1')\r\n {\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q1\" }, { id: 2, text: \"Q2\" }];\r\n\r\n }\r\n else if(this.requirmentType.selectedItems[0].text == 'H2')\r\n {\r\n\r\n this.quarterTypeDdl = [{ id: 1, text: \"Q3\" }, { id: 2, text: \"Q4\" }];\r\n }\r\n this.selectedReqType = [];\r\n for (var i = 0; i < this.requirmentType.selectedItems.length; i++) {\r\n this.selectedReqType.push(this.requirmentType.selectedItems[i].text)\r\n }\r\n this.commaSeperatedReqType = this.selectedReqType.join(\", \");\r\n }\r\n public onReqTypeSelectAll(items: any) {\r\n this.selectedReqType = [];\r\n for (var i = 0; i < this.requirmentType.selectedItems.length; i++) {\r\n this.selectedReqType.push(this.requirmentType.selectedItems[i].text)\r\n }\r\n this.commaSeperatedReqType = this.selectedReqType.join(\", \");\r\n //this.RequirmentTypeSetting();\r\n }\r\n\r\n public onReqTypeDeSelectAll(items: any) {\r\n this.selectedReqType = [];\r\n this.commaSeperatedReqType = '';\r\n }\r\n\r\n onQuartTypeSelect(item:any){\r\n\r\n this.selectedQuartType = [];\r\n for (var i = 0; i < this.quarterType.selectedItems.length; i++) {\r\n this.selectedQuartType.push(this.quarterType.selectedItems[i].text)\r\n }\r\n this.commaSeperatedQuartType = this.selectedQuartType.join(\", \");\r\n }\r\n onQuartTypeDeSelect(item: any) {\r\n this.selectedQuartType = [];\r\n for (var i = 0; i < this.quarterType.selectedItems.length; i++) {\r\n this.selectedQuartType.push(this.quarterType.selectedItems[i].text)\r\n }\r\n this.commaSeperatedQuartType = this.selectedQuartType.join(\", \");\r\n }\r\n public onQuartTypeSelectAll(items: any) {\r\n \r\n this.selectedQuartType = [];\r\n for (var i = 0; i < this.quarterType.selectedItems.length; i++) {\r\n this.selectedQuartType.push(this.quarterType.selectedItems[i].text)\r\n }\r\n this.commaSeperatedQuartType = this.selectedQuartType.join(\", \");\r\n //this.RequirmentTypeSetting();\r\n }\r\n public onQuartTypeDeSelectAll(items: any) {\r\n this.selectedQuartType = [];\r\n this.commaSeperatedQuartType = '';\r\n }\r\n \r\n onYearSelect(item:any){\r\n this.selectedYearType = [];\r\n for (var i = 0; i < this.year.selectedItems.length; i++) {\r\n this.selectedYearType.push(this.year.selectedItems[i].text)\r\n }\r\n this.commaSeperatedYear = this.selectedYearType.join(\", \");\r\n }\r\n onYearDeSelect(item: any) {\r\n this.selectedYearType = [];\r\n for (var i = 0; i < this.year.selectedItems.length; i++) {\r\n this.selectedYearType.push(this.year.selectedItems[i].text)\r\n }\r\n this.commaSeperatedYear = this.selectedQuartType.join(\", \");\r\n }\r\n public onYearSelectAll(items: any) {\r\n this.selectedYearType = [];\r\n for (var i = 0; i < this.year.selectedItems.length; i++) {\r\n this.selectedYearType.push(this.year.selectedItems[i].text)\r\n }\r\n this.commaSeperatedYear = this.selectedYearType.join(\", \");\r\n //this.RequirmentTypeSetting();\r\n }\r\n public onYearDeSelectAll(items: any) {\r\n this.selectedYearType = [];\r\n this.commaSeperatedYear = '';\r\n }\r\n public onProductSelect(item: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n public onProductDeSelect(item: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].text)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n\r\n public onProductSelectAll(items: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].id)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n public onProductDeSelectAll(items: any) {\r\n this.selectedProduct = [];\r\n this.commaSeperatedProduct = '';\r\n }\r\n\r\n public onMonthSelect(item: any) {\r\n this.selectedMonth.push(item.Id)\r\n this.commaSeperatedMonth = this.selectedMonth.join(\", \");\r\n }\r\n public onMonthDeSelect(item: any) {\r\n this.selectedMonth.push(item.Id)\r\n this.commaSeperatedMonth = this.selectedMonth.join(\", \");\r\n }\r\n\r\n public onMonthSelectAll(items: any) {\r\n this.selectedMonth.push(items.Id)\r\n this.commaSeperatedMonth = this.selectedMonth.join(\", \");\r\n }\r\n public onMonthDeSelectAll(items: any) {\r\n this.selectedMonth = [];\r\n this.commaSeperatedMonth = '';\r\n\r\n }\r\n\r\n public onStatusSelect(item: any) {\r\n this.selectedStatus = [];\r\n for (var i = 0; i < this.status.selectedItems.length; i++) {\r\n this.selectedStatus.push(this.status.selectedItems[i].text)\r\n }\r\n this.commaSeperatedStatus = this.selectedStatus.join(\", \");\r\n }\r\n public onStatusDeSelect(item: any) {\r\n this.selectedStatus = [];\r\n for (var i = 0; i < this.status.selectedItems.length; i++) {\r\n this.selectedStatus.push(this.status.selectedItems[i].text)\r\n }\r\n this.commaSeperatedStatus = this.selectedStatus.join(\", \");\r\n }\r\n\r\n public onStatusSelectAll(items: any) {\r\n this.selectedStatus = [];\r\n for (var i = 0; i < this.status.selectedItems.length; i++) {\r\n this.selectedStatus.push(this.status.selectedItems[i].text)\r\n }\r\n this.commaSeperatedStatus = this.selectedStatus.join(\", \");\r\n }\r\n public onStatusDeSelectAll(items: any) {\r\n this.selectedStatus = [];\r\n this.commaSeperatedStatus = '';\r\n }\r\n\r\n GetSBUWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.SBU = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSBUHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.division = response.data.division;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.division.selectedItems = response.data.division.map(item => { return { id: item.divisionCode, text: item.divisionName } });\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n\r\n GetDivisionWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n\r\n GetZoneWiseData(filter: any) {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n\r\n GetRMHWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRMHWiseRegionDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.region = response.data.region;\r\n if (response.data.region.length > 0)\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n else\r\n this.regionSelect.selectedItems = [];\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n getDashBoardDetails() {\r\n \r\n this.selecteedcrop=[];\r\n\r\n if(this.cropSelect != undefined)\r\n {\r\nfor (var i = 0; i < this.cropSelect.selectedItems.length; i++) {\r\n this.selecteedcrop.push(this.cropSelect.selectedItems[i].id)\r\n }\r\n this. commaSeperatedCrop = this.selecteedcrop.join(\", \");\r\n }\r\n\r\n if (typeof (this.commaSeperatedReqType) == \"undefined\" || this.commaSeperatedReqType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.loader = 'block';\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n }\r\n if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRMH == undefined) {\r\n this.commaSeperatedRMH = '';\r\n }\r\n if (this.commaSeperatedProduct == undefined) {\r\n this.commaSeperatedProduct = '';\r\n }\r\n if (this.commaSeperatedMonth == undefined) {\r\n this.commaSeperatedMonth = '';\r\n }\r\n if (this.commaSeperatedStatus == undefined) {\r\n this.commaSeperatedStatus = '';\r\n }\r\n if (this.commaSeperatedQuartType == undefined) {\r\n this.commaSeperatedQuartType = '';\r\n }\r\n if(this.commaSeperatedYear==undefined){\r\n this.commaSeperatedYear='';\r\n }\r\n if(this.commaSeperatedCrop == undefined)\r\n {\r\n\r\n this.commaSeperatedCrop=\"\";\r\n }\r\n this.dashBoardRequestModel.UserId = this.userId;\r\n this.dashBoardRequestModel.RoleId = this.roleId;\r\n this.dashBoardRequestModel.ReqType = this.commaSeperatedReqType;\r\n this.dashBoardRequestModel.SBUCode = this.commaSeperatedSbus;\r\n this.dashBoardRequestModel.DivisionCode = this.commaSeperatedDivisions;\r\n this.dashBoardRequestModel.ZoneCode = this.commaSeperatedZones;\r\n this.dashBoardRequestModel.RegionCode = this.commaSeperatedRegions;\r\n this.dashBoardRequestModel.RMHCode = this.commaSeperatedRMH;\r\n this.dashBoardRequestModel.Product = this.commaSeperatedProduct;\r\n this.dashBoardRequestModel.Month = this.commaSeperatedMonth;\r\n this.dashBoardRequestModel.Status = this.commaSeperatedStatus;\r\n this.dashBoardRequestModel.Quarter=this.commaSeperatedQuartType;\r\n this.dashBoardRequestModel.Year=this.commaSeperatedYear;\r\n this.dashBoardRequestModel.Crop=this.commaSeperatedCrop;\r\n this.dashBoardRequestModel.Year = Array.prototype.map.call(this.year.selectedItems, function (item) { return item.id; }).join(\",\");\r\n \r\n if (this.warehouseLocation.selectedItems.length > 0)\r\n this.dashBoardRequestModel.WhLocation = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n else\r\n this.dashBoardRequestModel.WhLocation = '';\r\n \r\n //this.dashBoardRequestModel.WhLocation = '';\r\n this.dashBoardService.getDashBoardDetails(this.dashBoardRequestModel)\r\n .subscribe((resData) => {\r\n this.defaultValue = 'block';\r\n this.dashBoardDetails = resData.data;\r\n console.log(resData.data);\r\n // if (this.dashBoardDetails == undefined || this.dashBoardDetails == null) {\r\n // this.defaultValue = 'none';\r\n // this.msgView = true;\r\n // this.toastr.error('No record found.');\r\n // this.loader = 'none';\r\n // return false;\r\n // }\r\n\r\n this.loader = 'none';\r\n\r\n });\r\n }\r\n GetWarehouseLocationData() {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = 'TRUE';\r\n this.ddlServices.getWarehouseLocationDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n downloadExcel() {\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n \r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n if (typeof (this.commaSeperatedReqType) == \"undefined\" || this.commaSeperatedReqType == '') {\r\n this.toastr.error('Please select requirement type.');\r\n this.loader = 'none';\r\n return false;\r\n }\r\n this.loader = 'block';\r\n if (this.commaSeperatedSbus == undefined) {\r\n this.commaSeperatedSbus = '';\r\n }\r\n if (this.commaSeperatedDivisions == undefined) {\r\n this.commaSeperatedDivisions = '';\r\n }\r\n if (this.commaSeperatedZones == undefined) {\r\n this.commaSeperatedZones = '';\r\n }\r\n if (this.commaSeperatedRegions == undefined) {\r\n this.commaSeperatedRegions = '';\r\n }\r\n if (this.commaSeperatedRMH == undefined) {\r\n this.commaSeperatedRMH = '';\r\n }\r\n if (this.commaSeperatedProduct == undefined) {\r\n this.commaSeperatedProduct = '';\r\n }\r\n if (this.commaSeperatedMonth == undefined) {\r\n this.commaSeperatedMonth = '';\r\n }\r\n if (this.commaSeperatedStatus == undefined) {\r\n this.commaSeperatedStatus = '';\r\n }\r\n\r\n this.dashBoardRequestModel.UserId = this.userId;\r\n this.dashBoardRequestModel.RoleId = this.roleId;\r\n this.dashBoardRequestModel.ReqType = this.commaSeperatedReqType;\r\n this.dashBoardRequestModel.SBUCode = this.commaSeperatedSbus;\r\n this.dashBoardRequestModel.DivisionCode = this.commaSeperatedDivisions;\r\n this.dashBoardRequestModel.ZoneCode = this.commaSeperatedZones;\r\n this.dashBoardRequestModel.RegionCode = this.commaSeperatedRegions;\r\n this.dashBoardRequestModel.RMHCode = this.commaSeperatedRMH;\r\n this.dashBoardRequestModel.Product = this.commaSeperatedProduct;\r\n this.dashBoardRequestModel.Month = this.commaSeperatedMonth;\r\n this.dashBoardRequestModel.Status = this.commaSeperatedStatus;\r\n this.dashBoardService.downloadExcel(this.dashBoardRequestModel)\r\n .subscribe(\r\n success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.selectedReqType + \"_\" + this.userName + \"_DashBoard_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n }\r\n );\r\n\r\n }\r\n\r\n getSDRMHWise(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getSDRMHWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.sd = response.data.sd;\r\n this.getWHRMHWise(this.ddlRequest.RMH, this.ddlResponse.sd)\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n getWHRMHWise(filter: any, filterSD: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = filter;\r\n this.ddlRequest.SD = Array.prototype.map.call(filterSD, function (item) { return item.sdCode; }).join(\",\");\r\n this.ddlServices.getWHRMHWise(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n \r\n remarkContent: string = '';\r\n remarkDate: string = '';\r\n isPartiallyclosed: boolean;\r\n onImageClick(remark: any,status: any) {\r\n \r\n const closedContent = remark.split('!split!');\r\n this.remarkDate = closedContent[0];\r\n const processedRemark = closedContent[1].replace(/\\\\n/g, '\\n');\r\n \r\n this.remarkContent = processedRemark.replace(/\\n/g, '
');\r\n\r\n if(status.includes('Partially'))\r\n {\r\n this.isPartiallyclosed = true\r\n }\r\n else{\r\n this.isPartiallyclosed = false\r\n }\r\n this.cd.detectChanges();\r\n }\r\n}\r\n","module.exports = \"
\\r\\n

Inventory

\\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 Showing: {{startRecord}}-{{recordsOnCurrentPage}} of {{totalRecord}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Warehouse CodeWarehouse LocationProduct NameExp. DateStock Available (Kg/Ltr)
{{inv.whCode}}{{inv.whLocation}}{{inv.productName}}{{inv.expDate}}{{inv.stockAvailable}}
\\r\\n No record found\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { InventoryService } from '../../Services/inventory.service';\r\nimport { InventoryRequestModel, InventoryResponseModel } from '../../Models/Inventory/inventory-filters';\r\nimport { DropDownService } from '../../Services/DropDown/dropdownService';\r\nimport { RegionModel, RMHModel } from '../../models/DropDwon/RegionModel';\r\nimport { ZoneModel } from '../../models/DropDwon/ZoneModel';\r\nimport { DivisionModel } from '../../models/DropDwon/DvisionModel';\r\nimport { SBUModel } from '../../models/DropDwon/SBUModel';\r\nimport { DropDownRequest, DropDownResponse, WHLocationModel, SDModel } from '../../models/DropDwon/DropDownRequest';\r\nimport { productModel } from '../../models/DropDwon/ProductModel';\r\nimport { CropModel } from '../../models/DropDwon/CropModel';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { saveAs } from 'file-saver';\r\nimport { PagerService } from '../../Services/pager.service';\r\n\r\n@Component({\r\n selector: 'app-inventory',\r\n templateUrl: './inventory.component.html'\r\n //styleUrls: ['./inventory.component.css']\r\n})\r\nexport class InventoryComponent implements OnInit {\r\n\r\n @ViewChild('regionSelect') regionSelect;\r\n @ViewChild('warehouseLocation') warehouseLocation;\r\n @ViewChild('productSelect') productSelect;\r\n @ViewChild('sbu') sbu;\r\n @ViewChild('division') division;\r\n @ViewChild('zone') zone;\r\n @ViewChild('rmh') rmh;\r\n\r\n public dropdownMonthSettings: {};\r\n\r\n public RegionSettings = {};\r\n public RegionselectedItems: RegionModel[];\r\n\r\n public ProductSettings = {};\r\n public ProductSelectedItem: productModel[];\r\n\r\n public RMHSettings = {};\r\n public RMHSelectedItems: RMHModel[];\r\n\r\n public WarehouseLocationSettings = {};\r\n public WarehouseLocationSelectedItem: productModel[];\r\n\r\n public SBUSettings = {};\r\n public SBUSelectedItem: SBUModel[];\r\n\r\n public DivisionSettings = {};\r\n public DivisionSelectedItem: DivisionModel[];\r\n\r\n public ZoneSettings = {};\r\n public ZoneSelectedItem: ZoneModel[];\r\n\r\n public userId: string;\r\n public roleId: string;\r\n public FlagDropDown: string;\r\n public loader: string = \"none\";\r\n public files: File[] = [];\r\n public fileName: string = '';\r\n public ddlRequest: DropDownRequest = new DropDownRequest();\r\n public ddlResponse: DropDownResponse = new DropDownResponse();\r\n public whlocationList: WHLocationModel[];\r\n\r\n public invRequestModel: InventoryRequestModel = new InventoryRequestModel();\r\n public invResponseModel: Array = new Array();\r\n public defaultValue: Boolean = true;\r\n //Start: varibales for pagination\r\n pager: any = {};\r\n model: any[];\r\n pageSetting: number = 10;\r\n modalSetting: number = 0;\r\n modelFilter: any[];\r\n modelDepandent: any[];\r\n selectedPaging: any;\r\n\r\n totalRecord: any;\r\n currentPage: any;\r\n lastPage: any;\r\n isDisabledPrevious = true;\r\n isDisabledNext = false;\r\n defaultView: boolean = true;\r\n recordsOnCurrentPage: any = 10;\r\n currentDate = new Date();\r\n startRecord: any = 1;\r\n pagination: any[];\r\n userName: string;\r\n selectedProduct: any[] = [];\r\n commaSeperatedProduct: string;\r\n //END: varibales for pagination\r\n\r\n constructor(private inventoryService: InventoryService, private ddlServices: DropDownService, private toastr: ToastrService, private _pagerService: PagerService) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.userName = localStorage.getItem('dsu_userName')\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.FlagDropDown = \"DEFAULT\";\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.loader = 'block';\r\n this.selectedPaging = '0';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlServices.getAllHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse = response.data;\r\n this.GetSDData();\r\n this.GetWarehouseLocationData();\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.loader = 'none';\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n\r\n this.SBUMHSetting();\r\n this.DivisionSetting();\r\n this.ZoneSetting();\r\n this.RegionSetting();\r\n this.RMHSetting();\r\n this.WareHouseLocationSetting();\r\n this.ProductSetting();\r\n\r\n }\r\n\r\n\r\n RegionSetting() {\r\n this.RegionSettings = {\r\n singleSelection: false,\r\n idField: 'regionCode',\r\n textField: 'regionName',\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 //maxHeight: 197,\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 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 //maxHeight: 197,\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 ProductSetting() {\r\n this.ProductSettings = {\r\n singleSelection: false,\r\n idField: 'productId',\r\n textField: 'productName',\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 Product Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n public onRegionSelect(item: any) {\r\n if (this.roleId != '42') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n }\r\n public onRegionDeSelect(item: any) {\r\n if (this.roleId != '42') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n }\r\n\r\n public onRegionSelectAll(items: any) {\r\n if (this.roleId != '42') {\r\n this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n }\r\n public onRegionDeSelectAll(items: any) {\r\n this.rmh.selectedItems = [];\r\n //this.GetRegionWiseData(this.regionSelect.selectedItems);\r\n }\r\n public onRMHSelect(item: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelect(item: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n\r\n public onRMHSelectAll(items: any) {\r\n this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n public onRMHDeSelectAll(items: any) {\r\n this.regionSelect.selectedItems = [];\r\n //this.GetRMHWiseData(this.rmh.selectedItems);\r\n }\r\n\r\n public onProductSelect(item: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].text)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n public onProductDeSelect(item: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].text)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n\r\n public onProductSelectAll(items: any) {\r\n this.selectedProduct = [];\r\n for (var i = 0; i < this.productSelect.selectedItems.length; i++) {\r\n this.selectedProduct.push(this.productSelect.selectedItems[i].text)\r\n }\r\n this.commaSeperatedProduct = this.selectedProduct.join(\", \");\r\n }\r\n public onProductDeSelectAll(items: any) {\r\n this.selectedProduct = [];\r\n this.commaSeperatedProduct = '';\r\n }\r\n WareHouseLocationSetting() {\r\n this.WarehouseLocationSettings = {\r\n singleSelection: false,\r\n idField: 'whId',\r\n textField: 'whName',\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 Warehouse Location Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n SBUMHSetting() {\r\n this.SBUSettings = {\r\n singleSelection: false,\r\n idField: 'sbuCode',\r\n textField: 'sbuName',\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 SBU Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n DivisionSetting() {\r\n this.DivisionSettings = {\r\n singleSelection: false,\r\n idField: 'divisionCode',\r\n textField: 'divisionName',\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 Division Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n ZoneSetting() {\r\n this.ZoneSettings = {\r\n singleSelection: false,\r\n idField: 'zoneCode',\r\n textField: 'zoneName',\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 Zone Found',\r\n closeDropDownOnSelection: false,\r\n showSelectedItemsAtTop: false,\r\n defaultOpen: false\r\n };\r\n }\r\n bindMonthDropdownSetting() {\r\n this.dropdownMonthSettings = {\r\n singleSelection: false,\r\n text: \"Select Month\",\r\n idField: 'Id',\r\n textField: 'Text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n noDataAvailablePlaceholderText: 'No Month Found'\r\n };\r\n }\r\n\r\n public onSBUSelect(item: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelect(item: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onSBUSelectAll(items: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n public onSBUDeSelectAll(items: any) {\r\n this.GetSBUWiseData(this.sbu.selectedItems);\r\n }\r\n\r\n public onDivisionSelect(item: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n\r\n }\r\n public onDivisionDeSelect(item: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onDivisionSelectAll(items: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n public onDivisionDeSelectAll(items: any) {\r\n this.GetDivisionWiseData(this.division.selectedItems);\r\n }\r\n\r\n public onZoneSelect(item: any) {\r\n\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelect(item: any) {\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n public onZoneSelectAll(items: any) {\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n public onZoneDeSelectAll(items: any) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n this.GetZoneWiseData(this.zone.selectedItems);\r\n }\r\n\r\n GetSBUWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.SBU = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n //this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n this.ddlServices.getSBUHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n this.zone.selectedItems = [];\r\n this.division.selectedItems = [];\r\n this.ddlResponse.division = response.data.division;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.division.selectedItems = response.data.division.map(item => { return { id: item.divisionCode, text: item.divisionName } });\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetDivisionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Division = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getDivisionHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n this.zone.selectedItems = [];\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.zone = response.data.zone;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n\r\n this.zone.selectedItems = response.data.zone.map(item => { return { id: item.zoneCode, text: item.zoneName } });\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetZoneWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Zone = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getZoneHierarchyDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.rmh.selectedItems = [];\r\n this.regionSelect.selectedItems = [];\r\n\r\n this.ddlResponse.region = response.data.region;\r\n this.ddlResponse.rmh = response.data.rmh;\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n GetRegionWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.Region = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRegionWiseRMHDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.rmh.length > 0)\r\n this.rmh.selectedItems = response.data.rmh.map(item => { return { id: item.rmhCode, text: item.rmhName } });\r\n else\r\n this.rmh.selectedItems = [];\r\n // this.rmh.selectedItems = [];\r\n // this.ddlResponse.rmh = response.data.rmh;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetRMHWiseData(filter: any) {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = this.FlagDropDown;\r\n this.ddlRequest.RMH = Array.prototype.map.call(filter, function (item) { return item.id; }).join(\",\");\r\n this.ddlServices.getRMHWiseRegionDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n if (response.data.region.length > 0)\r\n this.regionSelect.selectedItems = response.data.region.map(item => { return { id: item.regionCode, text: item.regionName } });\r\n else\r\n this.regionSelect.selectedItems = [];\r\n // this.regionSelect.selectedItems = [];\r\n // this.ddlResponse.region = response.data.region;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetSDData() {\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlServices.getSDDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.sd = response.data.sd;\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n }\r\n\r\n }, error => {\r\n });\r\n }\r\n\r\n //IsOnInit==>True Means It execute on ngOnInit\r\n //IsOnInit==>False Means It execute on OnChnage\r\n GetWarehouseLocationData() {\r\n this.loader = 'block';\r\n this.ddlRequest.UserId = this.userId;\r\n this.ddlRequest.Role = this.roleId;\r\n this.ddlRequest.Flag = 'TRUE';\r\n this.ddlServices.getWarehouseLocationDropDown(this.ddlRequest)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.ddlResponse.warehouseLocation = response.data.warehouse;\r\n this.loader = 'none';\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n GetInventory(currentPage: any) {\r\n let isValid = true;\r\n if (this.warehouseLocation.selectedItems == \"\" || this.warehouseLocation.selectedItems == null) {\r\n this.toastr.error(\"Please select Warehouse Location\");\r\n isValid = false;\r\n return false;\r\n }\r\n if (isValid) {\r\n this.isDisabledPrevious = true;\r\n this.isDisabledNext = false;\r\n this.startRecord = 1;\r\n this.defaultValue = false;\r\n this.invRequestModel.userId = this.userId;\r\n this.invRequestModel.pageNo = currentPage;\r\n\r\n if (this.warehouseLocation.selectedItems.length > 0)\r\n this.invRequestModel.whLocation = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n else\r\n this.invRequestModel.whLocation = '';\r\n if (this.commaSeperatedProduct == undefined) {\r\n this.commaSeperatedProduct = '';\r\n }\r\n this.invRequestModel.product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n this.loader = 'block';\r\n this.inventoryService.getInventoryData(this.invRequestModel)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.invResponseModel = response.data;\r\n this.model = response.data.inventoryData;\r\n this.pagination = response.data.pagination;\r\n console.log(this.model);\r\n //this.setPage(1, this.pageSetting);\r\n this.loader = 'none';\r\n this.defaultView = false;\r\n this.totalRecord = response.data.pagination.totalRecord;\r\n this.lastPage = response.data.pagination.lastPage;\r\n this.currentPage = response.data.pagination.currentPage;\r\n this.recordsOnCurrentPage = this.currentPage * 10;\r\n if (this.currentPage > 1) {\r\n this.isDisabledPrevious = false;\r\n this.startRecord = (this.currentPage - 1) * 10 + 1;\r\n\r\n }\r\n if (this.currentPage == this.lastPage|| this.totalRecord==0) {\r\n this.isDisabledNext = !this.isDisabledNext;\r\n this.recordsOnCurrentPage = this.totalRecord;\r\n }\r\n if (this.model.length == 0) {\r\n this.startRecord = 0;\r\n this.recordsOnCurrentPage = 0;\r\n }\r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n\r\n }\r\n downloadFile() {\r\n let isValid = true;\r\n if (this.warehouseLocation.selectedItems == \"\" || this.warehouseLocation.selectedItems == null) {\r\n this.toastr.error(\"Please select WH Location\");\r\n isValid = false;\r\n return false;\r\n }\r\n if (isValid) {\r\n this.loader = 'block';\r\n this.invRequestModel.userId = this.userId;\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n // if (this.regionSelect.selectedItems.length > 0)\r\n // this.invRequestModel.region = Array.prototype.map.call(this.regionSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n // else\r\n // this.invRequestModel.region = '';\r\n if (this.warehouseLocation.selectedItems.length > 0)\r\n this.invRequestModel.whLocation = Array.prototype.map.call(this.warehouseLocation.selectedItems, function (item) { return item.id; }).join(\",\");\r\n else\r\n this.invRequestModel.whLocation = '';\r\n if (this.commaSeperatedProduct == undefined) {\r\n this.commaSeperatedProduct = '';\r\n }\r\n\r\n this.invRequestModel.product = Array.prototype.map.call(this.productSelect.selectedItems, function (item) { return item.id; }).join(\",\");\r\n\r\n this.inventoryService.DownloadFile(this.invRequestModel)\r\n .subscribe(\r\n success => {\r\n if (success.ok = true) {\r\n var blob = new Blob([success.blob()], { type: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n saveAs(blob, this.userName + \"_Inventory_\" + formattedDate + \".xlsx\");\r\n }\r\n this.loader = 'none';\r\n },\r\n err => {\r\n this.toastr.error(\"No data found\");\r\n //alert(\"No data found\");\r\n //alert(\"Some problem occurred while downloading file.\");\r\n this.loader = 'none';\r\n }\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.invResponseModel.length, page, pageSize);\r\n // this.model = this.invResponseModel.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.invResponseModel.length, page, pageSize);\r\n // this.model = this.invResponseModel.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.model = 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 // onSelectPaging(val: any): void {\r\n // if (val == \"0\") {\r\n // this.model = this.invResponseModel;\r\n // this.pageSetting = 10;\r\n // }\r\n // else {\r\n // this.pageSetting = val == \"1\" ? 20 : 30;\r\n // }\r\n // this.modalSetting = 0;\r\n // this.setPage(1, this.pageSetting);\r\n // }\r\n // END :For Pagination\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"img\\\"\\r\\n \\r\\n

Demo Samples

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Forgot your password?\\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 { 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 { 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\r\n private IsUserValid: boolean = false;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private loginService: LoginService,\r\n private form: FormBuilder,\r\n public 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 username: ['', Validators.required],\r\n password: ['', Validators.required]\r\n });\r\n }\r\n\r\n authenticateUser(formData: any) {\r\n if (formData.value.username.trim() == \"\") {\r\n this.toastr.error(\"Please enter user name.\");\r\n return;\r\n\r\n }\r\n else if (formData.value.password.trim() == \"\") {\r\n this.toastr.error(\"Please enter password.\");\r\n return;\r\n }\r\n else {\r\n this.loader = 'block';\r\n this.loginService.authenticateUser(formData)\r\n .subscribe((resData: any) => {\r\n if (resData.status) {\r\n localStorage.setItem('dsu_token', resData.data.token);\r\n localStorage.setItem('dsu_roleId', resData.data.roleId);\r\n localStorage.setItem('dsu_userId', resData.data.userID);\r\n localStorage.setItem('dsu_userName', resData.data.userName.trim());\r\n localStorage.setItem('dsu_roleCode', resData.data.roleCode);\r\n localStorage.setItem('dsu_roleName', resData.data.roleName.trim());\r\n localStorage.setItem('dsu_userType', resData.data.userType.trim());\r\n localStorage.setItem('dsu_isViewOnly', resData.data.isViewOnly);\r\n this.router.navigate(['DSU/Dashboard']);\r\n }\r\n else {\r\n this.toastr.error('Password is not valid.');\r\n }\r\n this.loader = 'none';\r\n }, error => {\r\n console.log(error);\r\n this.loader = 'none';\r\n } );\r\n \r\n }\r\n }\r\n\r\n isValidUser(event: any) {\r\n let userName: string = event.target.value;\r\n if (userName.trim() != \"\") {\r\n this.loginService.validateUser(userName)\r\n .subscribe((response: any) => {\r\n \r\n if (!response.status) {\r\n this.IsUserValid = false;\r\n this.toastr.error(response.data.errorDescription);\r\n \r\n }\r\n else {\r\n this.IsUserValid = true;\r\n }\r\n }, error => {\r\n console.log(error);\r\n });\r\n }\r\n else {\r\n this.toastr.error(\"Please enter user name.\");\r\n }\r\n }\r\n\r\n showForgotPassword() {\r\n let url: any;\r\n if (this.ROOT_URL.indexOf('dsu.fmcone.in') !== -1)\r\n url = 'https://cmaster.fmcone.in/ForgotPassword';\r\n else\r\n url = 'https://cmaster.uat.fmcone.in/ForgotPassword';\r\n\r\n\r\n window.open(url, \"_blank\");\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: 2000,\r\n verticalPosition: 'top',\r\n horizontalPosition: 'end',\r\n panelClass: [className],\r\n });\r\n}\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

MIS Inventory

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Stock-IN
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Product NamePack SizeQTYWH LocationInvoice NoInvoice DateTypeBrand ManagerCompany Code
No Record Found
{{dsReq.productName}}{{dsReq.packSize}}{{dsReq.qty}}{{dsReq.warehouseLocation}}{{dsReq.invoiceNO}}{{dsReq.invoiceDate}}{{dsReq.type}}{{dsReq.brandmanager}}{{dsReq.sd}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
Stock-OUT
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Product NamePack SizeQTYWH LocationInvoice NoInvoice DateTypeBrand ManagerCompany Code
No Record Found
{{inv.productName}}{{inv.packSize}}{{inv.qty}}{{inv.warehouseLocation}}{{inv.invoiceNO}}{{inv.invoiceDate}}{{inv.type}}{{inv.brandmanager}}{{inv.sd}}
\\r\\n No record found\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { DSDispatchToFieldTeamRequestModel } from '../../Models/DSDispatchToField/DS-Dispatch-To-Field.model';\r\nimport { MisInventory } from '../../Models/MisInventory/mis-inventory';\r\nimport { MisInventoryService } from '../../Services/MisInventory/mis-inventory.service';\r\n\r\n@Component({\r\n selector: 'app-mis-inventory',\r\n templateUrl: './mis-inventory.component.html',\r\n styleUrls: ['./mis-inventory.component.css']\r\n})\r\nexport class MisInventoryComponent implements OnInit {\r\n public loader: string = \"none\";\r\n userName: string;\r\n roleId: string;\r\n PageNo:number = 1; \r\n PageNo1:number = 1; \r\n\r\n pageSetting: number = 10;\r\n totalPages:number;\r\n pageSetting1: number = 10;\r\n totalPages1:number;\r\n userId: string;\r\n public dsDispatchRequest: DSDispatchToFieldTeamRequestModel = new DSDispatchToFieldTeamRequestModel();\r\n public misInventory: MisInventory = new MisInventory();\r\n CurrentYear: string;\r\n calModel1: any;\r\n calModel2: any;\r\n totalItemCount: any; \r\n totalItemCount1: any; \r\n dsDispatchGrid: any;\r\n stockOut: any = [];\r\n stockIn: any = [];\r\n defaultValue: boolean = true;\r\n\r\n constructor(private toastr: ToastrService, private misInventoryService: MisInventoryService) {\r\n this.userId = localStorage.getItem('dsu_userId');\r\n this.roleId = localStorage.getItem('dsu_roleId');\r\n this.userName = localStorage.getItem('dsu_userName');\r\n }\r\n\r\n ngOnInit() {\r\n this.CurrentYear = (new Date()).getFullYear().toString();\r\n }\r\n downloadLink(Path: string): void {\r\n this.loader = 'block';\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.dsDispatchRequest.fileUrl = Path;\r\n this.misInventoryService.DownloadFile(this.dsDispatchRequest).subscribe(\r\n success => {\r\n saveAs(success, this.userName + \"_DispatchToField_\" + formattedDate + \".xlsx\");\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\r\n DownloadExcelStockOut() {\r\n let isValid = true;\r\n this.loader = 'block';\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.loader = 'block';\r\n var datePipe = new DatePipe(\"en-US\");\r\n this.calModel1 = datePipe.transform(this.calModel1, 'dd/MMM/yyyy');\r\n this.calModel2 = datePipe.transform(this.calModel2, 'dd/MMM/yyyy');\r\n\r\n this.misInventory.userID = localStorage.getItem('dsu_userId');\r\n\r\n let fromDate = new Date(this.calModel1);\r\n let toDate = new Date(this.calModel2);\r\n\r\n\r\n let formattedFromDate = fromDate.getFullYear()+ \"-\" + (fromDate.getMonth() + 1) + \"-\" + fromDate.getDate();\r\n let formattedToDate = toDate.getFullYear() + \"-\" + (toDate.getMonth() + 1) + \"-\" + toDate.getDate();\r\n\r\n if (formattedFromDate == null || formattedFromDate == '1970-1-1' || formattedToDate == null || formattedToDate == '1970-1-1') {\r\n this.toastr.error(\"Please enter From Date and To Date.\");\r\n this.loader = 'none';\r\n isValid = false;\r\n return false;\r\n }\r\n if (fromDate > toDate) {\r\n this.toastr.error(\"To Date must be greater than From Date.\");\r\n this.loader = 'none';\r\n return isValid = false;\r\n }\r\n if (isValid) {\r\n this.misInventory.toDate = formattedToDate;\r\n this.misInventory.fromDate = formattedFromDate;\r\n\r\n this.misInventoryService.GetExcelFileName(this.misInventory)\r\n .subscribe(success => {\r\n saveAs(success, this.userName + \"_DispatchToSD_\" + formattedDate + \".xlsx\");\r\n this.loader = 'none';\r\n },\r\n err => {\r\n\r\n this.toastr.error(\"No data found\");\r\n this.loader = 'none';\r\n });\r\n }\r\n }\r\n \r\n DownloadExcelStockIn() {\r\n let isValid = true;\r\n this.loader = 'block';\r\n let today = new Date();\r\n let month;\r\n if((today.getMonth() + 1)<10)\r\n {\r\n month = '0' + (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n else\r\n {\r\n month = (today.getMonth() + 1).toString().slice(-2);\r\n }\r\n let formattedDate = today.getDate() + \"_\" + month + \"_\" + today.getFullYear();\r\n this.loader = 'block';\r\n var datePipe = new DatePipe(\"en-US\");\r\n this.calModel1 = datePipe.transform(this.calModel1, 'dd/MMM/yyyy');\r\n this.calModel2 = datePipe.transform(this.calModel2, 'dd/MMM/yyyy');\r\n\r\n this.misInventory.userID = localStorage.getItem('dsu_userId');\r\n\r\n let fromDate = new Date(this.calModel1);\r\n let toDate = new Date(this.calModel2);\r\n\r\n\r\n let formattedFromDate = fromDate.getFullYear()+ \"-\" + (fromDate.getMonth() + 1) + \"-\" + fromDate.getDate();\r\n let formattedToDate = toDate.getFullYear() + \"-\" + (toDate.getMonth() + 1) + \"-\" + toDate.getDate();\r\n\r\n if (formattedFromDate == null || formattedFromDate == '1970-1-1' || formattedToDate == null || formattedToDate == '1970-1-1') {\r\n this.toastr.error(\"Please enter From Date and To Date.\");\r\n this.loader = 'none';\r\n isValid = false;\r\n return false;\r\n }\r\n if (fromDate > toDate) {\r\n this.toastr.error(\"To Date must be greater than From Date.\");\r\n this.loader = 'none';\r\n return isValid = false;\r\n }\r\n if (isValid) {\r\n this.misInventory.toDate = formattedToDate;\r\n this.misInventory.fromDate = formattedFromDate;\r\n\r\n this.misInventoryService.DownloadExcel(this.misInventory)\r\n .subscribe(success => {\r\n saveAs(success, this.userName + \"_DispatchToSD_\" + formattedDate + \".xlsx\");\r\n this.loader = 'none';\r\n },\r\n err => {\r\n\r\n this.toastr.error(\"No data found\");\r\n this.loader = 'none';\r\n });\r\n }\r\n }\r\n \r\n GetMisInventoryScreen() {\r\n\r\n this.loader = 'block';\r\n this.misInventory.userID = this.userId;\r\n var datePipe = new DatePipe(\"en-US\");\r\n this.calModel1 = datePipe.transform(this.calModel1, 'dd/MMM/yyyy');\r\n this.calModel2 = datePipe.transform(this.calModel2, 'dd/MMM/yyyy');\r\n let isValid = true;\r\n let fromDate = new Date(this.calModel1);\r\n let toDate = new Date(this.calModel2);\r\n \r\n let formattedFromDate = fromDate.getFullYear()+ \"-\" + (fromDate.getMonth() + 1) + \"-\" + fromDate.getDate();\r\n let formattedToDate = toDate.getFullYear() + \"-\" + (toDate.getMonth() + 1) + \"-\" + toDate.getDate();\r\n\r\n if (formattedFromDate == null || formattedFromDate == '1970-1-1' || formattedToDate == null || formattedToDate == '1970-1-1') {\r\n this.toastr.error(\"Please enter From Date and To Date.\");\r\n this.loader = 'none';\r\n isValid = false;\r\n return false;\r\n }\r\n if (fromDate > toDate) {\r\n this.toastr.error(\"To Date must be greater than From Date.\");\r\n this.loader = 'none';\r\n return isValid = false;\r\n }\r\n if (isValid) {\r\n this.misInventory.toDate = formattedToDate;\r\n this.misInventory.fromDate = formattedFromDate;\r\n this.loader = 'block';\r\n this.misInventory.PageNo=this.PageNo;\r\n this.misInventory.PageNo1=this.PageNo1;\r\n\r\n this.misInventoryService.getStockoutScreenData(this.misInventory)\r\n .subscribe((response) => {\r\n if (response.status) {\r\n this.dsDispatchGrid = response.data;\r\n this.stockOut = this.dsDispatchGrid.table;\r\n this.stockIn = this.dsDispatchGrid.table1;\r\n this.defaultValue = false;\r\n this.loader = 'none';\r\n this.totalItemCount=response.data.table1[0].totaldata>0? response.data.table1[0].totaldata:0;\r\n this.totalPages = Math.ceil(this.totalItemCount / this.pageSetting); \r\n this.totalItemCount1=response.data.table[0].totaldata1>0? response.data.table[0].totaldata1:0;\r\n this.totalPages1 = Math.ceil(this.totalItemCount1 / this.pageSetting1); \r\n }\r\n else {\r\n this.toastr.error(response.message);\r\n this.loader = 'none';\r\n }\r\n\r\n }, error => {\r\n this.loader = 'none';\r\n });\r\n }\r\n }\r\n\r\n showCompaniesByPageNumber(page) { \r\n if(page>this.totalPages || page<1){\r\n return;\r\n }\r\n this.PageNo = page; \r\n this.GetMisInventoryScreen();\r\n }\r\n\r\n showCompaniesByPageNumber1(page) { \r\n if(page>this.totalPages1 || page<1){\r\n return;\r\n }\r\n this.PageNo1 = page; \r\n this.GetMisInventoryScreen();\r\n } \r\n \r\n Reset() {\r\n this.defaultValue = true;\r\n this.calModel1 = null;\r\n this.calModel2 = null;\r\n }\r\n \r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n
\\r\\n

Profile

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Username :\\r\\n {{profileDetailobj.userName}}\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Mobile Number :\\r\\n {{profileDetailobj.mobileNo}}\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Designation :\\r\\n {{profileDetailobj.designation}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Email Id :\\r\\n {{profileDetailobj.emailID}}\\r\\n
\\r\\n
\\r\\n \\\"no\\r\\n Supervisor Name :\\r\\n {{profileDetailobj.supervisor}}\\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 { Profile } from '../../Models/login/profile';\r\nimport { MatSnackBarComponent } from '../mat-snack-bar/mat-snack-bar.component';\r\n\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 profileDetail: Profile;\r\n error:boolean;\r\n\r\n constructor( private router: Router, private loginService: LoginService) { \r\n this.userId =localStorage.getItem('dsu_userId');\r\n }\r\n\r\n ngOnInit() {\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.snackBar.openSnackBar(resData.data.msg, 'Close', 'green-snackbar');\r\n this.loader = 'none';\r\n }\r\n else\r\n {\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","export class AdditionalRequirment {\r\n UserId: string;\r\n file:File;\r\n}\r\n","export class CropDetails {\r\n CropID: string;\r\n CropGroupName: string;\r\n CropName: string;\r\n status: Boolean;\r\n}\r\n\r\nexport class PackSizeDetails {\r\n ProductID: string;\r\n ProductName: string;\r\n PackSize: string;\r\n IsActive: Boolean;\r\n}\r\n","export class ReminderEmail {\r\n LoggedInUser: string;\r\n RequirementSubmissionRem1: string;\r\n RequirementSubmissionRem2: string;\r\n RequirementApprovalRem1: string;\r\n RequirementApprovalRem2: string;\r\n CostApprovalRem1: string;\r\n CostApprovalRem2: string;\r\n MaterialAllocationRem1: string;\r\n MaterialAllocationRem2: string;\r\n DispatchToSDRem1: string;\r\n DispatchToSDRem2: string;\r\n DispatchToFieldTeamRem1: string;\r\n DispatchToFieldTeamRem2: string;\r\n}\r\nexport class GetReminderDataModel\r\n {\r\n formId :string;\r\n reminder1Day :string;\r\n reminder2Day :string;\r\n }","export class AnnualRequirement {\r\n UserId: string;\r\n file:File;\r\n}\r\n\r\n \r\n\r\n","export class SaveCostApproval {\r\n RequestId :number;\r\n\tRequirementType:any;\r\n\tRMHCode:any;\r\n\tRMHName:any;\r\n\tProduct:any;\r\n\tWHLocation:any;\r\n\tSD:any;\r\n\tRequestedQTY:any;\r\n\tStockAvailable:any;\r\n\tFinalQTY:any;\r\n\tApprovedQTY:any;\r\n\tTotalCost:any;\r\n\tIsSelected:boolean;\r\n\tRemark:any;\r\n\tCostApprovalId :any;\r\n\tRequestDetailId:any;;\r\n\tcropId:number;\r\n\tproductId:any;\r\n\tpackSize:any;\r\n\tstatus:any;\r\n\tfmcstRemark:any;\r\n\tfmcstStatus:any;\r\n \r\n}","export class DSDispatchToFieldTeamRequestModel {\r\n userId: string;\r\n\tregion: string;\r\n\trmhCode: string;\r\n wh: string;\r\n whLocation: string;\r\n requirmentType: string\r\n fileUrl: string;\r\n product: string;\r\n jsonString: string;\r\n\tisDispatched: string;\r\n\tmfgDate: string;\r\n\texpDate: string;\r\n\t//batch: string;\r\n\tinvoice: string;\r\n\tyear:number;\r\n\tIsExcel:Number;\r\n\t\r\n}\r\nexport class DSDispatchToFieldTeamResponseModel {\r\n region: string;\r\n rmhName: string;\r\n rmhCode: string;\r\n productId: string;\r\n productName: string;\r\n cropId: number;\r\n cropName: string;\r\n whLocation: string;\r\n dispatchDate: string;\r\n expectedDeliveryDate: string\r\n dispatchQty: string;\r\n numberofbox: number;\r\n\tyear: number;\r\n}\r\nexport class DSDispatchToFieldTeamModel {\r\n AllocatedId: number;\r\n\tRequestNo :number;\r\n\tRequirementType: string;\r\n\tRegion: string;\r\n\tProductCode: string;\r\n\tProductName : string;\r\n\tWHCode : string;\r\n\tWHLocation : string;\r\n\tRMH_Name : string;\r\n\tMIOMDOUserId : string;\r\n\tMIOMDOUserName : string;\r\n\tDesignation : string;\r\n\tMIEUserId : string;\r\n\tMIEUserName : string;\r\n\tJAN : number;\r\n\tFEB : number;\r\n\tMAR : number;\r\n APR : number;\r\n\tMAY : number;\r\n\tJUN: number;\r\n\tJUL : number;\r\n\tAUG : number;\r\n\tSEP : number;\r\n\tOCT : number;\r\n\tNOV : number;\r\n\tDEC : number;\r\n\tAllocatedDate : string;\r\n\tPackSize : string;\r\n\tFinalAllotedQty : number;\r\n\tSampleAllocatedDate: string;\r\n\tChallanNo : string;\r\n\tNoOfCases : number;\r\n\tBatchNo : string;\r\n MFGDate : string;\r\n\tEXPDate : string;\r\n\tLRNO : string;\r\n\tLRDate : string;\r\n\tTransPortName : string;\r\n\tStatus : string;\r\n\tYear : number;\r\n\tRegionName:string;\r\n\t\r\n}","export class RequirementStatus{\r\n requirementStatusID:number;\r\n requirementStatusName:string;\r\n}\r\n\r\nexport class DashBoardFilterModel {\r\n UserId: string;\r\n RoleId: string;\r\n ReqType: string;\r\n SBUCode: string;\r\n DivisionCode: string;\r\n ZoneCode: string;\r\n RegionCode: string;\r\n RMHCode: string;\r\n Product: string;\r\n Month: string;\r\n Status: string;\r\n WhLocation: string;\r\n Quarter:string;\r\n Year:string;\r\n Crop:string;\r\n}\r\nexport class DashBoardDetails {\r\n RequestNo: number;\r\n Region: string;\r\n ReqType: string;\r\n RMHName: string;\r\n Product: string;\r\n Crop: string;\r\n Month: string;\r\n WHLocation: string;\r\n FinalApprovedQty: number;\r\n DispatchedQTYtoSDWH: number;\r\n DispatchedQTYToFieldTeam: number;\r\n Status: string;\r\n \r\n}\r\n","import { RegionModel, RMHModel, SModel,RMHAnnualModel } from './RegionModel';\r\nimport { ZoneModel } from './ZoneModel';\r\nimport { DivisionModel } from './DvisionModel';\r\nimport { SBUModel } from './SBUModel';\r\nimport { productModel } from './ProductModel';\r\nimport { CropModel } from './CropModel';\r\nimport { BatchModel } from './BatchModel';\r\nimport { InvoiceModel } from './InvoiceModel';\r\nimport { YearModel } from './YearModel';\r\nimport { monthModel } from './MonthModel';\r\nexport class DropDownRequest {\r\n UserId: string;\r\n Role: string;\r\n Region: string;\r\n Zone: string;\r\n Division: string;\r\n SBU: string;\r\n SD: string;\r\n RMH: string;\r\n crop: string;\r\n product: string;\r\n month:string;\r\n Flag: string;\r\n year:number;\r\n Annual:string;\r\n Status:string;\r\n IsBMData:boolean;\r\n WareHouse: string;\r\n}\r\n\r\nexport class DropDownResponse {\r\n region: Array = new Array()\r\n zone: Array = new Array()\r\n division: Array = new Array()\r\n sbu: Array = new Array()\r\n product: Array = new Array()\r\n month:Array=new Array()\r\n crop: Array = new Array()\r\n sd: Array = new Array()\r\n warehouseLocation: Array = new Array()\r\n rmh: Array = new Array()\r\n batch: Array = new Array()\r\n invoice: Array = new Array()\r\n year:Array=new Array()\r\n roleId:any[]\r\n annual:Array=new Array()\r\n status:Array=new Array()\r\n}\r\n\r\nexport class RequirmentTypeModel {\r\n id: number;\r\n text: string;\r\n}\r\nexport class WHLocationModel {\r\n WHId: string;\r\n WHName: string;\r\n}\r\nexport class SDModel {\r\n SDCode: string;\r\n SDName: string;\r\n}\r\nexport class StatusModel {\r\n id: number;\r\n text: string;\r\n}\r\nexport class DesignationModel {\r\n id: number;\r\n text: string;\r\n}\r\nexport class QuarterTypeModel {\r\n id: number;\r\n text: string;\r\n}\r\n","export class InventoryRequestModel {\r\n region: string;\r\n userId: string;\r\n wh: string;\r\n whLocation: string;\r\n pageNo: string;\r\n product: string;\r\n}\r\nexport class InventoryResponseModel {\r\n whCode: string;\r\n whlocation: string;\r\n productId:string;\r\n productName:string;\r\n expDate:string;\r\n stockAvailable: string;\r\n}","export class MisInventory {\r\n userID : string;\r\n\r\n fromDate: string;\r\n toDate: string;\r\n PageNo: number;\r\n PageNo1: number;\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 \"http://localhost:64379\";\r\n case \"127.0.0.1\":\r\n return \"http://localhost:64379\";\r\n default:\r\n return this.urlOrigin+\"/api\";\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from '../../models/global';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AdditionalRequirementService {\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 DownloadExcel(userId: string, region:string,year:any): Observable {\r\n\r\n let url = this.ROOT_URL + '/api/AdditionalRequirement/DownloadExcel';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"region\": region, \"year\":year};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n\r\n\r\n\r\n GetAdditionalRequirement(userid: any, region: any, month: any, product: any, crop: any,year:number, currentPage: any,status :any): Observable {\r\n let url = this.ROOT_URL + '/api/AdditionalRequirement/GetAdditionalRequirement';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userid, \"productId\": product, \"month\": month, \"region\": region, \"cropId\": crop,\"year\":year, \"PageNo\": currentPage,\"status\" :status };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 uploadDocument(documents: File, UserId: string, Region: string, Product: string,AnnualCycle :string): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", UserId);\r\n formData.append(\"Region\", Region);\r\n formData.append(\"Product\", Product);\r\n formData.append(\"AnnualCycle\", AnnualCycle);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/AdditionalRequirement/UploadFiles\",\r\n headers: headers,\r\n body: formData\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 FinalSubmission(userid: any, region: any): Observable {\r\n let url = this.ROOT_URL + '/api/AdditionalRequirement/FinalSubmissionRequest';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"UserId\": userid, \"Region\": region };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 getApprovalHistory(currentPageForHistory: number,userID: string, roleID: string, reqType: string, sbuCode: string,divisionCode: string, zoneCode: string,regionCode: string,rmhCode:string,year:number): Observable {\r\n let url = this.ROOT_URL + '/api/AdditionalRequirement/GetApprovalHistory';\r\n let body = {\"pageNo\": currentPageForHistory, \"userID\": userID, \"roleID\": roleID, \"reqType\": reqType, \"sbuCode\": sbuCode,\"divisionCode\": divisionCode,\"zoneCode\": zoneCode,\"regionCode\": regionCode,\"rmhCode\": rmhCode,\"year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { global } from '../../models/global';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/add/Observable/throw';\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\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\nimport { CropDetails } from '../../Models/AdminRights/crop-details';\r\nimport { ListItem } from 'ng-multiselect-dropdown/multiselect.model';\r\nimport { ReminderEmail } from '../../Models/AdminRights/reminder-email';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminRightsService {\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 productConfig(user: any): Observable {\r\n let _body = {\r\n \"userId\": user,\r\n \"RoleCode\": ''\r\n }\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/AdminRights/ProductConfig\",\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 getCropDetails(userID: string, roleCode: string): Observable {\r\n let url = this.ROOT_URL + '/api/AdminRights/CropDetails';\r\n let body = { \"userID\": userID, \"roleCode\": roleCode };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body\r\n //body: JSON.stringify(body)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n updateCropDetails(item: any, userId: string, roleId: string): Observable {\r\n let m_model = { 'model': item };\r\n let m_userid = { 'userId': userId };\r\n let m_roleId = { 'roleId': roleId };\r\n let url = this.ROOT_URL + '/api/AdminRights/UpdateCropDetails';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: { model: m_model, userid: m_userid, roleid: m_roleId },\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getPackSizeDetails(userID: string, roleCode: string): Observable {\r\n let url = this.ROOT_URL + '/api/AdminRights/PackSizeDetails';\r\n let body = { \"userID\": userID, \"roleCode\": roleCode };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body\r\n //body: JSON.stringify(body)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n updatePackSizeDetails(item: any, userId: string, roleId: string): Observable {\r\n let m_model = { 'model': item };\r\n let m_userid = { 'userId': userId };\r\n let m_roleId = { 'roleId': roleId };\r\n let url = this.ROOT_URL + '/api/AdminRights/UpdatePackSizeDetails';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: { model: m_model, userid: m_userid, roleid: m_roleId },\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n\r\n TimelineSettingSave(timeline:any): Observable\r\n { \r\n let url = this.ROOT_URL + '/api/AdminRights/TimelineSettingSave'; \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: url,\r\n headers: headers,\r\n body: timeline\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n\r\n\r\n // getReminderEmail(reminderEmail : ReminderEmail): Observable {\r\n // let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n // let _body ={model: { \"UserId\":UserId}};\r\n // let requestoptions: RequestOptions = new RequestOptions({\r\n // method: 'POST',\r\n // url: this.ROOT_URL+'/api/AdminRights/ReminderEmailConfig',\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 getReminderEmail(UserId:any): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n let _body ={\"userId\":UserId};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL+'/api/AdminRights/GetReminderEmailConfigData',\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 //postgetReminderEmail(FirstDate: any, SecondDate: any): Observable {\r\n postgetReminderEmail(FormData: any): Observable {\r\n let _body = {\r\n 'LoggedInUser': localStorage.getItem('dsu_userId'),\r\n 'RequirementSubmissionRem1': FormData.value.AnnualReminderFirstDate,\r\n 'RequirementSubmissionRem2': FormData.value.AnnualReminderSecondDate,\r\n 'RequirementApprovalRem1': FormData.value.ApprovalReminderFirstDate,\r\n 'RequirementApprovalRem2': FormData.value.ApprovalReminderSecondDate,\r\n 'CostApprovalRem1': FormData.value.CostReminderFirstDate,\r\n 'CostApprovalRem2': FormData.value.CostReminderSecondDate,\r\n 'MaterialAllocationRem1': FormData.value.MaterialReminderFirstDate,\r\n 'MaterialAllocationRem2': FormData.value.MaterialReminderSecondDate,\r\n 'DispatchToSDRem1': FormData.value.DispatchReminderFirstDate,\r\n 'DispatchToSDRem2': FormData.value.DispatchReminderSecondDate,\r\n 'DispatchToFieldTeamRem1': FormData.value.DispatchToFTReminderFirstDate,\r\n 'DispatchToFieldTeamRem2': FormData.value.DispatchToFTReminderSecondDate,\r\n };\r\n let headers = new Headers({ 'Content-Type': 'application/json; charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token')});\r\n\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/AdminRights/ReminderEmailConfig',\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 updateProductConfiguration(productConfigObj: any,user: any): Observable {\r\n let _body = { \"Obj\": { \"productList\": productConfigObj, \"userId\": user } };\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/AdminRights/UpdateProductConfig\",\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 }, error => {\r\n });\r\n }\r\n\r\n TimelineSettingView(userId: string): Observable { \r\n let url = this.ROOT_URL + '/api/AdminRights/TimelineSettingView?userId=' + 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: url,\r\n headers: headers,\r\n })\r\n let response = this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n return response;\r\n }\r\n TimelineSettingUpdate(timeline:any): Observable\r\n {\r\n let url = this.ROOT_URL + '/api/AdminRights/TimelineSettingUpdate';\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: url,\r\n headers: headers,\r\n body: timeline\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n TimelineNotification(): Observable { \r\n let url = this.ROOT_URL + '/api/AdminRights/TimelineNotification';\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: url,\r\n headers: headers,\r\n })\r\n let response = this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n return response;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n//import { User } from '../../models/AnnualRequirement/Annual-Requirement';\r\nimport { global } from '../../models/global';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnnualRequirementService {\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 DownloadExcel(userId: string,AnnualCycle:string, region:string, rolecode:string, year:any): Observable {\r\n //let m_userid = { 'userId': userId }; \r\n let url = this.ROOT_URL + '/api/AnnualRequirement/DownloadExcel';\r\n let body = { \"userId\": userId,\"AnnualCycle\":AnnualCycle,\"region\": region ,\"roleCode\":rolecode,\"Year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n uploadDocument(documents: File, UserId: string, Region:string,AnnualCycle :string): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", UserId);\r\n formData.append(\"Region\", Region);\r\n formData.append(\"AnnualCycle\", AnnualCycle);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/UploadFiles\",\r\n headers: headers,\r\n body: formData\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 GetAnnualRequirement(AnnualType : any,userid: any, region: any, month: any, product: any, crop: any,year: any, currentpage: any): Observable {\r\n debugger;\r\n let url = this.ROOT_URL + '/api/AnnualRequirement/GetAnnualRequirement';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"AnnualCycle\" :AnnualType,\"userId\": userid, \"productId\": product, \"month\": month, \"region\": region, \"cropId\": crop,\"year\":year,\"PageNo\": currentpage };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 FinalSubmission(userid: any, region: any,AnnualCycle :any): Observable {\r\n let url = this.ROOT_URL + '/api/AnnualRequirement/FinalSubmissionRequest';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"UserId\": userid, \"Region\": region ,\"AnnualCycle\" :AnnualCycle};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 getApprovalHistory(AnnualCycle,PageNo:number,userID: string, roleID: string, reqType: string, sbuCode: string,divisionCode: string, zoneCode: string,regionCode: string,rmhCode:string, year:any): Observable {\r\n let url = this.ROOT_URL + '/api/AnnualRequirement/GetApprovalHistory';\r\n let body = { \"AnnualCycle\":AnnualCycle,\"PageNo\":PageNo,\"userID\": userID, \"roleID\": roleID, \"reqType\": reqType, \"sbuCode\": sbuCode,\"divisionCode\": divisionCode,\"zoneCode\": zoneCode,\"regionCode\": regionCode,\"rmhCode\": rmhCode,\"year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { global } from '../../models/global';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DSCostApprovalService {\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 GetCostApproval(PageNo : Number,region: any, rmh: any, requirmentType: any, product: any, crop: any, userId: any, status: any, whCode:any,isProduct:any,year:any): Observable {\r\n let url = this.ROOT_URL + '/api/CostApproval/GetCostApproval';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = {\"PageNo\" :PageNo ,\"userId\": userId, \"product\": product, \"rmh\": rmh, \"region\": region, \"crop\": crop, \"requirementType\": requirmentType, \"status\":status, \"whCode\": whCode ,\"isProduct\":isProduct,\"year\":year};\r\n debugger;\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 SaveCostApproval(data: any, userId: any, requirmentType: any, year:any): Observable {\r\n let url = this.ROOT_URL + '/api/CostApproval/SaveCostApproval';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"objData\": { \"approvalList\": data, \"userId\": userId, \"requirementType\": requirmentType, \"year\": year} };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 DownloadExcel(userId: string, requirmentType: string, rmh:string, product:string,whCode:string,status:string,year:number): Observable {\r\n let url = this.ROOT_URL + '/api/CostApproval/DownloadExcel';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n //let body = { \"userId\": userId, \"requirementType\": requirmentType, 'rmh':rmh };\r\n let body = { \"userId\": userId, \"product\": product, \"rmh\": rmh, \"requirementType\": requirmentType, \"status\":status, \"whCode\": whCode,\"year\":year };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n\r\n UploadDocument(documents: File, UserId: string, year:any,AnnualCycle:any): Observable {\r\n debugger;\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", UserId);\r\n formData.append(\"year\", year);\r\n formData.append(\"AnnualCycle\", AnnualCycle);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/CostApproval/UploadFiles\",\r\n headers: headers,\r\n body: formData\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 DownloadExcelForAdmin(userId: string, requirmentType: string,rmh:string, product:string,whCode:string,status:string,year:number,sbu:string,division:string,zone:string,region:string,crop:string ): Observable {\r\n let url = this.ROOT_URL + '/api/CostApproval/DownloadExcelCropwiseForAdmin';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"requirementType\": requirmentType,\"product\": product, \"rmh\": rmh,\"status\":status, \"whCode\": whCode,\"year\":year,\"sbu\":sbu,\"division\":division,\"zone\":zone,\"region\":region,\"crop\":crop };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n DownloadExcelCropwise(userId: string, requirmentType: string, rmh:string, product:string,whCode:string,status:string,year:number): Observable {\r\n let url = this.ROOT_URL + '/api/CostApproval/DownloadExcelCropwise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n //let body = { \"userId\": userId, \"requirementType\": requirmentType, 'rmh':rmh };\r\n let body = { \"userId\": userId, \"product\": product, \"rmh\": rmh, \"requirementType\": requirmentType, \"status\":status, \"whCode\": whCode,\"year\":year };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n DownloadExcelCropwiseForAdmin(userId: string, requirmentType: string,year:number ): Observable {\r\n let url = this.ROOT_URL + '/api/CostApproval/DownloadExcelCropwiseForAdmin';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"requirementType\": requirmentType,\"year\":year };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { global } from '../../Models/global';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SDDispatchToFieldService {\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 GetExcelFileName(model: any): Observable {\r\n let _body = JSON.stringify(model);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let url = this.ROOT_URL + '/api/DispatchSDToField/CreateExcel';\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 DownloadFile(model: any): Observable {\r\n let _body = JSON.stringify(model);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DispatchSDToField/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: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n return blob;\r\n });\r\n }\r\n uploadDocument(documents: File, UserId: string, RequirmentType: string,Year:any): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", UserId);\r\n formData.append(\"RequirmentType\", RequirmentType);\r\n formData.append(\"Year\", Year);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DispatchSDToField/UploadFiles\",\r\n headers: headers,\r\n body: formData\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 getStockoutScreenData(requestModel: any): Observable {\r\n let url = this.ROOT_URL + '/api/DispatchSDToField/StockOutScreen';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(requestModel)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n saveFinalApprovalData(data: any, userId: any, requirmentType: any,year:number): Observable {\r\n let _body = { \"approvalList\": data, \"userId\": userId, \"requirementType\": requirmentType,\"year\":year};\r\n let url = this.ROOT_URL + '/api/DispatchSDToField/FinalApprovalStockOut';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getBatchNo(wh: any, product: any): Observable {\r\n let _body = { \"wh\": wh, \"product\": product };\r\n let url = this.ROOT_URL + '/api/DispatchSDToField/GetBatchNo';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n getInvoiceNo(wh: any, product: any): Observable {\r\n let _body = { \"wh\": wh, \"product\": product };\r\n let url = this.ROOT_URL + '/api/DispatchSDToField/GetInvoiceNo';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: _body\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n}\r\n","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 DashboardService {\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 getMenuList(): Observable {\r\n let roleCode = localStorage.getItem('dsu_roleCode');\r\n let userId = localStorage.getItem('dsu_userId');\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Auth/GetMenu?roleCode=\" + roleCode+\"&userId=\"+userId,\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 getStatus(userId: string, roleId: string): Observable {\r\n let url = this.ROOT_URL + '/api/DashBoard/GetStatus';\r\n let body = { \"userId\": userId, \"roleId\": roleId };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n \r\n getDashBoardDetails(model: any): Observable {\r\n let _body = JSON.stringify(model);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DashBoard/GetDashBoardDetails\",\r\n headers: headers,\r\n body: _body,\r\n });\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n downloadExcel(model: any): Observable {\r\n let _body = JSON.stringify(model);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DashBoard/ExcelDownload\",\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 return res;\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { global } from '../../models/global';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/add/Observable/throw';\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\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DemoSampleAllocationService {\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 getRequirementType(userId: string, roleId: string): Observable {\r\n let url = this.ROOT_URL + '/api/DemoSampleAllocation/GetRequirementType';\r\n let body = { \"userId\": userId, \"roleId\": roleId };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getRoleCode(userId: string, roleId: string): Observable {\r\n let url = this.ROOT_URL + '/api/DemoSampleAllocation/GetRoleCode';\r\n let body = { \"userId\": userId, \"roleId\": roleId };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getEmployeeName(userId: string, roleId: string, sbuCode: string, divisionCode: string, zoneCode: string, regionCode: string, selectedRole: string): Observable {\r\n let url = this.ROOT_URL + '/api/DemoSampleAllocation/GetEmployeeName';\r\n let body = { \"userId\": userId, \"roleId\": roleId, \"sbuCode\": sbuCode, \"divisionCode\": divisionCode, \"zoneCode\": zoneCode, \"regionCode\": regionCode, \"selectedRole\": selectedRole };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getDemoSampleAllocationDetails(userId: string, roleId: string, sbuCode: string, divisionCode: string, zoneCode: string, regionCode: string, reqType: string, selectedRole: string, employeeName: string,commaSeperatedStatus:string,commaSeperatedProduct:string, designation:string,year:any): Observable {\r\n let url = this.ROOT_URL + '/api/DemoSampleAllocation/GetDemoSampleAllocationDetails';\r\n let body = { \"userId\": userId, \"roleId\": roleId, \"sbuCode\": sbuCode, \"divisionCode\": divisionCode, \"zoneCode\": zoneCode, \"regionCode\": regionCode, \"reqType\": reqType, \"selectedRole\": selectedRole, \"employeeName\": employeeName,\"commaSeperatedStatus\":commaSeperatedStatus,\"commaSeperatedProduct\":commaSeperatedProduct, \"designation\":designation,\"year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n downloadExcel(model: any): Observable {\r\n //debugger\r\n let _body = JSON.stringify(model);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DemoSampleAllocation/ExcelDownload\",\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 return res;\r\n });\r\n }\r\n downloadExcelForMobile(model: any): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetRegionWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DemoSampleAllocation/ExcelDownloadForMobile\",\r\n headers: headers,\r\n body: JSON.stringify(model)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n // .map(response => (response));\r\n .map(response => (response).json());\r\n\r\n \r\n}\r\n\r\n\r\n uploadDocument(documents: File, userId: string,roleId: string,reqType:string,isSubmitted:string,year:any): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", userId);\r\n formData.append(\"RoleId\", roleId);\r\n formData.append(\"ReqType\", reqType);\r\n formData.append(\"Year\", year);\r\n // const data = {\r\n // isSubmitted: \"IsSubmitted\"\r\n // };\r\n // formData .append('IsSubmitted', JSON.stringify(data));\r\n formData.append(\"isSubmitted\", isSubmitted);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DemoSampleAllocation/UploadFiles\",\r\n headers: headers,\r\n body: formData\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 submitDemoSampleAllocationData(item:any,userId: string, roleId: string,reqType:string,isSubmitted:string,year:any): Observable {\r\n \r\n let url = this.ROOT_URL + '/api/DemoSampleAllocation/SubmitDemoSampleAllocationDetails';\r\n let body = { \"model\":item,\"userId\": userId, \"roleId\": roleId, \"reqType\":reqType,\"isSubmitted\":isSubmitted,\"year\":year};\r\n console.log(body);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n\r\n UpdateSubmitDemoSampleAllocationData(requestNo:string,product:string,region:string,miomdoUserID:string): Observable {\r\n \r\n let url = this.ROOT_URL + '/api/DemoSampleAllocation/UpdateSubmitDemoSampleAllocationDetails';\r\n let body = { \"requestNo\": requestNo, \"product\": product, \"region\":region,\"miomdoUserID\":miomdoUserID};\r\n console.log(body);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n\r\n\r\n\r\n GetDemoSampleData(id: string, reqType:string,year:number): Observable {\r\n \r\n let url = this.ROOT_URL + '/api/DemoSampleAllocation/GetDemoSampleData';\r\n let body = { \"id\": id, \"reqType\":reqType,\"year\":year,};\r\n console.log(body);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}","import {Injectable} from '@angular/core';\r\nimport {global} from '../../models/global';\r\nimport {Observable} from 'rxjs/Observable';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { JsonPipe } from '@angular/common';\r\n\r\n@Injectable({\r\nprovidedIn:'root'\r\n})\r\n\r\nexport class DispatchToSDService{\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 DownloadExcel(userId: string, whLocation:string, product:string): Observable {\r\n let body = { \"userId\": userId, \"product\": product, \"whLocation\":whLocation};\r\n let url = this.ROOT_URL + '/api/DispatchSD/DownloadExcel';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n\r\n UploadDocument(documents: File, UserId: string): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", UserId);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DispatchSD/UploadFiles\",\r\n headers: headers,\r\n body: formData\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 // GetDispatchToSD(whLocation:any, product:any,userId :any, currentPage : any):Observable{\r\n // let url = this.ROOT_URL + '/api/DispatchSD/GetDispatchToSD';\r\n // let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n // let body = { \"userId\": userId, \"productId\": product,\"currentPage\":currentPage, \"whLocation\":whLocation};\r\n // let requestoptions: RequestOptions = new RequestOptions({\r\n // method: 'POST',\r\n // url: url,\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 DownloadExcelForAdmin(userId: string, whLocation:string, product:string): Observable {\r\n let body = { \"userId\": userId, \"product\": product, \"whLocation\":whLocation};\r\n let url = this.ROOT_URL + '/api/DispatchSD/DownloadExcelForAdmin';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n\r\n GetDispatchToSD(whLocation:any, product:any,userId :any):Observable{\r\n let url = this.ROOT_URL + '/api/DispatchSD/GetDispatchToSD';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"product\": product, \"whLocation\":whLocation};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 SaveDispatchToSD(data: any, userId: any): Observable {\r\n let body = { \"dispatchList\": data, \"userId\": userId};\r\n let url = this.ROOT_URL + '/api/DispatchSD/SaveDispatchToSD';\r\n \r\n let headers = new Headers({\r\n 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token')\r\n , 'UserId': localStorage.getItem('dsu_userId'), 'RoleCode': localStorage.getItem('dsu_roleCode')\r\n });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 UpdateStockIn(data: any): Observable {\r\n let body = { \"model\": data};\r\n let url = this.ROOT_URL + '/api/DispatchSD/UpdateStockIn';\r\n \r\n let headers = new Headers({\r\n 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token')\r\n , 'UserId': localStorage.getItem('dsu_userId'), 'RoleCode': localStorage.getItem('dsu_roleCode')\r\n });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(data),\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}","import {Injectable} from '@angular/core';\r\nimport {global} from '../../models/global';\r\nimport {Observable} from 'rxjs/Observable';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { JsonPipe } from '@angular/common';\r\n\r\n@Injectable({\r\nprovidedIn:'root'\r\n})\r\n\r\nexport class DispatchToWarehouseService{\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 \r\n GetDispatchToWarehouse(whLocation:any, product:any,year:any, month:any, userId :any, pageNumber: number):Observable{\r\n debugger\r\n let url = this.ROOT_URL + '/api/DispatchToWarehouse/GetDispatchToWarehouse';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"product\": product,\"year\":year, \"month\": month, \"whLocation\":whLocation, \"pageNo\": pageNumber};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 DownloadExcelForDispatchToWarehouse(whLocation:any, product:any, month:any,yearfilter: any, userId :any, pageNumber: number):Observable{\r\n let url = this.ROOT_URL + '/api/DispatchToWarehouse/DownloadExcelForDispatchToWarehouse';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"product\": product, \"month\": month, \"whLocation\":whLocation, \"year\" : yearfilter};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n }); \r\n }\r\n\r\n uploadExcel(documents: File, UserId: string): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", UserId);\r\n \r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/DispatchToWarehouse/UploadExcel\",\r\n headers: headers,\r\n body: formData\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 DownloadDispatchHistory(whLocation:any, product:any, month:any, userId :any, pageNumber: number):Observable{\r\n let url = this.ROOT_URL + '/api/DispatchToWarehouse/DownloadDispatchHistoryExcel';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"product\": product, \"month\": month, \"whLocation\":whLocation};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n }); \r\n }\r\n\r\n GetWarehouseFilter(whLocation:any, product:any, month:any, userId :any,year :any):Observable{\r\n let url = this.ROOT_URL + '/api/DispatchToWarehouse/GetWarehouseFilter';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"product\": product, \"year\" :year,\"month\": month, \"whLocation\":whLocation};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 SaveDispatchToWarehouse(data: any, userId: any,yearfilter : any): Observable {\r\n debugger;\r\n let body = { \"dispatchList\": data, \"userId\": userId, \"year\": yearfilter};\r\n let url = this.ROOT_URL + '/api/DispatchToWarehouse/SaveDispatchToWarehouse';\r\n \r\n let headers = new Headers({\r\n 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token')\r\n , 'UserId': localStorage.getItem('dsu_userId'), 'RoleCode': localStorage.getItem('dsu_roleCode')\r\n });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 UpdateStockIn(data: any): Observable {\r\n let body = { \"model\": data};\r\n let url = this.ROOT_URL + '/api/DispatchSD/UpdateStockIn';\r\n \r\n let headers = new Headers({\r\n 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token')\r\n , 'UserId': localStorage.getItem('dsu_userId'), 'RoleCode': localStorage.getItem('dsu_roleCode')\r\n });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(data),\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 FMCSTClosedRequest(data: any): Observable {\r\n debugger;\r\n let body = {\"model\": data};\r\n let url = this.ROOT_URL + '/api/DispatchToWarehouse/FMCSTClosedRequest';\r\n \r\n let headers = new Headers({\r\n 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token')\r\n , 'UserId': localStorage.getItem('dsu_userId'), 'RoleCode': localStorage.getItem('dsu_roleCode')\r\n });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(data),\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}","import { Injectable } from '@angular/core';\r\nimport { global } from '../../models/global';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/add/Observable/throw';\r\nimport { Observable } from 'rxjs/Observable';\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 { DropDownRequest } from '../../Models/DropDwon/DropDownRequest';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DropDownService {\r\n getAnnualRequirementFilters() {\r\n throw new Error('Method not implemented.');\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 getAllHierarchyDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetAllRoleWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getSBUHierarchyDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetSBUWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getDivisionHierarchyDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetDivisionWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getZoneHierarchyDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetZoneWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getSDDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetSD';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getWarehouseLocationDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetWHLocation';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getRegionWiseRMHDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetRegionWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getRMHWiseRegionDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetRMHWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getProductWiseCropDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetProductWiseCrop';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getCropWisePorductDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetCropWiseProduct';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getSDRMHWise(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetSDRMHWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getWHRMHWise(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetWHRMHWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getAllHierarchyDemoSampleDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetAllRoleWiseNoRMH';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getSDRegionWise(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetSDRegionWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getRMHRoleId(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetRMHRoleId';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getWarehouseWiseRMHDropDown(ddlRequest: DropDownRequest): Observable {\r\n let url = this.ROOT_URL + '/api/DropDown/GetWarehouseWise';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(ddlRequest)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n \r\n}","import { Injectable } from '@angular/core';\r\nimport { global } from '../../models/global';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/add/Observable/throw';\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\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/Observable/throw';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FinalRequirementService {\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 getFinalRequirementDetails(pageno:number,product:string,crop:string,userID: string, roleID: string,sbuCode: string,divisionCode: string, zoneCode: string,regionCode: string, reqType: string,rmhCode:string,isProduct:boolean,year: any, status: string): Observable {\r\n debugger;\r\n let url = this.ROOT_URL + '/api/FinalRequirement/GetFinalRequirementDetails';\r\n let body = { \"pageno\":pageno,\"product\":product,\"crop\":crop,\"userID\": userID, \"roleID\": roleID, \"sbuCode\": sbuCode,\"divisionCode\": divisionCode,\"zoneCode\": zoneCode,\"regionCode\": regionCode,\"reqType\": reqType,\"rmhCode\":rmhCode,\"isProduct\":isProduct,\"year\":year,\"status\":status};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n approveFinalRequirementDetails(item: any, userID: string, roleID: string, reqType: string, regionCode: string,isRejected: boolean,comment:string, year:number): Observable {\r\n let m_model = { 'model': item };\r\n let m_userid = { 'userId': userID };\r\n let m_roleId = { 'roleId': roleID };\r\n let m_reqType = { 'requirementType': reqType };\r\n let m_regionCode = { 'regionCode': regionCode };\r\n let m_isRejected = { 'isRejected': isRejected };\r\n let m_comment = { 'comment': comment };\r\n let m_year= { 'year': year };\r\n let url = this.ROOT_URL + '/api/FinalRequirement/ApproveFinalReqDetails';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: { model: m_model, userid: m_userid, roleid: m_roleId, requirementType: m_reqType, regionCode: m_regionCode, isRejected: m_isRejected , comment:m_comment, year:m_year},\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n getApprovalHistory(currentPageForHistory: number, userID: string, roleID: string, reqType: string, sbuCode: string,divisionCode: string, zoneCode: string,regionCode: string,rmhCode:string,year:any): Observable {\r\n let url = this.ROOT_URL + '/api/FinalRequirement/GetApprovalHistory';\r\n let body = { \"pageNo\": currentPageForHistory, \"userID\": userID, \"roleID\": roleID, \"reqType\": reqType, \"sbuCode\": sbuCode,\"divisionCode\": divisionCode,\"zoneCode\": zoneCode,\"regionCode\": regionCode,\"rmhCode\": rmhCode,\"year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n getFinalRequirementDetailsExcel(pageNoForExcel:number, userID: string, roleID: string,sbuCode: string,divisionCode: string, zoneCode: string,regionCode: string, reqType: string,rmhCode:string,isProduct:boolean,year:number, status: string): Observable {\r\n let _body = {\"pageNo\":pageNoForExcel, \"userID\": userID, \"roleID\": roleID, \"sbuCode\": sbuCode,\"divisionCode\": divisionCode,\"zoneCode\": zoneCode,\"regionCode\": regionCode,\"reqType\": reqType,\"rmhCode\":rmhCode ,\"isProduct\":isProduct,\"year\":year,\"status\":status};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/FinalRequirement/GetFinalRequirementExcel\",\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 return res;\r\n });\r\n }\r\n getStatus(userId: string, roleId: string): Observable {\r\n let url = this.ROOT_URL + '/api/FinalRequirement/GetStatus';\r\n let body = { \"userId\": userId, \"roleId\": roleId };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n}\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { global } from '../../Models/global';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FmcToSdService {\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 uploadDocument(documents: File, UserId: string): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", UserId);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/FmcToSd/UploadFiles\",\r\n headers: headers,\r\n body: formData\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 DownloadExcel(userId: string): Observable {\r\n let url = this.ROOT_URL + '/api/FmcToSd/DownloadExcel?userId=' + userId;\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: url,\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 return res;\r\n });\r\n }\r\n ShowDataOnScreen(userId: any, currentPage: any): Observable {\r\n let url = this.ROOT_URL + '/api/FmcToSd/GetFmcToSdData';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"currentPage\": currentPage };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { global } from '../../Models/global';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MisInventoryService {\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 GetExcelFileName(model: any): Observable {\r\n let _body = JSON.stringify(model);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/MisInventory/CreateExcel',\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: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n return blob;\r\n });\r\n }\r\n\r\n DownloadFile(model: any): Observable {\r\n let _body = JSON.stringify(model);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/MisInventory/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: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n return blob;\r\n });\r\n }\r\n DownloadExcel(requestModel: any): Observable {\r\n let url = this.ROOT_URL + '/api/MisInventory/DownloadExcelStockIn';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(requestModel),\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: 'application/vnc.openxmlformats-officedocument.spreadsheetxml.sheet' })\r\n return blob;\r\n });\r\n}\r\ngetStockoutScreenData(requestModel: any): Observable {\r\n console.log(JSON.stringify(requestModel));\r\n let url = this.ROOT_URL + '/api/MisInventory/GetMisInventoryScreen';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(requestModel)\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\n//import { User } from '../../models/AnnualRequirement/Annual-Requirement';\r\nimport { global } from '../../models/global';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsService {\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 DSURequirementReport(userID: string, rolecode:string,year:number): Observable {\r\n //let m_userid = { 'userId': userId }; \r\n let url = this.ROOT_URL + '/api/Reports/DownloadExcel';\r\n let body = { \"userId\": userID, \"roleId\":rolecode,\"year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n\r\n DemoSampleMISReport(userID: string,rolecode:string,year:number): Observable {\r\n //let m_userid = { 'userId': userId }; \r\n let url = this.ROOT_URL + '/api/Reports/DownloadExcelMIS';\r\n let body = { \"userId\": userID, \"roleId\":rolecode,\"year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {global} from '../../models/global';\r\nimport {Observable} from 'rxjs/Observable';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\nimport { JsonPipe } from '@angular/common';\r\n\r\n@Injectable({\r\nprovidedIn:'root'\r\n})\r\n\r\nexport class SDAcknowledgeService{\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 GetSDAcknowledge(whLocation:any, product:any, month:any, userId :any,year :any):Observable{\r\n let url = this.ROOT_URL + '/api/SDAcknowledge/GetSDAcknowledge';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"product\": product, \"month\": month, \"whLocation\":whLocation, \"Year\": year};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 GetAcknowledgeFilter(whLocation:any, product:any,year:any, month:any, userId :any):Observable{\r\n let url = this.ROOT_URL + '/api/SDAcknowledge/GetAcknowledgeFilter';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"userId\": userId, \"product\": product,\"year\":year ,\"month\": month, \"whLocation\":whLocation};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 SaveSDAcknowledge(data: any, userId: any, year :any): Observable {\r\n let body = { \"dispatchList\": data, \"userId\": userId, \"year\": year};\r\n let url = this.ROOT_URL + '/api/SDAcknowledge/SaveSDAcknowledge';\r\n \r\n let headers = new Headers({\r\n 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token')\r\n , 'UserId': localStorage.getItem('dsu_userId'), 'RoleCode': localStorage.getItem('dsu_roleCode')\r\n });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 UpdateStockIn(data: any): Observable {\r\n let body = { \"model\": data};\r\n let url = this.ROOT_URL + '/api/SDAcknowledge/UpdateStockIn';\r\n \r\n let headers = new Headers({\r\n 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token')\r\n , 'UserId': localStorage.getItem('dsu_userId'), 'RoleCode': localStorage.getItem('dsu_roleCode')\r\n });\r\n \r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(data),\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}","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 } from '@angular/http';\r\nimport { global } from '../Models/global';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InventoryService {\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 getInventoryData(requestModel: any): Observable {\r\n let url = this.ROOT_URL + '/api/Inventory/InventoryData';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: JSON.stringify(requestModel)\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n\r\n DownloadFile(model: any): Observable {\r\n let _body = JSON.stringify(model);\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Inventory/InvExlDownload\",\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 return res;\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/Auth/ValidateUser\",\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 validateUser(userID: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n var validateData = { \"Username\": userID };\r\n let _body = JSON.stringify(validateData);\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Auth/IsValidUsers',\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 checkSession(): Promise {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token'), 'UserID': localStorage.getItem('dsu_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Auth/UserCookieExists',\r\n headers: headers\r\n\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 validateTokenInArchar(token: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n var validateData = { \"Token\": token };\r\n let _body = JSON.stringify(validateData);\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Auth/IsValidTokens',\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 Notification(): Observable {\r\n let userId = localStorage.getItem('dsu_userId');\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token'), 'UserID': localStorage.getItem('dsu_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Auth/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 profileDetails(userid: string): Observable {\r\n let _body = {\r\n \"UserId\": userid\r\n }\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token'), 'UserID': localStorage.getItem('dsu_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Auth/ProfileDetails\",\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 notificationCount(userId: any): Observable {\r\n\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Auth/NotificationCount?userid=\" + userId,\r\n headers: headers\r\n });\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n }\r\n\r\n updateNotificationCount(userId: any): Observable {\r\n\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Auth/UpdateNotificationCount?userid=\" + userId,\r\n headers: headers\r\n });\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n }\r\n\r\n ClearNotification(userId: any, id: number, IsAllClear: boolean): Observable {\r\n let _body = { \"UserId\": userId, \"NotificationId\": id, \"IsAllClear\": IsAllClear };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Auth/ClearNotificationList\",\r\n headers: headers,\r\n body: _body\r\n });\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n }\r\n\r\n}\r\n\r\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 { 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 localStorage.clear();\r\n sessionStorage.clear();\r\n this.removejscssfile(\"custome_script.js\", \"js\");\r\n this.router.navigate(['/DSU/Login']);\r\n \r\n if (document.location.hostname == \"localhost\") {\r\n window.location.href = \"http://localhost:4200/#/DSU/Login\"\r\n } else {\r\n window.location.href = \"https://dsu.uat.fmcone.in/#/DSU/Login\"\r\n }\r\n clearInterval(this.id);\r\n this.timer = 0;\r\n location.reload();\r\n }\r\n\r\n removejscssfile(filename: string, filetype: string) {\r\n\r\n var targetelement = (filetype == \"js\") ? \"script\" : (filetype == \"css\") ? \"link\" : \"none\" //determine element type to create nodelist from\r\n var targetattr = (filetype == \"js\") ? \"src\" : (filetype == \"css\") ? \"href\" : \"none\" //determine corresponding attribute to test for\r\n var allsuspects = document.getElementsByTagName(targetelement)\r\n for (var i = allsuspects.length; i >= 0; i--) { //search backwards within nodelist for matching elements to remove\r\n if (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1)\r\n allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()\r\n }\r\n }\r\n}\r\n\r\n","module.exports = \"\"","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\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 = 'https://dsu.uat.fmcone.in/#/'\r\n //UAT_IP_2 = 'http://169.38.100.202:9246/#/'\r\n //PROD_IP_1 = 'http://169.38.100.229:8220/#/'\r\n localHost = 'http://localhost:4200'\r\n title = 'Demo Samples';\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 if ((window.location.href !== this.UAT_IP_1 + \"DSU/Login\")\r\n //&& (window.location.href !== this.UAT_IP_2 + \"DSU/Login\") \r\n //&& (window.location.href !== this.PROD_IP_1 + \"MCMaterial/Login\")\r\n && (window.location.href !== this.localHost + \"DSU/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, CUSTOM_ELEMENTS_SCHEMA } 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 { MasterLayoutComponent } from './Components/Layout/MasterLayout.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\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\nimport { OrderModule } from 'ngx-order-pipe';\r\nimport { EncryptionDecryptionService } from './Services/encryption-decryption/encryption-decryption.service';\r\nimport { ProductConfigComponent } from '../app/Components/adminRights/product-config/product-config.component';\r\nimport { DsCostApprovalComponent } from '../app/Components/dsCostApproval/ds-cost-approval.component';\r\nimport { CropConfigComponent } from '../app/Components/adminRights/crop-config/crop-config.component';\r\nimport { AdditionalRequirmentComponent } from './Components/AdditionalRequirment/addtionalRequirment.component';\r\nimport { AnnualRequirmentComponent } from './Components/AnnualRequirment/annualRequirment.component';\r\nimport { FinalRequirmentComponent } from './Components/FinalRequirment/finalRequirment.component';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { AnnualRequirementService } from './services/AnnualRequirement/annual-requirement.service';\r\nimport { DispatchSDComponent } from './Components/DispatchSD/dispatch-sd.component';\r\nimport { DispatchToWarehouseComponent } from './Components/DispatchToWarehouse/dispatch-to-warehouse.component';\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 { InventoryComponent } from './Components/inventory/inventory.component';\r\nimport { PackSizeConfigComponent } from './Components/adminRights/pack-size-config/pack-size-config.component';\r\nimport { ReminderEmailConfigComponent } from './Components/adminRights/reminder-email-config/reminder-email-config.component';\r\nimport { TimelineComponent } from './Components/adminRights/timeline/timeline.component';\r\nimport { AdminRightsService } from './Services/AdminRights/admin-rights.service';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { DemoSampleAllocationComponent } from './Components/demo-sample-allocation/demo-sample-allocation.component';\r\nimport { DSDispatchToFieldComponent } from './Components/DSDispatchToField/DS-Dispatch-To-Field.component';\r\nimport { FmcToSdComponent } from './Components/fmc-to-sd/fmc-to-sd.component';\r\nimport { MisInventoryComponent } from './Components/mis-inventory/mis-inventory.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { DSURequirementReportComponent } from './Components/Reports/dsurequirement-report/dsurequirement-report.component';\r\nimport { SDAcknowledge } from './Components/SDAcknowledge/sd-acknowledge.component';\r\nimport { DemoSampleMisComponent } from './Components/demo-sample-mis/demo-sample-mis.component';\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: 'DSU/Login', component: LoginComponent }\r\n ]\r\n },\r\n {\r\n path: '',\r\n component: MasterLayoutComponent,\r\n children: [\r\n { path: 'DSU/Dashboard', component: HomeComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/Profile', component: ProfileComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/CropConfiguration', component: CropConfigComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/ProductConfiguration', component: ProductConfigComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/Inventory', component: InventoryComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/PackSizeConfiguration', component: PackSizeConfigComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/Profile', component: ProfileComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/PackSizeConfiguration', component: PackSizeConfigComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/DSCostApproval', component: DsCostApprovalComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/AdditionalRequirement', component: AdditionalRequirmentComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/AnnualRequirement', component: AnnualRequirmentComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/FinalRequirement', component: FinalRequirmentComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/ReminderEmailConfig', component: ReminderEmailConfigComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/TimelineSettings', component: TimelineComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/DemoSampleAllocation', component: DemoSampleAllocationComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n // { path: 'DSU/DSDispatchtoSD', component: DispatchSDComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/DSDispatchtoField', component: DSDispatchToFieldComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/FmcToSd', component: FmcToSdComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n // { path: 'DSU/MISInventory', component: MisInventoryComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/DemoSampleMIS', component:DemoSampleMisComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/DSURequirementReport', component: DSURequirementReportComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/DSDispatchtoWarehouse', component: DispatchToWarehouseComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n { path: 'DSU/DSSDAcknowledge', component: SDAcknowledge, pathMatch: 'full', canActivate: [AuthGuard] },\r\n ]\r\n },\r\n { path: '**', redirectTo: 'DSU/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\r\n ],\r\n // declarations: [DemoSampleMisComponent],\r\n // declarations: [DSURequirementReportComponent],\r\n //declarations: [DemoSampleAllocationComponent],\r\n // declarations: [ReminderEmailConfigComponent],\r\n //declarations: [PackSizeConfigComponent],\r\n //declarations: [ProductConfigComponent, CropConfigComponent]\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 MasterLayoutComponent,\r\n LoginLayoutComponent,\r\n DragDirective,\r\n ProfileComponent,\r\n ProductConfigComponent,\r\n CropConfigComponent,\r\n InventoryComponent,\r\n PackSizeConfigComponent,\r\n AdditionalRequirmentComponent,\r\n AnnualRequirmentComponent,\r\n FinalRequirmentComponent,\r\n ReminderEmailConfigComponent,\r\n DsCostApprovalComponent,\r\n TimelineComponent,\r\n FinalRequirmentComponent,\r\n DemoSampleAllocationComponent,\r\n DispatchSDComponent,\r\n DSDispatchToFieldComponent,\r\n FmcToSdComponent,\r\n MisInventoryComponent,\r\n DSURequirementReportComponent,\r\n DispatchToWarehouseComponent,\r\n SDAcknowledge,\r\n DemoSampleMisComponent\r\n ],\r\n imports: [\r\n FormsModule,\r\n BrowserModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n HttpModule,\r\n MatSnackBarModule,\r\n NgxPaginationModule,\r\n HttpClientModule,\r\n DemoMaterialModule,\r\n Ng4LoadingSpinnerModule.forRoot(),\r\n ToastrModule.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 NgMultiSelectDropDownModule.forRoot(),\r\n RouterModule.forRoot(routes, { useHash: true }),\r\n Ng2SearchPipeModule,\r\n CalendarModule,\r\n ],\r\n providers: [LoginService, EncryptionDecryptionService, AuthGuard, MatSnackBarComponent, MatDatepickerModule, PagerService, AnnualRequirementService, AdminRightsService,DatePipe],\r\n bootstrap: [AppComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\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\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\nexport class AuthGuard implements CanActivate {\r\n validateLoginForm: FormGroup;\r\n constructor(private router: Router, private loginService: LoginService, private authService: AuthService,\r\n private form: FormBuilder) {\r\n \r\n }\r\n canActivate(\r\n \r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n\r\n if(next.queryParams.token){\r\n\r\n \r\n this.loginService.validateTokenInArchar(next.queryParams.token).subscribe((resData: any) => {\r\n\r\n if (resData.status) {\r\n this.validateLoginForm = this.form.group({\r\n username: [resData.data.userID, Validators.required],\r\n password: [resData.data.password, Validators.required]\r\n });\r\n \r\n this.loginService.authenticateUser(this.validateLoginForm)\r\n .subscribe((resData: any) => {\r\n\r\n if (resData.status) {\r\n localStorage.setItem('dsu_token', resData.data.token);\r\n localStorage.setItem('dsu_roleId', resData.data.roleId);\r\n localStorage.setItem('dsu_userId', resData.data.userID);\r\n localStorage.setItem('dsu_userName', resData.data.userName.trim());\r\n localStorage.setItem('dsu_roleCode', resData.data.roleCode);\r\n localStorage.setItem('dsu_roleName', resData.data.roleName.trim());\r\n localStorage.setItem('dsu_userType', resData.data.userType.trim());\r\n \r\n this.router.navigate(['DSU/DemoSampleAllocation']);\r\n return true;\r\n }\r\n else {\r\n //this.toastr.error('Password is not valid.');\r\n }\r\n }, error => {\r\n console.log(error);\r\n });\r\n \r\n \r\n \r\n \r\n }else{\r\n alert(\"You don't have permission to view this page!\");\r\n }\r\n }, error => {\r\n console.log(error);\r\n });\r\n \r\n \r\n \r\n \r\n // if (this.CheckPermissionOfPage(this.getResolvedUrl(next))) {\r\n // localStorage.setItem('dsu_token', 'uZVTLBCWcw33RIhvnbxTKxTxM2rKJ7YJrwyUXhXn');\r\n // localStorage.setItem('dsu_roleId', \"43\");\r\n // localStorage.setItem('dsu_userId', \"FMC-0145\");\r\n // localStorage.setItem('dsu_userName', \"Nausaba Khatoon\");\r\n // localStorage.setItem('dsu_roleCode', \"Marketing Region Head\");\r\n // localStorage.setItem('dsu_roleName', \"RMH\");\r\n // localStorage.setItem('dsu_userType', \"Worker\");\r\n \r\n // }\r\n }\r\n else if (localStorage.getItem(\"dsu_userId\")) {\r\n\r\n if (this.CheckPermissionOfPage(this.getResolvedUrl(next))) {\r\n return true;\r\n }\r\n {\r\n this.router.navigate(['/DSU/Login']);\r\n localStorage.clear();\r\n return false;\r\n }\r\n }\r\n \r\n else {\r\n this.router.navigate(['/DSU/Login']);\r\n localStorage.clear();\r\n return false;\r\n }\r\n }\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(\"dsu_userId\");\r\n sessionStorage.setItem(\"dsu_userId\", userId)\r\n let sessionUserId = sessionStorage.getItem(\"dsu_userId\");\r\n if (sessionUserId == null) {\r\n this.router.navigate(['/DSU/Login']);\r\n flag = false;\r\n }\r\n } else {\r\n this.router.navigate(['/DSU/Login']);\r\n flag = false;\r\n }\r\n }\r\n else {\r\n this.router.navigate(['/DSU/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(['/DSU/Login']);\r\n flag = false;\r\n }\r\n console.log(error);\r\n });\r\n\r\n return flag = true;\r\n }\r\n getResolvedUrl(route: ActivatedRouteSnapshot): string {\r\n return route.pathFromRoot\r\n .map(v => v.url.map(segment => segment.toString()).join('/'))\r\n .join('/').replace('//','/');\r\n }\r\n CheckPermissionOfPage(url: string) {\r\n let isValid = false;\r\n let userRoleId = localStorage.getItem('dsu_roleId');\r\n if (userRoleId == \"28\") {//Brand Manager[MKTG]\r\n if (url == \"/DSU/DSCostApproval\"\r\n || url == \"/DSU/Dashboard\"\r\n || url == \"/DSU/AdditionalRequirement\"\r\n || url == \"/DSU/Profile\"\r\n || url == \"/DSU/FinalRequirement\"\r\n || url == \"/DSU/MISInventory\"\r\n || url == \"/DSU/DemoSampleMIS\"\r\n || url == \"/DSU/DSURequirementReport\"\r\n\r\n ) {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n\r\n }\r\n else if (userRoleId == \"42\" ||userRoleId == \"76\" ) {//Regional Marketing Head[AMM/RMH]\r\n\r\n if (url == \"/DSU/Dashboard\"\r\n || url == \"/DSU/AnnualRequirement\"\r\n || url == \"/DSU/AdditionalRequirement\"\r\n || url == \"/DSU/Profile\"\r\n || url == \"/DSU/MISInventory\" || url == \"/DSU/DemoSampleMIS\") {\r\n isValid = true;\r\n }\r\n else if (url == \"/DSU/Inventory\"\r\n || url == \"/DSU/DemoSampleAllocation\"\r\n || url == \"/DSU/DSDispatchtoField\"\r\n || url == \"/DSU/MISInventory\" || url == \"/DSU/DemoSampleMIS\") {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n }\r\n //Zonal Marketing Head[ZMH],Division Marketing Head[DMH],SBU Marketing Head[SBUMH]\r\n else if (userRoleId == \"43\" || userRoleId == \"39\" || userRoleId == \"44\"|| userRoleId == \"77\") {\r\n if (url == \"/DSU/Dashboard\"\r\n || url == \"/DSU/AnnualRequirement\"\r\n || url == \"/DSU/AdditionalRequirement\"\r\n || url == \"/DSU/Profile\"\r\n || url == \"/DSU/MISInventory\" || url == \"/DSU/DemoSampleMIS\") {\r\n isValid = true;\r\n }\r\n else if (url == \"/DSU/Inventory\"\r\n || url == \"/DSU/FinalRequirement\"\r\n || url == \"/DSU/DemoSampleAllocation\"\r\n || url == \"/DSU/DSDispatchtoField\"\r\n || url == \"/DSU/MISInventory\" || url == \"/DSU/DemoSampleMIS\") {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n }\r\n //else if (userRoleId == \"14\") {//Super Distributor-HO Team[SDHO]\r\n else if (userRoleId == \"52\"){\r\n if (url == \"/DSU/Dashboard\"\r\n || url == \"/DSU/Inventory\"\r\n || url == \"/DSU/DSDispatchtoSD\"\r\n || url == \"/DSU/DSDispatchtoField\"\r\n || url == \"/DSU/DSDispatchtoWarehouse\"\r\n || url == \"/DSU/DemoSampleAllocation\"\r\n || url == \"/DSU/MISInventory\"\r\n || url == \"/DSU/DemoSampleMIS\"\r\n || url == \"/DSU/Profile\") {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n }\r\n \r\n else if (userRoleId == \"53\" || userRoleId == \"14\") {//SD-WH Team[SDWH]\r\n\r\n if (url == \"/DSU/Dashboard\"\r\n || url == \"/DSU/Inventory\"\r\n || url == \"/DSU/DSDispatchtoField\"\r\n || url == \"/DSU/DSDispatchtoSD\"\r\n || url == \"/DSU/DemoSampleAllocation\"\r\n || url == \"/DSU/MISInventory\"\r\n || url == \"/DSU/DemoSampleMIS\"\r\n || url == \"/DSU/DSSDAcknowledge\"\r\n || url == \"/DSU/Profile\") {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n }\r\n else if (userRoleId == \"49\") {//Demand Fulfilment Specialist[DFS]\r\n if (url == \"/DSU/Dashboard\"\r\n || url == \"/DSU/Inventory\"\r\n || url == \"/DSU/DSDispatchtoSD\"\r\n || url == \"/DSU/Profile\"\r\n || url == \"/DSU/MISInventory\" || url == \"/DSU/DemoSampleMIS\") {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n }\r\n else if (userRoleId == \"56\") {\r\n if (url == \"/DSU/Dashboard\"\r\n || url == \"/DSU/AdditionalRequirement\"\r\n || url == \"/DSU/Profile\"\r\n || url == \"/DSU/MISInventory\" || url == \"/DSU/DemoSampleMIS\") {\r\n isValid = true;\r\n }\r\n else if (url == \"/DSU/Inventory\"\r\n || url == \"/DSU/DemoSampleAllocation\"\r\n || url == \"/DSU/DSDispatchtoField\"\r\n || url == \"/DSU/MISInventory\" || url == \"/DSU/DemoSampleMIS\") {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n }\r\n else if (userRoleId == \"36\"){\r\n if (url == \"/DSU/Dashboard\"\r\n || url == \"/DSU/Inventory\"\r\n || url == \"/DSU/FinalRequirement\"\r\n || url == \"/DSU/DSDispatchtoField\"\r\n || url == \"/DSU/MISInventory\"\r\n || url == \"/DSU/DemoSampleMIS\"\r\n || url == \"/DSU/Profile\") {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n }\r\n else if(userRoleId == \"1\"|| userRoleId==\"37\" || userRoleId == \"75\" ){\r\n isValid = true;\r\n\r\n }\r\n else {\r\n isValid = false\r\n }\r\n\r\n return isValid;\r\n }\r\n\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 DSDispatchToFieldTeamRequestModel {\r\n userId: string;\r\n\tregion: string;\r\n\trmhCode: string;\r\n wh: string;\r\n whLocation: string;\r\n requirmentType: string\r\n fileUrl: string;\r\n product: string;\r\n jsonString: string;\r\n\tisDispatched: string;\r\n\tmfgDate: string;\r\n\texpDate: string;\r\n\t//batch: string;\r\n\tinvoice: string;\r\n\tyear:number;\r\n\tIsExcel:Number;\r\n\t\r\n}\r\nexport class DSDispatchToFieldTeamResponseModel {\r\n region: string;\r\n rmhName: string;\r\n rmhCode: string;\r\n productId: string;\r\n productName: string;\r\n cropId: number;\r\n cropName: string;\r\n whLocation: string;\r\n dispatchDate: string;\r\n expectedDeliveryDate: string\r\n dispatchQty: string;\r\n numberofbox: number;\r\n\tyear: number;\r\n}\r\nexport class DSDispatchToFieldTeamModel {\r\n AllocatedId: number;\r\n\tRequestNo :number;\r\n\tRequirementType: string;\r\n\tRegion: string;\r\n\tProductCode: string;\r\n\tProductName : string;\r\n\tWHCode : string;\r\n\tWHLocation : string;\r\n\tRMH_Name : string;\r\n\tMIOMDOUserId : string;\r\n\tMIOMDOUserName : string;\r\n\tDesignation : string;\r\n\tMIEUserId : string;\r\n\tMIEUserName : string;\r\n\tJAN : number;\r\n\tFEB : number;\r\n\tMAR : number;\r\n APR : number;\r\n\tMAY : number;\r\n\tJUN: number;\r\n\tJUL : number;\r\n\tAUG : number;\r\n\tSEP : number;\r\n\tOCT : number;\r\n\tNOV : number;\r\n\tDEC : number;\r\n\tAllocatedDate : string;\r\n\tPackSize : string;\r\n\tFinalAllotedQty : number;\r\n\tSampleAllocatedDate: string;\r\n\tChallanNo : string;\r\n\tNoOfCases : number;\r\n\tBatchNo : string;\r\n MFGDate : string;\r\n\tEXPDate : string;\r\n\tLRNO : string;\r\n\tLRDate : string;\r\n\tTransPortName : string;\r\n\tStatus : string;\r\n\tYear : number;\r\n\tRegionName:string;\r\n\t\r\n}","export class DynamicAddRow{ \r\n WarehouseCode:string; \r\n WarehouseLocation:string; \r\n ItemCode:string; \r\n ItemName:string; \r\n PackSize:string; \r\n StockReceiptDate:string; \r\n ReceivedThrough:string;\r\n ReceivedFrom:string;\r\n BatchNo:string;\r\n QtyMentionedInDoc: string;\r\n ActualQtyReceived: string;\r\n NoofCase:string;\r\n MFGDate:string;\r\n EXPDate:string;\r\n DocNo:string;\r\n InvNo:string;\r\n INVDate:string;\r\n} \r\n\r\nexport class UploadExcel {\r\n UserId: string;\r\n file:File;\r\n}\r\n","export class DemoSampleAllocationDetails {\r\n RowNum: number;\r\n RequestNo: number;\r\n region: string;\r\n RMHCode: string;\r\n ProductName: string;\r\n FinalQTY: number;\r\n FinalApproveQTY: number;\r\n EmployeeName: string;\r\n QTYAllocation: number;\r\n NoOfUnit: number;\r\n PackSize: string;\r\n Month: string;\r\n Status: string;\r\n isAllocated: number;\r\n}\r\n\r\n\r\nexport class RoleCodeModel {\r\n RoleID: number;\r\n RoleCode: string;\r\n\r\n}\r\nexport class EmployeeNameModel {\r\n TMHEmployeeName: string;\r\n UMHEmployeeName: string;\r\n\r\n}\r\nexport class FilterModel {\r\n UserId: string;\r\n RoleId: string;\r\n ReqType: string;\r\n SBUCode: string;\r\n DivisionCode: string;\r\n ZoneCode: string;\r\n RegionCode: string;\r\n UserRole: string;\r\n SelectedEmplyoeeName: string;\r\n SelectedStatus: string;\r\n Product: string;\r\n Designation: string;\r\n UserName:string;\r\n Year:number;\r\n}\r\n","import { RegionModel, RMHModel, SModel,RMHAnnualModel } from './RegionModel';\r\nimport { ZoneModel } from './ZoneModel';\r\nimport { DivisionModel } from './DvisionModel';\r\nimport { SBUModel } from './SBUModel';\r\nimport { productModel } from './ProductModel';\r\nimport { CropModel } from './CropModel';\r\nimport { BatchModel } from './BatchModel';\r\nimport { InvoiceModel } from './InvoiceModel';\r\nimport { YearModel } from './YearModel';\r\nimport { monthModel } from './MonthModel';\r\nexport class DropDownRequest {\r\n UserId: string;\r\n Role: string;\r\n Region: string;\r\n Zone: string;\r\n Division: string;\r\n SBU: string;\r\n SD: string;\r\n RMH: string;\r\n crop: string;\r\n product: string;\r\n month:string;\r\n Flag: string;\r\n year:number;\r\n Annual:string;\r\n Status:string;\r\n IsBMData:boolean;\r\n WareHouse: string;\r\n}\r\n\r\nexport class DropDownResponse {\r\n region: Array = new Array()\r\n zone: Array = new Array()\r\n division: Array = new Array()\r\n sbu: Array = new Array()\r\n product: Array = new Array()\r\n month:Array=new Array()\r\n crop: Array = new Array()\r\n sd: Array = new Array()\r\n warehouseLocation: Array = new Array()\r\n rmh: Array = new Array()\r\n batch: Array = new Array()\r\n invoice: Array = new Array()\r\n year:Array=new Array()\r\n roleId:any[]\r\n annual:Array=new Array()\r\n status:Array=new Array()\r\n}\r\n\r\nexport class RequirmentTypeModel {\r\n id: number;\r\n text: string;\r\n}\r\nexport class WHLocationModel {\r\n WHId: string;\r\n WHName: string;\r\n}\r\nexport class SDModel {\r\n SDCode: string;\r\n SDName: string;\r\n}\r\nexport class StatusModel {\r\n id: number;\r\n text: string;\r\n}\r\nexport class DesignationModel {\r\n id: number;\r\n text: string;\r\n}\r\nexport class QuarterTypeModel {\r\n id: number;\r\n text: string;\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 \"http://localhost:64379\";\r\n case \"127.0.0.1\":\r\n return \"http://localhost:64379\";\r\n default:\r\n return this.urlOrigin+\"/api\";\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n//import { User } from '../../models/AnnualRequirement/Annual-Requirement';\r\nimport { global } from '../../models/global';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Http, Response, RequestOptions, Request, Headers, ResponseContentType } from '@angular/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnnualRequirementService {\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 DownloadExcel(userId: string,AnnualCycle:string, region:string, rolecode:string, year:any): Observable {\r\n //let m_userid = { 'userId': userId }; \r\n let url = this.ROOT_URL + '/api/AnnualRequirement/DownloadExcel';\r\n let body = { \"userId\": userId,\"AnnualCycle\":AnnualCycle,\"region\": region ,\"roleCode\":rolecode,\"Year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 return res;\r\n });\r\n }\r\n uploadDocument(documents: File, UserId: string, Region:string,AnnualCycle :string): Observable {\r\n const formData = new FormData();\r\n formData.append(\"file\", documents);\r\n formData.append(\"UserId\", UserId);\r\n formData.append(\"Region\", Region);\r\n formData.append(\"AnnualCycle\", AnnualCycle);\r\n let headers = new Headers({ 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/AnnualRequirement/UploadFiles\",\r\n headers: headers,\r\n body: formData\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 GetAnnualRequirement(AnnualType : any,userid: any, region: any, month: any, product: any, crop: any,year: any, currentpage: any): Observable {\r\n debugger;\r\n let url = this.ROOT_URL + '/api/AnnualRequirement/GetAnnualRequirement';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"AnnualCycle\" :AnnualType,\"userId\": userid, \"productId\": product, \"month\": month, \"region\": region, \"cropId\": crop,\"year\":year,\"PageNo\": currentpage };\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 FinalSubmission(userid: any, region: any,AnnualCycle :any): Observable {\r\n let url = this.ROOT_URL + '/api/AnnualRequirement/FinalSubmissionRequest';\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let body = { \"UserId\": userid, \"Region\": region ,\"AnnualCycle\" :AnnualCycle};\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\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 getApprovalHistory(AnnualCycle,PageNo:number,userID: string, roleID: string, reqType: string, sbuCode: string,divisionCode: string, zoneCode: string,regionCode: string,rmhCode:string, year:any): Observable {\r\n let url = this.ROOT_URL + '/api/AnnualRequirement/GetApprovalHistory';\r\n let body = { \"AnnualCycle\":AnnualCycle,\"PageNo\":PageNo,\"userID\": userID, \"roleID\": roleID, \"reqType\": reqType, \"sbuCode\": sbuCode,\"divisionCode\": divisionCode,\"zoneCode\": zoneCode,\"regionCode\": regionCode,\"rmhCode\": rmhCode,\"year\":year};\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8','Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: url,\r\n headers: headers,\r\n body: body,\r\n })\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json());\r\n }\r\n}","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}\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/Auth/ValidateUser\",\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 validateUser(userID: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n var validateData = { \"Username\": userID };\r\n let _body = JSON.stringify(validateData);\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Auth/IsValidUsers',\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 checkSession(): Promise {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token'), 'UserID': localStorage.getItem('dsu_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + '/api/Auth/UserCookieExists',\r\n headers: headers\r\n\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 validateTokenInArchar(token: string): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });\r\n var validateData = { \"Token\": token };\r\n let _body = JSON.stringify(validateData);\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + '/api/Auth/IsValidTokens',\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 Notification(): Observable {\r\n let userId = localStorage.getItem('dsu_userId');\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token'), 'UserID': localStorage.getItem('dsu_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Auth/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 profileDetails(userid: string): Observable {\r\n let _body = {\r\n \"UserId\": userid\r\n }\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token'), 'UserID': localStorage.getItem('dsu_userId') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Auth/ProfileDetails\",\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 notificationCount(userId: any): Observable {\r\n\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Auth/NotificationCount?userid=\" + userId,\r\n headers: headers\r\n });\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n }\r\n\r\n updateNotificationCount(userId: any): Observable {\r\n\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'GET',\r\n url: this.ROOT_URL + \"/api/Auth/UpdateNotificationCount?userid=\" + userId,\r\n headers: headers\r\n });\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n }\r\n\r\n ClearNotification(userId: any, id: number, IsAllClear: boolean): Observable {\r\n let _body = { \"UserId\": userId, \"NotificationId\": id, \"IsAllClear\": IsAllClear };\r\n let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + localStorage.getItem('dsu_token') });\r\n let requestoptions: RequestOptions = new RequestOptions({\r\n method: 'POST',\r\n url: this.ROOT_URL + \"/api/Auth/ClearNotificationList\",\r\n headers: headers,\r\n body: _body\r\n });\r\n return this.http.request(new Request(requestoptions))\r\n .map(response => (response).json())\r\n }\r\n\r\n}\r\n\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":""}