<?php namespace App\Http\Controllers;

use DateTime;
use App\Custom\SQLConnection;
use App\Custom\Misc;

class SFTPController extends Controller {

	public static function obtenerArchivoCopyle(){

		/*
		$cuits = SQLConnection::backendStoreProcedure('copyle_obtener_no_procesados',array(),"select");
		foreach ($cuits as $key => $value) {
			usleep(200000);
			$url = 'https://www.fidelitas.com.ar/servicios/obtener-score/'.$value->cuit;
			$score = file_get_contents($url);
			SQLConnection::backendStoreProcedure('copyle_actualizar_score',array($value->cuit,$score),"selectOne");
		}
		*/
		$sftp = \Storage::disk('sftp');
		$name = 'lote_'.date('dmY').'.txt';//'lote_14052018.txt';
		//.date('dmY')
		$exists = $sftp->exists('datain/'.$name);
		
		if($exists == 1){
			//Misc::enviarMail('copyle/mail_index', 'leonel.turchetto@fidelitas.com.ar', 'se comenzó el proceso COPYLE, se encontrararon: '. $count . ' archivos a procesar' , 'copyle arranca');
			
			$file = $sftp->get('//datain/'.$name);
			$exploded = explode(PHP_EOL, $file);
			if( sizeof($exploded) ==0){return;}
			foreach ($exploded as $key => $cuit) {
				$cuit = str_replace(',','',(string)trim($cuit));
				if (!empty($cuit)) {
					SQLConnection::backendStoreProcedure('copyle_insertar_cuits',array($cuit,$name),"selectOne");
				}
			}
			$sftp->move('//datain/'.$name,'//inprocess/'.$name);
			//$sftp->put('inprocess/'.$name,$file);
			//Misc::enviarMail('copyle/mail_index', array('leonel.turchetto@fidelitas.com.ar','alejandro.burgol@fidelitas.com.ar'), 'se guardaron: '. sizeof($exploded) . ' cuits en la base de datos para procesar.' , 'copyle sigue..');
			
			foreach ($exploded as $key => $cuit) {
				usleep(150000);
				$cuit =  str_replace(',','',(string)trim($cuit));
				if (!empty($cuit)) {
				//$url = 'http://192.168.10.9/servicios/obtener-score/'.$cuit;
				$url = env('URL_INTERNA') . '/servicios/obtener-score/'.$cuit;
				$score = file_get_contents($url); 
				SQLConnection::backendStoreProcedure('copyle_actualizar_score',array($cuit,$score),"selectOne");
				}
			}
			$procesados = SQLConnection::backendStoreProcedure('copyle_obtener_procesados',array($name),"select");
			if(count($procesados) == 10000){
				$info = '';
				foreach ($procesados as $key => $value) {
					$info .= $value->cuit.','.$value->score."\r\n";
				}
				$name = str_replace('.txt', '_out.txt', $name);
				$sftp = \Storage::disk('sftp');
				$sftp->put('//dataout/'.$name,$info);
				//lfernandoanello@gmail.com
				Misc::enviarMail('copyle/mail_index', array('maria.soria@fidelitas.com.ar','leonel.turchetto@fidelitas.com.ar','alejandro.burgol@fidelitas.com.ar'), ' Terminó copyle y se subió el archivo a'.'dataout/'.$name , 'copyle termino');
			}
		}else{
			Misc::enviarMail('copyle/mail_index', array('leonel.turchetto@fidelitas.com.ar','alejandro.burgol@fidelitas.com.ar','maria.soria@fidelitas.com.ar'), 'NO se pudo procesar, ya que el sistema no detecto ningún archivo.'.date('d/m/Y h:i:s') , 'copyle status failed');
		}
	}
}