Blame view

app/partials/customers/customers.controller.js 11 KB
feacde5ff   Rishav   setup acuefuel in...
1
2
3
4
  'use strict';
  
   //Load controller
    angular.module('acufuel')
eefc1c74d   Swarn Singh   minor updates
5
  	.controller('customersController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', '$state', 'CustomersService', 'ViewCompanyService', 'NgTableParams', customersController]);
feacde5ff   Rishav   setup acuefuel in...
6

eefc1c74d   Swarn Singh   minor updates
7
   	function customersController($scope, $rootScope, $uibModal, $filter, $http, $state, CustomersService, ViewCompanyService, NgTableParams) {
4bb02bb84   Rishav   new integration w...
8
  		$(document).ready(function() {
05bfa28a2   Mr. Hot Foods   remove save butto...
9
  		    // $('#example').DataTable();
4bb02bb84   Rishav   new integration w...
10
  		});
a7a7cfeca   Rishav Singla   fuel vendor page ...
11
  		$scope.userProfileId = JSON.parse(localStorage.getItem('userProfileId'))
7152ff131   Rishav   model handle
12
13
  		$scope.reset2 = function(){
  			$("input").val("");
49676befb   Anchit Jindal   new changes applied
14
  			$scope.removeMarginValidation();
7152ff131   Rishav   model handle
15
  		}
05bfa28a2   Mr. Hot Foods   remove save butto...
16

7152ff131   Rishav   model handle
17
  		
4bb02bb84   Rishav   new integration w...
18
19
20
  		$scope.data = {};
  		$scope.aircraft = {};
  		$scope.data.activate = true;
05bfa28a2   Mr. Hot Foods   remove save butto...
21
  		$scope.showLoader = true;
b6f0311a3   Rishav   get Company api i...
22
  		getAllCompanies();
eefc1c74d   Swarn Singh   minor updates
23
  		/*function getAllCompanies(){
b6f0311a3   Rishav   get Company api i...
24
  			CustomersService.getAllCompanies().then(function(result) {
b6f0311a3   Rishav   get Company api i...
25
  				$scope.companyList = result;
3a9f4472b   Rishav   Implement contact...
26
27
28
  				for(var i=0; i<$scope.companyList.length; i++){
  					$scope.companyList[i].masterMargin = $scope.companyList[i].margin.id;
  				}
b6f0311a3   Rishav   get Company api i...
29
  			})
eefc1c74d   Swarn Singh   minor updates
30
31
32
33
34
35
36
37
  
  		}*/
  
  		$scope.statusFilter = [
  			{id: "", title: "Show All"},
  			{id: "true", title: "Active"},
  			{id: "false", title: "Inactive"}
  		]
b97bc56e0   Swarn Singh   table search and ...
38
  		/*function getAllCompanies(){
eefc1c74d   Swarn Singh   minor updates
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  			$scope.displayCompanyList = new NgTableParams({
  		       page: 1,
  		       count: 10
  		    }, {
  		       total: 0,
  		       getData: function($defer, params) {
  		       		CustomersService.getAllCompanies().then(function(result) {
  						$scope.companyList = result;
  						for(var i=0; i<$scope.companyList.length; i++){
  							$scope.companyList[i].masterMargin = $scope.companyList[i].margin.id;
  						}
  						var filteredData = params.filter() ?
  		                $filter('filter')($scope.companyList, params.filter()) : $scope.companyList;
  		                var orderedData = params.sorting() ?
  		                $filter('orderBy')(filteredData, params.orderBy()) : $scope.companyList;
  
  		                params.total(orderedData.length);
  		                $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
  					})
  		         }
  		    });
b97bc56e0   Swarn Singh   table search and ...
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
  		}*/
  
  		function getAllCompanies(){
  			CustomersService.getAllCompanies().then(function(result) {
  				console.log('log', result);
  				$scope.companyList = result;
  				for (var i = 0; i < $scope.companyList.length; i++) {
  					if ($scope.companyList[i].companyContact != null) {
  						if ($scope.companyList[i].companyContact.contactNumber != null || $scope.companyList[i].companyContact.contactNumber != undefined) {
  							$scope.companyList[i].newContactNumber = $scope.companyList[i].companyContact.contactNumber;
  						}
  					}
  					if ($scope.companyList[i].primaryContact != null) {
  						if ($scope.companyList[i].primaryContact.firstName != null && $scope.companyList[i].primaryContact.lastName != null) {
  							$scope.companyList[i].primaryContactName = $scope.companyList[i].primaryContact.firstName + ' ' + $scope.companyList[i].primaryContact.lastName;
  						}
  					}
  					if ($scope.companyList[i].margin != null) {
  						if ($scope.companyList[i].margin.marginName != null) {
  							$scope.companyList[i].masterMargin = $scope.companyList[i].margin.id;
  						}
  					}
  				}
  				$scope.displayCompanyList = new NgTableParams({
  		        page: 1,
  		        count: 10,
  		      }, {
  		        data: $scope.companyList
  		      });
05bfa28a2   Mr. Hot Foods   remove save butto...
89
  			  $scope.showLoader = false;
b97bc56e0   Swarn Singh   table search and ...
90
  			})
b6f0311a3   Rishav   get Company api i...
91
  		}
feacde5ff   Rishav   setup acuefuel in...
92

3a9f4472b   Rishav   Implement contact...
93
          $scope.editMargin = function(customer){
b97bc56e0   Swarn Singh   table search and ...
94
          	console.log('customer', customer);
52fea957f   Anchit Jindal   csv and search co...
95
          	$scope.showLoader = true;
d24318592   Rishav   changes and new i...
96
          	event.stopPropagation();
3a9f4472b   Rishav   Implement contact...
97
98
99
100
101
102
103
  
          	var companyMargin = "companyName=" + customer.companyName + "&masterMargin=" + customer.masterMargin 
                + "&addressOne=" + customer.addressOne + "&addressTwo=" + customer.addressTwo + "&city=" + customer.city + "&state=" 
                + customer.state + "&country=" + customer.country + "&zipcode=" + customer.zipcode + "&internalNote=" 
                + customer.internalNote + "&certificateType=" + customer.certificateType + "&baseTenant=" + customer.baseTenant
                + "&fuelerlinxCustomer=" + customer.fuelerlinxCustomer + "&contractFuelVendor=" + customer.contractFuelVendor 
                + "&activate=" + customer.activate + "&baseIcao=" + customer.baseIcao + "&companyId=" + customer.id;
cdf775224   Anchit Jindal   fixed company and...
104
          	ViewCompanyService.updateCompany(companyMargin).then(function(result) {
3a9f4472b   Rishav   Implement contact...
105
                if(result != null && result.success){
52fea957f   Anchit Jindal   csv and search co...
106
              	$scope.showLoader = false;
3a9f4472b   Rishav   Implement contact...
107
108
109
110
                  toastr.success(''+result.success+'', {
                    closeButton: true
                  })
                }else{
52fea957f   Anchit Jindal   csv and search co...
111
              	$scope.showLoader = false;
3a9f4472b   Rishav   Implement contact...
112
113
114
115
116
117
                  toastr.error(''+result.statusText+'', {
                    closeButton: true
                  })
                }
              })
          }
4bb02bb84   Rishav   new integration w...
118
119
          getData();
      	function getData(){
05bfa28a2   Mr. Hot Foods   remove save butto...
120
  			$scope.showLoader = true;
4bb02bb84   Rishav   new integration w...
121
  			CustomersService.getAircraftMake().then(function(result) {
4bb02bb84   Rishav   new integration w...
122
  			  $scope.aircraftMakeList = result;
05bfa28a2   Mr. Hot Foods   remove save butto...
123
  			  $scope.showLoader = false;
4bb02bb84   Rishav   new integration w...
124
125
  			})
  		}
3a9f4472b   Rishav   Implement contact...
126
        	
a7a7cfeca   Rishav Singla   fuel vendor page ...
127
128
129
130
131
132
133
  
  		// CustomersService.getMargin().then(function(result) {
  		//   $scope.marginList = result;
  		// })
  		$scope.marginFilterOptions = [];
  		CustomersService.getJetMargin($scope.userProfileId).then(function(result) {
  		  $scope.jetMarginList = result;
c95befcd3   Swarn Singh   table issue, filt...
134
135
136
137
138
139
140
141
142
  		  $scope.marginFilterOptions.push({
  		  	'id': '', 'title': 'Show All'
  		  });
  		  for (var i = 0; i < result.length; i++) {
  		  	$scope.marginFilterOptions.push({
  		  		'id': result[i].id,
  		  		'title': result[i].marginName
  		  	})
  		  }
a7a7cfeca   Rishav Singla   fuel vendor page ...
143
  		})
c95befcd3   Swarn Singh   table issue, filt...
144

a7a7cfeca   Rishav Singla   fuel vendor page ...
145
146
  		CustomersService.getAvgMargin($scope.userProfileId).then(function(result) {
  		  $scope.avgsMarginList = result;
3a9f4472b   Rishav   Implement contact...
147
  		})
a7a7cfeca   Rishav Singla   fuel vendor page ...
148

32286a73a   Swarn Singh   tier issue resolved
149
150
151
152
  		$scope.showCompanyError = false;
  		$scope.showMarginError = false;
  
  		$scope.removeValidation = function(){
32286a73a   Swarn Singh   tier issue resolved
153
154
155
156
157
158
159
160
  			$scope.showCompanyError = false;
  	    	$('.companyNameInput').removeClass('customErrorInput');
  		}
  
  		$scope.removeMarginValidation = function(){
  			$scope.showMarginError = false;
  	    	$('.marginSelectBox').removeClass('customErrorInput');
  		}
6efd9a0a8   Anchit Jindal   new desing changes
161
162
  		
  		var companyData;
4bb02bb84   Rishav   new integration w...
163
  	    $scope.addFirstData = function(sel, step){
3a9f4472b   Rishav   Implement contact...
164
  	    	if($scope.data.companyName == undefined){
32286a73a   Swarn Singh   tier issue resolved
165
166
  	    		$scope.showCompanyError = true;
  	    		$('.companyNameInput').addClass('customErrorInput');
3a9f4472b   Rishav   Implement contact...
167
  	    	}else if($scope.data.masterMargin == undefined){
32286a73a   Swarn Singh   tier issue resolved
168
169
  	    		$scope.showMarginError = true;
  	    		$('.marginSelectBox').addClass('customErrorInput');
3a9f4472b   Rishav   Implement contact...
170
  	    	}else{
cdf775224   Anchit Jindal   fixed company and...
171
172
173
174
175
176
177
178
179
  	    		$scope.aircraftDetails = [{ 
  	                'tail':'',
  	                'make': '',
  	                'model': '',
  	                'sizeId' : '',
  	                'marginId': $scope.data.masterMargin,
  	                'avgasMarginId': $scope.data.avgasMargin
  	            }];
  	    	    
3a9f4472b   Rishav   Implement contact...
180
181
182
  	    	 	$(sel).trigger('next.m.' + step);
  	    	 	getData();
  	    	}
4bb02bb84   Rishav   new integration w...
183
  	    }
55e075d7e   Rishav   add contact, add ...
184
185
186
187
188
          $scope.addNew = function(){
              $scope.aircraftDetails.push({ 
                  'tail':'',
  	            'make': '',
  	            'model': '',
3a9f4472b   Rishav   Implement contact...
189
  	            'sizeId' : '',
a7a7cfeca   Rishav Singla   fuel vendor page ...
190
191
  	            'marginId': $scope.data.masterMargin,
              	'avgasMarginId': $scope.data.avgasMargin
55e075d7e   Rishav   add contact, add ...
192
              });
55e075d7e   Rishav   add contact, add ...
193
194
195
          };
  
          $scope.getModal = function(makeId, index){
d24318592   Rishav   changes and new i...
196
          	$scope.showLoader = true;
55e075d7e   Rishav   add contact, add ...
197
198
199
  	  		$scope.aircraft.make = makeId;
  	        //var makeId = makeId;
  	        CustomersService.getModal($scope.aircraft.make).then(function(result) {
d24318592   Rishav   changes and new i...
200
  	        	$scope.showLoader = false;
55e075d7e   Rishav   add contact, add ...
201
202
203
204
  	          $scope.aircraftDetails[index].aircraftModalList = result;
  	          //$scope.aircraftDetails[index].model = $scope.aircraftModalList[0];
  	        })
        	}
4bb02bb84   Rishav   new integration w...
205

55e075d7e   Rishav   add contact, add ...
206
        	$scope.getSize = function(model, index){
d24318592   Rishav   changes and new i...
207
        		$scope.showLoader = true;
55e075d7e   Rishav   add contact, add ...
208
  	        CustomersService.getAircraftSize($scope.aircraft.make, model).then(function(result) {
d24318592   Rishav   changes and new i...
209
  	        	$scope.showLoader = false;
7152ff131   Rishav   model handle
210
  	          	$scope.aircraftDetails[index].aircraftSizeList = result;
55e075d7e   Rishav   add contact, add ...
211
  	          //$scope.aircraftDetails[index].size = $scope.aircraftSizeList[0];
55e075d7e   Rishav   add contact, add ...
212
213
214
215
216
217
  	        })
        	}
  
        	$scope.aircraftListData = {};
        	$scope.addData = [];
        	$scope.saveCompanyData = function(){
cdf775224   Anchit Jindal   fixed company and...
218
        		CustomersService.addCompany($scope.data).then(function(result) {
6efd9a0a8   Anchit Jindal   new desing changes
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
              	$scope.accountId = result;
        			$scope.aircraft.accountId = $scope.accountId;
        			
        			for(var i=0; i<$scope.aircraftDetails.length;i++){
            			$scope.addData.push({ 
      	                'tail': $scope.aircraftDetails[i].tail,
      		            'make': $scope.aircraftDetails[i].make,
      		            'model': $scope.aircraftDetails[i].model,
      		            'sizeId' : $scope.aircraftDetails[i].sizeId,
      		            'marginId': $scope.aircraftDetails[i].marginId,
      		            'avgasMarginId': $scope.aircraftDetails[i].avgasMarginId
      	            });
            		}
      	        $scope.aircraftListData.aircraftList = $scope.addData;
      	        $scope.aircraftListData.accountId = $scope.aircraft.accountId;
      	        
cdf775224   Anchit Jindal   fixed company and...
235
236
237
238
      	        if($scope.aircraftListData.aircraftList[0].tail == "" || $scope.aircraftListData.aircraftList[0].make == null || $scope.aircraftListData.aircraftList[0].model == null){
      	        	$scope.aircraftListData.aircraftList = [];
      	        }
      	        
6efd9a0a8   Anchit Jindal   new desing changes
239
      	        CustomersService.addAircraft($scope.aircraftListData).then(function(result) {
b6f0311a3   Rishav   get Company api i...
240

6efd9a0a8   Anchit Jindal   new desing changes
241
242
243
244
245
246
247
248
249
250
251
252
      	        	if(result != null && result.success){
      	        		toastr.success(''+result.success+'', {
      		            	closeButton: true
      		          	})
      		          	$('#demo-modal-3').modal('hide');
      		          	getAllCompanies();
      	        	}else{
      	        		toastr.error(''+result.statusText+'', {
      		            	closeButton: true
      		          	})
      	        	}
      	        });
cdf775224   Anchit Jindal   fixed company and...
253
      	        
6efd9a0a8   Anchit Jindal   new desing changes
254
255
            	})
        		
55e075d7e   Rishav   add contact, add ...
256
257
258
259
260
261
262
263
  	        
        	}
  
  	    // $scope.appendText = function() {
       //      getData();
  	    //   var newRow =  $('<tr> <td> <input type="text" style="width:100px;" ng-model="aircraft.tail" class="form-control"> </td> <td style="width: 25%;"> <select class="form-control" ng-model="aircraft.make" ng-change="getModal()"> <option ng-repeat="make in aircraftMakeList">{{make}}</option> </select> </td> <td style="width: 20%;"> <select class="form-control" ng-model="aircraft.model" ng-change="getSize()"> <option ng-repeat="model in aircraftModalList">{{model}}</option> </select> </td> <td style="width: 25%;"> <select class="form-control" ng-model="aircraft.size"> <option ng-repeat="size in aircraftSizeList">{{size}}</option> </select> </td> <td> <select class="form-control"> <option>Margin1</option> <option>Margin2</option> </select> </td> </tr>');  
  	    //   $('table.addRow').append(newRow);
  	    // }
4bb02bb84   Rishav   new integration w...
264

67044e31e   Rishav Singla   modify changes an...
265
266
267
268
  	    $scope.setFuel = function(){
  	    	event.stopPropagation();
  	    	$state.go('app.updateFuelManager');
  	    }
eefc1c74d   Swarn Singh   minor updates
269
  	    /*  ng table  */
52fea957f   Anchit Jindal   csv and search co...
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
  	    
  	    $scope.exportCompany = function() {
  	    	$scope.showLoader = true;
  	    	var fileName = "companies.csv";
  	    	var a = document.createElement("a");
  	    	document.body.appendChild(a);
  	    	 CustomersService.exportCompany().then(function(result) {
      	        var file = new Blob([result], {type: 'application/csv'});
      	        var fileURL = URL.createObjectURL(file);
      	        a.href = fileURL;
      	        a.download = fileName;
      	        a.click();
      	        $scope.showLoader = false;
  	    	 })
  	    }
eefc1c74d   Swarn Singh   minor updates
285

4bb02bb84   Rishav   new integration w...
286
287
  
      }