def patch(self, request, *args, **kwargs): data = DataSolve.datasolve(request) try: if data['code'] == "1031": return Response(FBMsg.err_bad()) except: ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if models.NoteBook.objects.filter(openid=request.auth, id=data['id']).exists(): if 'progress' in data: progress_data = models.NoteBook.objects.get(id=data['id']) progress_data.icon = 'check' progress_data.icon_color = 'green' progress_data.progress = 1 progress_data.save() ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data return Response(ret) elif 'desc' in data: progress_data = models.NoteBook.objects.get(id=data['id']) progress_data.desc = data['desc'] progress_data.save() ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data return Response(ret)
def login(request, *args, **kwargs): post_data = json.loads(request.body.decode()) data = { "name": post_data.get('name'), "password": post_data.get('password'), } ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if User.objects.filter(username=str(data['name'])).exists(): user = auth.authenticate(username=str(data['name']), password=str(data['password'])) if user is None: err_ret = FBMsg.err_ret() err_ret['data'] = data return JsonResponse(err_ret) else: auth.login(request, user) user_detail = Users.objects.filter(user_id=user.id).first() data = { "name": data['name'], 'openid': user_detail.openid } ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data return JsonResponse(ret) else: err_ret = FBMsg.err_ret() err_ret['ip'] = ip err_ret['data'] = data return JsonResponse(err_ret)
def patch(self, request, *args, **kwargs): if models.Users.objects.filter(openid=request.auth, appid=request.user.appid, developer=1, is_delete=0).exists(): pass else: return Response(FBMsg.err_dev()) data = DataSolve.datasolve(request) try: if data['code'] == "1031": return Response(FBMsg.err_bad()) except: ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if models.Users.objects.filter( transaction_code=data['transaction_code'], developer=0, is_delete=0).exists(): patch_data = models.Users.objects.filter( transaction_code=data['transaction_code'], developer=0, is_delete=0).first() patch_data.nickname = data['nickname'] patch_data.save() ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data return Response(ret) else: return Response(FBMsg.err_tc_empty())
def get(self, request, *args, **kwargs): ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') os.system("python3 /data/pi/utils/tracking.py") ret = FBMsg.ret() ret['ip'] = ip return Response(ret)
def delete(self, request, *args, **kwargs): if models.Users.objects.filter(openid=request.auth, appid=request.user.appid, developer=1, is_delete=0).exists(): pass else: return Response(FBMsg.err_dev()) data = request.data ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') for i in range(len(data)): if models.Users.objects.filter( transaction_code=data[i]['transaction_code'], developer=0, is_delete=0).exists(): pass else: return Response(FBMsg.err_tc_empty()) for j in range(len(data)): delete_data = models.Users.objects.filter( transaction_code=data[j]['transaction_code'], developer=0, is_delete=0).first() delete_data.is_delete = 1 delete_data.save() ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data return Response(ret)
def get(self, request, *args, **kwargs): ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') sort = request._request.GET.get('sort', '-create_time') list = models.Users.objects.filter(appid=request.user.appid, developer=0, is_delete=0).order_by(sort) if request._request.GET.get('name', ''): list = list.filter(name__icontains=request._request.GET.get( 'name', '')).order_by(sort) if request._request.GET.get('nickname', ''): list = list.filter(nickname__icontains=request._request.GET.get( 'nickname', '')).order_by(sort) if request._request.GET.get('start_date_create', ''): try: start_date = request._request.GET.get('start_date_create', '') if request._request.GET.get('end_date_create', ''): date_end = request._request.GET.get('end_date_create', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('-')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') list = list.filter( create_time__range=[start_date, end_date]).order_by(sort) except: pass if request._request.GET.get('start_date_update', ''): try: start_date = request._request.GET.get('start_date_update', '') if request._request.GET.get('end_date_update', ''): date_end = request._request.GET.get('end_date_update', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('-')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') list = list.filter( last_update_time__range=[start_date, end_date]).order_by( sort) except: pass pg = page.MyPageNumberPagination() pg_list = pg.paginate_queryset(queryset=list, request=request, view=self) list_ser = serializers.UserListSerializers(pg_list, many=True) ret = FBMsg.ret() ret['ip'] = ip ret['data'] = list_ser.data return pg.get_paginated_response(ret)
def get(self, request, *args, **kwargs): start_date = request._request.GET.get('note_day', '') date_detail = start_date.split('/') search_day = datetime.datetime(int(date_detail[0]), int(date_detail[1]), int(date_detail[2])) search_day = search_day.strftime('%Y-%m-%d') list = models.NoteBook.objects.filter(openid=request.auth, note_day=search_day, progress=0, is_delete=0).count() ret = FBMsg.ret() ret['data'] = list return Response(ret)
def login(request): if request.method == "POST": postdata = json.loads(request.body.decode().replace("'", "\"")) data = { "name": postdata.get("name", ''), "password": postdata.get("password", '') } ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if Users.objects.filter(name=str(data['name']), password=str(data['password']), developer=1).exists(): user = auth.authenticate(username=str(data['name']), password=str(data['password'])) if user is None: err_ret = FBMsg.err_ret() err_ret['data'] = data return JsonResponse(err_ret) else: auth.login(request, user) user = Users.objects.get(name=str(data['name']), developer=1) today = datetime.date.today() note_date = today.strftime('%Y-%m-%d') today_note = NoteBook.objects.filter( openid=user.openid, note_day__gte=note_date, is_delete=0).order_by('note_day')[:30] today_note_ser = NoteBookSerializers(today_note, many=True) note_num = NoteBook.objects.filter(openid=user.openid, note_day=note_date, progress=0, is_delete=0).count() delta = datetime.timedelta(days=90) start_date = (today - delta).strftime('%Y-%m-%d') end_date = (today + delta).strftime('%Y-%m-%d') events = NoteBook.objects.filter(openid=user.openid, note_day__range=[ start_date, end_date ]).order_by('-create_time') events_ser = NoteBookEventSerializers(events, many=True) ret = FBMsg.ret() data.pop('name') data.pop('password') ret['ip'] = ip ret['events'] = events_ser.data ret['today_note'] = today_note_ser.data ret['note_num'] = note_num data['openid'] = user.openid ret['data'] = data data.pop('password', '') ret['ip'] = ip ret['data'] = data return JsonResponse(ret) else: err_ret = FBMsg.err_ret() err_ret['ip'] = ip err_ret['data'] = data return JsonResponse(err_ret)
def post(self, request, *args, **kwargs): today = datetime.date.today() delta = datetime.timedelta(days=90) start_date = (today - delta).strftime('%Y-%m-%d') end_date = (today + delta).strftime('%Y-%m-%d') list = models.NoteBook.objects.filter(note_day__range=[start_date, end_date], is_delete=0).order_by('-create_time') list_ser = serializers.NoteBookEventSerializers(list, many=True) ret = FBMsg.ret() ret['data'] = list_ser.data return Response(ret)
def post(self, request, *args, **kwargs): postdata = request.data data = { "name": postdata.get('name', ''), "mobile": postdata.get('mobile', ''), "comments": postdata.get('comments', ''), "openid": postdata.get('openid', '') } script_obj = re.findall(r'script', str(data), re.IGNORECASE) select_obj = re.findall(r'select', str(data), re.IGNORECASE) if script_obj: return JsonResponse(FBMsg.err_bad()) elif select_obj: return JsonResponse(FBMsg.err_bad()) else: ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if 'name' not in data: err_contact_name = FBMsg.err_contact_name() return JsonResponse(err_contact_name) else: if data['name'] == '': err_contact_name = FBMsg.err_contact_name() return JsonResponse(err_contact_name) else: if 'mobile' not in data: err_contact_mobile = FBMsg.err_contact_mobile() return JsonResponse(err_contact_mobile) else: if data['mobile'] == '': err_contact_mobile = FBMsg.err_contact_mobile() return JsonResponse(err_contact_mobile) else: if 'comments' not in data: err_contact_comments = FBMsg.err_contact_comments( ) return JsonResponse(err_contact_comments) else: if data['comments'] == '': err_contact_comments = FBMsg.err_contact_comments( ) return JsonResponse(err_contact_comments) else: Contact.objects.create( name=data['name'], mobile=data['mobile'], comments=data['comments'], openid=data['openid'], ip=ip) ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data return JsonResponse(ret)
def post(self, request, *args, **kwargs): data = request.data ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if Users.objects.filter(openid=data['data'], is_delete=0).exists(): ret = FBMsg.ret() ret['ip'] = ip ret['data'] = { "openid": Users.objects.filter(openid=data['data'], is_delete=0).first().openid } return JsonResponse(ret) else: err_ret = FBMsg.err_ret() return JsonResponse(err_ret)
def delete(self, request, *args, **kwargs): data = DataSolve.datasolve(request) try: if data['code'] == "1031": return Response(FBMsg.err_bad()) except: ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if models.NoteBook.objects.filter(openid=request.auth, id=data['id']).exists(): delete_data = models.NoteBook.objects.get(id=data['id']) delete_data.is_delete = 1 delete_data.save() ret = FBMsg.ret() ret['ip'] = ip ret['data'] = delete_data.title return Response(ret)
def get(self, request, *args, **kwargs): sort = request._request.GET.get('sort', 'note_day') start_date = request._request.GET.get('note_day', '') date_detail = start_date.split('/') search_day = datetime.datetime(int(date_detail[0]), int(date_detail[1]), int(date_detail[2])) search_day = search_day.strftime('%Y-%m-%d') list = models.NoteBook.objects.filter(note_day__gte=search_day, openid=request.auth, is_delete=0).order_by(sort, '-create_time') if request._request.GET.get('id', ''): list = list.filter(pk=request._request.GET.get('id', '')).order_by(sort) pg = page.MyPageNumberPagination() pg_list = pg.paginate_queryset(queryset=list, request=request, view=self) list_ser = serializers.NoteBookSerializers(pg_list, many=True) ret = FBMsg.ret() ret['data'] = list_ser.data return pg.get_paginated_response(ret)
def post(self, request, *args, **kwargs): data = DataSolve.datasolve(request) try: if data['code'] == "1031": return Response(FBMsg.err_bad()) except: ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') note_day = data['note_day'].split('/') note_day = datetime.datetime(int(note_day[0]), int(note_day[1]), int(note_day[2])) note_day = note_day.strftime('%Y-%m-%d') models.NoteBook.objects.create(openid=request.auth, icon='close', icon_color='light-blue-10', title=data['title'], note_day=note_day, desc=data['desc']) ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data return Response(ret)
def post(self, request, format=None): file_obj = request.data['file'] vip_id = Users.objects.get(appid=request.user.appid, developer=1, is_delete=0).vip if vip_id == 0: if file_obj.size >= 102400: return Response(FBMsg.err_data()) elif vip_id == 4: if file_obj.size >= 102400: return Response(FBMsg.err_data()) if file_obj.name.endswith('.xlsx'): filename = os.path.join(settings.BASE_DIR, 'media/shipping/' + request.auth + '.xlsx') elif file_obj.name.endswith('.xls'): filename = os.path.join(settings.BASE_DIR, 'media/shipping/' + request.auth + '.xls') else: return Response(FBMsg.err_data()) with open(filename, 'wb+') as f: for chunk in file_obj.chunks(): f.write(chunk) f.close() df = pd.read_excel(filename) if ShippingModel.objects.filter(appid=request.user.appid).exists(): shipping_data = ShippingModel.objects.filter( appid=request.user.appid) for i in range(len(shipping_data)): shipping_data[i].delete() for index, row in df.iterrows(): date_detail = str(row['发货日期']).split(' ') date_detail = [int(x) for x in str(date_detail[0]).split('-')] shipping_day = datetime.datetime(int(date_detail[0]), int(date_detail[1]), int(date_detail[2])) shipping_time = shipping_day.strftime('%Y-%m-%d') ShippingModel.objects.create(appid=request.user.appid, goods_code=str(row['商品编号']), shipping_qty=int(row['发货数量']), shipping_time=shipping_time) os.remove(filename) return Response(FBMsg.ret())
def get(self, request, *args, **kwargs): ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') sort = request._request.GET.get('sort', '-create_time') max_page = request._request.GET.get('max_page', 100) list = BaseInfoModel.objects.filter( appid=request.user.appid).order_by(sort) if request._request.GET.get('goods_code', ''): list = list.filter(goods_code__icontains=request._request.GET.get( 'goods_code', '')).order_by(sort) pg = MyPageNumberPagination() pg_list = pg.paginate_queryset(queryset=list, request=request, view=self) list_ser = ListSerializers(pg_list, many=True) ret = FBMsg.ret() ret['ip'] = ip ret['data'] = list_ser.data ret['totlepage'] = math.ceil(list.count() / int(max_page)) return pg.get_paginated_response(ret)
def post(self, request, format=None): file_obj = request.data['file'] vip_id = Users.objects.get(appid=request.user.appid, developer=1, is_delete=0).vip if vip_id == 0: if file_obj.size >= 102400: return Response(FBMsg.err_data()) elif vip_id == 4: if file_obj.size >= 102400: return Response(FBMsg.err_data()) if file_obj.name.endswith('.xlsx'): filename = os.path.join(settings.BASE_DIR, 'media/baseinfo/' + request.auth + '.xlsx') elif file_obj.name.endswith('.xls'): filename = os.path.join(settings.BASE_DIR, 'media/baseinfo/' + request.auth + '.xls') else: return Response(FBMsg.err_data()) with open(filename, 'wb+') as f: for chunk in file_obj.chunks(): f.write(chunk) f.close() df = pd.read_excel(filename) if BaseInfoModel.objects.filter(appid=request.user.appid).exists(): baseinfo_data = BaseInfoModel.objects.filter( appid=request.user.appid) for i in range(len(baseinfo_data)): baseinfo_data[i].delete() for index, row in df.iterrows(): BaseInfoModel.objects.create( appid=request.user.appid, goods_code=str(row['商品编号']), sup_product_day=int(row['供应商生产周期(天)']), sup_intransit=int(row['供应商送货在途时间(天)']), loading_inspect=int(row['到货卸货和检验时间(天)']), total_leadtime=int(row['供应商生产周期(天)']) + int(row['供应商送货在途时间(天)']) + int(row['到货卸货和检验时间(天)'])) os.remove(filename) return Response(FBMsg.ret())
def post(self, request, format=None): file_obj = request.data['file'] vip_id = Users.objects.get(appid=request.user.appid, developer=1, is_delete=0).vip if vip_id == 0: if file_obj.size >= 102400: return Response(FBMsg.err_data()) elif vip_id == 4: if file_obj.size >= 102400: return Response(FBMsg.err_data()) if file_obj.name.endswith('.xlsx'): filename = os.path.join(settings.BASE_DIR, 'media/goods/' + request.auth + '.xlsx') elif file_obj.name.endswith('.xls'): filename = os.path.join(settings.BASE_DIR, 'media/goods/' + request.auth + '.xls') else: return Response(FBMsg.err_data()) with open(filename, 'wb+') as f: for chunk in file_obj.chunks(): f.write(chunk) f.close() df = pd.read_excel(filename) if GoodsModel.objects.filter(appid=request.user.appid).exists(): goods_data = GoodsModel.objects.filter(appid=request.user.appid) for i in range(len(goods_data)): goods_data[i].delete() for index, row in df.iterrows(): if int(row['现有库存']) <= 0: on_hand_stock = 0 else: on_hand_stock = int(row['现有库存']) GoodsModel.objects.create(appid=request.user.appid, goods_code=str(row['商品编号']), on_hand_stock=on_hand_stock) os.remove(filename) return Response(FBMsg.ret())
def captcha(request): foo = ['a', 'b'] data = {} mode = random.choice(foo) if mode == 'a': num1 = random.randint(10, 20) num2 = random.randint(0, 10) nummode = "-" data['result'] = num1 - num2 elif mode == 'b': num1 = random.randint(0, 10) num2 = random.randint(0, 10) nummode = "+" data['result'] = num1 + num2 data['num1'] = num1 data['num2'] = num2 data['nummode'] = nummode data['numrandom'] = random.randint(0, 20) while True: data['numrandom'] = random.randint(0, 20) if data['numrandom'] != data['result']: ret = FBMsg.ret() ret['data'] = data return JsonResponse(ret)
def post(self, request, format=None): data = DataSolve.datasolve(request) try: if data['code'] == "1031": return Response(FBMsg.err_bad()) except: if ShippingModel.objects.filter(appid=request.user.appid).exists(): if GoodsModel.objects.filter(appid=request.user.appid).exists(): if BaseInfoModel.objects.filter(appid=request.user.appid).exists(): if ShippingModel.objects.filter(goods_code=data, appid=request.user.appid).exists(): if GoodsModel.objects.filter(goods_code=data, appid=request.user.appid).exists(): if BaseInfoModel.objects.filter(goods_code=data, appid=request.user.appid).exists(): on_hand_stock = GoodsModel.objects.filter(goods_code=data, appid=request.user.appid).first().on_hand_stock lead_time = BaseInfoModel.objects.filter(goods_code=data, appid=request.user.appid).first().total_leadtime today = datetime.date.today() delta = datetime.timedelta(days=89) demand_data = ShippingModel.objects.filter(goods_code=data, appid=request.user.appid, shipping_time__range=[(today - delta).strftime('%Y-%m-%d'), today]) demand = [] for i in range(len(demand_data)): demand.append({ "goods_code": data, "forcast_day": demand_data[i].shipping_time, "forcast_shipping": demand_data[i].shipping_qty, "forcast_on_hand": 0, "plan_order_qty": 0, "oos": '' }) for j in range(0, 90): delta = datetime.timedelta(days=j) a_date = (today - delta).strftime('%Y-%m-%d') date = [int(x) for x in a_date.split('-')] b_date = datetime.date(date[0], date[1], date[2]) check_date = 0 for k in demand: if (k['forcast_day'] - b_date).days == 0: check_date = 1 if check_date == 0: demand.append({ "goods_code": data, "forcast_day": b_date, "forcast_shipping": 0, "forcast_on_hand": 0, "plan_order_qty": 0, "oos": '' }) for k in range(1, 91): delta = datetime.timedelta(days=k) plan_date = (today + delta).strftime('%Y-%m-%d') demand.append({ "goods_code": data, "forcast_day": plan_date, "forcast_shipping": 0, "forcast_on_hand": 0, "plan_order_qty": 0, "oos": '' }) ret = FBMsg.ret() ret["forcast_on_hand"] = on_hand_stock ret['lead_time'] = lead_time ret['data'] = demand return Response(ret) else: return Response(FBMsg.err_goods_code()) else: return Response(FBMsg.err_goods_code()) else: return Response(FBMsg.err_goods_code()) else: return Response(FBMsg.err_req_baseinfo_list()) else: return Response(FBMsg.err_req_stock_list()) else: return Response(FBMsg.err_req_shipping_list())
def post(self, request, format=None): if ShippingModel.objects.filter(appid=request.user.appid).exists(): if GoodsModel.objects.filter(appid=request.user.appid).exists(): if BaseInfoModel.objects.filter(appid=request.user.appid).exists(): contacts = ShippingModel.objects.filter(appid=request.user.appid) goods_code = contacts.values('goods_code').distinct() data = [] for i in range(len(goods_code)): if GoodsModel.objects.filter(appid=request.user.appid, goods_code=goods_code[i]['goods_code']).exists(): if BaseInfoModel.objects.filter(appid=request.user.appid, goods_code=goods_code[i]['goods_code']).exists(): on_hand_stock = GoodsModel.objects.filter(appid=request.user.appid, goods_code=goods_code[i][ 'goods_code']).first().on_hand_stock total_leadtime = BaseInfoModel.objects.filter(appid=request.user.appid, goods_code=goods_code[i][ 'goods_code']).first().total_leadtime if on_hand_stock == 0: today = datetime.date.today() delta1 = datetime.timedelta(days=29) delta2 = datetime.timedelta(days=59) delta3 = datetime.timedelta(days=89) end_date1 = (today - delta1).strftime('%Y-%m-%d') end_date2 = (today - delta2).strftime('%Y-%m-%d') end_date3 = (today - delta3).strftime('%Y-%m-%d') plan_date = today.strftime('%Y-%m-%d') shipping_data1 = contacts.filter(goods_code=goods_code[i]['goods_code'], shipping_time__range=[end_date1, today]).aggregate( Sum('shipping_qty')) shipping_data2 = contacts.filter(goods_code=goods_code[i]['goods_code'], shipping_time__range=[end_date2, today]).aggregate( Sum('shipping_qty')) shipping_data3 = contacts.filter(goods_code=goods_code[i]['goods_code'], shipping_time__range=[end_date3, today]).aggregate( Sum('shipping_qty')) analyst = { "goods_code": goods_code[i]['goods_code'], "shipping_data1": shipping_data1['shipping_qty__sum'], "shipping_data2": shipping_data2['shipping_qty__sum'], "shipping_data3": shipping_data3['shipping_qty__sum'], "plan_date1": plan_date, "plan_date2": plan_date, "plan_date3": plan_date, "plan_date4": 0, "oos_lv": "已经断货" } data.append(analyst) else: today = datetime.date.today() delta1 = datetime.timedelta(days=29) delta2 = datetime.timedelta(days=59) delta3 = datetime.timedelta(days=89) end_date1 = (today - delta1).strftime('%Y-%m-%d') end_date2 = (today - delta2).strftime('%Y-%m-%d') end_date3 = (today - delta3).strftime('%Y-%m-%d') shipping_data1 = contacts.filter(goods_code=goods_code[i]['goods_code'], shipping_time__range=[end_date1, today]).aggregate( Sum('shipping_qty')) shipping_data2 = contacts.filter(goods_code=goods_code[i]['goods_code'], shipping_time__range=[end_date2, today]).aggregate( Sum('shipping_qty')) shipping_data3 = contacts.filter(goods_code=goods_code[i]['goods_code'], shipping_time__range=[end_date3, today]).aggregate( Sum('shipping_qty')) avg_qty1 = shipping_data1['shipping_qty__sum'] / 30 avg_qty2 = shipping_data2['shipping_qty__sum'] / 60 avg_qty3 = shipping_data3['shipping_qty__sum'] / 90 avg_qty4 = (avg_qty1 + avg_qty2 + avg_qty3) / 3 stock_check1 = int(on_hand_stock / avg_qty1) stock_check2 = int(on_hand_stock / avg_qty2) stock_check3 = int(on_hand_stock / avg_qty3) stock_check4 = int(on_hand_stock / avg_qty4) plan_day1 = datetime.timedelta(days=stock_check1) plan_day2 = datetime.timedelta(days=stock_check2) plan_day3 = datetime.timedelta(days=stock_check3) plan_day4 = datetime.timedelta(days=stock_check4) plan_date1 = (today + plan_day1).strftime('%Y-%m-%d') plan_date2 = (today + plan_day2).strftime('%Y-%m-%d') plan_date3 = (today + plan_day3).strftime('%Y-%m-%d') oos_notice = plan_day4.days / total_leadtime if oos_notice >= 3: oos_lv = "库存过多" elif 3 > oos_notice >= 2: oos_lv = "库存充足" elif 2 > oos_notice >= 1: oos_notice = plan_day4.days / (total_leadtime + 7) if oos_notice > 1: oos_lv = "库存正常" elif oos_notice <= 1: oos_lv = "断货风险" else: oos_lv = "断货风险极大" else: oos_lv = "断货风险极大" analyst = { "goods_code": goods_code[i]['goods_code'], "shipping_data1": shipping_data1['shipping_qty__sum'], "shipping_data2": shipping_data2['shipping_qty__sum'], "shipping_data3": shipping_data3['shipping_qty__sum'], "plan_date1": plan_date1, "plan_date2": plan_date2, "plan_date3": plan_date3, "plan_date4": plan_day4.days, "oos_lv": oos_lv } data.append(analyst) # end_date = (today + delta).strftime('%Y-%m-%d') # date = [int(x) for x in date_end.split('-')] # old = datetime.datetime(date[0], date[1], date[2]) # end_date = (old + delta).strftime('%Y-%m-%d') else: continue else: continue ret = FBMsg.ret() ret['data'] = data return Response(ret) else: return Response(FBMsg.err_req_baseinfo_list()) else: return Response(FBMsg.err_req_stock_list()) else: return Response(FBMsg.err_req_shipping_list())
def register(request): postdata = json.loads(request.body.decode().replace("'", "\"")) data = { "name": postdata.get("name", ''), "password1": postdata.get("password1", ''), "password2": postdata.get("password2", ''), } ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') script_obj = re.findall(r'script', str(data), re.IGNORECASE) select_obj = re.findall(r'select', str(data), re.IGNORECASE) if script_obj: return JsonResponse(FBMsg.err_bad()) elif select_obj: return JsonResponse(FBMsg.err_bad()) else: if Users.objects.filter(name=str(data['name']), developer=1, is_delete=0).exists(): err_user_same = FBMsg.err_user_same() err_user_same['ip'] = ip err_user_same['data'] = data['name'] return JsonResponse(err_user_same) else: if Users.objects.filter(ip=ip).exists(): if Users.objects.filter(ip=ip).count() > 2: err_register_more = FBMsg.err_register_more() err_register_more['ip'] = ip err_register_more['data'] = data['name'] return JsonResponse(err_register_more) else: if 'password1' not in data: err_password1_empty = FBMsg.err_password1_empty() err_password1_empty['ip'] = ip err_password1_empty['data'] = data['name'] return JsonResponse(err_password1_empty) else: if str(data['password1']) == '': err_password1_empty = FBMsg.err_password1_empty() err_password1_empty['ip'] = ip err_password1_empty['data'] = data['name'] return JsonResponse(err_password1_empty) else: if 'password2' not in data: err_password2_empty = FBMsg.err_password2_empty( ) err_password2_empty['ip'] = ip err_password2_empty['data'] = data['name'] return JsonResponse(err_password2_empty) else: if str(data['password2']) == '': err_password2_empty = FBMsg.err_password2_empty( ) err_password2_empty['ip'] = ip err_password2_empty['data'] = data['name'] return JsonResponse(err_password2_empty) else: if str(data['password1']) != str( data['password2']): err_password_not_same = FBMsg.err_password_not_same( ) err_password_not_same['ip'] = ip err_password_not_same['data'] = data[ 'name'] return JsonResponse( err_password_not_same) else: transaction_code = Md5.md5( data['name']) user = User.objects.create_user( username=str(data['name']), password=str(data['password1'])) Users.objects.create( user_id=user.id, name=user.username, password=str(data['password1']), openid=transaction_code, appid=Md5.md5(data['name'] + '1'), transaction_code=Md5.md5( str(timezone.now())), developer=1, ip=ip) auth.login(request, user) ret = FBMsg.ret() data['openid'] = transaction_code ret['ip'] = ip data.pop('password1', '') data.pop('password2', '') ret['data'] = data return JsonResponse(ret) else: if 'password1' not in data: err_password1_empty = FBMsg.err_password1_empty() err_password1_empty['ip'] = ip err_password1_empty['data'] = data['name'] return JsonResponse(err_password1_empty) else: if str(data['password1']) == '': err_password1_empty = FBMsg.err_password1_empty() err_password1_empty['ip'] = ip err_password1_empty['data'] = data['name'] return JsonResponse(err_password1_empty) else: if 'password2' not in data: err_password2_empty = FBMsg.err_password2_empty() err_password2_empty['ip'] = ip err_password2_empty['data'] = data['name'] return JsonResponse(err_password2_empty) else: if str(data['password2']) == '': err_password2_empty = FBMsg.err_password2_empty( ) err_password2_empty['ip'] = ip err_password2_empty['data'] = data['name'] return JsonResponse(err_password2_empty) else: if str(data['password1']) != str( data['password2']): err_password_not_same = FBMsg.err_password_not_same( ) err_password_not_same['ip'] = ip err_password_not_same['data'] = data[ 'name'] return JsonResponse(err_password_not_same) else: transaction_code = Md5.md5(data['name']) user = User.objects.create_user( username=str(data['name']), password=str(data['password1'])) Users.objects.create( user_id=user.id, name=user.username, password=str(data['password1']), openid=transaction_code, appid=Md5.md5(data['name'] + '1'), transaction_code=Md5.md5( str(timezone.now())), developer=1, ip=ip) auth.login(request, user) ret = FBMsg.ret() ret['ip'] = ip data['openid'] = transaction_code data.pop('password1', '') data.pop('password2', '') ret['data'] = data return JsonResponse(ret)
def register(request, *args, **kwargs): post_data = json.loads(request.body.decode()) data = { "name": post_data.get('name'), "password1": post_data.get('password1'), "password2": post_data.get('password2') } ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if Users.objects.filter(name=str(data['name']), developer=1, is_delete=0).exists(): err_user_same = FBMsg.err_user_same() err_user_same['ip'] = ip err_user_same['data'] = data['name'] return JsonResponse(err_user_same) else: if data.get('password1') is None: err_password1_empty = FBMsg.err_password1_empty() err_password1_empty['ip'] = ip err_password1_empty['data'] = data['name'] return JsonResponse(err_password1_empty) else: if str(data['password1']) == '': err_password1_empty = FBMsg.err_password1_empty() err_password1_empty['ip'] = ip err_password1_empty['data'] = data['name'] return JsonResponse(err_password1_empty) else: if data.get('password2') is None: err_password2_empty = FBMsg.err_password2_empty() err_password2_empty['ip'] = ip err_password2_empty['data'] = data['name'] return JsonResponse(err_password2_empty) else: if str(data['password2']) == '': err_password2_empty = FBMsg.err_password2_empty() err_password2_empty['ip'] = ip err_password2_empty['data'] = data['name'] return JsonResponse(err_password2_empty) else: if str(data['password1']) != str(data['password2']): err_password_not_same = FBMsg.err_password_not_same( ) err_password_not_same['ip'] = ip err_password_not_same['data'] = data['name'] return JsonResponse(err_password_not_same) else: transaction_code = Md5.md5(data['name']) user = User.objects.create_user( username=str(data['name']), password=str(data['password1'])) Users.objects.create( user_id=user.id, name=str(data['name']), openid=transaction_code, appid=Md5.md5(data['name'] + '1'), t_code=Md5.md5(str(timezone.now())), developer=1, ip=ip) auth.login(request, user) staff.objects.create(staff_name=str(data['name']), staff_type='Admin', openid=transaction_code) ret = FBMsg.ret() ret['ip'] = ip data['openid'] = transaction_code data['name'] = str(data['name']) data.pop('password1', '') data.pop('password2', '') ret['data'] = data from company.models import ListModel as company company.objects.create( openid=transaction_code, company_name='GreaterWMS', company_city=str(random.choice(randomcity)), company_address='People’s Square # 666 Room 1F', company_contact=int(randomPhone()), company_manager='Elvis.Shi', creater='DemoData') from warehouse.models import ListModel as warehouse warehouse.objects.create( openid=transaction_code, warehouse_name='Center Warehouse', warehouse_city=str(random.choice(randomcity)), warehouse_address= 'People’s Square # 666 Room 2F', warehouse_contact=int(randomPhone()), warehouse_manager='Tim.Yao', creater='DemoData') from supplier.models import ListModel as supplier supplier_data_list = [] for supplier_data in range(1, 42): demo_data = supplier( openid=transaction_code, supplier_name='Supplier Name-' + str(supplier_data), supplier_city=str( random.choice(randomcity)), supplier_address='Address-' + str(supplier_data), supplier_contact=int(randomPhone()), supplier_manager=str( random.choice(randomname)), creater='DemoData') supplier_data_list.append(demo_data) supplier.objects.bulk_create(supplier_data_list, batch_size=100) from customer.models import ListModel as customer customer_data_list = [] for customer_data in range(1, 42): demo_data = customer( openid=transaction_code, customer_name='Customer Name-' + str(customer_data), customer_city=str( random.choice(randomcity)), customer_address='Address-' + str(customer_data), customer_contact=int(randomPhone()), customer_manager=str( random.choice(randomname)), creater='DemoData') customer_data_list.append(demo_data) customer.objects.bulk_create(customer_data_list, batch_size=100) staff_data_list = [] for staff_data in randomname: demo_data = staff(openid=transaction_code, staff_name=staff_data, staff_type=str( randomStaffType())) staff_data_list.append(demo_data) staff.objects.bulk_create(staff_data_list, batch_size=100) from driver.models import ListModel as driver driver_data_list = [] for driver_data in range(1, 42): demo_data = driver( openid=transaction_code, driver_name='Driver Name-' + str(driver_data), license_plate="".join( random.choice("0123456789") for i in range(8)), creater='DemoData') driver_data_list.append(demo_data) driver.objects.bulk_create(driver_data_list, batch_size=100) from capital.models import ListModel as capital capital_data_list = [] for capital_data in range(1, 42): demo_data = capital( openid=transaction_code, capital_name='Capital Name-' + str(capital_data), capital_qty=random.randint(1, 100), capital_cost=random.randint(100, 10000), creater='DemoData') capital_data_list.append(demo_data) capital.objects.bulk_create(capital_data_list, batch_size=100) from binsize.models import ListModel as binsize binsize_data_list = [ binsize(openid=transaction_code, bin_size='Big', bin_size_w=1100, bin_size_d=1200, bin_size_h=1800, creater='DemoData'), binsize(openid=transaction_code, bin_size='Floor', bin_size_w=10000, bin_size_d=10000, bin_size_h=10000, creater='DemoData'), binsize(openid=transaction_code, bin_size='Small', bin_size_w=800, bin_size_d=1000, bin_size_h=1200, creater='DemoData'), binsize(openid=transaction_code, bin_size='Tiny', bin_size_w=200, bin_size_d=250, bin_size_h=300, creater='DemoData') ] binsize.objects.bulk_create(binsize_data_list, batch_size=100) from binset.models import ListModel as binset binset_data_list = [ binset(openid=transaction_code, bin_name='A010101', bin_size=str( random.choice(randombinsize)), bin_property="Normal", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='A010102', bin_size=str( random.choice(randombinsize)), bin_property="Normal", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='A010103', bin_size=str( random.choice(randombinsize)), bin_property="Normal", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B010101', bin_size=str( random.choice(randombinsize)), bin_property="Inspection", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B010102', bin_size=str( random.choice(randombinsize)), bin_property="Inspection", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B010103', bin_size=str( random.choice(randombinsize)), bin_property="Inspection", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B020101', bin_size=str( random.choice(randombinsize)), bin_property="Holding", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B020102', bin_size=str( random.choice(randombinsize)), bin_property="Holding", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B020103', bin_size=str( random.choice(randombinsize)), bin_property="Holding", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B030101', bin_size=str( random.choice(randombinsize)), bin_property="Damage", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B030102', bin_size=str( random.choice(randombinsize)), bin_property="Damage", empty_label=True, creater='DemoData'), binset(openid=transaction_code, bin_name='B030103', bin_size=str( random.choice(randombinsize)), bin_property="Damage", empty_label=True, creater='DemoData'), ] binset.objects.bulk_create(binset_data_list, batch_size=100) from goodsunit.models import ListModel as goodsunit demo_data = [] for goods_unit in randomunit: demo_data.append( goodsunit(openid=transaction_code, goods_unit=goods_unit, creater='DemoData')) goodsunit.objects.bulk_create(demo_data, batch_size=100) from goodsclass.models import ListModel as goodsclass demo_data = [] for goods_class in randomclass: demo_data.append( goodsclass(openid=transaction_code, goods_class=goods_class, creater='DemoData')) goodsclass.objects.bulk_create(demo_data, batch_size=100) from goodscolor.models import ListModel as goodscolor demo_data = [] for goods_color in randomcolor: demo_data.append( goodscolor(openid=transaction_code, goods_color=goods_color, creater='DemoData')) goodscolor.objects.bulk_create(demo_data, batch_size=100) from goodsbrand.models import ListModel as goodsbrand goodsbrand_data_list = [] for goodsbrand_data in range(1, 42): demo_data = goodsbrand( openid=transaction_code, goods_brand='Brand Name-' + str(goodsbrand_data), creater='DemoData') goodsbrand_data_list.append(demo_data) goodsbrand.objects.bulk_create( goodsbrand_data_list, batch_size=100) from goodsshape.models import ListModel as goodsshape demo_data = [] for goods_shape in randomshape: demo_data.append( goodsshape(openid=transaction_code, goods_shape=goods_shape, creater='DemoData')) goodsshape.objects.bulk_create(demo_data, batch_size=100) from goodsspecs.models import ListModel as goodsspecs demo_data = [] for goods_specs in randomspecs: demo_data.append( goodsspecs(openid=transaction_code, goods_specs=goods_specs, creater='DemoData')) goodsspecs.objects.bulk_create(demo_data, batch_size=100) from goodsorigin.models import ListModel as goodsorigin goodsorigin_data_list = [] for city in randomcity: demo_data = goodsorigin( openid=transaction_code, goods_origin=city, creater='DemoData') goodsorigin_data_list.append(demo_data) goodsorigin.objects.bulk_create( goodsorigin_data_list, batch_size=100) from goods.models import ListModel as goods goods_data_list = [] for goods_data in range(1, 42): goods_w = round(random.uniform(10, 1000), 2), goods_d = round(random.uniform(10, 1000), 2), goods_h = round(random.uniform(10, 1000), 2), goods_cost = round(random.uniform(10, 1000), 2), goods_price = round(random.uniform(10, 1000), 2), while True: if goods_cost[0] >= goods_price[0]: goods_price = round( random.uniform(10, 1000), 2), else: break demo_data = goods( openid=transaction_code, goods_code="A0000" + str(goods_data), goods_desc="Goods Desc-" + str(goods_data), goods_supplier='Supplier Name-' + str(random.randint(1, 42)), goods_weight=random.randint(100, 10000), goods_w=goods_w[0], goods_d=goods_d[0], goods_h=goods_h[0], unit_volume=round( (int(goods_w[0]) * int(goods_d[0]) * int(goods_h[0])) / 1000000000, 4), goods_unit=random.choice(randomunit), goods_class=random.choice(randomclass), goods_brand='Brand Name-' + str(random.randint(1, 42)), goods_color=random.choice(randomcolor), goods_shape=random.choice(randomshape), goods_specs=random.choice(randomspecs), goods_origin=random.choice(randomcity), goods_cost=goods_cost[0], goods_price=goods_price[0], creater='DemoData') goods_data_list.append(demo_data) goods.objects.bulk_create(goods_data_list, batch_size=100) from payment.models import TransportationFeeListModel as freight freight_data_list = [] for sender in randomcity: for receiver in randomcity: demo_data = freight( openid=transaction_code, send_city=sender, receiver_city=receiver, weight_fee=random.randint(10, 20), volume_fee=random.randint(100, 200), min_payment=random.randint(250, 300), transportation_supplier="Supplier", creater="DemoData") freight_data_list.append(demo_data) freight.objects.bulk_create(freight_data_list, batch_size=100) return JsonResponse(ret)
def post(self, request, *args, **kwargs): if models.Users.objects.filter(openid=request.auth, appid=request.user.appid, developer=1, is_delete=0).exists(): if models.Users.objects.filter(appid=request.user.appid, is_delete=0).count() >= 6: return Response(FBMsg.err_more_user()) else: return Response(FBMsg.err_dev()) data = DataSolve.datasolve(request) try: if data['code'] == "1031": return Response(FBMsg.err_bad()) except: if models.Users.objects.filter(appid=request.user.appid, name=data['name'], is_delete=0).exists(): return Response(FBMsg.err_user_same()) else: ip = request.META.get( 'HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get( 'REMOTE_ADDR') if 'name' not in data: return Response(FBMsg.err_user_name()) else: if data['name'] == '': return Response(FBMsg.err_user_name()) else: if 'nickname' not in data: return Response(FBMsg.err_user_name()) else: if data['nickname'] == '': return Response(FBMsg.err_user_name()) else: if 'password1' not in data: return Response( FBMsg.err_password1_empty()) else: if data['password1'] == '': return Response( FBMsg.err_password1_empty()) else: if 'password2' not in data: return Response( FBMsg.err_password2_empty()) else: if data['password2'] == '': return Response( FBMsg.err_password2_empty( )) else: if data['password1'] != data[ 'password2']: return Response( FBMsg. err_password_not_same( )) else: transaction_code = Md5.md5( data['nickname']) models.Users.objects.create( openid=Md5.md5( data['name']), appid=request.user. appid, transaction_code= transaction_code, name=data['name'], nickname=data[ 'nickname'], password=data[ 'password1'], ip=ip) ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data['name'] return Response(ret)
def get(self, request, *args, **kwargs): vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip vip_check = VipCheck.VipCheck(vip_id) if vip_check == "N": return Response(FBMsg.wms_vip_get()) elif vip_check == "Y": if request._request.GET.get('getfile', ''): if str(request._request.GET.get('getfile', '')) == "1": file_data = stockbinlist.models.ListModel.objects.filter( appid=request.user.appid, is_delete=0).order_by('name') file_detail1 = [] file_detail2 = [] file_detail3 = [] file_detail4 = [] file_detail5 = [] filepath = os.path.join( settings.BASE_DIR, 'media/file/' + pathlink + '/' + request.user.appid + '.xlsx') for i in range(len(file_data)): file_detail1.append(file_data[i].name) file_detail2.append(file_data[i].goods_code) file_detail3.append(file_data[i].goods_name) file_detail4.append('') file_detail5.append(file_data[i].t_code) df = pd.DataFrame({ pathname: file_detail1, '商品编码': file_detail2, '商品描述': file_detail3, '盘点用户名': file_detail4, '数据标识': file_detail5 }) dir_path = os.path.join(settings.BASE_DIR, 'media/file/' + pathlink + '/') if os.path.exists(dir_path): pass else: os.makedirs(dir_path) if os.path.isfile(filepath): os.remove(filepath) else: pass df.to_excel(filepath, sheet_name='sheet1', startcol=0, index=False) file = open(filepath, 'rb') response = FileResponse(file) response['Content-Type'] = 'application/octet-stream' response[ 'Content-Disposition'] = 'attachment;filename="cyclecountlist.xlsx"' return response if str(request._request.GET.get('getfile', '')) == "2": file_data = ListModel.objects.filter( appid=request.user.appid) file_detail1 = [] file_detail2 = [] file_detail3 = [] file_detail4 = [] file_detail5 = [] file_detail6 = [] file_detail7 = [] file_detail8 = [] file_detail9 = [] filepath = os.path.join( settings.BASE_DIR, 'media/file/' + pathlink + '/' + request.user.appid + '.xlsx') for i in range(len(file_data)): file_detail1.append(file_data[i].name) file_detail2.append(file_data[i].goods_code) file_detail3.append(file_data[i].goods_name) file_detail4.append(file_data[i].goods_qty) file_detail5.append(file_data[i].cycle_count_balance) file_detail6.append(file_data[i].staff) file_detail7.append(file_data[i].inbound_time.strftime( "%Y-%m-%d %H:%M:%S")) file_detail8.append(file_data[i].create_time.strftime( "%Y-%m-%d %H:%M:%S")) file_detail9.append( file_data[i].last_update_time.strftime( "%Y-%m-%d %H:%M:%S")) df = pd.DataFrame({ pathname: file_detail1, '商品编码': file_detail2, '商品描述': file_detail3, '盘点数量': file_detail4, '盘点差异': file_detail5, '盘点用户名': file_detail6, '入库时间': file_detail7, '创建时间': file_detail8, '最后更新时间': file_detail9 }) dir_path = os.path.join(settings.BASE_DIR, 'media/file/' + pathlink + '/') if os.path.exists(dir_path): pass else: os.makedirs(dir_path) if os.path.isfile(filepath): os.remove(filepath) else: pass df.to_excel(filepath, sheet_name='sheet1', startcol=0, index=False) file = open(filepath, 'rb') response = FileResponse(file) response['Content-Type'] = 'application/octet-stream' response[ 'Content-Disposition'] = 'attachment;filename="cyclecountresult.xlsx"' return response else: ret = FBMsg.wms_errfile() return Response(ret) else: sort = request._request.GET.get('sort', 'name') max_page = request._request.GET.get('max_page', 100) list = ListModel.objects.filter( appid=request.user.appid).order_by(sort) if request._request.GET.get('name', ''): list = list.filter(name__icontains=str( request._request.GET.get('name', ''))).order_by(sort) if request._request.GET.get('goods_code', ''): list = list.filter(goods_code__icontains=str( request._request.GET.get('goods_code', ''))).order_by( sort) if request._request.GET.get('goods_name', ''): list = list.filter(goods_name__icontains=str( request._request.GET.get('goods_name', ''))).order_by( sort) if request._request.GET.get('staff', ''): if list.filter(staff=str( request._request.GET.get('staff', ''))).exists(): list = list.filter( staff=str(request._request.GET.get( 'staff', ''))).order_by(sort) else: return Response(FBMsg.wms_no_user()) if request._request.GET.get('t_code', ''): list = list.filter(t_code=str( request._request.GET.get('t_code', ''))).order_by(sort) if request._request.GET.get('date1', ''): try: start_date = request._request.GET.get('date1', '') date = [int(x) for x in start_date.split('/')] new = datetime.datetime(date[0], date[1], date[2]) start_date = new.strftime('%Y-%m-%d') if request._request.GET.get('date2', ''): date_end = request._request.GET.get('date2', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('/')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') date = [int(x) for x in end_date.split('-')] old = datetime.datetime(date[0], date[1], date[2]) if (old - new).days < 0: return Response(FBMsg.wms_time()) else: list = list.filter( create_time__range=[start_date, end_date ]).order_by(sort) except: pass if request._request.GET.get('udate1', ''): try: start_date = request._request.GET.get('udate1', '') date = [int(x) for x in start_date.split('/')] new = datetime.datetime(date[0], date[1], date[2]) start_date = new.strftime('%Y-%m-%d') if request._request.GET.get('udate2', ''): date_end = request._request.GET.get('udate2', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('/')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') date = [int(x) for x in end_date.split('-')] old = datetime.datetime(date[0], date[1], date[2]) if (old - new).days < 0: return Response(FBMsg.wms_time()) else: list = list.filter( last_update_time__range=[start_date, end_date ]).order_by(sort) except: pass pg = MyPageNumberPagination() pg_list = pg.paginate_queryset(queryset=list, request=request, view=self) list_ser = ListSerializers(pg_list, many=True) ip = request.META.get( 'HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get( 'REMOTE_ADDR') ret = FBMsg.ret() ret['ip'] = ip ret['data'] = list_ser.data ret['totlepage'] = math.ceil(list.count() / int(max_page)) return pg.get_paginated_response(ret) else: return Response(FBMsg.wms_vip_get())
def register(request, *args, **kwargs): post_data = json.loads(request.body.decode()) data = { "name": post_data.get('name'), "password1": post_data.get('password1'), "password2": post_data.get('password2') } ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if Users.objects.filter(name=str(data['name']), developer=1, is_delete=0).exists(): err_user_same = FBMsg.err_user_same() err_user_same['ip'] = ip err_user_same['data'] = data['name'] return JsonResponse(err_user_same) else: if data.get('password1') is None: err_password1_empty = FBMsg.err_password1_empty() err_password1_empty['ip'] = ip err_password1_empty['data'] = data['name'] return JsonResponse(err_password1_empty) else: if str(data['password1']) == '': err_password1_empty = FBMsg.err_password1_empty() err_password1_empty['ip'] = ip err_password1_empty['data'] = data['name'] return JsonResponse(err_password1_empty) else: if data.get('password2') is None: err_password2_empty = FBMsg.err_password2_empty() err_password2_empty['ip'] = ip err_password2_empty['data'] = data['name'] return JsonResponse(err_password2_empty) else: if str(data['password2']) == '': err_password2_empty = FBMsg.err_password2_empty() err_password2_empty['ip'] = ip err_password2_empty['data'] = data['name'] return JsonResponse(err_password2_empty) else: if str(data['password1']) != str(data['password2']): err_password_not_same = FBMsg.err_password_not_same( ) err_password_not_same['ip'] = ip err_password_not_same['data'] = data['name'] return JsonResponse(err_password_not_same) else: transaction_code = Md5.md5(data['name']) user = User.objects.create_user( username=str(data['name']), password=str(data['password1'])) Users.objects.create( user_id=user.id, name=str(data['name']), openid=transaction_code, appid=Md5.md5(data['name'] + '1'), t_code=Md5.md5(str(timezone.now())), developer=1, ip=ip) auth.login(request, user) staff.objects.create(staff_name=str(data['name']), staff_type='1', openid=transaction_code) ret = FBMsg.ret() ret['ip'] = ip data['openid'] = transaction_code data['name'] = str(data['name']) data.pop('password1', '') data.pop('password2', '') ret['data'] = data return JsonResponse(ret)
def get(self, request, *args, **kwargs): vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip vip_check = VipCheck.VipCheck(vip_id) if vip_check == "N": return Response(FBMsg.wms_vip_get()) elif vip_check == "Y": if request._request.GET.get('getfile', ''): if str(request._request.GET.get('getfile', '')) == "1": file_data = ListModel.objects.filter(appid=request.user.appid, is_delete=0) file_detail1 = [] file_detail2 = [] file_detail3 = [] file_detail4 = [] file_detail5 = [] file_detail6 = [] file_detail7 = [] file_detail8 = [] file_detail9 = [] file_detail11 = [] file_detail12 = [] file_detail13 = [] file_detail14 = [] file_detail15 = [] file_detail16 = [] file_detail17 = [] file_detail18 = [] file_detail19 = [] file_detail20 = [] filepath = os.path.join(settings.BASE_DIR, 'media/file/' + pathlink + '/' + request.user.appid + '.xlsx') for i in range(len(file_data)): file_detail1.append(file_data[i].name) file_detail2.append(file_data[i].goods_name) file_detail3.append(file_data[i].goods_unit) file_detail4.append(file_data[i].goods_class) file_detail5.append(file_data[i].goods_spacs) file_detail6.append(file_data[i].goods_shape) file_detail7.append(file_data[i].goods_color) file_detail8.append(file_data[i].goods_brand) file_detail9.append(file_data[i].goods_city) file_detail11.append(file_data[i].goods_l) file_detail12.append(file_data[i].goods_w) file_detail13.append(file_data[i].goods_h) file_detail14.append(file_data[i].goods_weight) file_detail15.append(file_data[i].goods_cost) file_detail16.append(file_data[i].goods_price1) file_detail17.append(file_data[i].goods_price2) file_detail18.append(file_data[i].goods_price3) file_detail19.append(file_data[i].create_time.strftime("%Y-%m-%d %H:%M:%S")) file_detail20.append(file_data[i].last_update_time.strftime("%Y-%m-%d %H:%M:%S")) df = pd.DataFrame({pathname: file_detail1, '商品描述': file_detail2, '商品单位': file_detail3, '商品类别': file_detail4, '商品规格': file_detail5, '商品形状': file_detail6, '商品颜色': file_detail7, '商品品牌': file_detail8, '商品产地': file_detail9, '商品长(单位: mm)': file_detail11, '商品宽(单位: mm)': file_detail12, '商品高(单位: mm)': file_detail13, '商品重量(单位: 克)': file_detail14, '成本价(单位: 元)': file_detail15, '一销价(单位: 元)': file_detail16, '二销价(单位: 元)': file_detail17, '三销价(单位: 元)': file_detail18, '创建时间': file_detail19, '最后更新时间': file_detail20 }) dir_path = os.path.join(settings.BASE_DIR, 'media/file/' + pathlink + '/') if os.path.exists(dir_path): pass else: os.makedirs(dir_path) if os.path.isfile(filepath): os.remove(filepath) else: pass df.to_excel(filepath, sheet_name='sheet1', startcol=0, index=False) file = open(filepath, 'rb') response = FileResponse(file) response['Content-Type'] = 'application/octet-stream' response['Content-Disposition'] = 'attachment;filename="%s.xlsx"' % pathlink return response else: ret = FBMsg.wms_errfile() return Response(ret) else: sort = request._request.GET.get('sort', '-create_time') max_page = request._request.GET.get('max_page', 100) list = ListModel.objects.filter(appid=request.user.appid, is_delete=0).order_by(sort) if request._request.GET.get('name', ''): list = list.filter(name__icontains=str(request._request.GET.get('name', ''))).order_by(sort) if request._request.GET.get('goods_name', ''): list = list.filter(goods_name__icontains=str(request._request.GET.get('goods_name', ''))).order_by(sort) if request._request.GET.get('goods_unit', ''): list = list.filter(goods_unit__icontains=str(request._request.GET.get('goods_unit', ''))).order_by(sort) if request._request.GET.get('goods_class', ''): list = list.filter(goods_class__icontains=str(request._request.GET.get('goods_class', ''))).order_by(sort) if request._request.GET.get('goods_spacs', ''): list = list.filter(goods_spacs__icontains=str(request._request.GET.get('goods_spacs', ''))).order_by(sort) if request._request.GET.get('goods_shape', ''): list = list.filter(goods_shape__icontains=str(request._request.GET.get('goods_shape', ''))).order_by(sort) if request._request.GET.get('goods_color', ''): list = list.filter(goods_color__icontains=str(request._request.GET.get('goods_color', ''))).order_by(sort) if request._request.GET.get('goods_brand', ''): list = list.filter(goods_brand__icontains=str(request._request.GET.get('goods_brand', ''))).order_by(sort) if request._request.GET.get('goods_city', ''): list = list.filter(goods_city__icontains=str(request._request.GET.get('goods_city', ''))).order_by(sort) if request._request.GET.get('create_name', ''): list = list.filter(create_name__icontains=str(request._request.GET.get('create_name', ''))).order_by(sort) if request._request.GET.get('date1', ''): try: start_date = request._request.GET.get('date1', '') date = [int(x) for x in start_date.split('/')] new = datetime.datetime(date[0], date[1], date[2]) start_date = new.strftime('%Y-%m-%d') if request._request.GET.get('date2', ''): date_end = request._request.GET.get('date2', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('/')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') date = [int(x) for x in end_date.split('-')] old = datetime.datetime(date[0], date[1], date[2]) if (old - new).days < 0: return Response(FBMsg.wms_time()) else: list = list.filter(create_time__range=[start_date, end_date]).order_by(sort) except: pass if request._request.GET.get('udate1', ''): try: start_date = request._request.GET.get('udate1', '') date = [int(x) for x in start_date.split('/')] new = datetime.datetime(date[0], date[1], date[2]) start_date = new.strftime('%Y-%m-%d') if request._request.GET.get('udate2', ''): date_end = request._request.GET.get('udate2', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('/')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') date = [int(x) for x in end_date.split('-')] old = datetime.datetime(date[0], date[1], date[2]) if (old - new).days < 0: return Response(FBMsg.wms_time()) else: list = list.filter(last_update_time__range=[start_date, end_date]).order_by(sort) except: pass pg = MyPageNumberPagination() pg_list = pg.paginate_queryset(queryset=list, request=request, view=self) list_ser = ListSerializers(pg_list, many=True) ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') ret = FBMsg.ret() ret['ip'] = ip ret['data'] = list_ser.data ret['totlepage'] = math.ceil(list.count()/int(max_page)) return pg.get_paginated_response(ret) else: return Response(FBMsg.wms_vip_get())
def get(self, request, *args, **kwargs): vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip vip_check = VipCheck.VipCheck(vip_id) if vip_check == "N": return Response(FBMsg.wms_vip_get()) elif vip_check == "Y": if request._request.GET.get('getfile', ''): if str(request._request.GET.get('getfile', '')) == "1": file_data = UserAuth.objects.filter( appid=request.user.appid, is_delete=0) file_detail1 = [] file_detail2 = [] file_detail3 = [] file_detail4 = [] file_detail5 = [] file_detail6 = [] file_detail7 = [] file_detail8 = [] file_detail9 = [] file_detail10 = [] file_detail11 = [] file_detail12 = [] file_detail13 = [] file_detail14 = [] file_detail15 = [] file_detail16 = [] file_detail17 = [] file_detail18 = [] file_detail19 = [] file_detail20 = [] file_detail21 = [] file_detail22 = [] file_detail23 = [] filepath = os.path.join( settings.BASE_DIR, 'media/file/' + pathlink + '/' + request.user.appid + '.xlsx') for i in range(len(file_data)): file_detail1.append(file_data[i].name) file_detail2.append(file_data[i].aut1) file_detail3.append(file_data[i].aut2) file_detail4.append(file_data[i].aut3) file_detail5.append(file_data[i].aut4) file_detail6.append(file_data[i].aut5) file_detail7.append(file_data[i].aut6) file_detail8.append(file_data[i].aut7) file_detail9.append(file_data[i].aut8) file_detail10.append(file_data[i].aut9) file_detail11.append(file_data[i].aut10) file_detail12.append(file_data[i].aut11) file_detail13.append(file_data[i].aut12) file_detail14.append(file_data[i].aut13) file_detail15.append(file_data[i].aut14) file_detail16.append(file_data[i].aut15) file_detail17.append(file_data[i].aut16) file_detail18.append(file_data[i].aut17) file_detail19.append(file_data[i].aut18) file_detail20.append(file_data[i].aut19) file_detail21.append(file_data[i].aut20) file_detail22.append(file_data[i].create_time.strftime( "%Y-%m-%d %H:%M:%S")) file_detail23.append( file_data[i].last_update_time.strftime( "%Y-%m-%d %H:%M:%S")) df = pd.DataFrame({ pathname: file_detail1, 'aut1': file_detail2, 'aut2': file_detail3, 'aut3': file_detail4, 'aut4': file_detail5, 'aut5': file_detail6, 'aut6': file_detail7, 'aut7': file_detail2, 'aut8': file_detail9, 'aut9': file_detail10, 'aut10': file_detail11, 'aut11': file_detail12, 'aut12': file_detail13, 'aut13': file_detail14, 'aut14': file_detail15, 'aut15': file_detail16, 'aut16': file_detail17, 'aut17': file_detail18, 'aut18': file_detail19, 'aut19': file_detail20, 'aut20': file_detail21, '创建时间': file_detail22, '最后更新时间': file_detail23 }) dir_path = os.path.join(settings.BASE_DIR, 'media/file/' + pathlink + '/') if os.path.exists(dir_path): pass else: os.makedirs(dir_path) if os.path.isfile(filepath): os.remove(filepath) else: pass df.to_excel(filepath, sheet_name='sheet1', index=False, encoding='utf-8') file = open(filepath, 'rb') response = FileResponse(file) response['Content-Type'] = 'application/octet-stream' response[ 'Content-Disposition'] = 'attachment;filename="%s.xlsx"' % pathlink return response else: ret = FBMsg.wms_errfile() return Response(ret) else: sort = request._request.GET.get('sort', '-create_time') max_page = request._request.GET.get('max_page', 100) list = UserAuth.objects.filter(appid=request.user.appid, is_delete=0).order_by(sort) if request._request.GET.get('name', ''): list = list.filter(name__icontains=request._request.GET. get('name', '')).order_by(sort) if request._request.GET.get('create_name', ''): list = list.filter( create_name__icontains=request._request.GET.get( 'create_name', '')).order_by(sort) if request._request.GET.get('authorization', ''): if str(request._request.GET.get('authorization', '')) == "1": auth_name = Users.objects.filter( appid=request.user.appid, openid=request.auth, is_delete=0).first().auth_name list = list.filter(appid=request.user.appid, name=auth_name, is_delete=0).order_by(sort) if request._request.GET.get('date1', ''): try: start_date = request._request.GET.get('date1', '') date = [int(x) for x in start_date.split('/')] new = datetime.datetime(date[0], date[1], date[2]) start_date = new.strftime('%Y-%m-%d') if request._request.GET.get('date2', ''): date_end = request._request.GET.get('date2', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('/')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') date = [int(x) for x in end_date.split('-')] old = datetime.datetime(date[0], date[1], date[2]) if (old - new).days < 0: return Response(FBMsg.wms_time()) else: list = list.filter( create_time__range=[start_date, end_date ]).order_by(sort) except: pass if request._request.GET.get('udate1', ''): try: start_date = request._request.GET.get('udate1', '') date = [int(x) for x in start_date.split('/')] new = datetime.datetime(date[0], date[1], date[2]) start_date = new.strftime('%Y-%m-%d') if request._request.GET.get('udate2', ''): date_end = request._request.GET.get('udate2', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('/')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') date = [int(x) for x in end_date.split('-')] old = datetime.datetime(date[0], date[1], date[2]) if (old - new).days < 0: return Response(FBMsg.wms_time()) else: list = list.filter( last_update_time__range=[start_date, end_date ]).order_by(sort) except: pass pg = MyPageNumberPagination() pg_list = pg.paginate_queryset(queryset=list, request=request, view=self) list_ser = ListSerializers(pg_list, many=True) ip = request.META.get( 'HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get( 'REMOTE_ADDR') ret = FBMsg.ret() ret['ip'] = ip ret['data'] = list_ser.data ret['totlepage'] = math.ceil(list.count() / int(max_page)) return pg.get_paginated_response(ret) else: return Response(FBMsg.wms_vip_get())
def get(self, request, *args, **kwargs): vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip vip_check = VipCheck.VipCheck(vip_id) if vip_check == "N": return Response(FBMsg.wms_vip_get()) elif vip_check == "Y": if request._request.GET.get('getfile', ''): if str(request._request.GET.get('getfile', '')) == "1": file_data = DetailModel.objects.filter( appid=request.user.appid, is_delete=0) file_detail1 = [] file_detail2 = [] file_detail3 = [] file_detail4 = [] file_detail5 = [] filepath = os.path.join( settings.BASE_DIR, 'media/file/' + pathlink + '/' + request.user.appid + '.xlsx') for i in range(len(file_data)): file_detail1.append(file_data[i].name) file_detail2.append(file_data[i].po_status) file_detail3.append(file_data[i].create_name) file_detail4.append(file_data[i].create_time.strftime( "%Y-%m-%d %H:%M:%S")) file_detail5.append( file_data[i].last_update_time.strftime( "%Y-%m-%d %H:%M:%S")) df = pd.DataFrame({ pathname: file_detail1, '订单状态': file_detail2, '创建人': file_detail3, '创建时间': file_detail4, '最后更新时间': file_detail5 }) dir_path = os.path.join(settings.BASE_DIR, 'media/file/' + pathlink + '/') if os.path.exists(dir_path): pass else: os.makedirs(dir_path) if os.path.isfile(filepath): os.remove(filepath) else: pass df.to_excel(filepath, sheet_name='sheet1', startcol=0, index=False) file = open(filepath, 'rb') response = FileResponse(file) response['Content-Type'] = 'application/octet-stream' response[ 'Content-Disposition'] = 'attachment;filename="%s.xlsx"' % pathlink return response else: ret = FBMsg.wms_errfile() return Response(ret) else: sort = request._request.GET.get('sort', '-create_time') max_page = request._request.GET.get('max_page', 100) list = DetailModel.objects.filter(appid=request.user.appid, is_delete=0).order_by(sort) if request._request.GET.get('po_number', ''): list = list.filter( name__icontains=request._request.GET.get( 'po_number', '')).order_by(sort) if request._request.GET.get('po_status', ''): list = list.filter( po_status=int(request._request.GET.get( 'po_status', ''))).order_by(sort) if request._request.GET.get('supplier', ''): list = list.filter( supplier__icontains=request._request.GET.get( 'supplier', '')).order_by(sort) if request._request.GET.get('sorted', ''): list = list.filter(up_qty__gt=int( request._request.GET.get('sorted', ''))).order_by(sort) if request._request.GET.get('shortage', ''): list = list.filter(shortage_qty__gt=int( request._request.GET.get('shortage', ''))).order_by( sort) if request._request.GET.get('damage', ''): list = list.filter(damage_qty__gt=int( request._request.GET.get('damage', ''))).order_by(sort) if request._request.GET.get('more', ''): list = list.filter(more_qty__gt=int( request._request.GET.get('more', ''))).order_by(sort) if request._request.GET.get('create_name', ''): list = list.filter( create_name__icontains=request._request.GET.get( 'create_name', '')).order_by(sort) if request._request.GET.get('t_code', ''): list = list.filter(t_code=request._request.GET.get( 't_code', '')).order_by(sort) if request._request.GET.get('date1', ''): try: start_date = request._request.GET.get('date1', '') date = [int(x) for x in start_date.split('/')] new = datetime.datetime(date[0], date[1], date[2]) start_date = new.strftime('%Y-%m-%d') if request._request.GET.get('date2', ''): date_end = request._request.GET.get('date2', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('/')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') date = [int(x) for x in end_date.split('-')] old = datetime.datetime(date[0], date[1], date[2]) if (old - new).days < 0: return Response(FBMsg.wms_time()) else: list = list.filter( create_time__range=[start_date, end_date ]).order_by(sort) except: pass if request._request.GET.get('udate1', ''): try: start_date = request._request.GET.get('udate1', '') date = [int(x) for x in start_date.split('/')] new = datetime.datetime(date[0], date[1], date[2]) start_date = new.strftime('%Y-%m-%d') if request._request.GET.get('udate2', ''): date_end = request._request.GET.get('udate2', '') delta = datetime.timedelta(days=1) date = [int(x) for x in date_end.split('/')] old = datetime.datetime(date[0], date[1], date[2]) end_date = (old + delta).strftime('%Y-%m-%d') else: today = datetime.date.today() delta = datetime.timedelta(days=1) end_date = (today + delta).strftime('%Y-%m-%d') date = [int(x) for x in end_date.split('-')] old = datetime.datetime(date[0], date[1], date[2]) if (old - new).days < 0: return Response(FBMsg.wms_time()) else: list = list.filter( last_update_time__range=[start_date, end_date ]).order_by(sort) except: pass pg = MyPageNumberPagination() pg_list = pg.paginate_queryset(queryset=list, request=request, view=self) list_ser = ListSerializers(pg_list, many=True) ip = request.META.get( 'HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get( 'REMOTE_ADDR') bin_list = binset.models.ListModel.objects.filter( appid=request.user.appid, is_delete=0).order_by('name') bin_list_ser = BinListSerializers(bin_list, many=True) ret = FBMsg.ret() ret['ip'] = ip ret['data'] = list_ser.data ret['totlepage'] = math.ceil(list.count() / int(max_page)) ret['bin_list'] = bin_list_ser.data return pg.get_paginated_response(ret) else: return Response(FBMsg.wms_vip_get())
def post(self, request, *args, **kwargs): if models.Users.objects.filter(openid=request.auth, appid=request.user.appid, developer=1, is_delete=0).exists(): pass else: return Response(FBMsg.err_dev()) data = DataSolve.datasolve(request) try: if data['code'] == "1031": return Response(FBMsg.err_bad()) except: ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if models.Users.objects.filter(appid=request.user.appid, name=data['name'], is_delete=0).exists(): user = models.Users.objects.filter(appid=request.user.appid, name=data['name'], is_delete=0).first() if 'password' not in data: return Response(FBMsg.err_psw()) else: if data['password'] == '': return Response(FBMsg.err_psw()) else: if user.password == data['password']: today = datetime.date.today() note_date = today.strftime('%Y-%m-%d') today_note = NoteBook.objects.filter( openid=user.openid, note_day__gte=note_date, is_delete=0).order_by('note_day')[:30] today_note_ser = NoteBookSerializers(today_note, many=True) note_num = NoteBook.objects.filter( openid=user.openid, note_day=note_date, progress=0, is_delete=0).count() delta = datetime.timedelta(days=90) start_date = (today - delta).strftime('%Y-%m-%d') end_date = (today + delta).strftime('%Y-%m-%d') events = NoteBook.objects.filter( openid=user.openid, note_day__range=[start_date, end_date ]).order_by('-create_time') events_ser = NoteBookEventSerializers(events, many=True) ret = FBMsg.ret() data.pop('name') data.pop('password') ret['ip'] = ip ret['events'] = events_ser.data ret['today_note'] = today_note_ser.data ret['note_num'] = note_num data['openid'] = user.openid ret['data'] = data return Response(ret) else: err_ret = FBMsg.err_ret() return Response(err_ret) else: return Response(FBMsg.err_auth())