From 4fb32b831491aa6c3c053281b95cddd495ff1172 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Wed, 7 May 2025 08:16:43 +0700 Subject: bf reserve manufacturing order --- bug_fix_reserved_input.ktr | 920 ++++++++++++++++++++++++++++++++++++++++++ run_scheduled_action_job.kjb | 11 +- update_reserved_status_mo.ktr | 201 ++++----- 3 files changed, 1035 insertions(+), 97 deletions(-) create mode 100644 bug_fix_reserved_input.ktr diff --git a/bug_fix_reserved_input.ktr b/bug_fix_reserved_input.ktr new file mode 100644 index 0000000..34da2a4 --- /dev/null +++ b/bug_fix_reserved_input.ktr @@ -0,0 +1,920 @@ + + + + bug_fix_reserved_input + + + + 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/03/25 08:41:16.016 + - + 2025/03/25 08:41:16.016 + + 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 + + + + + + Filter rows + Select values + Y + + + Filter rows + log same reserved with stock quant + Y + + + Merge join + Filter rows + Y + + + Select values + Update wrong qty reserved + Y + + + stock move + Merge join + Y + + + stock quant + Merge join + Y + + + + Filter rows + FilterRows + + Y + + 1 + + none + + + Select values + log same reserved with stock quant + + + N + reserved_quantity + <> + qty_reserved_must + + + + + + + + + + + + 432 + 208 + Y + + + + Merge join + MergeJoin + + Y + + 1 + + none + + + INNER + stock quant + stock move + + product_id + + + product_id + + + + + + + + + + + 304 + 208 + Y + + + + Select values + SelectValues + + Y + + 1 + + none + + + + + id_stock_quant + + + product_id + + + reserved_quantity + + + product_id_1 + + + qty_reserved_must + + N + + + + + + + + + + + 576 + 208 + Y + + + + Update wrong qty reserved + Update + + Y + + 1 + + none + + + erp indoteknik production + N + 100 + N + N + + + public +
stock_quant
+ + id_stock_quant + id + = + + + + reserved_quantity + qty_reserved_must + + + + + + + + + + + + 768 + 208 + Y + + + + log same reserved with stock quant + WriteToLog + + Y + + 1 + + none + + + log_level_basic + Y + N + 0 + + + + + + + + + + + + + 432 + 336 + Y + + + + stock move + TableInput + + Y + + 1 + + none + + + erp indoteknik production + select sm.product_id, sum(sml.product_uom_qty) as qty_reserved_must +from stock_move sm +join stock_move_line sml on sml.move_id = sm.id +where 1=1 +and sm.state in ('assigned', 'partially_available') +and sm.location_id = 58 +and sm.product_id in( + select sq.product_id + from stock_quant sq + where 1=1 + and sq.location_id = 58 + and sq.reserved_quantity > 0 +) +group by sm.product_id +order by sm.product_id + 0 + + N + N + N + N + + + Integer + normal + product_id + 9 + 0 + stock move + product_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + BigNumber + normal + qty_reserved_must + -1 + -1 + stock move + qty_reserved_must + ######0.0###################;-######0.0################### + . + + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + + + + + + + + + + 304 + 80 + Y + + + + stock quant + TableInput + + Y + + 1 + + none + + + erp indoteknik production + select sq.id as id_stock_quant, sq.product_id, sq.reserved_quantity +from stock_quant sq +where 1=1 +and sq.location_id = 58 +and sq.reserved_quantity > 0 +order by sq.product_id + 0 + + N + N + N + N + + + Integer + normal + id_stock_quant + 9 + 0 + stock quant + id_stock_quant + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + Integer + normal + product_id + 9 + 0 + stock quant + product_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + Number + normal + reserved_quantity + -1 + -1 + stock quant + reserved_quantity + ####0.0#########;-####0.0######### + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + + + + + + + + + + 144 + 208 + Y + + + + + + + N + +
diff --git a/run_scheduled_action_job.kjb b/run_scheduled_action_job.kjb index fc94126..85385d9 100644 --- a/run_scheduled_action_job.kjb +++ b/run_scheduled_action_job.kjb @@ -630,7 +630,7 @@ Y 0 1168 - 352 + 208 @@ -700,6 +700,15 @@ bug fix reserve + update date reserved mo + 0 + 0 + Y + Y + N + + + update date reserved mo Success 0 0 diff --git a/update_reserved_status_mo.ktr b/update_reserved_status_mo.ktr index 6687abf..7623c4e 100644 --- a/update_reserved_status_mo.ktr +++ b/update_reserved_status_mo.ktr @@ -503,6 +503,107 @@ Y + + Update + Update + + Y + + 1 + + none + + + erp indoteknik production (localhost) + N + 100 + N + N + + + public + mrp_production
+ + production_id + id + = + + + + date_reserved + new_date_reserved + +
+ + + + + + + + + + 640 + 48 + Y + +
+ + javascript reserve state + ScriptValueMod + + Y + + 1 + + none + + + N + 9 + + + 0 + Script 1 + var reserve_state = "waiting" +if(state == "done" && qty_done > 0){ + reserve_state = "done" +} +else if(state == "cancel"){ + reserve_state = "cancel" +} +else if(qty_reserved-qty_need==0 && qty_reserved > 0){ + reserve_state = "ready" +} +else{ + reserve_state = "waiting" +} + + + + + reserve_state + reserve_state + String + -1 + -1 + N + + + + + + + + + + + + 336 + 48 + Y + + outstanding manufacturing order TableInput @@ -770,61 +871,14 @@ if (reserve_state == "ready" || reserve_state == "done"){ } else{ new_date_reserved = null -} - - - - - - - - - - - - - 480 - 48 - Y - - - - javascript reserve state - ScriptValueMod - - Y - - 1 - - none - - - N - 9 - - - 0 - Script 1 - var reserve_state = "waiting" -if(state == "done" && qty_done > 0){ - reserve_state = "done" -} -else if(state == "cancel"){ - reserve_state = "cancel" -} -else if(qty_reserved-qty_need==0 && qty_reserved > 0){ - reserve_state = "ready" -} -else{ - reserve_state = "waiting" } - reserve_state - reserve_state - String + new_date_reserved + new_date_reserved + Timestamp -1 -1 N @@ -839,52 +893,7 @@ else{ - 336 - 48 - Y - - - - Update - Update - - Y - - 1 - - none - - - erp indoteknik production (localhost) - N - 100 - N - N - - - public - mrp_production
- - production_id - id - = - - - - date_reserved - new_date_reserved - -
- - - - - - - - - - 640 + 480 48 Y -- cgit v1.2.3