[
{
"file": "XLS/LMF.pm",
"function": "true",
"line": 16,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::keana_webhook"
]
},
{
"file": "XLS/LMF.pm",
"function": "new",
"line": 18,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request",
"XLS/LMF.pm::_route_plan_importer",
"XLS/LMF.pm::postcode",
"XLS/LMF.pm::stops",
"XLS/LMF.pm::new_supplier_delivery",
"XLS/LMF.pm::new_supplier_deliveries",
"XLS/LMF.pm::next_logistics_delivery",
"XLS/LMF.pm::logistics_pickup",
"XLS/LMF.pm::logistics_delivery",
"XLS/LMF.pm::logistics_deliveries",
"XLS/LMF.pm::customer_delivery",
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::supplier_deliveries",
"XLS/LMF.pm::keana_webhook",
"XLS/LMF.pm::klant",
"XLS/LMF.pm::leverancier"
]
},
{
"file": "XLS/LMF.pm",
"function": "handle_request",
"line": 41,
"params": [],
"calls": [
"_dash_dispatch",
"_dash_request",
"accept_new_delivery",
"assignment",
"b2c_hub_order",
"b2c_hub_orders",
"check_token",
"confirm_delivery",
"customer_dashboard",
"customer_deliveries",
"customer_delivery",
"download_orders",
"hub_customer_products",
"hub_customers",
"hub_dashboard",
"hub_incoming",
"hub_incoming_deliveries",
"hub_orders",
"hub_outgoing",
"hub_outgoing_deliveries",
"hub_routes",
"hub_supplier_products",
"hub_suppliers",
"hub_vehicles",
"keana_webhook",
"location_comment",
"log",
"log_report",
"log_report_hub",
"logistics_dashboard",
"logistics_deliveries",
"logistics_delivery",
"logistics_pickup",
"new",
"new_supplier_deliveries",
"new_supplier_delivery",
"next_logistics_delivery",
"orders",
"postcode",
"products",
"return_packaging",
"role",
"route_plan",
"stop",
"stops",
"supplier_dashboard",
"supplier_deliveries",
"update_supplier_delivery",
"upload_assortment",
"upload_invoices",
"upload_package_info"
],
"modules": [
[
"XLS::LMF::EmballageControl",
"new"
]
],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": []
},
{
"file": "XLS/LMF.pm",
"function": "route_plan",
"line": 224,
"params": [],
"calls": [
"_route_plan_post_method",
"_route_plan_update_route_locations"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_importer",
"line": 239,
"params": [],
"calls": [
"new"
],
"modules": [
[
"XLS::LMF::RoutePlanImporter",
"new"
]
],
"tables": [],
"sql": [],
"signature": [],
"writes": [],
"operations": {},
"commits": false,
"callers": []
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_update_route_locations",
"line": 243,
"params": [],
"calls": [
"_lmf_error",
"_lmf_positive_int",
"_lmf_truthy",
"_route_plan_begin_transaction",
"_route_plan_commit_transaction",
"_route_plan_request_payload",
"_route_plan_rollback_transaction",
"_route_plan_route_location",
"_route_plan_route_location_payload",
"stop"
],
"modules": [],
"tables": [
"route_lokatie"
],
"sql": [
"UPDATE route_lokatie SET nummer=? WHERE id=? AND (nummer IS DISTINCT FROM ?)"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"route_lokatie"
],
"operations": {
"route_lokatie": [
"UPDATE"
]
},
"commits": false,
"callers": [
"XLS/LMF.pm::route_plan"
]
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_request_payload",
"line": 319,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($params) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations"
]
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_route_location_payload",
"line": 328,
"params": [],
"calls": [
"_lmf_error",
"_lmf_positive_int",
"stop"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($payload) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations"
]
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_route_location",
"line": 364,
"params": [],
"calls": [
"_lmf_error"
],
"modules": [],
"tables": [
"route_lokatie"
],
"sql": [
"SELECT id, nummer FROM route_lokatie WHERE lokatie=?"
],
"signature": [
"my ($dbh, $location_id) = @_"
],
"writes": [],
"operations": {
"route_lokatie": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations"
]
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_begin_transaction",
"line": 380,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($dbh) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations"
]
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_commit_transaction",
"line": 391,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($dbh, $owns_transaction) = @_"
],
"writes": [],
"operations": {},
"commits": true,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations"
]
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_rollback_transaction",
"line": 397,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($dbh, $owns_transaction) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations"
]
},
{
"file": "XLS/LMF.pm",
"function": "_route_plan_post_method",
"line": 403,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($method) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::route_plan",
"XLS/LMF.pm::_dash_dispatch"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_request",
"line": 411,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($request) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_dispatch",
"line": 421,
"params": [],
"calls": [
"_dash_has_scope_parameter",
"_dash_marketplace_scope",
"_lmf_error",
"_route_plan_post_method",
"dash_customers",
"dash_orders",
"dash_route_customers",
"dash_suppliers"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_has_scope_parameter",
"line": 446,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($params) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_dispatch"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_marketplace_scope",
"line": 463,
"params": [],
"calls": [
"_dash_supplier_marketplaces",
"_lmf_error",
"_lmf_positive_int",
"_lmf_truthy",
"_unique_defined_values"
],
"modules": [],
"tables": [
"klant"
],
"sql": [
"SELECT klant.marktplaats FROM klant WHERE klant.id=? AND klant.marktplaats IS NOT NULL"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"klant": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_dispatch"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_supplier_marketplaces",
"line": 499,
"params": [],
"calls": [
"_lmf_positive_int",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier_marktplaats"
],
"sql": [
"SELECT DISTINCT marktplaats FROM leverancier_marktplaats WHERE leverancier=? AND marktplaats IS NOT NULL ORDER BY marktplaats"
],
"signature": [
"my ( $dbh, $supplier_id ) = @_"
],
"writes": [],
"operations": {
"leverancier_marktplaats": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_marketplace_scope"
]
},
{
"file": "XLS/LMF.pm",
"function": "_lmf_error",
"line": 514,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($code, $message, $data) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations",
"XLS/LMF.pm::_route_plan_route_location_payload",
"XLS/LMF.pm::_route_plan_route_location",
"XLS/LMF.pm::_dash_dispatch",
"XLS/LMF.pm::_dash_marketplace_scope",
"XLS/LMF.pm::dash_customers",
"XLS/LMF.pm::dash_route_customers",
"XLS/LMF.pm::dash_suppliers",
"XLS/LMF.pm::dash_orders"
]
},
{
"file": "XLS/LMF.pm",
"function": "check_token",
"line": 521,
"params": [
"Authorization",
"token"
],
"calls": [
"_extract_uuid_token"
],
"modules": [],
"tables": [
"lmf_user"
],
"sql": [
"SELECT id, actief FROM lmf_user WHERE token=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"lmf_user": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "_extract_uuid_token",
"line": 558,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($token) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::check_token",
"XLSLMFHandler.pm::authorization",
"XLSLMFHandler.pm::credentials"
]
},
{
"file": "XLS/LMF.pm",
"function": "postcode",
"line": 572,
"params": [],
"calls": [
"new"
],
"modules": [
[
"XLS::Postcode",
"new"
]
],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_customer_products",
"line": 636,
"params": [
"customer_id",
"end_date",
"start_date"
],
"calls": [],
"modules": [
[
"XLS::Datum",
"JSON_Datum"
]
],
"tables": [
"leverancier",
"lokatie",
"order_regel",
"product",
"vers_order"
],
"sql": [
"SELECT leverancier.id AS supplier_id, leverancier.naam AS supplier_name, product.id, product.code, product.naam AS name, product.omschrijving_verpakking AS package_description, vers_order.afleverdatum AS delivery_date, sum(order_regel.aantal) AS number FROM lokatie, leverancier, product, order_regel, vers_order WHERE leverancier.id = product.leverancier AND product.id = order_regel.product AND order_regel.vers_order = vers_order.id AND vers_order.lokatie = lokatie.id AND lokatie.id = ? AND vers_order.afleverdatum BETWEEN ? AND ? GROUP BY leverancier.id, leverancier.naam, product.id, product.code, product.naam, product.omschrijving_verpakking, vers_order.afleverdatum ORDER BY product.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"lokatie": [],
"order_regel": [],
"product": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_supplier_products",
"line": 678,
"params": [
"end_date",
"start_date",
"supplier_id"
],
"calls": [],
"modules": [
[
"XLS::Datum",
"JSON_Datum"
]
],
"tables": [
"order_regel",
"product",
"vers_order"
],
"sql": [
"SELECT product.id, product.code, product.naam AS name, product.omschrijving_verpakking AS package_description, vers_order.afleverdatum AS delivery_date, sum(order_regel.aantal) AS number FROM product, order_regel, vers_order WHERE product.id = order_regel.product AND order_regel.vers_order = vers_order.id AND vers_order.leverancier = ? AND vers_order.afleverdatum BETWEEN ? AND ? GROUP BY product.id, product.code, product.naam, product.omschrijving_verpakking, vers_order.afleverdatum ORDER BY product.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"order_regel": [],
"product": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_customers",
"line": 714,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [],
"tables": [
"lokatie",
"vers_order"
],
"sql": [
"SELECT DISTINCT lokatie.id, lokatie.naam, lokatie.lat_lng FROM lokatie, vers_order WHERE lokatie.id = vers_order.lokatie AND vers_order.hub = ? AND vers_order.afleverdatum::date BETWEEN ? AND ? ORDER BY lokatie.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"lokatie": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_suppliers",
"line": 742,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [],
"tables": [
"leverancier",
"vers_order"
],
"sql": [
"SELECT DISTINCT leverancier.id, leverancier.naam AS name, leverancier.latitude, leverancier.longitude, leverancier.hub AS can_act_as_hub, leverancier.vervoerder AS can_act_as_carrier FROM leverancier, vers_order WHERE ( leverancier.id = vers_order.leverancier OR leverancier.id = vers_order.hub ) AND vers_order.hub = ? AND vers_order.afleverdatum::date BETWEEN ? AND ? ORDER BY leverancier.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_orders",
"line": 774,
"params": [
"end_date",
"start_date"
],
"calls": [
"_location_date_key",
"_preload_registration_details_by_location_date",
"_preload_registration_details_by_supplier_date",
"_registration_totals"
],
"modules": [
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"JSON_Timestamp"
]
],
"tables": [
"leverancier",
"leverancier_pakbon",
"lokatie",
"vers_order"
],
"sql": [
"SELECT DISTINCT leverancier.id, leverancier.naam, leverancier.latitude, leverancier.longitude, hub.id AS hub_id, hub.naam AS hub_name, hub.latitude AS hub_latitude, hub.longitude AS hub_longitude, lokatie.id AS lokatie_id, lokatie.naam AS lokatie_naam, lokatie.lat_lng, vers_order.id AS order_id, vers_order.order_datum AS order_date, vers_order.bedrag AS order_amount, leverancier_pakbon.lever_datum FROM leverancier AS hub, leverancier, lokatie, leverancier_pakbon, vers_order WHERE vers_order.id = leverancier_pakbon.vers_order AND hub.id = leverancier_pakbon.hub AND leverancier.id = leverancier_pakbon.leverancier AND lokatie.id = leverancier_pakbon.lokatie AND leverancier_pakbon.hub = ? AND leverancier_pakbon.lever_datum::date BETWEEN ? AND ? ORDER BY leverancier.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_pakbon": [],
"lokatie": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "dash_customers",
"line": 867,
"params": [
"end_date",
"start_date"
],
"calls": [
"_dash_in_clause",
"_lmf_error"
],
"modules": [],
"tables": [
"klant",
"lokatie",
"vers_order"
],
"sql": [
"SELECT DISTINCT lokatie.id, lokatie.naam, lokatie.lat_lng FROM vers_order JOIN lokatie ON lokatie.id = vers_order.lokatie JOIN klant ON klant.id = lokatie.klant WHERE $marketplace_sql AND (vers_order.marktplaats IS NULL OR vers_order.marktplaats = klant.marktplaats) AND vers_order.afleverdatum::date BETWEEN ? AND ? ORDER BY lokatie.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"klant": [],
"lokatie": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_dispatch"
]
},
{
"file": "XLS/LMF.pm",
"function": "dash_route_customers",
"line": 901,
"params": [
"end_date",
"start_date"
],
"calls": [
"_dash_in_clause",
"_dash_route_number_sort",
"_lmf_error",
"_lmf_positive_int"
],
"modules": [],
"tables": [
"klant",
"lokatie",
"marktplaats",
"route",
"route_lokatie",
"vers_order"
],
"sql": [
"WITH scoped_customers AS ( SELECT DISTINCT lokatie.id, lokatie.naam, lokatie.lat_lng, klant.marktplaats FROM vers_order JOIN lokatie ON lokatie.id = vers_order.lokatie JOIN klant ON klant.id = lokatie.klant WHERE $marketplace_sql AND (vers_order.marktplaats IS NULL OR vers_order.marktplaats = klant.marktplaats) AND vers_order.afleverdatum::date BETWEEN ? AND ? ) SELECT scoped_customers.id, scoped_customers.naam, scoped_customers.lat_lng, route.id AS route_id, route.naam AS route_name, route_lokatie.nummer FROM scoped_customers LEFT JOIN marktplaats ON marktplaats.id = scoped_customers.marktplaats LEFT JOIN route_lokatie ON route_lokatie.lokatie = scoped_customers.id LEFT JOIN route ON route.id = route_lokatie.route AND route.leverancier = marktplaats.leverancier ORDER BY scoped_customers.naam, scoped_customers.id, route_lokatie.nummer, route.naam, route.id"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"klant": [],
"lokatie": [],
"marktplaats": [],
"route": [],
"route_lokatie": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_dispatch"
]
},
{
"file": "XLS/LMF.pm",
"function": "dash_suppliers",
"line": 1018,
"params": [
"end_date",
"start_date"
],
"calls": [
"_dash_in_clause",
"_lmf_error"
],
"modules": [],
"tables": [
"klant",
"leverancier",
"lokatie",
"vers_order"
],
"sql": [
"SELECT DISTINCT leverancier.id, leverancier.naam AS name, leverancier.latitude, leverancier.longitude, leverancier.hub AS can_act_as_hub, leverancier.vervoerder AS can_act_as_carrier FROM vers_order JOIN lokatie ON lokatie.id = vers_order.lokatie JOIN klant ON klant.id = lokatie.klant JOIN leverancier ON ( leverancier.id = vers_order.leverancier OR leverancier.id = vers_order.hub ) WHERE $marketplace_sql AND (vers_order.marktplaats IS NULL OR vers_order.marktplaats = klant.marktplaats) AND vers_order.afleverdatum::date BETWEEN ? AND ? ORDER BY leverancier.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"klant": [],
"leverancier": [],
"lokatie": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_dispatch"
]
},
{
"file": "XLS/LMF.pm",
"function": "dash_orders",
"line": 1058,
"params": [
"end_date",
"start_date"
],
"calls": [
"_dash_in_clause",
"_dash_registration_key",
"_lmf_error",
"_preload_dash_registration_details_by_location_date",
"_preload_dash_registration_details_by_supplier_date",
"_registration_totals"
],
"modules": [
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"JSON_Timestamp"
]
],
"tables": [
"klant",
"leverancier",
"leverancier_pakbon",
"lokatie",
"vers_order"
],
"sql": [
"WITH scoped_pakbon AS ( SELECT DISTINCT leverancier_pakbon.id AS pakbon_id, leverancier_pakbon.hub, leverancier_pakbon.leverancier, leverancier_pakbon.lokatie, leverancier_pakbon.lever_datum, vers_order.id AS order_id, vers_order.order_datum AS order_date, vers_order.bedrag AS order_amount FROM leverancier_pakbon JOIN vers_order ON vers_order.id = leverancier_pakbon.vers_order JOIN lokatie ON lokatie.id = leverancier_pakbon.lokatie JOIN klant ON klant.id = lokatie.klant WHERE $marketplace_sql AND (vers_order.marktplaats IS NULL OR vers_order.marktplaats = klant.marktplaats) AND leverancier_pakbon.lever_datum::date BETWEEN ? AND ? ) SELECT DISTINCT leverancier.id, leverancier.naam, leverancier.latitude, leverancier.longitude, hub.id AS hub_id, hub.naam AS hub_name, hub.latitude AS hub_latitude, hub.longitude AS hub_longitude, lokatie.id AS lokatie_id, lokatie.naam AS lokatie_naam, lokatie.lat_lng, scoped_pakbon.order_id, scoped_pakbon.order_date, scoped_pakbon.order_amount, scoped_pakbon.lever_datum FROM scoped_pakbon JOIN leverancier AS hub ON hub.id = scoped_pakbon.hub JOIN leverancier ON leverancier.id = scoped_pakbon.leverancier JOIN lokatie ON lokatie.id = scoped_pakbon.lokatie ORDER BY leverancier.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"klant": [],
"leverancier": [],
"leverancier_pakbon": [],
"lokatie": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_dispatch"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_vehicles",
"line": 1171,
"params": [],
"calls": [],
"modules": [],
"tables": [
"voertuig"
],
"sql": [
"SELECT * FROM voertuig WHERE leverancier=? AND actief=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"voertuig": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_routes",
"line": 1193,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [
[
"XLS::Datum",
"JSON_Datum"
]
],
"tables": [
"leverancier",
"leverancier_pakbon",
"lokatie",
"route",
"route_lokatie"
],
"sql": [
"SELECT DISTINCT route.id AS route_id, route.naam AS route_name, route_lokatie.nummer, leverancier_pakbon.lever_datum AS delivery_date, leverancier.id AS supplier_id, lokatie.id AS customer_id FROM route, leverancier_pakbon, route_lokatie LEFT JOIN lokatie ON lokatie.id = route_lokatie.lokatie LEFT JOIN leverancier ON leverancier.id = route_lokatie.leverancier WHERE leverancier_pakbon.hub = ? AND leverancier_pakbon.lever_datum BETWEEN ? AND ? AND route.leverancier = leverancier_pakbon.hub AND route_lokatie.route = route.id ORDER BY route_lokatie.nummer"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_pakbon": [],
"lokatie": [],
"route": [],
"route_lokatie": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "b2c_hub_orders",
"line": 1228,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "b2c_hub_order",
"line": 1235,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "log_report_hub",
"line": 1242,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "log_report",
"line": 1249,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [],
"tables": [
"lmf_log"
],
"sql": [
"SELECT username, bericht AS message, datum AS date FROM lmf_log WHERE leverancier=? AND datum::date BETWEEN ? AND ? ORDER BY id DESC"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"lmf_log": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "log",
"line": 1274,
"params": [
"message",
"username"
],
"calls": [],
"modules": [],
"tables": [
"lmf_log"
],
"sql": [
"INSERT INTO lmf_log(leverancier, username, bericht) VALUES(?,?,?)"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"lmf_log"
],
"operations": {
"lmf_log": [
"INSERT INTO"
]
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_dashboard",
"line": 1285,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [],
"tables": [
"order_regel",
"product",
"productgroep",
"vers_order"
],
"sql": [
"SELECT afleverdatum AS delivery_date, count(*) AS orders FROM vers_order WHERE afleverdatum BETWEEN ? AND ? AND hub=? GROUP BY afleverdatum ORDER BY afleverdatum",
"SELECT productgroep.naam AS name, sum(order_regel.aantal) AS number FROM vers_order, order_regel, product, productgroep WHERE productgroep.id = product.productgroep AND product.id = order_regel.product AND order_regel.vers_order = vers_order.id AND vers_order.afleverdatum BETWEEN ? AND ? AND vers_order.hub = ? GROUP BY productgroep.naam ORDER BY number DESC LIMIT 10"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"order_regel": [],
"product": [],
"productgroep": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "supplier_dashboard",
"line": 1335,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [],
"tables": [
"order_regel",
"product",
"productgroep",
"vers_order"
],
"sql": [
"SELECT afleverdatum AS delivery_date, count(*) AS orders FROM vers_order WHERE afleverdatum BETWEEN ? AND ? AND leverancier=? GROUP BY afleverdatum ORDER BY afleverdatum",
"SELECT productgroep.naam AS name, sum(order_regel.aantal) AS number FROM vers_order, order_regel, product, productgroep WHERE productgroep.id = product.productgroep AND product.id = order_regel.product AND order_regel.vers_order = vers_order.id AND vers_order.afleverdatum BETWEEN ? AND ? AND vers_order.leverancier = ? GROUP BY productgroep.naam ORDER BY number DESC LIMIT 10"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"order_regel": [],
"product": [],
"productgroep": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "logistics_dashboard",
"line": 1385,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [],
"tables": [
"order_regel",
"product",
"productgroep",
"vers_order"
],
"sql": [
"SELECT afleverdatum AS delivery_date, count(*) AS orders FROM vers_order WHERE afleverdatum BETWEEN ? AND ? AND transporteur=? GROUP BY afleverdatum ORDER BY afleverdatum",
"SELECT productgroep.naam AS name, sum(order_regel.aantal) AS number FROM vers_order, order_regel, product, productgroep WHERE productgroep.id = product.productgroep AND product.id = order_regel.product AND order_regel.vers_order = vers_order.id AND vers_order.afleverdatum BETWEEN ? AND ? AND vers_order.transporteur = ? GROUP BY productgroep.naam ORDER BY number DESC LIMIT 10"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"order_regel": [],
"product": [],
"productgroep": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "customer_dashboard",
"line": 1435,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [],
"tables": [
"lokatie",
"order_regel",
"product",
"productgroep",
"vers_order"
],
"sql": [
"SELECT afleverdatum AS delivery_date, count(*) AS orders FROM vers_order WHERE afleverdatum BETWEEN ? AND ? AND lokatie IN( SELECT id FROM lokatie WHERE guid= ?) GROUP BY afleverdatum ORDER BY afleverdatum",
"SELECT productgroep.naam AS name, sum(order_regel.aantal) AS number FROM vers_order, order_regel, product, productgroep WHERE productgroep.id = product.productgroep AND product.id = order_regel.product AND order_regel.vers_order = vers_order.id AND vers_order.afleverdatum BETWEEN ? AND ? AND vers_order.lokatie IN ( SELECT id FROM lokatie WHERE guid = ?) GROUP BY productgroep.naam ORDER BY number DESC LIMIT 10"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"lokatie": [],
"order_regel": [],
"product": [],
"productgroep": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "orders",
"line": 1486,
"params": [
"end_date",
"start_date"
],
"calls": [
"order_regels"
],
"modules": [],
"tables": [
"lokatie",
"order_status",
"vers_order"
],
"sql": [
"SELECT vers_order.id AS order_id, lokatie.id AS location_id, lokatie.naam AS location_name, vers_order.afleverdatum AS delivery_date, order_status.naam AS status FROM vers_order, lokatie, order_status WHERE order_status.id = vers_order.order_status AND lokatie.id = vers_order.lokatie AND vers_order.leverancier = ? AND vers_order.afleverdatum BETWEEN ? AND ? AND (vers_order.app=false OR vers_order.app=true) ORDER BY vers_order.id"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"lokatie": [],
"order_status": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "order_regels",
"line": 1521,
"params": [],
"calls": [],
"modules": [],
"tables": [
"order_regel",
"product"
],
"sql": [
"SELECT product.code, product.naam AS name, product.omschrijving_verpakking AS package_description, product.stuk_gewicht, order_regel.aantal AS number, order_regel.bestel_gewicht AS weight FROM product, order_regel WHERE product.id=order_regel.product AND order_regel.vers_order=? ORDER BY product.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"order_regel": [],
"product": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::orders"
]
},
{
"file": "XLS/LMF.pm",
"function": "products",
"line": 1547,
"params": [
"end_date",
"start_date"
],
"calls": [],
"modules": [],
"tables": [
"order_regel",
"product",
"vers_order"
],
"sql": [
"SELECT vers_order.afleverdatum AS delivery_date, product.naam AS name, product.omschrijving_verpakking AS package_description, sum(order_regel.aantal) AS number FROM product, order_regel, vers_order WHERE product.id = order_regel.product AND order_regel.vers_order = vers_order.id AND vers_order.leverancier = ? AND vers_order.afleverdatum BETWEEN ? AND ? GROUP BY product.naam, product.omschrijving_verpakking, vers_order.afleverdatum ORDER BY vers_order.afleverdatum, product.naam"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"order_regel": [],
"product": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "lmf_bezoeker",
"line": 1582,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_bezoeker",
"lmf_pagina"
],
"sql": [
"SELECT * FROM lmf_bezoeker WHERE ip_adres=?",
"INSERT INTO lmf_bezoeker(ip_adres, plaats, latitude, longitude) VALUES(?,?,?,?)",
"SELECT * FROM lmf_pagina WHERE ? BETWEEN west AND oost AND ? BETWEEN zuid AND noord",
"SELECT count(*) FROM lmf_pagina",
"SELECT * FROM lmf_pagina WHERE id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"lmf_bezoeker"
],
"operations": {
"lmf_bezoeker": [
"INSERT INTO"
],
"lmf_pagina": []
},
"commits": true,
"callers": []
},
{
"file": "XLS/LMF.pm",
"function": "assignment",
"line": 1604,
"params": [
"date",
"debtor",
"order_number",
"packages"
],
"calls": [
"lokatie_hub"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_emballage_registratie",
"leverancier_pakbon",
"leverancier_pakbon_footer",
"lokatie",
"lokatie_leverancier"
],
"sql": [
"SELECT * FROM lokatie WHERE id IN ( SELECT lokatie FROM lokatie_leverancier WHERE debiteurnummer=? AND leverancier=?)",
"SELECT * FROM leverancier_pakbon WHERE leverancier=? AND lokatie=? AND lever_datum=?",
"SELECT * FROM leverancier_emballage_artikel WHERE leverancier=? AND code=?",
"INSERT INTO leverancier_pakbon(leverancier, lokatie, factuur_nummer, lever_datum, via_hub, hub, lmf_levering) VALUES(?,?,?,?,?,?,?) RETURNING id",
"INSERT INTO leverancier_pakbon_footer(leverancier_pakbon, totaal_emballage_bedrag) VALUES(?,?)",
"SELECT levering FROM leverancier_pakbon WHERE id=?",
"INSERT INTO leverancier_emballage_registratie(leverancier, leverancier_emballage_artikel, datum, hub, inkomend, lmf_user, leverancier_pakbon, levering) VALUES(?,?,?,?,?,?,?,?)"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_emballage_registratie",
"leverancier_pakbon",
"leverancier_pakbon_footer"
],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_emballage_registratie": [
"INSERT INTO"
],
"leverancier_pakbon": [
"INSERT INTO"
],
"leverancier_pakbon_footer": [
"INSERT INTO"
],
"lokatie": [],
"lokatie_leverancier": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "lokatie_hub",
"line": 1657,
"params": [],
"calls": [],
"modules": [],
"tables": [
"leverancier",
"lokatie_leverancier"
],
"sql": [
"SELECT * FROM leverancier WHERE id IN(SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"lokatie_leverancier": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::assignment"
]
},
{
"file": "XLS/LMF.pm",
"function": "download_orders",
"line": 1666,
"params": [],
"calls": [],
"modules": [
[
"XLS::Datum",
"JSON_Datum"
]
],
"tables": [
"lokatie_leverancier",
"order_regel",
"product",
"vers_order"
],
"sql": [
"SELECT product.code, product.naam AS name, product.stuk_gewicht AS type, product.bestelgewicht AS product_weight, order_regel.aantal AS number, order_regel.bestel_gewicht AS weight FROM product, order_regel WHERE product.id = order_regel.product AND order_regel.vers_order=?",
"SELECT * FROM vers_order WHERE leverancier=? AND order_status=? ORDER BY id",
"SELECT debiteurnummer FROM lokatie_leverancier WHERE lokatie=? AND leverancier=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"lokatie_leverancier": [],
"order_regel": [],
"product": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "upload_assortment",
"line": 1705,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "upload_invoices",
"line": 1712,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "upload_package_info",
"line": 1719,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "location_comment",
"line": 1726,
"params": [
"comment",
"location"
],
"calls": [
"klant"
],
"modules": [],
"tables": [
"lokatie"
],
"sql": [
"UPDATE lokatie SET bijzonderheden=? WHERE guid=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"lokatie"
],
"operations": {
"lokatie": [
"UPDATE"
]
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_incoming_deliveries",
"line": 1738,
"params": [
"delivery_date",
"packages",
"returned_packages",
"supplier_id"
],
"calls": [
"_emballage_source_reference"
],
"modules": [],
"tables": [
"leverancier_emballage_registratie"
],
"sql": [
"INSERT INTO leverancier_emballage_registratie( lmf_user, hub, leverancier_emballage_artikel, kvd, inkomend, datum, leverancier, bevestigd, leverancier_pakbon, levering) VALUES(?,?,?,?,?,?,?,?,?,?) RETURNING id",
"UPDATE leverancier_emballage_registratie SET inkomend=?, bevestigd=?, leverancier_pakbon=COALESCE(leverancier_pakbon, ?), levering=COALESCE(levering, ?) WHERE leverancier_emballage_artikel=? AND hub=? AND datum=? AND leverancier=?",
"INSERT INTO leverancier_emballage_registratie( lmf_user, hub, leverancier_emballage_artikel, kvd, uitgaand, datum, leverancier, bevestigd, leverancier_pakbon, levering) VALUES(?,?,?,?,?,?,?,?,?,?) RETURNING id",
"UPDATE leverancier_emballage_registratie SET uitgaand=?, bevestigd=?, leverancier_pakbon=COALESCE(leverancier_pakbon, ?), levering=COALESCE(levering, ?) WHERE leverancier_emballage_artikel=? AND hub=? AND datum=? AND leverancier=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_emballage_registratie"
],
"operations": {
"leverancier_emballage_registratie": [
"INSERT INTO",
"UPDATE"
]
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_outgoing_deliveries",
"line": 1831,
"params": [
"delivery_date",
"location_id",
"packages",
"returned_packages"
],
"calls": [
"_emballage_source_reference"
],
"modules": [],
"tables": [
"leverancier_emballage_registratie"
],
"sql": [
"INSERT INTO leverancier_emballage_registratie( lmf_user, hub, leverancier_emballage_artikel, kvd, uitgaand, datum, lokatie, bevestigd, leverancier_pakbon, levering) VALUES(?,?,?,?,?,?,?,?,?,?) RETURNING id",
"INSERT INTO leverancier_emballage_registratie( lmf_user, hub, leverancier_emballage_artikel, kvd, inkomend, datum, lokatie, bevestigd, leverancier_pakbon, levering) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id",
"UPDATE leverancier_emballage_registratie SET inkomend = ?, bevestigd = ?, leverancier_pakbon=COALESCE(leverancier_pakbon, ?), levering=COALESCE(levering, ?) WHERE leverancier_emballage_artikel = ? AND hub = ? AND datum = ? AND lokatie = ?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_emballage_registratie"
],
"operations": {
"leverancier_emballage_registratie": [
"INSERT INTO",
"UPDATE"
]
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "_emballage_source_reference",
"line": 1909,
"params": [
"delivery_id",
"leverancier_pakbon",
"levering"
],
"calls": [
"_emballage_source_reference_result",
"_lmf_positive_int"
],
"modules": [],
"tables": [
"leverancier_pakbon"
],
"sql": [
"SELECT id, levering, hub, leverancier, lokatie, lever_datum FROM leverancier_pakbon WHERE id=?",
"SELECT id, levering, hub, leverancier, lokatie, lever_datum FROM leverancier_pakbon WHERE guid=?",
"SELECT id, levering, hub, leverancier, lokatie, lever_datum FROM leverancier_pakbon WHERE levering=?",
"SELECT id, levering, hub, leverancier, lokatie, lever_datum FROM leverancier_pakbon WHERE"
],
"signature": [
"my ( $args, $scope ) = @_"
],
"writes": [],
"operations": {
"leverancier_pakbon": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::hub_incoming_deliveries",
"XLS/LMF.pm::hub_outgoing_deliveries"
]
},
{
"file": "XLS/LMF.pm",
"function": "_emballage_source_reference_result",
"line": 1948,
"params": [],
"calls": [
"_emballage_source_in_scope",
"_lmf_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $row, $scope ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_emballage_source_reference"
]
},
{
"file": "XLS/LMF.pm",
"function": "_emballage_source_in_scope",
"line": 1957,
"params": [],
"calls": [
"_lmf_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $row, $scope ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_emballage_source_reference_result"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_incoming",
"line": 1974,
"params": [
"end_date",
"start_date"
],
"calls": [
"_location_date_key",
"_preload_locations_by_supplier_date",
"_preload_package_catalogs",
"_preload_registration_details_by_supplier_date"
],
"modules": [],
"tables": [
"leverancier",
"leverancier_pakbon"
],
"sql": [
"SELECT leverancier.id AS supplier_id, leverancier.naam AS supplier, leverancier.adres AS address, leverancier.postcode AS zipcode, leverancier.plaats AS city, leverancier.latitude, leverancier.longitude, leverancier_pakbon.lever_datum AS delivery_date FROM leverancier, leverancier_pakbon WHERE leverancier.id = leverancier_pakbon.leverancier AND leverancier_pakbon.hub = ? AND leverancier_pakbon.lever_datum BETWEEN ? AND ? GROUP BY leverancier.id, leverancier.naam,leverancier.adres, leverancier.postcode, leverancier.plaats, leverancier.latitude, leverancier_pakbon.lever_datum ORDER BY leverancier.naam, leverancier_pakbon.lever_datum"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_pakbon": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub_outgoing",
"line": 2055,
"params": [
"end_date",
"start_date"
],
"calls": [
"_location_date_key",
"_preload_basic_suppliers_by_location_date",
"_preload_package_catalogs",
"_preload_registration_details_by_location_date"
],
"modules": [],
"tables": [
"leverancier_pakbon",
"lokatie"
],
"sql": [
"SELECT lokatie.id AS location_id, lokatie.naam AS location, lokatie.adres AS address, lokatie.postcode AS zipcode, lokatie.plaats AS city, lokatie.lat_lng, leverancier_pakbon.lever_datum AS delivery_date FROM lokatie, leverancier_pakbon WHERE lokatie.id = leverancier_pakbon.lokatie AND leverancier_pakbon.hub = ? AND leverancier_pakbon.lever_datum BETWEEN ? AND ? GROUP BY lokatie.id, lokatie.naam, leverancier_pakbon.lever_datum ORDER BY lokatie.naam, leverancier_pakbon.lever_datum"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier_pakbon": [],
"lokatie": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "stop",
"line": 2125,
"params": [
"stop_id"
],
"calls": [
"delivery_stop",
"pickup_stop"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request",
"XLS/LMF.pm::_route_plan_update_route_locations",
"XLS/LMF.pm::_route_plan_route_location_payload"
]
},
{
"file": "XLS/LMF.pm",
"function": "delivery_stop",
"line": 2140,
"params": [
"packages",
"returned_packages",
"stop_id"
],
"calls": [
"_lmf_positive_int",
"stops"
],
"modules": [
[
"XLS::Datum",
"vandaag"
]
],
"tables": [
"leverancier_emballage_registratie_stop",
"leverancier_pakbon"
],
"sql": [
"SELECT * FROM leverancier_pakbon WHERE id=?",
"INSERT INTO leverancier_emballage_registratie_stop( lmf_user, datum, lokatie, leverancier_emballage_artikel, opgehaald, afgeleverd, kvd, stop_id, leverancier_pakbon) VALUES(?,now(),?,?,?,?,?,?,?)",
"UPDATE leverancier_emballage_registratie_stop SET opgehaald=?, afgeleverd=?, leverancier_pakbon=COALESCE(leverancier_pakbon, ?) WHERE datum::date=? AND lokatie=? AND leverancier_emballage_artikel=? AND kvd=? AND stop_id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_emballage_registratie_stop"
],
"operations": {
"leverancier_emballage_registratie_stop": [
"INSERT INTO",
"UPDATE"
],
"leverancier_pakbon": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::stop"
]
},
{
"file": "XLS/LMF.pm",
"function": "pickup_stop",
"line": 2181,
"params": [
"packages",
"returned_packages",
"stop_id"
],
"calls": [
"_lmf_positive_int",
"next_stop",
"stops"
],
"modules": [
[
"XLS::Datum",
"vandaag"
]
],
"tables": [
"leverancier_emballage_registratie_stop",
"leverancier_pakbon"
],
"sql": [
"SELECT * FROM leverancier_pakbon WHERE id=?",
"INSERT INTO leverancier_emballage_registratie_stop( lmf_user, datum, hub, leverancier_emballage_artikel, opgehaald, afgeleverd, kvd, stop_id, leverancier_pakbon) VALUES(?,now(),?,?,?,?,?,?,?)",
"UPDATE leverancier_emballage_registratie_stop SET opgehaald=?, afgeleverd=?, leverancier_pakbon=COALESCE(leverancier_pakbon, ?) WHERE datum::date=? AND hub=? AND leverancier_emballage_artikel=? AND kvd=? AND stop_id=?",
"INSERT INTO leverancier_emballage_registratie_stop( lmf_user, datum, leverancier, leverancier_emballage_artikel, opgehaald, afgeleverd, kvd, stop_id, leverancier_pakbon) VALUES(?,now(),?,?,?,?,?,?,?)",
"UPDATE leverancier_emballage_registratie_stop SET opgehaald=?, afgeleverd=?, leverancier_pakbon=COALESCE(leverancier_pakbon, ?) WHERE datum::date=? AND leverancier=? AND leverancier_emballage_artikel=? AND kvd=? AND stop_id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_emballage_registratie_stop"
],
"operations": {
"leverancier_emballage_registratie_stop": [
"INSERT INTO",
"UPDATE"
],
"leverancier_pakbon": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::stop"
]
},
{
"file": "XLS/LMF.pm",
"function": "next_stop",
"line": 2240,
"params": [],
"calls": [],
"modules": [],
"tables": [
"leverancier",
"leverancier_emballage_registratie_stop",
"leverancier_pakbon",
"lokatie"
],
"sql": [
"SELECT DISTINCT leverancier_pakbon.id, leverancier_pakbon.levering AS delivery_id, leverancier.id AS supplier_id, leverancier.naam AS supplier_name, leverancier.adres AS supplier_address, leverancier.postcode AS supplier_postcode, leverancier.plaats AS supplier_plaats, leverancier.longitude, leverancier.latitude, lokatie.id AS location_id, lokatie.naam AS location_name, lokatie.adres AS location_adres, lokatie.postcode AS location_postcode, lokatie.aflever_nummer AS location_huisnummer, lokatie.aflever_toevoeging AS location_toevoeging, lokatie.plaats AS location_plaats, lokatie.lat_lng, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.hub FROM leverancier, lokatie, leverancier_pakbon WHERE leverancier_pakbon.transporteur = ? AND leverancier_pakbon.lever_datum BETWEEN ? AND ? AND leverancier.id = leverancier_pakbon.hub AND lokatie.id = leverancier_pakbon.lokatie ORDER BY leverancier_pakbon.lever_datum",
"SELECT * FROM leverancier_emballage_registratie_stop WHERE datum::date=? AND stop_id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_emballage_registratie_stop": [],
"leverancier_pakbon": [],
"lokatie": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::pickup_stop"
]
},
{
"file": "XLS/LMF.pm",
"function": "stops",
"line": 2331,
"params": [
"end_date",
"start_date"
],
"calls": [
"emballage_artikelen_hub",
"new",
"role"
],
"modules": [
[
"Data::GUID",
"new"
]
],
"tables": [
"leverancier",
"leverancier_emballage_registratie_stop",
"leverancier_pakbon",
"lokatie",
"route_lokatie"
],
"sql": [
"SELECT DISTINCT leverancier_pakbon.id, leverancier_pakbon.levering AS delivery_id, leverancier.id AS supplier_id, leverancier.naam AS supplier_name, leverancier.adres AS supplier_address, leverancier.postcode AS supplier_postcode, leverancier.plaats AS supplier_plaats, leverancier.longitude, leverancier.latitude, lokatie.id AS location_id, lokatie.naam AS location_name, lokatie.adres AS location_adres, lokatie.postcode AS location_postcode, lokatie.aflever_nummer AS location_huisnummer, lokatie.aflever_toevoeging AS location_toevoeging, lokatie.plaats AS location_plaats, lokatie.lat_lng, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.hub, route_lokatie.route, route_lokatie.nummer FROM leverancier, lokatie, leverancier_pakbon, route_lokatie WHERE leverancier_pakbon.lever_datum BETWEEN ? AND ? AND leverancier.id = leverancier_pakbon.hub AND lokatie.id = leverancier_pakbon.lokatie AND lokatie.id = route_lokatie.lokatie AND route_lokatie.route = ? ORDER BY route_lokatie.nummer",
"UPDATE leverancier_pakbon SET levering=? WHERE id=?",
"SELECT * FROM leverancier_emballage_registratie_stop WHERE datum::date=? AND stop_id=?",
"SELECT * FROM leverancier_emballage_registratie_stop WHERE datum::date=? AND stop_id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"leverancier": [],
"leverancier_emballage_registratie_stop": [],
"leverancier_pakbon": [
"UPDATE"
],
"lokatie": [],
"route_lokatie": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request",
"XLS/LMF.pm::delivery_stop",
"XLS/LMF.pm::pickup_stop"
]
},
{
"file": "XLS/LMF.pm",
"function": "return_packaging",
"line": 2477,
"params": [
"delivery_id"
],
"calls": [],
"modules": [],
"tables": [
"leverancier",
"leverancier_pakbon"
],
"sql": [
"SELECT * FROM leverancier_pakbon WHERE levering=? LIMIT 1",
"SELECT * FROM leverancier WHERE id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_pakbon": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "accept_new_delivery",
"line": 2488,
"params": [
"delivery_id"
],
"calls": [],
"modules": [],
"tables": [
"leverancier_pakbon"
],
"sql": [
"SELECT * FROM leverancier_pakbon WHERE guid=?",
"UPDATE leverancier_pakbon SET geaccepteerd=now(), status_levering=?, transporteur=? WHERE guid=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"leverancier_pakbon": [
"UPDATE"
]
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "confirm_delivery",
"line": 2508,
"params": [
"comment",
"delivery_id",
"outbound_packages",
"photo",
"signature"
],
"calls": [],
"modules": [],
"tables": [
"leverancier_pakbon",
"leverancier_pakbon_emballage",
"leverancier_pakbon_levering"
],
"sql": [
"SELECT * FROM leverancier_pakbon WHERE guid=? AND leverancier=?",
"SELECT * FROM leverancier_pakbon WHERE guid=?",
"SELECT * FROM leverancier_pakbon_levering WHERE leverancier_pakbon=? AND lmf_user=?",
"INSERT INTO leverancier_pakbon_levering(leverancier_pakbon, datum, commentaar, lmf_user) VALUES(?,now(),?,?)",
"UPDATE leverancier_pakbon_emballage SET geleverd_volgens_leverancier=? WHERE leverancier_emballage_artikel=? AND kvd=? AND leverancier_pakbon=?",
"INSERT INTO leverancier_pakbon_emballage(leverancier_pakbon, leverancier_emballage_artikel, kvd, geleverd_volgens_leverancier) VALUES(?,?,?,?)"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon_emballage",
"leverancier_pakbon_levering"
],
"operations": {
"leverancier_pakbon": [],
"leverancier_pakbon_emballage": [
"INSERT INTO",
"UPDATE"
],
"leverancier_pakbon_levering": [
"INSERT INTO"
]
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "new_supplier_delivery",
"line": 2561,
"params": [
"delivery_date",
"location",
"packages"
],
"calls": [
"new"
],
"modules": [
[
"Data::GUID",
"new"
]
],
"tables": [
"leverancier_emballage_artikel",
"leverancier_pakbon",
"leverancier_pakbon_emballage",
"leverancier_pakbon_footer",
"lokatie"
],
"sql": [
"SELECT * FROM lokatie WHERE guid=?",
"SELECT id FROM leverancier_pakbon WHERE leverancier=? AND lokatie=? AND lever_datum=?",
"SELECT id FROM leverancier_pakbon WHERE leverancier=?",
"INSERT INTO leverancier_pakbon(leverancier, lokatie, lever_datum, factuur_nummer, guid, lmf_levering) VALUES(?,?,?,?,?,?) RETURNING id",
"INSERT INTO leverancier_pakbon_footer(leverancier_pakbon, totaal_netto_regel_bedrag, grondslag_bedrag_btw_hoog, grondslag_bedrag_btw_laag, grondslag_bedrag_btw_nul, btw_bedrag_hoog, btw_bedrag_laag, btw_percentage_laag, btw_percentage_hoog, totaal_btw_bedrag, totaal_emballage_bedrag, totaal_factuur_bedrag) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id",
"SELECT * FROM leverancier_emballage_artikel WHERE id=?",
"UPDATE leverancier_pakbon_emballage SET geleverd_volgens_leverancier=? WHERE leverancier_pakbon=? AND leverancier_emballage_artikel=?",
"INSERT INTO leverancier_pakbon_emballage(leverancier_pakbon, leverancier_emballage_artikel, geleverd_volgens_leverancier, kvd) VALUES(?,?,?,?)",
"UPDATE leverancier_pakbon_footer SET totaal_emballage_bedrag=? WHERE leverancier_pakbon=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon",
"leverancier_pakbon_emballage",
"leverancier_pakbon_footer"
],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_pakbon": [
"INSERT INTO"
],
"leverancier_pakbon_emballage": [
"INSERT INTO",
"UPDATE"
],
"leverancier_pakbon_footer": [
"INSERT INTO",
"UPDATE"
],
"lokatie": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "update_supplier_delivery",
"line": 2601,
"params": [
"delivery_id",
"packages"
],
"calls": [],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_pakbon",
"leverancier_pakbon_emballage",
"leverancier_pakbon_footer"
],
"sql": [
"SELECT id FROM leverancier_pakbon WHERE guid=?",
"SELECT * FROM leverancier_emballage_artikel WHERE id=?",
"UPDATE leverancier_pakbon_emballage SET geleverd=? WHERE leverancier_pakbon=? AND leverancier_emballage_artikel=?",
"INSERT INTO leverancier_pakbon_emballage(leverancier_pakbon, leverancier_emballage_artikel, geleverd) VALUES(?,?,?)",
"UPDATE leverancier_pakbon_footer SET totaal_emballage_bedrag=? WHERE leverancier_pakbon=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon_emballage",
"leverancier_pakbon_footer"
],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_pakbon": [],
"leverancier_pakbon_emballage": [
"INSERT INTO",
"UPDATE"
],
"leverancier_pakbon_footer": [
"UPDATE"
]
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "new_supplier_deliveries",
"line": 2625,
"params": [
"end_date",
"start_date"
],
"calls": [
"new",
"packages",
"role"
],
"modules": [
[
"Data::GUID",
"new"
],
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"today"
]
],
"tables": [
"leverancier",
"leverancier_pakbon",
"leverancier_pakbon_regel",
"lokatie",
"lokatie_leverancier"
],
"sql": [
"SELECT lokatie.guid AS id, lokatie.id AS lokatie_id, lokatie.naam AS name, lokatie.adres AS address, lokatie.postcode, lokatie.plaats AS city, lokatie.lat_lng, leverancier.guid AS supplier_id, leverancier.naam AS supplier_name, leverancier.adres AS supplier_address, leverancier.postcode AS supplier_postcode, leverancier.plaats AS supplier_city, leverancier.latitude AS supplier_latitude, leverancier.longitude AS supplier_longitude, leverancier_pakbon.guid AS delivery_id, leverancier_pakbon.lever_datum AS delivery_date, sum(leverancier_pakbon_regel.besteld_aantal) AS packages FROM lokatie, leverancier, leverancier_pakbon LEFT JOIN leverancier_pakbon_regel ON leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id WHERE leverancier.id = leverancier_pakbon.leverancier AND lokatie.id = leverancier_pakbon.lokatie AND leverancier_pakbon.lever_datum >= ? AND leverancier_pakbon.lever_datum <= ? AND leverancier_pakbon.status_levering = ? AND leverancier_pakbon.lmf_levering = ? GROUP BY lokatie.guid, lokatie.id, lokatie.naam, lokatie.adres, lokatie.postcode, lokatie.plaats, leverancier.guid, leverancier.naam, leverancier.adres, leverancier.postcode, leverancier.plaats, leverancier.latitude, leverancier.longitude, leverancier_pakbon.guid, leverancier_pakbon.lever_datum, lokatie.lat_lng ORDER BY leverancier_pakbon.lever_datum",
"SELECT * FROM leverancier WHERE id IN ( SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND (levering=? OR levering=?))",
"UPDATE leverancier_pakbon SET guid=? WHERE lokatie=? AND lever_datum=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"leverancier": [],
"leverancier_pakbon": [
"UPDATE"
],
"leverancier_pakbon_regel": [],
"lokatie": [],
"lokatie_leverancier": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "next_logistics_delivery",
"line": 2722,
"params": [
"end_date",
"start_date"
],
"calls": [
"leveranciers",
"logistic_packages",
"new",
"packaging",
"role"
],
"modules": [
[
"Data::GUID",
"new"
],
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"today"
]
],
"tables": [
"leverancier",
"leverancier_pakbon",
"leverancier_pakbon_regel",
"lokatie",
"lokatie_leverancier"
],
"sql": [
"SELECT lokatie.guid AS id, lokatie.id AS lokatie_id, lokatie.naam AS name, lokatie.adres AS address, lokatie.postcode, lokatie.plaats AS city, lokatie.lat_lng, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.status_levering AS status, leverancier_pakbon.levering AS delivery_id, sum(leverancier_pakbon_regel.besteld_aantal) AS packages FROM lokatie, leverancier_pakbon, leverancier_pakbon_regel WHERE lokatie.id = leverancier_pakbon.lokatie AND (leverancier_pakbon.transporteur = ? OR leverancier_pakbon.hub=?) AND leverancier_pakbon.lever_datum >= ? AND leverancier_pakbon.lever_datum <= ? AND leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id AND leverancier_pakbon.afgeleverd IS NULL GROUP BY lokatie.guid, lokatie.id, lokatie.naam, lokatie.adres, lokatie.postcode, lokatie.plaats, leverancier_pakbon.levering, leverancier_pakbon.lever_datum, leverancier_pakbon.status_levering, lokatie.lat_lng ORDER BY leverancier_pakbon.lever_datum LIMIT 1",
"SELECT * FROM leverancier WHERE id IN ( SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)",
"SELECT * FROM leverancier WHERE id IN ( SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)",
"UPDATE leverancier_pakbon SET levering=? WHERE lokatie=? AND lever_datum=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"leverancier": [],
"leverancier_pakbon": [
"UPDATE"
],
"leverancier_pakbon_regel": [],
"lokatie": [],
"lokatie_leverancier": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "logistics_pickup",
"line": 2819,
"params": [
"delivery_id"
],
"calls": [
"leveranciers",
"logistic_packages",
"new",
"packaging",
"role"
],
"modules": [
[
"Data::GUID",
"new"
],
[
"XLS::Datum",
"today"
]
],
"tables": [
"leverancier",
"leverancier_pakbon",
"leverancier_pakbon_regel"
],
"sql": [
"SELECT leverancier.guid AS id, leverancier.id AS supplier_id, leverancier.naam AS name, leverancier.adres AS address, leverancier.postcode, leverancier.plaats AS city, leverancier.latitude, leverancier.longitude, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.status_levering AS status, leverancier_pakbon.hub, leverancier_pakbon.transporteur AS carrier, leverancier_pakbon.levering AS delivery_id, leverancier_pakbon.lokatie AS lokatie_id, sum(leverancier_pakbon_regel.besteld_aantal) AS packages FROM leverancier, leverancier_pakbon, leverancier_pakbon_regel WHERE leverancier.id = leverancier_pakbon.leverancier AND (leverancier_pakbon.transporteur = ? OR leverancier_pakbon.hub=?) AND leverancier_pakbon.levering = ? AND leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id GROUP BY leverancier.guid, leverancier.id, leverancier.naam, leverancier.adres, leverancier.postcode, leverancier.plaats, leverancier_pakbon.hub, leverancier_pakbon.transporteur, leverancier_pakbon.levering, leverancier_pakbon.lokatie, leverancier_pakbon.lever_datum, leverancier_pakbon.status_levering, leverancier.latitude, leverancier.longitude ORDER BY leverancier_pakbon.lever_datum LIMIT 1",
"SELECT * FROM leverancier WHERE id=?",
"SELECT * FROM leverancier WHERE id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_pakbon": [],
"leverancier_pakbon_regel": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "logistics_delivery",
"line": 2920,
"params": [
"delivery_id"
],
"calls": [
"leveranciers",
"logistic_packages",
"new",
"packaging",
"role"
],
"modules": [
[
"Data::GUID",
"new"
],
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"today"
]
],
"tables": [
"leverancier",
"leverancier_pakbon",
"leverancier_pakbon_regel",
"lokatie",
"lokatie_leverancier"
],
"sql": [
"SELECT lokatie.guid AS id, lokatie.id AS lokatie_id, lokatie.naam AS name, lokatie.adres AS address, lokatie.postcode, lokatie.plaats AS city, lokatie.lat_lng, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.status_levering AS status, leverancier_pakbon.levering AS delivery_id, sum(leverancier_pakbon_regel.besteld_aantal) AS packages FROM lokatie, leverancier_pakbon, leverancier_pakbon_regel WHERE lokatie.id = leverancier_pakbon.lokatie AND (leverancier_pakbon.transporteur = ? OR leverancier_pakbon.hub=?) AND leverancier_pakbon.levering = ? AND leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id GROUP BY lokatie.guid, lokatie.id, lokatie.naam, lokatie.adres, lokatie.postcode, lokatie.plaats, leverancier_pakbon.levering, leverancier_pakbon.lever_datum, leverancier_pakbon.status_levering, lokatie.lat_lng ORDER BY leverancier_pakbon.lever_datum LIMIT 1",
"SELECT * FROM leverancier WHERE id IN ( SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)",
"SELECT * FROM leverancier WHERE id IN ( SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)",
"UPDATE leverancier_pakbon SET levering=? WHERE lokatie=? AND lever_datum=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"leverancier": [],
"leverancier_pakbon": [
"UPDATE"
],
"leverancier_pakbon_regel": [],
"lokatie": [],
"lokatie_leverancier": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "logistics_deliveries",
"line": 3013,
"params": [
"end_date",
"start_date"
],
"calls": [
"_lmf_positive_int",
"_location_partner",
"_preload_delivery_packages",
"_preload_location_delivery_suppliers_for_records",
"_preload_location_partners",
"leveranciers",
"logistic_packages",
"new",
"role"
],
"modules": [
[
"Data::GUID",
"new"
],
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"today"
]
],
"tables": [
"klant",
"leverancier",
"leverancier_marktplaats",
"leverancier_pakbon",
"leverancier_pakbon_regel",
"lmf_project",
"lmf_user_project",
"lokatie",
"route",
"route_lokatie",
"vers_order"
],
"sql": [
"SELECT lokatie.guid AS id, lokatie.id AS lokatie_id, lokatie.naam AS name, lokatie.adres AS address, lokatie.postcode, lokatie.plaats AS city, lokatie.lat_lng, lokatie.bijzonderheden AS comment, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.status_levering AS status, leverancier_pakbon.levering AS delivery_id, route_location_order.nummer AS volgnummer, sum(leverancier_pakbon_regel.besteld_aantal) AS packages FROM leverancier_pakbon JOIN lokatie ON lokatie.id = leverancier_pakbon.lokatie JOIN klant ON klant.id = lokatie.klant LEFT JOIN vers_order ON vers_order.id = leverancier_pakbon.vers_order JOIN leverancier_pakbon_regel ON leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id JOIN ( SELECT routed_stop.lokatie, MIN(routed_stop.nummer) FILTER ( WHERE routed_stop.nummer IS NOT NULL AND routed_stop.nummer >= 0 ) AS nummer, CASE WHEN COUNT(*) FILTER ( WHERE routed_stop.nummer IS NOT NULL AND routed_stop.nummer >= 0 ) > 0 THEN 0 ELSE 1 END AS nummer_missing, MIN(routed_stop.route_lokatie_id) AS route_lokatie_id FROM ( SELECT route_lokatie.lokatie, route_lokatie.nummer, route_lokatie.id AS route_lokatie_id FROM route_lokatie JOIN route route_location_scope ON route_location_scope.id = route_lokatie.route JOIN lokatie route_location_lokatie ON route_location_lokatie.id = route_lokatie.lokatie JOIN klant route_location_klant ON route_location_klant.id = route_location_lokatie.klant WHERE route_lokatie.route = ? AND route_lokatie.lokatie IS NOT NULL AND route_location_klant.actief IS TRUE AND route_location_lokatie.actief IS TRUE AND route_location_lokatie.postcode != '' AND lower(replace(route_location_lokatie.postcode, ' ', '')) != '1066jc' AND length(replace(route_location_lokatie.postcode, ' ', '')) = 6 AND lower(replace(route_location_lokatie.naam, ' ', '')) != lower(replace(route_location_lokatie.postcode, ' ', '')) AND route_location_klant.marktplaats IN ( SELECT leverancier_marktplaats.marktplaats FROM leverancier_marktplaats WHERE leverancier_marktplaats.leverancier = route_location_scope.leverancier ) UNION ALL SELECT route_supplier_pakbon.lokatie, route_lokatie.nummer, route_lokatie.id AS route_lokatie_id FROM route_lokatie JOIN route route_location_scope ON route_location_scope.id = route_lokatie.route JOIN leverancier route_location_leverancier ON route_location_leverancier.id = route_lokatie.leverancier JOIN leverancier_pakbon route_supplier_pakbon ON route_supplier_pakbon.leverancier = route_lokatie.leverancier JOIN lokatie route_location_lokatie ON route_location_lokatie.id = route_supplier_pakbon.lokatie JOIN klant route_location_klant ON route_location_klant.id = route_location_lokatie.klant WHERE route_lokatie.route = ? AND route_lokatie.leverancier IS NOT NULL AND route_location_leverancier.actief IS TRUE AND NOT EXISTS ( SELECT 1 FROM route_lokatie route_customer WHERE route_customer.route = route_lokatie.route AND route_customer.lokatie IS NOT NULL ) AND route_supplier_pakbon.lever_datum BETWEEN ? AND ? AND route_location_klant.actief IS TRUE AND route_location_lokatie.actief IS TRUE AND route_location_lokatie.postcode != '' AND lower(replace(route_location_lokatie.postcode, ' ', '')) != '1066jc' AND length(replace(route_location_lokatie.postcode, ' ', '')) = 6 AND lower(replace(route_location_lokatie.naam, ' ', '')) != lower(replace(route_location_lokatie.postcode, ' ', '')) AND route_location_klant.marktplaats IN ( SELECT leverancier_marktplaats.marktplaats FROM leverancier_marktplaats WHERE leverancier_marktplaats.leverancier = route_location_scope.leverancier ) ) routed_stop GROUP BY routed_stop.lokatie ) route_location_order ON route_location_order.lokatie = lokatie.id WHERE EXISTS ( SELECT 1 FROM lmf_user_project JOIN lmf_project ON lmf_project.id = lmf_user_project.lmf_project WHERE lmf_user_project.lmf_user = ? AND lmf_user_project.actief IS TRUE AND lmf_project.marktplaats = klant.marktplaats ) AND leverancier_pakbon.lever_datum BETWEEN ? AND ? AND (vers_order.marktplaats IS NULL OR vers_order.marktplaats = klant.marktplaats) GROUP BY lokatie.guid, lokatie.id, lokatie.naam, lokatie.adres, lokatie.postcode, lokatie.plaats, leverancier_pakbon.levering, leverancier_pakbon.lever_datum, leverancier_pakbon.status_levering, lokatie.lat_lng, route_location_order.nummer, route_location_order.nummer_missing, route_location_order.route_lokatie_id ORDER BY route_location_order.nummer_missing, route_location_order.nummer, route_location_order.route_lokatie_id, lokatie.id, leverancier_pakbon.lever_datum, lokatie.naam",
"UPDATE leverancier_pakbon SET levering=? WHERE lokatie=? AND lever_datum=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"klant": [],
"leverancier": [],
"leverancier_marktplaats": [],
"leverancier_pakbon": [
"UPDATE"
],
"leverancier_pakbon_regel": [],
"lmf_project": [],
"lmf_user_project": [],
"lokatie": [],
"route": [],
"route_lokatie": [],
"vers_order": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "leveranciers",
"line": 3220,
"params": [],
"calls": [
"_location_date_key",
"_preload_location_delivery_suppliers_for_records",
"packages"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($args) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::next_logistics_delivery",
"XLS/LMF.pm::logistics_pickup",
"XLS/LMF.pm::logistics_delivery",
"XLS/LMF.pm::logistics_deliveries",
"XLS/LMF.pm::customer_delivery",
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::supplier_deliveries"
]
},
{
"file": "XLS/LMF.pm",
"function": "customer_delivery",
"line": 3255,
"params": [
"delivery_id"
],
"calls": [
"leveranciers",
"new",
"role"
],
"modules": [
[
"Data::GUID",
"new"
],
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"today"
]
],
"tables": [
"leverancier",
"leverancier_pakbon",
"leverancier_pakbon_regel",
"lokatie",
"lokatie_leverancier"
],
"sql": [
"SELECT lokatie.guid AS id, lokatie.id AS lokatie_id, lokatie.naam AS name, lokatie.adres AS address, lokatie.postcode, lokatie.plaats AS city, leverancier_pakbon.levering AS delivery_id, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.status_levering AS status, lokatie.lat_lng, sum(leverancier_pakbon_regel.besteld_aantal) AS packages FROM lokatie, leverancier_pakbon LEFT JOIN leverancier_pakbon_regel ON leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id WHERE lokatie.id = leverancier_pakbon.lokatie AND lokatie.klant = ? AND leverancier_pakbon.levering = ? GROUP BY lokatie.guid, lokatie.id, lokatie.naam, lokatie.adres, lokatie.postcode, lokatie.plaats, leverancier_pakbon.levering, leverancier_pakbon.lever_datum, leverancier_pakbon.status_levering, lokatie.lat_lng ORDER BY leverancier_pakbon.lever_datum",
"SELECT * FROM leverancier WHERE id IN ( SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)",
"SELECT * FROM leverancier WHERE id IN ( SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)",
"UPDATE leverancier_pakbon SET levering=? WHERE lokatie=? AND lever_datum=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"leverancier": [],
"leverancier_pakbon": [
"UPDATE"
],
"leverancier_pakbon_regel": [],
"lokatie": [],
"lokatie_leverancier": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "customer_deliveries",
"line": 3339,
"params": [
"end_date",
"location_id",
"start_date"
],
"calls": [
"_location_partner",
"_preload_guid_packages",
"_preload_location_delivery_suppliers_for_records",
"_preload_location_partners",
"_preload_suppliers_by_id",
"_supplier_by_id",
"leveranciers",
"new",
"packages",
"role"
],
"modules": [
[
"Data::GUID",
"new"
],
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"JSON_Timestamp"
],
[
"XLS::Datum",
"today"
]
],
"tables": [
"leverancier_pakbon",
"leverancier_pakbon_levering",
"leverancier_pakbon_regel",
"lokatie",
"order_status"
],
"sql": [
"SELECT DISTINCT lokatie.guid AS id, lokatie.id AS lokatie_id, lokatie.naam AS name, lokatie.adres AS address, lokatie.postcode, lokatie.plaats AS city, leverancier_pakbon.guid AS slip_id, leverancier_pakbon.levering AS delivery_id, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.status_levering AS status, leverancier_pakbon.leverancier AS supplier_id, lokatie.lat_lng, leverancier_pakbon_levering.datum AS delivery_time, leverancier_pakbon_levering.eta AS eta, order_status.naam AS delivery_status, sum(leverancier_pakbon_regel.besteld_aantal) AS packages FROM lokatie, leverancier_pakbon LEFT JOIN leverancier_pakbon_regel ON leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id LEFT JOIN leverancier_pakbon_levering ON leverancier_pakbon_levering.leverancier_pakbon = leverancier_pakbon.id LEFT JOIN order_status ON order_status.id = leverancier_pakbon_levering.order_status WHERE leverancier_pakbon.lokatie = lokatie.id AND lokatie.klant = ? AND lokatie.guid = ? AND leverancier_pakbon.lever_datum BETWEEN ? AND ? GROUP BY lokatie.guid, lokatie.id, lokatie.naam, lokatie.adres, lokatie.postcode, lokatie.plaats, leverancier_pakbon.id, leverancier_pakbon.levering, leverancier_pakbon.lever_datum, leverancier_pakbon.status_levering, leverancier_pakbon_levering.datum, leverancier_pakbon_levering.eta, order_status.naam, lokatie.lat_lng ORDER BY leverancier_pakbon.lever_datum",
"UPDATE leverancier_pakbon SET levering=? WHERE lokatie=? AND lever_datum=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"leverancier_pakbon": [
"UPDATE"
],
"leverancier_pakbon_levering": [],
"leverancier_pakbon_regel": [],
"lokatie": [],
"order_status": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "supplier_deliveries",
"line": 3470,
"params": [
"delivery_id",
"end_date",
"start_date"
],
"calls": [
"_location_partner",
"_preload_guid_packages",
"_preload_location_delivery_suppliers_for_records",
"_preload_location_partners",
"leveranciers",
"new",
"packages",
"role"
],
"modules": [
[
"Data::GUID",
"new"
],
[
"XLS::Datum",
"JSON_Datum"
],
[
"XLS::Datum",
"today"
]
],
"tables": [
"leverancier_pakbon",
"leverancier_pakbon_regel",
"lokatie"
],
"sql": [
"SELECT lokatie.guid AS id, lokatie.id AS lokatie_id, lokatie.naam AS name, lokatie.adres AS address, lokatie.postcode, lokatie.plaats AS city, lokatie.lat_lng, leverancier_pakbon.guid AS delivery_id, leverancier_pakbon.leverancier, leverancier_pakbon.lever_datum AS delivery_date, leverancier_pakbon.status_levering AS status, sum(leverancier_pakbon_regel.besteld_aantal) AS packages FROM lokatie, leverancier_pakbon LEFT JOIN leverancier_pakbon_regel ON leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id WHERE lokatie.id = leverancier_pakbon.lokatie AND leverancier_pakbon.leverancier = ? AND",
"UPDATE leverancier_pakbon SET guid=? WHERE lokatie=? AND lever_datum=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [
"leverancier_pakbon"
],
"operations": {
"leverancier_pakbon": [
"UPDATE"
],
"leverancier_pakbon_regel": [],
"lokatie": []
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "_placeholders",
"line": 3592,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($count) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_in_clause",
"XLS/LMF.pm::_preload_location_partners",
"XLS/LMF.pm::_preload_suppliers_by_id",
"XLS/LMF.pm::_preload_package_catalogs",
"XLS/LMF.pm::_preload_locations_by_supplier_date",
"XLS/LMF.pm::_preload_basic_suppliers_by_location_date",
"XLS/LMF.pm::_preload_registration_details_by_entity_date",
"XLS/LMF.pm::_preload_dash_registration_details_by_entity_date",
"XLS/LMF.pm::_preload_guid_packages",
"XLS/LMF.pm::_preload_delivery_packages",
"XLS/LMF.pm::_preload_packaging",
"XLS/LMF.pm::_preload_location_delivery_suppliers_for_records"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_in_clause",
"line": 3597,
"params": [],
"calls": [
"_lmf_positive_int",
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($column, $values) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::dash_customers",
"XLS/LMF.pm::dash_route_customers",
"XLS/LMF.pm::dash_suppliers",
"XLS/LMF.pm::dash_orders"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_route_number_value",
"line": 3603,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($number) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_route_number_sort"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_route_number_sort",
"line": 3609,
"params": [],
"calls": [
"_dash_route_number_value"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($left, $right) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::dash_route_customers"
]
},
{
"file": "XLS/LMF.pm",
"function": "_unique_defined_values",
"line": 3621,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_dash_marketplace_scope",
"XLS/LMF.pm::_dash_supplier_marketplaces",
"XLS/LMF.pm::_dash_in_clause",
"XLS/LMF.pm::_preload_location_partners",
"XLS/LMF.pm::_preload_suppliers_by_id",
"XLS/LMF.pm::_preload_package_catalogs",
"XLS/LMF.pm::_preload_locations_by_supplier_date",
"XLS/LMF.pm::_preload_basic_suppliers_by_location_date",
"XLS/LMF.pm::_preload_registration_details_by_entity_date",
"XLS/LMF.pm::_preload_dash_registration_details_by_entity_date",
"XLS/LMF.pm::_preload_guid_packages",
"XLS/LMF.pm::_preload_delivery_packages",
"XLS/LMF.pm::_preload_packaging",
"XLS/LMF.pm::_preload_location_delivery_suppliers_for_records"
]
},
{
"file": "XLS/LMF.pm",
"function": "_lmf_positive_int",
"line": 3626,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations",
"XLS/LMF.pm::_route_plan_route_location_payload",
"XLS/LMF.pm::_dash_marketplace_scope",
"XLS/LMF.pm::_dash_supplier_marketplaces",
"XLS/LMF.pm::dash_route_customers",
"XLS/LMF.pm::_emballage_source_reference",
"XLS/LMF.pm::_emballage_source_reference_result",
"XLS/LMF.pm::_emballage_source_in_scope",
"XLS/LMF.pm::delivery_stop",
"XLS/LMF.pm::pickup_stop",
"XLS/LMF.pm::logistics_deliveries",
"XLS/LMF.pm::_dash_in_clause",
"XLS/LMF.pm::_logistics_route"
]
},
{
"file": "XLS/LMF.pm",
"function": "_lmf_truthy",
"line": 3631,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::_route_plan_update_route_locations",
"XLS/LMF.pm::_dash_marketplace_scope"
]
},
{
"file": "XLS/LMF.pm",
"function": "_location_date_key",
"line": 3637,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($location_id, $delivery_date) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::hub_orders",
"XLS/LMF.pm::hub_incoming",
"XLS/LMF.pm::hub_outgoing",
"XLS/LMF.pm::leveranciers",
"XLS/LMF.pm::_preload_locations_by_supplier_date",
"XLS/LMF.pm::_preload_basic_suppliers_by_location_date",
"XLS/LMF.pm::_preload_registration_details_by_entity_date",
"XLS/LMF.pm::_preload_location_delivery_suppliers_for_records"
]
},
{
"file": "XLS/LMF.pm",
"function": "_dash_registration_key",
"line": 3644,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($hub_id, $entity_id, $delivery_date) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::dash_orders",
"XLS/LMF.pm::_preload_dash_registration_details_by_entity_date"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_location_partners",
"line": 3652,
"params": [],
"calls": [
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier",
"lokatie_leverancier"
],
"sql": [
"SELECT lokatie_leverancier.lokatie AS lokatie_id, lokatie_leverancier.levering, leverancier.* FROM lokatie_leverancier JOIN leverancier ON leverancier.id = lokatie_leverancier.leverancier WHERE lokatie_leverancier.lokatie IN ("
],
"signature": [
"my ( $args, $location_ids ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"lokatie_leverancier": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::logistics_deliveries",
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::supplier_deliveries",
"XLS/LMF.pm::_location_partner"
]
},
{
"file": "XLS/LMF.pm",
"function": "_location_partner",
"line": 3686,
"params": [],
"calls": [
"_preload_location_partners"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args, $location_id, $delivery_type ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::logistics_deliveries",
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::supplier_deliveries"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_suppliers_by_id",
"line": 3696,
"params": [],
"calls": [
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier"
],
"sql": [
"SELECT * FROM leverancier WHERE id IN ("
],
"signature": [
"my ( $args, $supplier_ids ) = @_"
],
"writes": [],
"operations": {
"leverancier": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::_supplier_by_id"
]
},
{
"file": "XLS/LMF.pm",
"function": "_supplier_by_id",
"line": 3721,
"params": [],
"calls": [
"_preload_suppliers_by_id"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args, $supplier_id ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::customer_deliveries"
]
},
{
"file": "XLS/LMF.pm",
"function": "_registration_totals",
"line": 3731,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $rows ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::hub_orders",
"XLS/LMF.pm::dash_orders"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_package_catalogs",
"line": 3745,
"params": [],
"calls": [
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel"
],
"sql": [
"SELECT leverancier_emballage_artikel.leverancier AS supplier_id, leverancier_emballage_artikel.id AS package_id, leverancier_emballage_artikel.omschrijving AS name FROM leverancier_emballage_artikel WHERE leverancier_emballage_artikel.leverancier IN ("
],
"signature": [
"my ( $args, $supplier_ids ) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::hub_incoming",
"XLS/LMF.pm::hub_outgoing"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_locations_by_supplier_date",
"line": 3780,
"params": [],
"calls": [
"_location_date_key",
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier_pakbon",
"lokatie"
],
"sql": [
"SELECT leverancier_pakbon.leverancier AS supplier_id, leverancier_pakbon.lever_datum AS delivery_date, lokatie.id AS location_id, lokatie.naam AS name FROM leverancier_pakbon JOIN lokatie ON lokatie.id = leverancier_pakbon.lokatie WHERE leverancier_pakbon.leverancier IN ("
],
"signature": [
"my ( $args, $records ) = @_"
],
"writes": [],
"operations": {
"leverancier_pakbon": [],
"lokatie": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::hub_incoming"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_basic_suppliers_by_location_date",
"line": 3832,
"params": [],
"calls": [
"_location_date_key",
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier",
"leverancier_pakbon"
],
"sql": [
"SELECT leverancier_pakbon.lokatie AS location_id, leverancier_pakbon.lever_datum AS delivery_date, leverancier.id AS supplier_id, leverancier.naam AS name FROM leverancier_pakbon JOIN leverancier ON leverancier.id = leverancier_pakbon.leverancier WHERE leverancier_pakbon.lokatie IN ("
],
"signature": [
"my ( $args, $records ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_pakbon": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::hub_outgoing"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_registration_details_by_entity_date",
"line": 3884,
"params": [],
"calls": [
"_location_date_key",
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_emballage_registratie"
],
"sql": [
"SELECT leverancier_emballage_registratie.",
"AS entity_id, leverancier_emballage_registratie.datum AS delivery_date, leverancier_emballage_artikel.id, leverancier_emballage_artikel.omschrijving AS name, leverancier_emballage_registratie.kvd AS package_type, sum(COALESCE(leverancier_emballage_registratie.inkomend, 0)) AS incoming_number, sum(COALESCE(leverancier_emballage_registratie.uitgaand, 0)) AS outgoing_number, max(CASE WHEN leverancier_emballage_registratie.bevestigd IS TRUE THEN 1 ELSE 0 END) AS confirmed, COALESCE(sum(COALESCE(leverancier_emballage_registratie.inkomend, 0)::numeric * COALESCE( ( NULLIF(leverancier_emballage_artikel.lengte, 0)::numeric * NULLIF(leverancier_emballage_artikel.breedte, 0)::numeric * NULLIF(leverancier_emballage_artikel.hoogte, 0)::numeric ) / 1000000::numeric, leverancier_emballage_artikel.volume::numeric, 0::numeric )), 0) AS incoming_volume, COALESCE(sum(COALESCE(leverancier_emballage_registratie.uitgaand, 0)::numeric * COALESCE( ( NULLIF(leverancier_emballage_artikel.lengte, 0)::numeric * NULLIF(leverancier_emballage_artikel.breedte, 0)::numeric * NULLIF(leverancier_emballage_artikel.hoogte, 0)::numeric ) / 1000000::numeric, leverancier_emballage_artikel.volume::numeric, 0::numeric )), 0) AS outgoing_volume FROM leverancier_emballage_registratie JOIN leverancier_emballage_artikel ON leverancier_emballage_artikel.id = leverancier_emballage_registratie.leverancier_emballage_artikel WHERE leverancier_emballage_registratie.hub = ? AND leverancier_emballage_registratie."
],
"signature": [
"my ( $args, $hub_id, $records, $record_field, $entity_column, $cache_name ) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_emballage_registratie": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_preload_registration_details_by_supplier_date",
"XLS/LMF.pm::_preload_registration_details_by_location_date"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_registration_details_by_supplier_date",
"line": 3965,
"params": [],
"calls": [
"_preload_registration_details_by_entity_date"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args, $hub_id, $records ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::hub_orders",
"XLS/LMF.pm::hub_incoming"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_registration_details_by_location_date",
"line": 3972,
"params": [],
"calls": [
"_preload_registration_details_by_entity_date"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args, $hub_id, $records ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::hub_orders",
"XLS/LMF.pm::hub_outgoing"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_dash_registration_details_by_supplier_date",
"line": 3979,
"params": [],
"calls": [
"_preload_dash_registration_details_by_entity_date"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args, $records ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::dash_orders"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_dash_registration_details_by_location_date",
"line": 3986,
"params": [],
"calls": [
"_preload_dash_registration_details_by_entity_date"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args, $records ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::dash_orders"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_dash_registration_details_by_entity_date",
"line": 3993,
"params": [],
"calls": [
"_dash_registration_key",
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_emballage_registratie"
],
"sql": [
"SELECT leverancier_emballage_registratie.hub AS hub_id, leverancier_emballage_registratie.",
"AS entity_id, leverancier_emballage_registratie.datum AS delivery_date, leverancier_emballage_artikel.id, leverancier_emballage_artikel.omschrijving AS name, leverancier_emballage_registratie.kvd AS package_type, sum(COALESCE(leverancier_emballage_registratie.inkomend, 0)) AS incoming_number, sum(COALESCE(leverancier_emballage_registratie.uitgaand, 0)) AS outgoing_number, max(CASE WHEN leverancier_emballage_registratie.bevestigd IS TRUE THEN 1 ELSE 0 END) AS confirmed, COALESCE(sum(COALESCE(leverancier_emballage_registratie.inkomend, 0)::numeric * COALESCE( ( NULLIF(leverancier_emballage_artikel.lengte, 0)::numeric * NULLIF(leverancier_emballage_artikel.breedte, 0)::numeric * NULLIF(leverancier_emballage_artikel.hoogte, 0)::numeric ) / 1000000::numeric, leverancier_emballage_artikel.volume::numeric, 0::numeric )), 0) AS incoming_volume, COALESCE(sum(COALESCE(leverancier_emballage_registratie.uitgaand, 0)::numeric * COALESCE( ( NULLIF(leverancier_emballage_artikel.lengte, 0)::numeric * NULLIF(leverancier_emballage_artikel.breedte, 0)::numeric * NULLIF(leverancier_emballage_artikel.hoogte, 0)::numeric ) / 1000000::numeric, leverancier_emballage_artikel.volume::numeric, 0::numeric )), 0) AS outgoing_volume FROM leverancier_emballage_registratie JOIN leverancier_emballage_artikel ON leverancier_emballage_artikel.id = leverancier_emballage_registratie.leverancier_emballage_artikel WHERE leverancier_emballage_registratie.hub IN ("
],
"signature": [
"my ( $args, $records, $record_field, $entity_column, $cache_name ) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_emballage_registratie": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::_preload_dash_registration_details_by_supplier_date",
"XLS/LMF.pm::_preload_dash_registration_details_by_location_date"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_guid_packages",
"line": 4077,
"params": [],
"calls": [
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_pakbon",
"leverancier_pakbon_emballage"
],
"sql": [
"SELECT leverancier_pakbon.guid AS delivery_guid, leverancier_emballage_artikel.id, leverancier_emballage_artikel.code, leverancier_emballage_artikel.omschrijving AS name, leverancier_pakbon_emballage.kvd AS package_type, sum(leverancier_pakbon_emballage.geleverd_volgens_leverancier) AS delivered_supplier, sum(leverancier_pakbon_emballage.retour_volgens_leverancier) AS fetched_supplier, sum(leverancier_pakbon_emballage.geleverd) AS delivered, sum(leverancier_pakbon_emballage.retour) AS fetched FROM leverancier_emballage_artikel, leverancier_pakbon_emballage, leverancier_pakbon WHERE leverancier_emballage_artikel.id = leverancier_pakbon_emballage.leverancier_emballage_artikel AND leverancier_pakbon_emballage.leverancier_pakbon = leverancier_pakbon.id AND leverancier_pakbon.guid IN ("
],
"signature": [
"my ( $args, $delivery_guids ) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_pakbon": [],
"leverancier_pakbon_emballage": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::supplier_deliveries",
"XLS/LMF.pm::_preload_location_delivery_suppliers_for_records",
"XLS/LMF.pm::packages"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_delivery_packages",
"line": 4141,
"params": [],
"calls": [
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_pakbon",
"leverancier_pakbon_emballage"
],
"sql": [
"SELECT leverancier_pakbon.levering AS delivery_id, leverancier_emballage_artikel.id, leverancier_emballage_artikel.code, leverancier_emballage_artikel.omschrijving AS name, leverancier_pakbon_emballage.kvd AS package_type, sum(leverancier_pakbon_emballage.geleverd) AS delivered, sum(leverancier_pakbon_emballage.retour) AS fetched FROM leverancier_emballage_artikel, leverancier_pakbon_emballage, leverancier_pakbon WHERE leverancier_emballage_artikel.id = leverancier_pakbon_emballage.leverancier_emballage_artikel AND leverancier_pakbon_emballage.leverancier_pakbon = leverancier_pakbon.id AND leverancier_pakbon.levering IN ("
],
"signature": [
"my ( $args, $delivery_ids ) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_pakbon": [],
"leverancier_pakbon_emballage": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::logistics_deliveries",
"XLS/LMF.pm::logistic_packages"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_packaging",
"line": 4190,
"params": [],
"calls": [
"_placeholders",
"_unique_defined_values"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_pakbon"
],
"sql": [
"SELECT DISTINCT leverancier_pakbon.levering AS delivery_id, leverancier_emballage_artikel.code, leverancier_emballage_artikel.omschrijving AS name FROM leverancier_emballage_artikel JOIN leverancier_pakbon ON leverancier_pakbon.leverancier = leverancier_emballage_artikel.leverancier WHERE leverancier_pakbon.levering IN ("
],
"signature": [
"my ( $args, $delivery_ids ) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_pakbon": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::packaging"
]
},
{
"file": "XLS/LMF.pm",
"function": "_preload_location_delivery_suppliers_for_records",
"line": 4224,
"params": [],
"calls": [
"_location_date_key",
"_placeholders",
"_preload_guid_packages",
"_unique_defined_values"
],
"modules": [],
"tables": [
"klant",
"leverancier",
"leverancier_pakbon",
"leverancier_pakbon_regel",
"lmf_project",
"lmf_user_project",
"lokatie",
"lokatie_leverancier",
"vers_order"
],
"sql": [
"SELECT leverancier_pakbon.lokatie AS lokatie_id, leverancier_pakbon.lever_datum AS delivery_date, leverancier.id, leverancier.naam, leverancier.adres, leverancier.postcode, leverancier.plaats, leverancier.latitude, leverancier.longitude, leverancier_pakbon.hub, leverancier_pakbon.guid AS delivery_id, COALESCE(sum(leverancier_pakbon_regel.besteld_aantal), 0) AS packages FROM leverancier JOIN leverancier_pakbon ON leverancier_pakbon.leverancier = leverancier.id JOIN lokatie ON lokatie.id = leverancier_pakbon.lokatie JOIN klant ON klant.id = lokatie.klant LEFT JOIN vers_order ON vers_order.id = leverancier_pakbon.vers_order JOIN lokatie_leverancier ON lokatie_leverancier.lokatie = leverancier_pakbon.lokatie AND lokatie_leverancier.leverancier = leverancier.id AND lokatie_leverancier.levering = 3 LEFT JOIN leverancier_pakbon_regel ON leverancier_pakbon_regel.leverancier_pakbon = leverancier_pakbon.id WHERE EXISTS ( SELECT 1 FROM lmf_user_project JOIN lmf_project ON lmf_project.id = lmf_user_project.lmf_project WHERE lmf_user_project.lmf_user = ? AND lmf_user_project.actief IS TRUE AND lmf_project.marktplaats = klant.marktplaats ) AND leverancier_pakbon.lokatie IN ("
],
"signature": [
"my ( $args, $records ) = @_"
],
"writes": [],
"operations": {
"klant": [],
"leverancier": [],
"leverancier_pakbon": [],
"leverancier_pakbon_regel": [],
"lmf_project": [],
"lmf_user_project": [],
"lokatie": [],
"lokatie_leverancier": [],
"vers_order": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::logistics_deliveries",
"XLS/LMF.pm::leveranciers",
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::supplier_deliveries"
]
},
{
"file": "XLS/LMF.pm",
"function": "packaging",
"line": 4309,
"params": [],
"calls": [
"_preload_packaging"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::next_logistics_delivery",
"XLS/LMF.pm::logistics_pickup",
"XLS/LMF.pm::logistics_delivery"
]
},
{
"file": "XLS/LMF.pm",
"function": "logistic_packages",
"line": 4319,
"params": [],
"calls": [
"_preload_delivery_packages"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::next_logistics_delivery",
"XLS/LMF.pm::logistics_pickup",
"XLS/LMF.pm::logistics_delivery",
"XLS/LMF.pm::logistics_deliveries"
]
},
{
"file": "XLS/LMF.pm",
"function": "emballage_artikelen_hub",
"line": 4329,
"params": [],
"calls": [],
"modules": [],
"tables": [
"leverancier_emballage_artikel"
],
"sql": [
"SELECT leverancier_emballage_artikel.id, leverancier_emballage_artikel.code, leverancier_emballage_artikel.omschrijving AS name FROM leverancier_emballage_artikel WHERE leverancier_emballage_artikel.leverancier = ? ORDER BY leverancier_emballage_artikel.code"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::stops"
]
},
{
"file": "XLS/LMF.pm",
"function": "packages",
"line": 4352,
"params": [],
"calls": [
"_preload_guid_packages"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::new_supplier_deliveries",
"XLS/LMF.pm::leveranciers",
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::supplier_deliveries"
]
},
{
"file": "XLS/LMF.pm",
"function": "role",
"line": 4362,
"params": [],
"calls": [
"hub",
"klant",
"leverancier",
"logistiek"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::handle_request",
"XLS/LMF.pm::stops",
"XLS/LMF.pm::new_supplier_deliveries",
"XLS/LMF.pm::next_logistics_delivery",
"XLS/LMF.pm::logistics_pickup",
"XLS/LMF.pm::logistics_delivery",
"XLS/LMF.pm::logistics_deliveries",
"XLS/LMF.pm::customer_delivery",
"XLS/LMF.pm::customer_deliveries",
"XLS/LMF.pm::supplier_deliveries"
]
},
{
"file": "XLS/LMF.pm",
"function": "keana_webhook",
"line": 4392,
"params": [
"deliveryId",
"deliveryTrackingId"
],
"calls": [
"new",
"true"
],
"modules": [
[
"Keana::API",
"new"
]
],
"tables": [
"leverancier_pakbon",
"leverancier_pakbon_levering",
"order_status",
"vers_order"
],
"sql": [
"SELECT id FROM order_status WHERE name = ?",
"UPDATE vers_order SET hub_status = ?, transport_status = ? WHERE id = ?",
"SELECT id FROM leverancier_pakbon WHERE vers_order=?",
"INSERT INTO leverancier_pakbon_levering (datum, commentaar, lmf_user, order_status, leverancier_pakbon, eta, ata, tracking_code) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
],
"signature": [
"my ($args) = @_"
],
"writes": [
"leverancier_pakbon_levering",
"vers_order"
],
"operations": {
"leverancier_pakbon": [],
"leverancier_pakbon_levering": [
"INSERT INTO"
],
"order_status": [],
"vers_order": [
"UPDATE"
]
},
"commits": true,
"callers": [
"XLS/LMF.pm::handle_request"
]
},
{
"file": "XLS/LMF.pm",
"function": "klant",
"line": 4481,
"params": [
"location_id"
],
"calls": [
"new"
],
"modules": [
[
"XML::TreePP",
"new"
]
],
"tables": [
"klant",
"klant_koppeling",
"leverancier",
"leverancier_emballage_artikel",
"lokatie",
"lokatie_leverancier"
],
"sql": [
"SELECT * FROM klant WHERE id=?",
"SELECT * FROM lokatie WHERE klant=? AND actief=? ORDER BY naam",
"SELECT lokatie_leverancier.debiteurnummer, leverancier.id, leverancier.naam, leverancier.adres, leverancier.postcode, leverancier.plaats, leverancier.latitude, leverancier.longitude, lokatie_leverancier.levering FROM lokatie_leverancier, leverancier WHERE leverancier.id = lokatie_leverancier.leverancier AND lokatie_leverancier.lokatie = ? ORDER BY leverancier.naam",
"SELECT * FROM leverancier_emballage_artikel WHERE leverancier=? ORDER BY omschrijving",
"SELECT definitie_in_xml FROM klant_koppeling WHERE klant=? AND koppeling=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"klant": [],
"klant_koppeling": [],
"leverancier": [],
"leverancier_emballage_artikel": [],
"lokatie": [],
"lokatie_leverancier": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::location_comment",
"XLS/LMF.pm::role"
]
},
{
"file": "XLS/LMF.pm",
"function": "hub",
"line": 4591,
"params": [],
"calls": [
"navigator"
],
"modules": [],
"tables": [
"klant",
"leverancier",
"leverancier_emballage_artikel",
"lokatie",
"lokatie_leverancier"
],
"sql": [
"SELECT * FROM leverancier WHERE id=?",
"SELECT * FROM lokatie WHERE lat_lng IS NOT NULL AND id IN ( SELECT lokatie FROM lokatie_leverancier WHERE leverancier=?) AND actief=true AND naam!=postcode AND klant IN(SELECT id FROM klant WHERE public=false) ORDER BY lokatie.naam",
"SELECT levering FROM lokatie_leverancier WHERE lokatie=? AND leverancier=?",
"SELECT guid AS id, naam AS name, adres AS address, postcode, plaats AS city, latitude, longitude FROM leverancier WHERE id IN(SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)",
"SELECT * FROM leverancier_emballage_artikel WHERE leverancier=? ORDER BY omschrijving"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"klant": [],
"leverancier": [],
"leverancier_emballage_artikel": [],
"lokatie": [],
"lokatie_leverancier": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::role"
]
},
{
"file": "XLS/LMF.pm",
"function": "leverancier_lokaties",
"line": 4649,
"params": [],
"calls": [],
"modules": [],
"tables": [
"klant",
"leverancier",
"lokatie",
"lokatie_leverancier"
],
"sql": [
"SELECT * FROM lokatie WHERE lat_lng IS NOT NULL AND id IN ( SELECT lokatie FROM lokatie_leverancier WHERE leverancier=?) AND actief=true AND naam!=postcode AND klant IN(SELECT id FROM klant WHERE public=false) ORDER BY lokatie.naam",
"SELECT debiteurnummer, levering FROM lokatie_leverancier WHERE lokatie=? AND leverancier=?",
"SELECT guid AS id, naam AS name, adres AS address, postcode, plaats AS city, latitude, longitude FROM leverancier WHERE id IN(SELECT leverancier FROM lokatie_leverancier WHERE lokatie=? AND levering=?)"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"klant": [],
"leverancier": [],
"lokatie": [],
"lokatie_leverancier": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::leverancier"
]
},
{
"file": "XLS/LMF.pm",
"function": "leverancier_emballage_artikelen",
"line": 4675,
"params": [],
"calls": [],
"modules": [],
"tables": [
"leverancier_emballage_artikel"
],
"sql": [
"SELECT * FROM leverancier_emballage_artikel WHERE leverancier=? ORDER BY omschrijving"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::leverancier"
]
},
{
"file": "XLS/LMF.pm",
"function": "leverancier",
"line": 4690,
"params": [],
"calls": [
"leverancier_emballage_artikelen",
"leverancier_lokaties",
"navigator",
"new"
],
"modules": [
[
"XML::TreePP",
"new"
]
],
"tables": [
"leverancier",
"leverancier_apikey",
"leverancier_koppeling"
],
"sql": [
"SELECT * FROM leverancier WHERE id=?",
"SELECT definitie_in_xml FROM leverancier_koppeling WHERE leverancier=? AND koppeling=?",
"SELECT key FROM leverancier_apikey WHERE naam=? AND leverancier=?",
"SELECT definitie_in_xml FROM leverancier_koppeling WHERE leverancier = ? AND koppeling = ?",
"SELECT definitie_in_xml FROM leverancier_koppeling WHERE leverancier=? AND koppeling=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_apikey": [],
"leverancier_koppeling": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::role"
]
},
{
"file": "XLS/LMF.pm",
"function": "navigator",
"line": 4768,
"params": [],
"calls": [],
"modules": [],
"tables": [
"navigator"
],
"sql": [
"SELECT naam FROM navigator WHERE id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"navigator": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::hub",
"XLS/LMF.pm::leverancier",
"XLS/LMF.pm::logistiek"
]
},
{
"file": "XLS/LMF.pm",
"function": "logistiek",
"line": 4778,
"params": [],
"calls": [
"_logistics_route",
"_logistics_route_planning",
"navigator"
],
"modules": [],
"tables": [
"leverancier"
],
"sql": [
"SELECT * FROM leverancier WHERE id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::role"
]
},
{
"file": "XLS/LMF.pm",
"function": "_logistics_route_planning",
"line": 4830,
"params": [],
"calls": [],
"modules": [],
"tables": [
"leverancier",
"lmf_project",
"marktplaats"
],
"sql": [
"SELECT leverancier.route_planning FROM lmf_project JOIN marktplaats ON marktplaats.id = lmf_project.marktplaats JOIN leverancier ON leverancier.id = marktplaats.leverancier WHERE lmf_project.id = ?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"lmf_project": [],
"marktplaats": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::logistiek"
]
},
{
"file": "XLS/LMF.pm",
"function": "_logistics_route",
"line": 4843,
"params": [],
"calls": [
"_lmf_positive_int"
],
"modules": [],
"tables": [
"route"
],
"sql": [
"SELECT id, naam AS name FROM route WHERE id=?"
],
"signature": [
"my ( $args ) = @_"
],
"writes": [],
"operations": {
"route": []
},
"commits": false,
"callers": [
"XLS/LMF.pm::logistiek"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "true",
"line": 11,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::keana_webhook"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "new",
"line": 18,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($class, %args) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": []
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "handle_request",
"line": 23,
"params": [],
"calls": [
"_attention_rank",
"_chains",
"_detail_item",
"_filters",
"_matches_filters",
"_overview_item",
"_page",
"_pagination",
"_source_rows",
"_summary"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $args) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": []
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_filters",
"line": 62,
"params": [],
"calls": [
"_boolean_param",
"_date_epoch",
"_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $args) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_source_rows",
"line": 129,
"params": [],
"calls": [
"_hub_rows",
"_packing_rows",
"_stop_rows"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $args, $filters) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request",
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_packing_rows",
"line": 138,
"params": [],
"calls": [
"_add_source_filters",
"_selectall_hashref"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_pakbon",
"leverancier_pakbon_emballage"
],
"sql": [
"SELECT emb.id, emb.leverancier_pakbon, emb.leverancier_emballage_artikel, emb.kvd, emb.geleverd, emb.retour, emb.geleverd_volgens_leverancier, emb.retour_volgens_leverancier, emb.ontvangen, emb.verstuurd, pakbon.leverancier, pakbon.lokatie, pakbon.hub, pakbon.lever_datum AS datum, pakbon.guid AS pakbon_guid, pakbon.levering AS levering_id, art.code AS emballage_code, art.omschrijving AS emballage_omschrijving FROM leverancier_pakbon_emballage emb JOIN leverancier_pakbon pakbon ON pakbon.id = emb.leverancier_pakbon LEFT JOIN leverancier_emballage_artikel art ON art.id = emb.leverancier_emballage_artikel WHERE"
],
"signature": [
"my ($self, $args, $filters) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_pakbon": [],
"leverancier_pakbon_emballage": []
},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_source_rows"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_hub_rows",
"line": 160,
"params": [],
"calls": [
"_add_source_filters",
"_selectall_hashref"
],
"modules": [],
"tables": [
"leverancier_emballage_artikel",
"leverancier_emballage_registratie",
"leverancier_pakbon"
],
"sql": [
"SELECT reg.id, reg.hub, reg.leverancier, reg.lokatie, reg.leverancier_emballage_artikel, reg.kvd, reg.inkomend, reg.uitgaand, reg.bevestigd, reg.datum, reg.lmf_user, reg.leverancier_pakbon, reg.levering AS levering_id, pakbon.guid AS pakbon_guid, pakbon.leverancier AS pakbon_leverancier, pakbon.lokatie AS pakbon_lokatie, pakbon.hub AS pakbon_hub, pakbon.lever_datum AS pakbon_datum, art.code AS emballage_code, art.omschrijving AS emballage_omschrijving FROM leverancier_emballage_registratie reg LEFT JOIN leverancier_pakbon pakbon ON pakbon.id = reg.leverancier_pakbon LEFT JOIN leverancier_emballage_artikel art ON art.id = reg.leverancier_emballage_artikel WHERE"
],
"signature": [
"my ($self, $args, $filters) = @_"
],
"writes": [],
"operations": {
"leverancier_emballage_artikel": [],
"leverancier_emballage_registratie": [],
"leverancier_pakbon": []
},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_source_rows"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_stop_rows",
"line": 181,
"params": [],
"calls": [
"_add_source_filters",
"_selectall_hashref"
],
"modules": [],
"tables": [
"leverancier",
"leverancier_emballage_artikel",
"leverancier_emballage_registratie_stop",
"leverancier_pakbon",
"lmf_user"
],
"sql": [
"SELECT stop.id, stop.hub, stop.leverancier, stop.lokatie, stop.leverancier_emballage_artikel, stop.kvd, stop.opgehaald, stop.afgeleverd, stop.datum, stop.lmf_user, stop.stop_id, stop.leverancier_pakbon, pakbon.guid AS pakbon_guid, pakbon.levering AS levering_id, pakbon.leverancier AS pakbon_leverancier, pakbon.lokatie AS pakbon_lokatie, pakbon.hub AS pakbon_hub, pakbon.lever_datum AS pakbon_datum, usr.roepnaam AS actor_first_name, usr.naam AS actor_last_name, usr.leverancier_id AS logistics_party_id, logistics.naam AS logistics_party_name, art.code AS emballage_code, art.omschrijving AS emballage_omschrijving FROM leverancier_emballage_registratie_stop stop LEFT JOIN leverancier_pakbon pakbon ON pakbon.id = stop.leverancier_pakbon LEFT JOIN lmf_user usr ON usr.id = stop.lmf_user LEFT JOIN leverancier logistics ON logistics.id = usr.leverancier_id LEFT JOIN leverancier_emballage_artikel art ON art.id = stop.leverancier_emballage_artikel WHERE"
],
"signature": [
"my ($self, $args, $filters) = @_"
],
"writes": [],
"operations": {
"leverancier": [],
"leverancier_emballage_artikel": [],
"leverancier_emballage_registratie_stop": [],
"leverancier_pakbon": [],
"lmf_user": []
},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_source_rows"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_add_source_filters",
"line": 206,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $where, $bind, $filters, $columns) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_packing_rows",
"XLS/LMF/EmballageControl.pm::_hub_rows",
"XLS/LMF/EmballageControl.pm::_stop_rows"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_selectall_hashref",
"line": 220,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $args, $sql, @bind) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_packing_rows",
"XLS/LMF/EmballageControl.pm::_hub_rows",
"XLS/LMF/EmballageControl.pm::_stop_rows"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_chains",
"line": 230,
"params": [],
"calls": [
"_add_hub",
"_add_packing",
"_add_stop",
"_delivery_index",
"_finalize_chain",
"_hard_group_key",
"_linked_group_key",
"_merge_metadata",
"_new_chain"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $rows) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_hard_group_key",
"line": 255,
"params": [],
"calls": [
"_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $source, $row) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains",
"XLS/LMF/EmballageControl.pm::_linked_group_key"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_linked_group_key",
"line": 266,
"params": [],
"calls": [
"_delivery_index",
"_hard_group_key",
"_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $source, $row, $delivery_keys) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_new_chain",
"line": 277,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $key) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_merge_metadata",
"line": 288,
"params": [],
"calls": [
"_canonical_date",
"_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain, $row) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_add_packing",
"line": 312,
"params": [],
"calls": [
"_set_slot"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain, $row) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_add_hub",
"line": 320,
"params": [],
"calls": [
"_add_source",
"_positive_int",
"_set_slot"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain, $row) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_add_stop",
"line": 336,
"params": [],
"calls": [
"_add_source",
"_positive_int",
"_set_slot"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain, $row) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_set_slot",
"line": 356,
"params": [],
"calls": [
"_add_source",
"_registered_quantity"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain, $slot, $raw_value, $row, $perspective, $action) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_add_packing",
"XLS/LMF/EmballageControl.pm::_add_hub",
"XLS/LMF/EmballageControl.pm::_add_stop"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_add_source",
"line": 369,
"params": [],
"calls": [
"_canonical_date",
"_num",
"_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain, $row, $perspective, $action, $quantity) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_add_hub",
"XLS/LMF/EmballageControl.pm::_add_stop",
"XLS/LMF/EmballageControl.pm::_set_slot"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_finalize_chain",
"line": 392,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_matches_filters",
"line": 435,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain, $filters) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_summary",
"line": 451,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chains) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_overview_item",
"line": 458,
"params": [],
"calls": [
"_party"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request",
"XLS/LMF/EmballageControl.pm::_detail_item"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_detail_item",
"line": 469,
"params": [],
"calls": [
"_overview_item"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $chain) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_page",
"line": 479,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $items, $offset, $limit) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_pagination",
"line": 487,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $total, $returned, $offset, $limit) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_party",
"line": 498,
"params": [],
"calls": [
"_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($type, $id) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_overview_item"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_registered_quantity",
"line": 503,
"params": [],
"calls": [
"_num"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_set_slot"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_delivery_index",
"line": 509,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($row) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_chains",
"XLS/LMF/EmballageControl.pm::_linked_group_key"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_canonical_date",
"line": 515,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_merge_metadata",
"XLS/LMF/EmballageControl.pm::_add_source"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_date_epoch",
"line": 524,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_filters"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_boolean_param",
"line": 533,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_filters"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_positive_int",
"line": 542,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_filters",
"XLS/LMF/EmballageControl.pm::_hard_group_key",
"XLS/LMF/EmballageControl.pm::_linked_group_key",
"XLS/LMF/EmballageControl.pm::_merge_metadata",
"XLS/LMF/EmballageControl.pm::_add_hub",
"XLS/LMF/EmballageControl.pm::_add_stop",
"XLS/LMF/EmballageControl.pm::_add_source",
"XLS/LMF/EmballageControl.pm::_party",
"XLS/LMF/RoutePlanImporter.pm::import_route_plan",
"XLS/LMF/RoutePlanImporter.pm::_validate_payload",
"XLS/LMF/RoutePlanImporter.pm::_expected_stopset",
"XLS/LMF/RoutePlanImporter.pm::_match_payload_to_expected",
"XLS/LMF/RoutePlanImporter.pm::_validate_stop_references",
"XLS/LMF/RoutePlanImporter.pm::_resolve_route",
"XLS/LMF/RoutePlanImporter.pm::_active_route_owner_project_ids",
"XLS/LMF/RoutePlanImporter.pm::_user_has_project_access",
"XLS/LMF/RoutePlanImporter.pm::_routes_by_name_for_transporteur_marketplaces",
"XLS/LMF/RoutePlanImporter.pm::_marketplace_route_supplier_for_customer_stops",
"XLS/LMF/RoutePlanImporter.pm::_insert_route_locations",
"XLS/LMF/RoutePlanImporter.pm::_insert_route_plan",
"XLS/LMF/RoutePlanImporter.pm::_route_reference"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_num",
"line": 547,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_add_source",
"XLS/LMF/EmballageControl.pm::_registered_quantity"
]
},
{
"file": "XLS/LMF/EmballageControl.pm",
"function": "_attention_rank",
"line": 553,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($chain) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "new",
"line": 8,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($class, %args) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": []
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "import_route_plan",
"line": 13,
"params": [],
"calls": [
"_active_route_owner_project_ids",
"_begin_transaction",
"_commit_transaction",
"_error",
"_expected_stopset",
"_match_payload_to_expected",
"_positive_int",
"_request_payload",
"_resolve_route",
"_rollback_transaction",
"_source_rows",
"_sync_route_plan",
"_truthy",
"_user_has_project_access",
"_validate_payload",
"_validate_stop_references"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $args) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": []
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_validate_payload",
"line": 111,
"params": [],
"calls": [
"_allowed_stop_type",
"_error",
"_logical_key",
"_positive_int",
"_route_reference",
"_valid_date"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $payload) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_expected_stopset",
"line": 186,
"params": [],
"calls": [
"_error",
"_logical_key",
"_positive_int",
"_unique_ints"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $source_rows) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_match_payload_to_expected",
"line": 268,
"params": [],
"calls": [
"_error",
"_positive_int",
"_unique_ints"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $payload_stops, $expected_stops) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_validate_stop_references",
"line": 313,
"params": [],
"calls": [
"_all_location_ids_exist",
"_all_supplier_ids_exist",
"_error",
"_positive_int",
"_unique_ints"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $dbh, $stops) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_resolve_route",
"line": 327,
"params": [],
"calls": [
"_error",
"_insert_route",
"_insert_route_locations",
"_marketplace_route_supplier_for_customer_stops",
"_positive_int",
"_route_by_id",
"_routes_by_name_for_transporteur_marketplaces"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $dbh, $args) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_sync_route_plan",
"line": 354,
"params": [],
"calls": [
"_defer_sequence_constraint",
"_delete_stop",
"_delete_stop_links",
"_error",
"_existing_links",
"_existing_stops",
"_find_route_plan",
"_find_route_plan_by_id",
"_insert_route_plan",
"_insert_stop",
"_lock_route_plan",
"_mark_route_plan_planned",
"_mutable_status",
"_sync_stop_links",
"_update_stop_sequence"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $dbh, $args) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_sync_stop_links",
"line": 423,
"params": [],
"calls": [
"_delete_stop_link",
"_insert_stop_link"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $dbh, $stop_id, $wanted_source_ids, $existing) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_active_route_owner_project_ids",
"line": 443,
"params": [],
"calls": [
"_positive_int"
],
"modules": [],
"tables": [
"lmf_user",
"route"
],
"sql": [
"SELECT DISTINCT lmf_user.lmf_project FROM route JOIN lmf_user ON lmf_user.leverancier_id = route.leverancier WHERE route.id=? AND lmf_user.actief IS TRUE AND lmf_user.logistiek IS TRUE AND lmf_user.lmf_project IS NOT NULL ORDER BY lmf_user.lmf_project"
],
"signature": [
"my ($self, $dbh, $route_id) = @_"
],
"writes": [],
"operations": {
"lmf_user": [],
"route": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_user_has_project_access",
"line": 463,
"params": [],
"calls": [
"_positive_int"
],
"modules": [],
"tables": [
"lmf_user_project"
],
"sql": [
"SELECT 1 FROM lmf_user_project WHERE lmf_user=? AND lmf_project=? AND actief IS TRUE LIMIT 1"
],
"signature": [
"my ($self, $dbh, $user_id, $lmf_project) = @_"
],
"writes": [],
"operations": {
"lmf_user_project": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_route_by_id",
"line": 476,
"params": [],
"calls": [],
"modules": [],
"tables": [
"route"
],
"sql": [
"SELECT id, naam FROM route WHERE id=?"
],
"signature": [
"my ($self, $dbh, $route_id) = @_"
],
"writes": [],
"operations": {
"route": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_resolve_route"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_routes_by_name_for_transporteur_marketplaces",
"line": 481,
"params": [],
"calls": [
"_positive_int"
],
"modules": [],
"tables": [
"leverancier_marktplaats",
"marktplaats",
"route"
],
"sql": [
"SELECT DISTINCT route.id, route.naam FROM route JOIN marktplaats ON marktplaats.leverancier = route.leverancier JOIN leverancier_marktplaats ON leverancier_marktplaats.marktplaats = marktplaats.id WHERE route.naam=? AND leverancier_marktplaats.leverancier=? AND marktplaats.leverancier IS NOT NULL ORDER BY route.id"
],
"signature": [
"my ($self, $dbh, $route_name, $transporteur_id) = @_"
],
"writes": [],
"operations": {
"leverancier_marktplaats": [],
"marktplaats": [],
"route": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_resolve_route"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_marketplace_route_supplier_for_customer_stops",
"line": 502,
"params": [],
"calls": [
"_error",
"_positive_int",
"_unique_ints"
],
"modules": [],
"tables": [
"klant",
"leverancier_marktplaats",
"lokatie",
"marktplaats"
],
"sql": [
"SELECT DISTINCT marktplaats.id AS marketplace_id, marktplaats.leverancier AS supplier_id FROM lokatie JOIN klant ON klant.id = lokatie.klant JOIN marktplaats ON marktplaats.id = klant.marktplaats JOIN leverancier_marktplaats ON leverancier_marktplaats.marktplaats = marktplaats.id WHERE lokatie.id IN ($placeholders) AND leverancier_marktplaats.leverancier=? AND marktplaats.leverancier IS NOT NULL ORDER BY marktplaats.id, marktplaats.leverancier",
"SELECT marktplaats.id AS marketplace_id, marktplaats.leverancier AS supplier_id FROM marktplaats JOIN leverancier_marktplaats transporteur_marktplaats ON transporteur_marktplaats.marktplaats = marktplaats.id AND transporteur_marktplaats.leverancier=? JOIN leverancier_marktplaats supplier_marktplaats ON supplier_marktplaats.marktplaats = marktplaats.id WHERE supplier_marktplaats.leverancier IN ($placeholders) AND marktplaats.leverancier IS NOT NULL GROUP BY marktplaats.id, marktplaats.leverancier HAVING count(DISTINCT supplier_marktplaats.leverancier)=? ORDER BY marktplaats.id, marktplaats.leverancier"
],
"signature": [
"my ($self, $dbh, $transporteur_id, $stops) = @_"
],
"writes": [],
"operations": {
"klant": [],
"leverancier_marktplaats": [],
"lokatie": [],
"marktplaats": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_resolve_route"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_insert_route",
"line": 562,
"params": [],
"calls": [],
"modules": [],
"tables": [
"route"
],
"sql": [
"INSERT INTO route(leverancier, naam) VALUES(?, ?) RETURNING id"
],
"signature": [
"my ($self, $dbh, $supplier_id, $route_name) = @_"
],
"writes": [
"route"
],
"operations": {
"route": [
"INSERT INTO"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_resolve_route"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_insert_route_locations",
"line": 572,
"params": [],
"calls": [
"_positive_int"
],
"modules": [],
"tables": [
"route_lokatie"
],
"sql": [
"INSERT INTO route_lokatie(route, lokatie, nummer) VALUES(?, ?, ?)",
"INSERT INTO route_lokatie(route, leverancier, nummer) VALUES(?, ?, ?)"
],
"signature": [
"my ($self, $dbh, $route_id, $stops) = @_"
],
"writes": [
"route_lokatie"
],
"operations": {
"route_lokatie": [
"INSERT INTO"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_resolve_route"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_request_payload",
"line": 599,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $params) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_source_rows",
"line": 608,
"params": [],
"calls": [],
"modules": [],
"tables": [
"leverancier_pakbon",
"route_lokatie"
],
"sql": [
"SELECT DISTINCT leverancier_pakbon.id AS leverancier_pakbon_id, leverancier_pakbon.leverancier AS supplier_id, CASE WHEN route_lokatie.lokatie IS NOT NULL THEN leverancier_pakbon.lokatie ELSE NULL END AS location_id, leverancier_pakbon.hub AS hub_id FROM route_lokatie JOIN leverancier_pakbon ON ( ( route_lokatie.lokatie IS NOT NULL AND leverancier_pakbon.lokatie = route_lokatie.lokatie ) OR ( route_lokatie.leverancier IS NOT NULL AND NOT EXISTS ( SELECT 1 FROM route_lokatie route_customer WHERE route_customer.route = route_lokatie.route AND route_customer.lokatie IS NOT NULL ) AND leverancier_pakbon.leverancier = route_lokatie.leverancier ) ) WHERE route_lokatie.route = ? AND leverancier_pakbon.lever_datum::date = ? AND ( leverancier_pakbon.transporteur = ? OR leverancier_pakbon.transporteur IS NULL ) ORDER BY leverancier_pakbon.id"
],
"signature": [
"my ($self, $dbh, $args) = @_"
],
"writes": [],
"operations": {
"leverancier_pakbon": [],
"route_lokatie": []
},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::handle_request",
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_all_supplier_ids_exist",
"line": 656,
"params": [],
"calls": [],
"modules": [],
"tables": [
"leverancier"
],
"sql": [
"SELECT count(DISTINCT id) FROM leverancier WHERE id IN ($placeholders)"
],
"signature": [
"my ($self, $dbh, $ids) = @_"
],
"writes": [],
"operations": {
"leverancier": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_validate_stop_references"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_all_location_ids_exist",
"line": 669,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lokatie"
],
"sql": [
"SELECT count(DISTINCT id) FROM lokatie WHERE id IN ($placeholders)"
],
"signature": [
"my ($self, $dbh, $ids) = @_"
],
"writes": [],
"operations": {
"lokatie": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_validate_stop_references"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_find_route_plan",
"line": 682,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_route"
],
"sql": [
"SELECT id, status FROM lmf_route WHERE lmf_project=? AND route_id=? AND route_date=? AND transporteur_id=?"
],
"signature": [
"my ($self, $dbh, $args) = @_"
],
"writes": [],
"operations": {
"lmf_route": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan",
"XLS/LMF/RoutePlanImporter.pm::_insert_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_find_route_plan_by_id",
"line": 691,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_route"
],
"sql": [
"SELECT id, status FROM lmf_route WHERE id=?"
],
"signature": [
"my ($self, $dbh, $id) = @_"
],
"writes": [],
"operations": {
"lmf_route": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_insert_route_plan",
"line": 696,
"params": [],
"calls": [
"_find_route_plan",
"_positive_int"
],
"modules": [],
"tables": [
"lmf_route"
],
"sql": [
"INSERT INTO lmf_route(lmf_project, nummer, naam, route_id, route_date, transporteur_id, status) VALUES(?, ?, ?, ?, ?, ?, 'draft') ON CONFLICT ON CONSTRAINT lmf_route_project_route_date_transporteur_uid DO NOTHING RETURNING id"
],
"signature": [
"my ($self, $dbh, $args) = @_"
],
"writes": [
"lmf_route"
],
"operations": {
"lmf_route": [
"INSERT INTO"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_lock_route_plan",
"line": 722,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_route"
],
"sql": [
"SELECT id, status FROM lmf_route WHERE id=? FOR UPDATE"
],
"signature": [
"my ($self, $dbh, $id) = @_"
],
"writes": [],
"operations": {
"lmf_route": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_existing_stops",
"line": 727,
"params": [],
"calls": [
"_logical_key"
],
"modules": [],
"tables": [
"lmf_stop"
],
"sql": [
"SELECT id, stop_type, leverancier AS supplier_id, lokatie AS location_id, volgnummer FROM lmf_stop WHERE lmf_route=? ORDER BY id FOR UPDATE"
],
"signature": [
"my ($self, $dbh, $lmf_route_id) = @_"
],
"writes": [],
"operations": {
"lmf_stop": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_existing_links",
"line": 746,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_stop",
"lmf_stop_leverancier_pakbon"
],
"sql": [
"SELECT lmf_stop_leverancier_pakbon.lmf_stop, lmf_stop_leverancier_pakbon.leverancier_pakbon FROM lmf_stop_leverancier_pakbon JOIN lmf_stop ON lmf_stop.id = lmf_stop_leverancier_pakbon.lmf_stop WHERE lmf_stop.lmf_route=?"
],
"signature": [
"my ($self, $dbh, $lmf_route_id) = @_"
],
"writes": [],
"operations": {
"lmf_stop": [],
"lmf_stop_leverancier_pakbon": []
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_insert_stop",
"line": 763,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_stop"
],
"sql": [
"INSERT INTO lmf_stop(lmf_route, leverancier, lokatie, volgnummer, stop_type) VALUES(?, ?, ?, ?, ?) RETURNING id"
],
"signature": [
"my ($self, $dbh, $lmf_route_id, $stop) = @_"
],
"writes": [
"lmf_stop"
],
"operations": {
"lmf_stop": [
"INSERT INTO"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_update_stop_sequence",
"line": 775,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_stop"
],
"sql": [
"UPDATE lmf_stop SET volgnummer=? WHERE id=?"
],
"signature": [
"my ($self, $dbh, $stop_id, $sequence) = @_"
],
"writes": [
"lmf_stop"
],
"operations": {
"lmf_stop": [
"UPDATE"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_insert_stop_link",
"line": 780,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_stop_leverancier_pakbon"
],
"sql": [
"INSERT INTO lmf_stop_leverancier_pakbon(lmf_stop, leverancier_pakbon) VALUES(?, ?) ON CONFLICT DO NOTHING"
],
"signature": [
"my ($self, $dbh, $stop_id, $source_id) = @_"
],
"writes": [
"lmf_stop_leverancier_pakbon"
],
"operations": {
"lmf_stop_leverancier_pakbon": [
"INSERT INTO"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_stop_links"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_delete_stop_link",
"line": 790,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_stop_leverancier_pakbon"
],
"sql": [
"DELETE FROM lmf_stop_leverancier_pakbon WHERE lmf_stop=? AND leverancier_pakbon=?"
],
"signature": [
"my ($self, $dbh, $stop_id, $source_id) = @_"
],
"writes": [
"lmf_stop_leverancier_pakbon"
],
"operations": {
"lmf_stop_leverancier_pakbon": [
"DELETE FROM"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_stop_links"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_delete_stop_links",
"line": 795,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_stop_leverancier_pakbon"
],
"sql": [
"DELETE FROM lmf_stop_leverancier_pakbon WHERE lmf_stop=?"
],
"signature": [
"my ($self, $dbh, $stop_id) = @_"
],
"writes": [
"lmf_stop_leverancier_pakbon"
],
"operations": {
"lmf_stop_leverancier_pakbon": [
"DELETE FROM"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_delete_stop",
"line": 800,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_stop"
],
"sql": [
"DELETE FROM lmf_stop WHERE id=?"
],
"signature": [
"my ($self, $dbh, $stop_id) = @_"
],
"writes": [
"lmf_stop"
],
"operations": {
"lmf_stop": [
"DELETE FROM"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_mark_route_plan_planned",
"line": 805,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_route"
],
"sql": [
"UPDATE lmf_route SET status='planned', updated_at=CURRENT_TIMESTAMP WHERE id=?"
],
"signature": [
"my ($self, $dbh, $lmf_route_id) = @_"
],
"writes": [
"lmf_route"
],
"operations": {
"lmf_route": [
"UPDATE"
]
},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_defer_sequence_constraint",
"line": 810,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [
"SET CONSTRAINTS lmf_stop_route_volgnummer_uid DEFERRED"
],
"signature": [
"my ($self, $dbh) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_begin_transaction",
"line": 815,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $dbh) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_commit_transaction",
"line": 830,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $dbh, $owns_transaction) = @_"
],
"writes": [],
"operations": {},
"commits": true,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_rollback_transaction",
"line": 836,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($self, $dbh, $owns_transaction) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_error",
"line": 842,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($http_code, $error_code, $message, $details) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan",
"XLS/LMF/RoutePlanImporter.pm::_validate_payload",
"XLS/LMF/RoutePlanImporter.pm::_expected_stopset",
"XLS/LMF/RoutePlanImporter.pm::_match_payload_to_expected",
"XLS/LMF/RoutePlanImporter.pm::_validate_stop_references",
"XLS/LMF/RoutePlanImporter.pm::_resolve_route",
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan",
"XLS/LMF/RoutePlanImporter.pm::_marketplace_route_supplier_for_customer_stops"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_logical_key",
"line": 859,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($type, $supplier_id, $location_id) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_validate_payload",
"XLS/LMF/RoutePlanImporter.pm::_expected_stopset",
"XLS/LMF/RoutePlanImporter.pm::_existing_stops"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_allowed_stop_type",
"line": 867,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($type) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_validate_payload"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_mutable_status",
"line": 872,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($status) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_sync_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_positive_int",
"line": 877,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/EmballageControl.pm::_filters",
"XLS/LMF/EmballageControl.pm::_hard_group_key",
"XLS/LMF/EmballageControl.pm::_linked_group_key",
"XLS/LMF/EmballageControl.pm::_merge_metadata",
"XLS/LMF/EmballageControl.pm::_add_hub",
"XLS/LMF/EmballageControl.pm::_add_stop",
"XLS/LMF/EmballageControl.pm::_add_source",
"XLS/LMF/EmballageControl.pm::_party",
"XLS/LMF/RoutePlanImporter.pm::import_route_plan",
"XLS/LMF/RoutePlanImporter.pm::_validate_payload",
"XLS/LMF/RoutePlanImporter.pm::_expected_stopset",
"XLS/LMF/RoutePlanImporter.pm::_match_payload_to_expected",
"XLS/LMF/RoutePlanImporter.pm::_validate_stop_references",
"XLS/LMF/RoutePlanImporter.pm::_resolve_route",
"XLS/LMF/RoutePlanImporter.pm::_active_route_owner_project_ids",
"XLS/LMF/RoutePlanImporter.pm::_user_has_project_access",
"XLS/LMF/RoutePlanImporter.pm::_routes_by_name_for_transporteur_marketplaces",
"XLS/LMF/RoutePlanImporter.pm::_marketplace_route_supplier_for_customer_stops",
"XLS/LMF/RoutePlanImporter.pm::_insert_route_locations",
"XLS/LMF/RoutePlanImporter.pm::_insert_route_plan",
"XLS/LMF/RoutePlanImporter.pm::_route_reference"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_route_reference",
"line": 882,
"params": [],
"calls": [
"_positive_int"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_validate_payload"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_truthy",
"line": 893,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::import_route_plan"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_valid_date",
"line": 899,
"params": [],
"calls": [
"_leap_year"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($value) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_validate_payload"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_leap_year",
"line": 910,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($year) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_valid_date"
]
},
{
"file": "XLS/LMF/RoutePlanImporter.pm",
"function": "_unique_ints",
"line": 917,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF/RoutePlanImporter.pm::_expected_stopset",
"XLS/LMF/RoutePlanImporter.pm::_match_payload_to_expected",
"XLS/LMF/RoutePlanImporter.pm::_validate_stop_references",
"XLS/LMF/RoutePlanImporter.pm::_marketplace_route_supplier_for_customer_stops"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "handler",
"line": 36,
"params": [
"Authorization",
"POSTDATA",
"message",
"url",
"username"
],
"calls": [
"_build_cgi",
"_capture_request_body",
"_populate_request_params",
"_request_method",
"authen",
"authorization",
"credentials",
"request"
],
"modules": [
[
"Apache2::Cookie::Jar",
"new"
],
[
"XLS::Base",
"new"
],
[
"XLS::LMF",
"lmf_bezoeker"
],
[
"XLS::LMF",
"new"
]
],
"tables": [
"domain",
"lmf_log"
],
"sql": [
"SELECT title, logo, favicon, achtergrond AS background FROM domain WHERE naam=?",
"SELECT title, logo, favicon, achtergrond AS background FROM domain WHERE naam=?",
"INSERT INTO lmf_log(username, bericht) VALUES(?,?)"
],
"signature": [],
"writes": [
"lmf_log"
],
"operations": {
"domain": [],
"lmf_log": [
"INSERT INTO"
]
},
"commits": true,
"callers": []
},
{
"file": "XLSLMFHandler.pm",
"function": "authorization",
"line": 173,
"params": [],
"calls": [
"_extract_uuid_token"
],
"modules": [],
"tables": [
"lmf_user"
],
"sql": [
"SELECT * FROM lmf_user WHERE token=? AND actief=?"
],
"signature": [],
"writes": [],
"operations": {
"lmf_user": []
},
"commits": false,
"callers": [
"XLSLMFHandler.pm::handler"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "credentials",
"line": 187,
"params": [],
"calls": [
"_extract_uuid_token"
],
"modules": [],
"tables": [
"lmf_user"
],
"sql": [
"SELECT email, password FROM lmf_user WHERE token=?"
],
"signature": [],
"writes": [],
"operations": {
"lmf_user": []
},
"commits": false,
"callers": [
"XLSLMFHandler.pm::handler"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "_extract_uuid_token",
"line": 218,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($token) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLS/LMF.pm::check_token",
"XLSLMFHandler.pm::authorization",
"XLSLMFHandler.pm::credentials"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "_build_cgi",
"line": 232,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($r, $raw_body) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLSLMFHandler.pm::handler"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "_capture_request_body",
"line": 239,
"params": [],
"calls": [
"_header_value"
],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($r) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLSLMFHandler.pm::handler"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "_request_method",
"line": 274,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($r) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLSLMFHandler.pm::handler"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "_populate_request_params",
"line": 287,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($cgi, $raw_body) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLSLMFHandler.pm::handler"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "_header_value",
"line": 308,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [
"my ($r, $name) = @_"
],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLSLMFHandler.pm::_capture_request_body"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "request",
"line": 320,
"params": [],
"calls": [],
"modules": [],
"tables": [],
"sql": [],
"signature": [],
"writes": [],
"operations": {},
"commits": false,
"callers": [
"XLSLMFHandler.pm::handler"
]
},
{
"file": "XLSLMFHandler.pm",
"function": "authen",
"line": 331,
"params": [],
"calls": [],
"modules": [],
"tables": [
"lmf_user"
],
"sql": [
"SELECT * FROM lmf_user WHERE email=? AND password=? AND actief=?",
"UPDATE lmf_user SET last_login=now(), last_login_from=? WHERE token=?"
],
"signature": [],
"writes": [
"lmf_user"
],
"operations": {
"lmf_user": [
"UPDATE"
]
},
"commits": true,
"callers": [
"XLSLMFHandler.pm::handler"
]
}
]
evidence/functions.json
Feitelijke analyse op 3 oktober 2026. Codebevindingen zijn geen garantie voor foutloos of daadwerkelijk gebruikt runtimegedrag.
Legenda · bewijs en verbindingen
Bewijsstatus
CONFIRMED Aangetroffen in bron of catalogus; niet automatisch foutloos livegedrag.
LIKELY Gevolgtrekking met onderbouwing.
UNCLEAR Onvoldoende bewijs voor deze koppeling of werking.
NOT FOUND Niet aangetroffen binnen de onderzochte scope.
FUTURE / PROPOSED Voorstel; geen huidige functionaliteit.
Relaties
direct · Aangetroffen rechtstreekse referentie of aanroep.
derived · Afgeleid door selectie, groepering of berekening.
conditional · Alleen bij de genoemde voorwaarden of aanwezige bronverwijzing.
not active · Code/model aanwezig, niet aangesloten op het beschreven pad.
unclear · Verbinding niet vastgesteld.