forked from Wavyzz/dolibarr
Fix migration into product_lot
This commit is contained in:
@@ -31,6 +31,15 @@
|
|||||||
|
|
||||||
-- Requests to clean corrupted data
|
-- Requests to clean corrupted data
|
||||||
|
|
||||||
|
-- VMYSQL4.1 INSERT IGNORE INTO llx_product_lot (entity, fk_product, batch, eatby, sellby, datec, fk_user_creat, fk_user_modif) SELECT DISTINCT e.entity, ps.fk_product, pb.batch, pb.eatby, pb.sellby, pb.tms, e.fk_user_author, e.fk_user_author from llx_product_batch as pb, llx_product_stock as ps, llx_entrepot as e WHERE pb.fk_product_stock = ps.rowid AND ps.fk_entrepot = e.rowid;
|
||||||
|
-- -- a tester VPGSQL9.5 INSERT IGNORE INTO llx_product_lot (entity, fk_product, batch, eatby, sellby, datec, fk_user_creat, fk_user_modif) SELECT DISTINCT e.entity, ps.fk_product, pb.batch, pb.eatby, pb.sellby, pb.tms, e.fk_user_author, e.fk_user_author from llx_product_batch as pb, llx_product_stock as ps, llx_entrepot as e WHERE pb.fk_product_stock = ps.rowid AND ps.fk_entrepot = e.rowid ON CONFLICT DO NOTHING;
|
||||||
|
-- -- avant 9.5 faire en variant x pour qu'au 2eme passage, le premier doublon soit dans la tabel cible
|
||||||
|
-- -- INSERT INTO llx_product_lot (entity, fk_product, batch, eatby, sellby, datec, fk_user_creat, fk_user_modif)
|
||||||
|
-- -- SELECT DISTINCT e.entity, ps.fk_product, pb.batch, pb.eatby, pb.sellby, pb.tms, e.fk_user_author, e.fk_user_author
|
||||||
|
-- -- from llx_product_batch as pb, llx_product_stock as ps, llx_entrepot as e
|
||||||
|
-- -- WHERE pb.fk_product_stock = ps.rowid AND ps.fk_entrepot = e.rowid
|
||||||
|
-- -- AND NOT EXISTS (SELECT 1 FROM llx_product_lot as b WHERE b.fk_product=ps.fk_product and pb.batch=b.batch) LIMIT x
|
||||||
|
|
||||||
|
|
||||||
UPDATE llx_user set api_key = null where api_key = '';
|
UPDATE llx_user set api_key = null where api_key = '';
|
||||||
|
|
||||||
@@ -99,6 +108,8 @@ DELETE FROM llx_product_lot WHERE fk_product NOT IN (select rowid from llx_produ
|
|||||||
DELETE FROM llx_product_stock WHERE fk_product NOT IN (select rowid from llx_product);
|
DELETE FROM llx_product_stock WHERE fk_product NOT IN (select rowid from llx_product);
|
||||||
DELETE FROM llx_product_stock WHERE reel = 0 AND rowid NOT IN (SELECT fk_product_stock FROM llx_product_batch as pb);
|
DELETE FROM llx_product_stock WHERE reel = 0 AND rowid NOT IN (SELECT fk_product_stock FROM llx_product_batch as pb);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Merge splitted lines into one in table llx_product_batch
|
-- Merge splitted lines into one in table llx_product_batch
|
||||||
DROP TABLE tmp_llx_product_batch;
|
DROP TABLE tmp_llx_product_batch;
|
||||||
DROP TABLE tmp_llx_product_batch2;
|
DROP TABLE tmp_llx_product_batch2;
|
||||||
@@ -356,4 +367,3 @@ drop table tmp_c_shipment_mode;
|
|||||||
-- Backport a change of value into the hourly rate.
|
-- Backport a change of value into the hourly rate.
|
||||||
-- update llx_projet_task_time as ptt set ptt.thm = (SELECT thm from llx_user as u where ptt.fk_user = u.rowid) where (ptt.thm is null)
|
-- update llx_projet_task_time as ptt set ptt.thm = (SELECT thm from llx_user as u where ptt.fk_user = u.rowid) where (ptt.thm is null)
|
||||||
|
|
||||||
|
|
||||||
@@ -43,12 +43,12 @@ class Productlot extends CommonObject
|
|||||||
* @var string Name of table without prefix where object is stored
|
* @var string Name of table without prefix where object is stored
|
||||||
*/
|
*/
|
||||||
public $table_element = 'product_lot';
|
public $table_element = 'product_lot';
|
||||||
|
|
||||||
public $picto='barcode';
|
public $picto='barcode';
|
||||||
|
|
||||||
public $isnolinkedbythird = 1;
|
public $isnolinkedbythird = 1;
|
||||||
public $ismultientitymanaged = 1;
|
public $ismultientitymanaged = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ProductlotLine[] Lines
|
* @var ProductlotLine[] Lines
|
||||||
*/
|
*/
|
||||||
@@ -56,7 +56,7 @@ class Productlot extends CommonObject
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public $entity;
|
public $entity;
|
||||||
public $fk_product;
|
public $fk_product;
|
||||||
public $batch;
|
public $batch;
|
||||||
@@ -70,7 +70,7 @@ class Productlot extends CommonObject
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
@@ -97,7 +97,7 @@ class Productlot extends CommonObject
|
|||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
|
|
||||||
if (isset($this->entity)) {
|
if (isset($this->entity)) {
|
||||||
$this->entity = trim($this->entity);
|
$this->entity = trim($this->entity);
|
||||||
}
|
}
|
||||||
@@ -117,7 +117,7 @@ class Productlot extends CommonObject
|
|||||||
$this->import_key = trim($this->import_key);
|
$this->import_key = trim($this->import_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
// Put here code to add control on parameters values
|
// Put here code to add control on parameters values
|
||||||
@@ -207,7 +207,7 @@ class Productlot extends CommonObject
|
|||||||
$sql .= " t.import_key";
|
$sql .= " t.import_key";
|
||||||
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
|
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
|
||||||
if ($product_id > 0 && $batch != '') {
|
if ($product_id > 0 && $batch != '') {
|
||||||
$sql .= ' WHERE t.batch = ' . '\'' . $this->db->escape($batch) . '\' AND t.fk_product = ' . $product_id;
|
$sql .= " WHERE t.batch = '". $this->db->escape($batch) . "' AND t.fk_product = " . $product_id;
|
||||||
} else {
|
} else {
|
||||||
$sql .= ' WHERE t.rowid = ' . $id;
|
$sql .= ' WHERE t.rowid = ' . $id;
|
||||||
}
|
}
|
||||||
@@ -221,9 +221,9 @@ class Productlot extends CommonObject
|
|||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->ref = $obj->rowid;
|
$this->ref = $obj->rowid;
|
||||||
//$this->ref = $obj->fk_product.'_'.$obj->batch;
|
//$this->ref = $obj->fk_product.'_'.$obj->batch;
|
||||||
|
|
||||||
$this->batch = $obj->batch;
|
$this->batch = $obj->batch;
|
||||||
|
|
||||||
$this->entity = $obj->entity;
|
$this->entity = $obj->entity;
|
||||||
$this->fk_product = $obj->fk_product;
|
$this->fk_product = $obj->fk_product;
|
||||||
$this->eatby = $this->db->jdate($obj->eatby);
|
$this->eatby = $this->db->jdate($obj->eatby);
|
||||||
@@ -239,7 +239,7 @@ class Productlot extends CommonObject
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
||||||
$extrafields=new ExtraFields($this->db);
|
$extrafields=new ExtraFields($this->db);
|
||||||
$extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true);
|
$extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true);
|
||||||
$this->fetch_optionals($this->id,$extralabels);
|
$this->fetch_optionals($this->id,$extralabels);
|
||||||
}
|
}
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
|
|
||||||
@@ -271,7 +271,7 @@ class Productlot extends CommonObject
|
|||||||
dol_syslog(__METHOD__, LOG_DEBUG);
|
dol_syslog(__METHOD__, LOG_DEBUG);
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
|
|
||||||
if (isset($this->entity)) {
|
if (isset($this->entity)) {
|
||||||
$this->entity = trim($this->entity);
|
$this->entity = trim($this->entity);
|
||||||
}
|
}
|
||||||
@@ -437,8 +437,8 @@ class Productlot extends CommonObject
|
|||||||
return - 1;
|
return - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return label of status of object
|
* Return label of status of object
|
||||||
*
|
*
|
||||||
@@ -449,7 +449,7 @@ class Productlot extends CommonObject
|
|||||||
{
|
{
|
||||||
return $this->LibStatut(0,$mode);
|
return $this->LibStatut(0,$mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return label of a given status
|
* Return label of a given status
|
||||||
*
|
*
|
||||||
@@ -460,13 +460,13 @@ class Productlot extends CommonObject
|
|||||||
function LibStatut($statut,$mode=0)
|
function LibStatut($statut,$mode=0)
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
//$langs->load('stocks');
|
//$langs->load('stocks');
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a link to the a lot card (with optionaly the picto)
|
* Return a link to the a lot card (with optionaly the picto)
|
||||||
* Use this->id,this->lastname, this->firstname
|
* Use this->id,this->lastname, this->firstname
|
||||||
@@ -498,7 +498,7 @@ class Productlot extends CommonObject
|
|||||||
{
|
{
|
||||||
$label.= '<br><b>' . $langs->trans('SellByDate') . ':</b> ' . dol_print_date($this->sellby, 'day');
|
$label.= '<br><b>' . $langs->trans('SellByDate') . ':</b> ' . dol_print_date($this->sellby, 'day');
|
||||||
}
|
}
|
||||||
|
|
||||||
$link = '<a href="'.DOL_URL_ROOT.'/product/stock/productlot_card.php?id='.$this->id.'"';
|
$link = '<a href="'.DOL_URL_ROOT.'/product/stock/productlot_card.php?id='.$this->id.'"';
|
||||||
$link.= ($notooltip?'':' title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip'.($morecss?' '.$morecss:'').'"');
|
$link.= ($notooltip?'':' title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip'.($morecss?' '.$morecss:'').'"');
|
||||||
$link.= '>';
|
$link.= '>';
|
||||||
@@ -512,9 +512,9 @@ class Productlot extends CommonObject
|
|||||||
$result.= $link . $this->batch . $linkend;
|
$result.= $link . $this->batch . $linkend;
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialise object with example values
|
* Initialise object with example values
|
||||||
* Id must be 0 if object instance is a specimen
|
* Id must be 0 if object instance is a specimen
|
||||||
*
|
*
|
||||||
@@ -523,7 +523,7 @@ class Productlot extends CommonObject
|
|||||||
public function initAsSpecimen()
|
public function initAsSpecimen()
|
||||||
{
|
{
|
||||||
$this->id = 0;
|
$this->id = 0;
|
||||||
|
|
||||||
$this->entity = '';
|
$this->entity = '';
|
||||||
$this->fk_product = '';
|
$this->fk_product = '';
|
||||||
$this->batch = '';
|
$this->batch = '';
|
||||||
|
|||||||
Reference in New Issue
Block a user