Fix: delete obsolete fields

This commit is contained in:
Regis Houssin 2009-12-09 18:18:45 +00:00
parent 03f11bf481
commit 382150b774
4 changed files with 95 additions and 76 deletions

View File

@ -21,12 +21,11 @@
-- Satut, 0 ou 1, 1 n'est plus supprimable -- Satut, 0 ou 1, 1 n'est plus supprimable
-- fk_export_compta 0 pas exporté -- fk_export_compta 0 pas exporte
create table llx_paiement create table llx_paiement
( (
rowid integer AUTO_INCREMENT PRIMARY KEY, rowid integer AUTO_INCREMENT PRIMARY KEY,
fk_facture integer,
datec datetime, -- date de creation datec datetime, -- date de creation
tms timestamp, tms timestamp,
datep datetime, -- payment date datep datetime, -- payment date
@ -35,8 +34,8 @@ create table llx_paiement
num_paiement varchar(50), num_paiement varchar(50),
note text, note text,
fk_bank integer NOT NULL DEFAULT 0, fk_bank integer NOT NULL DEFAULT 0,
fk_user_creat integer, -- utilisateur qui a créé l'info fk_user_creat integer, -- utilisateur qui a cree l'info
fk_user_modif integer, -- utilisateur qui a modifié l'info fk_user_modif integer, -- utilisateur qui a modifie l'info
statut smallint DEFAULT 0 NOT NULL, statut smallint DEFAULT 0 NOT NULL,
fk_export_compta integer DEFAULT 0 NOT NULL fk_export_compta integer DEFAULT 0 NOT NULL

View File

@ -24,12 +24,11 @@ create table llx_paiementfourn
rowid integer AUTO_INCREMENT PRIMARY KEY, rowid integer AUTO_INCREMENT PRIMARY KEY,
tms timestamp, tms timestamp,
datec datetime, -- date de creation de l'enregistrement datec datetime, -- date de creation de l'enregistrement
fk_facture_fourn integer, -- facture
datep datetime, -- date de paiement datep datetime, -- date de paiement
amount real DEFAULT 0, -- montant amount real DEFAULT 0, -- montant
fk_user_author integer, -- auteur fk_user_author integer, -- auteur
fk_paiement integer NOT NULL, -- moyen de paiement fk_paiement integer NOT NULL, -- moyen de paiement
num_paiement varchar(50), -- num<EFBFBD>ro de paiement (cheque) num_paiement varchar(50), -- numero de paiement (cheque)
note text, note text,
fk_bank integer NOT NULL, fk_bank integer NOT NULL,
statut smallint NOT NULL DEFAULT 0 statut smallint NOT NULL DEFAULT 0

View File

@ -20,9 +20,9 @@
-- =================================================================== -- ===================================================================
-- --
-- Bons de prélèvement -- Bons de prelevement
-- --
-- statut 1 : transmis à la banque -- statut 1 : transmis a la banque
-- statut 2 : credite -- statut 2 : credite
-- --
create table llx_prelevement_bons create table llx_prelevement_bons
@ -31,14 +31,14 @@ create table llx_prelevement_bons
ref varchar(12), -- reference ref varchar(12), -- reference
entity integer DEFAULT 1 NOT NULL, -- multi company id entity integer DEFAULT 1 NOT NULL, -- multi company id
datec datetime, -- date de creation datec datetime, -- date de creation
amount real DEFAULT 0, -- montant total du prélèvement amount real DEFAULT 0, -- montant total du prelevement
statut smallint DEFAULT 0, -- statut statut smallint DEFAULT 0, -- statut
credite smallint DEFAULT 0, -- indique si le prelevement a été credité credite smallint DEFAULT 0, -- indique si le prelevement a ete credite
note text, note text,
date_trans datetime, -- date de transmission à la banque date_trans datetime, -- date de transmission a la banque
method_trans smallint, -- méthode de transmission method_trans smallint, -- methode de transmission
fk_user_trans integer, -- user qui a effectué la transmission fk_user_trans integer, -- user qui a effectue la transmission
date_credit datetime, -- date de crédit sur le compte date_credit datetime, -- date de credit sur le compte
fk_user_credit integer -- user qui a remonté l'info de crédit fk_user_credit integer -- user qui a remonte l'info de credit
)type=innodb; )type=innodb;

View File

@ -918,83 +918,104 @@ function migrate_paiementfourn_facturefourn($db,$langs,$conf)
print '<br>'; print '<br>';
print '<b>'.$langs->trans('SuppliersInvoices')."</b><br>\n"; print '<b>'.$langs->trans('SuppliersInvoices')."</b><br>\n";
print '</td></tr>'; print '</td></tr>';
$error = 0; $result = $db->DDLDescTable(MAIN_DB_PREFIX."paiementfourn","fk_facture_fourn");
$nb=0; $obj = $db->fetch_object($result);
$select_sql = 'SELECT rowid, fk_facture_fourn, amount '; if ($obj)
$select_sql .= ' FROM '.MAIN_DB_PREFIX.'paiementfourn ';
$select_sql .= ' WHERE fk_facture_fourn IS NOT NULL';
dolibarr_install_syslog("upgrade2::migrate_paiementfourn_facturefourn sql=".$select_sql);
$select_resql = $db->query($select_sql);
if ($select_resql)
{ {
$select_num = $db->num_rows($select_resql); $db->begin();
$i=0;
$var = true; $error=0;
$nb=0;
// Pour chaque paiement fournisseur, on insere une ligne dans paiementfourn_facturefourn
while (($i < $select_num) && (! $error)) $select_sql = 'SELECT rowid, fk_facture_fourn, amount';
$select_sql.= ' FROM '.MAIN_DB_PREFIX.'paiementfourn';
$select_sql.= ' WHERE fk_facture_fourn IS NOT NULL';
dolibarr_install_syslog("upgrade2::migrate_paiementfourn_facturefourn sql=".$select_sql);
$select_resql = $db->query($select_sql);
if ($select_resql)
{ {
$var = !$var; $select_num = $db->num_rows($select_resql);
$select_obj = $db->fetch_object($select_resql); $i=0;
$var = true;
// Verifier si la ligne est deja dans la nouvelle table. On ne veut pas ins<6E>rer de doublons.
$check_sql = 'SELECT fk_paiementfourn, fk_facturefourn'; // Pour chaque paiement fournisseur, on insere une ligne dans paiementfourn_facturefourn
$check_sql .= ' FROM '.MAIN_DB_PREFIX.'paiementfourn_facturefourn'; while (($i < $select_num) && (! $error))
$check_sql .= ' WHERE fk_paiementfourn = '.$select_obj->rowid.' AND fk_facturefourn = '.$select_obj->fk_facture_fourn.';';
$check_resql = $db->query($check_sql);
if ($check_resql)
{ {
$check_num = $db->num_rows($check_resql); $var = !$var;
if ($check_num == 0) $select_obj = $db->fetch_object($select_resql);
// Verifier si la ligne est deja dans la nouvelle table. On ne veut pas inserer de doublons.
$check_sql = 'SELECT fk_paiementfourn, fk_facturefourn';
$check_sql.= ' FROM '.MAIN_DB_PREFIX.'paiementfourn_facturefourn';
$check_sql.= ' WHERE fk_paiementfourn = '.$select_obj->rowid.' AND fk_facturefourn = '.$select_obj->fk_facture_fourn.';';
$check_resql = $db->query($check_sql);
if ($check_resql)
{ {
if ($nb == 0) $check_num = $db->num_rows($check_resql);
if ($check_num == 0)
{ {
print '<tr><td colspan="4" nowrap="nowrap"><b>'.$langs->trans('SuppliersInvoices').'</b></td></tr>'; if ($nb == 0)
print '<tr><td>fk_paiementfourn</td><td>fk_facturefourn</td><td>'.$langs->trans('Amount').'</td><td>&nbsp;</td></tr>'; {
print '<tr><td colspan="4" nowrap="nowrap"><b>'.$langs->trans('SuppliersInvoices').'</b></td></tr>';
print '<tr><td>fk_paiementfourn</td><td>fk_facturefourn</td><td>'.$langs->trans('Amount').'</td><td>&nbsp;</td></tr>';
}
print '<tr '.$bc[$var].'>';
print '<td>'.$select_obj->rowid.'</td><td>'.$select_obj->fk_facture_fourn.'</td><td>'.$select_obj->amount.'</td>';
$insert_sql = 'INSERT INTO '.MAIN_DB_PREFIX.'paiementfourn_facturefourn SET ';
$insert_sql .= ' fk_paiementfourn = \''.$select_obj->rowid.'\',';
$insert_sql .= ' fk_facturefourn = \''.$select_obj->fk_facture_fourn.'\',';
$insert_sql .= ' amount = \''.$select_obj->amount.'\';';
$insert_resql = $db->query($insert_sql);
if ($insert_resql)
{
$nb++;
print '<td><span style="color:green">'.$langs->trans("OK").'</span></td>';
}
else
{
print '<td><span style="color:red">Error on insert</span></td>';
$error++;
}
print '</tr>';
} }
print '<tr '.$bc[$var].'>';
print '<td>'.$select_obj->rowid.'</td><td>'.$select_obj->fk_facture_fourn.'</td><td>'.$select_obj->amount.'</td>';
$insert_sql = 'INSERT INTO '.MAIN_DB_PREFIX.'paiementfourn_facturefourn SET ';
$insert_sql .= ' fk_paiementfourn = \''.$select_obj->rowid.'\',';
$insert_sql .= ' fk_facturefourn = \''.$select_obj->fk_facture_fourn.'\',';
$insert_sql .= ' amount = \''.$select_obj->amount.'\';';
$insert_resql = $db->query($insert_sql);
if ($insert_resql)
{
$nb++;
print '<td><span style="color:green">'.$langs->trans("OK").'</span></td>';
}
else
{
print '<td><span style="color:red">Error on insert</span></td>';
$error++;
}
print '</tr>';
} }
else
{
$error++;
}
$i++;
} }
else }
else
{
$error++;
}
if (!$error)
{
if (!$nb)
{ {
$error++; print '<tr><td>'.$langs->trans("AlreadyDone").'</td></tr>';
} }
$i++; $db->commit();
$sql = "ALTER TABLE ".MAIN_DB_PREFIX."paiementfourn DROP COLUMN fk_facture_fourn";
$db->query($sql);
}
else
{
print '<tr><td>'.$langs->trans("Error").'</td></tr>';
$db->rollback();
} }
} }
else else
{
$error++;
}
if (! $nb && ! $error)
{ {
print '<tr><td>'.$langs->trans("AlreadyDone").'</td></tr>'; print '<tr><td>'.$langs->trans("AlreadyDone").'</td></tr>';
} }
if ($error)
{
print '<tr><td>'.$langs->trans("Error").'</td></tr>';
}
} }