Fix multicurrency
This commit is contained in:
parent
6c8a6aa81f
commit
9cbdbc460d
@ -61,11 +61,15 @@ class ProductFournisseur extends Product
|
||||
* @see $ref_supplier
|
||||
*/
|
||||
public $fourn_ref;
|
||||
|
||||
public $delivery_time_days;
|
||||
public $ref_supplier; // ref supplier (can be set by get_buyprice)
|
||||
public $desc_supplier;
|
||||
public $vatrate_supplier; // default vat rate for this supplier/qty/product (can be set by get_buyprice)
|
||||
|
||||
public $product_id;
|
||||
public $product_ref;
|
||||
|
||||
public $fourn_id; //supplier id
|
||||
public $fourn_qty; // quantity for price (can be set by get_buyprice)
|
||||
public $fourn_pu; // unit price for quantity (can be set by get_buyprice)
|
||||
@ -73,7 +77,9 @@ class ProductFournisseur extends Product
|
||||
public $fourn_price; // price for quantity
|
||||
public $fourn_remise_percent; // discount for quantity (percent)
|
||||
public $fourn_remise; // discount for quantity (amount)
|
||||
|
||||
public $product_fourn_id; // product-supplier id
|
||||
public $product_fourn_entity;
|
||||
|
||||
/**
|
||||
* @var int ID user_id - user who created/updated supplier price
|
||||
@ -612,15 +618,15 @@ class ProductFournisseur extends Product
|
||||
// phpcs:enable
|
||||
global $conf;
|
||||
|
||||
$sql = "SELECT s.nom as supplier_name, s.rowid as fourn_id,";
|
||||
$sql = "SELECT s.nom as supplier_name, s.rowid as fourn_id, p.ref as product_ref,";
|
||||
$sql .= " pfp.rowid as product_fourn_pri_id, pfp.entity, pfp.ref_fourn, pfp.desc_fourn, pfp.fk_product as product_fourn_id, pfp.fk_supplier_price_expression,";
|
||||
$sql .= " pfp.price, pfp.quantity, pfp.unitprice, pfp.remise_percent, pfp.remise, pfp.tva_tx, pfp.fk_availability, pfp.charges, pfp.info_bits, pfp.delivery_time_days, pfp.supplier_reputation,";
|
||||
$sql .= " pfp.multicurrency_price, pfp.multicurrency_unitprice, pfp.multicurrency_tx, pfp.fk_multicurrency, pfp.multicurrency_code, pfp.datec, pfp.tms,";
|
||||
$sql .= " pfp.barcode, pfp.fk_barcode_type";
|
||||
if (!empty($conf->global->PRODUCT_USE_SUPPLIER_PACKAGING)) $sql .= ", pfp.packaging";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp, ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp, ".MAIN_DB_PREFIX."product as p, ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql .= " WHERE pfp.entity IN (".getEntity('productsupplierprice').")";
|
||||
$sql .= " AND pfp.fk_soc = s.rowid";
|
||||
$sql .= " AND pfp.fk_soc = s.rowid AND pfp.fk_product = p.rowid";
|
||||
$sql .= " AND s.status=1"; // only enabled company selected
|
||||
$sql .= " AND pfp.fk_product = ".$prodid;
|
||||
if (empty($sortfield)) $sql .= " ORDER BY s.nom, pfp.quantity, pfp.price";
|
||||
@ -638,11 +644,12 @@ class ProductFournisseur extends Product
|
||||
//define base attribute
|
||||
$prodfourn = new ProductFournisseur($this->db);
|
||||
|
||||
$prodfourn->product_ref = $record["product_ref"];
|
||||
$prodfourn->product_fourn_price_id = $record["product_fourn_pri_id"];
|
||||
$prodfourn->product_fourn_id = $record["product_fourn_id"];
|
||||
$prodfourn->product_fourn_entity = $record["entity"];
|
||||
$prodfourn->fourn_ref = $record["ref_fourn"];
|
||||
$prodfourn->ref_supplier = $record["ref_fourn"];
|
||||
$prodfourn->fourn_ref = $record["ref_fourn"];
|
||||
$prodfourn->desc_supplier = $record["desc_fourn"];
|
||||
$prodfourn->fourn_price = $record["price"];
|
||||
$prodfourn->fourn_qty = $record["quantity"];
|
||||
@ -958,11 +965,13 @@ class ProductFournisseur extends Product
|
||||
public function listProductFournisseurPriceLog($product_fourn_price_id, $sortfield = '', $sortorder = '', $limit = 0, $offset = 0)
|
||||
{
|
||||
$sql = "SELECT";
|
||||
$sql .= " pfpl.rowid, pfp.ref_fourn as supplier_ref, pfpl.datec, u.lastname,";
|
||||
$sql .= " pfpl.price, pfpl.quantity";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price_log as pfpl";
|
||||
$sql .= ", ".MAIN_DB_PREFIX."product_fournisseur_price as pfp";
|
||||
$sql .= ", ".MAIN_DB_PREFIX."user as u";
|
||||
$sql .= " u.lastname,";
|
||||
$sql .= " pfpl.rowid, pfp.ref_fourn as supplier_ref, pfpl.datec,";
|
||||
$sql .= " pfpl.price, pfpl.quantity,";
|
||||
$sql .= " pfpl.fk_multicurrency, pfpl.multicurrency_code, pfpl.multicurrency_tx, pfpl.multicurrency_price, pfpl.multicurrency_unitprice";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price_log as pfpl,";
|
||||
$sql .= " ".MAIN_DB_PREFIX."product_fournisseur_price as pfp,";
|
||||
$sql .= " ".MAIN_DB_PREFIX."user as u";
|
||||
$sql .= " WHERE pfp.entity IN (".getEntity('productprice').")";
|
||||
$sql .= " AND pfpl.fk_user = u.rowid";
|
||||
$sql .= " AND pfp.rowid = pfpl.fk_product_fournisseur";
|
||||
@ -986,6 +995,11 @@ class ProductFournisseur extends Product
|
||||
$tmparray['lastname'] = $obj->lastname;
|
||||
$tmparray['price'] = $obj->price;
|
||||
$tmparray['quantity'] = $obj->quantity;
|
||||
$tmparray['fk_multicurrency'] = $obj->fk_multicurrency;
|
||||
$tmparray['multicurrency_code'] = $obj->multicurrency_code;
|
||||
$tmparray['multicurrency_tx'] = $obj->multicurrency_tx;
|
||||
$tmparray['multicurrency_price'] = $obj->multicurrency_price;
|
||||
$tmparray['multicurrency_unitprice'] = $obj->multicurrency_unitprice;
|
||||
|
||||
$retarray[] = $tmparray;
|
||||
}
|
||||
@ -1007,19 +1021,23 @@ class ProductFournisseur extends Product
|
||||
*/
|
||||
public function displayPriceProductFournisseurLog($productFournLogList = array())
|
||||
{
|
||||
global $langs;
|
||||
global $conf, $langs;
|
||||
|
||||
$out = '';
|
||||
$langs->load("suppliers");
|
||||
if (count($productFournLogList) > 0) {
|
||||
$out .= '<table class="nobordernopadding" width="100%">';
|
||||
$out .= '<table class="noborder centpercent">';
|
||||
$out .= '<tr class="liste_titre"><td class="liste_titre">'.$langs->trans("Date").'</td>';
|
||||
$out .= '<td class="liste_titre right">'.$langs->trans("Price").'</td>';
|
||||
//$out .= '<td class="liste_titre right">'.$langs->trans("QtyMin").'</td>';
|
||||
$out .= '<td class="liste_titre">'.$langs->trans("User").'</td></tr>';
|
||||
foreach ($productFournLogList as $productFournLog) {
|
||||
$out .= '<tr><td class="right">'.dol_print_date($productFournLog['datec'], 'dayhour', 'tzuser').'</td>';
|
||||
$out .= '<td class="right">'.price($productFournLog['price']).'</td>';
|
||||
$out .= '<td class="right">'.price($productFournLog['price'], 0, $langs, 1, -1, -1, $conf->currency);
|
||||
if ($productFournLog['multicurrency_code'] != $conf->currency) {
|
||||
$out .= ' ('.price($productFournLog['multicurrency_price'], 0, $langs, 1, -1, -1, $productFournLog['multicurrency_code']).')';
|
||||
}
|
||||
$out .= '</td>';
|
||||
//$out.= '<td class="right">'.$productFournLog['quantity'].'</td>';
|
||||
$out .= '<td>'.$productFournLog['lastname'].'</td></tr>';
|
||||
}
|
||||
@ -1050,7 +1068,7 @@ class ProductFournisseur extends Product
|
||||
|
||||
$label = '<u>'.$langs->trans("SupplierRef").'</u>';
|
||||
$label .= '<br>';
|
||||
$label .= '<b>'.$langs->trans('Product').':</b> '.$this->ref;
|
||||
$label .= '<b>'.$langs->trans('Product').':</b> '.$this->product_ref;
|
||||
$label .= '<br><b>'.$langs->trans('RefSupplier').':</b> '.$this->ref_supplier;
|
||||
|
||||
$logPrices = $this->listProductFournisseurPriceLog($this->product_fourn_price_id, 'pfpl.datec', 'DESC'); // set sort order here
|
||||
|
||||
@ -980,8 +980,7 @@ END;
|
||||
}
|
||||
|
||||
// Supplier ref
|
||||
if ($usercancreate) // change required right here
|
||||
{
|
||||
if ($usercancreate) { // change required right here
|
||||
print '<td class="left">'.$productfourn->getNomUrl().'</td>';
|
||||
} else {
|
||||
print '<td class="left">'.$productfourn->fourn_ref.'</td>';
|
||||
@ -1138,7 +1137,7 @@ END;
|
||||
|
||||
if ($usercancreate)
|
||||
{
|
||||
print '<a href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&socid='.$productfourn->fourn_id.'&action=update_price&rowid='.$productfourn->product_fourn_price_id.'">'.img_edit()."</a>";
|
||||
print '<a class="editfielda" href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&socid='.$productfourn->fourn_id.'&action=update_price&rowid='.$productfourn->product_fourn_price_id.'">'.img_edit()."</a>";
|
||||
print ' ';
|
||||
print '<a href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&socid='.$productfourn->fourn_id.'&action=ask_remove_pf&rowid='.$productfourn->product_fourn_price_id.'">'.img_picto($langs->trans("Remove"), 'delete').'</a>';
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user