Advertisement
Guest User

Untitled

a guest
May 5th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var mysql = require('mysql');
  2. init();
  3.  
  4. function init() {
  5.  
  6.     var args = process.argv.slice(2);
  7.  
  8.     if (args.length != 2) {
  9.         console.log('Please provide start date and end date');
  10.         return;
  11.     }
  12.  
  13.     var startDate = new Date(args[0]), endDate = new Date(args[1]);
  14.     var dates = [];
  15.  
  16.    
  17.     dates.push(startDate);
  18.    
  19.     var nearestEnd = new Date();
  20.     nearestEnd.setDate(startDate.getDate()+6-startDate.getDay());
  21.    
  22.     if(nearestEnd < endDate) {
  23.         dates.push(nearestEnd);
  24.         var i = new Date();
  25.         i.setDate(nearestEnd.getDate()+1);
  26.  
  27.         for(;i<= endDate; i = new Date(i.setDate(i.getDate()+1))) {
  28.             dates.push(new Date(i));
  29.             dates.push(new Date(i.setDate(i.getDate()+6)));
  30.         }
  31.  
  32.         if(dates[dates.length-1] != endDate)
  33.             dates[dates.length-1] = endDate;
  34.     }
  35.     else
  36.         dates.push(endDate);
  37.  
  38.  
  39.     var queryString = "SELECT * FROM (SELECT count(*) as count, date(created_at + INTERVAL 6 - weekday(created_at) DAY) as week, workflow_state FROM applicants WHERE created_at > '"+(dates[0]).toISOString().substring(0, 19).replace('T', ' ')+"' AND created_at < '"+(dates[1]).toISOString().substring(0, 19).replace('T', ' ')+"' GROUP BY workflow_state";
  40.     for(i=2;i<4;i++) {
  41.         queryString += " UNION SELECT count(*) as count, date(created_at + INTERVAL 6 - weekday(created_at) DAY) as week, workflow_state FROM applicants WHERE created_at > '"+(dates[i]).toISOString().substring(0, 19).replace('T', ' ')+"' AND created_at < '"+(dates[i+1]).toISOString().substring(0, 19).replace('T', ' ')+"' GROUP BY workflow_state";
  42.         i++;
  43.     }
  44.     queryString += ") as t";
  45.     console.log(queryString);
  46.  
  47.    
  48.     var con = mysql.createConnection({
  49.         host: "localhost",
  50.         user: "root",
  51.         password: "root",
  52.         database: "shiv"
  53.     });
  54.  
  55.     con.connect(function(err) {
  56.         if (err) throw err;
  57.         console.log("Connected!");
  58.         con.query(queryString, function(error, results) {
  59.             if(err)
  60.                 throw err;
  61.             console.log(results);
  62.         });
  63.     });
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement