class BesoinFinancier(db.Document): commande = db.StringField() fournisseur = db.StringField() montant = db.FloatField() avance = db.FloatField() paye = db.FloatField() date_echeance = db.DateTimeField() projet_id = db.ReferenceField(Projet) attente = db.BooleanField(default=True) rejet = db.BooleanField(default=False) parent = db.ReferenceField('self') last_child = db.BooleanField(default=False) updated = db.ListField(db.EmbeddedDocumentField(Update_Besoin)) def child(self): childs = BesoinFinancier.objects(parent=self.id) return childs def lasted_child(self): last = BesoinFinancier.objects(Q(parent=self.id) & Q(last_child=True)).first() return last def notified(self): data = [] for notifie in self.updated: if notifie.notified: data.append(notifie) return data
class Transaction(db.Document): transaction_id = db.IntField(unique=True) user_id = db.IntField(unique=False) transaction_type = db.StringField(max_length=10) currency_symbol = db.StringField(max_length=30) amount = db.FloatField() value = db.FloatField() date = db.DateTimeField()
class FaASCE710(db.Document): _id = db.ObjectIdField() SiteClass = db.StringField( max_length=10 ) ss25 = db.FloatField( ) ss50 = db.FloatField( ) ss75 = db.FloatField( ) ss100 = db.FloatField( ) ss125 = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'FaASCE710'}
class BestProduct(db.DynamicDocument): meta = {'collection': 'best_product', 'indexes': ['t']} asin = db.StringField(db_field="asin", required=True) avgOverall = db.FloatField(db_field="ao") title = db.StringField(db_field="t", required=True) price = db.FloatField(db_field="p") imageUrl = db.StringField(db_field="iu") description = db.StringField(db_field="d") cnt = db.IntField(db_field="cnt") created = db.IntField(db_field="dc", default=now())
class fdt_coll(db.Document): absence = db.FloatField() conge = db.FloatField() ferier = db.FloatField() administration = db.FloatField() formation = db.FloatField() developpement = db.FloatField() prod_fact = db.FloatField() prod_nfact = db.FloatField() heure_nchargee = db.FloatField()
class DetailFrais(db.Document): date = db.DateTimeField() description = db.StringField() montant = db.FloatField() detail_fdt = db.ReferenceField(DetailTemps) temps_id = db.ReferenceField(Temps) frais_projet_id = db.ReferenceField(FraisProjet)
class Product(db.DynamicDocument): meta = { 'collection': 'products', 'shard_key': 'asin', 'indexes': [ 'title', "asin", "pI", '-created', { "fields": ['$title', '$description'], "default_language": 'english', 'weights': { 'title': 7, 'description': 3 } } ] } asin = db.StringField(db_field="asin", required=True, unique=True) productIntId = db.IntField(db_field="pI") title = db.StringField(db_field="title", required=True) description = db.StringField(db_field="description", required=True) imageUrl = db.StringField(db_field="imUrl") created = db.IntField(db_field="c", default=now()) related = db.DictField(db_field="related") price = db.FloatField(db_field="price")
class Stocks(db.DynamicDocument): ticker = db.StringField(max_length = 10) company = db.StringField(max_length = 20) price = db.FloatField() sector = db.StringField(max_length = 30) industry = db.StringField(max_length =75) volume = db.IntField() meta = {'strict' : False}
class DetailTemps(db.Document): date = db.DateTimeField() description = db.StringField() heure = db.DateTimeField() jour = db.IntField() conversion = db.FloatField() temps_id = db.ReferenceField(Temps) ordre = db.IntField() parent = db.IntField()
class SimilarityTable(db.DynamicDocument): meta = { 'collection': 'similarity_table', 'indexes': ['item'], 'shard_key': 'productid', } productid = db.StringField(db_field="item", required=True) product_match = db.StringField(db_field="item_other") similarity = db.FloatField(db_field="sim", required=True)
class StudentQuizGrade(db.Document): """ Team Quiz grades. """ passed_tests = db.FloatField(required=False) total_tests = db.FloatField(required=False) grade_in_percentage = db.FloatField(required=False) quiz = db.StringField(max_length=32, min_length=1, required=False) student = db.ReferenceField('Student', reverse_delete_rule=db.CASCADE) meta = { "indexes": [ { "fields": ['quiz'], }, { "fields": ['student'] }, { "fields": ['student', 'quiz'], "unique": True } ] } def to_dict(self, **kwargs): return { "id": self.id, "passed_tests": self.passed_tests, "total_tests": self.total_tests, "grade_in_percentage": self.grade_in_percentage, "quiz": self.quiz, "student": self.student.to_dict(), "page": 1 }
class Product(db.Document): code = db.StringField(max_length=60) name = db.StringField(max_length=60) price = db.FloatField() packing = db.StringField(max_length=60) description = db.StringField() created_at = db.DateTimeField(verbose_name=u'Created At', required=True) updated_at = db.DateTimeField(verbose_name=u'Updated At', required=True) def save(self, *args, **kwargs): if not self.created_at: self.created_at = datetime.datetime.now() self.updated_at = datetime.datetime.now() return super(Product, self).save(*args, **kwargs)
class StudentMilestoneGrade(db.Document): """ Team Quiz grades. """ milestone_ratio = db.FloatField(required=False) grade_in_percentage = db.FloatField(required=False) milestone = db.StringField(max_length=32, min_length=1, required=False) student = db.ReferenceField('Student', reverse_delete_rule=db.CASCADE) meta = { "indexes": [ { "fields": ['milestone'], }, { "fields": ['student'] }, { "fields": ['student', 'milestone'], "unique": True } ] } def to_dict(self, **kwargs): return { "id": self.id, "milestone_ratio": self.milestone_ratio, "grade_in_percentage": self.grade_in_percentage, "milestone": self.milestone, "student": self.student.to_dict(), "page": 1 }
class Review(db.DynamicDocument): meta = { 'collection': 'reviews', 'indexes': ['asin', 'reviewerID', 'pI', '-unixReviewTime', 'rI'], 'shard_key': ('asin', 'reviewerID'), } userid = db.StringField(db_field="reviewerID", required=True) reviewerIntId = db.IntField(db_field="rI") productIntId = db.IntField(db_field="pI") productid = db.StringField(db_field="asin", required=True) username = db.StringField(db_field="reviewerName") helpful = db.ListField(db_field="helpful") created = db.IntField(db_field="unixReviewTime", default=now()) review = db.StringField(db_field="reviewText") overall = db.FloatField(db_field="overall") title = db.StringField(db_fiedl="summary")
class FvASCE716(db.Document): _id = db.ObjectIdField() SiteClass = db.StringField( max_length=10 ) s11 = db.FloatField( ) s12 = db.FloatField( ) s13 = db.FloatField( ) s14 = db.FloatField( ) s15 = db.FloatField( ) s16 = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'FvASCE716'}
class AlumShapesL(db.Document): _id = db.ObjectIdField() Size = db.StringField() Type = db.StringField() d = db.FloatField( ) b = db.FloatField( ) t = db.FloatField( ) R1 = db.FloatField( ) R2 = db.FloatField( ) W = db.FloatField( ) A = db.FloatField( ) Ix = db.FloatField( ) Sx = db.FloatField( ) rx = db.FloatField( ) y = db.FloatField( ) Iy = db.FloatField( ) Sy = db.FloatField( ) ry = db.FloatField( ) x = db.FloatField( ) Iz = db.FloatField( ) rz = db.FloatField( ) a = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'alum_shapes_L'}
class AlumShapesChannel(db.Document): _id = db.ObjectIdField() Size = db.StringField() Type = db.StringField() d = db.FloatField( ) b = db.FloatField( ) tftip = db.FloatField( ) tf = db.FloatField( ) tw = db.FloatField( ) R1 = db.FloatField( ) R2 = db.FloatField( ) d1 = db.FloatField( ) A = db.FloatField( ) W = db.FloatField( ) Ix = db.FloatField( ) Sx = db.FloatField( ) rx = db.FloatField( ) Iy = db.FloatField( ) Sy = db.FloatField( ) ry = db.FloatField( ) x = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'alum_shapes_channel'}
class AlumShapesWF(db.Document): _id = db.ObjectIdField() Size = db.StringField() Type = db.StringField() d = db.FloatField( ) bf = db.FloatField( ) tf = db.FloatField( ) tw = db.FloatField( ) R1 = db.FloatField( ) R2 = db.FloatField( ) d1 = db.FloatField( ) A = db.FloatField( ) W = db.FloatField( ) Ix = db.FloatField( ) Sx = db.FloatField( ) Zx = db.FloatField( ) rx = db.FloatField( ) Iy = db.FloatField( ) Sy = db.FloatField( ) Zy = db.FloatField( ) ry = db.FloatField( ) Cw = db.FloatField( ) J = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'alum_shapes_wf'}
class AISCSectionsCircular(db.Document): _id = db.ObjectIdField() Type = db.StringField() EDI_Std_Nomenclature = db.StringField() AISC_name = db.StringField() T_F = db.StringField() W = db.FloatField( ) A = db.FloatField( ) OD = db.FloatField( ) tnom = db.FloatField( ) tdes = db.FloatField( ) Ix = db.FloatField( ) Zx = db.FloatField( ) Sx = db.FloatField( ) rx = db.FloatField( ) Iy = db.FloatField( ) Zy = db.FloatField( ) Sy = db.FloatField( ) ry = db.FloatField( ) J = db.FloatField( ) C = db.FloatField( ) Dlt = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'aisc_sections_circular'}
class FraisProjet(db.Document): montant = db.FloatField() facturable = db.BooleanField() projet_id = db.ReferenceField(Projet) frais_id = db.ReferenceField(Frais)
class AlumShapesRectangular(db.Document): _id = db.ObjectIdField() Name = db.StringField() Type = db.StringField() d = db.FloatField( ) b = db.FloatField( ) t = db.FloatField( ) W = db.FloatField( ) A = db.FloatField( ) Ix = db.FloatField( ) Sx = db.FloatField( ) Zx = db.FloatField( ) rx = db.FloatField( ) Iy = db.FloatField( ) Sy = db.FloatField( ) Zy = db.FloatField( ) ry = db.FloatField( ) J = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'alum_shapes_rectangular'}
class AISCSectionsChannel(db.Document): _id = db.ObjectIdField() Type = db.StringField() EDI_Std_Nomenclature = db.StringField() AISC_name = db.StringField() T_F = db.StringField() W = db.FloatField( ) A = db.FloatField( ) d = db.FloatField( ) ddet = db.FloatField( ) bf = db.FloatField( ) bfdet = db.FloatField( ) tw = db.FloatField( ) twdet = db.FloatField( ) tf = db.FloatField( ) tfdet = db.FloatField( ) kdes = db.FloatField( ) kdet = db.FloatField( ) x = db.FloatField( ) eo = db.FloatField( ) xp = db.FloatField( ) Ix = db.FloatField( ) Zx = db.FloatField( ) Sx = db.FloatField( ) rx = db.FloatField( ) Iy = db.FloatField( ) Zy = db.FloatField( ) Sy = db.FloatField( ) ry = db.FloatField( ) J = db.FloatField( ) Cw = db.FloatField( ) Wno = db.FloatField( ) Sw1 = db.FloatField( ) Sw2 = db.FloatField( ) Sw3 = db.FloatField( ) Qf = db.FloatField( ) Qw = db.FloatField( ) ro = db.FloatField( ) H = db.FloatField( ) rts = db.FloatField( ) ho = db.FloatField( ) PA = db.FloatField( ) PB = db.FloatField( ) PC = db.FloatField( ) PD = db.FloatField( ) T = db.FloatField( ) WGi = db.FloatField( ) blt = db.FloatField( ) hltw = db.FloatField( ) twdetl2 = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'aisc_sections_channel'}
class AISCSectionsL(db.Document): _id = db.ObjectIdField() Type = db.StringField() EDI_Std_Nomenclature = db.StringField() AISC_name = db.StringField() T_F = db.StringField() W = db.FloatField( ) A = db.FloatField( ) d = db.FloatField( ) b = db.FloatField( ) t = db.FloatField( ) kdes = db.FloatField( ) kdet = db.FloatField( ) x = db.FloatField( ) y = db.FloatField( ) xp = db.FloatField( ) yp = db.FloatField( ) Ix = db.FloatField( ) Zx = db.FloatField( ) Sx = db.FloatField( ) rx = db.FloatField( ) Iy = db.FloatField( ) Zy = db.FloatField( ) Sy = db.FloatField( ) ry = db.FloatField( ) Iz = db.FloatField( ) rz = db.FloatField( ) Sz = db.FloatField( ) J = db.FloatField( ) Cw = db.FloatField( ) ro = db.FloatField( ) H = db.FloatField( ) Iw = db.FloatField( ) zA = db.FloatField( ) zB = db.FloatField( ) zC = db.FloatField( ) wA = db.FloatField( ) wB = db.FloatField( ) wC = db.FloatField( ) SwA = db.FloatField( ) SwB = db.FloatField( ) SwC = db.FloatField( ) SzA = db.FloatField( ) SzB = db.FloatField( ) SzC = db.FloatField( ) PA = db.FloatField( ) PA2 = db.FloatField( ) PB = db.FloatField( ) blt = db.FloatField( ) tana = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'aisc_sections_L'}
class ClientBudget(db.Document): date_app = db.DateTimeField() montant = db.FloatField() client_id = db.ReferenceField(Client)
class ChargeBudget(db.Document): charge_id = db.ReferenceField(Charge) montant = db.FloatField() date_app = db.DateTimeField()
class BudgetPrestation(db.Document): prestation_id = db.ReferenceField(Prestation) budget_id = db.ReferenceField(Budget) heure = db.FloatField()
class AISCSections2L(db.Document): _id = db.ObjectIdField() Type = db.StringField() EDI_Std_Nomenclature = db.StringField() AISC_name = db.StringField() T_F = db.StringField() W = db.FloatField( ) A = db.FloatField( ) d = db.FloatField( ) b = db.FloatField( ) t = db.FloatField( ) y = db.FloatField( ) yp = db.FloatField( ) Ix = db.FloatField( ) Zx = db.FloatField( ) Sx = db.FloatField( ) rx = db.FloatField( ) Iy = db.FloatField( ) Zy = db.FloatField( ) Sy = db.FloatField( ) ry = db.FloatField( ) ro = db.FloatField( ) H = db.FloatField( ) blt = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'aisc_sections_2L'}
class Projet(db.Document): code = db.StringField() titre = db.StringField() heure = db.IntField() montant = db.FloatField() date_start = db.DateTimeField() date_end = db.DateTimeField() facturable = db.BooleanField() domaine_id = db.ReferenceField(Domaine) client_id = db.ReferenceField(Client) service_id = db.ReferenceField(Service) prospect_id = db.ReferenceField(Client) responsable_id = db.ReferenceField(Users) closed = db.BooleanField(default=False) suspend = db.BooleanField(default=False) montant_projet_fdt = db.FloatField() attente = db.BooleanField(default=False) rejet = db.BooleanField(default=False) updated = db.ListField(db.EmbeddedDocumentField(Update_Projet)) def ratio_user(self, user_id): from ..tache.models_tache import Tache, Users user = Users.objects.get(id=user_id) tache_projet = Tache.objects(Q(projet_id=self.id) & Q(user_id=user.id)) total = 0.0 for tache in tache_projet: if tache.prestation_sigle() == 'PRO' and tache.facturable: user_taux = tache.get_user().tauxH time = tache.detail_heure pre_total = user_taux * time total += pre_total ratio = 0.0 if self.montant_projet_fdt: ratio = total / self.montant_projet_fdt return round(ratio, 1) def besoin(self, rejet=False, attente=True): besoins = BesoinFinancier.objects( Q(projet_id=self.id) & Q(rejet=rejet) & Q(attente=attente)).order_by('-date_echeance') return besoins def besoin_unsolde(self): besoin = [] besoins = BesoinFinancier.objects( Q(projet_id=self.id) & Q(attente=False) & Q(parent=None)).order_by('-date_echeance') for bes in besoins: if len(bes.child()): if bes.lasted_child().paye < bes.lasted_child().montant: besoin.append(bes) else: if bes.paye < bes.montant: besoin.append(bes) return besoin def notified(self): data = [] for notifie in self.updated: if notifie.notified: data.append(notifie) return data
class Budget(db.Document): heure = db.FloatField() user_id = db.ReferenceField(Users) date_start = db.DateTimeField()
class AlumShapesCircular(db.Document): _id = db.ObjectIdField() Size = db.StringField() OD = db.FloatField( ) ID = db.FloatField( ) t = db.FloatField( ) A = db.FloatField( ) W = db.FloatField( ) I = db.FloatField( ) S = db.FloatField( ) Z = db.FloatField( ) r = db.FloatField( ) J = db.FloatField( ) Rblt = db.FloatField( ) meta = {'db_alias': 'calc_db', 'collection': 'alum_shapes_circular'}