diff options
| -rw-r--r-- | update_reserved_status.ktr | 291 |
1 files changed, 148 insertions, 143 deletions
diff --git a/update_reserved_status.ktr b/update_reserved_status.ktr index 6cfa81a..76c3aa3 100644 --- a/update_reserved_status.ktr +++ b/update_reserved_status.ktr @@ -509,7 +509,106 @@ </hop> </order> <step> - <name>javascript reserve state</name> + <name>Update</name> + <type>Update</type> + <description/> + <distribute>Y</distribute> + <custom_distribution/> + <copies>1</copies> + <partitioning> + <method>none</method> + <schema_name/> + </partitioning> + <connection>erp indoteknik production (localhost)</connection> + <skip_lookup>N</skip_lookup> + <commit>100</commit> + <use_batch>N</use_batch> + <error_ignored>N</error_ignored> + <ignore_flag_field/> + <lookup> + <schema>public</schema> + <table>stock_picking</table> + <key> + <name>picking_id</name> + <field>id</field> + <condition>=</condition> + <name2/> + </key> + <value> + <name>state_reserve</name> + <rename>reserve_state</rename> + </value> + <value> + <name>date_reserved</name> + <rename>new_date_reserved</rename> + </value> + </lookup> + <attributes/> + <cluster_schema/> + <remotesteps> + <input> + </input> + <output> + </output> + </remotesteps> + <GUI> + <xloc>704</xloc> + <yloc>80</yloc> + <draw>Y</draw> + </GUI> + </step> + <step> + <name>Write to log</name> + <type>WriteToLog</type> + <description/> + <distribute>Y</distribute> + <custom_distribution/> + <copies>1</copies> + <partitioning> + <method>none</method> + <schema_name/> + </partitioning> + <loglevel>log_level_basic</loglevel> + <displayHeader>Y</displayHeader> + <limitRows>N</limitRows> + <limitRowsNumber>0</limitRowsNumber> + <logmessage/> + <fields> + <field> + <name>picking_id</name> + </field> + <field> + <name>state</name> + </field> + <field> + <name>qty_need</name> + </field> + <field> + <name>qty_reserved</name> + </field> + <field> + <name>qty_done</name> + </field> + <field> + <name>reserve_state</name> + </field> + </fields> + <attributes/> + <cluster_schema/> + <remotesteps> + <input> + </input> + <output> + </output> + </remotesteps> + <GUI> + <xloc>848</xloc> + <yloc>80</yloc> + <draw>Y</draw> + </GUI> + </step> + <step> + <name>javascript reserve date</name> <type>ScriptValueMod</type> <description/> <distribute>Y</distribute> @@ -525,26 +624,24 @@ <jsScript> <jsScript_type>0</jsScript_type> <jsScript_name>Script 1</jsScript_name> - <jsScript_script>var reserve_state = "waiting" -if(state == "done"){ - reserve_state = "done" -} -else if(state == "cancel"){ - reserve_state = "cancel" -} -else if(qty_reserved-qty_need==0 && qty_reserved > 0){ - reserve_state = "ready" + <jsScript_script>var new_date_reserved = null +if (reserve_state == "ready" || reserve_state == "done"){ + if (!date_reserved){ + new_date_reserved = current_date + }else{ + new_date_reserved = date_reserved + } } else{ - reserve_state = "waiting" + new_date_reserved = null }</jsScript_script> </jsScript> </jsScripts> <fields> <field> - <name>reserve_state</name> - <rename>reserve_state</rename> - <type>String</type> + <name>new_date_reserved</name> + <rename>new_date_reserved</rename> + <type>Timestamp</type> <length>-1</length> <precision>-1</precision> <replace>N</replace> @@ -559,14 +656,14 @@ else{ </output> </remotesteps> <GUI> - <xloc>320</xloc> + <xloc>528</xloc> <yloc>80</yloc> <draw>Y</draw> </GUI> </step> <step> - <name>Update</name> - <type>Update</type> + <name>javascript reserve state</name> + <type>ScriptValueMod</type> <description/> <distribute>Y</distribute> <custom_distribution/> @@ -575,30 +672,37 @@ else{ <method>none</method> <schema_name/> </partitioning> - <connection>erp indoteknik production (localhost)</connection> - <skip_lookup>N</skip_lookup> - <commit>100</commit> - <use_batch>N</use_batch> - <error_ignored>N</error_ignored> - <ignore_flag_field/> - <lookup> - <schema>public</schema> - <table>stock_picking</table> - <key> - <name>picking_id</name> - <field>id</field> - <condition>=</condition> - <name2/> - </key> - <value> - <name>state_reserve</name> + <compatible>N</compatible> + <optimizationLevel>9</optimizationLevel> + <jsScripts> + <jsScript> + <jsScript_type>0</jsScript_type> + <jsScript_name>Script 1</jsScript_name> + <jsScript_script>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" +}</jsScript_script> + </jsScript> + </jsScripts> + <fields> + <field> + <name>reserve_state</name> <rename>reserve_state</rename> - </value> - <value> - <name>date_reserved</name> - <rename>new_date_reserved</rename> - </value> - </lookup> + <type>String</type> + <length>-1</length> + <precision>-1</precision> + <replace>N</replace> + </field> + </fields> <attributes/> <cluster_schema/> <remotesteps> @@ -608,7 +712,7 @@ else{ </output> </remotesteps> <GUI> - <xloc>704</xloc> + <xloc>320</xloc> <yloc>80</yloc> <draw>Y</draw> </GUI> @@ -627,13 +731,14 @@ else{ <connection>erp indoteknik production (localhost)</connection> <sql>select sp.id as picking_id, sp.state, sum(coalesce(sm.product_uom_qty,0)) as qty_need, sum(coalesce(sml.product_uom_qty,0)) as qty_reserved, sum(coalesce(sml.qty_done,0)) as qty_done, -sp.date_reserved, now()::timestamp as current_date +sp.date_reserved, now()::timestamp-'7 hours'::interval as current_date from stock_picking sp join stock_move sm on sm.picking_id = sp.id left join stock_move_line sml on sml.move_id = sm.id join procurement_group pg on pg.id = sp.group_id where 1=1 -and pg.sale_id > 0 +--and pg.sale_id > 0 +and sp.picking_type_id = 29 and (sp.state_reserve not in ('done', 'cancel') or sp.state_reserve is null) and sp.write_date >= (now() - '180 days'::interval) --and sp.state in ('assigned', 'confirmed', 'draft') @@ -821,106 +926,6 @@ group by sp.id</sql> <draw>Y</draw> </GUI> </step> - <step> - <name>Write to log</name> - <type>WriteToLog</type> - <description/> - <distribute>Y</distribute> - <custom_distribution/> - <copies>1</copies> - <partitioning> - <method>none</method> - <schema_name/> - </partitioning> - <loglevel>log_level_basic</loglevel> - <displayHeader>Y</displayHeader> - <limitRows>N</limitRows> - <limitRowsNumber>0</limitRowsNumber> - <logmessage/> - <fields> - <field> - <name>picking_id</name> - </field> - <field> - <name>state</name> - </field> - <field> - <name>qty_need</name> - </field> - <field> - <name>qty_reserved</name> - </field> - <field> - <name>qty_done</name> - </field> - <field> - <name>reserve_state</name> - </field> - </fields> - <attributes/> - <cluster_schema/> - <remotesteps> - <input> - </input> - <output> - </output> - </remotesteps> - <GUI> - <xloc>848</xloc> - <yloc>80</yloc> - <draw>Y</draw> - </GUI> - </step> - <step> - <name>javascript reserve date</name> - <type>ScriptValueMod</type> - <description/> - <distribute>Y</distribute> - <custom_distribution/> - <copies>1</copies> - <partitioning> - <method>none</method> - <schema_name/> - </partitioning> - <compatible>N</compatible> - <optimizationLevel>9</optimizationLevel> - <jsScripts> - <jsScript> - <jsScript_type>0</jsScript_type> - <jsScript_name>Script 1</jsScript_name> - <jsScript_script>var new_date_reserved = date_reserved -if (!date_reserved){ - new_date_reserved = current_date -} -else{ - new_date_reserved = date_reserved -}</jsScript_script> - </jsScript> - </jsScripts> - <fields> - <field> - <name>new_date_reserved</name> - <rename>new_date_reserved</rename> - <type>Timestamp</type> - <length>-1</length> - <precision>-1</precision> - <replace>N</replace> - </field> - </fields> - <attributes/> - <cluster_schema/> - <remotesteps> - <input> - </input> - <output> - </output> - </remotesteps> - <GUI> - <xloc>528</xloc> - <yloc>80</yloc> - <draw>Y</draw> - </GUI> - </step> <step_error_handling> </step_error_handling> <slave-step-copy-partition-distribution> |
