如何用Python写一个医药管理系统

首先,您需要考虑您的医药管理系统需要哪些功能。这可能包括以下一些功能:

1.药品库存管理

2.药品销售管理

3.药品采购管理

4.客户管理

5.供应商管理

6.销售报告生成

7.采购报告生成

然后,你需要考虑如何使用Python编写这些功能:

1.药品库存管理

您可以创建一个药品类,该类包含药品的名称、数量和价格。您可以使用列表或字典来存储库存。

class Drug:
    def __init__(self, name, quantity, price):
        self.name = name
        self.quantity = quantity
        self.price = price

2.药品销售管理

您可以创建一个销售类,该类包含销售的日期、药品名称和数量。您可以从库存中减去出售的数量。

class Sale:
    def __init__(self, date, drug, quantity):
        self.date = date
        self.drug = drug
        self.quantity = quantity

    def sell_drug(self):
        if self.drug.quantity >= self.quantity:
            self.drug.quantity -= self.quantity
            print(f"Sold {self.quantity} {self.drug.name}(s)")
        else:
            print(f"Not enough {self.drug.name} in stock")

3.药品采购管理

您可以创建一个采购类,该类包含采购的日期、药品名称和数量。您可以将采购的数量添加到库存中。

class Purchase:
    def __init__(self, date, drug, quantity):
        self.date = date
        self.drug = drug
        self.quantity = quantity

    def purchase_drug(self):
        self.drug.quantity += self.quantity
        print(f"Purchased {self.quantity} {self.drug.name}(s)")

4.客户管理

您可以创建一个客户类,该类包含客户的名称和联系方式。您可以使用列表或字典来存储客户。

class Customer:
    def __init__(self, name, contact):
        self.name = name
        self.contact = contact

5.供应商管理

您可以创建一个供应商类,该类包含供应商的名称和联系方式。您可以使用列表或字典来存储供应商。

class Supplier:
    def __init__(self, name, contact):
        self.name = name
        self.contact = contact

6.销售报告生成

您可以创建一个销售报告类,该类可以生成销售报告。您可以使用库存、销售和客户类来生成报告。

class SalesReport:
    def __init__(self, start_date, end_date):
        self.start_date = start_date
        self.end_date = end_date

    def generate_report(self):
        total_sales = 0
        sales_by_drug = {}
        sales_by_customer = {}

        for sale in sales_list:
            if self.start_date <= sale.date <= self.end_date:
                total_sales += sale.quantity * sale.drug.price

                if sale.drug.name in sales_by_drug:
                    sales_by_drug[sale.drug.name] += sale.quantity
                else:
                    sales_by_drug[sale.drug.name] = sale.quantity

                if sale.customer.name in sales_by_customer:
                    sales_by_customer[sale.customer.name] += sale.quantity
                else:
                    sales_by_customer[sale.customer.name] = sale.quantity

        print(f"Sales report from {self.start_date} to {self.end_date}")
        print(f"Total sales: {total_sales}")

        print("Sales by drug:")
        for drug, quantity in sales_by_drug.items():
            print(f"{drug}: {quantity}")

        print("Sales by customer:")
        for customer, quantity in sales_by_customer.items():
            print(f"{customer}: {quantity}")

7.采购报告生成

您可以创建一个采购报告类,该类可以生成采购报告。您可以使用库存、采购和供应商类来生成报告。

class PurchaseReport:
    def __init__(self, start_date, end_date):
        self.start_date = start_date
        self.end_date = end_date

    def generate_report(self):
        total_purchase = 0
        purchase_by_drug = {}
        purchase_by_supplier = {}

        for purchase in purchase_list:
            if self.start_date <= purchase.date <= self.end_date:
                total_purchase += purchase.quantity * purchase.drug.price

                if purchase.drug.name in purchase_by_drug:
                    purchase_by_drug[purchase.drug.name] += purchase.quantity
                else:
                    purchase_by_drug[purchase.drug.name] = purchase.quantity

                if purchase.supplier.name in purchase_by_supplier:
                    purchase_by_supplier[purchase.supplier.name] += purchase.quantity
                else:
                    purchase_by_supplier[purchase.supplier.name] = purchase.quantity

        print(f"Purchase report from {self.start_date} to {self.end_date}")
        print(f"Total purchase: {total_purchase}")

        print("Purchase by drug:")
        for drug, quantity in purchase_by_drug.items():
            print(f"{drug}: {quantity}")

        print("Purchase by supplier:")
        for supplier, quantity in purchase_by_supplier.items():
            print(f"{supplier}: {quantity}")

这只是一个初步的示例,可以需要根据需求和系统设计进行修改和调整。

猜你喜欢

转载自blog.csdn.net/m0_49107591/article/details/129696481
今日推荐