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 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
@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
@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
end end

View File

@ -11,10 +11,17 @@ class Societe < ApplicationRecord
def self.update_valids def self.update_valids
puts "Societe update valid"
Societe.update_all(:enabled => false, :ac_rate => nil) Societe.update_all(:enabled => false, :ac_rate => nil)
Societe.valids.update_all(:enabled => true) 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.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) 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 return true
end end

View File

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

View File

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

View File

@ -5,6 +5,7 @@
.qi_row .qi_row
.qi_pannel.qi_plain.padding .qi_pannel.qi_plain.padding
%p %p
Cartes restant à traiter : 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