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,54 +20,96 @@ 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 "
@sql = File.read("#{Rails.root}/import_csv/vulco_to_import.sql").encode('utf-8')
@sql = @sql.gsub("`volumeperiodique`", "`volume_periodiques`")
@sql = @sql.gsub("`contact`", "`v_contacts`")
@sql = @sql.gsub("`societe`", "`societes`")
@sql = @sql.gsub("`seuilsdeclencheur`", "`seuil_declencheurs`")
vars = ["CodeManagInn","CodeIndicateur","DateDebut","DateFin","CodeIndicateur","Valeur","DateReception","Commentaire","CodeSociete"]
vars.each do |var|
@sql = @sql.gsub(var,var.downcase)
end
vars = ["typeUser", "CodeManagInn", "NomGroupe", "Societe", "Civilite", "Nom", "Prenom", "Titre", "MailTo", "MailCC", "MailBCC", "NumPortable", "NumTel", "NumFax", "Adresse1", "Adresse2", "CodePostal", "Ville", "Anniversaire", "Pays", "Photo", "Login", "Password", "typeUser", "DateCreation", "Commentaire", "CodeProprietaire", "TypePartage", "libre1", "libre2", "libre3", "libre4", "libre5", "AccesBloque", "Corbeille", "CodeCreateur", "PartageDefaut", "NPAI", "NpaiMail", "NpaiSms"]
vars.each do |var|
@sql = @sql.gsub(var,var.downcase)
end
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)
end
vars = ["CodeDeclencheur", "SocManagInn", "ValSeuil", "Cadeau", "Media", "ParamMedia", "Parammedia", "DateModif", "Expression", "DateDeb", "DateFin", "EnvoiAuto", "CopieMail", "Copiemail", "ValMax", "SaisieCom", "ValBA", "UniteBA", "BonusActif"]
vars.each do |var|
@sql = @sql.gsub(var,var.downcase)
end
File.write("#{Rails.root}/import_csv/vulco-ok-#{Time.now.to_s.to_slug}.sql", @sql)
#ActiveRecord::Base.connection.execute(@sql)
if false
if true
@file = params[:csv_file]
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')
@sql = @sql.gsub("`volumeperiodique`", "`volume_periodiques`")
@sql = @sql.gsub("`contact`", "`v_contacts`")
@sql = @sql.gsub("`societe`", "`societes`")
@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)
end
vars = ["typeUser", "CodeManagInn", "NomGroupe", "Societe", "Civilite", "Nom", "Prenom", "Titre", "MailTo", "MailCC", "MailBCC", "NumPortable", "NumTel", "NumFax", "Adresse1", "Adresse2", "CodePostal", "Ville", "Anniversaire", "Pays", "Photo", "Login", "Password", "typeUser", "DateCreation", "Commentaire", "CodeProprietaire", "TypePartage", "libre1", "libre2", "libre3", "libre4", "libre5", "AccesBloque", "Corbeille", "CodeCreateur", "PartageDefaut", "NPAI", "NpaiMail", "NpaiSms"]
vars.each do |var|
@sql = @sql.gsub(var,var.downcase)
end
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)
end
vars = ["CodeDeclencheur", "SocManagInn", "ValSeuil", "Cadeau", "Media", "ParamMedia", "Parammedia", "DateModif", "Expression", "DateDeb", "DateFin", "EnvoiAuto", "CopieMail", "Copiemail", "ValMax", "SaisieCom", "ValBA", "UniteBA", "BonusActif"]
vars.each do |var|
@sql = @sql.gsub(var,var.downcase)
end
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)
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

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

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