function process_mcxeodc(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
{
try
{
var mon=count[n].split('-')[0];
var m=count[n].split('-')[1];
var d=count[n].split('-')[2];
var yy=count[n].split('-')[3];
var y=yy.substr(2,2);
var fs = require('fs');
var csv = require('ya-csv');
var async = require('async');
try{
async.parallel({
data1 : function(callback){
if (fs.existsSync(downloadpath+'mcxbhavcopy_'+mon+d+yy+'.csv')) {
Ext.getCmp('pbar3').updateText('Processing mcxbhavcopy_'+mon+d+yy+'.csv');
fs.readFile(downloadpath+'mcxbhavcopy_'+mon+d+yy+'.csv','utf-8', function(err, data){
if(err){
document.getElementById("om").innerHTML+="<br/>"+err;
}
callback(err, data);
});
}else
{
fs.readdir(downloadpath, function(err, files){
callback(err,'0');
});
}
}
}, function(err, result){
if (err) {
console.log(err);
}
if (fs.existsSync(downloadpath+'mcxbhavcopy_'+mon+d+yy+'.csv')) {
Ext.getCmp('pbar3').updateText('Processing mcxbhavcopy_'+mon+d+yy+'.csv');
var arrRow = new Array();
arrRow = result['data1'].split('\n');
var arrFileData = new Array();
for(var i=0 ; i<arrRow.length-1;i++)
{
var tempArr = arrRow[i].split(',');
arrFileData.push(tempArr);
}
for(i=0; i<arrFileData.length; i++)
{
if(arrFileData[i][12] == null || arrFileData[i][12] == "")
{
arrFileData[i][12] = '';
}
}
var outputpath1=outputpath;
var filename = outputpath1+'MCX_Com_mcxbhavcopy'+mon+d+yy+'.csv';
var header='TICKER,NAME,DATE,OPEN,HIGH,LOW,CLOSE,VOLUME,OPENINT';
if(!fs.existsSync(filename)){
fs.writeFile(filename, header+'\n', function (err)
{
if (err) {
console.log(err);
}
var dates = new Array();
for(i=1;i<arrFileData.length;i++)
{
if(typeof arrFileData[i][2]!=='undefined')
dates.push(new Date(arrFileData[i][2].split(' ')[2],getMonth(arrFileData[i][2].split(' ')[1]),arrFileData[i][2].split(' ')[0]));
}
function sortDates(a, b)
{
return a.getTime() - b.getTime();
}
var sorted = dates.sort(sortDates);
var m1=sorted[0].getMonth()+1;
var day=sorted[0].getFullYear()+'/'+m1+'/'+sorted[0].getDate();
var date =yy+m+d;
for(i=1;i<arrFileData.length;i++)
{
var date1 = new Date(day);
if(typeof arrFileData[i][2]!=='undefined')
var date2 = new Date(arrFileData[i][2].split(' ')[2]+'/'+getMonth(arrFileData[i][2].split(' ')[1])+'/'+arrFileData[i][2].split(' ')[0]);
m1=monthDiff(date1,date2);
if(m1==0)
{
fs.appendFileSync(filename,arrFileData[i][1]+'-I'+','+arrFileData[i][1]+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][10]+'\n','UTF-8', function (err) {
if (err) {
console.log(err);
}
});
}
if(m1==1)
{
fs.appendFileSync(filename,arrFileData[i][1]+'-II'+','+arrFileData[i][1]+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][10]+'\n','UTF-8', function (err) {
if (err) {
console.log(err);
}
});
}
if(m1==2)
{
fs.appendFileSync(filename,arrFileData[i][1]+'-III'+','+arrFileData[i][1]+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][10]+'\n','UTF-8', function (err) {
if (err) {
console.log(err);
}
});
}
}
});
}
}
});
}
catch(err){
if (err) {
console.log(err);
}
}
Ext.getCmp('pbar3').updateText('Processing mcxbhavcopy_'+mon+d+yy+'.csv completed');
document.getElementById("om").innerHTML+='<br/>mcxbhavcopy'+mon+d+yy+'.csv is processed..';
n++;
if(count.length > n)
{
loadprogressbar();
setTimeout(function(){
process_mcxeodc(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},1000);
}else
{
Ext.getCmp('pbar3').updateProgress(0);
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
function monthDiff(d1, d2) {
var months;
months = (d2.getFullYear() - d1.getFullYear()) * 12;
months -= d1.getMonth() + 1;
months += d2.getMonth();
return months+1;
}
function getMonth(mon){
switch(mon.toUpperCase())
{
case 'JAN':
mon='01';
break;
case 'FEB':
mon='02';
break;
case 'MAR':
mon='03';
break;
case 'APR':
mon='04';
break;
case 'MAY':
mon='05';
break;
case 'JUN':
mon='06';
break;
case 'JUL':
mon='07';
break;
case 'AUG':
mon='08';
break;
case 'SEP':
mon='09';
break;
case 'OCT':
mon='10';
break;
case 'NOV':
mon='11';
break;
case 'DEC':
mon='12';
break;
}
return mon;
}
}catch(err)
{
if (err) {
console.log(err);
}
n++;
if(count.length > n)
{
loadprogressbar();
setTimeout(function(){
process_mcxeodc(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},1000);
}else
{
Ext.getCmp('pbar3').updateProgress(0);
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
}
}