Move all to subDir sustApp
This commit is contained in:
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 331 B |
|
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 250 KiB |
@@ -0,0 +1,4 @@
|
||||
# from .models import Base
|
||||
|
||||
__version__ = "0.0.1"
|
||||
__author__ = "zisco"
|
||||
@@ -23,7 +23,7 @@ def assign_by_reference(payments: Payments_CSV):
|
||||
|
||||
for reference in referenceList:
|
||||
referenceItem = reference.split('-')
|
||||
addPayment(payment, referenceItem[2], referenceItem[0], amount/number_of_references*int(referenceItem[3]))
|
||||
addPayment(payment, referenceItem[2], year=referenceItem[0], amount=amount/number_of_references*int(referenceItem[3]))
|
||||
|
||||
try:
|
||||
db.commit()
|
||||
@@ -32,10 +32,10 @@ def assign_by_reference(payments: Payments_CSV):
|
||||
db.rollback()
|
||||
|
||||
def assign_by_name(payments: Payments_CSV):
|
||||
year = 2024
|
||||
year = 2025 # pc_reference is empty
|
||||
removables = ('Dipl.', 'Ing.', 'Mag.')
|
||||
for payment in payments:
|
||||
logging.debug(f'payment.pc_reference {payment.pc_intended}')
|
||||
logging.debug(f'payment.pc_intended {payment.pc_intended}')
|
||||
name = payment.pc_client.split(' ')
|
||||
for removeable in removables:
|
||||
while removeable in name: name.remove(removeable)
|
||||
@@ -51,7 +51,7 @@ if __name__ == "__main__":
|
||||
|
||||
try:
|
||||
home_directory = os.path.expanduser('~')
|
||||
source_csv = os.path.join(home_directory, "OneDrive", "Dokumente", "SUST", "UmsatzListe_AT493443700000113407 (7)_org.csv")
|
||||
source_csv = os.path.join(home_directory, "OneDrive", "Dokumente", "SUST", "UmsatzListe_AT493443700000113407_20241212_095142_mod.csv")
|
||||
target_csv = source_csv.replace(".csv", "_out.csv")
|
||||
data = Load_Data(source_csv)
|
||||
|
||||
@@ -51,11 +51,15 @@ CREATE UNIQUE INDEX payments_ukey_member_year ON sust.payments USING btree (memb
|
||||
select count(*) from payments_csv where pc_processed = true
|
||||
|
||||
|
||||
select * from payments_csv pc where id = 168
|
||||
select * from payments_csv pc where PC.pc_client like '%Anna%';
|
||||
select * from members mem where mem.member_firstname like '%Anna%';
|
||||
select * from payments p where p.member_id = 58;
|
||||
|
||||
ALTER TABLE payments_csv ADD PRIMARY KEY (id);
|
||||
|
||||
select * from payments p where p.member_id in (132)
|
||||
select * from payments p where p.member_id in (205,206);
|
||||
select * from payments p where date_part('year', p.payment_year) = 2025;
|
||||
|
||||
select pc.pc_reference from payments_csv pc where pc_processed =false order by pc_reference asc
|
||||
|
||||
select m.member_surname, m.member_firstname, m.member_firstname_spouse from members m
|
||||
@@ -64,12 +68,12 @@ select mp.member_surname, mp.member_firstname, mp.member_firstname_spouse from m
|
||||
|
||||
select * from members_paid mp where id = 8
|
||||
|
||||
-- already paid?
|
||||
select * from members_active m
|
||||
-- already paid? TODO: Member "active since?" attribute missing in "member"
|
||||
select m.* from members_active m
|
||||
join deliveries d on d.member_id = m.id
|
||||
where m.id in (select id from members_delivered md
|
||||
where m.id in (select id from members_delivered md
|
||||
except
|
||||
select id from members_paid mp)
|
||||
select id from members_paid mp where mp.payment_year = '2024-01-01')
|
||||
order by delivery_date asc
|
||||
|
||||
insert into deliveries (delivery_date, member_id, delivery_year)
|
||||
@@ -21,7 +21,7 @@ if __name__ == "__main__":
|
||||
|
||||
try:
|
||||
home_directory = os.path.expanduser('~')
|
||||
source_csv = os.path.join(home_directory, "OneDrive", "Dokumente", "SUST", "UmsatzListe_AT493443700000113407_v7.csv")
|
||||
source_csv = os.path.join(home_directory, "OneDrive", "Dokumente", "SUST", "UmsatzListe_AT493443700000113407_20241212_095142_mod_out.csv")
|
||||
data = Load_Data(source_csv)
|
||||
|
||||
tz = timezone('UTC') # Replace with your desired timezone
|
||||
+7959
File diff suppressed because it is too large
Load Diff
@@ -17,8 +17,8 @@ def payment_slip_delivered(member: models.Members, year: int):
|
||||
.count()
|
||||
|
||||
def payment_made(member: models.Members, year: int):
|
||||
return db.query(models.Payments.payment_date)\
|
||||
.filter(models.Payments.member_id == member.id, extract('year', models.Deliveries.delivery_date) == year)\
|
||||
return db.query(models.Payments.payment_year)\
|
||||
.filter(models.Payments.member_id == member.id, extract('year', models.Payments.payment_year) == year)\
|
||||
.count()
|
||||
|
||||
def update_missing_locs():
|
||||
@@ -53,8 +53,6 @@ def checkEmail(email):
|
||||
return False
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.info("An info")
|
||||
logger.warning("A warning")
|
||||
|
||||
#geolocator = Nominatim(user_agent="sust", timeout=10)
|
||||
geolocator = Bing(api_key='ApbTfEJ024nQCu6DC7TPIlqAcRMfZT8lPjAyMnVRcmo9rqxde5x-IS4fW-nGu0FI')
|
||||
@@ -3,6 +3,7 @@ from sqlalchemy.types import TypeDecorator, VARCHAR, Integer
|
||||
from sqlalchemy_utils import EmailType
|
||||
from sqlalchemy.orm import relationship
|
||||
from database import Base
|
||||
|
||||
import datetime
|
||||
|
||||
class NullCatchingString(TypeDecorator):
|
||||
@@ -41,6 +42,7 @@ class Members(Base):
|
||||
created_date = Column(DateTime, default=datetime.datetime.utcnow)
|
||||
updated_date = Column(DateTime, default=datetime.datetime.utcnow)
|
||||
member_died = Column(DateTime)
|
||||
member_membership_start = Column(DateTime)
|
||||
member_printed = Column(Boolean, default=False)
|
||||
#member_coordinates = Column(Geometry(geometry_type='POINT'))
|
||||
member_geo_latitude = Column(Float, nullable=True)
|
||||
@@ -0,0 +1,273 @@
|
||||
table "deliveries" {
|
||||
schema = schema.sust
|
||||
column "id" {
|
||||
null = false
|
||||
type = serial
|
||||
}
|
||||
column "delivery_date" {
|
||||
null = true
|
||||
type = timestamp
|
||||
}
|
||||
column "member_id" {
|
||||
null = true
|
||||
type = integer
|
||||
}
|
||||
column "delivered_by_id" {
|
||||
null = true
|
||||
type = integer
|
||||
}
|
||||
column "delivery_year" {
|
||||
null = true
|
||||
type = date
|
||||
}
|
||||
primary_key {
|
||||
columns = [column.id]
|
||||
}
|
||||
foreign_key "deliveries_member_id_delivered_by_fkey" {
|
||||
columns = [column.delivered_by_id]
|
||||
ref_columns = [table.members.column.id]
|
||||
on_update = NO_ACTION
|
||||
on_delete = NO_ACTION
|
||||
}
|
||||
foreign_key "deliveries_member_id_fkey" {
|
||||
columns = [column.member_id]
|
||||
ref_columns = [table.members.column.id]
|
||||
on_update = NO_ACTION
|
||||
on_delete = NO_ACTION
|
||||
}
|
||||
index "ix_deliveries_delivery_date" {
|
||||
columns = [column.delivery_date]
|
||||
}
|
||||
index "ix_deliveries_id" {
|
||||
columns = [column.id]
|
||||
}
|
||||
unique "deliveries_ukey_member_year" {
|
||||
columns = [column.member_id, column.delivery_year]
|
||||
}
|
||||
}
|
||||
table "members" {
|
||||
schema = schema.sust
|
||||
column "id" {
|
||||
null = false
|
||||
type = serial
|
||||
}
|
||||
column "member_count" {
|
||||
null = true
|
||||
type = integer
|
||||
default = 1
|
||||
}
|
||||
column "member_firstname" {
|
||||
null = true
|
||||
type = character_varying
|
||||
}
|
||||
column "member_firstname_spouse" {
|
||||
null = true
|
||||
type = character_varying
|
||||
}
|
||||
column "member_surname" {
|
||||
null = true
|
||||
type = character_varying
|
||||
}
|
||||
column "member_suffix" {
|
||||
null = true
|
||||
type = character_varying
|
||||
}
|
||||
column "member_street" {
|
||||
null = true
|
||||
type = character_varying
|
||||
}
|
||||
column "member_streetnumber" {
|
||||
null = true
|
||||
type = character_varying
|
||||
}
|
||||
column "member_email" {
|
||||
null = true
|
||||
type = character_varying(255)
|
||||
}
|
||||
column "member_zip" {
|
||||
null = true
|
||||
type = integer
|
||||
}
|
||||
column "member_city" {
|
||||
null = true
|
||||
type = character_varying
|
||||
}
|
||||
column "member_active" {
|
||||
null = true
|
||||
type = boolean
|
||||
default = true
|
||||
}
|
||||
column "member_connected" {
|
||||
null = true
|
||||
type = integer
|
||||
}
|
||||
column "created_date" {
|
||||
null = true
|
||||
type = timestamp
|
||||
default = sql("CURRENT_TIMESTAMP")
|
||||
}
|
||||
column "updated_date" {
|
||||
null = true
|
||||
type = timestamp
|
||||
}
|
||||
column "member_gender" {
|
||||
null = true
|
||||
type = enum.gender
|
||||
}
|
||||
column "member_died" {
|
||||
null = true
|
||||
type = timestamp
|
||||
}
|
||||
column "member_membership_start" {
|
||||
null = true
|
||||
type = timestamp
|
||||
}
|
||||
column "member_printed" {
|
||||
null = true
|
||||
type = boolean
|
||||
}
|
||||
column "member_coordinates" {
|
||||
null = true
|
||||
type = point
|
||||
comment = "UNUSED"
|
||||
}
|
||||
column "member_geo_latitude" {
|
||||
null = true
|
||||
type = numeric
|
||||
}
|
||||
column "member_geo_longitude" {
|
||||
null = true
|
||||
type = numeric
|
||||
}
|
||||
primary_key {
|
||||
columns = [column.id]
|
||||
}
|
||||
foreign_key "members_member_connected_fkey" {
|
||||
columns = [column.member_connected]
|
||||
ref_columns = [table.members.column.id]
|
||||
on_update = NO_ACTION
|
||||
on_delete = NO_ACTION
|
||||
}
|
||||
index "ix_members_id" {
|
||||
columns = [column.id]
|
||||
}
|
||||
index "ix_members_member_city" {
|
||||
columns = [column.member_city]
|
||||
}
|
||||
index "ix_members_member_email" {
|
||||
columns = [column.member_email]
|
||||
}
|
||||
index "ix_members_member_firstname" {
|
||||
columns = [column.member_firstname]
|
||||
}
|
||||
index "ix_members_member_street" {
|
||||
columns = [column.member_street]
|
||||
}
|
||||
index "ix_members_member_surname" {
|
||||
columns = [column.member_surname]
|
||||
}
|
||||
index "ix_members_member_zip" {
|
||||
columns = [column.member_zip]
|
||||
}
|
||||
}
|
||||
table "payments" {
|
||||
schema = schema.sust
|
||||
column "id" {
|
||||
null = false
|
||||
type = serial
|
||||
}
|
||||
column "payment_date" {
|
||||
null = true
|
||||
type = date
|
||||
}
|
||||
column "member_id" {
|
||||
null = true
|
||||
type = integer
|
||||
}
|
||||
column "payment_amount" {
|
||||
null = true
|
||||
type = numeric
|
||||
}
|
||||
column "payment_year" {
|
||||
null = true
|
||||
type = date
|
||||
comment = "Year, for which the payment is intended for."
|
||||
}
|
||||
primary_key {
|
||||
columns = [column.id]
|
||||
}
|
||||
foreign_key "payments_member_id_fkey" {
|
||||
columns = [column.member_id]
|
||||
ref_columns = [table.members.column.id]
|
||||
on_update = NO_ACTION
|
||||
on_delete = NO_ACTION
|
||||
}
|
||||
index "ix_payments_id" {
|
||||
columns = [column.id]
|
||||
}
|
||||
index "ix_payments_payment_date" {
|
||||
columns = [column.payment_date]
|
||||
}
|
||||
index "payments_ukey_member_year" {
|
||||
unique = true
|
||||
columns = [column.member_id, column.payment_year]
|
||||
}
|
||||
}
|
||||
table "payments_csv" {
|
||||
schema = schema.sust
|
||||
column "id" {
|
||||
null = false
|
||||
type = serial
|
||||
}
|
||||
column "pc_valuta_date" {
|
||||
null = true
|
||||
type = date
|
||||
}
|
||||
column "pc_client" {
|
||||
null = true
|
||||
type = character_varying(50)
|
||||
}
|
||||
column "pc_reference" {
|
||||
null = true
|
||||
type = character_varying(50)
|
||||
}
|
||||
column "pc_intended" {
|
||||
null = true
|
||||
type = character_varying(100)
|
||||
}
|
||||
column "pc_iban" {
|
||||
null = true
|
||||
type = character_varying(50)
|
||||
}
|
||||
column "pc_entry_date" {
|
||||
null = true
|
||||
type = date
|
||||
}
|
||||
column "pc_amount" {
|
||||
null = true
|
||||
type = numeric
|
||||
}
|
||||
column "pc_currency" {
|
||||
null = true
|
||||
type = character_varying(3)
|
||||
}
|
||||
column "pc_timestamp" {
|
||||
null = true
|
||||
type = timestamp
|
||||
}
|
||||
column "pc_processed" {
|
||||
null = true
|
||||
type = boolean
|
||||
default = false
|
||||
}
|
||||
primary_key {
|
||||
columns = [column.id]
|
||||
}
|
||||
}
|
||||
enum "gender" {
|
||||
schema = schema.sust
|
||||
values = ["male", "female", "divers"]
|
||||
}
|
||||
schema "sust" {
|
||||
comment = "standard public schema"
|
||||
}
|
||||
Reference in New Issue
Block a user