Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. //Converter Class
  2. var Converter = require("csvtojson").Converter;
  3. var converter = new Converter({});
  4. var async = require('async');
  5. var u = require('./u');
  6. var redis = require('redis').createClient();
  7. var sql = {
  8. tagnet:require('./csv/tagnet_sql')
  9. };
  10. var lpad = require('./utils/left-pad');
  11. var SPN = {};
  12. var CSVDATA = [];
  13.  
  14.  
  15. function parseCsv(cb){
  16. u.log('Start parseCsv');
  17. //end_parsed will be emitted once parsing finished
  18. converter.on("end_parsed", function (jsonArray) {
  19. u.log('csv pareser end');
  20. //u.log(jsonArray); //here is your result jsonarray
  21. handleJson(jsonArray);
  22. });
  23.  
  24. //read from file
  25. require("fs").createReadStream("./csv/TN010.import.csv").pipe(converter);
  26. function handleJson(data){
  27. //u.log('csv handleJson',data);
  28. CSVDATA = data;
  29.  
  30.  
  31.  
  32.  
  33. u.log('END parseCsv ', CSVDATA.length);
  34. cb(false, null);
  35.  
  36.  
  37.  
  38.  
  39. }
  40. }
  41. function getOrigin(cb){
  42. u.log('Start getOrigin');
  43. var len = CSVDATA.length - 1;
  44. CSVDATA.forEach(function(e, i, a){
  45. // e.Origin = lpad(e.Origin, 5, '0');
  46. e.Zipcode = lpad(e.Zipcode, 5, '0');
  47.  
  48.  
  49. if(i == len){
  50. u.log('End getOrigin');
  51. cb(false, null);
  52. }
  53. });
  54.  
  55. }
  56.  
  57. function handleRecord(cb){
  58. var tasks = [];
  59. var len = CSVDATA.length - 1;
  60. CSVDATA.forEach(function(e, i, a){
  61. tasks.push(function(callback){
  62.  
  63. u.log('[Inserting record]',i, len);
  64.  
  65. var query = "INSERT INTO " +
  66. " [dbo].[tagnet_Geo_Zipcode2RouteSPN] " +
  67. "(Zipcode,ServiceProviderID,Region,Route,IsAirport,IsMilitary,DriverNote,CityName,IsActiveForNewWork,IsActiveForCalendar)" +
  68. " VALUES " +
  69. "(" +
  70. " '" + e.Zipcode + "' " +
  71. " ,'" + e.ServiceProviderID + "' " +
  72. " ,'" + e.Region + "' " +
  73. " ,'" + e.Route + "' " +
  74. " ," + e.IsAirport + " " +
  75. " ," + e.IsMilitary + " " +
  76. " ,'" + e.DriverNote + "' " +
  77. " ,(select city from tagnet_Geo_ZipcodeInfo WHERE Zipcode = '" + e.Zipcode + "') " +
  78. " ," + e.IsActiveForNewWork + " " +
  79. " ," + e.IsActiveForCalendar + " " +
  80.  
  81. " ) ";
  82. // setTimeout(function(){
  83. // callback(false, null);
  84. // }, 10);
  85.  
  86. u.log('Would Insert ', query)
  87. sql.tagnet(query, function (err, reply) {
  88. callback(false, null);
  89. });
  90.  
  91. });
  92. if(i == len){
  93. async.series(tasks, function(err, reply){
  94. cb(false, null);
  95. });
  96. }
  97. })
  98.  
  99. }
  100. async.series([ parseCsv, getOrigin, handleRecord], function(){
  101. u.log('DONE Updating Records');
  102. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement