Initial commit
This commit is contained in:
115
services/contractors.py
Normal file
115
services/contractors.py
Normal file
@@ -0,0 +1,115 @@
|
||||
def get_contractors(conn):
|
||||
|
||||
cursor = conn.cursor()
|
||||
|
||||
cursor.execute("""
|
||||
SELECT id, name
|
||||
FROM contractors
|
||||
WHERE active = 1
|
||||
ORDER BY name
|
||||
""")
|
||||
|
||||
return cursor.fetchall()
|
||||
|
||||
|
||||
def get_all_contractors(conn):
|
||||
|
||||
cursor = conn.cursor()
|
||||
|
||||
cursor.execute("""
|
||||
SELECT id, name, active
|
||||
FROM contractors
|
||||
ORDER BY name
|
||||
""")
|
||||
|
||||
return cursor.fetchall()
|
||||
|
||||
|
||||
def add_contractor(conn, name):
|
||||
|
||||
cursor = conn.cursor()
|
||||
|
||||
cursor.execute("""
|
||||
INSERT OR IGNORE INTO contractors(name)
|
||||
VALUES(?)
|
||||
""", (name,))
|
||||
|
||||
conn.commit()
|
||||
return cursor.rowcount > 0
|
||||
|
||||
|
||||
def add_contractors_bulk(conn, text):
|
||||
cursor = conn.cursor()
|
||||
added = 0
|
||||
exists = 0
|
||||
|
||||
for line in text.splitlines():
|
||||
name = line.strip()
|
||||
if not name:
|
||||
continue
|
||||
|
||||
cursor.execute(
|
||||
"""
|
||||
INSERT OR IGNORE INTO contractors(name)
|
||||
VALUES(?)
|
||||
""",
|
||||
(name,),
|
||||
)
|
||||
|
||||
if cursor.rowcount:
|
||||
added += 1
|
||||
else:
|
||||
exists += 1
|
||||
|
||||
conn.commit()
|
||||
return added, exists
|
||||
|
||||
|
||||
def activate_contractor(conn, contractor_id):
|
||||
|
||||
cursor = conn.cursor()
|
||||
|
||||
cursor.execute("""
|
||||
UPDATE contractors
|
||||
SET active = 1
|
||||
WHERE id = ?
|
||||
""", (contractor_id,))
|
||||
|
||||
conn.commit()
|
||||
|
||||
|
||||
def disable_contractor(conn, contractor_id):
|
||||
|
||||
cursor = conn.cursor()
|
||||
|
||||
cursor.execute("""
|
||||
UPDATE contractors
|
||||
SET active = 0
|
||||
WHERE id = ?
|
||||
""", (contractor_id,))
|
||||
|
||||
conn.commit()
|
||||
|
||||
|
||||
def delete_contractor(conn, contractor_id):
|
||||
|
||||
cursor = conn.cursor()
|
||||
|
||||
cursor.execute(
|
||||
"""
|
||||
UPDATE documents_1c
|
||||
SET contractor_id = NULL
|
||||
WHERE contractor_id = ?
|
||||
""",
|
||||
(contractor_id,),
|
||||
)
|
||||
|
||||
cursor.execute(
|
||||
"""
|
||||
DELETE FROM contractors
|
||||
WHERE id = ?
|
||||
""",
|
||||
(contractor_id,),
|
||||
)
|
||||
|
||||
conn.commit()
|
||||
Reference in New Issue
Block a user