Jad Meouchy 9 жил өмнө
parent
commit
f9b2cb4548
1 өөрчлөгдсөн 38 нэмэгдсэн , 8 устгасан
  1. 38 8
      cron/ftpwriter.php

+ 38 - 8
cron/ftpwriter.php

@@ -18,19 +18,47 @@ ftp_chdir($conn, FTP_DIR);
 
 
 $stmt = $dbh->prepare(
-	"SELECT DISTINCT id_company, ftp_directory
-	FROM file_row_update
-	INNER JOIN file_row USING(id_file_row)
-	INNER JOIN file USING(id_file)
-	INNER JOIN company USING(id_company)
-	WHERE date_modified > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY)
-	OR file.date_processed > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY)");
+	"SELECT DISTINCT id_company, name, ftp_directory
+	FROM company
+	WHERE id_company IN
+	(
+		SELECT DISTINCT(id_company)
+		FROM file_row_update
+		INNER JOIN file_row USING(id_file_row)
+		INNER JOIN `file` USING(id_file)
+		WHERE date_modified > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY)
+		OR file.date_processed > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY)
+		
+		UNION
+		
+		SELECT DISTINCT(id_company)
+		FROM `file`
+		INNER JOIN file_row USING(id_file)
+		WHERE id_file_row IN
+		(
+			SELECT id_file_row
+			FROM file_row_update
+			WHERE WEEK(date_modified) = WEEK(CURRENT_TIMESTAMP)
+		
+			UNION
+			
+			SELECT id_file_row
+			FROM file_row
+			WHERE WEEK(date_processed) = WEEK(CURRENT_TIMESTAMP)
+		)
+	)");
 
 $stmt->execute();
 $companies = $stmt->fetchAll(PDO::FETCH_ASSOC);
 
+
+$num_companies_processed = 0;
+
 foreach($companies as $company)
 {
+	$num_companies_processed++;
+	echo "processing company $company[name]...";
+	
 	$id_company = $company['id_company'];
 	$week_number = date('W');
 
@@ -46,9 +74,11 @@ foreach($companies as $company)
 
 	if(!ftp_fput($conn, $remote_filename, $f, FTP_ASCII))
 	{
-		echo "Error uploading file.\n";
+		echo "ERROR uploading file to ftp.\n";
 		return;
 	}
+	
+	echo "SUCCESS\n";
 }
 
 ftp_close($conn);