summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--update_reserved_status.ktr291
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 &amp;&amp; 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" &amp;&amp; qty_done > 0){
+ reserve_state = "done"
+}
+else if(state == "cancel"){
+ reserve_state = "cancel"
+}
+else if(qty_reserved-qty_need==0 &amp;&amp; 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>