ebanutsya
This commit is contained in:
		
							
								
								
									
										1
									
								
								app.py
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								app.py
									
									
									
									
									
								
							@@ -27,6 +27,7 @@ blueprints = [
 | 
				
			|||||||
    (routes.orders_blueprint, '/orders'),
 | 
					    (routes.orders_blueprint, '/orders'),
 | 
				
			||||||
    (routes.barcode_blueprint, '/barcode'),
 | 
					    (routes.barcode_blueprint, '/barcode'),
 | 
				
			||||||
    (routes.printing_blueprint, '/printing'),
 | 
					    (routes.printing_blueprint, '/printing'),
 | 
				
			||||||
 | 
					    (routes.assembly_blueprint, '/assembly'),
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for blueprint, url_prefix in blueprints:
 | 
					for blueprint, url_prefix in blueprints:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										47
									
								
								assemblr.log
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								assemblr.log
									
									
									
									
									
								
							@@ -40,3 +40,50 @@
 | 
				
			|||||||
10-29 06:43 - assemblr - INFO - SiproClient successfully initialized
 | 
					10-29 06:43 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
10-29 06:47 - assemblr - INFO - SiproClient successfully initialized
 | 
					10-29 06:47 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
10-29 06:53 - assemblr - INFO - SiproClient successfully initialized
 | 
					10-29 06:53 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 03:37 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 03:37 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 03:39 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 04:23 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:10 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:11 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:11 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:11 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:11 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:11 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:13 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:15 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:15 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:15 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:29 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:29 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:31 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:34 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:34 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:34 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:34 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:34 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:34 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:34 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:37 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:38 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 05:46 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 06:15 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 06:24 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 06:24 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 07:14 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 07:18 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 07:19 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 07:19 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					10-30 07:21 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-02 03:18 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-02 03:18 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-02 03:26 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-03 04:07 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-03 04:07 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-03 04:12 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-06 03:47 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-06 03:47 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-06 03:47 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-06 05:15 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-06 05:17 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 | 
					11-06 05:32 - assemblr - INFO - SiproClient successfully initialized
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								database/enums.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								database/enums.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					from enum import unique, IntEnum
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@unique
 | 
				
			||||||
 | 
					class AssemblyState(IntEnum):
 | 
				
			||||||
 | 
					    NOT_STARTED = 0,
 | 
				
			||||||
 | 
					    ASSEMBLING_PRODUCTS = 1,
 | 
				
			||||||
 | 
					    ALL_PRODUCTS_ASSEMBLED = 2,
 | 
				
			||||||
 | 
					    CONFIRMED = 3,
 | 
				
			||||||
 | 
					    ENDED = 4
 | 
				
			||||||
@@ -17,14 +17,15 @@ class Assembly(db.Model):
 | 
				
			|||||||
    __tablename__ = 'assemblies'
 | 
					    __tablename__ = 'assemblies'
 | 
				
			||||||
    id = db.Column(db.Integer, primary_key=True, comment='ID сборки')
 | 
					    id = db.Column(db.Integer, primary_key=True, comment='ID сборки')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    created_at = db.Column(db.DateTime, nullable=False, comment='Дата и время начала сборки')
 | 
					    created_at = db.Column(db.DateTime, nullable=True, comment='Дата и время начала сборки')
 | 
				
			||||||
    ended_at = db.Column(db.DateTime, nullable=True, comment='Дата и время конца сборки')
 | 
					    ended_at = db.Column(db.DateTime, nullable=True, comment='Дата и время конца сборки')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
 | 
					    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
 | 
				
			||||||
    user = db.relationship('User', backref='assemblies')
 | 
					    user = db.relationship('User', backref='assemblies')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    order_id = db.Column(db.Integer, nullable=False, comment='ID заказа в базе данных')
 | 
					    order_id = db.Column(db.Integer, nullable=False, comment='ID заказа в базе данных')
 | 
				
			||||||
    active = db.Column(db.Boolean, nullable=False, comment='Активная ли сборка')
 | 
					    is_active = db.Column(db.Boolean, nullable=False, comment='Активная ли сборка')
 | 
				
			||||||
 | 
					    state = db.Column(db.Integer, nullable=False, comment='Состояние сборки')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Barcode(db.Model):
 | 
					class Barcode(db.Model):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,3 +2,4 @@ from routes.auth import auth_blueprint
 | 
				
			|||||||
from routes.orders import orders_blueprint
 | 
					from routes.orders import orders_blueprint
 | 
				
			||||||
from routes.barcode import barcode_blueprint
 | 
					from routes.barcode import barcode_blueprint
 | 
				
			||||||
from routes.printing import printing_blueprint
 | 
					from routes.printing import printing_blueprint
 | 
				
			||||||
 | 
					from routes.assembly import assembly_blueprint
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,47 +1,155 @@
 | 
				
			|||||||
import datetime
 | 
					import datetime
 | 
				
			||||||
 | 
					import time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from flask import Blueprint, request, jsonify
 | 
					from flask import Blueprint, request, jsonify
 | 
				
			||||||
from flask_jwt_extended import get_jwt_identity
 | 
					from flask_jwt_extended import get_jwt_identity
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import database
 | 
					import database
 | 
				
			||||||
 | 
					from database.enums import AssemblyState
 | 
				
			||||||
from routes.utils import jwt_protect_blueprint
 | 
					from routes.utils import jwt_protect_blueprint
 | 
				
			||||||
 | 
					import sipro.api.orders
 | 
				
			||||||
 | 
					
 | 
				
			||||||
assembly_blueprint = jwt_protect_blueprint(Blueprint('assembly', __name__))
 | 
					assembly_blueprint = jwt_protect_blueprint(Blueprint('assembly', __name__))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@assembly_blueprint.post('/open')
 | 
					@assembly_blueprint.post('/create')
 | 
				
			||||||
def create_assembly():
 | 
					def create_assembly():
 | 
				
			||||||
    data: dict = request.json
 | 
					    try:
 | 
				
			||||||
    order_id: int = data.get('orderId')
 | 
					        data: dict = request.json
 | 
				
			||||||
    user_id = get_jwt_identity()
 | 
					        order_id: int = data.get('orderId')
 | 
				
			||||||
    existing_assembly = database.Assembly.query.filter_by(order_id=order_id).first()
 | 
					        user_id = get_jwt_identity()
 | 
				
			||||||
    if existing_assembly:
 | 
					        existing_assembly = database.Assembly.query.filter_by(order_id=order_id).first()
 | 
				
			||||||
 | 
					        if existing_assembly:
 | 
				
			||||||
 | 
					            response = {
 | 
				
			||||||
 | 
					                'ok': False,
 | 
				
			||||||
 | 
					                'message': 'Сборка этого товара уже была запущена',
 | 
				
			||||||
 | 
					                'assemblyId': existing_assembly.id,
 | 
				
			||||||
 | 
					                'statusCode': 'ASSEMBLY_ALREADY_EXISTS'
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return jsonify(response)
 | 
				
			||||||
 | 
					        active_assembly = database.Assembly.query.filter(database.Assembly.user_id == user_id,
 | 
				
			||||||
 | 
					                                                         database.Assembly.is_active == True).first()
 | 
				
			||||||
 | 
					        if active_assembly:
 | 
				
			||||||
 | 
					            response = {
 | 
				
			||||||
 | 
					                'ok': False,
 | 
				
			||||||
 | 
					                'message': 'Вы не можете запустить сборку заказа, так как у вас уже есть активная сборка',
 | 
				
			||||||
 | 
					                'assemblyId': active_assembly.id,
 | 
				
			||||||
 | 
					                'statusCode': 'USER_ALREADY_HAS_ACTIVE_ASSEMBLY'
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return jsonify(response)
 | 
				
			||||||
 | 
					        assembly = database.Assembly(user_id=user_id,
 | 
				
			||||||
 | 
					                                     order_id=order_id,
 | 
				
			||||||
 | 
					                                     state=AssemblyState.NOT_STARTED,
 | 
				
			||||||
 | 
					                                     created_at=datetime.datetime.now(),
 | 
				
			||||||
 | 
					                                     is_active=True)
 | 
				
			||||||
 | 
					        database.db.session.add(assembly)
 | 
				
			||||||
 | 
					        database.db.session.commit()
 | 
				
			||||||
        response = {
 | 
					        response = {
 | 
				
			||||||
            'ok': False,
 | 
					            'ok': True,
 | 
				
			||||||
            'message': 'Сборка этого товара уже была запущена',
 | 
					            'message': 'Сборка успешно запущена!',
 | 
				
			||||||
            'assemblyId': existing_assembly.id,
 | 
					            'assemblyId': assembly.id,
 | 
				
			||||||
            'statusCode': 'ASSEMBLY_ALREADY_EXISTS'
 | 
					            'statusCode': 'CREATED'
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return jsonify(response)
 | 
					        return jsonify(response)
 | 
				
			||||||
    active_assembly = database.Assembly.query.filter_by(user_id=user_id).first()
 | 
					    except Exception as e:
 | 
				
			||||||
    if active_assembly:
 | 
					 | 
				
			||||||
        response = {
 | 
					        response = {
 | 
				
			||||||
            'ok': False,
 | 
					            'ok': False,
 | 
				
			||||||
            'message': 'Вы не можете запустить сборку заказа, так как у вас уже есть активная сборка',
 | 
					            'message': f'Неизвестная ошибка: {e}',
 | 
				
			||||||
            'assemblyId': active_assembly.id,
 | 
					            'assemblyId': -1,
 | 
				
			||||||
            'statusCode': 'USER_ALREADY_HAS_ACTIVE_ASSEMBLY'
 | 
					            'statusCode': 'INVALID_EXCEPTION'
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return jsonify(response)
 | 
					        return jsonify(response)
 | 
				
			||||||
    assembly = database.Assembly(created_at=datetime.datetime.now(),
 | 
					
 | 
				
			||||||
                                 user_id=user_id,
 | 
					
 | 
				
			||||||
                                 order_id=order_id,
 | 
					@assembly_blueprint.post('/close')
 | 
				
			||||||
                                 active=True)
 | 
					def close_assembly():
 | 
				
			||||||
    database.db.session.add(assembly)
 | 
					    args = request.json
 | 
				
			||||||
 | 
					    assembly_id = args.get('assemblyId')
 | 
				
			||||||
 | 
					    if not assembly_id or (not isinstance(assembly_id, int)):
 | 
				
			||||||
 | 
					        response = {
 | 
				
			||||||
 | 
					            'ok': False,
 | 
				
			||||||
 | 
					            'message': 'Неверно указан ID сборки'
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return jsonify(response)
 | 
				
			||||||
 | 
					    assembly = database.db.session.get(database.Assembly, assembly_id)
 | 
				
			||||||
 | 
					    if not assembly:
 | 
				
			||||||
 | 
					        response = {
 | 
				
			||||||
 | 
					            'ok': False,
 | 
				
			||||||
 | 
					            'message': 'Указанная сборка не найдена'
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return jsonify(response)
 | 
				
			||||||
 | 
					    assembly.is_active = False
 | 
				
			||||||
 | 
					    assembly.ended_at = datetime.datetime.now()
 | 
				
			||||||
    database.db.session.commit()
 | 
					    database.db.session.commit()
 | 
				
			||||||
 | 
					    order_id = assembly.order_id
 | 
				
			||||||
 | 
					    return sipro.api.orders.close_order(order_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@assembly_blueprint.get('/hasActive')
 | 
				
			||||||
 | 
					def user_has_active_assembly():
 | 
				
			||||||
 | 
					    user_id = get_jwt_identity()
 | 
				
			||||||
 | 
					    assemblies_count = database.Assembly.query.filter(database.Assembly.user_id == user_id,
 | 
				
			||||||
 | 
					                                                      database.Assembly.is_active == True).count()
 | 
				
			||||||
 | 
					    return jsonify(has=assemblies_count > 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@assembly_blueprint.get('/getActive')
 | 
				
			||||||
 | 
					def get_active_assembly():
 | 
				
			||||||
 | 
					    user_id = get_jwt_identity()
 | 
				
			||||||
 | 
					    assembly = database.Assembly.query.filter(database.Assembly.user_id == user_id,
 | 
				
			||||||
 | 
					                                              database.Assembly.is_active == True).first()
 | 
				
			||||||
    response = {
 | 
					    response = {
 | 
				
			||||||
        'ok': True,
 | 
					        'databaseId': assembly.id,
 | 
				
			||||||
        'message': 'Сборка успешно запущена!',
 | 
					        'createdAt': str(assembly.created_at),
 | 
				
			||||||
        'assemblyId': assembly.id,
 | 
					        'endedAt': str(assembly.ended_at),
 | 
				
			||||||
        'statusCode': 'CREATED'
 | 
					        'orderId': assembly.order_id,
 | 
				
			||||||
 | 
					        'isActive': assembly.is_active,
 | 
				
			||||||
 | 
					        'state': assembly.state
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return jsonify(response)
 | 
					    return jsonify(response)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@assembly_blueprint.post('/confirm')
 | 
				
			||||||
 | 
					def confirm_assembly():
 | 
				
			||||||
 | 
					    user_id = get_jwt_identity()
 | 
				
			||||||
 | 
					    args: dict = request.json
 | 
				
			||||||
 | 
					    assembly_id = args.get('assemblyId')
 | 
				
			||||||
 | 
					    if not assembly_id or (not isinstance(assembly_id, int)):
 | 
				
			||||||
 | 
					        response = {
 | 
				
			||||||
 | 
					            'ok': False,
 | 
				
			||||||
 | 
					            'message': 'ID сборки указан неверно'
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return jsonify(response)
 | 
				
			||||||
 | 
					    assembly = database.db.session.get(database.Assembly, assembly_id)
 | 
				
			||||||
 | 
					    if not assembly:
 | 
				
			||||||
 | 
					        response = {
 | 
				
			||||||
 | 
					            'ok': False,
 | 
				
			||||||
 | 
					            'message': 'Неудалось найти указанную сборку'
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return jsonify(response)
 | 
				
			||||||
 | 
					    if assembly.user_id != user_id:
 | 
				
			||||||
 | 
					        response = {
 | 
				
			||||||
 | 
					            'ok': False,
 | 
				
			||||||
 | 
					            'message': 'Вы не можете закрыть сборку чужого пользователя'
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return jsonify(response)
 | 
				
			||||||
 | 
					    order_id = assembly.order_id
 | 
				
			||||||
 | 
					    return sipro.api.orders.ship_order(order_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@assembly_blueprint.post('/updateState')
 | 
				
			||||||
 | 
					def update_assembly_state():
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        args = request.json
 | 
				
			||||||
 | 
					        state = args.get('state')
 | 
				
			||||||
 | 
					        assembly_id = args.get('assemblyId')
 | 
				
			||||||
 | 
					        rows_to_update = [{
 | 
				
			||||||
 | 
					            'id': assembly_id,
 | 
				
			||||||
 | 
					            'state': state
 | 
				
			||||||
 | 
					        }]
 | 
				
			||||||
 | 
					        database.db.session.bulk_update_mappings(database.Assembly, rows_to_update)
 | 
				
			||||||
 | 
					        database.db.session.commit()
 | 
				
			||||||
 | 
					        return jsonify(ok=True)
 | 
				
			||||||
 | 
					    except Exception as e:
 | 
				
			||||||
 | 
					        print('Error while updating')
 | 
				
			||||||
 | 
					        return jsonify(ok=False)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,8 +10,27 @@ def get_order(order_id: int):
 | 
				
			|||||||
    return jsonify(id=order_id)
 | 
					    return jsonify(id=order_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@orders_blueprint.get('/getOrders')
 | 
				
			||||||
 | 
					def get_orders():
 | 
				
			||||||
 | 
					    args = request.args
 | 
				
			||||||
 | 
					    order_by = args.get('orderBy')
 | 
				
			||||||
 | 
					    desc = int(args.get('desc'))
 | 
				
			||||||
 | 
					    page = int(args.get('page'))
 | 
				
			||||||
 | 
					    shipment_date = args.get('shipmentDate')
 | 
				
			||||||
 | 
					    status = args.get('status')
 | 
				
			||||||
 | 
					    response = sipro.api.orders.get_orders(order_by, desc, page, shipment_date, status)
 | 
				
			||||||
 | 
					    return jsonify(response)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@orders_blueprint.get('/getBySupplierProductId')
 | 
					@orders_blueprint.get('/getBySupplierProductId')
 | 
				
			||||||
def get_orders_by_supplier_product_id():
 | 
					def get_orders_by_supplier_product_id():
 | 
				
			||||||
    args = request.args
 | 
					    args = request.args
 | 
				
			||||||
    supplier_product_id = args.get('supplierProductId')
 | 
					    supplier_product_id = args.get('supplierProductId')
 | 
				
			||||||
    return sipro.api.orders.get_orders_by_supplier_product_id(supplier_product_id)
 | 
					    return sipro.api.orders.get_orders_by_supplier_product_id(supplier_product_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@orders_blueprint.get('/getOrderById')
 | 
				
			||||||
 | 
					def get_order_by_id():
 | 
				
			||||||
 | 
					    args = request.args
 | 
				
			||||||
 | 
					    order_id = args.get('orderId')
 | 
				
			||||||
 | 
					    return sipro.api.orders.get_order_by_id(order_id)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,3 +8,29 @@ def get_orders_by_supplier_product_id(supplier_product_id: str) -> list[dict]:
 | 
				
			|||||||
    method = f'{router}/getBySupplierProductId?supplierProductId={supplier_product_id}'
 | 
					    method = f'{router}/getBySupplierProductId?supplierProductId={supplier_product_id}'
 | 
				
			||||||
    response = client.method('GET', method)
 | 
					    response = client.method('GET', method)
 | 
				
			||||||
    return response
 | 
					    return response
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_order_by_id(order_id) -> dict:
 | 
				
			||||||
 | 
					    method = f'{router}/getOrderById?orderId={order_id}'
 | 
				
			||||||
 | 
					    response = client.method('GET', method)
 | 
				
			||||||
 | 
					    return response
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def ship_order(order_id: int) -> dict:
 | 
				
			||||||
 | 
					    method = f'{router}/shipOrder'
 | 
				
			||||||
 | 
					    data = {'orderId': order_id}
 | 
				
			||||||
 | 
					    response = client.method('POST', method, data=data)
 | 
				
			||||||
 | 
					    return response
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def close_order(order_id: int) -> dict:
 | 
				
			||||||
 | 
					    method = f'{router}/closeOrder'
 | 
				
			||||||
 | 
					    data = {'orderId': order_id}
 | 
				
			||||||
 | 
					    response = client.method('POST', method, data=data)
 | 
				
			||||||
 | 
					    return response
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_orders(order_by: str, desc: int, page: int, shipment_date: str, status: str):
 | 
				
			||||||
 | 
					    method = f'{router}/getOrders?orderBy={order_by}&desc={desc}&page={page}&shipmentDate={shipment_date}&status={status}'
 | 
				
			||||||
 | 
					    response = client.method('GET', method)
 | 
				
			||||||
 | 
					    return response
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user