Advertisement
widana

Untitled

Jan 17th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.30 KB | None | 0 0
  1. (function() {
  2.  
  3. 'use strict';
  4.  
  5.  
  6. angular.module('tokoModule')
  7. .controller('TokoController', TokoController);
  8.  
  9. TokoController.$inject = ['TokoService', '$state', '$stateParams', '$uibModal'];
  10.  
  11. function TokoController(TokoService, $state, $stateParams, $uibModal) {
  12. var $ctrl = this;
  13.  
  14. $ctrl.inputToko = {};
  15. $ctrl.current_status_toko = 'Agen';
  16.  
  17. $ctrl.onRegisterToko = onRegisterToko;
  18.  
  19. $ctrl.initYearMonthList = function() {
  20. $ctrl.yearMonthList = [];
  21. var today = new Date();
  22. var mm = today.getMonth()+1;
  23. if(mm<10){
  24. var mmNow = '0'+mm;
  25. } else {
  26. var mmNow = mm;
  27. }
  28. var yyyyNow = today.getFullYear(),
  29. counter = 0;
  30. for(var i=yyyyNow; i<=(yyyyNow+2); i++){
  31. for (var j = 1; j <= 12; j++) {
  32. if(i==yyyyNow && j<mm) continue;
  33. if(counter>=24) break;
  34.  
  35. if(j<10){
  36. j = '0'+j;
  37. }
  38. var ym = i+''+j;
  39. var ymd = i+'-'+j+'-01';
  40. var date = new Date(ymd);
  41.  
  42. $ctrl.yearMonthList.push({
  43. key : ym,
  44. value : date.toLocaleString("in-IN", { year: "numeric", month: "long"})
  45. });
  46. counter++;
  47. }
  48. }
  49.  
  50. $ctrl.inputToko.start_date_trx = $ctrl.yearMonthList[0].key;
  51. }
  52.  
  53. $ctrl.initYearMonthList();
  54.  
  55. // Status toko
  56. $ctrl.options = [];
  57. $ctrl.getStatusToko = function () {
  58. TokoService.getStatusToko()
  59. .then(function(result) {
  60. $ctrl.options = result.data.statusToko;
  61.  
  62. });
  63. }
  64.  
  65. $ctrl.getStatusToko();
  66.  
  67. $ctrl.getIsActiveList = function () {
  68. TokoService.getIsActiveList()
  69. .then(function(result) {
  70. $ctrl.listIsActive = result.data.result.is_active_list;
  71. });
  72. }
  73.  
  74. $ctrl.getIsActiveList();
  75.  
  76. $ctrl.initStatusToko = $ctrl.options[0];
  77.  
  78. //Check via REST ke database webtoko untuk mengirimkan ID toko sas yang di input user
  79. //
  80.  
  81.  
  82. $ctrl.checkValidateToko = function(id) {
  83. TokoService.checkTokoByTokoIdSas(id).then(function(result){
  84. if(result.data.result.exists){
  85. // Toko sudah terdaftar di database
  86. errorAlert(result.data.result.message);
  87. } else {
  88.  
  89. TokoService.checkValidateToko(id)
  90. .then(function(result) {
  91. if(result.data.success) {
  92. var data = result.data.result;
  93. $ctrl.inputToko.ou_company = data.nama_toko;
  94. $ctrl.inputToko.ou_branch = data.nama_cabang;
  95. $ctrl.inputToko.ou_sub_branch = data.nama_sub_cabang;
  96. $ctrl.inputToko.email = "";
  97. $ctrl.inputToko.warehouse_name = "DEFAULT";
  98. $ctrl.inputToko.warehouse_code = "DEFAULT";
  99. $ctrl.inputToko.cashbank_name = "KAS";
  100. $ctrl.inputToko.cashbank_code = "KAS";
  101. $ctrl.inputToko.record_owner_code = data.kode_toko;
  102. $ctrl.inputToko.toko_id_sas = id;
  103. $ctrl.inputToko.current_status_toko = data.peran;
  104.  
  105. successAlert("ID Toko SAS : "+data.kode_toko+
  106. " telah terdaftarkan pada sistem SAS, Silakan klik submit, agar data toko"
  107. +" tersimpan pada sistem ini");
  108.  
  109. } else {
  110. errorAlert(result.data.error_message);
  111. // $ctrl.resetForm();
  112. }
  113. }, function error(){
  114. errorAlert("Terjadi kesalahan pada server");
  115. });
  116.  
  117. }
  118. });
  119.  
  120. }
  121.  
  122. // for pagination
  123. $ctrl.totalItems = 0;
  124. $ctrl.currentPage = 1;
  125.  
  126. $ctrl.setPage = function (pageNo) {
  127.  
  128. $ctrl.currentPage = pageNo;
  129. };
  130.  
  131. $ctrl.pageChanged = function() {
  132. $ctrl.infoUserPassword = [];
  133. $ctrl.search.offset = ($ctrl.currentPage-1)*$ctrl.search.limit;
  134. $ctrl.getTokoList($ctrl.search);
  135. };
  136.  
  137. $ctrl.searchChanged = function() {
  138. $ctrl.infoUserPassword = [];
  139. $ctrl.setPage(1);
  140. $ctrl.search.offset = ($ctrl.currentPage-1)*$ctrl.search.limit;
  141. $ctrl.getTokoList($ctrl.search);
  142. };
  143.  
  144. //get data
  145.  
  146.  
  147. $ctrl.tokoList = [];
  148. $ctrl.search = {"limit" : 20, "offset" : 0, "src" : ""};
  149.  
  150. $ctrl.getTokoList = function (search) {
  151. TokoService.getTokoList(search)
  152. .then(function(result) {
  153. $ctrl.tokoList = result.data.result.toko_list;
  154. $ctrl.totalItems = result.data.result.total;
  155. $ctrl.totalPages = Math.ceil($ctrl.totalItems/$ctrl.search.limit);
  156. });
  157. }
  158.  
  159. $ctrl.getTokoList($ctrl.search);
  160.  
  161.  
  162. $ctrl.recordErrors = function (error) {
  163. $ctrl.errors = [];
  164. $ctrl.errors = error.data.errors;
  165. };
  166.  
  167.  
  168. $ctrl.resetForm = function () {
  169. $ctrl.inputToko = {};
  170. $ctrl.initYearMonthList();
  171. };
  172.  
  173. $ctrl.initToko = function () {
  174. $ctrl.infoUserPassword = [];
  175. $ctrl.resetForm();
  176. $("#modalRegisterToko").modal('show');
  177. };
  178.  
  179. $ctrl.initView = function (index) {
  180. $ctrl.infoUserPassword = [];
  181. $ctrl.errors = [];
  182. var zzz = angular.copy($ctrl.tokoList[index]);
  183.  
  184. $ctrl.editToko = zzz;
  185. $("#modalViewToko").modal('show');
  186. };
  187.  
  188. $ctrl.infoUserPassword = [];
  189.  
  190.  
  191. function onRegisterToko() {
  192. //doReset();
  193.  
  194. var modalInstance = $uibModal.open({
  195. animation: true,
  196. ariaLabelledBy: 'modal-title',
  197. ariaDescribedBy: 'modal-body',
  198. templateUrl: '/view/webtoko::toko.registerTokoModal',
  199. controller: 'RegisterTokoController',
  200. controllerAs: 'registerTokoController',
  201. size:'md',
  202. resolve: {
  203. items: function () {
  204.  
  205. }
  206. }
  207. });
  208.  
  209. modalInstance.result.then(function (res) {
  210. if(res.success) {
  211. $ctrl.infoUserPassword = res.infoUserPassword;
  212. $ctrl.getTokoList($ctrl.search);
  213. }
  214.  
  215. }, function () {
  216. //$log.info('Modal dismissed at: ' + new Date());
  217. });
  218.  
  219. }
  220.  
  221. $ctrl.addToko = function(){
  222. if($ctrl.inputToko.toko_id_sas === undefined || $ctrl.inputToko.toko_id_sas == '' || $ctrl.inputToko.toko_id_sas==null){
  223. errorAlert("ID Toko SAS harus diisi");
  224. return false;
  225. }
  226.  
  227. // dd($ctrl.inputToko);
  228. if($ctrl.inputToko.record_owner_code === undefined || $ctrl.inputToko.record_owner_code == '' || $ctrl.inputToko.record_owner_code == null){
  229. errorAlert("Toko ID SAS belum dicek validasi, silahkan input Toko ID SAS "
  230. +" lalu daftarkan");
  231. return false;
  232. }
  233.  
  234. TokoService.addToko($ctrl.inputToko)
  235. .then(function success(response){
  236. var result = response.data.result;
  237. if(result.status == "OK"){
  238. $ctrl.resetForm();
  239. $ctrl.infoUserPassword = result.userPassword;
  240. $('#modalRegisterToko').modal('hide');
  241. $ctrl.getTokoList($ctrl.search);
  242. } else {
  243. errorAlert(result.errorList.error_message);
  244. }
  245. }, function error(error){
  246. errorAlert("terjadi kesalahan pada server");
  247. });
  248. };
  249.  
  250. $ctrl.initRemoveToko = function(toko){
  251. $ctrl.infoUserPassword = [];
  252. $ctrl.errors = [];
  253.  
  254. $ctrl.deleteToko = angular.copy(toko);
  255. $ctrl.selectDeleted = angular.copy(toko);
  256. $("#modalConfirmNonActiveToko").modal('show');
  257. };
  258.  
  259. $ctrl.initRestoreToko = function(toko){
  260. $ctrl.infoUserPassword = [];
  261. $ctrl.errors = [];
  262.  
  263. $ctrl.deleteToko = angular.copy(toko);
  264. $ctrl.selectDeleted = angular.copy(toko);
  265. $("#modalConfirmActiveToko").modal('show');
  266. };
  267.  
  268. $ctrl.removeToko = function(toko){
  269. var input = {id : toko.record_owner_id };
  270. TokoService.removeToko(input)
  271. .then(function success(e){
  272. $("#modalConfirmNonActiveToko").modal('hide');
  273. successAlert(toko.ou_company +" dengan ID Toko SAS = "+toko.record_owner_code+" telah di nonaktifkan");
  274. $ctrl.getTokoList($ctrl.search);
  275. }, function error(error){
  276. errorAlert("Terjadi kesalahan pada sistem");
  277. });
  278. };
  279.  
  280. $ctrl.restoreToko = function(toko){
  281. var input = {id : toko.record_owner_id };
  282. TokoService.restoreToko(input)
  283. .then(function success(e){
  284. $("#modalConfirmActiveToko").modal('hide');
  285. successAlert(toko.ou_company +" dengan ID Toko SAS = "+toko.record_owner_code+" telah di aktifkan");
  286. $ctrl.getTokoList($ctrl.search);
  287. }, function error(error){
  288. errorAlert("Terjadi kesalahan pada sistem");
  289. });
  290. };
  291.  
  292. }
  293.  
  294.  
  295. })()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement