Skip to content

Instantly share code, notes, and snippets.

@dperussina
Created July 17, 2017 22:36
Show Gist options
  • Save dperussina/70fdcb65d667bf3de22719923eb7afbd to your computer and use it in GitHub Desktop.
Save dperussina/70fdcb65d667bf3de22719923eb7afbd to your computer and use it in GitHub Desktop.
//Converter Class
var Converter = require("csvtojson").Converter;
var converter = new Converter({});
var async = require('async');
var u = require('./u');
var redis = require('redis').createClient();
var sql = {
tagnet:require('./csv/tagnet_sql')
};
var lpad = require('./utils/left-pad');
var SPN = {};
var CSVDATA = [];
//
//
// function getSPZips(cb){
// u.log('Start getSPZips');
// sql.tagnet('SELECT * FROM tagnet_AppointmentSPN_ServiceProviders ', function(err, reply){
// var len = reply.length - 1;
// reply.forEach(function(e, i, a){
// SPN[e.ServiceProviderID] = e.SPPhysicalZip;
// if(i == len){
// u.log('End getSPZips');
// cb(false, null);
// }
// });
// });
// }
function parseCsv(cb){
u.log('Start parseCsv');
//end_parsed will be emitted once parsing finished
converter.on("end_parsed", function (jsonArray) {
u.log('csv pareser end');
//u.log(jsonArray); //here is your result jsonarray
handleJson(jsonArray);
});
//read from file
require("fs").createReadStream("./csv/LA001_import.csv").pipe(converter);
function handleJson(data){
//u.log('csv handleJson',data);
CSVDATA = data;
u.log('END parseCsv ', CSVDATA.length);
cb(false, null);
}
}
function getOrigin(cb){
u.log('Start getOrigin');
var len = CSVDATA.length - 1;
CSVDATA.forEach(function(e, i, a){
// e.Origin = lpad(e.Origin, 5, '0');
e.Zipcode = lpad(e.Zipcode, 5, '0');
if(i == len){
u.log('End getOrigin');
cb(false, null);
}
});
}
function handleRecord(cb){
var tasks = [];
var len = CSVDATA.length - 1;
CSVDATA.forEach(function(e, i, a){
tasks.push(function(callback){
u.log('[Inserting record]',i, len);
var query = "INSERT INTO " +
" [dbo].[tagnet_Geo_Zipcode2RouteSPN] " +
"(Zipcode,ServiceProviderID,Region,Route,IsAirport,IsMilitary,DriverNote,CityName,IsActiveForNewWork,IsActiveForCalendar)" +
" VALUES " +
"(" +
" '" + e.Zipcode + "' " +
" ,'" + e.ServiceProviderID + "' " +
" ,'" + e.Region + "' " +
" ,'" + e.Route + "' " +
" ," + e.IsAirport + " " +
" ," + e.IsMilitary + " " +
" ,'" + e.DriverNote + "' " +
" ,(select city from tagnet_Geo_ZipcodeInfo WHERE Zipcode = '" + e.Zipcode + "') " +
" ," + e.IsActiveForNewWork + " " +
" ," + e.IsActiveForCalendar + " " +
" ) ";
// setTimeout(function(){
// callback(false, null);
// }, 10);
u.log('Would Insert ', query)
sql.tagnet(query, function (err, reply) {
callback(false, null);
});
});
if(i == len){
async.series(tasks, function(err, reply){
cb(false, null);
});
}
})
}
async.series([ parseCsv, getOrigin, handleRecord], function(){
u.log('DONE Updating Records');
})
Zipcode ServiceProviderID Region Route IsAirport IsMilitary DriverNote CityName IsActiveForNewWork IsActiveForCalendar
70004 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70009 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70010 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70011 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70033 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70042 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70044 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70046 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70054 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70055 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70059 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70060 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70063 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70064 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70066 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70069 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70073 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70078 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70081 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70093 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70096 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70097 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70140 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70141 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70142 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70143 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70145 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70146 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70148 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70149 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70150 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70151 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70152 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70153 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70154 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70156 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70157 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70158 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70159 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70160 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70161 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70162 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70164 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70165 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70166 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70167 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70170 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70172 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70174 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70175 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70176 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70177 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70178 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70179 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70181 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70182 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70183 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70184 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70185 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70186 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70187 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70189 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70190 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70195 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70302 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70310 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70361 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70371 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70376 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70404 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70421 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70429 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70434 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70457 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70459 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70467 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70469 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70470 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70704 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70707 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70716 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70718 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70727 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70728 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70738 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70784 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70786 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
70792 LA001 UNASSIGNED UNASSIGNED 0 0 1 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment