(function () { "use strict"; angular .module('codeAPLEBOX.client.user.employee.stock.releasestatus') .controller('releasestatusController', releasestatusController); /* @ngInject */ function releasestatusController($rootScope, $state, appConfig, $log, Auth, WEB_API_EMPLOYEE, $cookies, moment) { var vm = this; // common.etcEvt(); // ======================================================================= // 초기데이터 // ======================================================================= vm.employeeInfo = $cookies.getObject("employeeInfo"); vm.availabeDateList = []; iniData(); // ======================================================================= // Angularjs Function // ======================================================================= /*start: 대량 파일 등록*/ vm.downloadAuctionForm = function(){ WEB_API_EMPLOYEE.downloadAuctionForm() .then(function(result){ var byteArray = _base64ToArrayBuffer(result.data); // var blob = new Blob([byteArray], { type: "application/zip"}); var blob = new Blob([byteArray], { type: undefined}); saveAs(blob, "공판장엑셀양식_경매정산출고.xlsx"); }).catch(function(err){ $log.error(err) }) } vm.downloadRiceForm = function(){ WEB_API_EMPLOYEE.downloadRiceForm() .then(function(result){ var byteArray = _base64ToArrayBuffer(result.data); // var blob = new Blob([byteArray], { type: "application/zip"}); var blob = new Blob([byteArray], { type: undefined}); saveAs(blob, "공판장엑셀양식_상차밥출.xlsx"); }).catch(function(err){ $log.error(err) }) } vm.selectFileFunc = function(file){ vm.fileName = null; vm.selectFil = null; vm.fileName = file.name; vm.selectFile = file; }; vm.removeFile = function () { vm.fileName = null; vm.selectFil = null; } vm.setMassAuction = function() { // 등록여부 확인 WEB_API_EMPLOYEE.checkMassFile({ dateTime: vm.startDateTime, check: true // true: 경매, false: 상차 }).then(function(result){ var checkMass = result.data.check; if(checkMass){ if(vm.selectFile != null){ if (!vm.selectFile.$error) { vm.checkRootUploading = true; WEB_API_EMPLOYEE.setMassAuction({ file: vm.selectFile, dateTime: vm.startDateTime, employeeId: vm.employeeInfo.id, employeeName: vm.employeeInfo.name, costInfo: vm.currentCostInfo }).then(function(result){ vm.checkRootUploading = false; var checkResult = result.data.check; if(!checkResult){ vm.checkDialogNotJoinMemberOrDeposit = true; //대량등록(회원가입, 보증금 부족) // alert("\"보증금 회원가입이 안되어있다. .\""); // vm.finalError.push(result.data.errorDescription); // vm.checkShowErrorAllRegisiter = true; }else{ WEB_API_EMPLOYEE.updateStock() .then(function (resultOfUpdateStock) { vm.selectFile = null; vm.closeDialog(); alert("등록되었습니다."); vm.resetBoard(); getReleaseList(); }).catch(function (err) { $log.error(err); }); } }).catch(function(err){ vm.errorMsg = err.status + ': ' + err.data; $log.error(vm.errorMsg) vm.checkUploading = false; }) }else{ alert("잘못된 파일입니다. 파일을 확인해 주세요.."); return; } }else{ alert("파일을 등록해 주세요."); } }else{ alert("등록된 일정입니다."); return; } }).catch(function(err){ vm.errorMsg = err.status + ': ' + err.data; $log.error(vm.errorMsg) vm.checkUploading = false; }) }; vm.setMassRice = function() { // 등록여부 확인 WEB_API_EMPLOYEE.checkMassFile({ dateTime: vm.startDateTime, check: false // true: 경매, false: 상차 }).then(function(result){ var checkMass = result.data.check; if(checkMass){ if(vm.selectFile != null){ if (!vm.selectFile.$error) { vm.checkRootUploading = true; WEB_API_EMPLOYEE.setMassRice({ file: vm.selectFile, dateTime: vm.startDateTime, employeeId: vm.employeeInfo.id, employeeName: vm.employeeInfo.name, costInfo: vm.currentCostInfo }).then(function(result){ vm.checkRootUploading = false; var checkResult = result.data.check; if(!checkResult){ vm.checkDialogNotJoinMemberOrDeposit = true; //대량등록(회원가입, 보증금 부족) // alert("\"보증금 회원가입이 안되어있다. .\""); // vm.finalError.push(result.data.errorDescription); // vm.checkShowErrorAllRegisiter = true; }else{ WEB_API_EMPLOYEE.updateStock() .then(function (resultOfUpdateStock) { vm.selectFile = null; vm.closeDialog(); alert("등록되었습니다."); vm.resetBoard(); getReleaseList(); }).catch(function (err) { $log.error(err); }); } }).catch(function(err){ vm.errorMsg = err.status + ': ' + err.data; $log.error(vm.errorMsg) vm.checkUploading = false; }) }else{ alert("잘못된 파일입니다. 파일을 확인해 주세요.."); return; } }else{ alert("파일을 등록해 주세요."); } }else{ alert("등록된 일정입니다."); return; } }).catch(function(err){ vm.errorMsg = err.status + ': ' + err.data; $log.error(vm.errorMsg) vm.checkUploading = false; }) }; /*end: 대량 파일 등록*/ /* start dialog */ vm.clickDialogFileUploadOfReleaseAuction = function(){// 경매정산 excel 등록 setReleaseDate_Massive(""); vm.selectFile = null; vm.currentCostInfo = null; WEB_API_EMPLOYEE.getLatestCost({ file: vm.selectFile }).then(function(result){ vm.currentCostInfo = result.data.latestCost vm.fileName = null; vm.selectFile = null; vm.checkDialogFileUploadOfReleaseAuction = true; vm.startDateTime = moment(new Date()).format("YYYY-MM-DD").toString(); }).catch(function(err){ vm.errorMsg = err.status + ': ' + err.data; $log.error(vm.errorMsg) vm.checkUploading = false; }) } vm.clickDialogFileUploadOfReleaseRice = function(){// 상차밥 excel 등록 setReleaseDate_Massive("_rice"); vm.selectFile = null; vm.currentCostInfo = null; WEB_API_EMPLOYEE.getLatestCost({ file: vm.selectFile }).then(function(result){ vm.currentCostInfo = result.data.latestCost vm.fileName = null; vm.selectFile = null; vm.checkDialogFileUploadOfReleaseRice = true; vm.startDateTime = moment(new Date()).format("YYYY-MM-DD").toString(); }).catch(function(err){ vm.errorMsg = err.status + ': ' + err.data; $log.error(vm.errorMsg) vm.checkUploading = false; }) } vm.clickDialogTodayRelease = function(){// 출고 등록 vm.startReleaseDateTime = moment(new Date()).format("YYYY-MM-DD"); setReleaseDate(); vm.checkDialogTodayRelease = true; vm.selectedCustomerInfo = null; vm.checkInsertReleaseQuantity = false; vm.submitReleaseInfo = { customerId: null, quantity: 0, remindQuantity: 0, useFee: 0, useDeposit: 0, costId: null, releaseStatus: 0, employeeInfo: { id: vm.employeeInfo.id, name: vm.employeeInfo.name } }; } vm.clickDialogReleaseModify = function(selectedReleaseInfoModify){// 출고 수정 vm.selectedReleaseInfoModify = selectedReleaseInfoModify; vm.selectedReleaseInfoModify["modifyQuantity"] = selectedReleaseInfoModify.quantity; vm.selectedReleaseInfoModify["modifyUseFee"] = selectedReleaseInfoModify.useFee; vm.selectedReleaseInfoModify["modifyUseDeposit"] = selectedReleaseInfoModify.useDeposit; if(vm.selectedReleaseInfoModify.transactionQuantity == 0){ vm.selectedReleaseInfoModify["minimumQuantity"] = vm.selectedReleaseInfoModify.returnQuantity; }else{ var minimumQuantity_1 = (vm.selectedReleaseInfoModify.transactionQuantity + 1) * 5; var minimumQuantity_2 = vm.selectedReleaseInfoModify.returnQuantity + vm.selectedReleaseInfoModify.transactionQuantity; if(minimumQuantity_1 > minimumQuantity_2){ vm.selectedReleaseInfoModify["minimumQuantity"] = minimumQuantity_1; }else{ vm.selectedReleaseInfoModify["minimumQuantity"] = minimumQuantity_2; } } vm.checkDialogReleaseModify = true; vm.checkInsertReleaseModifyQuantity = true; } vm.clickDialogReleaseRemove = function(selectedReleaseInfoModify){// 출고 삭제 vm.selectedReleaseInfoModify = selectedReleaseInfoModify; vm.checkDialogReleaseRemove = true; // 출고 삭제 확인 vm.checkDialogReleaseRemoveSubmitPassword = false;// 비밀번호 확인 vm.checkDialogCompletedReleaseRemove = false;// 저장 완료 } vm.clickOpenDialogRemoveReleaseSubmitPassword = function(){ vm.checkDialogReleaseRemove = false;// 출고 삭제 확인 vm.checkDialogReleaseRemoveSubmitPassword = true;// 비밀번호 확인 vm.checkDialogCompletedReleaseRemove = false;// 저장 완료 vm.checkPassword = false; vm.password = ''; } vm.clickOpenDialogRemoveReleaseSubmitComplete = function(){ // 비밀번호 확인 if(vm.password == null || vm.password == ""){ alert("비밀번호를 입력해 주세요.") return; }else{ Auth.certifiedPassword({ accountNumber: vm.employeeInfo.accountNumber, password: vm.password }).then(function (info) { if (info.infoCode == '1' || info.infoCode == '2') { //no register vm.checkPassword = true; }else{ var removeInfo = { releaseId: vm.selectedReleaseInfoModify.releaseId, customerId: vm.selectedReleaseInfoModify.customerId, dateTime: vm.selectedReleaseInfoModify.dateTime } vm.checkDialogReleaseRemove = false;// 출고 삭제 확인 vm.checkDialogReleaseRemoveSubmitPassword = false;// 비밀번호 확인 vm.checkRootRemoving = true; WEB_API_EMPLOYEE.removeRelease({ removeInfo: removeInfo }).then(function (result) { WEB_API_EMPLOYEE.updateStock() .then(function (resultOfUpdateStock) { vm.checkRootRemoving = false; vm.checkDialogCompletedReleaseRemove = true;// 저장 완료 }).catch(function (err) { $log.error(err); }); }).catch(function (err) { $log.error(err); }); } }).catch(function (err) { $log.debug(err); }); } } vm.clickDialogCustomerSearch = function(){// 고객검색 vm.checkDialogTodayRelease = false;// 입고 등록 // vm.closeDialog(); getCustomerList(); $rootScope.showCustomerListForReleaseOrReceipt = true; //true: release, false: receipt vm.checkDialogCustomerSearch = true; } vm.clickOpenReleaseOrStored = function(customerInfo){ vm.selectedCustomerInfo = customerInfo; if(vm.selectedCustomerInfo.remainingDeposit <= 500000){ if(vm.selectedCustomerInfo.Deposit.length == 0){ // 계약없음 vm.checkDialogNoneDeposit = true; }else{ vm.checkDialogLackOfRemainigDeposit = true;// 50만원이하 잔여보증금 부족 } return; } vm.checkInsertReleaseQuantity = true; vm.checkDialogCustomerSearch = false;// 고객검색 vm.checkDialogTodayRelease = true;// 출고 등록 } vm.clickLackOfRemainigDeposit = function(customerInfo){ vm.selectedCustomerInfo = customerInfo; if(vm.selectedCustomerInfo.Deposit.length == 0){ // 계약없음 vm.checkDialogNoneDeposit = true; }else{ vm.checkDialogLackOfRemainigDeposit = true;// 50만원이하 잔여보증금 부족 } } vm.closeDialog_SubmitSetRelease = function(){ vm.iniBoard(); getReleaseList(); vm.closeDialog(); } vm.closeDialog_SubmitSetModifiedRelease = function(){ vm.iniBoard(); getReleaseList(); vm.closeDialog(); } vm.closeDialogReleaseRemove = function(){ vm.checkDialogReleaseRemove = false; vm.checkDialogCompletedReleaseRemove = true; } vm.closeDialogCompletedRemoveOfRelease = function(){ vm.closeDialog(); vm.iniBoard(); getReleaseList(); } vm.closeDialogNoneDeposit= function(){ vm.checkDialogNoneDeposit = false;// 50만원이하 잔여보증금 부족 var inputJson = { accountID: vm.selectedCustomerInfo.accountID, businessNumber: vm.selectedCustomerInfo.businessNumber, ceo: vm.selectedCustomerInfo.ceo, company: vm.selectedCustomerInfo.company, contractDeposit: 0, contractStatus: 0, contractingCount: 0, customerId: vm.selectedCustomerInfo.id, endDateTime: null, mobile1: vm.selectedCustomerInfo.mobile1, mobile2: vm.selectedCustomerInfo.mobile2, mobile3: vm.selectedCustomerInfo.mobile3, name: vm.selectedCustomerInfo.name, remainingDeposit: 0, uniqueNumber: vm.selectedCustomerInfo.uniqueNumber, waitingCount: 0 } $state.go('employee.detaildepositmanagement',{ selectedCustomerDepositInfo: inputJson }) } vm.closeDialog = function(){ vm.checkPassword = false; vm.password = ""; vm.checkDialogFileUploadOfReleaseAuction = false;// 경매정산 excel 등록 vm.checkDialogFileUploadOfReleaseRice = false;// 상차(밥) excel 등록 vm.checkDialogTodayRelease = false;// 출고 등록 vm.checkDialogReleaseModify = false;// 출고 수정 vm.checkDialogSubmitSetModifyRelease = false; // 출고 수정 완료 vm.checkDialogReleaseRemove = false;// 출고 삭제 vm.checkDialogReleaseRemoveSubmitPassword = false;// 출고 삭제 vm.checkDialogCompletedReleaseRemove = false;// 출고 삭제 완료 vm.checkDialogLackOfStock = false;// 재고수량 부족 vm.checkDialogLackOfDeposit = false;// 잔여보증금 부족 vm.checkDialogLackOfRemainigDeposit = false;// 50만원이하 잔여보증금 부족 vm.checkDialogSubmitSetRelease = false; // 출고 저장 완료 vm.checkDialogNotJoinMemberOrDeposit = false; //대량등록(회원가입, 보증금 부족) vm.checkDialogNoneDeposit = false; vm.selectedCustomerInfo = null; vm.checkInsertReleaseQuantity = false; vm.submitReleaseInfo = { customerId: null, quantity: 0, remindQuantity: 0, useFee: 0, useDeposit: 0, costId: null, releaseStatus: 0, employeeInfo: { id: vm.employeeInfo.id, name: vm.employeeInfo.name } }; } vm.closeDialogackOfDeposit= function(){ vm.checkDialogLackOfDeposit = false; // 보증금 계약 여부 } vm.closeDialogLackOfStock = function(){ vm.checkDialogLackOfStock = false;// 재고수량 부족 } vm.closeDialogLackOfDeposit = function(){ vm.checkDialogLackOfDeposit = false;// 잔여보증금 부족 var inputJson = { accountID: vm.selectedCustomerInfo.accountID, businessNumber: vm.selectedCustomerInfo.businessNumber, ceo: vm.selectedCustomerInfo.ceo, company: vm.selectedCustomerInfo.company, contractDeposit: 0, contractStatus: 0, contractingCount: 0, customerId: vm.selectedCustomerInfo.id, endDateTime: null, mobile1: vm.selectedCustomerInfo.mobile1, mobile2: vm.selectedCustomerInfo.mobile2, mobile3: vm.selectedCustomerInfo.mobile3, name: vm.selectedCustomerInfo.name, remainingDeposit: 0, uniqueNumber: vm.selectedCustomerInfo.uniqueNumber, waitingCount: 0 } $state.go('employee.detaildepositmanagement',{ selectedCustomerDepositInfo: inputJson }) } vm.closeDialogLackOfRemainigDepositDeposit = function(){ vm.checkDialogLackOfRemainigDeposit = false;// 50만원이하 잔여보증금 부족 var inputJson = { accountID: vm.selectedCustomerInfo.accountID, businessNumber: vm.selectedCustomerInfo.businessNumber, ceo: vm.selectedCustomerInfo.ceo, company: vm.selectedCustomerInfo.company, contractDeposit: 0, contractStatus: 0, contractingCount: 0, customerId: vm.selectedCustomerInfo.id, endDateTime: null, mobile1: vm.selectedCustomerInfo.mobile1, mobile2: vm.selectedCustomerInfo.mobile2, mobile3: vm.selectedCustomerInfo.mobile3, name: vm.selectedCustomerInfo.name, remainingDeposit: 0, uniqueNumber: vm.selectedCustomerInfo.uniqueNumber, waitingCount: 0 } $state.go('employee.detaildepositmanagement',{ selectedCustomerDepositInfo: inputJson }) } vm.closeDialogNotJoinMemberOrDeposit = function(){ vm.checkDialogNotJoinMemberOrDeposit = false; //대량등록(회원가입, 보증금 부족) } vm.closeDialogCustomerSearch = function(){ vm.checkDialogCustomerSearch = false;// 고객검색 vm.checkDialogTodayRelease = true;// 출고 등록 } /* end dialog */ /* start releaseList search */ vm.searchForBoard = function(){ if(vm.searchCustomerNameOrNumber == null || vm.searchCustomerNameOrNumber == ''){ vm.searchCustomerNameOrNumber = null; } vm.searchInfo = { searchDate: { startDate: vm.startDate, endDate: vm.endDate, }, searchReleaseStatus: vm.searchReleaseStatus, searchCustomerNameOrNumber: vm.searchCustomerNameOrNumber } vm.iniBoard(); getReleaseList(); } vm.checkDuring = function(check){ if(check == 1){ vm.checkChangeDate = false; }else{ vm.checkChangeDate = true; } } vm.searchForDate = function(check){ if(check){ vm.checkChangeDate = false; vm.startDate = null; vm.endDate = null; }else{ vm.startDate = $("#startDate").val(); vm.endDate = $("#endDate").val(); } vm.searchForBoard(); } vm.searchForReleaseStatus = function(check){ // check 0:일반, 1: 상차(밥), 2: 경매, 3: 수관 if(check == null){ vm.searchReleaseStatus = null; }else{ vm.searchReleaseStatus = check; } vm.searchForBoard(); } vm.searchForCustomerNameOrNumber = function(check){ if(check == 0){ vm.searchCustomerNameOrNumber = null; } vm.searchForBoard(); } /* end releaseList search */ /* start releaseList board function */ vm.resetBoard = function () { /* start releaseList board search 초기화*/ vm.checkChangeDate = false; /* end releaseList board search 초기화*/ // board 초기화 vm.flag = true; vm.curPage = 1; // 현재 페이지 vm.startRange = 1; // 시작 페이지 번호 vm.endRange = 1; // 마지막 페이지 번호 vm.searchInfo = { searchDate: { startDate: vm.startDate, endDate: vm.endDate, }, searchAccountStatus: vm.searchAccountStatus, searchCustomerNameOrNumber: vm.searchCustomerNameOrNumber } vm.startDate = null; vm.endDate = null; vm.searchAccountStatus = null; vm.searchCustomerNameOrNumber = null; vm.orderInfo = null; getReleaseList(); } vm.iniBoard = function(){ vm.flag = true; vm.curPage = 1; // 현재 페이지 vm.startRange = 1; // 시작 페이지 번호 vm.endRange = 1; // 마지막 페이지 번호 } vm.selectBoardCnt = function(number){ vm.boardCnt = number; vm.iniBoard(); getReleaseList(); } /* end releaseList board function */ /* start customerList board search */ vm.searchForBoard_customerList = function(){ if(vm.searchCustomerNameOrNumber_customerList == null || vm.searchCustomerNameOrNumber_customerList == ''){ vm.searchCustomerNameOrNumber_customerList = null; } vm.searchInfo_customerList = { searchCustomerNameOrNumber: vm.searchCustomerNameOrNumber_customerList } vm.iniBoard_customerList(); getCustomerList(); } vm.onKeyPress_customerList = function($event){ var pressKey = getKeyboardEventResult($event); if(pressKey == 13){ vm.searchForCustomerNameOrNumber_customerList() } }; vm.searchForCustomerNameOrNumber_customerList = function(check){ if(check == 0){ vm.searchCustomerNameOrNumber_customerList = null; } vm.searchForBoard_customerList(); } /* end customerList board search */ /* start customerList board function */ vm.resetBoard_customerList = function () { // board 초기화 vm.flag_customerList = true; vm.curPage_customerList = 1; // 현재 페이지 vm.startRange_customerList = 1; // 시작 페이지 번호 vm.endRange_customerList = 1; // 마지막 페이지 번호 vm.searchInfo_customerList = { searchCustomerNameOrNumber: vm.searchCustomerNameOrNumber_customerList } vm.searchCustomerNameOrNumber_customerList = null; vm.orderInfo_customerList = null; getCustomerList(); } vm.iniBoard_customerList = function(){ vm.flag_customerList = true; vm.curPage_customerList = 1; // 현재 페이지 vm.startRange_customerList = 1; // 시작 페이지 번호 vm.endRange_customerList = 1; // 마지막 페이지 번호 } vm.selectBoardCnt_customerList = function(number){ vm.boardCnt_customerList = number; vm.iniBoard_customerList(); getCustomerList(); } /* end customerList board function */ vm.clickSubmitRelease = function(){ vm.submitReleaseInfo.remindQuantity = vm.submitReleaseInfo.quantity; vm.submitReleaseInfo.customerId = vm.selectedCustomerInfo.id; // 등록 if(vm.submitReleaseInfo.useDeposit > vm.selectedCustomerInfo.remainingDeposit){ vm.checkDialogLackOfDeposit = true;// 잔여보증금 부족 return; } vm.checkRootUploading = true; WEB_API_EMPLOYEE.getStock() .then(function (result) { vm.getStock = result.data.stock; if(vm.submitReleaseInfo.quantity > vm.getStock.inventory){ vm.checkDialogLackOfStock = true;// 재고수량 부족 return; }else{ vm.submitReleaseInfo['rentalPeriod'] = vm.getCost.rentalPeriod; vm.submitReleaseInfo['customerName'] = vm.selectedCustomerInfo.name; vm.submitReleaseInfo['phoneNumber'] = vm.selectedCustomerInfo.mobile1 + vm.selectedCustomerInfo.mobile2 + vm.selectedCustomerInfo.mobile3; vm.submitReleaseInfo['feePerBox'] = vm.getCost.fee; vm.submitReleaseInfo['depositPerBox'] = vm.getCost.deposit; vm.submitReleaseInfo['customerCheckSNS'] = vm.selectedCustomerInfo.checkSNS; var dateTime = moment(vm.startReleaseDateTime).format("YYYY-MM-DD").toString() + " " + vm.selectedReleaseHour.code + ":" + vm.selectedReleaseMinutes.code + ":00"; vm.submitReleaseInfo["dateTime"] = dateTime; WEB_API_EMPLOYEE.setRelease({ releaseInfo: vm.submitReleaseInfo }).then(function (result) { WEB_API_EMPLOYEE.updateStock() .then(function (result) { vm.checkRootUploading = false; vm.selectedCustomerInfo = null; vm.checkInsertReleaseQuantity = false; vm.submitReleaseInfo = { customerId: null, quantity: 0, remindQuantity: 0, useFee: 0, useDeposit: 0, costId: null, releaseStatus: 0, employeeInfo: { id: vm.employeeInfo.id, name: vm.employeeInfo.name } }; vm.checkDialogSubmitSetRelease = true; // 출고 저장 완료 }).catch(function (err) { $log.error(err); }); }).catch(function (err) { $log.error(err); }); } }).catch(function (err) { $log.error(err); }); } vm.closeDialog_InsertReleaseModifyQuantit = function(){ vm.checkInsertReleaseModifyQuantity = true; } vm.clickSubmitModifyRelease = function(){ // 이관수량보다 클경우 if(vm.selectedReleaseInfoModify.modifyQuantity < vm.selectedReleaseInfoModify.minimumQuantity){ vm.checkInsertReleaseModifyQuantity = false; return; } if(vm.selectedReleaseInfoModify.modifyQuantity >= (vm.selectedReleaseInfoModify.returnQuantity + vm.selectedReleaseInfoModify.transactionQuantity)){ if(vm.selectedReleaseInfoModify.modifyQuantity == (vm.selectedReleaseInfoModify.returnQuantity + vm.selectedReleaseInfoModify.transactionQuantity)){ vm.selectedReleaseInfoModify["checkComplete"] = true; }else{ vm.selectedReleaseInfoModify["checkComplete"] = false; } vm.checkInsertReleaseModifyQuantity = true; }else{ vm.selectedReleaseInfoModify["checkComplete"] = false; vm.checkInsertReleaseModifyQuantity = false; return; } var diffUseDeposit = vm.selectedReleaseInfoModify.modifyUseDeposit - vm.selectedReleaseInfoModify.useDeposit; // var diffUseDeposit = vm.selectedReleaseInfoModify.modifyUseDeposit; // 등록 if(diffUseDeposit > vm.selectedReleaseInfoModify.remainingDeposit){ vm.checkDialogLackOfDeposit = true;// 잔여보증금 부족 return; } vm.checkRootUploading = true; var submitModifyReleaseInfo = { originalDateTime: moment(vm.selectedReleaseInfoModify.dateTime).format("YYYY-MM-DD HH:mm:ss").toString(), modifyDateTime: moment(new Date()).format("YYYY-MM-DD HH:mm:ss").toString(), checkComplete: vm.selectedReleaseInfoModify.checkComplete, quantity: vm.selectedReleaseInfoModify.modifyQuantity, remindQuantity: vm.selectedReleaseInfoModify.modifyQuantity - (vm.selectedReleaseInfoModify.returnQuantity + vm.selectedReleaseInfoModify.transactionQuantity), ChangeEmployeeId: vm.employeeInfo.id } var submitDepositInfo = { customerId: vm.selectedReleaseInfoModify.customerId, diffUseDeposit: diffUseDeposit } var submitStockInfo = { diffQuantity: vm.selectedReleaseInfoModify.modifyQuantity - vm.selectedReleaseInfoModify.quantity, } WEB_API_EMPLOYEE.modifyRelease({ releaseId: vm.selectedReleaseInfoModify.releaseId, submitModifyReleaseInfo: submitModifyReleaseInfo, submitDepositInfo: submitDepositInfo, submitStockInfo: submitStockInfo, }).then(function (result) { WEB_API_EMPLOYEE.updateStock() .then(function (result) { vm.checkRootUploading = false; vm.selectedCustomerInfo = null; vm.checkInsertReleaseQuantity = false; vm.submitReleaseInfo = { customerId: null, quantity: 0, remindQuantity: 0, useFee: 0, useDeposit: 0, costId: null, releaseStatus: 0, employeeInfo: { id: vm.employeeInfo.id, name: vm.employeeInfo.name } }; vm.checkDialogSubmitSetModifyRelease = true; // 출고 수정 완료 }).catch(function (err) { $log.error(err); }); }).catch(function (err) { $log.error(err); }); } vm.changeModifyReleaseCount = function(number){ if(number != null){ vm.selectedReleaseInfoModify.modifyQuantity += number; } if(vm.selectedReleaseInfoModify.modifyQuantity != null && vm.selectedReleaseInfoModify.modifyQuantity != '' ){ var useFee = 0; // 사용료 var useDeposit = 0; // 예상보증금 // 사용료 계산 useFee = vm.selectedReleaseInfoModify.modifyQuantity * vm.selectedReleaseInfoModify.currentFee; // 예상보증금 계산 useDeposit = vm.selectedReleaseInfoModify.modifyQuantity * vm.selectedReleaseInfoModify.currentDeposit; vm.selectedReleaseInfoModify.modifyUseFee = useFee; vm.selectedReleaseInfoModify.modifyUseDeposit = useDeposit; } } vm.changeReleaseCount = function(number){ if(number != null){ vm.submitReleaseInfo.quantity += number; } if(vm.submitReleaseInfo.quantity != null && vm.submitReleaseInfo.quantity != '' ){ WEB_API_EMPLOYEE.getCost() .then(function (result) { vm.getCost = result.data.cost; var useFee = 0; // 사용료 var useDeposit = 0; // 예상보증금 // 사용료 계산 useFee = vm.submitReleaseInfo.quantity * vm.getCost.fee; // 예상보증금 계산 useDeposit = vm.submitReleaseInfo.quantity * vm.getCost.deposit; vm.submitReleaseInfo.useFee = useFee; vm.submitReleaseInfo.useDeposit = useDeposit; vm.submitReleaseInfo.costId = vm.getCost.id; }).catch(function (err) { $log.error(err); }); } } // ======================================================================= // Common Function // ======================================================================= function iniData(){ vm.checkRootUploading = false; vm.checkSearchResult = true; vm.selectFile = null; vm.currentCostInfo = null; vm.checkInsertReleaseQuantity = false; vm.selectedCustomerInfo = null; vm.submitReleaseInfo = { customerId: null, quantity: 0, remindQuantity: 0, useFee: 0, useDeposit: 0, costId: null, releaseStatus: 0, employeeInfo: { id: vm.employeeInfo.id, name: vm.employeeInfo.name } }; vm.selectedReleaseInfoModify = null; /* start dialog */ vm.checkDialogFileUploadOfReleaseAuction = false;// 경매정산 excel 등록 vm.checkDialogFileUploadOfReleaseRice = false;// 상차(밥) excel 등록 vm.checkDialogTodayRelease = false;// 출고 등록 vm.checkDialogReleaseRemove = false;// 출고 수정 vm.checkInsertReleaseModifyQuantity = true; vm.checkDialogReleaseRemove = false;// 출고 삭제 vm.checkDialogReleaseRemoveSubmitPassword = false;// 출고 삭제 비밀번호 vm.checkDialogCompletedReleaseRemove = false;// 출고 삭제 완료 vm.checkDialogLackOfStock = false;// 재고수량 부족 vm.checkDialogLackOfDeposit = false;// 잔여보증금 부족 vm.checkDialogLackOfRemainigDeposit = false;// 50만원이하 잔여보증금 부족 vm.checkDialogSubmitSetRelease = false; // 출고 저장 완료 vm.checkDialogNotJoinMemberOrDeposit = false; //대량등록(회원가입, 보증금 부족) vm.checkDialogNoneDeposit = false; /* end dialog */ /* start releaseList board search 초기화*/ vm.checkChangeDate = false; /* end releaseList board search 초기화*/ /* start releaseList board 초기화*/ vm.flag = true; vm.curPage = 1; // 현재 페이지 vm.boardCnt = 15; // 한페이지에 보여지는 콘텐츠 개수 vm.arrowPageCnt = 5; vm.maxShownPageCnt = 5; // 보여지는 최대 페이지 개수 vm.startRange = 1; // 시작 페이지 번호 vm.endRange = 1; // 마지막 페이지 번호 vm.searchInfo = { searchDate: { startDate: null, endDate: null, }, searchReleaseStatus: null, searchCustomerNameOrNumber: null } vm.startDate = null; vm.endDate = null; vm.searchReleaseStatus = null; vm.searchCustomerNameOrNumber = null; /* end releaseList board 초기화*/ /* start customerList board 초기화*/ vm.flag_customerList = true; vm.curPage_customerList = 1; // 현재 페이지 vm.boardCnt_customerList = 15; // 한페이지에 보여지는 콘텐츠 개수 vm.arrowPageCnt_customerList = 5; vm.maxShownPageCnt_customerList = 5; // 보여지는 최대 페이지 개수 vm.startRange_customerList = 1; // 시작 페이지 번호 vm.endRange_customerList = 1; // 마지막 페이지 번호 vm.searchInfo_customerList = { searchCustomerNameOrNumber: null } vm.searchCustomerNameOrNumber_customerList = null; /* end customerList board 초기화*/ getReleaseList(); } function setReleaseDate_Massive(str) { var releaseToday = new Date(); // 이용가능 일시 for(var i = 0; i < 3; i++) { var availabeDate = moment(releaseToday).subtract(i, "days").format("YYYY/MM/DD").toString(); vm.availabeDateList.push(availabeDate); } // 입고일시 $("#startDateTimeCreate"+str).datepicker({ dateFormat: "yy-mm-dd", beforeShowDay: unavailable }); $("#startDateTimeCreate"+str).datepicker('setDate', releaseToday); } function setReleaseDate() { var releaseToday = new Date(); // 이용가능 일시 for(var i = 0; i < 3; i++) { var availabeDate = moment(releaseToday).subtract(i, "days").format("YYYY/MM/DD").toString(); vm.availabeDateList.push(availabeDate); } // 입고일시 $("#startDateTimeRelease").datepicker({ dateFormat: "yy-mm-dd", beforeShowDay: unavailable }); $("#startDateTimeRelease").datepicker('setDate', releaseToday); // 입고 시간 var tmpHour = releaseToday.getHours(); if(tmpHour.toString().length == 1){ tmpHour = "0"+tmpHour.toString(); }else{ tmpHour = tmpHour.toString(); } vm.selectedReleaseHourList = []; var tmpHourIndex = 0; for(var i = 0; i < 24; i++){ var hour = "00" if(i.toString().length == 1){ hour = "0"+i.toString(); }else{ hour = i.toString(); } var inputJson = { code: hour, name: hour, } if(tmpHour == hour){ tmpHourIndex = i; } vm.selectedReleaseHourList.push(inputJson); } vm.selectedReleaseHour = vm.selectedReleaseHourList[tmpHourIndex]; // 입고 분 var tmpMinutes = releaseToday.getMinutes(); if(tmpMinutes.toString().length == 1){ tmpMinutes = "0"+tmpMinutes.toString(); }else{ tmpMinutes = tmpMinutes.toString(); } vm.selectedReleaseMinutesList = []; var tmpMinutesIndex = 0; for(var i = 0; i < 60; i++){ var minutes = "00" if(i.toString().length == 1){ minutes = "0"+i.toString(); }else{ minutes = i.toString(); } var inputJson = { code: minutes, name: minutes, } if(tmpMinutes == minutes){ tmpMinutesIndex = i; } vm.selectedReleaseMinutesList.push(inputJson); } vm.selectedReleaseMinutes = vm.selectedReleaseMinutesList[tmpMinutesIndex]; } function unavailable(date) { var tmpDate = moment(date).format("YYYY/MM/DD").toString(); if (vm.availabeDateList.includes(tmpDate)) { return [true, ""]; } else { return [false, "", "Unavailable"]; } } /* start: releaseList board */ function getReleaseList() { if( vm.searchInfo.searchDate.startDate == null && vm.searchInfo.searchDate.endDate == null && vm.searchInfo.searchReleaseStatus == null && vm.searchInfo.searchCustomerNameOrNumber== null ){ vm.checkSearchResult = false; }else{ vm.checkSearchResult = true; } WEB_API_EMPLOYEE.getReleaseList({ curPage: vm.curPage, boardCnt: vm.boardCnt, searchInfo: vm.searchInfo, orderInfo: vm.orderInfo, }).then(function (result) { vm.getReleaseList = result.data.rows; vm.totalBoardLen = result.data.count; // 이번달 +- 5일 구하기. var tmpYear = new Date().getFullYear().toString(); var tmpMonth = (new Date().getMonth()+1).toString(); var currentFullDay = tmpYear+"-"+tmpMonth+"-01"; var previousDay = moment(currentFullDay).add(-2, 'days').format("YYYY-MM-DD 00:00").toString(); // 5일전 var afterDay = moment(currentFullDay).add(2, 'days').format("YYYY-MM-DD 23:59").toString(); // 5일후 var tmpCurrentFullDay = moment(new Date()).format("YYYY-MM-DD HH:mm").toString(); var fullCheckRegister = true; if(tmpCurrentFullDay >= previousDay && tmpCurrentFullDay <= afterDay){ // 현재일 기준 fullCheckRegister = false; } for(var i = 0; i < vm.getReleaseList.length;i++){ var checkRegister = false; if(fullCheckRegister){ var previousTime = moment(new Date()).format("YYYY-MM-DD 00:00").toString(); var afterTime = moment(new Date()).format("YYYY-MM-DD 23:59").toString(); var registerTime = moment(vm.getReleaseList[i].createdAt).format("YYYY-MM-DD HH:mm").toString(); if(registerTime >= previousTime && registerTime <= afterTime && vm.getReleaseList[i].releaseStatus != 3){ checkRegister = true } } vm.getReleaseList[i]['checkRegister'] = checkRegister; // 사용일 var tmpReleaseDate = new Date(moment(vm.getReleaseList[i].dateTime).format("YYYY/MM/DD")); // var storedDate = new Date(moment(new Date()).format("YYYY/MM/DD")); var storedDate = new Date(moment(new Date()).format("YYYY/MM/DD")); // var dateTime = moment(vm.startStoredDateTime).format("YYYY-MM-DD").toString() + " " + vm.selectedStoredHour.code + ":" + vm.selectedStoredMinutes.code + ":00"; var diffrenceDate = Math.floor((storedDate.getTime() - tmpReleaseDate.getTime()) / (1000*60*60*24)); vm.getReleaseList[i]['useDay'] = diffrenceDate; } vm.pageCnt = Math.ceil(vm.totalBoardLen / vm.boardCnt); if (vm.flag) { if (vm.pageCnt <= vm.maxShownPageCnt) { vm.endRange = vm.pageCnt; } else { vm.endRange = vm.maxShownPageCnt; } } vm.flag = false; }).catch(function (err) { $log.error(err); }); } // 페이지 범위 계산 vm.pageRange = function (min, max) { var input = []; for (var i = min; i <= max; i += 1) { input.push(i); } return input; }; // ======================================================================= // 버튼클릭 이벤트 // ======================================================================= // clickFirstArrow 클릭 vm.clickFirstArrow = function () { vm.curPage = 1; vm.startRange = 1; if (vm.pageCnt <= vm.maxShownPageCnt) { vm.endRange = vm.pageCnt; } else { vm.endRange = vm.maxShownPageCnt; } getReleaseList(); }; // clickLastArrow 클릭 vm.clickLastArrow = function () { vm.curPage = vm.pageCnt; vm.endRange = vm.pageCnt; if (vm.pageCnt <= vm.maxShownPageCnt) { vm.startRange = 1; } else { var remainderValue = vm.pageCnt % vm.maxShownPageCnt; var value = vm.maxShownPageCnt - remainderValue; if (remainderValue != 0) { vm.startRange = vm.pageCnt - remainderValue + 1; } else { vm.startRange = vm.endRange; } } getReleaseList(); }; // leftArrow 클릭 vm.clickLeftArrow = function () { if (vm.curPage > 1) { vm.curPage -= vm.arrowPageCnt; } if (vm.curPage < vm.startRange) { if ((vm.endRange % vm.maxShownPageCnt) != 0) { vm.endRange += (vm.maxShownPageCnt - (vm.endRange % vm.maxShownPageCnt)); } vm.startRange -= vm.arrowPageCnt; vm.endRange = vm.startRange + (vm.arrowPageCnt - 1); } vm.curPage = vm.endRange; getReleaseList(); }; // rightArrow 클릭 vm.clickRightArrow = function () { if (vm.curPage < vm.pageCnt) { vm.curPage += vm.arrowPageCnt; } if (vm.curPage > vm.endRange) { vm.startRange += vm.arrowPageCnt; vm.endRange += vm.arrowPageCnt; if (vm.endRange >= vm.pageCnt) { vm.endRange = vm.pageCnt; } } vm.curPage = vm.startRange; getReleaseList(); }; // 페이지 직접 클릭 vm.clickPage = function (index) { vm.curPage = index; getReleaseList(); }; /* end: releaseList board */ /* start: customerList board */ function getCustomerList() { WEB_API_EMPLOYEE.getCustomerList({ stock: true, curPage: vm.curPage_customerList, boardCnt: vm.boardCnt_customerList, searchInfo: vm.searchInfo_customerList, orderInfo: vm.orderInfo_customerList, }).then(function (result) { vm.getCustomerList = result.data.rows; vm.totalBoardLen_customerList = result.data.count; vm.pageCnt_customerList = Math.ceil(vm.totalBoardLen_customerList / vm.boardCnt_customerList); if (vm.flag_customerList) { if (vm.pageCnt_customerList <= vm.maxShownPageCnt_customerList) { vm.endRange_customerList = vm.pageCnt_customerList; } else { vm.endRange_customerList = vm.maxShownPageCnt_customerList; } } vm.flag_customerList = false; }).catch(function (err) { $log.error(err); }); } // ======================================================================= // 페이지 범위 계산 // ======================================================================= vm.pageRange_customerList = function (min, max) { var input = []; for (var i = min; i <= max; i += 1) { input.push(i); } return input; }; // ======================================================================= // 버튼클릭 이벤트 // ======================================================================= // clickFirstArrow 클릭 vm.clickFirstArrow_customerList = function () { vm.curPage_customerList = 1; vm.startRange_customerList = 1; if (vm.pageCnt_customerList <= vm.maxShownPageCnt_customerList) { vm.endRange_customerList = vm.pageCnt_customerList; } else { vm.endRange_customerList = vm.maxShownPageCnt_customerList; } getCustomerList(); }; // clickLastArrow 클릭 vm.clickLastArrow_customerList = function () { vm.curPage_customerList = vm.pageCnt_customerList; vm.endRange_customerList = vm.pageCnt_customerList; if (vm.pageCnt_customerList <= vm.maxShownPageCnt_customerList) { vm.startRange_customerList = 1; } else { var remainderValue = vm.pageCnt_customerList % vm.maxShownPageCnt_customerList; var value = vm.maxShownPageCnt_customerList - remainderValue; if (remainderValue != 0) { vm.startRange_customerList = vm.pageCnt_customerList - remainderValue + 1; } else { vm.startRange_customerList = vm.endRange_customerList; } } getCustomerList(); }; // leftArrow 클릭 vm.clickLeftArrow_customerList = function () { if (vm.curPage_customerList > 1) { vm.curPage_customerList -= vm.arrowPageCnt_customerList; } if (vm.curPage_customerList < vm.startRange_customerList) { if ((vm.endRange_customerList % vm.maxShownPageCnt_customerList) != 0) { vm.endRange_customerList += (vm.maxShownPageCnt_customerList - (vm.endRange_customerList % vm.maxShownPageCnt_customerList)); } vm.startRange_customerList -= vm.arrowPageCnt_customerList; vm.endRange_customerList = vm.startRange_customerList + (vm.arrowPageCnt_customerList - 1); } vm.curPage_customerList = vm.endRange_customerList; getCustomerList(); }; // rightArrow 클릭 vm.clickRightArrow_customerList = function () { if (vm.curPage_customerList < vm.pageCnt_customerList) { vm.curPage_customerList += vm.arrowPageCnt_customerList; } if (vm.curPage_customerList > vm.endRange_customerList) { vm.startRange_customerList += vm.arrowPageCnt_customerList; vm.endRange_customerList += vm.arrowPageCnt_customerList; if (vm.endRange_customerList >= vm.pageCnt_customerList) { vm.endRange_customerList = vm.pageCnt_customerList; } } vm.curPage_customerList = vm.startRange_customerList; getCustomerList(); }; // 페이지 직접 클릭 vm.clickPage_customerList = function (index) { vm.curPage_customerList = index; getCustomerList(); }; /* end: customerList board */ var getKeyboardEventResult = function(keyEvent){ return(window.event ? keyEvent.keyCode : keyEvent.which); }; function _base64ToArrayBuffer(base64) { var binary_string = window.atob(base64); var len = binary_string.length; var bytes = new Uint8Array(len); for (var i = 0; i < len; i++) { bytes[i] = binary_string.charCodeAt(i); } return bytes.buffer; } } })();