김유현

Almost final commit

...@@ -20,9 +20,7 @@ app.get('/graph', function(req, res){ ...@@ -20,9 +20,7 @@ app.get('/graph', function(req, res){
20 var workDay = req.query.workDay 20 var workDay = req.query.workDay
21 var workTime = req.query.workTime 21 var workTime = req.query.workTime
22 var offWork = req.query.offWork 22 var offWork = req.query.offWork
23 - //console.log(payDay, salary,workDay,workTime, offWork);
24 res.sendFile(__dirname + '/public/graph.html'); 23 res.sendFile(__dirname + '/public/graph.html');
25 - //res.send(`payDay : ${payDay}, salary : ${salary}, workDay : ${workDay}, workTime : ${workTime}, offWork : ${offWork}`);
26 }) 24 })
27 25
28 app.listen(3000, function(){ 26 app.listen(3000, function(){
......
...@@ -135,11 +135,14 @@ ...@@ -135,11 +135,14 @@
135 //일정 시간동안 반복 호출 함수 135 //일정 시간동안 반복 호출 함수
136 setInterval("dpTime()",1); 136 setInterval("dpTime()",1);
137 function dpTime(){ 137 function dpTime(){
138 + // 실시간 날짜 변수 정의
138 var now = new Date(); 139 var now = new Date();
139 day = now.getDay(); 140 day = now.getDay();
140 hours = now.getHours(); 141 hours = now.getHours();
141 minutes = now.getMinutes(); 142 minutes = now.getMinutes();
142 seconds = now.getSeconds(); 143 seconds = now.getSeconds();
144 +
145 + // 시간, 분, 초 2자리로 출력
143 if (hours < 10){ 146 if (hours < 10){
144 hours = "0" + hours; 147 hours = "0" + hours;
145 } if (minutes < 10){ 148 } if (minutes < 10){
...@@ -147,60 +150,73 @@ ...@@ -147,60 +150,73 @@
147 } if (seconds < 10){ 150 } if (seconds < 10){
148 seconds = "0" + seconds; 151 seconds = "0" + seconds;
149 } 152 }
153 +
154 + //현재 시간 웹에 넣기
150 document.getElementById("dpTime").innerHTML = "The current time is "+ hours + ":" + minutes + ":" + seconds; 155 document.getElementById("dpTime").innerHTML = "The current time is "+ hours + ":" + minutes + ":" + seconds;
151 156
157 + //출근날이라면
152 if(isTodayWork(day, workingDay)){ 158 if(isTodayWork(day, workingDay)){
153 - document.getElementById("payPerDay").innerHTML = "The daily wage is " + payPerDay + "won";
154 159
155 - if (hours < workTime){ 160 + //일당 받아 웹에 넣기
156 - var diff2 = (workStart.getTime() - now.getTime()); 161 + document.getElementById("payPerDay").innerHTML = "The daily wage is " + payPerDay + "won";
157 - var hour2 = (diff2/(1000*60*60))%24 - ((diff2/(1000*60*60))%24)%1;
158 - var min2 = (diff2/(1000*60))%60 - ((diff2/(1000*60))%60)%1;
159 - var sec2 = (diff2/1000)%60;
160 162
161 - document.getElementById("moneyPerSec").innerHTML = "출근할 때까지 "+ String(hour2) + "시간" + String(min2) + "분" + String(sec2.toFixed(2)) + "초 남았당"; 163 + // 출근 시간 전이라면 출근 시간까지 얼마나 남았는지 계산하고 웹에 넣기
162 - } 164 + if (hours < workTime){
163 - else{ 165 + var diff2 = (workStart.getTime() - now.getTime());
164 - moneyPerSec += payPerDay/(1000*60*60*(offWork - workTime)); 166 + var hour2 = (diff2/(1000*60*60))%24 - ((diff2/(1000*60*60))%24)%1;
165 - document.getElementById("moneyPerSec").innerHTML = + moneyPerSec.toFixed(3) + "won earging today !!"; 167 + var min2 = (diff2/(1000*60))%60 - ((diff2/(1000*60))%60)%1;
166 - } 168 + var sec2 = (diff2/1000)%60;
169 + document.getElementById("moneyPerSec").innerHTML = "출근할 때까지 "+ String(hour2) + "시간" + String(min2) + "분" + String(sec2.toFixed(2)) + "초 남았당";
170 + }
171 + else{
172 + //출근 했다면 실시간 버는 돈 계산하고 웹에 넣기
173 + var diff3 = (now.getTime() - workStart.getTime());
174 + moneyPerSec = diff3*(payPerDay/(1000*60*60*(offWork - workTime)));
175 + document.getElementById("moneyPerSec").innerHTML = + moneyPerSec.toFixed(3) + "won earging today !!";
176 + }
167 } 177 }
168 178
169 -} 179 + }
170 180
181 + // 막대 그래프
171 var body = document.querySelector('body'), 182 var body = document.querySelector('body'),
172 bar = document.querySelector('.progress-bar'), 183 bar = document.querySelector('.progress-bar'),
173 counter = document.querySelector('.count'), 184 counter = document.querySelector('.count'),
174 - i = 0, 185 + i = 0;
175 - throttle = 0.4; // 0-1
176 (function draw() { 186 (function draw() {
187 + //요일 , 시간 변수
177 var now = new Date(); 188 var now = new Date();
178 - day = now.getDay(); 189 + var day2 = now.getDay();
190 + var hours2 = now.getHours();
179 191
192 + //일을 100% 끝내지 못했다면
180 if(i <= 100) { 193 if(i <= 100) {
181 requestAnimationFrame(draw); 194 requestAnimationFrame(draw);
182 - if(isTodayWork(day, workingDay) != true){ 195 + // 오늘이 쉬는 날이라면
196 + if(isTodayWork(day2, workingDay) != true){
183 bar.style.width = 0 + '%'; 197 bar.style.width = 0 + '%';
184 counter.innerHTML = '오늘 쉬는날'; 198 counter.innerHTML = '오늘 쉬는날';
185 } 199 }
186 - else { 200 + // 출근날이라면
187 - if(hours < workTime){ 201 + else {
202 + //아직 출근 전이라면
203 + if(hours2 < workTime){
188 bar.style.width = 0 + '%'; 204 bar.style.width = 0 + '%';
189 counter.innerHTML = '출근 안했당'; 205 counter.innerHTML = '출근 안했당';
190 - 206 + }
191 - } 207 + //출근 했다면
192 - else{ 208 + else{
209 + //실시간 버는 돈 백분율로 계산
193 i = (moneyPerSec / payPerDay) * 100; 210 i = (moneyPerSec / payPerDay) * 100;
211 + bar.style.width = i.toFixed(4) + '%';
212 + counter.innerHTML = i.toFixed(4) + '%';
213 + }
194 214
195 - bar.style.width = i.toFixed(4) + '%';
196 - counter.innerHTML = i.toFixed(4) + '%';
197 } 215 }
198 - //if(r < throttle) { // Simulate d/l speed and uneven bitrate
199 - // i = i + r;
200 - //}
201 - }
202 216
203 - } else {; 217 + }
218 + //일을 100% 끝내다면
219 + else {;
204 bar.className += " done"; 220 bar.className += " done";
205 } 221 }
206 })(); 222 })();
......