def finance(request): # 判断是否登录 context = { 'page': 'homepage_update', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') context['username'] = username else: return login(request) year = request.POST.get('time1') month = request.POST.get('time2') id = request.session.get('storeid') Orders_ = Orders.objects.filter(drugstore=id) order_y_m = [] for order in Orders_: if year and month: if order.time.strftime('%Y%m') == str(year) + str(month): order_y_m.append(order) if year and not month: if order.time.strftime('%Y') == str(year): order_y_m.append(order) total_in = 0 for i in order_y_m: total_in += i.med_price return render(request, "orders/finance.html", total_in)
def finance_month_datas(request): # 判断是否登录 context = { 'page': 'order_list', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') store = medstore.objects.get(pk=storeid) context['username'] = username else: return login(request) if request.method == 'GET': year = request.GET.get('year') month = request.GET.get('month') # if startdate > enddate: # startdate, enddate = enddate, startdate orders = Orders.objects.filter(drugstore=store) if orders == None: return HttpResponse("None") if year == None and month == None: year = datetime.datetime.now().strftime('%Y') month = datetime.datetime.now().strftime('%m') all = { "title": "{}年{}月的每日销售数据:".format(year, month), "allnum": 0, "allmoney": 0, "all_i": [], "all_daycount": [], "all_dayallprice": [], } allorders = orders.filter(time__year=year, time__month=month) if allorders == None: return HttpResponse("None") all_daycount = {} all_dayprice = {} days = int(calendar.monthrange(int(year), int(month))[1]) for i in range(1, days + 1): orders = allorders.filter(time__day=i) all_daycount[i] = 0 all_dayprice[i] = 0 if orders == None: continue else: for order in orders: med_price = order.med_price all["allmoney"] += med_price total_count = order.total_count all["allnum"] += total_count all_daycount[i] += total_count all_dayprice[i] += med_price for dayname in all_daycount.keys(): all["all_i"].append(str(month) + "-" + str(dayname)) all["all_daycount"].append(all_daycount[dayname]) all["all_dayallprice"].append(all_dayprice[dayname]) data = json.dumps(all, ensure_ascii=False) return HttpResponse(data)
def add_to_cart(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) if request.method == "POST": goodsid = request.POST.get('id') goodsnum = request.POST.get('goodsnum') Cart1 = Cart.objects.filter(C_goods_id=goodsid).filter( C_store_id=store) if Cart1.exists(): Cart1 = Cart1[0] Cart1.C_goods_num = goodsnum Cart1.save() else: c_obj = Cart() c_obj.C_goods_id = goodsid c_obj.C_store_id = store c_obj.C_goods_num = goodsnum c_obj.save() if goodsnum == 0: Cart.objects.filter(C_goods_id=goodsid).filter( C_store_id=store).filter(C_goods_num=goodsnum).delete() return redirect(reverse('medicine:cart_list')) elif request.method == "GET": goodsid = request.GET.get('id') if (goodsid == None): return redirect(reverse('medicine:find_medicine')) # 获取购物车里的数据 carts = Cart.objects.filter( C_store_id=request.session.get('storeid')).filter( C_goods_id=goodsid) # 有数据 if carts.exists(): c_obj = carts.first() goodsnum = c_obj.C_goods_num # 没有数据创建新的 else: goodsnum = 1 if goodsnum == 0: Cart.objects.filter(pk=c_obj.id).delete() else: print("ok") return redirect(reverse('medicine:find_medicine')) good = Medicine.objects.filter(pk=goodsid) context["good"] = good[0] context["goodnum"] = goodsnum return render(request, "medicine/add_to_cart.html", context=context)
def cart_list(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username allprice = get_allprice(request) else: return login(request) context['allprice'] = allprice return render(request, "medicine/cart_list.html", context=context)
def register_staff(request): context = { 'page': 'register_staff', } if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username if request.session.get('identity') != 'shopkeeper': context['errmsg'] = '请以店主账号登录' shopkeeper = False return render(request, 'staff/register_staff.html', context=context) else: shopkeeper = True else: return login(request) if request.method == "POST" and shopkeeper: username = request.POST.get('username') name = request.POST.get('name') password = request.POST.get('password') phonenumber = request.POST.get("phonenumber") desc = request.POST.get("desc") user_model = Staff.objects.filter(username=username).filter( store_id=store) # 参数验证 if not all([username, name, password, phonenumber, desc]): # 参数不完整 context['errmsg'] = '数据不完整' return render(request, 'staff/register_staff.html', context=context) if user_model: #不为NULL context['errmsg'] = '用户名已存在' return render(request, 'staff/register_staff.html', context=context) else: user = Staff() user.username = username user.name = name user.password = password user.phonenumber = phonenumber user.desc = desc user.store_id = store user.save() return redirect(reverse('staff:find_staff')) return render(request, 'staff/register_staff.html', context=context)
def find_medicine(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) if request.method == 'POST': name = request.POST.get("name") context["name"] = name return render(request, "medicine/find_medicine.html", context=context)
def medicine_detail(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) pk = request.GET.get('id') obj = Medicine.objects.get(id=pk) context["obj"] = obj return render(request, "medicine/medicine_detail.html", context=context)
def del_cart_list(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) pk = request.GET.get('id') obj = Cart.objects.get(id=pk) obj.delete() return redirect(reverse('medicine:cart_list'))
def order_details(request): # 判断是否登录 context = { 'page': 'order_list', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') context['username'] = username else: return login(request) id = request.GET.get("order_id") Order = Orders.objects.get(order_id=id) paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] context1 = { 'order': { 'order_id': Order.order_id, 'staff': Order.staff.name, # 'address': Order.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, 'pay_method': paymethod[Order.pay_method], 'med_price': Order.med_price, 'total_count': Order.total_count, 'total_price': Order.total_price, 'transit_price': Order.transit_price, 'order_status': orderstatus[Order.order_status], }, 'order_med': [] } order_med = OrderGoods.objects.filter(order=Order.order_id) for med in order_med: med_detail = { 'med_code': med.sku.medicinecode, 'med_name': med.sku.name, 'med_count': med.count, 'med_price': med.price, } context1['order_med'].append(med_detail) context['context'] = context1 return render(request, "orders/order_details.html", context=context)
def get_allprice(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) carts = Cart.objects.filter(C_store=store) allprice = 0 for med in carts: price = med.C_goods.price * med.C_goods_num allprice += price return allprice
def detail_staff(request): context = {"page": "find_staff"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username # if request.session.get('identity') != 'shopkeeper': # context['errmsg'] = '请以店主账号登录' # shopkeeper = False # return render(request, 'store/find_staff.html', context=context) # else: # shopkeeper = True else: return login(request) pk = request.GET.get('id') obj = Staff.objects.get(id=pk) context["staff"] = obj return render(request, 'staff/detail_staff.html', context=context)
def cart_list_data(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) carts = Cart.objects.filter(C_store=store) carts_ = [] allprice = 0 for med in carts: price = med.C_goods.price * med.C_goods_num allprice += price cart1 = { 'id': med.id, 'med_name': med.C_goods.name, 'price': price, 'med_count': med.C_goods_num, 'med_id': med.C_goods_id, 'med_price': med.C_goods.price } carts_.append(cart1) for data in carts_: med_id = str(data['med_id']) id = str(data['id']) data['med_price'] = str(data['med_price']) + "元" data['price'] = str(data['price']) + "元" data[ 'del_cart'] = '<button class="button1" onclick="del_cart(' + id + ')">删除</button>' data[ 'edit_cart'] = '<button class="button1" onclick="add(' + med_id + ')">修改数量</button>' num = len(carts_) + 1 cart1 = { 'id': "总价", 'price': str(allprice) + "元", } carts_.append(cart1) return HttpResponse('{"code":0,"msg":"","count":' + str(num) + ',"data":' + json.dumps(carts_, ensure_ascii=False) + "}", content_type="application/json")
def del_order(request): # 判断是否登录 context = { 'page': 'order_list', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') context['username'] = username else: return login(request) id = request.GET.get('order_id') obj = Orders.objects.get(order_id=id) obj.delete() order_med = OrderGoods.objects.filter(order=id) for med in order_med: med.delete() return redirect(reverse('orders:order_list'))
def add_medicine(request): context = {"page": "add_medicine"} if request.session.get('is_login', None): username = request.session.get('username') context['username'] = username else: return login(request) drugstore = request.session.get('storeid') if request.method == "POST": name = request.POST.get("name") price = request.POST.get("price") desc = request.POST.get("desc") status = request.POST.get("status") stock = request.POST.get("stock") medicinecode = request.POST.get("medicinecode") unite = request.POST.get("unite") type = request.POST.get("type") # image=request.FILES.get("medicineimg") if not all( [name, price, desc, status, stock, medicinecode, unite, type]): context['errmsg'] = '数据不完整' return render(request, "medicine/add_medicine.html", context=context) medicine = Medicine() medicine.name = name medicine.price = price medicine.status = status medicine.desc = desc medicine.stock = stock medicine.medicinecode = medicinecode medicine.unite = unite medicine.type = type medicine.drugstore_id = drugstore medicine.save() return render(request, "medicine/add_medicine.html", context=context)
def del_staff(request): context = {"page": "find_staff"} shopkeeper = False if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username staff_model = Staff.objects.filter(store_id=store) context["staff_model"] = staff_model if request.session.get('identity') != 'shopkeeper': context['errmsg'] = '请以店主账号登录' shopkeeper = False return render(request, 'staff/find_staff.html', context=context) else: shopkeeper = True else: return login(request) if shopkeeper: pk = request.GET.get('id') obj = Staff.objects.get(id=pk) obj.delete() return redirect(reverse('staff:find_staff'))
def edit_staff(request): context = {"page": "find_staff"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username staff_model = Staff.objects.filter(store_id=store) context["staff_model"] = staff_model if request.session.get('identity') != 'shopkeeper': context['errmsg'] = '请以店主账号登录' shopkeeper = False # return redirect(reverse('staff:find_staff')) return render(request, 'staff/find_staff.html', context=context) else: shopkeeper = True else: return login(request) pk = request.GET.get('id') obj = Staff.objects.get(id=pk) if request.method == "POST" and shopkeeper: name = request.POST.get("name") username = request.POST.get("username") password = request.POST.get("password") phonenumber = request.POST.get("phonenumber") desc = request.POST.get("desc") obj.name = name obj.username = username obj.password = password obj.phonenumber = phonenumber obj.desc = desc obj.save() return redirect(reverse('staff:find_staff')) context["obj"] = obj return render(request, "staff/edit_staff.html", context=context)
def edit_medicine(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) pk = request.GET.get('id') obj = Medicine.objects.get(id=pk) if request.method == "POST": name = request.POST.get("name") medicinecode = request.POST.get("medicinecode") price = request.POST.get("price") desc = request.POST.get("desc") stock = request.POST.get("stock") unite = request.POST.get("unite") type = request.POST.get("type") status = request.POST.get("status") # image=request.FILES.get("medicineimg") obj.name = name obj.price = price obj.status = status obj.desc = desc obj.stock = stock obj.medicinecode = medicinecode obj.unite = unite obj.type_id = type obj.save() return redirect(reverse('medicine:find_medicine')) context['obj'] = obj return render(request, "medicine/edit_medicine.html", context=context)
def find_staff(request): context = {"page": "find_staff"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username # if request.session.get('identity') != 'shopkeeper': # context['errmsg'] = '请以店主账号登录' # shopkeeper = False # return render(request, 'store/find_staff.html', context=context) # else: # shopkeeper = True else: return login(request) if request.method == "POST": name = request.POST.get("name") staff_model = Staff.objects.filter(store_id=store).filter(name=name) context["staff_model"] = staff_model return render(request, "staff/find_staff.html", context=context) else: staff_model = Staff.objects.filter(store_id=store) context["staff_model"] = staff_model return render(request, "staff/find_staff.html", context=context)
def finance_medicine_datas(request): # 判断是否登录 context = { 'page': 'order_list', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') store = medstore.objects.get(pk=storeid) context['username'] = username else: return login(request) if request.method == 'GET': year = request.GET.get('year') month = request.GET.get('month') day = request.GET.get('day') all = { "title": "的销售数据:", "allnum": 0, "allmoney": 0, "all_medname": [], "all_medcount": [], "all_medallprice": [], } date_str = "" orders = Orders.objects.filter(drugstore=store) if year != None: orders = orders.filter(time__year=year) date_str = date_str + str(year) + "年" if month != None: orders = orders.filter(time__month=month) date_str = date_str + str(month) + "月" if day != None: orders = orders.filter(time__day=day) date_str = date_str + str(day) + "日" all['title'] = date_str + all['title'] all_medcount = {} all_medprice = {} # all["all_med"] = all_medcount for order in orders: # 读取每一笔订单 all["allmoney"] += order.med_price all["allnum"] += order.total_count allmed = OrderGoods.objects.filter(order=order) for med in allmed: # 读取每一笔订单中的具体药品 medname = med.sku.name count = med.count price = med.price all_medprice[medname] = price if medname in all_medcount: all_medcount[medname] += count else: all_medcount[medname] = count all["title"] = all["title"] + " 总销售量:{0};总销售额:{1}".format( all["allnum"], all["allmoney"]) for medname in all_medcount.keys(): all["all_medname"].append(medname) all["all_medcount"].append(all_medcount[medname]) all["all_medallprice"].append(all_medcount[medname] * all_medprice[medname]) data = json.dumps(all, ensure_ascii=False) return HttpResponse(data)
def finance_staff_datas(request): # 判断是否登录 context = { 'page': 'order_list', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') store = medstore.objects.get(pk=storeid) context['username'] = username else: return login(request) if request.method == 'GET': startdate = request.GET.get('startdate') enddate = request.GET.get('enddate') if startdate > enddate: startdate, enddate = enddate, startdate orders = Orders.objects.filter(drugstore=store) if orders == None: return HttpResponse("None") order1 = orders[0] if startdate == None: startdate = order1.time.strftime('%Y-%m-%d') if enddate == None: enddate = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime('%Y-%m-%d') all = { "title": "从{}到{}的各员工销售数据:".format(startdate, enddate), "allnum": 0, "allmoney": 0, "all_staffname": [], "all_staffcount": [], "all_staffallprice": [], } orders = orders.filter(time__range=(startdate, enddate)) if orders == None: return HttpResponse("None") all_staffcount = {} all_staffprice = {} all_staff = Staff.objects.filter(store=store) for staff in all_staff: staffname = staff.name all_staffcount[staffname] = 0 all_staffprice[staffname] = 0 # all["all_med"] = all_medcount for order in orders: # 读取每一笔订单 med_price = order.med_price all["allmoney"] += med_price total_count = order.total_count all["allnum"] += total_count staffname = order.staff.name if staffname in all_staffcount: all_staffcount[staffname] += total_count all_staffprice[staffname] += med_price else: all_staffcount[staffname] = total_count all_staffprice[staffname] = med_price for staffname in all_staffcount.keys(): all["all_staffname"].append(staffname) all["all_staffcount"].append(all_staffcount[staffname]) all["all_staffallprice"].append(all_staffprice[staffname]) data = json.dumps(all, ensure_ascii=False) return HttpResponse(data)
def finance_medicine(request): # 判断是否登录 context = { 'page': 'finance_medicine', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') store = medstore.objects.get(pk=storeid) context['username'] = username else: return login(request) if request.method == 'GET': year = request.GET.get('year') month = request.GET.get('month') day = request.GET.get('day') all = { "title": "的销售数据:", "allnum": 0, "allmoney": 0, "all_medname": [], "all_medcount": [], "all_medallprice": [], } date_str = "" orders = Orders.objects.filter(drugstore=store) if not orders.exists(): context['errmsg'] = "您还没有数据" if year != None and year != "": orders = orders.filter(time__year=year) date_str = date_str + str(year) + "年" if month != None and month != "": orders = orders.filter(time__month=month) date_str = date_str + str(month) + "月" if day != None and day != "": orders = orders.filter(time__day=day) date_str = date_str + str(day) + "日" if not orders.exists(): context['errmsg'] = "该时间没有销售数据" if date_str == '': date_str = "所有" all['title'] = date_str + all['title'] context['year'] = year context['month'] = month context['day'] = day if context['year'] == None: context.pop('year') if context['month'] == None: context.pop('month') if context['day'] == None: context.pop('day') thisyear = int(datetime.datetime.now().strftime('%Y')) context['years'] = [i for i in range(thisyear, 1999, -1)] context['months'] = [i for i in range(1, 13)] context['days'] = [i for i in range(1, 32)] all_medcount = {} all_medprice = {} # all["all_med"] = all_medcount for order in orders: # 读取每一笔订单 all["allmoney"] += order.med_price all["allnum"] += order.total_count allmed = OrderGoods.objects.filter(order=order) for med in allmed: # 读取每一笔订单中的具体药品 medname = med.sku.name count = med.count price = med.price all_medprice[medname] = price if medname in all_medcount: all_medcount[medname] += count else: all_medcount[medname] = count all["title"] = all["title"] + " 总销售量:{0};总销售额:{1}".format( all["allnum"], all["allmoney"]) for medname in all_medcount.keys(): all["all_medname"].append(medname) all["all_medcount"].append(all_medcount[medname]) all["all_medallprice"].append(all_medcount[medname] * all_medprice[medname]) all["all_medname"] = json.dumps(all["all_medname"], ensure_ascii=False) all["all_medcount"] = json.dumps(all["all_medcount"], ensure_ascii=False) all["all_medallprice"] = json.dumps(all["all_medallprice"], ensure_ascii=False) context['all'] = all return render(request, "salesDATA/finance_medicine.html", context=context)
def finance_year(request): # 判断是否登录 context = { 'page': 'finance_year', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') store = medstore.objects.get(pk=storeid) context['username'] = username else: return login(request) if request.method == 'GET': year = request.GET.get('year') orders = Orders.objects.filter(drugstore=store) if not orders.exists(): context['errmsg'] = "您还没有数据" if year == None: year = datetime.datetime.now().strftime('%Y') all = { "title": "{}年的每月销售数据:".format(year), "allnum": 0, "allmoney": 0, "all_i": [], "all_daycount": [], "all_dayallprice": [], } allorders = orders.filter(time__year=year) if not orders.exists(): context['errmsg'] = "您还没有数据" all_daycount = {} all_dayprice = {} context['year'] = year if context['year'] == None: context.pop('year') thisyear = int(datetime.datetime.now().strftime('%Y')) context['years'] = [i for i in range(thisyear, 1999, -1)] for i in range(1, 13): orders = allorders.filter(time__month=i) all_daycount[i] = 0 all_dayprice[i] = 0 if orders == None: continue else: for order in orders: med_price = order.med_price all["allmoney"] += med_price total_count = order.total_count all["allnum"] += total_count all_daycount[i] += total_count all_dayprice[i] += med_price for dayname in all_daycount.keys(): all["all_i"].append(str(dayname) + "月") all["all_daycount"].append(all_daycount[dayname]) all["all_dayallprice"].append(all_dayprice[dayname]) all["all_i"] = json.dumps(all["all_i"], ensure_ascii=False) all["all_daycount"] = json.dumps(all["all_daycount"], ensure_ascii=False) all["all_dayallprice"] = json.dumps(all["all_dayallprice"], ensure_ascii=False) context['all'] = all return render(request, "salesDATA/finance_year.html", context=context)
def finance_staff(request): # 判断是否登录 context = { 'page': 'finance_staff', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') store = medstore.objects.get(pk=storeid) context['username'] = username else: return login(request) if request.method == 'GET': startdate = request.GET.get('startdate') enddate = request.GET.get('enddate') if str(startdate) > str(enddate): startdate, enddate = enddate, startdate orders = Orders.objects.filter(drugstore=store) if not orders.exists(): context['errmsg'] = "您还没有数据" try: order1 = orders[0] if startdate == None: startdate = order1.time.strftime('%Y-%m-%d') except: startdate = '2020-01-01' if enddate == None: enddate = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime('%Y-%m-%d') all = { "title": "从{}到{}的各员工销售数据:".format(startdate, enddate), "allnum": 0, "allmoney": 0, "all_staffname": [], "all_staffcount": [], "all_staffallprice": [], } context['startdate'] = startdate context['enddate'] = enddate orders = orders.filter(time__range=(startdate, enddate)) # print(orders) if not orders.exists(): context['errmsg'] = "没有销售数据" all_staffcount = {} all_staffprice = {} all_staff = Staff.objects.filter(store=store) for staff in all_staff: staffname = staff.name all_staffcount[staffname] = 0 all_staffprice[staffname] = 0 # all["all_med"] = all_medcount for order in orders: # 读取每一笔订单 med_price = order.med_price all["allmoney"] += med_price total_count = order.total_count all["allnum"] += total_count try: staffname = order.staff.name except: staffname = "线上销售" if staffname in all_staffcount: all_staffcount[staffname] += total_count all_staffprice[staffname] += med_price else: all_staffcount[staffname] = total_count all_staffprice[staffname] = med_price for staffname in all_staffcount.keys(): all["all_staffname"].append(str(staffname)) all["all_staffcount"].append(all_staffcount[staffname]) all["all_staffallprice"].append(all_staffprice[staffname]) all["all_staffname"] = json.dumps(all["all_staffname"], ensure_ascii=False) all["all_staffcount"] = json.dumps(all["all_staffcount"], ensure_ascii=False) all["all_staffallprice"] = json.dumps(all["all_staffallprice"], ensure_ascii=False) context['all'] = all return render(request, "salesDATA/finance_staff.html", context=context)
def staff_order_add(request): # 判断是否登录 context = { 'page': 'staff_order_add', } if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username if request.session.get('identity') == 'shopkeeper': context['page'] = 'find_staff' context['errmsg'] = '请以员工账号登录,用以生成订单' shopkeeper = True return render(request, 'staff/find_staff.html', context=context) else: shopkeeper = False else: return login(request) store_id = request.session.get('storeid') staff_id = request.session.get('staffid') if request.POST.get('pay_method'): pay_method = request.POST.get('pay_method') carts = Cart.objects.filter(C_store=request.session.get('storeid')) med_price = 0 count = 0 ordergoods = [] for med in carts: price = med.C_goods.price * med.C_goods_num context1 = { 'med_name': med.C_goods.name, 'med_price': price, 'med_count': med.C_goods_num, } ordergoods.append(context1) med_price += price count += med.C_goods_num order = Orders() order.order_id = datetime.now().strftime('%Y%m%d%H%M%S') + \ str(store_id) + str(staff_id) order.staff_id = staff_id order.drugstore_id = store_id order.med_price = med_price order.transit_price = 0 order.total_price = med_price order.total_count = count order.order_status = 4 order.pay_method = int(pay_method) order.sale_method = 0 # 默认线下销售 order.save() paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] order_ = { 'order_id': order.order_id, 'staff': order.staff.name, # 'address': Order.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, 'pay_method': paymethod[order.pay_method], 'med_price': order.med_price, 'total_count': order.total_count, 'total_price': order.total_price, 'transit_price': order.transit_price, 'order_status': orderstatus[order.order_status], } for med in carts: price = med.C_goods.price * med.C_goods_num ordergood = OrderGoods() ordergood.sku_id = med.C_goods_id ordergood.order_id = order.order_id ordergood.count = med.C_goods_num ordergood.price = price ordergood.save() med_ = Medicine.objects.get(id=med.C_goods_id) med_.stock -= med.C_goods_num med_.sales += med.C_goods_num med_.save() med.delete() return redirect('orders:order_list') else: carts = Cart.objects.filter(C_store=request.session.get('storeid')) med_price = 0 count = 0 ordergoods = [] for med in carts: price = med.C_goods.price * med.C_goods_num context1 = { 'med_name': med.C_goods.name, 'med_price': price, 'med_count': med.C_goods_num, } ordergoods.append(context1) med_price += price count += med.C_goods_num order = Orders() order.order_id = datetime.now().strftime('%Y%m%d%H%M%S') + \ str(store_id) + str(staff_id) order.staff_id = staff_id order.drugstore_id = store_id order.med_price = med_price order.transit_price = 0 order.total_price = med_price order.total_count = count order.order_status = 4 paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] staffname = Staff.objects.get(id=staff_id).name order_ = { 'order_id': order.order_id, 'staff': staffname, # 'address': Order.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, 'med_price': order.med_price, 'total_count': order.total_count, 'total_price': order.total_price, 'transit_price': order.transit_price, 'order_status': orderstatus[order.order_status], } context['ordergoods'] = ordergoods context['order'] = order_ return render(request, "orders/staff_order_add.html", context=context)
def find_medicine_data(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) drugstore = request.session.get('storeid') page = 1 if request.GET.get("page") != None: page = int(request.GET.get("page")) limit = 30 if request.GET.get("limit") != None: limit = int(request.GET.get("limit")) if request.GET.get("name") != None: search = request.GET.get("name") search_list = jieba.lcut(search) # print(search_list) med_details_ = Medicine.objects.filter(drugstore_id=drugstore).values() med_details = [] for med_detail in med_details_: # print(med_detail) med_str = str(med_detail) # print(med_str) tag0 = 0 tag1 = 0 tag = 0 for word in search_list: if med_str.find(word) != -1: word_count = med_str.count(word) tag0 = tag0 + 10 tag1 = tag1 + word_count tag = tag0 + tag1 if tag == 0: continue med_detail.setdefault('tag', tag) med_details.append(med_detail) med_details.sort(key=get_tag, reverse=True) # print(med_details) medicine_model = med_details all_medicine = [] for medicine in medicine_model: id = str(medicine["id"]) data = medicine data[ 'del_medicine'] = '<button class="button1" onclick="del_medicine(' + id + ')">删除</button>' data[ 'edit_medicine'] = '<button class="button1" onclick="window.location.href=\'../edit_medicine/?id=' + id + '\'">编辑</button>' data[ 'medicine_detail'] = '<button class="button1" onclick="window.location.href=\'../medicine_detail/?id=' + id + '\'">详情</button>' data[ 'add_to_cart'] = '<button class="button1" onclick="add(' + id + ')">添加到购物车</button>' del data['image'] all_medicine.append(data) num = len(all_medicine) else: medicine_model = Medicine.objects.filter(drugstore_id=drugstore) all_medicine = [] for medicine in medicine_model: id = str(medicine.pk) data = model_to_dict(medicine) data[ 'del_medicine'] = '<button class="button1" onclick="del_medicine(' + id + ')">删除</button>' data[ 'edit_medicine'] = '<button class="button1" onclick="window.location.href=\'../edit_medicine/?id=' + id + '\'">编辑</button>' data[ 'medicine_detail'] = '<button class="button1" onclick="window.location.href=\'../medicine_detail/?id=' + id + '\'">详情</button>' data[ 'add_to_cart'] = '<button class="button1" onclick="add(' + id + ')">添加到购物车</button>' del data['image'] all_medicine.append(data) num = len(all_medicine) x = (page - 1) * limit y = x + limit - 1 medicines = [] for i in range(x, y + 1): if i >= num: break medicines.append(all_medicine[i]) return HttpResponse('{"code":0,"msg":"","count":' + str(num) + ',"data":' + json.dumps(medicines, ensure_ascii=False) + "}", content_type="application/json")
def find_order_data(request): context = {"page": "find_medicine"} if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username else: return login(request) if request.GET.get("search_text"): search = request.GET.get("search_text") id = request.session.get('storeid') Orders_ = Orders.objects.filter(drugstore=id) search_list = jieba.lcut(search) Orderlist = [] paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] for Order in Orders_: order_detail = { 'order': { 'order_id': Order.order_id, 'staff': Order.staff.name, # 'address': Order.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, 'pay_method': paymethod[Order.pay_method], 'med_price': Order.med_price, 'total_count': Order.total_count, 'total_price': Order.total_price, 'transit_price': Order.transit_price, 'order_status': orderstatus[Order.order_status], }, 'order_med': [] } order_med = OrderGoods.objects.filter(order=Order.order_id) for med in order_med: med_detail = { 'med_code': med.sku.medicinecode, 'med_name': med.sku.name, 'med_count': med.count, 'med_price': med.price, } order_detail['order_med'].append(med_detail) tag0 = 0 tag1 = 0 tag = 0 order_str = str(order_detail) for word in search_list: if order_str.find(word) != -1: word_count = order_str.count(word) tag0 = tag0 + 10 tag1 = tag1 + word_count tag = tag0 + tag1 if tag == 0: continue # address_ = Order.addr # drug_store = Order.drugstore context1 = { 'order_id': Order.order_id, 'staff': Order.staff.name, # 'address': address_.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, # 'pay_method': paymethod[Order.pay_method], 'total_count': Order.total_count, 'total_price': Order.total_price, 'order_status': orderstatus[Order.order_status], 'tag': tag, } Orderlist.append(context1) Orderlist.sort(key=get_tag, reverse=True) else: id = request.session.get('storeid') Orders_ = Orders.objects.filter(drugstore=id) Orderlist = [] # paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] for Order in Orders_: # address_ = Order.addr # drug_store = Order.drugstore context1 = { 'order_id': Order.order_id, 'staff': Order.staff.name, # 'address': address_.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, # 'pay_method': paymethod[Order.pay_method], 'total_count': Order.total_count, 'total_price': Order.total_price, 'order_status': orderstatus[Order.order_status], } Orderlist.append(context1) num = len(Orderlist) page = 1 if request.GET.get("page") != None: page = int(request.GET.get("page")) limit = 30 if request.GET.get("limit") != None: limit = int(request.GET.get("limit")) x = (page - 1) * limit y = x + limit - 1 order = [] for i in range(x, y + 1): if i >= num: break order.append(Orderlist[i]) for order1 in order: id = order1['order_id'] order1['del_cart'] = '<button class="button1" onclick="del_order(' + \ id+')">删除</button>' order1[ 'order_details'] = '<button class="button1" onclick="window.location.href=\'../order_details/?order_id=' + id + '\'">详情</button>' return HttpResponse('{"code":0,"msg":"","count":' + str(num) + ',"data":' + json.dumps(order, ensure_ascii=False) + "}", content_type="application/json") carts = Cart.objects.filter(C_store=store) carts_ = [] allprice = 0 for med in carts: price = med.C_goods.price * med.C_goods_num allprice += price cart1 = { 'id': med.id, 'med_name': med.C_goods.name, 'price': price, 'med_count': med.C_goods_num, 'med_id': med.C_goods_id, 'med_price': med.C_goods.price } carts_.append(cart1) for data in carts_: med_id = str(data['med_id']) id = str(data['id']) data['med_price'] = str(data['med_price']) + "元" data['price'] = str(data['price']) + "元" data['del_cart'] = '<button class="button1" onclick="del_cart(' + \ id+')">删除</button>' data['edit_cart'] = '<button class="button1" onclick="add(' + \ med_id+')">修改数量</button>'
def order_list(request): # 判断是否登录 context = { 'page': 'order_list', } if request.session.get('is_login', None): username = request.session.get('username') storeid = request.session.get('storeid') context['username'] = username else: return login(request) if request.POST.get("search_text") != None: search = request.POST.get("search_text") context['search_text'] = search id = request.session.get('storeid') Orders_ = Orders.objects.filter(drugstore=id) search_list = jieba.lcut(search) Orderlist = [] paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] for Order in Orders_: order_detail = { 'order': { 'order_id': Order.order_id, 'staff': Order.staff.name, # 'address': Order.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, 'pay_method': paymethod[Order.pay_method], 'med_price': Order.med_price, 'total_count': Order.total_count, 'total_price': Order.total_price, 'transit_price': Order.transit_price, 'order_status': orderstatus[Order.order_status], }, 'order_med': [] } order_med = OrderGoods.objects.filter(order=Order.order_id) for med in order_med: med_detail = { 'med_code': med.sku.medicinecode, 'med_name': med.sku.name, 'med_count': med.count, 'med_price': med.price, } order_detail['order_med'].append(med_detail) tag0 = 0 tag1 = 0 tag = 0 order_str = str(order_detail) for word in search_list: if order_str.find(word) != -1: word_count = order_str.count(word) tag0 = tag0 + 10 tag1 = tag1 + word_count tag = tag0 + tag1 if tag == 0: continue # address_ = Order.addr # drug_store = Order.drugstore context1 = { 'order_id': Order.order_id, 'staff': Order.staff.name, # 'address': address_.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, # 'pay_method': paymethod[Order.pay_method], 'total_count': Order.total_count, 'total_price': Order.total_price, 'order_status': orderstatus[Order.order_status], 'tag': tag, } Orderlist.append(context1) Orderlist.sort(key=get_tag, reverse=True) else: id = request.session.get('storeid') Orders_ = Orders.objects.filter(drugstore=id) Orderlist = [] # paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] for Order in Orders_: # address_ = Order.addr # drug_store = Order.drugstore context1 = { 'order_id': Order.order_id, 'staff': Order.staff.name, # 'address': address_.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, # 'pay_method': paymethod[Order.pay_method], 'total_count': Order.total_count, 'total_price': Order.total_price, 'order_status': orderstatus[Order.order_status], } Orderlist.append(context1) context['orderlist'] = Orderlist return render(request, "orders/find_orders.html", context=context)