840 |
} |
} |
841 |
|
|
842 |
|
|
843 |
/** |
/** |
844 |
* \brief Supprime un tarif fournisseur |
* \brief Supprime un tarif fournisseur |
845 |
* \param user utilisateur qui défait le lien |
* \param user utilisateur qui défait le lien |
846 |
* \param id_fourn id du fournisseur |
* \param id_fourn id du fournisseur |
847 |
* \param qty quantité |
* \param qty quantit |
848 |
* \return int < 0 si erreur, > 0 si ok |
* \return int < 0 si erreur, > 0 si ok |
849 |
*/ |
*/ |
850 |
|
function remove_price($user, $id_fourn, $qty) |
|
function remove_price($user, $id_fourn, $qty) |
|
851 |
{ |
{ |
852 |
$sql = "DELETE FROM ".MAIN_DB_PREFIX."product_fournisseur_price"; |
$sql = "DELETE FROM ".MAIN_DB_PREFIX."product_fournisseur_price"; |
853 |
$sql.= " WHERE fk_product = $this->id AND fk_soc = $id_fourn and quantity = '".$qty."';"; |
$sql.= " WHERE fk_product = $this->id AND fk_soc = $id_fourn and quantity = '".$qty."';"; |
854 |
|
|
855 |
if ($this->db->query($sql) ) |
if ($this->db->query($sql) ) |
856 |
{ |
{ |
857 |
return 1; |
return 1; |
858 |
} |
} |
859 |
else |
else |
860 |
{ |
{ |
861 |
dolibarr_print_error($this->db); |
dolibarr_print_error($this->db); |
862 |
return -1; |
return -1; |
863 |
} |
} |
864 |
} |
} |
865 |
|
|
866 |
/** |
/** |
867 |
* \brief Délie un fournisseur au produit/service |
* \brief Délie un fournisseur au produit/service |
868 |
* \param user utilisateur qui défait le lien |
* \param user utilisateur qui défait le lien |
869 |
* \param id_fourn id du fournisseur |
* \param id_fourn id du fournisseur |
870 |
* \return int < 0 si erreur, > 0 si ok |
* \return int < 0 si erreur, > 0 si ok |
871 |
*/ |
*/ |
872 |
|
function remove_fournisseur($user, $id_fourn) |
|
function remove_fournisseur($user, $id_fourn) |
|
873 |
{ |
{ |
874 |
$sql = "DELETE FROM ".MAIN_DB_PREFIX."product_fournisseur "; |
$sql = "DELETE FROM ".MAIN_DB_PREFIX."product_fournisseur "; |
875 |
$sql.= " WHERE fk_product = $this->id AND fk_soc = $id_fourn;"; |
$sql.= " WHERE fk_product = $this->id AND fk_soc = $id_fourn;"; |
876 |
|
|
877 |
if ($this->db->query($sql) ) |
if ($this->db->query($sql) ) |
878 |
{ |
{ |
879 |
return 1; |
return 1; |
880 |
} |
} |
881 |
else |
else |
882 |
{ |
{ |
883 |
dolibarr_print_error($this->db); |
dolibarr_print_error($this->db); |
884 |
return -1; |
return -1; |
885 |
} |
} |
886 |
|
} |
887 |
|
|
888 |
|
/** |
889 |
|
* \brief Recopie les prix d'un produit/service sur un autre |
890 |
|
* \param fromId Id produit source |
891 |
|
* \param toId Id produit cible |
892 |
|
* \return int < 0 si erreur, > 0 si ok |
893 |
|
*/ |
894 |
|
function clone_price($fromId, $toId) |
895 |
|
{ |
896 |
|
global $db; |
897 |
|
|
898 |
|
$db->begin(); |
899 |
|
|
900 |
|
// les prix |
901 |
|
$sql = "insert " .MAIN_DB_PREFIX."product_price (" |
902 |
|
. " fk_product, date_price, price, tva_tx, fk_user_author, envente )" |
903 |
|
. " select ".$toId . ", date_price, price, tva_tx, fk_user_author, envente " |
904 |
|
. " from ".MAIN_DB_PREFIX."product_price " |
905 |
|
. " where fk_product = ". $fromId . ";" ; |
906 |
|
if ( ! $db->query($sql ) ) { |
907 |
|
$db->rollback(); |
908 |
|
return -1; |
909 |
|
} |
910 |
|
$db->commit(); |
911 |
|
return 1; |
912 |
|
} |
913 |
|
|
914 |
|
/** |
915 |
|
* \brief Recopie les fournisseurs et prix fournisseurs d'un produit/service sur un autre |
916 |
|
* \param fromId Id produit source |
917 |
|
* \param toId Id produit cible |
918 |
|
* \return int < 0 si erreur, > 0 si ok |
919 |
|
*/ |
920 |
|
function clone_fournisseurs($fromId, $toId) |
921 |
|
{ |
922 |
|
global $db; |
923 |
|
|
924 |
|
$db->begin(); |
925 |
|
|
926 |
|
// les fournisseurs |
927 |
|
$sql = "insert ".MAIN_DB_PREFIX."product_fournisseur (" |
928 |
|
. " datec, fk_product, fk_soc, ref_fourn, fk_user_author )" |
929 |
|
. " select now(), ".$toId.", fk_soc, ref_fourn, fk_user_author" |
930 |
|
. " from ".MAIN_DB_PREFIX."product_fournisseur " |
931 |
|
. " where fk_product = ".$fromId .";" ; |
932 |
|
if ( ! $db->query($sql ) ) { |
933 |
|
$db->rollback(); |
934 |
|
return -1; |
935 |
|
} |
936 |
|
// les prix de fournisseurs. |
937 |
|
$sql = "insert ".MAIN_DB_PREFIX."product_fournisseur_price (" |
938 |
|
. " datec, fk_product, fk_soc, price, quantity, fk_user )" |
939 |
|
. " select now(), ".$toId. ", fk_soc, price, quantity, fk_user" |
940 |
|
. " from ".MAIN_DB_PREFIX."product_fournisseur_price" |
941 |
|
. " where fk_product = ".$fromId.";"; |
942 |
|
if ( ! $db->query($sql ) ) { |
943 |
|
$db->rollback(); |
944 |
|
return -1; |
945 |
|
} |
946 |
|
$db->commit(); |
947 |
|
return 1; |
948 |
} |
} |
|
|
|
949 |
|
|
950 |
/** |
/** |
951 |
* \brief Entre un nombre de piece du produit en stock dans un entrepôt |
* \brief Entre un nombre de piece du produit en stock dans un entrepôt |
952 |
* \param id_entrepot id de l'entrepot |
* \param id_entrepot id de l'entrepot |
953 |
* \param nbpiece nombre de pieces |
* \param nbpiece nombre de pieces |
954 |
*/ |
*/ |
|
|
|
955 |
function create_stock($id_entrepot, $nbpiece) |
function create_stock($id_entrepot, $nbpiece) |
956 |
{ |
{ |
957 |
|
|
978 |
* \param nbpiece nombre de pieces |
* \param nbpiece nombre de pieces |
979 |
* \param mouvement 0 = ajout, 1 = suppression |
* \param mouvement 0 = ajout, 1 = suppression |
980 |
*/ |
*/ |
|
|
|
981 |
function correct_stock($user, $id_entrepot, $nbpiece, $mouvement) |
function correct_stock($user, $id_entrepot, $nbpiece, $mouvement) |
982 |
{ |
{ |
983 |
|
|