def redirect_change_interbranch_order_status(request): data_list = [] try: action = request.POST.get('action', '') checkdata = request.POST.get('checkdata', '') checkdata_list = eval(checkdata) for item in checkdata_list: if action == 'print': if item['status'] == 'Open': InterbranchOrder.objects.filter(id=item['id']).update( status='Printed') data_list.append(item['id']) elif action == 'cancel': if item['status'] == 'Open' or item['status'] == 'Printed': InterbranchOrder.objects.filter(id=item['id']).update( status='Cancelled') elif action == 'fulfill': if item['status'] == 'Printed': InterbranchOrder.objects.filter(id=item['id']).update( status='Fulfilled') elif action == 'receive': if item['status'] == 'Fulfilled': InterbranchOrder.objects.filter(id=item['id']).update( status='Finish') return json_response(code=0, msg='Success', data=data_list) except Exception as e: return json_response(code=-1, msg=e)
def compare_face(): if 'files' not in request.files: return json_response(error(400, "no files sent"), None) uploaded_files = request.files.getlist("files") faces = [] for f in uploaded_files: file_path = save_image(IMG_PATH, f) faces.append(file_path) try: start_time = time.time() dist = face_match_controller.compare_two_faces(faces[0], faces[1]) result = 1 if dist < 1 else 0 return json_response( None, { "distance": dist, "valid": result, "time_taken": time.time() - start_time }) except IndexError as e: logger.exception(e) return json_response( error(400, "cannot find face in one or both image"), None) except Exception as e: logger.exception(e) return json_response(error(400, "cannot determine similarity"), None)
def redirect_create_stock_in_request(request): try: stock_order_number = request.POST.get('stock_order_number', '') lab_number = request.POST.get('lab_number', '') frame = request.POST.get('frame', '') #lens_sku = request.POST.get('lens_sku', '') quantity = request.POST.get('quantity', '') act_quantity = request.POST.get('act_quantity', '') comments = request.POST.get('comments', '') if act_quantity == '': return json_response(code=-1, msg='参数不能为空') stockinrequests = StockInRequest.objects.filter(lab_number=lab_number) if len(stockinrequests) > 0: return json_response(code=-1, msg='该订单已经生成了StockInRequest') stock_order = StockOrder.objects.get( stock_order_number=stock_order_number) new_stockin_request = StockInRequest() new_stockin_request.lab_number = lab_number new_stockin_request.frame = stock_order.frame new_stockin_request.stock_order_number = stock_order_number new_stockin_request.quantity = quantity new_stockin_request.act_quantity = act_quantity new_stockin_request.comments = comments new_stockin_request.user_id = request.user.id new_stockin_request.user_name = request.user.username new_stockin_request.save() LabOrder.objects.filter(lab_number=lab_number).update( status='PreStockIn') return json_response(code=0, msg='Success') except Exception as e: return json_response(code=-1, msg=e)
def redirect_accs_order_pick(request): try: data_dict = {} accs_order_number = request.POST.get('accs_order_number', '') now = datetime.datetime.now() accs_orders = get_by_entity(accs_order_number) for accs_order in accs_orders: if accs_order.status != 'Picking': return json_response(code=-1, msg='只有【Picking】状态可以进行Accs Pick') accorder_requestnote_line = AccsOrderRequestNotesLine.objects.filter(accsorder_id=accs_order.id).order_by( "-base_entity") accorder_requestnote = AccsOrderRequestNotes.objects.get(id=accorder_requestnote_line[0].base_entity) if not accorder_requestnote.last_flag: return json_response(code=-1, msg='请先打印出库申请单') invd_ctrl = inventory_delivery_control() if now.month < 10: month = '0' + str(now.month) else: month = str(now.month) if now.day < 10: day = '0' + str(now.day) else: day = str(now.day) accs_order.status = 'Picked' accs_order.pick_date = now accs_order.save() data_dict['p_number'] = str(now.year) + month + day data_dict['wh_number'] = accs_order.warehouse data_dict['sku'] = accs_order.sku data_dict['doc_type'] = 'AUTO' data_dict['quantity'] = accs_order.quantity data_dict['comments'] = accs_order.accs_order_number data_dict['lab_number_input'] = accs_order.accs_order_number data_dict['product_type'] = 1 data_dict['wh_channel'] = 'WEBSITE' rm = invd_ctrl.add_new(request, data_dict) if rm.code != 0: return json_response(code=-1, msg=rm.message) accs_order_delivery = AccsOrderDeliveryLine() accs_order_delivery.base_entity = accorder_requestnote_line[0].base_entity accs_order_delivery.sku = accs_order.sku accs_order_delivery.quantity = accs_order.quantity accs_order_delivery.accs_order_number = accs_order.accs_order_number accs_order_delivery.warehouse = accs_order.warehouse accs_order_delivery.user_name = request.user.username accs_order_delivery.user_id = request.user.id accs_order_delivery.save() return json_response(code=0, msg='Success') except Exception as e: return json_response(code=-1, msg=e)
def redirect_create_stock_in(request): try: stock_order_number = request.POST.get('stock_order_number', '') lab_number = request.POST.get('lab_number', '') frame = request.POST.get('frame', '') lens_sku = request.POST.get('lens_sku', '') inbound_type = request.POST.get('inbound_type', '') warehouse_code = request.POST.get('warehouse', '') location = request.POST.get('location', '') quantity = request.POST.get('quantity', '') comments = request.POST.get('comments', '') if quantity == '': return json_response(code=-1, msg='参数不能为空') stockstructlines = StockStructLine.objects.filter( lab_number=lab_number) if len(stockstructlines) > 0: return json_response(code=-1, msg='该订单已经生成了StockStruct') p_number = datetime.datetime.now().strftime('%Y%m%d') #增加StockStruct start invr_ctrl = inventory_receipt_control() rm = invr_ctrl.add(request, p_number, warehouse_code, frame.upper(), 0, inbound_type, quantity, comments) if rm.code == 0: stlrs = LabOrder.objects.filter(lab_number=lab_number) stock_order_number = stlrs[0].order_number new_stockstructline = StockStructLine() new_stockstructline.stock_order_number = stock_order_number new_stockstructline.lab_number = lab_number new_stockstructline.frame = frame.upper() new_stockstructline.lens_sku = lens_sku.upper() new_stockstructline.quantity = quantity new_stockstructline.warehouse = warehouse_code new_stockstructline.location = location new_stockstructline.inbound_type = inbound_type new_stockstructline.comments = comments new_stockstructline.user_id = request.user.id new_stockstructline.user_name = request.user.username new_stockstructline.save() StockInRequest.objects.filter(lab_number=lab_number).update( status='Finish') LabOrder.objects.filter(lab_number=lab_number).update( status='DELIVERED') return json_response(code=0, msg='Success') else: return json_response(code=-1, msg=rm.msg) except Exception as e: return json_response(code=-1, msg=e)
def redirect_interbranch_order_save(request): try: interbranch_order_number = request.POST.get('interbranch_order_number', '') issuing_warehouse = request.POST.get('issuing_warehouse', '') issuing_location = request.POST.get('issuing_location', '') receiving_warehouse = request.POST.get('receiving_warehouse', '') receiving_location = request.POST.get('receiving_location', '') frame_sku = request.POST.get('frame_sku', '') lens_sku = request.POST.get('lens_sku', '') quantity = request.POST.get('quantity', '') sku_attribute = request.POST.get('sku_attribute', '') fulfilment_date = request.POST.get('fulfilment_date', '') comments = request.POST.get('comments', '') interbranch_orders = InterbranchOrder.objects.filter( interbranch_order_number=interbranch_order_number) if len(interbranch_orders) > 0: return json_response(code=-1, msg='The order number already exists', data='') #创建内部移库单 start invsws = inventory_struct_warehouse.objects.filter( sku=frame_sku.upper(), warehouse_code=issuing_warehouse) if len(invsws) == 0: return json_response(code=-1, msg='该仓库不存在SKU库存,请确认') invsw = invsws[0] diff_quantity = invsw.quantity - int(quantity) if diff_quantity < 0: return json_response(code=-1, msg='移库数量大于库存数量,不能移库,请确认') new_interbranch_order = InterbranchOrder() new_interbranch_order.interbranch_order_number = interbranch_order_number new_interbranch_order.warehouse_from = issuing_warehouse new_interbranch_order.location_from = issuing_location new_interbranch_order.warehouse_to = receiving_warehouse new_interbranch_order.location_to = receiving_location new_interbranch_order.frame = frame_sku.upper() new_interbranch_order.lens_sku = lens_sku.upper() new_interbranch_order.quantity = quantity new_interbranch_order.sku_attribute = sku_attribute new_interbranch_order.fulfil_date = fulfilment_date new_interbranch_order.comments = comments new_interbranch_order.user_name = request.user.username new_interbranch_order.user_id = request.user.id new_interbranch_order.save() return json_response(code=0, msg='Success') except Exception as e: return json_response(code=-1, msg=e)
def redirect_stock_order_list(request): status_data = [] try: title = "成镜订单列表" flag = request.GET.get('flag', 'list') if flag == 'list': title = "成镜订单列表" elif flag == 'confirm': title = "成镜订单确认" elif flag == 'cancel': title = "成镜订单取消" elif flag == 'close': title = "成镜订单关闭" elif flag == 'create': title = "从成镜订单生成Lab Order" for item in StockOrder.STATUS_CHOICES: status_data.append(item[0]) return render(request, "stockorder_list.html", { "status_data": status_data, "flag": flag, "title": title }) except Exception as e: return json_response(code=-1, msg=e)
def ins(self, request, name): user = get_object_or_400(User, name=name) ins = User.objects.get_ins(user) page = self.paginate_queryset(format_ins(ins)) if page is not None: return self.get_paginated_response(page) return json_response(page)
def decorator_function(*args, **kwargs): try: return function(*args, **kwargs) except ApiResponseNotFound as e: return handle_exception_json_response(e) except BankAccountNotFound as e: return handle_exception_json_response(e) except BankAccountUserNotFound as e: return handle_exception_json_response(e) except BankAccountInsufficientFounds as e: return handle_exception_json_response(e) except BadRequest as e: return handle_exception_json_response(e) except Exception as e: logging.error( '################# Exception Not Handled ################# {}' .format(e)) return json_response( { 'message': 'An error occurred while processing the request. ERROR: {0}' .format(e) }, 500)
def following(self, request, name): user = get_object_or_400(User, name=name) following = User.objects.get_following(user) page = self.paginate_queryset(following) if page is not None: return self.get_paginated_response(page) return json_response(page)
def redirect_interbranch_order_list(request): status_data = [] try: whs = warehouse.objects.filter() title = "Interbranch Transfer List" flag = request.GET.get('flag', 'list') if flag == 'list': title = "内部调拨单列表" elif flag == 'print': title = "内部调拨单打印" elif flag == 'cancel': title = "内部调拨单取消" elif flag == 'fulfill': title = "内部调拨调出" elif flag == 'receive': title = "内部调拨接收" for item in InterbranchOrder.STATUS_CHOICES: status_data.append(item[0]) return render(request, "interbranchorder_list.html", { "status_data": status_data, "flag": flag, "title": title, "whs": whs }) except Exception as e: return json_response(code=-1, msg=e)
def followedins(self, request, name): user = get_object_or_400(User, name=name) queue_manager = QueueManager() queue_name = 'uid_{}'.format(user.uuid) ins_list = queue_manager.get_user_followed_ins(queue_name) page = self.paginate_queryset(ins_list) if page is not None: return self.get_paginated_response(page) return json_response(page)
def redirect_change_stock_order_status(request): try: flag = request.POST.get('flag', '') action = request.POST.get('action', '') checkdata = request.POST.get('checkdata', '') checkdata_list = eval(checkdata) for item in checkdata_list: if action == 'cancel': if item['status'] == 'Open': StockOrder.objects.filter(id=item['id']).update( status='Cancel', remaining_qty=0) else: return json_response(code=-1, msg='只有【Open】状态的StockOrder,才能Cancel') elif action == 'close': if item['status'] == 'Open' or item['status'] == 'Processing': StockOrder.objects.filter(id=item['id']).update( status='Close') else: return json_response( code=-1, msg='只有【Open,Processing】状态的StockOrder,才能Close') elif action == 'confirm': if item['status'] == 'Open': StockOrder.objects.filter(id=item['id']).update( status='Confirm') else: return json_response(code=-1, msg='只有【Open】状态的StockOrder,才能Confirm') elif action == 'create': if item['status'] == 'Confirm' or item[ 'status'] == 'Processing': stlc = stockorder_to_laborder_controller() data = stlc.create_laborder(item, flag) if data['code'] != 0: return json_response(code=-1, msg='LabOrder 创建失败') else: if flag == 'list': StockOrder.objects.filter(id=item['id']).update( status='Finish', remaining_qty=0) else: diff_qty = int(item['remaining_qty']) - int( item['lab_qty']) if diff_qty > 0: StockOrder.objects.filter( id=item['id']).update( status='Processing', remaining_qty=diff_qty) else: StockOrder.objects.filter( id=item['id']).update(status='Finish', remaining_qty=0) else: return json_response( code=-1, msg='只有【Confirm】状态的StockOrder,才能Create LabOrder') return json_response(code=0, msg='Success') except Exception as e: return json_response(code=-1, msg=e)
def process_exception(self, request, exception): if type(exception) == INSException: if type(exception.code) == int: return error_response(message=exception.message, status=exception.code) return json_response(data={ 'message': exception.message, 'code': exception.code, }, status=get_status_code(exception.code))
def redirect_stock_bom_order_save(request): try: product_sku = request.POST.get('product_sku', '') frame_sku = request.POST.get('frame_sku', '') frame_qty = request.POST.get('frame_qty', '') od_lens_sku = request.POST.get('od_lens_sku', '') od_lens_name = request.POST.get('od_lens_name', '') od_lens_sph = request.POST.get('od_lens_sph', '0') od_lens_cyl = request.POST.get('od_lens_cyl', '0') od_lens_qty = request.POST.get('od_lens_qty', '0') os_lens_sku = request.POST.get('os_lens_sku', '') os_lens_name = request.POST.get('os_lens_name', '') os_lens_sph = request.POST.get('os_lens_sph', '0') os_lens_cyl = request.POST.get('os_lens_cyl', '0') os_lens_qty = request.POST.get('os_lens_qty', '0') comments = request.POST.get('comments', '') stock_bom_structs = StockBomStruct.objects.filter( product_sku=product_sku) if len(stock_bom_structs) > 0: return json_response(code=-1, msg='该成镜SKU已存在!') new_bom = StockBomStruct() new_bom.product_sku = product_sku new_bom.product_qty = frame_qty new_bom.frame = frame_sku.upper() new_bom.frame_qty = frame_qty new_bom.od_lens_sku = od_lens_sku new_bom.od_lens_name = od_lens_name new_bom.od_sph = od_lens_sph new_bom.od_cyl = od_lens_cyl new_bom.od_lens_qty = od_lens_qty new_bom.os_lens_sku = os_lens_sku new_bom.os_lens_name = os_lens_name new_bom.os_sph = os_lens_sph new_bom.os_cyl = os_lens_cyl new_bom.os_lens_qty = os_lens_qty new_bom.comments = comments new_bom.user_name = request.user.username new_bom.user_id = request.user.id new_bom.save() return json_response(code=0, msg='Success') except Exception as e: return json_response(code=-1, msg=e)
def redirect_accs_order_request_list(request): try: flag = request.GET.get('flag', 'list') warehouses = warehouse.objects.filter(used_to='ACCESSORIES') return render(request, "accsorder_request_list.html", { "warehouses":warehouses, "flag":flag }) except Exception as e: return json_response(code=-1, msg=e)
def redirect_stock_bom_order_new_data(request): data_list = [] try: page = request.GET.get('page', '1') limit = request.GET.get('limit', '30') page = int(page) start = (page - 1) * int(limit) end = page * int(limit) stock_orders = StockBomStruct.objects.filter().order_by("-id") total = len(stock_orders) fsi_list = stock_orders[start:end] for item in fsi_list: data_list.append({ "id": item.id, "product_sku": item.product_sku, "product_qty": item.product_qty, "frame": item.frame, "frame_qty": item.frame_qty, "od_lens_sku": item.od_lens_sku, "od_lens_name": item.od_lens_name, "od_lens_sph": str(item.od_sph), "od_lens_cyl": str(item.od_cyl), "od_len_qty": str(item.od_lens_qty), "os_lens_sku": item.os_lens_sku, "os_lens_name": item.os_lens_name, "os_lens_sph": str(item.os_sph), "os_lens_cyl": str(item.os_cyl), "os_len_qty": str(item.os_lens_qty), "user_name": item.user_name, "comments": item.comments, "update_date": (item.updated_at + datetime.timedelta(hours=+8)).strftime("%Y-%m-%d %H:%M:%S") }) return json_response_page(code=0, msg='', count=total, data=data_list) except Exception as e: return json_response(code=-1, msg=e)
def redirect_stock_in_request_list(request): inbound_type_list = [] try: whs = warehouse.objects.filter() for item in StockStruct.TYPE_CHOICES: inbound_type_list.append({'code': item[0], 'name': item[1]}) return render(request, "stock_in_request_list.html", { "whs": whs, "inbound_type_list": inbound_type_list }) except Exception as e: return json_response(code=-1, msg=e)
def redirect_accs_to_lab(request): try: checkdata = request.POST.get('checkdata', '') acc_order_tracking = AccsOrderTracking() checkdata_list = eval(checkdata) item = checkdata_list[0] if item['status'] == 'Open': pgorderitems = PgOrderItem.objects.filter(frame__contains=item['frame_sku'], order_number=item['order_number'],lab_order_number='') if len(pgorderitems) > 0: pgorderitem = pgorderitems[0] try: for i in range(0, pgorderitem.quantity): lbo = pgorderitem.generate_lab_order(index=i, flag='accs') except Exception as e: return json_response(code=-1, msg='转lab失败') if lbo: AccsOrder.objects.filter(accs_order_number=item['accs_order_number']).update(status='Closed', comments='此订单转Laborder') acc_order_tracking.add_order_tracking(item['accs_order_number'], request.user.id,request.user.username, 'accs_to_lab') return json_response(code=0, msg='Success') else: return json_response(code=-1, msg='转lab失败') else: return json_response(code=-1, msg='PgOrderItem不存在') else: return json_response(code=-1, msg='只有Open状态允许转Lab') except Exception as e: return json_response(code=-1, msg=e)
def redirect_stock_order_new(request): try: t = time.time() now_time = int(round(t * 1000)) stock_order_number = "STKO" + str(now_time) product_frame_lists = product_frame.objects.filter(product_type='STKG') return render( request, "stockorder_new.html", { "stock_order_number": stock_order_number, "product_frame_lists": product_frame_lists }) except Exception as e: return json_response(code=-1, msg=e)
def redirect_get_stko_laborder_data(request): data_list = [] try: page = request.GET.get('page', '1') limit = request.GET.get('limit', '30') lab_number = request.GET.get('lab_number', '') start_date = request.GET.get('start_date', '') page = int(page) start = (page - 1) * int(limit) end = page * int(limit) if lab_number != '': if len(lab_number) <= 10 and len(lab_number) >= 4: count = LabOrder.objects.filter( type='STKO', status='FINAL_INSPECTION_YES', lab_number__contains=lab_number).count() labs = LabOrder.objects.filter( type='STKO', status='FINAL_INSPECTION_YES', lab_number__contains=lab_number).order_by('-id')[start:end] else: count = LabOrder.objects.filter(type='STKO', status='FINAL_INSPECTION_YES', lab_number=lab_number).count() labs = LabOrder.objects.filter( type='STKO', status='FINAL_INSPECTION_YES', lab_number=lab_number).order_by("-id")[start:end] else: count = LabOrder.objects.filter( type='STKO', status='FINAL_INSPECTION_YES').count() labs = LabOrder.objects.filter( type='STKO', status='FINAL_INSPECTION_YES').order_by("-id")[start:end] total = count #len(labs) #fsi_list = labs[start: end] for item in labs: data_list.append({ "id": item.id, "lab_number": item.lab_number, "sku": item.frame, "lens_sku": item.act_lens_sku, "lens_name": item.act_lens_name, "quantity": item.quantity, "order_number": item.order_number }) return json_response_page(code=0, msg='', count=total, data=data_list) except Exception as e: return json_response(code=-1, msg=e)
def redirect_stock_order_save(request): try: stock_order_number = request.POST.get('stock_order_number', '') start_date = request.POST.get('start_date', '') finish_date = request.POST.get('finish_date', '') frame_sku = request.POST.get('frame_sku', '') lens_sku = request.POST.get('lens_sku', '') quantity = request.POST.get('quantity', '') comments = request.POST.get('comments', '') stock_orders = StockOrder.objects.filter( stock_order_number=stock_order_number) if len(stock_orders) > 0: return json_response(code=-1, msg='该订单已存在!', data='') stockbomstruct_list = StockBomStruct.objects.filter( product_sku=frame_sku.upper()) if len(stockbomstruct_list) == 0: return json_response(code=-1, msg='请先在BOM创建该成镜SKU!', data='') new_stock_order = StockOrder() new_stock_order.stock_order_number = stock_order_number new_stock_order.start_date = start_date new_stock_order.finish_date = finish_date new_stock_order.frame = frame_sku.upper() new_stock_order.lens_sku = lens_sku.upper() new_stock_order.quantity = quantity new_stock_order.remaining_qty = quantity new_stock_order.comments = comments new_stock_order.user_name = request.user.username new_stock_order.user_id = request.user.id new_stock_order.save() return json_response(code=0, msg='Success') except Exception as e: print(e) print('1111111111111111111') return json_response(code=-1, msg=e)
def comments(self, request, pk): # globals()['_comments_{}'.format(request.method.lower())](self, request, pk) ins = get_object_or_400(Ins, uuid=pk) if request.method == 'GET': comments = Ins.ins_objects.get_comments(ins) page = self.paginate_queryset( CommentSerializer(comments, many=True).data) if page is not None: return self.get_paginated_response(page) return json_response(page) else: data = request.data comment_keys = ['type', 'body'] check_keys(data, comment_keys) if 'type' in data: validate_value(data['type'], const.COMMENT_TYPES) data.update({'user': request.user, 'ins': ins}) comment = Comment.objects.create(**data) data = CommentSerializer(comment).data send_hook_request(comment, method='POST', context=request, data=data) return json_response(data)
def redirect_interbranch_transfer_new(request): try: whs = warehouse.objects.filter() t = time.time() now_time = int(round(t * 1000)) stock_order_number = "IT" + str(now_time) product_frame_lists = product_frame.objects.filter(product_type='STKG') return render( request, "interbranch_transfer_new.html", { "stock_order_number": stock_order_number, "whs": whs, "product_frame_lists": product_frame_lists }) except Exception as e: return json_response(code=-1, msg=e)
def redirect_interbranch_order_print(request): try: id_str = request.GET.get('id_str', '') id_str = id_str[1:] id_list = id_str.split("-") interbranch_orders = InterbranchOrder.objects.filter(id__in=id_list) # for item in checkdata_list: # if item['status'] == 'Open': # InterbranchOrder.objects.filter(id=item['id']).update(status='Printed') return render(request, "interbranchorder_list_print.html", { "interbranch_orders": interbranch_orders, }) except Exception as e: return json_response(code=-1, msg=e)
def upload_file(self, file_path, file_data, upload_flag): try: if upload_flag == 'LOCAL': local_handler = LocalHandler() json_data = local_handler.upload_file(file_path, file_data) #暂时不启用 #elif self.upload_flag == 'SFTP': # sftp_handler = SFTPHandler() # json_data = sftp_handler.upload_file(file_path, file_data) #elif self.upload_flag == 'S3': # s3_handler = S3Handler() # json_data = s3_handler.save(file_data.name, file_data) return json_data except Exception as e: return json_response(code=-1, msg=e)
def redirect_accs_order_pick_list(request): try: flag = request.GET.get('flag', 'list') warehouses = warehouse.objects.filter(used_to='ACCESSORIES') ship_direction_list = [] SHIP_DIRECTION = AccsOrder.SHIP_DIRECTION_CHOICES for item in SHIP_DIRECTION: ship_direction_list.append({"key":item[0], "value":item[1]}) return render(request, "accsorder_delivery_list.html", { "warehouses":warehouses, "ship_direction_list":ship_direction_list, "flag":flag }) except Exception as e: return json_response(code=-1, msg=e)
def create_ins(self, request): data = request.data ins_keys = ['desc', 'content', 'type'] check_keys(data, ins_keys) data.update({'user': request.user.name}) # data.update({'user': request.user}) # ins = Ins.objects.create(**data) # return json_response(InsSerializer(ins).data) # with QueueManager() as queue_manager: # queue_manager.publish_ins(data=data) queue_manager = QueueManager() queue_manager.publish_ins(data=data) queue_manager.close() return json_response(data)
def redirect_accs_order_pick_list_data(request): data_list = [] filter = {} try: page = request.GET.get('page', '1') limit = request.GET.get('limit', '30') accs_order_number = request.GET.get('accs_order_number', '') frame_sku = request.GET.get('frame', '') order_status = request.GET.get('order_status', '') start_date = request.GET.get('start_date', '') finish_date = request.GET.get('finish_date', '') if accs_order_number: filter['accs_order_number'] = accs_order_number if frame_sku: filter['sku'] = frame_sku if order_status: filter['status'] = order_status page = int(page) start = (page-1) * int(limit) end = page * int(limit) accs_orders_request_notes = AccsOrderDeliveryLine.objects.filter().order_by("-id") if start_date: accs_orders_request_notes = accs_orders_request_notes.filter(created_at__gte=start_date).order_by("-id") if finish_date: accs_orders_request_notes = accs_orders_request_notes.filter(created_at__lte=finish_date).order_by("-id") accs_orders_request_notes = accs_orders_request_notes.filter(**filter) total = len(accs_orders_request_notes) fsi_list = accs_orders_request_notes[start: end] for item in fsi_list: data_list.append({ "id": item.id, "accs_order_number": item.accs_order_number, "sku": item.sku, "quantity": str(item.quantity), "warehouse": item.warehouse, "user_name": item.user_name, "base_entity": item.base_entity, "comments": item.comments, "created_at": (item.created_at + datetime.timedelta(hours=8)).strftime("%Y-%m-%d %H:%M:%S"), }) return json_response_page(code=0, msg='', count=total, data=data_list) except Exception as e: return json_response(code=-1, msg=e)
def redirect_accs_order_request_list_data(request): data_list = [] filter = {} try: page = request.GET.get('page', '1') limit = request.GET.get('limit', '30') accs_order_number = request.GET.get('accs_order_number', '') frame_sku = request.GET.get('frame', '') order_status = request.GET.get('order_status', '') order_wh = request.GET.get('order_wh', '') start_date = request.GET.get('start_date', '') finish_date = request.GET.get('finish_date', '') if accs_order_number: filter = get_by_entity_filter(accs_order_number) if frame_sku: filter['sku'] = frame_sku if order_status: filter['status'] = order_status if order_wh: filter['warehouse'] = order_wh page = int(page) start = (page-1) * int(limit) end = page * int(limit) accs_orders_request_notes = AccsOrderRequestNotes.objects.filter().order_by("-id") if start_date: accs_orders_request_notes = accs_orders_request_notes.filter(created_at__gte=start_date).order_by("-id") if finish_date: accs_orders_request_notes = accs_orders_request_notes.filter(created_at__lte=finish_date).order_by("-id") accs_orders_request_notes = accs_orders_request_notes.filter(**filter) total = len(accs_orders_request_notes) fsi_list = accs_orders_request_notes[start: end] for item in fsi_list: data_list.append({ "id": item.id, "accs_order_number": item.accs_order_number, "count": item.count, "warehouse": item.get_warehouse_display(), "created_at": (item.created_at + datetime.timedelta(hours=8)).strftime("%Y-%m-%d %H:%M:%S"), }) return json_response_page(code=0, msg='', count=total, data=data_list) except Exception as e: return json_response(code=-1, msg=e)