You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.3 KiB
123 lines
3.3 KiB
from datetime import date
|
|
|
|
from django import forms
|
|
from django.db import models
|
|
from django.contrib.auth.models import User
|
|
|
|
from UGSdjangoProject import settings
|
|
|
|
|
|
# Create your models here.
|
|
class Address(models.Model):
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="new_spending", null=True)
|
|
first_name = models.CharField("Vorname", max_length=255, null=True)
|
|
surname = models.CharField("Nachname", max_length=255, null=True)
|
|
birthday: date = models.DateField("Geburtstag", null=True)
|
|
street = models.CharField("Straße", max_length=255, null=True)
|
|
number = models.CharField("Hausnummer", max_length=10, null=True)
|
|
postcode = models.CharField("Postleitzahl", max_length=5, null=True)
|
|
city = models.CharField("Stadt", max_length=100, null=True)
|
|
|
|
def __str__(self):
|
|
return f'{self.first_name} {self.surname} lives at {self.street} {self.number}, {self.postcode} {self.city}'
|
|
|
|
|
|
class Summary(models.Model):
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="user_summary")
|
|
text = models.TextField(max_length=2000)
|
|
|
|
def __str__(self):
|
|
return self.text
|
|
|
|
|
|
class SalesAreaType(models.Model):
|
|
title = models.CharField(max_length=255)
|
|
|
|
|
|
class SalesArea(models.Model):
|
|
title = models.CharField(max_length=255)
|
|
type = models.ForeignKey(SalesAreaType, on_delete=models.RESTRICT)
|
|
|
|
|
|
class CompanyData(models.Model):
|
|
title = models.CharField(max_length=255)
|
|
website = models.URLField(max_length=200)
|
|
startDate = models.DateField()
|
|
#salesArea = models.ManyToManyField(SalesArea, related_name='+')
|
|
|
|
|
|
class AllgemeinesData(models.Model):
|
|
currency = models.CharField(max_length=3)
|
|
years = models.IntegerField()
|
|
startPhase = models.IntegerField()
|
|
planingPeriods = models.IntegerField()
|
|
|
|
|
|
'''
|
|
Grundsätzloich werden die Daten für den Absatz in das Jahresfeld eingegeben
|
|
Bei eingabe in dieses Feld werden die Monatswerte überschrieben/gesetzt
|
|
|
|
Der Nutzer kann aber auch werte in die einzelnen Monate eintragen
|
|
Dies werden dann zum Jahr aufsummiert
|
|
|
|
Umsatz wir berechnet: Menge x Preis
|
|
|
|
|
|
|
|
|
|
'''
|
|
'''
|
|
class Revenue(models.Model):
|
|
unit = models.CharField(max_length=255)
|
|
value = models.DecimalField(max_digits=10, decimal_places=2)
|
|
year = models.IntegerField()
|
|
|
|
class revenueField(models.Model):
|
|
title = models.CharField(max_length=255)
|
|
# MWST Satz
|
|
# REvenue 1 : n
|
|
|
|
class SalesMarketing(models.Model):
|
|
# Revneue 1: 1 ?
|
|
|
|
|
|
class BeschaffungsItem(models.Model):
|
|
title = models.CharField(max_length=255)
|
|
price = models.DecimalField(max_digits=10, decimal_places=2)
|
|
quantityDependent = models.IntegerField() # True or False
|
|
quantity = models.IntegerField()
|
|
# Mehrfach für jedes RvenueField
|
|
|
|
class Invest(models.Model):
|
|
anschaffungsKosten=models.DecimalField(max_digits=10, decimal_places=2)
|
|
nutzungsDauer=models.IntegerField() # years
|
|
abschreibungsArt = models.CharField(max_length=255) # linear
|
|
# Nutzung pro Umsatzbereich in Prozent + nur zu Gesamtunternehmen zugehörig
|
|
|
|
'''
|
|
|
|
# Arbeitsmarkt
|
|
'''
|
|
Mitarbeiter nach kategorie
|
|
Anzahl
|
|
Brutto Kosten
|
|
Sozialkosten in Summe oder in Prozent
|
|
keine Kapazitärsplanung
|
|
'''
|
|
|
|
'''
|
|
Kapital
|
|
Einlagen und Entnahmen pro Jahr
|
|
|
|
Fremdkaptial
|
|
Einzahlung (Kreditsumme)
|
|
Tilgung
|
|
Zins
|
|
'''
|
|
|
|
'''
|
|
Staat
|
|
EtragsSteuern in Prozent vom Gewinn (ca. 30 %)
|
|
Subventionen
|
|
|
|
'''
|
|
|