最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

基于Python+Django實現(xiàn)藥品管理系統(tǒng)

2022-02-26 13:07 作者:指南針畢業(yè)設計  | 我要投稿

?作者主頁:編程指南針


?簡介:Java領域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家? Java項目、簡歷模板、學習資料、面試題庫、技術互助

文末獲取源碼

項目編號:BS-Python-001

技術架構(gòu):Python+Django

前端:Boostrap

開發(fā)工具:IDEA

數(shù)據(jù)庫:sqlite

項目實現(xiàn)的功能:

?? 用戶分三個角色:管理員、倉庫管理員、經(jīng)銷商管理員

主要實現(xiàn)的功能包含:藥品的進銷存操作、客戶管理、供應商管理、經(jīng)營數(shù)據(jù)統(tǒng)計、數(shù)據(jù)導出、系統(tǒng)管理等模塊

具體功能展示如下:


庫存管理



客戶管理



供應商管理


經(jīng)營統(tǒng)計分析


數(shù)據(jù)導出


系統(tǒng)管理



數(shù)據(jù)打印


部分核心代碼:

from datetime import datetimeimport timefrom django.http.response import FileResponsefrom django.shortcuts import render, redirectfrom hnyhms_app.models import *import pandas as pd# 首頁def index(request): ? ?return render(request, 'index.html', context={'flag': True})# 登錄def login(request): ? ?# 用戶登錄信息判斷 ? ?if request.method == "POST": ? ? ? ?# 獲取用戶登錄信息 ? ? ? ?username = request.POST.get('username') ? ? ? ?userpass = request.POST.get('userpass') ? ? ? ?# 查詢用戶信息 ? ? ? ?admin_user = Admin_users.objects.filter(au_account=username, au_pwd=userpass).first() ? ? ? ?if admin_user: ? ? ? ? ? ?rep = redirect('/adminpage') ? ? ? ? ? ?rep.set_cookie('adminuser', username) ? ? ? ? ? ?rep.set_cookie('au_role', admin_user.au_role) ? ? ? ? ? ?return rep ? ?rep = render(request, 'index.html', context={'flag': False}) ? ?rep.delete_cookie("adminuser") ? ?return rep# 退出登錄def outlogin(request): ? ?rep = redirect('/') ? ?rep.delete_cookie("adminuser") ? ?return rep# 管理頁面def admin(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?if adminuser is not None: ? ? ? ?# 登錄用戶信息 ? ? ? ?admin_user = Admin_users.objects.get(au_account=adminuser) ? ? ? ?admin_user_name = admin_user.au_name ? ? ? ?admin_user_role = admin_user.au_role ? ? ? ?if admin_user_role == 1: ? ? ? ? ? ?return render(request, 'admin_1.html', context={'admin_user_name': admin_user_name}) ? ? ? ?if admin_user_role == 2: ? ? ? ? ? ?return render(request, 'admin_2.html', context={'admin_user_name': admin_user_name}) ? ? ? ?if admin_user_role == 3: ? ? ? ? ? ?return render(request, 'admin_3.html', context={'admin_user_name': admin_user_name}) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403) ? ?# 庫存管理def kcpg(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?# 判斷是否有查詢信息 ? ? ? ?if request.GET.get('s') is None or request.GET.get('s') == '': ? ? ? ? ? ?# 返回全部列表 ? ? ? ? ? ?medicines_list = Medicines.objects.all().values() ? ? ? ? ? ?customers_suppliers = Customers_suppliers.objects.filter(cs_attitude='供應商').values() ? ? ? ? ? ?warehouse_record = Warehouse_record.objects.all() ? ? ? ? ? ?context = {'medicines': medicines_list, 'customers_suppliers': customers_suppliers, 'warehouse_record': warehouse_record} ? ? ? ? ? ?return render(request, 'funcpage/kcpg.html', context=context) ? ? ? ?# 返回符合查詢內(nèi)容的列表 ? ? ? ?medicines_list = Medicines.objects.filter(medicine_name__contains=request.GET.get('s')).values() ? ? ? ?customers_suppliers = Customers_suppliers.objects.filter(cs_attitude='供應商').values() ? ? ? ?warehouse_record = Warehouse_record.objects.all().values() ? ? ? ?context = {'medicines': medicines_list, 'customers_suppliers': customers_suppliers, 'warehouse_record': warehouse_record} ? ? ? ?return render(request, 'funcpage/kcpg.html', context=context) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 藥品入庫頁面def in_medicine(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?medicine_id = request.GET.get('id') ? ? ? ?medicine_data = list(Medicines.objects.filter(id=medicine_id).values())[0] ? ? ? ?customers_suppliers = Customers_suppliers.objects.filter(cs_attitude='供應商').values() ? ? ? ?return render(request, 'funcpage/in_medicine.html', context={'medicine_data': medicine_data, 'customers_suppliers': customers_suppliers}) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 藥品出庫def out_medicine(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?medicine_id = request.GET.get('id') ? ? ? ?medicine_data = list(Medicines.objects.filter(id=medicine_id).values())[0] ? ? ? ?customers_suppliers = Customers_suppliers.objects.filter(cs_attitude='客戶').values() ? ? ? ?return render(request, 'funcpage/out_medicine.html', context={'medicine_data': medicine_data, 'customers_suppliers': customers_suppliers}) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 藥品入庫保存def in_medicine_save(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?medicine = Medicines.objects.filter(id=request.POST.get('id')) ? ? ? ?medicine.update(medicine_quantity = medicine[0].medicine_quantity + float(request.POST.get('medicine_quantity'))) ? ? ? ?# 進貨金額計算 ? ? ? ?in_amount = float(request.POST.get('medicine_quantity')) * float(request.POST.get('medicine_purchase')) ? ? ? ? ? ? ? ?# 添加入庫記錄 ? ? ? ?warehouse_record = Warehouse_record(wr_in_out = '入庫', ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_quantity = request.POST.get('medicine_quantity'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_cs_name = request.POST.get('medicine_suppliers'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_admin_name = request.COOKIES.get('adminuser'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_medicine_name = request.POST.get('medicine_name'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_in_out_time = time.strftime("%Y-%m-%d", time.localtime()), ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_amount = in_amount) ? ? ? ?warehouse_record.save() ? ? ? ?return redirect('/kcpg') ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 藥品出庫保存def out_medicine_save(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?medicine = Medicines.objects.filter(id=request.POST.get('id')) ? ? ? ?if medicine[0].medicine_quantity >= float(request.POST.get('medicine_quantity')): ? ? ? ? ? ?medicine.update(medicine_quantity = medicine[0].medicine_quantity - float(request.POST.get('medicine_quantity'))) ? ? ? ? ? ?# 出貨金額計算 ? ? ? ? ? ?out_amount = float(request.POST.get('medicine_quantity')) * float(request.POST.get('medicine_selling')) ? ? ? ? ? ? ? ? ? ? ? ?# 添加出庫記錄 ? ? ? ? ? ?warehouse_record = Warehouse_record(wr_in_out = '出庫', ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_quantity = request.POST.get('medicine_quantity'), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_cs_name = request.POST.get('medicine_suppliers'), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_admin_name = request.COOKIES.get('adminuser'), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_medicine_name = request.POST.get('medicine_name'), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_in_out_time = time.strftime("%Y-%m-%d", time.localtime()), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wr_amount = out_amount) ? ? ? ? ? ?warehouse_record.save() ? ? ? ? ? ?return redirect('/kcpg') ? ? ? ?else: ? ? ? ? ? ?return render(request, 'funcpage/error.html', context={'info': '庫存數(shù)量已不夠出庫,請返回或重新填寫出庫數(shù)量', 'up': '/kcpg'}, status=403) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 新增藥品保存def add_medicine(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?# 藥品保存 ? ? ? ?medicine = Medicines(medicine_name = request.POST.get('medicine_name'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?medicine_manufacturers = request.POST.get('medicine_manufacturers'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?medicine_trademark = request.POST.get('medicine_trademark'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?medicine_production_address = request.POST.get('medicine_production_address'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?medicine_code = request.POST.get('medicine_code'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?medicine_specification = request.POST.get('medicine_specification'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?medicine_purchase = request.POST.get('medicine_purchase'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?medicine_selling = request.POST.get('medicine_selling')) ? ? ? ?medicine.save() ? ? ? ?return redirect("/kcpg") ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 藥品編輯頁面def edit_medicine_page(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?medicine_id = request.GET.get('id') ? ? ? ?medicine_data = list(Medicines.objects.filter(id=medicine_id).values())[0] ? ? ? ?return render(request, 'funcpage/edit_medicine.html', context={'medicine_data': medicine_data}) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 藥品編輯保存def edit_medicine_save(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?medicine = Medicines.objects.filter(id=request.POST.get('id')) ? ? ? ?medicine.update(medicine_name=request.POST.get('medicine_name'), ? ? ? ? ? ? ? ? ? ? ? ?medicine_manufacturers = request.POST.get('medicine_manufacturers'), ? ? ? ? ? ? ? ? ? ? ? ?medicine_trademark = request.POST.get('medicine_trademark'), ? ? ? ? ? ? ? ? ? ? ? ?medicine_production_address = request.POST.get('medicine_production_address'), ? ? ? ? ? ? ? ? ? ? ? ?medicine_code = request.POST.get('medicine_code'), ? ? ? ? ? ? ? ? ? ? ? ?medicine_specification = request.POST.get('medicine_specification'), ? ? ? ? ? ? ? ? ? ? ? ?medicine_purchase = request.POST.get('medicine_purchase'), ? ? ? ? ? ? ? ? ? ? ? ?medicine_selling = request.POST.get('medicine_selling')) ? ? ? ?return redirect('/kcpg') ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 刪除庫存def del_medicine(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 2): ? ? ? ?medicine = Medicines.objects.get(id = request.GET.get('id')) ? ? ? ?medicine.delete() ? ? ? ?return redirect("/kcpg") ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 客戶管理def khpg(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?# 判斷是否有查詢信息 ? ? ? ?if request.GET.get('s') is None or request.GET.get('s') == '': ? ? ? ? ? ?customers_suppliers = Customers_suppliers.objects.filter( ? ? ? ? ? ?cs_attitude='客戶').values() ? ? ? ? ? ?context = {'customers_suppliers': customers_suppliers} ? ? ? ? ? ?return render(request, 'funcpage/khpg.html', context=context) ? ? ? ?# 返回符合查詢內(nèi)容的列表 ? ? ? ?customers_suppliers = Customers_suppliers.objects.filter(cs_unit__contains = request.GET.get('s')).values() ? ? ? ?context = {'customers_suppliers': customers_suppliers} ? ? ? ?return render(request, 'funcpage/khpg.html', context=context) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 新增客戶def add_customers(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?customers = Customers_suppliers(cs_attitude = request.POST.get('cs_attitude'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_postCode = request.POST.get('cs_postCode'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_address = request.POST.get('cs_address'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_tel = request.POST.get('cs_tel'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_unit = request.POST.get('cs_unit'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_name = request.POST.get('cs_name')) ? ? ? ?customers.save() ? ? ? ?return redirect("/khpg") ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 客戶編輯頁面def edit_customers_page(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?customers_id = request.GET.get('id') ? ? ? ?customers_data = list(Customers_suppliers.objects.filter(id=customers_id).values())[0] ? ? ? ?return render(request, 'funcpage/edit_customers.html', context=customers_data) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 客戶編輯保存def edit_customers_save(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?medicine = Customers_suppliers.objects.filter(id=request.POST.get('id')) ? ? ? ?medicine.update(cs_postCode=request.POST.get('cs_postCode'), ? ? ? ? ? ? ? ? ? ? ? ?cs_address = request.POST.get('cs_address'), ? ? ? ? ? ? ? ? ? ? ? ?cs_tel = request.POST.get('cs_tel'), ? ? ? ? ? ? ? ? ? ? ? ?cs_unit = request.POST.get('cs_unit'), ? ? ? ? ? ? ? ? ? ? ? ?cs_name = request.POST.get('cs_name')) ? ? ? ?return redirect('/khpg') ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 刪除客戶def del_customers(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?customers_suppliers = Customers_suppliers.objects.get(id = request.GET.get('id')) ? ? ? ?customers_suppliers.delete() ? ? ? ?return redirect("/khpg") ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 供應商管理def gyspg(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?# 判斷是否有查詢信息 ? ? ? ?if request.GET.get('s') is None or request.GET.get('s') == '': ? ? ? ? ? ?customers_suppliers = Customers_suppliers.objects.filter( ? ? ? ? ? ?cs_attitude='供應商').values() ? ? ? ? ? ?context = {'customers_suppliers': customers_suppliers} ? ? ? ? ? ?return render(request, 'funcpage/gyspg.html', context=context) ? ? ? ?# 返回符合查詢內(nèi)容的列表 ? ? ? ?customers_suppliers = Customers_suppliers.objects.filter(cs_unit__contains = request.GET.get('s')).values() ? ? ? ?context = {'customers_suppliers': customers_suppliers} ? ? ? ?return render(request, 'funcpage/gyspg.html', context=context) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 新增供應商def add_suppliers(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?suppliers = Customers_suppliers(cs_attitude = request.POST.get('cs_attitude'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_postCode = request.POST.get('cs_postCode'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_address = request.POST.get('cs_address'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_tel = request.POST.get('cs_tel'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_unit = request.POST.get('cs_unit'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?cs_name = request.POST.get('cs_name')) ? ? ? ?suppliers.save() ? ? ? ?return redirect("/gyspg") ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 供應商編輯頁面def edit_suppliers_page(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?suppliers_id = request.GET.get('id') ? ? ? ?suppliers_data = list(Customers_suppliers.objects.filter(id=suppliers_id).values())[0] ? ? ? ?return render(request, 'funcpage/edit_suppliers.html', context=suppliers_data) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 供應商編輯保存def edit_suppliers_save(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?suppliers = Customers_suppliers.objects.filter(id=request.POST.get('id')) ? ? ? ?suppliers.update(cs_postCode=request.POST.get('cs_postCode'), ? ? ? ? ? ? ? ? ? ? ? ?cs_address = request.POST.get('cs_address'), ? ? ? ? ? ? ? ? ? ? ? ?cs_tel = request.POST.get('cs_tel'), ? ? ? ? ? ? ? ? ? ? ? ?cs_unit = request.POST.get('cs_unit'), ? ? ? ? ? ? ? ? ? ? ? ?cs_name = request.POST.get('cs_name')) ? ? ? ?return redirect('/gyspg') ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 刪除供應商def del_suppliers(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1 or admin_user_role == 3): ? ? ? ?customers_suppliers = Customers_suppliers.objects.get(id = request.GET.get('id')) ? ? ? ?customers_suppliers.delete() ? ? ? ?return redirect("/gyspg") ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 統(tǒng)計分析def tjpg(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?try: ? ? ? ? ? ?# 年銷售額/成本/占比 ? ? ? ? ? ?# 年數(shù)據(jù) ? ? ? ? ? ?year_data = {} ? ? ? ? ? ?now_year = datetime.now().year ? ? ? ? ? ?year_in_warehouse_record = pd.DataFrame(Warehouse_record.objects.filter(wr_in_out = '入庫', wr_in_out_time__year = now_year).values()) ? ? ? ? ? ?year_out_warehouse_record = pd.DataFrame(Warehouse_record.objects.filter(wr_in_out = '出庫', wr_in_out_time__year = now_year).values()) ? ? ? ? ? ?# 年收入 ? ? ? ? ? ?year_data['year_income'] = sum(year_out_warehouse_record['wr_amount']) ? ? ? ? ? ?# 年支出 ? ? ? ? ? ?year_data['year_expenditure'] = sum(year_in_warehouse_record['wr_amount']) ? ? ? ? ? ?# 年利潤 ? ? ? ? ? ?year_data['year_profit'] = year_data['year_income'] - year_data['year_expenditure'] ? ? ? ? ? ?# 年盈虧比 ? ? ? ? ? ?year_data['year_ratio'] = round((year_data['year_profit'] / year_data['year_expenditure']) * 100, 3) ? ? ? ? ? ? ? ? ? ? ? ?# 月銷售額/成本/占比 ? ? ? ? ? ?# 月數(shù)據(jù) ? ? ? ? ? ?month_data = {} ? ? ? ? ? ?now_month = datetime.now().month ? ? ? ? ? ?month_in_warehouse_record = pd.DataFrame(Warehouse_record.objects.filter(wr_in_out = '入庫', wr_in_out_time__month = now_month).values()) ? ? ? ? ? ?month_out_warehouse_record = pd.DataFrame(Warehouse_record.objects.filter(wr_in_out = '出庫', wr_in_out_time__month = now_month).values()) ? ? ? ? ? ?# 月收入 ? ? ? ? ? ?month_data['month_income'] = sum(month_out_warehouse_record['wr_amount']) ? ? ? ? ? ?# 月支出 ? ? ? ? ? ?month_data['month_expenditure'] = sum(month_in_warehouse_record['wr_amount']) ? ? ? ? ? ?# 月利潤 ? ? ? ? ? ?month_data['month_profit'] = month_data['month_income'] - month_data['month_expenditure'] ? ? ? ? ? ?# 月盈虧比 ? ? ? ? ? ?month_data['month_ratio'] = round((month_data['month_profit'] / month_data['month_expenditure']) * 100, 3) ? ? ? ? ? ? ? ? ? ? ? ?# 藥品排行 ? ? ? ? ? ?medicine_ranking = {} ? ? ? ? ? ?# 年藥品排行 ? ? ? ? ? ?year_medicine = pd.DataFrame(Warehouse_record.objects.filter(wr_in_out = '出庫', wr_in_out_time__year = now_year).values()) ? ? ? ? ? ?year_medicine = year_medicine.sort_values('wr_amount') ? ? ? ? ? ?year_medicine_ranking = year_medicine.groupby(['wr_medicine_name'])['wr_amount'].sum()[::-1] ? ? ? ? ? ?medicine_ranking['year_medicine_ranking'] = year_medicine_ranking.to_dict() ? ? ? ? ? ? ? ? ? ? ? ?# 月藥品排行 ? ? ? ? ? ?month_medicine = pd.DataFrame(Warehouse_record.objects.filter(wr_in_out = '出庫', wr_in_out_time__month = now_month).values()) ? ? ? ? ? ?month_medicine = month_medicine.sort_values('wr_amount') ? ? ? ? ? ?month_medicine_ranking = month_medicine.groupby(['wr_medicine_name'])['wr_amount'].sum()[::-1] ? ? ? ? ? ?medicine_ranking['month_medicine_ranking'] = month_medicine_ranking.to_dict() ? ? ? ? ? ?# 盈利虧損情況 ? ? ? ? ? ?pl = {} ? ? ? ? ? ?pl['year'] = True ? ? ? ? ? ?pl['month'] = True ? ? ? ? ? ? ? ? ? ? ? ?if year_data['year_profit'] < 0: ? ? ? ? ? ? ? ?pl['year'] = False ? ? ? ? ? ? ? ? ? ? ? ? ? ?if month_data['month_profit'] < 0: ? ? ? ? ? ? ? ?pl['month'] = False ? ? ? ? ? ? ? ? ? ? ? ? ? ?context = {'year_data': year_data, 'month_data': month_data, 'medicine_ranking': medicine_ranking, 'pl': pl} ? ? ? ? ? ?return render(request, 'funcpage/tjpg.html', context=context) ? ? ? ?except: ? ? ? ? ? ?return render(request, 'funcpage/error.html', context={'info': '現(xiàn)有出入庫數(shù)據(jù)無法進行統(tǒng)計分析!', 'up': ''}) ? ? ? ? ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 庫存數(shù)據(jù)下載def down_kc(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?# 生成數(shù)據(jù)文件 ? ? ? ?data = pd.DataFrame(Medicines.objects.all().values()) ? ? ? ?data.to_excel('hnyhms_app/data_file/kc_data.xls', index=False) ? ? ? ?# 返回文件 ? ? ? ?file = open('hnyhms_app/data_file/kc_data.xls', 'rb') ? ? ? ?response = FileResponse(file) ? ? ? ?response['Content-Type'] = 'application/octet-stream' ? ? ? ?response['Content-Disposition'] = 'attachment;filename="kc_data_' + datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S') + '.xls"' ? ? ? ?return response ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限下載文件!', 'up': '/'}) ? ?# 出入庫記錄下載def down_io(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?# 生成數(shù)據(jù)文件 ? ? ? ?data = pd.DataFrame(Warehouse_record.objects.all().values()) ? ? ? ?data.to_excel('hnyhms_app/data_file/io_data.xls', index=False) ? ? ? ?# 返回文件 ? ? ? ?file = open('hnyhms_app/data_file/io_data.xls', 'rb') ? ? ? ?response = FileResponse(file) ? ? ? ?response['Content-Type'] = 'application/octet-stream' ? ? ? ?response['Content-Disposition'] = 'attachment;filename="io_data_' + datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S') + '.xls"' ? ? ? ?return response ? ? ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限下載文件!', 'up': '/'})# 客戶數(shù)據(jù)下載def down_kh(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?# 生成數(shù)據(jù)文件 ? ? ? ?data = pd.DataFrame(Customers_suppliers.objects.filter(cs_attitude='客戶').values()) ? ? ? ?data.to_excel('hnyhms_app/data_file/cs_data.xls', index=False) ? ? ? ?# 返回文件 ? ? ? ?file = open('hnyhms_app/data_file/cs_data.xls', 'rb') ? ? ? ?response = FileResponse(file) ? ? ? ?response['Content-Type'] = 'application/octet-stream' ? ? ? ?response['Content-Disposition'] = 'attachment;filename="cs_data_' + datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S') + '.xls"' ? ? ? ?return response ? ? ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限下載文件!', 'up': '/'})# 供應商數(shù)據(jù)下載def down_gys(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?# 生成數(shù)據(jù)文件 ? ? ? ?data = pd.DataFrame(Customers_suppliers.objects.filter(cs_attitude='供應商').values()) ? ? ? ?data.to_excel('hnyhms_app/data_file/gys_data.xls', index=False) ? ? ? ?# 返回文件 ? ? ? ?file = open('hnyhms_app/data_file/gys_data.xls', 'rb') ? ? ? ?response = FileResponse(file) ? ? ? ?response['Content-Type'] = 'application/octet-stream' ? ? ? ?response['Content-Disposition'] = 'attachment;filename="gys_data_' + datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S') + '.xls"' ? ? ? ?return response ? ? ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限下載文件!', 'up': '/'})# 系統(tǒng)管理def xtpg(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?admin_users = Admin_users.objects.all().values() ? ? ? ?context = {'admin_users': admin_users} ? ? ? ?return render(request, 'funcpage/xtpg.html', context=context) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 新增管理員def add_admin_users(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?admin_users = Admin_users(au_name = request.POST.get('au_name'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?au_account = request.POST.get('au_account'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?au_pwd = request.POST.get('au_pwd'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?au_role = request.POST.get('au_role'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?au_tel = request.POST.get('au_tel')) ? ? ? ?admin_users.save() ? ? ? ?return redirect("/xtpg") ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 管理員編輯頁面def edit_admin_page(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?admin_id = request.GET.get('id') ? ? ? ?admin_data = list(Admin_users.objects.filter(id=admin_id).values())[0] ? ? ? ?return render(request, 'funcpage/edit_admin.html', context=admin_data) ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 管理員編輯保存def edit_admin_save(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?admin = Admin_users.objects.filter(id=request.POST.get('id')) ? ? ? ?if request.POST.get('au_pwd') == '': ? ? ? ? ? ?admin.update(au_name=request.POST.get('au_name'), ? ? ? ? ? ? ? ? ? ? ? ?au_account = request.POST.get('au_account'), ? ? ? ? ? ? ? ? ? ? ? ?au_role = request.POST.get('au_role'), ? ? ? ? ? ? ? ? ? ? ? ?au_tel = request.POST.get('au_tel')) ? ? ? ?else: ? ? ? ? ? ?admin.update(au_name=request.POST.get('au_name'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?au_account = request.POST.get('au_account'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?au_pwd = request.POST.get('au_pwd'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?au_role = request.POST.get('au_role'), ? ? ? ? ? ? ? ? ? ? ? ? ? ?au_tel = request.POST.get('au_tel')) ? ? ? ?return redirect('/xtpg') ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)# 刪除管理員def del_adminuser(request): ? ?# 收到瀏覽器的再次請求,判斷瀏覽器攜帶的cookie是不是登錄成功的時候響應的cookie ? ?adminuser = request.COOKIES.get('adminuser') ? ?# 權(quán)限判斷 ? ?admin_user_role = Admin_users.objects.get(au_account = adminuser).au_role ? ?if adminuser is not None and (admin_user_role == 1): ? ? ? ?admin_users = Admin_users.objects.get(id = request.GET.get('id')) ? ? ? ?admin_users.delete() ? ? ? ?return redirect("/xtpg") ? ?return render(request, 'funcpage/error.html', context={'info': '您沒有權(quán)限訪問該頁面!', 'up': '/'}, status=403)


from django.db import models# Create your models here.# 管理員class Admin_users(models.Model): ? ?au_name = models.CharField('姓名', max_length=30) ? ?au_account = models.CharField('賬號', max_length=30) ? ?au_pwd = models.CharField('密碼', max_length=30) ? ?au_role = models.IntegerField('角色', default=2) ? ?au_tel = models.CharField('電話', max_length=30) ? ?def __str__(self): ? ? ? ?return self.au_name ? ?class Meta: ? ? ? ?verbose_name = '管理員' ? ? ? ?verbose_name_plural = '管理員'# 供應商和客戶class Customers_suppliers(models.Model): ? ?cs_attitude = models.CharField('供應商/客戶', max_length=20) ? ?cs_postCode = models.IntegerField('郵編', default=0) ? ?cs_address = models.CharField('地址', max_length=50) ? ?cs_tel = models.CharField('電話', max_length=20) ? ?cs_unit = models.CharField('單位', max_length=30) ?# 單位 ? ?cs_name = models.CharField('聯(lián)系人', max_length=30) ?# 聯(lián)系人 ? ? ? ?def __str__(self): ? ? ? ?return self.cs_unit ? ?class Meta: ? ? ? ?verbose_name = '供應商和客戶' ? ? ? ?verbose_name_plural = '供應商和客戶'# 藥品class Medicines(models.Model): ? ?medicine_name = models.CharField('藥品名', max_length=30) ? ?medicine_manufacturers = models.CharField('生產(chǎn)商', max_length=30) ?# 生產(chǎn)商 ? ?medicine_trademark = models.CharField('品牌', max_length=30) ?# 品牌 ? ?medicine_production_address = models.CharField('生產(chǎn)地址', max_length=50) ?# 生產(chǎn)地址 ? ?medicine_code = models.CharField('條碼號', max_length=30) ? ?medicine_specification = models.CharField('規(guī)格', max_length=20) ?# 規(guī)格 ? ?medicine_purchase = models.FloatField('進貨價', default=0) ?# 進貨價 ? ?medicine_selling = models.FloatField('出售價', default=0) ?# 出售價 ? ?medicine_quantity = models.IntegerField('數(shù)量', default=0) ?# 出售價 ? ?def __str__(self): ? ? ? ?return self.medicine_name ? ?class Meta: ? ? ? ?verbose_name = '藥品' ? ? ? ?verbose_name_plural = '藥品'# 出入庫class Warehouse_record(models.Model): ? ?wr_in_out = models.CharField('入庫/出庫', max_length=20) ? ?wr_quantity = models.IntegerField('數(shù)量', default=0) ?# 出入庫量 ? ?wr_cs_name = models.CharField('供應商/客戶', max_length=20) ? ?wr_admin_name = models.CharField('記錄管理員', max_length=20) ? ?wr_medicine_name = models.CharField('藥品名', max_length=20) ? ?wr_in_out_time = models.DateField('時間', auto_now=True) ? ?wr_amount = models.FloatField('金額', default=0) ? ?class Meta: ? ? ? ?verbose_name = '出入庫記錄' ? ? ? ?verbose_name_plural = '出入庫記錄'






基于Python+Django實現(xiàn)藥品管理系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
濮阳县| 土默特右旗| 包头市| 昌吉市| 武汉市| 田东县| 原阳县| 旌德县| 高清| 吴旗县| 雷波县| 赤壁市| 金阳县| 蒙山县| 砀山县| 东海县| 巴塘县| 镶黄旗| 蓬安县| 松原市| 綦江县| 五台县| 海丰县| 顺义区| 蒙阴县| 西宁市| 大港区| 安庆市| 沁源县| 泰顺县| 措美县| 唐山市| 新民市| 抚州市| 孟连| 房山区| 林周县| 方山县| 葫芦岛市| 册亨县| 兴安县|