1App.controller( 2 "orderConfirm", 3 function ( 4 $scope, 5 $rootScope, 6 $http, 7 ORDER_TYPE, 8 MAP_LIST, 9 PRICE_OPTION, 10 IMAGE_EXTENSION, 11 ORDER_PERIOD, 12 dbservice, 13 SERVER_URL 14 ) { 15 // import url from server 16 dbservice.url = SERVER_URL; 17 $("#uploadingAnim").css("display", "none"); 18 /* Get data list from orderInput */ 19 $scope.orderList = $rootScope.orderList; 20 $scope.optionList = $rootScope.optionList; 21 if ($scope.orderList == undefined) { 22 try { 23 var cid = ($rootScope.customerLogin && $rootScope.customerLogin.id) ? $rootScope.customerLogin.id : ''; 24 var pid = ($rootScope.personLogin && $rootScope.personLogin.id) ? $rootScope.personLogin.id : ''; 25 var msg = "OrderConfirm | Missing orderList | customerId: " + cid + " | personId: " + pid + " | folder: " + ($rootScope.folder || '') + " | uploadedImageListLen: " + (($rootScope.uploadedImageList && JSON.parse($rootScope.uploadedImageList || '[]').length) || 0); 26 dbservice.sendChatWork(msg); 27 } catch (e) {} 28 window.location = "#NewOrder"; 29 } 30 $scope.mainOrder = $rootScope.mainOrder; 31 $scope.ext = $rootScope.extension; 32 $scope.translateList = $rootScope.translateList; 33 $scope.totalOrderPrice = $rootScope.totalOrdePrice; 34 $scope.totalPrice = $rootScope.totalPrice; 35 $scope.checkQty = $rootScope.totalOptionQty; 36 $scope.extTL = $rootScope.extTL;
37 $scope.extPrice = $rootScope.extPriceList; 38 const selectPrices = $scope.extPrice.filter(ext => ext.longCap === $scope.extTL); 39 $scope.priceExt = selectPrices[0].price; 40 41 /**------------------------------------------------- 42 * GET CUSTOMER LIST 43 * @author Hour Syvai 44 * @description get customerList from database 45 ----------------------------------------------------*/ 46 var id = $rootScope.customerLogin.id; 47 $scope.currentCat = $rootScope.customerLogin.priceSet; 48 dbservice.getById("customer", id, function (data) { 49 $scope.customer = data; 50 }); 51 $scope.complete_email_list = []; 52 53 /**------------------------------------------------- 54 * GET PERSON LIST 55 * @author Hour Syvai 56 * @description get personList from database 57 ----------------------------------------------------*/ 58 $scope.getPersonList = function () { 59 dbservice.getItemByFieldname( 60 "person", 61 "customerId", 62 $rootScope.customerLogin.id, 63 function (personList) { 64 $scope.personList = (personList || []) 65 .reverse() 66 .filter(function (perObj) { 67 return ( 68 perObj && 69 perObj.id != undefined && 70 perObj.id.toString().search("-") !== 0 && 71 perObj.email && 72 perObj.email.toString().trim().length > 0 73 ); 74 }); 75 angular.forEach($scope.personList, function (perObj) { 76 perObj.mailTo = "TO"; 77 //check personid with person login 78 if (perObj.id == $rootScope.personLogin.id) { 79 $scope.select_email = perObj; 80 } 81 }); 82 83 if ($scope.select_email) { 84 $scope.complete_email_list.push($scope.select_email); 85 $scope.checkEmail = $scope.complete_email_list[0]; 86 } 87 } 88 ); 89 }; 90 91 $scope.getPersonList(); 92 93 $scope.appendEmail = function () { 94 $scope.copyselectEmail = angular.copy($scope.select_email); 95 $scope.complete_email_list.push($scope.copyselectEmail); 96 }; 97 98 // Click Button to remove data from complete_email_list 99 $scope.removeEmail = function (index) { 100 $scope.complete_email_list.splice(index, 1); 101 }; 102 103 // select "TO" or "CC" for send email 104 $scope.selectTo = "TO"; 105 $scope.mailtoCCList = []; 106 $scope.emailsendList = function (mailto, selectEmail, index) { 107 $scope.complete_email_list[index].mailTo = mailto; 108 }; 109 110 $scope.verifyUploadedFiles = function (callback) { 111 var folder = $rootScope.folder || ""; 112 if (!folder) { 113 callback(false, []); 114 return; 115 } 116 $http({ 117 url: SERVER_URL + "GetFileListFromOrderDirTanomo?dirName=" + encodeURIComponent(folder) + "&v=" + Date.now(), 118 method: "get", 119 }) 120 .success(function (data) { 121 var fileArray = data.ImageListTmp || data || []; 122 var validFiles = fileArray.filter(function(name) { 123 return name && name.search("remove/") !== 0; 124 }); 125 callback(validFiles.length > 0, validFiles); 126 }) 127 .error(function (error) { 128 try { 129 dbservice.sendMessageToTelegram("verifyUploadedFiles", folder + " || order-confirm.controller.js", error); 130 } catch (e) {} 131 callback(false, []); 132 }); 133 }; 134 135 // select to change complete_email_list 136 $scope.displayList = function (person, index) { 137 person.mailTo = $scope.complete_email_list[index].mailTo; 138 $scope.complete_email_list[index] = angular.copy(person); 139 }; 140 141 /**-------------------------------------------------- 142 * ADD MAIN ORDER 143 * @author Saly Sakey 144 * @description Add Main Order to database 145 ---------------------------------------------------*/ 146 $scope.buttonClicked = $rootScope.isOrderSubmitting || false; 147 $scope.emailSend = []; 148 $scope.addMainOrder = function () { 149 $("#uploadingAnim").css("display", "inline"); 150 if ( 151 $("#agreement").prop("checked") == true && 152 $("#agree1").prop("checked") && 153 $("#agree2").prop("checked") && 154 $("#agree3").prop("checked") 155 ) { 156 $("#uploadingAnim").css("display", "inline"); 157 if ($scope.buttonClicked == false) { 158 $rootScope.isOrderSubmitting = true; 159 var qty = 0; 160 // sum qty 161 angular.forEach($scope.orderList, function (item) { 162 if (item.qty != undefined) { 163 qty += Number(item.qty); 164 } 165 }); 166 if (qty === 0 || isNaN($scope.totalOrderPrice) || $scope.totalOrderPrice === undefined) { 167 try { 168 var cid2 = ($rootScope.customerLogin && $rootScope.customerLogin.id) ? $rootScope.customerLogin.id : ''; 169 var pid2 = ($rootScope.personLogin && $rootScope.personLogin.id) ? $rootScope.personLogin.id : ''; 170 var msg2 = "OrderConfirm | Suspicious totals | customerId: " + cid2 + " | personId: " + pid2 + " | folder: " + ($rootScope.folder || '') + " | computedQty: " + qty + " | totalOrderPrice: " + ($scope.totalOrderPrice || 'undefined') + " | totalPrice: " + ($scope.totalPrice || 'undefined') + " | orderListLen: " + ($scope.orderList ? $scope.orderList.length : 0) + " | optionListLen: " + ($scope.optionList ? $scope.optionList.length : 0); 171 dbservice.sendChatWork(msg2); 172 } catch (e) {} 173 } 174 //check email send to many client 175 $scope.maitoList = []; 176 $scope.mailCCList = []; 177 var emailSize = 0; 178 angular.forEach($scope.complete_email_list, function (emailSend) { 179 emailSize++; 180 //"TO_1088", CC_1089 181 $scope.emailSend.push(emailSend.mailTo + "_" + emailSend.id); 182 if (emailSend.mailTo == "CC") { 183 $scope.mailCCList.push(emailSend.email); 184 } else { 185 $scope.maitoList.push(emailSend.email); 186 } 187 }); 188 189 $scope.mainOrder.followTN = $scope.customer.followTanomo == 1 ? 1 : 0; 190 $scope.mainOrder.submitEmail = $scope.emailSend.toString(); 191 //check emailSize with email list before add main order 192 if (emailSize == $scope.complete_email_list.length) { 193 if ($scope.maitoList.length === 0) { 194 $scope.mainOrder.submitEmail = 195 "TO_" + 196 $scope.select_email.id + 197 "," + 198 $scope.mainOrder.submitEmail; 199 $scope.maitoList.push($scope.select_email.email); 200 } 201 // add mainorder 202 switch ($scope.mainOrder.period) { 203 case "1é±éï¼æ¡å å³ã®ã¿ï¼": 204 case "1é±é": 205 $scope.periods = "1w"; 206 break; 207 case "24æéã¿ã¤ã": 208 case "24h": 209 $scope.periods = "24h"; 210 break; 211 case "48æéã¿ã¤ã": 212 case "48h": 213 $scope.periods = "48h"; 214 break; 215 case "彿¥ã¿ã¤ã": 216 case "彿¥": 217 $scope.periods = "Today"; 218 break; 219 case "friday": 220 case "Friday": 221 $scope.periods = "Friday"; 222 break; 223 case "3æ¥é": 224 case "3d": 225 $scope.periods = "3days"; 226 break; 227 case "4æ¥é": 228 case "4d": 229 $scope.periods = "4days"; 230 break; 231 case "5æ¥é": 232 case "5d": 233 $scope.periods = "5days"; 234 break; 235 case "6æ¥é": 236 case "6d": 237 $scope.periods = "6days"; 238 break; 239 case "10æ¥é": 240 case "10d": 241 $scope.periods = "10days"; 242 break; 243 case "ãæ¥ãã¿ã¤ã": 244 case "ãæ¥ãã¿ã¤ã": 245 $scope.periods = "ãæ¥ãã¿ã¤ã"; 246 break; 247 case "峿¥ã¿ã¤ãï¼å¥éã«ã¼ã«ããï¼": 248 case "峿¥ã¿ã¤ã": 249 $scope.periods = "峿¥ã¿ã¤ã"; 250 break; 251 case "2æ¥é": 252 case "2d": 253 $scope.periods = "2days"; 254 break; 255 case "ç¿12æ": 256 case "6h": 257 $scope.periods = "6h"; 258 break; 259 case "13æ¥é": 260 case "13d": 261 $scope.periods = "13days"; 262 break; 263 case "16æ¥é": 264 case "16d": 265 $scope.periods = "16days"; 266 break; 267 default: 268 dbservice.sendMessageToTelegram("addMainOrder", $scope.select_email.id + " || order-confirm.controller.js", "Cannot generate deadline"); 269 alert("Cannot generate deadline, Please contact the IT team"); 270 } 271 272 // Get orderTime from server 273 $http({ 274 url: SERVER_URL + "GetCurrentTimeJapanSub2H" + "?v=" + Date.now(), 275 method: "get", 276 }) 277 .success(function (data, status, headers, config) { 278 var orderTime = data.currentTimeJapan; 279 var priceSet = $scope.orderList[0].smallCategory; 280 const period = $scope.periods; 281 282 // Check type user login for generate deadlin and submitDeadline 283 if ( 284 priceSet == "LG" || 285 priceSet == "AE" || 286 priceSet == "HB" || 287 priceSet == "TY" || 288 priceSet == "TY2" 289 ) { 290 if (period == "Today") { 291 dbservice.GetDeadlineLG(period, orderTime, function (data) { 292 //$rootScope.active_order.deadline = data.value; 293 $scope.deadline = data.value; 294 dbservice.GetDeadlineLGForSubmit( 295 period, 296 orderTime, 297 function (data) { 298 //$rootScope.active_order.submitDeadline = data.value; 299 $scope.submitDeadline = data.value; 300 $scope.submitComfirm(orderTime); 301 } 302 ); 303 }); 304 } else { 305 dbservice.getDeadline(period, orderTime, function (data) { 306 //$rootScope.active_order.deadline = data.value; 307 $scope.deadline = data.value; 308 dbservice.getSubmitDeadline( 309 period, 310 orderTime, 311 function (data) { 312 //$rootScope.active_order.submitDeadline = data.value; 313 $scope.submitDeadline = data.value; 314 $scope.submitComfirm(orderTime); 315 } 316 ); 317 }); 318 } 319 } else if (priceSet == "AN") { 320 dbservice.GetDeadlineFriday( 321 period, 322 orderTime, 323 function (data) { 324 $scope.deadline = data.value; 325 //check for generate submitdeadline 326 dbservice.GetDeadlineFridayForSubmit( 327 period, 328 orderTime, 329 function (data) { 330 $scope.submitDeadline = data.value; 331 // Call funciton 332 $scope.submitComfirm(orderTime); 333 } 334 ); 335 } 336 ); 337 } else if (priceSet == "AH" || priceSet == "AH2") { 338 if (period == "1w") { 339 dbservice.getDeadline1wWorkDay( 340 period, 341 orderTime, 342 function (data) { 343 $scope.deadline = data.value; 344 345 //check for generate submitdeadline 346 dbservice.getSubmitDeadline1wWorkDay( 347 period, 348 orderTime, 349 function (data) { 350 $scope.submitDeadline = data.value; 351 // Call funciton 352 $scope.submitComfirm(orderTime); 353 } 354 ); 355 } 356 ); 357 } 358 else if (period == "13days") { 359 dbservice.getDeadline13days( 360 period, 361 orderTime, 362 function (data) { 363 $scope.deadline = data.value; 364 dbservice.getDeadline13daysForSubmit( 365 period, 366 orderTime, 367 function (data) { 368 $scope.submitDeadline = data.value; 369 $scope.submitComfirm(orderTime); 370 } 371 ); 372 } 373 ); 374 } 375 else if (period == "16days") { 376 dbservice.getDeadline16days( 377 period, 378 orderTime, 379 function (data) { 380 $scope.deadline = data.value; 381 dbservice.getDeadline16daysForSubmit( 382 period, 383 orderTime, 384 function (data) { 385 $scope.submitDeadline = data.value; 386 $scope.submitComfirm(orderTime); 387 } 388 ); 389 } 390 ); 391 } else { 392 dbservice.getDeadline(period, orderTime, function (data) { 393 $scope.deadline = data.value; 394 395 //check for generate submitdeadline 396 dbservice.getSubmitDeadline( 397 period, 398 orderTime, 399 function (data) { 400 $scope.submitDeadline = data.value; 401 // Call funciton 402 $scope.submitComfirm(orderTime); 403 } 404 ); 405 }); 406 } 407 } else if (priceSet == "TL") { 408 dbservice.GetDeadlineTL(period, orderTime, function (data) { 409 $scope.deadline = data.value; 410 411 //check for generate submitdeadline 412 dbservice.GetDeadlineTLForSubmit( 413 period, 414 orderTime, 415 function (data) { 416 $scope.submitDeadline = data.value; 417 // Call funciton 418 $scope.submitComfirm(orderTime); 419 } 420 ); 421 }); 422 } else if (priceSet === "TW") { 423 dbservice.GetDeadlineTW(period, orderTime, function (data) { 424 $scope.deadline = data.value; 425 //check for generate submitdeadline 426 dbservice.GetDeadlineTWSubmitJP( 427 period, 428 orderTime, 429 function (data) { 430 $scope.submitDeadline = data.value; 431 // Call funciton 432 $scope.submitComfirm(orderTime); 433 } 434 ); 435 }); 436 } else if ( 437 (priceSet == "TN" || priceSet == "LF2" || priceSet == "EK" || priceSet == "SP") && 438 period == "ãæ¥ãã¿ã¤ã" 439 ) { 440 dbservice.GetDeadlineFast(period, orderTime, function (data) { 441 $scope.deadline = data.value; 442 //check for generate submitdeadline 443 dbservice.GetDeadlineFastForSubmit( 444 period, 445 orderTime, 446
446 function (data) { 447 $scope.submitDeadline = data.value; 448 // Call funciton 449 $scope.submitComfirm(orderTime); 450 } 451 ); 452 }); 453 } else if (priceSet === "NC" || priceSet === "EZ") { 454 dbservice.GetDeadlineNC(period, orderTime, function (data) { 455 $scope.deadline = data.value; 456 //check for generate submitdeadline 457 dbservice.GetDeadlineForSubmitNC( 458 period, 459 orderTime, 460 function (data) { 461 $scope.submitDeadline = data.value; 462 // Call funciton 463 $scope.submitComfirm(orderTime); 464 } 465 ); 466 }); 467 } else { 468 dbservice.getDeadline(period, orderTime, function (data) { 469 $scope.deadline = data.value; 470 471 //check for generate submitdeadline 472 dbservice.getSubmitDeadline( 473 period, 474 orderTime, 475 function (data) { 476 $scope.submitDeadline = data.value; 477 // Call funciton 478 $scope.submitComfirm(orderTime); 479 } 480 ); 481 }); 482 } 483 }) 484 .error(function (error, status, headers, config) { 485 dbservice.sendMessageToTelegram("GetCurrentTimeJapanSub2H", $scope.select_email.id + " || order-confirm.controller.js", error); 486 }); 487 488 // covert period to short text 489 switch ($scope.periods) { 490 case "Today": 491 $scope.mainOrder.period = "彿¥"; 492 break; 493 case "3days": 494 $scope.mainOrder.period = "3d"; 495 break; 496 case "4days": 497 $scope.mainOrder.period = "4d"; 498 break; 499 case "5days": 500 $scope.mainOrder.period = "5d"; 501 break; 502 case "6days": 503 $scope.mainOrder.period = "6d"; 504 break; 505 case "10days": 506 $scope.mainOrder.period = "10d"; 507 break; 508 case "2days": 509 $scope.mainOrder.period = "2d"; 510 break; 511 case "13days": 512 $scope.mainOrder.period = "13d"; 513 break; 514 case "16days": 515 $scope.mainOrder.period = "16d"; 516 break; 517 default: 518 $scope.mainOrder.period = $scope.periods; 519 } 520 521 $scope.submitComfirm = function (orderTime) { 522 $scope.mainOrder.orderTime = orderTime; 523 $scope.mainOrder.pendingTime = orderTime; 524 $scope.mainOrder.deadline = $scope.deadline; 525 $scope.mainOrder.submitDeadline = $scope.submitDeadline; 526 $scope.mainOrder.managementId = $rootScope.managementId; 527 $scope.mainOrder.periodTL = $rootScope.periodTL; 528 529 // Structured payload for DB-friendly logging before create 530 try { 531 var ordersMin = ($scope.orderList || []).filter(function(i){ return Number(i.qty) > 0; }).map(function(i){ 532 return { 533 orderType: i.orderType, 534 qty: Number(i.qty), 535 price: i.price, 536 priceId: i.priceId, 537 smallCategory: i.smallCategory, 538 longCap: i.longCap, 539 shortCap: i.shortCap 540 }; 541 }); 542 var optionsMin = ($scope.optionList || []).filter(function(i){ return Number(i.qty) > 0; }).map(function(i){ 543 return { 544 orderType: i.orderType, 545 qty: Number(i.qty), 546 price: i.price, 547 priceId: i.priceId, 548 smallCategory: i.smallCategory, 549 longCap: i.longCap, 550 shortCap: i.shortCap, 551 note: i.note || '' 552 }; 553 }); 554 var orderQtySum = 0, optionQtySum = 0; 555 angular.forEach(ordersMin, function(i){ orderQtySum += Number(i.qty)||0; }); 556 angular.forEach(optionsMin, function(i){ optionQtySum += Number(i.qty)||0; }); 557 var mainorderLog = { 558 period: $scope.mainOrder.period, 559 ext: $scope.mainOrder.ext || $scope.ext, 560 customerId: ($rootScope.customerLogin && $rootScope.customerLogin.id) ? $rootScope.customerLogin.id : '', 561 personId: ($rootScope.personLogin && $rootScope.personLogin.id) ? $rootScope.personLogin.id : '', 562 orderType: $scope.mainOrder.OrderType || 'new', 563 extPriceId: ($scope.mainOrder.extPriceId || 0), 564 orderTime: $scope.mainOrder.orderTime, 565 deadline: $scope.mainOrder.deadline, 566 submitDeadline: $scope.mainOrder.submitDeadline, 567 managementId: $scope.mainOrder.managementId, 568 periodTL: $scope.mainOrder.periodTL 569 }; 570 var payloadStart = { 571 stage: "OrderConfirmSubmit", 572 folder: ($rootScope.folder || ''), 573 customerId: mainorderLog.customerId, 574 personId: mainorderLog.personId, 575 mainorder: mainorderLog, 576 items: { orders: ordersMin, options: optionsMin },
577 totals: { 578 orderQty: orderQtySum, 579 optionQty: optionQtySum, 580 totalOrderPrice: ($scope.totalOrderPrice || 0), 581 totalPrice: ($scope.totalPrice || 0) 582 }, 583 extTL: ($scope.extTL || ''), 584 priceExt: ($scope.priceExt || 0), 585 submitEmail: $scope.complete_email_list 586 }; 587 dbservice.sendChatWork("ORDER_CONFIRM_PAYLOAD " + JSON.stringify(payloadStart)); 588 } catch (e) {} 589 590 $scope.verifyUploadedFiles(function(uploadOk, uploadedFiles) { 591 if (!uploadOk) { 592 $("#uploadingAnim").css("display", "none"); 593 $scope.buttonClicked = false; 594 $rootScope.isOrderSubmitting = false; 595 try { 596 dbservice.sendChatWork("ORDER_CONFIRM_BLOCKED_NO_FILES folder=" + ($rootScope.folder || '') + " customerId=" + (($rootScope.customerLogin && $rootScope.customerLogin.id) ? $rootScope.customerLogin.id : '')); 597 } catch (e) {} 598 webix.alert({ 599 ok: "確èª", 600 title: "ãã¡ã¤ã«ã¢ãããã¼ã", 601 type: "alert-warning", 602 text: "ã¢ãããã¼ãæ¸ã¿ãã¡ã¤ã«ã確èªã§ãã¾ãããå度ã¢ãããã¼ããã¦ãã ããã" 603 }); 604 return; 605 } 606 607 dbservice.createNewOrder($scope.mainOrder, function (order) { 608 try { 609 var msg1 = "OrderConfirm -> submitComfirm | CREATED | orderId: " + (order && order.orderId ? order.orderId : '') + " | mainId: " + (order && order.id ? order.id : '') + " | customerId: " + (($rootScope.customerLogin && $rootScope.customerLogin.id) ? $rootScope.customerLogin.id : '') + " | personId: " + (($rootScope.personLogin && $rootScope.personLogin.id) ? $rootScope.personLogin.id : '') + " | folder: " + ($rootScope.folder || '') + " | uploadedFiles=" + uploadedFiles.length; 610 dbservice.sendChatWork(msg1); 611 // Also emit a structured payload including created order identifiers 612 var createdPayload = { 613 stage: "OrderCreated", 614 orderId: (order && order.orderId) || '', 615 mainId: (order && order.id) || '', 616 customerId: ($rootScope.customerLogin && $rootScope.customerLogin.id) ? $rootScope.customerLogin.id : '', 617 personId: ($rootScope.personLogin && $rootScope.personLogin.id) ? $rootScope.personLogin.id : '', 618 folder: ($rootScope.folder || ''), 619 orderTime: ($scope.mainOrder.orderTime || ''), 620 deadline: ($scope.mainOrder.deadline || ''), 621 submitDeadline: ($scope.mainOrder.submitDeadline || ''), 622 totals: { 623 totalOrderPrice: ($scope.totalOrderPrice || 0), 624 totalPrice: ($scope.totalPrice || 0) 625 } 626 }; 627 dbservice.sendChatWork("ORDER_CREATED_PAYLOAD " + JSON.stringify(createdPayload)); 628 } catch (e) {} 629 $rootScope.orderId = order.orderId; 630 var mainorderId = order.id; 631 var proceedAfterFolderMove = function() { 632 $scope.addQtyOrder( 633 $scope.optionList.concat($scope.orderList), 634 mainorderId, 635 order 636 ); 637 }; 638 /* rename folder on server to depend on main order id */ 639 if ($rootScope.folder && $rootScope.folder.length > 0) { 640 $scope.renameFolder($rootScope.folder, order.orderId, function (renameResponse) { 641 if (!(renameResponse && renameResponse.success === true)) { 642 try { 643 dbservice.sendChatWork("ORDER_CONFIRM_RENAME_REJECTED oldName=" + $rootScope.folder + " newName=" + order.orderId + " message=" + (renameResponse && renameResponse.message ? renameResponse.message : "unknown")); 644 } catch (e) {} 645 $("#uploadingAnim").css("display", "none"); 646 $scope.buttonClicked = false;
647 $rootScope.isOrderSubmitting = false; 648 webix.alert({ 649 ok: "確èª", 650 title: "ãã¡ã¤ã«ç§»åã¨ã©ã¼", 651 type: "alert-error", 652 text: "注æãã¡ã¤ã«ã®ä¿åã«å¤±æãã¾ãããITãã¼ã ã¸é£çµ¡ãã¦ãã ããã" 653 }); 654 return; 655 } 656 proceedAfterFolderMove(); 657 }); 658 } else { 659 try { 660 dbservice.sendChatWork("ORDER_CONFIRM_RENAME_SKIPPED missing old folder for orderId " + (order && order.orderId ? order.orderId : '')); 661 } catch (e) {} 662 $("#uploadingAnim").css("display", "none"); 663 $scope.buttonClicked = false; 664 $rootScope.isOrderSubmitting = false; 665 webix.alert({ 666 ok: "確èª", 667 title: "ãã¡ã¤ã«ã¢ãããã¼ã", 668 type: "alert-warning", 669 text: "ã¢ãããã¼ããã©ã«ãã確èªã§ãã¾ãããå度ã¢ãããã¼ããã¦ãã ããã" 670 }); 671 } 672 }); 673 }); 674 }; 675 } //end if 676 $scope.buttonClicked = true; 677 } 678 } else { 679 webix.alert({ 680 //title: "Add Order", 681 ok: "確èª", 682 title: "ã¨ã©ã¼", 683 type: "alert-warning", 684 //text:"Please check all the agreement." 685 text: "ãã§ãã¯ããã¯ã¹ãã確èªãã ãã", 686 }); 687 $("#uploadingAnim").css("display", "none"); 688 } 689 }; /* end function*/ 690 /**------------------------------------------------------------------------------------------- 691 ADD QTY ORDER 692 description: add data to table orderqty which stores order quantity of different type of order 693 parambeter: 694 - list: can be orderList or optionList 695 - mainorderId: id of mainorder that it refers to 696 ----------------------------------------------------------------------------------------------*/ 697 $scope.addQtyOrder = function (list, mainorderId, order) { 698 var maxReturn = 0; 699 var lizeList = 0; 700 angular.forEach(list, function (item) { 701 if (Number(item.qty) > 0) { 702 lizeList++; 703 } // end if 704 }); // end forEach 705 angular.forEach(list, function (item) { 706 if (Number(item.qty) > 0) { 707 if ( 708 item.orderType == "ãã®ä»" || 709 item.orderType == "mapOT" || 710 item.orderType == "ç¹å¥éåã" || 711 item.orderType == "é«ç´éåãããã®ä»" || 712 item.orderType == "ç°¡æéå ãã®ä»" || 713 item.orderType == "GTéå ãã®ä»" || 714 item.orderType == "ColorOther" || 715 item.orderType == "B&W C.designOther" || 716 item.orderType == "SimpleOther" || 717 item.orderType == "Wall design" || 718 item.orderType == "TN design" || 719 item.orderType == "MDR other" || 720 item.orderType == "TN Other" || 721 item.orderType == "RB Other" 722 ) { 723 item.priceId = item.price; 724 } else { 725 item.priceId = item.priceId; 726 } 727 var type = item.orderType.search("option") == -1 ? "order" : "option"; 728 729 var longCap = item.longCap; 730 var shortCap = item.shortCap; 731 longCap = 732 longCap == undefined || longCap == "" ? item.orderType : longCap; 733 shortCap = 734 shortCap == undefined || shortCap == "" ? item.orderType : shortCap; 735 var qtyOrder = { 736 orderType: item.orderType, 737 qty: Number(item.qty), 738 type: type, 739 longCap: longCap, 740 shortCap: shortCap, 741 note: item.note, 742 priceId: item.priceId, 743 price: item.price, 744 mainorderId: mainorderId, // this value will return from server after add "order" 745 }; 746 dbservice.add("orderqty", qtyOrder, function (qtOrder) { 747 maxReturn++; 748 if (maxReturn == lizeList) { 749 // send email 750 /*Send email to customer */ 751 var e = 0; 752 angular.forEach($scope.maitoList, function (mailTo) { 753 e++; 754 $scope.sendMail(order, mailTo, $scope.mailCCList); 755 }); 756 if (e == $scope.maitoList.length) { 757 $rootScope.isOrderSubmitting = false;
758 window.location = "#OrderComplete"; 759 } 760 } 761 //console.log(""+JSON.stringify(qtyOrder)); 762 }); 763 } // end if item.qty 764 }); // end forEach "orderList" 765 }; // end function 766 767 /**-------------------------------------------------------- 768 SEND EMAIL 769 @author Saly Sakey 770 @description Function for remote sending email function 771 mailTo: Target receiver 772 subject: Email subject 773 emailBody: Email content 774 callback: function that process after server response 775 --------------------------------------------------------*/ 776 $scope.sendMail = function (order, mailTo, mailCC) { 777 var period = $rootScope.periodTL; 778 779 $rootScope.generateOrderContentForEmail(order, function (orderContent) { 780 //check category type of client login 781 if ( 782 $rootScope.customerLogin.priceSet == "HD_Direct" || 783 $rootScope.customerLogin.priceSet == "HD_Franchise" 784 ) { 785 var trace = [__env.emailMDR]; 786 var mailCCList = trace.concat(mailCC); 787 var contactEmail = __env.emailMDR; 788 } else { 789 var trace = [__env.emailMDR]; 790 var mailCCList = trace.concat(mailCC); 791 var contactEmail = __env.emailMDR; 792 } 793 if ($rootScope.customerLogin.priceSet == "BX") { 794 var total = 795 orderContent.totalPrice + 796 "å" + 797 "ï¼ç¨å¥ï¼" + 798 "ããã" + 799 orderContent.total + 800 "ä»¶"; 801 } else { 802 var total = orderContent.total + "ä»¶"; 803 } 804 var manageId = $rootScope.managementId 805 ? "èªç¤¾ç®¡çID:" + $rootScope.managementId + "\n" 806 : ""; 807 if (!$rootScope.orderId && order && order.orderId) { 808 $rootScope.orderId = order.orderId; 809 } 810 var orderId = (order && order.orderId) || $rootScope.orderId || ""; 811 if (!orderId) { 812 try { 813 dbservice.sendChatWork( 814 "OrderConfirm -> sendMail | Missing orderId | customerId: " + 815 (($rootScope.customerLogin && $rootScope.customerLogin.id) 816 ? $rootScope.customerLogin.id 817 : "") + 818 " | personId: " + 819 (($rootScope.personLogin && $rootScope.personLogin.id) 820 ? $rootScope.personLogin.id 821 : "") + 822 " | folder: " + 823 ($rootScope.folder || "") 824 ); 825 } catch (e) {} 826 } 827 var head = "çºæ³¨ID:"; 828 var subject = 829 "ãæ³¨æåé ã®ãç¥ãã(" + 830 head + 831 orderId + 832 ")â»ã注æå 容ã®ç¢ºå®ã§ã¯ããã¾ããã"; 833 var emailBody = 834 "" + 835 "----------------------------------------------------------------------------" + 836 "\n æ¬ã¡ã¼ã«ã¯ããæ³¨æä¾é ¼ã®åé ããç¥ãããããã®ã§ã" + 837 "\n å 容確å®ã®ãç¥ããã§ã¯ãããã¾ããã" + 838 "\n å 容ã確å®ãã¾ããããå度ãé£çµ¡ãå·®ãä¸ãã¾ãã" + 839 "\n ã¾ãããã®ã¡ã¼ã«ã¯éä¿¡å°ç¨ã¢ãã¬ã¹ã¨ãªãã¾ãã" + 840 "\n ãè¿ä¿¡ããã ãã¦ããå¿ãã§ãã¾ããã®ã§ã注æãã ããã\n" + 841 "----------------------------------------------------------------------------\n" + 842 "\n" + 843 $rootScope.customerLogin.name + 844 "\n" + 845 $rootScope.personLogin.name + 846 " æ§\n" + 847 "\n" + 848 "ãã®åº¦ã¯ãï¼éåãå³ãã®ãï¼ï¼ããå©ç¨ããã ãã\n" + 849 "èª ã«ãããã¨ããããã¾ãã\n\n" + 850 "ãæ³¨æãåé ãã¾ãããã¨ããé£çµ¡è´ãã¾ãã\n" + 851 "å 容ã¯ä¸è¨ã®ã¨ããã§ãã\n" + 852 "\n" + 853 "ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼\n" + 854 "\n" + 855 head + 856 orderId + 857 "\n" + 858 manageId + 859 "___________________\n" + 860 "å 訳: \n" + 861 "" + 862 orderContent.order + 863 "___________________\n" + 864 "è¨" + 865 "ããã" + 866 total + 867 "\n" + 868 (orderContent.option.trim() == "" ? "" : "\nãªãã·ã§ã³ï¼") + 869 "\n" + 870 orderContent.option + 871 "\n" + 872 "ã³ã¼ã¹: \n" + 873 period + 874 "\n\n" + 875 "ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼\n" + 876 "â»æ¶è²»ç¨å¥ \n" + 877 "\n" + 878 "ãæ³¨æå 容ã確èªå¾ã\n" + 879 "æ¹ãã¦ãé£çµ¡ãå·®ãä¸ãã¾ãã\n" + 880 "\n" + 881 "以ä¸ããããããé¡ããããã¾ãã\n" + 882 "\n" + 883 "========================================================" + 884 "\nï¼éåãå³ãã®ãï¼ï¼\n" + 885 "éå¶ä¼ç¤¾ï¼A-LEADS Japanæ ªå¼ä¼ç¤¾ï¼ã¨ã¤ãªã¼ãºã»ã¸ã£ãã³ï¼\n" + 886 "å¶æ¥æéï¼å¹³æ¥10:00ï½18:00ï¼åæ¥ç¥ã»å¹´æ«å¹´å§ãé¤ãï¼\n" + 887 "ï¼å¶æ¥æ ç¹ï¼\n" + 888 "A-LEADS Japanæ ªå¼ä¼ç¤¾\n" + 889 "å¼ççãããã¾å¸è¥¿åºå®®åçº1630-5\n" + 890 "ï¼ã¢ã¦ãã½ã¼ã·ã³ã°æ ç¹ï¼\n" + 891 "A-LEADS IT Cambodia Co.,Ltd.\n" +
892 "#10 VTRUST Office Center 2FB St109 Phnom Penh, Cambodia\n" + 893 "========================================================\n"; 894 dbservice.sendEmailWithCC( 895 mailTo, 896 mailCCList, 897 subject, 898 emailBody, 899 function (data) {} 900 ); //end sendMail 901 }); /*end rootScope */ 902 }; /* end function */ 903 904 /**-------------------------------------------------------- 905 * RENAME FOLDER 906 * @author Saly Sakey 907 * @description Rename Temporary Folder to Order_MainOrderID 908 ------------------------------------------------------------*/ 909 $scope.renameFolder = function (oldName, newName, callback) { 910 if (!oldName) { 911 try { 912 dbservice.sendChatWork("ORDER_CONFIRM_RENAME_BYPASS oldName missing for newName " + (newName || '')); 913 } catch (e) {} 914 return; 915 } 916 $http({ 917 url: 918 SERVER_URL + 919 "RenameFile?newName=" + 920 encodeURIComponent(newName) + 921 "&oldName=" + 922 encodeURIComponent(oldName) + 923 "&v=" + 924 Date.now(), 925 method: "post", 926 }) 927 .success(function (data, status, headers, config) { 928 if (data && data.success === true) { 929 $rootScope.folder = newName; 930 } else { 931 try { 932 dbservice.sendChatWork("ORDER_CONFIRM_RENAME_REJECTED oldName=" + oldName + " newName=" + newName + " message=" + (data && data.message ? data.message : "unknown")); 933 } catch (e) {} 934 } 935 if (callback) { 936 callback(data); 937 } 938 }) 939 .error(function (data, status, headers, config) { 940 console.log("failRenameFile"); 941 try { 942 dbservice.sendChatWork("ORDER_CONFIRM_RENAME_FAILED oldName=" + oldName + " newName=" + newName); 943 } catch (e) {} 944 if (callback) { 945 callback({ success: false, message: "request failed" }); 946 } 947 }); 948 }; /* end function*/ 949 950 $scope.clearOrder = function () { 951 $scope.select_email = ""; 952 $scope.complete_email_list = []; 953 }; /* end function */ 954 955 /*----------------------------------------------*/ 956 } 957); /* end controller */ 958 959/**------------------------------------------- 960 * GET DATE TODAY 961 * @returns {String} Date for today 962 * @description get current date 963 -------------------------------------------*/ 964function getTodayDate() { 965 var today = new Date(); 966 var dd = today.getDate(); 967 var mm = today.getMonth() + 1; //January is 0! 968 var yyyy = today.getFullYear(); 969 970 if (dd < 10) { 971 dd = "0" + dd; 972 } 973 974 if (mm < 10) { 975 mm = "0" + mm; 976 } 977 978 return yyyy + "/" + mm + "/" + dd; 979}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.