김유현

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)){
159 +
160 + //일당 받아 웹에 넣기
153 document.getElementById("payPerDay").innerHTML = "The daily wage is " + payPerDay + "won"; 161 document.getElementById("payPerDay").innerHTML = "The daily wage is " + payPerDay + "won";
154 162
163 + // 출근 시간 전이라면 출근 시간까지 얼마나 남았는지 계산하고 웹에 넣기
155 if (hours < workTime){ 164 if (hours < workTime){
156 var diff2 = (workStart.getTime() - now.getTime()); 165 var diff2 = (workStart.getTime() - now.getTime());
157 var hour2 = (diff2/(1000*60*60))%24 - ((diff2/(1000*60*60))%24)%1; 166 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; 167 var min2 = (diff2/(1000*60))%60 - ((diff2/(1000*60))%60)%1;
159 var sec2 = (diff2/1000)%60; 168 var sec2 = (diff2/1000)%60;
160 -
161 document.getElementById("moneyPerSec").innerHTML = "출근할 때까지 "+ String(hour2) + "시간" + String(min2) + "분" + String(sec2.toFixed(2)) + "초 남았당"; 169 document.getElementById("moneyPerSec").innerHTML = "출근할 때까지 "+ String(hour2) + "시간" + String(min2) + "분" + String(sec2.toFixed(2)) + "초 남았당";
162 } 170 }
163 else{ 171 else{
164 - moneyPerSec += payPerDay/(1000*60*60*(offWork - workTime)); 172 + //출근 했다면 실시간 버는 돈 계산하고 웹에 넣기
173 + var diff3 = (now.getTime() - workStart.getTime());
174 + moneyPerSec = diff3*(payPerDay/(1000*60*60*(offWork - workTime)));
165 document.getElementById("moneyPerSec").innerHTML = + moneyPerSec.toFixed(3) + "won earging today !!"; 175 document.getElementById("moneyPerSec").innerHTML = + moneyPerSec.toFixed(3) + "won earging today !!";
166 } 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 }
200 + // 출근날이라면
186 else { 201 else {
187 - if(hours < workTime){ 202 + //아직 출근 전이라면
203 + if(hours2 < workTime){
188 bar.style.width = 0 + '%'; 204 bar.style.width = 0 + '%';
189 counter.innerHTML = '출근 안했당'; 205 counter.innerHTML = '출근 안했당';
190 -
191 } 206 }
207 + //출근 했다면
192 else{ 208 else{
209 + //실시간 버는 돈 백분율로 계산
193 i = (moneyPerSec / payPerDay) * 100; 210 i = (moneyPerSec / payPerDay) * 100;
194 -
195 bar.style.width = i.toFixed(4) + '%'; 211 bar.style.width = i.toFixed(4) + '%';
196 counter.innerHTML = i.toFixed(4) + '%'; 212 counter.innerHTML = i.toFixed(4) + '%';
197 } 213 }
198 - //if(r < throttle) { // Simulate d/l speed and uneven bitrate 214 +
199 - // i = i + r;
200 - //}
201 } 215 }
202 216
203 - } else {; 217 + }
218 + //일을 100% 끝내다면
219 + else {;
204 bar.className += " done"; 220 bar.className += " done";
205 } 221 }
206 })(); 222 })();
......