A REVOIR limiter à 1 mot cle? renommer table relance vaccin?utiliser le type decimal(10,3) pour les prix? revoir le type time; A faire : table ration alimentaire / dossier dentaire / brouillard de recette? (rem la tabe RECETTE devrait convenir) / // un champ "mot de passe web" dans la table client. table race ->passer taille 40. pour la table ville je vais rajouter un champ préféré (pour n'afficher par exemple que les villes de son (ses) département (s)) et un champ Département (ou peut être une table séparée pour économiser de l'espace, je ne sais pas encore) A TESTER : 1 destruction d un passeport et creation d'un 2eme passeport (verifier que animal peut avoir 2 passeports dont 1 detruit) REMARQUE : les prix sont sous la forme entier pour des raisons de précision de calcul: un entier represente un prix avec 3 decimales : ex 35950 => 35 euros 95 cts CHANGE:EN TYPE DEC(10,3) 1.03 changé taille champ especes et race augmenté à 30. (changé race_croiseE 1.03b) 1.02 correction erreur (10,3 au lieu 10.3)+No SIRE (taille 9)+ pays.id enlevé autoincrement (produit erreur lors création) produit.quantite a commander enlevé autoincrement (produit erreur lors création car "quantite a commander" doit etre clef primaire pour autoincrement ) ajouté : client.rue2 (2eme ligne pour la rue) 1.01 Supprimé l'accent Table Animal Animal_Assure Ajouté Table Consultation : Consultation_Commemoratifs Ajouté : Veterinaire NoTVA(communautaire) Ajouté Animal: NoSIRE CHANGEMENT FORMAT PRIX : type decimal(10,3) au lieu de integerx1000 (table produit/commande/un medicament/un acte/acte/facture/recette) Ajouté : Facture : tauxTVA1,2,3 corrigé "rendez vous".idClient=mediumInt et DelegueLabo=MediumInt 1.00 ajout table "CERFA Rage" / table "Certificat"/ / adresse à fournisseur / table "delegué" (labo) / champ "produit.classe" (Stupefiants, classe II,etc...) /table "registre stup"/table "rendez vous" champ "animal.dateDCD" "animal.incineration" table "incineration" (remarque la compagnie d incineration = un fournisseur, la date du décé est inscrite dans la table animal) correction : Varchar remplacé par Char (table client etc) /type Robe (char et non int) 0.99 suppression 2eme adresse de client gestion du stock (table produit) /////////////////////////////////////gestion stock et prix///////////////////////////// la gestion du stock peut paraitre compliquée car il faut prevoir le cas frequent des changements de prix. en cas de changement de prix, on se retrouve avec des medicaments avec l'ancien prix, et d'autres avec le nouveau prix. OpenVet peut gerer cela et indiquer dans la facture le bon prix, pour cela il faut dans la table produit: - le "stock" - "stock ancien prix" (=nb de medicaments avec ancien prix) le "prix achat" = prix d'achat des medicaments en stock sauf vieux stock(= "stock"-"stock ancien prix") utilisé pour la facture "ancien prix" = le prix dans le "stock ancien" (utilisé en priorité par la facture si "stock ancien">0 car on ecoule les vieux stock en premier) "nouveau prix d'achat"= le prix actuel (mis à jour disquette tarif) ne sert que pour la commande (pas pour la facture) fonctionnement : *** LORS DE LA MISE A JOUR DES TARIFS : on ne change que "nouveau prix d'achat". *** LORS D'UNE COMMANDE d'une quantité "x" : 1/ si "nouveau prix" = "prix", dans ce cas on met à jour stock (stock = stock + x) et on ne change pas les prix. 2/ si "nouveau prix" different de "prix" : a/ si "stock"=0 => "prix"="nouveau prix" et stock=x b/ si "stock">0 --->et "stock ancien"=0 (cas le plus frequent) : alors "stock ancien"=stock, "prix ancien"="prix", stock=x et "prix"="nouveaux prix" --->si "stock ancien">0 on va avoir 3 prix differents pour le meme medicament, dans ce cas openvet n'indiquera pas automatiquement le prix dans la facture. "prix d achat stock valide" est mis à FALSE, "stock ancien"="stock ancien"+"stock", "stock"=x, "ancien prix"="prix" (pas vraiment utile) ,"prix"="nouveau prix" l'indicateur "Valide" sera remis à TRUE quand stock ancien sera à zero. ****LORS DE LA FACTURATION : - si"stock ancien">0 et "valide" => openvet prends ancien prix (affiche une alerte pour verifier l etiquette) et met a jour "stock ancien" - si "stock ancien"=0 => utilise "prix" ///////////////////////////////////////////////////////////////////////// 0.98b correction d'erreur (Passeport.Date = type date; defaut 'S'; table "lien consultation_clef" ENLEVER espaces dans nom des 2 tables "lien...") 0.98 ajout table passeport (zone animal) avec retrait de nopasseport dans table animal (doublons) changement nom table medicament => UnMedicament Creation Table "JourHospitalisation" correspond à un jour d hospitalisation d'un animal Cette table ressemble à la table consultation, un champ "à facturer" indique si la facture a été faite creation des liens entre consultation (hospitalisation) et les médicament délivrés et actes réalisés UTILISATION : - on choisit des actes, et des médicaments dans la feuille consultation ou hospitalisation (par defaut l'acte est à facturer, et l'heure est ajoutée) - pour facturer : 2 possibilités : 1/ à partir de la consultation ou hospitalisation : dans ce cas OpenVet retrouve les actes (pour l'hospitalisation il regroupe toutes les date d'hospitalisation de l'animal), prépare la facture (modification possible par l'utilisateur de chaque ligne) et lors de la validation met le champs aFacturer à zéro (=faux) 2/ à partir d'une nouvelle facture : l'utilisateur indique l'animal ou le propriétaire et choisit dans la liste les médicaments à facturer (OpenVet pourrait verifier ensuite tous les actes et medicaments du client ui n ont pas encore été facturés=champ "AFacturer") 0.97 modification des types de certains champs(int réduit à tinyint;correction type porduit.codeCIP) retrait de consultation.idMotCle (inutile, le lien est fait par la table "lien consultation_mot cle") ajout de mot cles à "analyse";de taux de marque;de consultation.poids (retrait de courbe poids); table robe; race.poidsAdulte; facture.devis 0.96 ajout à la table client : vetoReferant clientReferant consultation resumé (pour affichage dans liste) 0.95 ajout champs client.alerte (ex mauvais payeur) 0.94 ajout : poids animal, tables relances vaccins, types vaccin, tables commandes, table fournisseurs, photo animal, civilite véto, produits préférés, lien produit->fournisseur 0.93 : - complete les bases analyses. description tables "analyse": la table analyse reprends les infos générales (date, nom= resumé qui sera affiché dans un controle liste,lien externe (ex radio.jpg ), type d'analyse (radio, bioch...), lien avec l'animal ) Le détail est mémorisé dans une table "DetailAnalyse..." qui possède le même "id" que la table analyse. - cree liens manquant (animal-especes,...) et rajout d'une 2eme race remarque : animal est lié à une ou deux races : exemples Labrador race pure => Animal.idRace->Labrador et Animal.idRaceCroisé->VIDE race croisée Labrador X BergerAllemand : Animal.idRace->Labrador et Animal.idRaceCroisé->BergerAllemand ou X Labrador : Animal.idRace->VIDE et Animal.idRaceCroisé->Labrador -ajout liens consultation->animal ; consultation-client, remarque : en cas de changement de proprietaire, seul le lien animal-client est changé (les tables "facture","ordonnance","consultation" conservent l' id du propriétaire au momment de la facturation/consultation...) - ajout "compte banque" pour prelevement client ou remise en banque véto - ajout lien externe pour facture/ordonnance (lien fichier pdf ou txt pour réimpression rapide par exemple) 0.92 : modifications : - correction des noms de clef externes, et certains noms (ex suppression pluriel) - correction liens : factures->UnActe explications: Lorsque l'on crée une facture (ou ordonnance), on crée des liens entre la facture et une liste de produit/acte. Or le prix de chaque produit/acte varie au cours du temps donc lorsqu'on met à jour les tarifs on aura une modification de toutes les factures anciennes si on n'a pas recopié et figé le prix de chaque produit/acte. On doit donc creer les tables suivantes : Table "Acte" = la liste des actes dont le prix est ajusté Table "Produit" = liste des produits, synchro avec la disquette tarif de la centrale d'achat, donc le prix aussi n'est pas figé. Les tables "facture" et "Ordonnance" : liées avec plusieurs tables "UnActe" ou "Medicament" = 1 element avec récupération du prix dans la liste (le prix est ensuite figé, même si les tarifs changent, ainsi que le code du taux de TVA). remarque : pour l'ordonnance il y a une table intermediaire entre 1 medicament et l'ordonnance = "ligne ordonnance", on pourrait fusionner la table "medicament"+"ligne ordonnance" car lien de type 1:1 mais il faut prévoir les factures sans ordonnance (dans ce cas les infos de "ligne ordonnance" sont inutiles et si on fusionne ces 2 tables on perds de la place) La table "TVA" lien code TVA avec taux (ex code 0 => 19.6), si le taux est changé il faut créer un nouveau code (ex : code 5 => 20.6) et surtout pas changer directement le taux ( si on change code 0 => 20.6 on changera le taux de toutes les anciennes factures)