-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathemployee2.py
More file actions
111 lines (104 loc) · 3.28 KB
/
employee2.py
File metadata and controls
111 lines (104 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
from time import time
import uuid
import datetime
from datetime import date, timedelta
class Employee:
def __init__(self,name,address,type, salary,commission=0,hourWage=0,payday='monthly',unionFee=0): #by default is a salaried an not filiated to the union
self.name = name
self.address = address
self.type = type #salaried,commissioned,hourist
self.paymentMethod = 'Depósito em conta bancária' #correios,cheque em mãos, depósito em conta bancária
self.companyID = uuid.uuid4()
self.unionID = None
#self.hourWage = hourWage
self.salary = salary
self.unionStatus = False
self.unionFee = unionFee
self.commission = commission
self.payday= payday
self.createday = datetime.date.today()
self.nextPayday = self.payCal(payday)
print(f'Employee created. UUID: {self.companyID.hex}')
def payCal(self,payday):
today = datetime.date.today() #dia que foi criado
true_payday = None
if payday == 'weekly':
payday = today + timedelta(days=7)
if payday.weekday() != 4:
time_left = payday.weekday() - 4
true_payday = payday + timedelta(days=time_left)
if payday == 'bi-weekly':
payday = today + timedelta(days=14)
if payday.weekday() != 4:
time_left = payday.weekday() - 4
if time_left < 0:
true_payday = payday + timedelta(days=7-time_left)
elif time_left > 0:
true_payday = payday + timedelta(days=7+time_left)
if payday == 'monthly':
payday = today + timedelta(days=30)
#time_left = payday.weekday() - 4
if payday.weekday() != 4:
time_left = payday.weekday()- 4
if time_left <0:
true_payday = payday + timedelta(days=7-time_left)
elif time_left >0:
true_payday = payday + timedelta(days=7+time_left)
return true_payday
#getters
def getName(self):
return self.name
def getAddress(self):
return self.address
def getType(self):
return self.type
def getID(self):
return self.companyID
def getPayment(self):
return self.paymentMethod
def getUnionStatus(self):
return self.unionStatus
def getUnionFee(self):
return self.unionFee
def getUnionID(self):
return self.unionID
def getCommission(self):
return self.commission
#setters
def setName(self, newName):
self.name = newName
print('Name changed successfully.')
def setAddress(self, newAddress):
self.address = newAddress
print('Address changed successfully.')
def setUnionID(self, newID):
self.unionID = newID
print('UnionID changed successfully.')
def setHourWage(self, newWage):
self.hourWage = newWage
print('Hour wage changed successfully.')
def setSalary(self,newSalary):
self.salary = newSalary
print('Salary changed successfully.')
def setUnionStatus(self, status):
if status:
self.unionStatus = True
else:
self.unionStatus = False
print('Union status changed successfully.')
def setUnionFee(self, newTax):
self.unionFee = newTax
print('Union tax changed successfully')
def setCommission(self, newCom):
self.commission = newCom
print('Commission changed successfully.')
def setType(self,newType):
self.type = newType
def setPayment(self,newPayment):
self.paymentMethod=newPayment
#type changers
# def setType(self, newType, newSalary, newHourWage, newCommission):
# self.salary = newSalary
# self.commission = newCommission
# self.hourWage = newHourWage
# self.type = newType