Exemplo n.º 1
0
def update_purchase_trx(raw_data, session):
    purchase_trx_number = raw_data['purchase_trx_number']
    purchasetrxheader = session.query(PurchaseTrxHeader).filter_by(
        purchase_trx_number=purchase_trx_number).first()
    if purchasetrxheader is None:
        raise HTTPError(status=status_codes.HTTP_404,
                        errors="Purchase Transaction number does not exist")
    if 'transaction_date' in raw_data.keys():
        purchasetrxheader.transaction_date = raw_data['transaction_date']
    if 'order_status' in raw_data.keys():
        purchasetrxheader.order_status = raw_data['order_status']
    if 'buyer_id' in raw_data.keys():
        purchasetrxheader.buyer_id = raw_data['buyer_id']
    if 'supplier_id' in raw_data.keys():
        purchasetrxheader.supplier_id = raw_data['supplier_id']
    if 'last_updated_by' in raw_data.keys():
        purchasetrxheader.last_updated_by = get_user_id_by_user_name(
            raw_data['last_updated_by'])

    purchasetrxLines = []

    if 'purchase_trx_lines' in raw_data.keys():
        for purchase_trx_line in raw_data['purchase_trx_lines']:
            if 'transaction_line_id' in purchase_trx_line.keys():
                for trx_line in purchasetrxheader.purchase_trx_lines:
                    if purchase_trx_line[
                            "transaction_line_id"] == trx_line.transaction_line_id:
                        trx_line.item_id = purchase_trx_line['item_id']
                        #trx_line.line_number = purchase_trx_line['line_number']
                        trx_line.booking_unit_price = purchase_trx_line[
                            'booking_unit_price']
                        trx_line.booking_quantity = purchase_trx_line[
                            'booking_quantity']
                        trx_line.unit_of_measure = purchase_trx_line[
                            'unit_of_measure']
                        #trx_line.created_by = purchase_trx_line['created_by']
                        trx_line.last_updated_by = get_user_id_by_user_name(
                            purchase_trx_line['last_updated_by'])
                        break
            else:
                purchasetrxLine = PurchaseTrxLines()
                purchasetrxLine.item_id = purchase_trx_line['item_id']
                purchasetrxLine.line_number = purchase_trx_line['line_number']
                purchasetrxLine.booking_unit_price = purchase_trx_line[
                    'booking_unit_price']
                purchasetrxLine.booking_quantity = purchase_trx_line[
                    'booking_quantity']
                purchasetrxLine.unit_of_measure = purchase_trx_line[
                    'unit_of_measure']
                purchasetrxLine.created_by = get_user_id_by_user_name(
                    purchase_trx_line['created_by'])
                purchasetrxLine.last_updated_by = get_user_id_by_user_name(
                    purchase_trx_line['last_updated_by'])
                purchasetrxLines.append(purchasetrxLine)

        if len(purchasetrxLines) > 0:
            purchasetrxheader.purchase_trx_lines.extend(purchasetrxLines)
Exemplo n.º 2
0
    def on_put(self, req, resp):
        try:
            """
            update item data into database
            """
            data = req.context['serialized-data']
            user = get_user_id_by_user_name(data['last_updated_by'])
            data['last_updated_by'] = user
            update_items(data)
            output = {
                'Status':
                falcon.HTTP_200,
                'Message':
                "Item Details updated successfully for: " + data['item_number']
            }
            resp.status = falcon.HTTP_200
            resp.body = json.dumps(output)

        except (KeyError, ValueError) as e:
            error = "{err} field is required..!".format(err=e)
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(error)
            })
            resp.status = falcon.HTTP_400

        except Exception as e:
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(e)
            })
            resp.status = falcon.HTTP_400
            return resp
    def on_post(self, req, resp):
        try:
            """
            Insert Challan Data in database
            """
            data = req.context['serialized-data']
            user = get_user_id_by_user_name(data['created_by'])
            data['last_updated_by'] = user
            data['created_by'] = user
            challan_data = create_challan(data)
            resp.body = json.dumps(challan_data, default=str)
            resp.status = falcon.HTTP_200
            return resp

        except (KeyError, ValueError) as e:
            error = "{err} field is required..!".format(err=e)
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(error)
            })
            resp.status = falcon.HTTP_400

        except Exception as e:
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(e)
            })
            resp.status = falcon.HTTP_400
            return resp
Exemplo n.º 4
0
    def on_post(self, req, resp):
        try:
            """
            Insert Sales Transaction data into database
            """
            data = req.context['serialized-data']
            #data['sales_rep_id'] = get_user_id_by_user_name(data['sales_rep_id'])
            user = get_user_id_by_user_name(data['created_by'])
            data['last_updated_by'] = user
            data['sales_rep_id'] = get_user_id_by_user_name(
                data['sales_rep_id'])
            data['created_by'] = user
            for line in data['sales_trx_lines']:
                line['last_updated_by'] = user
                line['created_by'] = user
            create_sales_trx(data)
            output = {
                'Status': falcon.HTTP_200,
                'Message': "Sales Transaction data saved successfully."
            }
            resp.status = falcon.HTTP_200
            resp.body = json.dumps(output)

        except (KeyError, ValueError) as e:
            error = "{err} field is required..!".format(err=e)
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(error)
            })
            resp.status = falcon.HTTP_400

        except Exception as e:
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(e)
            })
            resp.status = falcon.HTTP_400
            return resp
Exemplo n.º 5
0
    def on_put(self, req, resp):
        try:
            """
            update customer data into database
            """
            data = req.context['serialized-data']
            user = get_user_id_by_user_name(data['last_updated_by'])
            data['last_updated_by'] = user
            if 'customer_master_sites' in data.keys():
                if len(data['customer_master_sites']) > 0:
                    for line in data['customer_master_sites']:
                        line['last_updated_by'] = user
                        if 'customer_site_id' not in line.keys():
                            line['created_by'] = user
            update_customer(data)
            output = {
                'Status':
                falcon.HTTP_200,
                'Message':
                "Customer data updated successfully for: " +
                data['customer_code']
            }
            resp.status = falcon.HTTP_200
            resp.body = json.dumps(output)

        except (KeyError, ValueError) as e:
            error = "{err} field is required..!".format(err=e)
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(error)
            })
            resp.status = falcon.HTTP_400

        except Exception as e:
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(e)
            })
            resp.status = falcon.HTTP_400
            return resp
    def on_post(self, req, resp):
        try:
            """
            Insert Purchase Transaction data into database
            """
            data = req.context['serialized-data']
            user = get_user_id_by_user_name(data['created_by'])
            data['last_updated_by'] = user
            data['created_by'] = user
            for line in data['supplier_master_sites']:
                line['last_updated_by'] = user
                line['created_by'] = user
            create_supplier(data)
            output = {
                'Status':
                falcon.HTTP_200,
                'Message':
                "Supplier Details saved successfully for: " +
                data['supplier_name']
            }
            resp.status = falcon.HTTP_200
            resp.body = json.dumps(output)

        except (KeyError, ValueError) as e:
            error = "{err} field is required..!".format(err=e)
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(error)
            })
            resp.status = falcon.HTTP_400

        except Exception as e:
            resp.body = json.dumps({
                "Status": falcon.HTTP_400,
                'Error': str(e)
            })
            resp.status = falcon.HTTP_400
            return resp
def update_sales_trx(raw_data, session):
    sales_trx_number = raw_data['sales_trx_number']
    salestrxheader = session.query(SalesTrxHeader).filter_by(
        sales_trx_number=sales_trx_number).first()
    if salestrxheader is None:
        raise HTTPError(status=status_codes.HTTP_404,
                        errors="Sales Transaction number does not exist")
    if 'transaction_date' in raw_data.keys():
        salestrxheader.transaction_date = raw_data['transaction_date']
    if 'order_status' in raw_data.keys():
        salestrxheader.order_status = raw_data['order_status']
    if 'sales_rep_id' in raw_data.keys():
        salestrxheader.sales_rep_id = raw_data['sales_rep_id']
    if 'customer_id' in raw_data.keys():
        salestrxheader.customer_id = raw_data['customer_id']
    if 'last_updated_by' in raw_data.keys():
        salestrxheader.last_updated_by = get_user_id_by_user_name(
            raw_data['last_updated_by'])

    salestrxLines = []

    if 'sales_trx_lines' in raw_data.keys():
        for sales_trx_line in raw_data['sales_trx_lines']:
            if 'transaction_line_id' in sales_trx_line.keys():
                for trx_line in salestrxheader.sales_trx_lines:
                    if sales_trx_line[
                            "transaction_line_id"] == trx_line.transaction_line_id:
                        if 'item_id' in sales_trx_line:
                            trx_line.item_id = sales_trx_line['item_id']
                        #trx_line.line_number = sales_trx_line['line_number']
                        if 'booking_unit_price' in sales_trx_line:
                            trx_line.booking_unit_price = sales_trx_line[
                                'booking_unit_price']
                        if 'booking_quantity' in sales_trx_line:
                            trx_line.booking_quantity = sales_trx_line[
                                'booking_quantity']
                        if 'unit_of_measure' in sales_trx_line:
                            trx_line.unit_of_measure = sales_trx_line[
                                'unit_of_measure']
                        #trx_line.created_by = sales_trx_line['created_by']
                        trx_line.last_updated_by = get_user_id_by_user_name(
                            sales_trx_line['last_updated_by'])
                        break
            else:
                salestrxLine = SalesTrxLines()
                if 'item_id' in sales_trx_line:
                    salestrxLine.item_id = sales_trx_line['item_id']
                if 'line_number' in sales_trx_line:
                    salestrxLine.line_number = sales_trx_line['line_number']
                if 'booking_unit_price' in sales_trx_line:
                    salestrxLine.booking_unit_price = sales_trx_line[
                        'booking_unit_price']
                if 'booking_quantity' in sales_trx_line:
                    salestrxLine.booking_quantity = sales_trx_line[
                        'booking_quantity']
                if 'unit_of_measure' in sales_trx_line:
                    salestrxLine.unit_of_measure = sales_trx_line[
                        'unit_of_measure']
                salestrxLine.created_by = get_user_id_by_user_name(
                    sales_trx_line['created_by'])
                salestrxLine.last_updated_by = get_user_id_by_user_name(
                    sales_trx_line['last_updated_by'])
                salestrxLines.append(salestrxLine)

    if len(salestrxLines) > 0:
        salestrxheader.sales_trx_lines.extend(salestrxLines)
Exemplo n.º 8
0
def update_receipt_data(raw_data, session):
    challan_number = raw_data['challan_number']
    challanheader = session.query(ReceiptHeader).filter_by(
        challan_number=challan_number).first()
    if challanheader is None:
        raise HTTPError(status=status_codes.HTTP_404,
                        errors="Challan number does not exist")
    if 'vehicle_number' in raw_data.keys():
        challanheader.vehicle_number = raw_data['vehicle_number']
    if 'bata' in raw_data.keys():
        challanheader.bata = raw_data['bata']
    if 'receipt_header_status' in raw_data.keys():
        challanheader.receipt_header_status = raw_data['receipt_header_status']
    if 'net_weight' in raw_data.keys():
        challanheader.net_weight = raw_data['net_weight']
    if 'average_weight' in raw_data.keys():
        challanheader.average_weight = raw_data['average_weight']
    if 'unit_of_measure' in raw_data.keys():
        challanheader.unit_of_measure = raw_data['unit_of_measure']
    if 'total_bags' in raw_data.keys():
        challanheader.total_bags = raw_data['total_bags']
    challanheader.last_updated_by = get_user_id_by_user_name(
        raw_data['last_updated_by'])

    challanLines = []
    is_receipt_complete = False
    if 'receipt_lines' in raw_data.keys():
        for challan_line in raw_data['receipt_lines']:
            if 'receipt_line_id' in challan_line.keys():
                for challanLine in challanheader.receipt_lines:
                    if challan_line[
                            "receipt_line_id"] == challanLine.receipt_line_id:
                        if 'item_id' in challan_line.keys():
                            challanLine.item_id = challan_line['item_id']
                        if 'description' in challan_line.keys():
                            challanLine.description = challan_line[
                                'description']
                        if 'line_number' in challan_line.keys():
                            challanLine.line_number = challan_line[
                                'line_number']
                        if 'load_unload_number' in challan_line.keys():
                            challanLine.load_unload_number = challan_line[
                                'load_unload_number']
                        if 'load_unload_area' in challan_line.keys():
                            challanLine.load_unload_area = challan_line[
                                'load_unload_area']
                        if 'weighing_number' in challan_line.keys():
                            challanLine.weighing_number = challan_line[
                                'weighing_number']
                        if 'receipt_line_status' in challan_line.keys():
                            challanLine.receipt_line_status = challan_line[
                                'receipt_line_status']
                        if 'quantity' in challan_line.keys():
                            challanLine.quantity = challan_line['quantity']
                        if 'number_of_bags' in challan_line.keys():
                            challanLine.number_of_bags = challan_line[
                                'number_of_bags']
                        if 'unit_price' in challan_line.keys():
                            challanLine.unit_price = challan_line['unit_price']
                        if 'unit_of_measure' in challan_line.keys():
                            challanLine.unit_of_measure = challan_line[
                                'unit_of_measure']
                        if 'discount' in challan_line.keys():
                            challanLine.discount = challan_line['discount']
                        if 'last_updated_by' in challan_line.keys():
                            challanLine.last_updated_by = get_user_id_by_user_name(
                                challan_line['last_updated_by'])
                        if challan_line['receipt_line_status'] == 'COMPLETE':
                            is_receipt_complete = is_receipt_complete or True
                        else:
                            is_receipt_complete = is_receipt_complete and False

                        break
            else:
                challanLine = ReceiptLines()
                if 'item_id' in challan_line.keys():
                    challanLine.item_id = challan_line['item_id']
                if 'description' in challan_line.keys():
                    challanLine.description = challan_line['description']
                if 'line_number' in challan_line.keys():
                    challanLine.line_number = challan_line['line_number']
                if 'load_unload_number' in challan_line.keys():
                    challanLine.load_unload_number = challan_line[
                        'load_unload_number']
                if 'load_unload_area' in challan_line.keys():
                    challanLine.load_unload_area = challan_line[
                        'load_unload_area']
                if 'weighing_number' in challan_line.keys():
                    challanLine.weighing_number = challan_line[
                        'weighing_number']
                if 'receipt_line_status' in challan_line.keys():
                    challanLine.receipt_line_status = challan_line[
                        'receipt_line_status']
                if 'quantity' in challan_line.keys():
                    challanLine.quantity = challan_line['quantity']
                if 'number_of_bags' in challan_line.keys():
                    challanLine.number_of_bags = challan_line['number_of_bags']
                if 'unit_price' in challan_line.keys():
                    challanLine.unit_price = challan_line['unit_price']
                if 'unit_of_measure' in challan_line.keys():
                    challanLine.unit_of_measure = challan_line[
                        'unit_of_measure']
                if 'discount' in challan_line.keys():
                    challanLine.discount = challan_line['discount']
                if 'last_updated_by' in challan_line.keys():
                    challanLine.last_updated_by = get_user_id_by_user_name(
                        challan_line['last_updated_by'])
                    challanLine.created_by = get_user_id_by_user_name(
                        challan_line['last_updated_by'])
                challanLines.append(challanLine)
                is_receipt_complete = is_receipt_complete and False

        if len(challanLines) > 0:
            challanheader.receipt_lines.extend(challanLines)
        else:
            if is_receipt_complete:
                challanheader.receipt_header_status = 'COMPLETE'
                challanheader.receipt_date = datetime.datetime.utcnow()