초기화

This commit is contained in:
2026-07-15 18:37:19 +09:00
commit 94abc5461d
1268 changed files with 380198 additions and 0 deletions
+243
View File
@@ -0,0 +1,243 @@
import mysql.connector
from database.connection import get_db_connection
import logging
# 공급사 추가
def add_supplier_to_db(supplier_data):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
sql = """
INSERT INTO suppliers (name_kr, name_en, business_registration_number, contact_number, address)
VALUES (%s, %s, %s, %s, %s)
"""
cursor.execute(sql, (
supplier_data.get('name_kr'),
supplier_data.get('name_en'),
supplier_data.get('business_registration_number'),
supplier_data.get('contact_number'),
supplier_data.get('address')
))
conn.commit()
return cursor.lastrowid
except mysql.connector.Error as err:
logging.error(f"Error adding supplier: {err}")
return None
# 공급사 수정
def update_supplier_in_db(supplier_data):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
sql = """
UPDATE suppliers SET
name_kr = %s,
name_en = %s,
business_registration_number = %s,
contact_number = %s,
address = %s
WHERE id = %s
"""
cursor.execute(sql, (
supplier_data.get('name_kr'),
supplier_data.get('name_en'),
supplier_data.get('business_registration_number'),
supplier_data.get('contact_number'),
supplier_data.get('address'),
supplier_data.get('id')
))
conn.commit()
return True
except mysql.connector.Error as err:
logging.error(f"Error updating supplier: {err}")
return False
# 공급사 삭제
def delete_supplier_from_db(supplier_id):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
cursor.execute("DELETE FROM purchase_activities WHERE supplier_id = %s", (supplier_id,))
cursor.execute("DELETE FROM supplier_contacts WHERE supplier_id = %s", (supplier_id,))
cursor.execute("DELETE FROM suppliers WHERE id = %s", (supplier_id,))
conn.commit()
return True
except mysql.connector.Error as err:
logging.error(f"Error deleting supplier: {err}")
return False
# 모든 공급사 목록 조회
def get_all_suppliers_from_db():
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
cursor.execute("SELECT id, name_kr, name_en, business_registration_number, contact_number, address FROM suppliers")
return cursor.fetchall()
except mysql.connector.Error as err:
logging.error(f"Error getting all suppliers: {err}")
return []
# 특정 공급사 상세 정보 조회 (담당자, 구매활동 포함)
def get_supplier_details_from_db(supplier_id):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
cursor.execute("SELECT * FROM suppliers WHERE id = %s", (supplier_id,))
supplier_data = cursor.fetchone()
if not supplier_data:
return None
cursor.execute("SELECT * FROM supplier_contacts WHERE supplier_id = %s", (supplier_id,))
contacts_data = cursor.fetchall()
cursor.execute("SELECT * FROM purchase_activities WHERE supplier_id = %s", (supplier_id,))
purchase_activities_data = cursor.fetchall()
return {
"supplier": supplier_data,
"contacts": contacts_data,
"purchaseActivities": purchase_activities_data
}
except mysql.connector.Error as err:
logging.error(f"Error getting supplier details: {err}")
return None
# 공급사 담당자 추가
def add_supplier_contact_to_db(contact_data):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
sql = """
INSERT INTO supplier_contacts (supplier_id, name, email, phone_number, position, work_location)
VALUES (%s, %s, %s, %s, %s, %s)
"""
cursor.execute(sql, (
contact_data.get('supplier_id'),
contact_data.get('name'),
contact_data.get('email'),
contact_data.get('phone_number'),
contact_data.get('position'),
contact_data.get('work_location')
))
conn.commit()
return cursor.lastrowid
except mysql.connector.Error as err:
logging.error(f"Error adding supplier contact: {err}")
return None
# 공급사 담당자 수정
def update_supplier_contact_in_db(contact_data):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
sql = """
UPDATE supplier_contacts SET
name = %s, email = %s, phone_number = %s, position = %s, work_location = %s
WHERE id = %s
"""
cursor.execute(sql, (
contact_data.get('name'),
contact_data.get('email'),
contact_data.get('phone_number'),
contact_data.get('position'),
contact_data.get('work_location'),
contact_data.get('id')
))
conn.commit()
return True
except mysql.connector.Error as err:
logging.error(f"Error updating supplier contact: {err}")
return False
# 공급사 담당자 삭제
def delete_supplier_contact_from_db(contact_id):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
cursor.execute("DELETE FROM supplier_contacts WHERE id = %s", (contact_id,))
conn.commit()
return True
except mysql.connector.Error as err:
logging.error(f"Error deleting supplier contact: {err}")
return False
# 공급사 담당자 ID로 공급사 ID 조회
def get_supplier_id_from_contact_id(contact_id):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
cursor.execute("SELECT supplier_id FROM supplier_contacts WHERE id = %s", (contact_id,))
result = cursor.fetchone()
return result['supplier_id'] if result else None
except mysql.connector.Error as err:
logging.error(f"Error getting supplier ID from contact: {err}")
return None
# 구매 활동 추가
def add_purchase_activity_to_db(activity_data):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
sql = """
INSERT INTO purchase_activities (supplier_id, contact_id, activity_date, activity_type, memo)
VALUES (%s, %s, %s, %s, %s)
"""
cursor.execute(sql, (
activity_data.get('supplier_id'),
activity_data.get('contact_id'),
activity_data.get('activity_date'),
activity_data.get('activity_type'),
activity_data.get('memo')
))
conn.commit()
return cursor.lastrowid
except mysql.connector.Error as err:
logging.error(f"Error adding purchase activity: {err}")
return None
# 구매 활동 수정
def update_purchase_activity_in_db(activity_data):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
sql = """
UPDATE purchase_activities SET
contact_id = %s, activity_date = %s, activity_type = %s, memo = %s
WHERE id = %s
"""
cursor.execute(sql, (
activity_data.get('contact_id'),
activity_data.get('activity_date'),
activity_data.get('activity_type'),
activity_data.get('memo'),
activity_data.get('id')
))
conn.commit()
return True
except mysql.connector.Error as err:
logging.error(f"Error updating purchase activity: {err}")
return False
# 구매 활동 삭제
def delete_purchase_activity_from_db(activity_id):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
cursor.execute("DELETE FROM purchase_activities WHERE id = %s", (activity_id,))
conn.commit()
return True
except mysql.connector.Error as err:
logging.error(f"Error deleting purchase activity: {err}")
return False
# 구매 활동 ID로 공급사 ID 조회
def get_supplier_id_from_purchase_activity_id(activity_id):
try:
with get_db_connection() as conn:
with conn.cursor(dictionary=True) as cursor:
cursor.execute("SELECT supplier_id FROM purchase_activities WHERE id = %s", (activity_id,))
result = cursor.fetchone()
return result['supplier_id'] if result else None
except mysql.connector.Error as err:
logging.error(f"Error getting supplier ID from purchase activity: {err}")
return None