From 11b6be6eb17fa05f5cdaa76bd1afa236edc38aa5 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 13 May 2025 13:51:56 +0700 Subject: add sync manual product --- calculate_bi_marketing_md.ktr | 593 ++++++++++++++++++++++++++ refresh_materialized_view.ktr | 58 +-- run_single_ktr.sh | 2 +- sync_manual_product.ktr | 951 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1574 insertions(+), 30 deletions(-) create mode 100644 calculate_bi_marketing_md.ktr create mode 100644 sync_manual_product.ktr diff --git a/calculate_bi_marketing_md.ktr b/calculate_bi_marketing_md.ktr new file mode 100644 index 0000000..5ff1f94 --- /dev/null +++ b/calculate_bi_marketing_md.ktr @@ -0,0 +1,593 @@ + + + + calculate_bi_marketing_md + + + + Normal + / + + + + + + + + + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + + + + +
+ + 0.0 + 0.0 + + 10000 + 50 + 50 + N + Y + 50000 + Y + + N + 1000 + 100 + + + + + + + + + - + 2025/05/13 13:45:32.351 + - + 2025/05/13 13:45:32.351 + + N + + + + + erp indoteknik production + localhost + POSTGRESQL + Native + erp_indoteknik + 5901 + odoo + Encrypted 2be98afc82bdfd8dd9a2ca45acc83f6c3 + + + + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5901 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + + + + + + + parent category + TableInput + + Y + + 1 + + none + + + erp indoteknik production + select ppc.id, name as category +from product_public_category ppc +where ppc.id in( +2040, +2097, +2161, +2222, +2246, +2273, +2315, +2354, +2394, +2420, +2477, +2445 +) + 0 + + N + N + N + N + + + Integer + normal + id + 9 + 0 + Table input + id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + category + 2147483647 + -1 + Table input + category + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + + + + + + + + + + 192 + 112 + Y + + + + + + + N + + diff --git a/refresh_materialized_view.ktr b/refresh_materialized_view.ktr index 93f0232..ce52c23 100644 --- a/refresh_materialized_view.ktr +++ b/refresh_materialized_view.ktr @@ -442,8 +442,8 @@ Native dw_bi_indoteknik 5432 - pdi - Encrypted 2be989bb20084ca95810197629d9ea18e + odoo + Encrypted 2be98afc82bdfd8dd9a2ca45acc83f6c3 @@ -817,7 +817,7 @@ N N N - refresh materialized view mv_brand_per_year + --refresh materialized view mv_brand_per_year N @@ -855,7 +855,7 @@ N N N - refresh materialized view mv_category_brand_per_year + --refresh materialized view mv_category_brand_per_year N @@ -992,7 +992,7 @@ - leadtime so to delivered + leadtime po to received ExecSQL Y @@ -1007,7 +1007,7 @@ N N N - refresh materialized view mv_leadtime_so_to_delivered + refresh materialized view mv_leadtime_po_to_received N @@ -1024,13 +1024,13 @@ - 800 + 992 432 Y - sale order + leadtime so to delivered ExecSQL Y @@ -1045,7 +1045,7 @@ N N N - refresh materialized view mv_sale_order + refresh materialized view mv_leadtime_so_to_delivered N @@ -1062,13 +1062,13 @@ - 400 - 304 + 800 + 432 Y - sale order group + sale order ExecSQL Y @@ -1083,7 +1083,7 @@ N N N - refresh materialized view mv_sale_order_group + refresh materialized view mv_sale_order N @@ -1100,13 +1100,13 @@ - 240 + 400 304 Y - sale order group lob + sale order group ExecSQL Y @@ -1121,7 +1121,7 @@ N N N - refresh materialized view mv_sale_order_group_lob + refresh materialized view mv_sale_order_group N @@ -1138,13 +1138,13 @@ - 432 - 432 + 240 + 304 Y - salesperson + sale order group lob ExecSQL Y @@ -1159,7 +1159,7 @@ N N N - refresh materialized view dw_salesperson + refresh materialized view mv_sale_order_group_lob N @@ -1176,13 +1176,13 @@ - 720 - 160 + 432 + 432 Y - update quarter + salesperson ExecSQL Y @@ -1197,7 +1197,7 @@ N N N - select update_running_quarter() + refresh materialized view dw_salesperson N @@ -1214,13 +1214,13 @@ - 1024 + 720 160 Y - leadtime po to received + update quarter ExecSQL Y @@ -1235,7 +1235,7 @@ N N N - refresh materialized view mv_leadtime_po_to_received + select update_running_quarter() N @@ -1252,8 +1252,8 @@ - 992 - 432 + 1024 + 160 Y diff --git a/run_single_ktr.sh b/run_single_ktr.sh index ea60bc6..dfcdfd1 100644 --- a/run_single_ktr.sh +++ b/run_single_ktr.sh @@ -1 +1 @@ -sh /home/stephan/data-integration/pan.sh -level="Debug" -file="/home/stephan/transformation-job-bi/capture_available_minus.ktr" > "/home/stephan/transformation-job-bi/log/run_single_ktr.log" +sh /home/stephan/data-integration/pan.sh -level="Debug" -file="/home/stephan/transformation-job-bi/sync_manual_product.ktr" > "/home/stephan/transformation-job-bi/log/run_single_ktr.log" diff --git a/sync_manual_product.ktr b/sync_manual_product.ktr new file mode 100644 index 0000000..98458b4 --- /dev/null +++ b/sync_manual_product.ktr @@ -0,0 +1,951 @@ + + + + sync_manual_product + + + + Normal + / + + + + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + + + + +
+ + 0.0 + 0.0 + + 10000 + 50 + 50 + N + Y + 50000 + Y + + N + 1000 + 100 + + + + + + + + + - + 2025/05/13 13:48:57.238 + - + 2025/05/13 13:48:57.238 + + N + + + + + dw bi indoteknik (localhost) + localhost + POSTGRESQL + Native + dw_bi_indoteknik + 5432 + odoo + Encrypted 2be98afc82bdfd8dd9a2ca45acc83f6c3 + + + + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + N + + + USE_POOLING + N + + + + + erp indoteknik production (localhost) + 10.148.0.3 + POSTGRESQL + Native + erp_indoteknik + 5432 + pdi + Encrypted 2be989bb20084ca95810197629d9ea18e + + + + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + N + + + USE_POOLING + N + + + + + + product + dw Insert / update product + Y + + + + product + TableInput + + Y + + 1 + + none + + + erp indoteknik production (localhost) + select pp.id as product_id, pt.id as template_id, pt.name, pp.active::boolean, pt.x_manufacture as brand_id, +case when pp.default_code is null then pt.default_code else pp.default_code end as item_code, +( + select name from product_public_category ppc where id in((select replace(left(parent_path, 5), '/', '')::int from product_public_category + where id in(select ppcptr.product_public_category_id from product_public_category_product_template_rel ppcptr + where ppcptr.product_template_id = pt.id limit 1))) +) as parent_category, +(select store_fname from ir_attachment ia where ia.res_model='product.template' and res_field='image_1920' and ia.res_id=pt.id) as image, +pt.website_description as description, +pt.weight, +( + select ppc.id from product_public_category ppc where id in((select replace(left(parent_path, 5), '/', '')::int from product_public_category + where id in(select ppcptr.product_public_category_id from product_public_category_product_template_rel ppcptr + where ppcptr.product_template_id = pt.id limit 1))) +) as parent_category_id +from product_product pp +join product_template pt on pt.id = pp.product_tmpl_id +--where pp.write_date >= (now() - '5 days'::interval) + 0 + + N + N + N + N + + + Integer + normal + product_id + 9 + 0 + Table input + product_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + Integer + normal + template_id + 9 + 0 + Table input + template_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + name + 2147483647 + -1 + Table input + name + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + Boolean + normal + active + -1 + -1 + Table input + active + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + Integer + normal + brand_id + 9 + 0 + Table input + brand_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + item_code + 2147483647 + -1 + Table input + item_code + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + parent_category + 2147483647 + -1 + Table input + parent_category + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + image + 2147483647 + -1 + Table input + image + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + description + 2147483647 + -1 + Table input + description + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + BigNumber + normal + weight + -1 + -1 + Table input + weight + ######0.0###################;-######0.0################### + . + + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + Integer + normal + parent_category_id + 9 + 0 + Table input + parent_category_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + + + + + + + + + + 176 + 64 + Y + + + + dw Insert / update product + InsertUpdate + + Y + + 1 + + none + + + dw bi indoteknik (localhost) + 100 + N + + public +
product
+ + product_id + product_id + = + + + + product_id + product_id + N + + + template_id + template_id + Y + + + name + name + Y + + + active + active + Y + + + brand_id + brand_id + Y + + + item_code + item_code + Y + + + parent_category + parent_category + Y + + + image + image + Y + + + description + description + Y + + + weight + weight + Y + + + parent_category_id + parent_category_id + Y + + + + + + + + + + + + 320 + 64 + Y + + + + + + + N + +
-- cgit v1.2.3