This commit is contained in:
Nicolas Bally 2019-12-19 00:50:43 +01:00
parent 7548c97d55
commit dd4be476e3
11 changed files with 1120 additions and 50 deletions

View File

@ -20,7 +20,22 @@ class Admin::VolumePeriodiquesController < ApplicationController
def import
system "/usr/local/mysql/bin/mysqldump -h 193.200.182.69 -u root -t -pmysqlAdmin vulcov2 volumeperiodique contact societe seuilsdeclencheur > #{Rails.root}/import_csv/vulco_to_import.sql "
if true
if Rails.env.development?
mysql_path = "/usr/local/mysql/bin/"
else
mysql_path = ""
end
if true
system "#{mysql_path}mysqldump -h 193.200.182.69 -u root -t -c -pmysqlAdmin vulcov2 volumeperiodique contact societe seuilsdeclencheur > #{Rails.root}/import_csv/vulco_to_import.sql "
puts "Conversion du fichier"
@sql = File.read("#{Rails.root}/import_csv/vulco_to_import.sql").encode('utf-8')
@ -30,6 +45,10 @@ class Admin::VolumePeriodiquesController < ApplicationController
@sql = @sql.gsub("`seuilsdeclencheur`", "`seuil_declencheurs`")
@sql = @sql.gsub("`Type`","`soc_type`")
vars = ["CodeManagInn","CodeIndicateur","DateDebut","DateFin","CodeIndicateur","Valeur","DateReception","Commentaire","CodeSociete"]
vars.each do |var|
@sql = @sql.gsub(var,var.downcase)
@ -45,6 +64,9 @@ class Admin::VolumePeriodiquesController < ApplicationController
vars = ["SocManagInn", "Nom", "Adresse1", "Adresse2", "CodePostal", "Ville", "Pays", "NumTel", "NumFax", "Mobile", "Mail", "MailCc", "MailBcc", "SiteWeb", "Statut", "RC", "NAF", "Type", "Enseigne", "DateCreation", "Activite1", "Activite2", "Activite3", "Activite4", "Activite5", "Login", "Password", "Photo", "TypeUser", "CodeProprietaire", "TypePartage", "Libre1", "Libre2", "Libre3", "Libre4", "Libre5", "AccesBloque", "Corbeille", "CodeTpe", "CodeCreateur", "PartageDefaut", "NPAI", "NpaiMail", "NpaiSms"]
vars.each do |var|
@sql = @sql.gsub(var,var.downcase)
@ -55,19 +77,39 @@ class Admin::VolumePeriodiquesController < ApplicationController
@sql = @sql.gsub(var,var.downcase)
end
File.write("#{Rails.root}/import_csv/vulco-ok-#{Time.now.to_s.to_slug}.sql", @sql)
import_ok = "#{Rails.root}/import_csv/vulco-ok-#{Time.now.to_s.to_slug}.sql"
puts "Enregistrement fichier traité"
File.write("#{import_ok}", @sql)
end
#import_ok = "/Users/nico/Dev2/test6/vulco_app/import_csv/vulco-ok-18-12-2019-23-58-33.sql"
VolumePeriodique.connection.truncate(VolumePeriodique.table_name)
VContact.connection.truncate(VContact.table_name)
Societe.connection.truncate(Societe.table_name)
SeuilDeclencheur.connection.truncate(SeuilDeclencheur.table_name)
puts "import dans la base"
if Rails.env.development?
system "#{mysql_path}mysql -u root vulco_app < #{import_ok}"
else
system "#{mysql_path}mysql -u vulco_app -pvulco_app vulco2_app < #{import_ok}"
end
puts "Fin de l'import"
puts "Traitement sociétés"
Societe.update_valids
Societe.update_caches
puts "Fin du traitement"
#system "#{mysql_path}mysql -u root vulco_app < /Users/nico/Dev2/test6/vulco_app/import_csv/vulco-ok-18-12-2019-23-35-34.sql"
#ActiveRecord::Base.connection.execute(IO.read("/Users/nico/Dev2/test6/vulco_app/import_csv/vulco-ok-18-12-2019-23-35-34.sql"))
#ActiveRecord::Base.connection.execute(@sql)
if false
@file = params[:csv_file]
require 'csv'
csv_text = File.read("#{Rails.root}/import_csv/volumeperiodique.csv").encode('utf-8') #.force_encoding('ISO-8859-1')
@csv_volumeperiodique = CSV.parse(csv_text, :headers => true, :col_sep => ";")
end
end

View File

@ -11,10 +11,17 @@ class Societe < ApplicationRecord
def self.update_valids
puts "Societe update valid"
Societe.update_all(:enabled => false, :ac_rate => nil)
Societe.valids.update_all(:enabled => true)
puts "Contact update valid"
VContact.update_all(:last_volume_at => nil, :enabled => false, :prime => nil, :ac_rate => nil, :cagnotte => nil, :cumul => nil, :prime => nil)
VContact.where(:codeproprietaire => self.valid_codes).update_all(:enabled => true)
puts "Purge contact"
ActiveRecord::Base.connection.execute("DELETE FROM v_contacts WHERE enabled = 0;")
puts "Purge Volume periodique"
VolumePeriodique.where("codemanaginn not in(?)", VContact.select(:codemanaginn).group(:codemanaginn).map {|c| c.codemanaginn}).delete_all
return true
end

View File

@ -27,7 +27,7 @@ class VContact < ApplicationRecord
v_contacts = VContact.where(:enabled => true)
end
#v_contacts = v_contacts.limit(2)
v_contacts = v_contacts.limit(2)
v_contacts.each do |vc|
puts vc.codemanaginn

View File

@ -4,10 +4,10 @@
.qi_row
.qi_pannel.qi_plain.padding
=#Societe.update_valids
=#Societe.update_caches
=#VContact.update_mvt
=#VContact.update_caches
=VContact.update_mvt
=VContact.update_caches
-if false
%p=VContact.where(:enabled => true).count

View File

@ -6,6 +6,7 @@
.qi_row
.qi_pannel.qi_plain.padding
%p
Cartes restant à traiter :
%strong

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long