Commit 78420103f4486c24932bf4085c63c89f6108313e

Authored by 徐烜
1 parent 4a95956f

浦东调度车辆信息更新etl问题修正

1、车辆报废时,报废日期为空,修正etl相关逻辑
2、车辆报废时,如果多次执行elt,会插入多条车辆设备更新记录,修正etl相关逻辑
src/main/resources/datatools/ktrs/vehicleDataSync.ktr
@@ -452,6 +452,33 @@ @@ -452,6 +452,33 @@
452 </attributes> 452 </attributes>
453 </connection> 453 </connection>
454 <connection> 454 <connection>
  455 + <name>test_control_local</name>
  456 + <server>localhost</server>
  457 + <type>MYSQL</type>
  458 + <access>Native</access>
  459 + <database>test_control</database>
  460 + <port>3306</port>
  461 + <username>root</username>
  462 + <password>Encrypted </password>
  463 + <servername/>
  464 + <data_tablespace/>
  465 + <index_tablespace/>
  466 + <attributes>
  467 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  468 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  469 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  470 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  471 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  472 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  473 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  474 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  475 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  476 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  477 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  478 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  479 + </attributes>
  480 + </connection>
  481 + <connection>
455 <name>test_control&#xff08;&#x672c;&#x673a;&#xff09;</name> 482 <name>test_control&#xff08;&#x672c;&#x673a;&#xff09;</name>
456 <server>127.0.0.1</server> 483 <server>127.0.0.1</server>
457 <type>MYSQL</type> 484 <type>MYSQL</type>
@@ -464,6 +491,7 @@ @@ -464,6 +491,7 @@
464 <data_tablespace/> 491 <data_tablespace/>
465 <index_tablespace/> 492 <index_tablespace/>
466 <attributes> 493 <attributes>
  494 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
467 <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> 495 <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
468 <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> 496 <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
469 <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> 497 <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
@@ -669,8 +697,6 @@ @@ -669,8 +697,6 @@
669 <hop> <from>&#x672c;&#x5730;&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x67e5;&#x8be2; </from><to>&#x672c;&#x5730;&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop> 697 <hop> <from>&#x672c;&#x5730;&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x67e5;&#x8be2; </from><to>&#x672c;&#x5730;&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
670 <hop> <from>&#x5f85;&#x66f4;&#x65b0;&#x6570;&#x636e;</from><to>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</to><enabled>Y</enabled> </hop> 698 <hop> <from>&#x5f85;&#x66f4;&#x65b0;&#x6570;&#x636e;</from><to>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</to><enabled>Y</enabled> </hop>
671 <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x5f85;&#x5904;&#x7406;&#x6570;&#x636e;xls&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop> 699 <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x5f85;&#x5904;&#x7406;&#x6570;&#x636e;xls&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
672 - <hop> <from>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</from><to>&#x83b7;&#x53d6;&#x62a5;&#x5e9f;&#x8f66;&#x8f86;&#x6570;&#x636e;&#xff08;&#x66fe;&#x7ecf;&#x914d;&#x7f6e;&#x8fc7;&#x7ebf;&#x8def;&#xff09;</to><enabled>Y</enabled> </hop>  
673 - <hop> <from>&#x83b7;&#x53d6;&#x62a5;&#x5e9f;&#x8f66;&#x8f86;&#x6570;&#x636e;&#xff08;&#x66fe;&#x7ecf;&#x914d;&#x7f6e;&#x8fc7;&#x7ebf;&#x8def;&#xff09;</from><to>&#x62a5;&#x5e9f;&#x8f66;&#x8f86;&#x7ba1;&#x7406;&#x8bbe;&#x5907;&#x6570;&#x636e;&#x5904;&#x7406;</to><enabled>Y</enabled> </hop>  
674 <hop> <from>&#x672c;&#x5730;&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</from><to>&#x672c;&#x5730;&#x7ebf;&#x8def;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop> 700 <hop> <from>&#x672c;&#x5730;&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</from><to>&#x672c;&#x5730;&#x7ebf;&#x8def;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
675 <hop> <from>&#x672c;&#x5730;&#x7ebf;&#x8def;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop> 701 <hop> <from>&#x672c;&#x5730;&#x7ebf;&#x8def;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
676 <hop> <from>&#x672c;&#x5730;&#x7ebf;&#x8def;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</from><to>&#x5224;&#x5b9a;&#x65b0;&#x589e;&#x2f;&#x66f4;&#x65b0;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop> 702 <hop> <from>&#x672c;&#x5730;&#x7ebf;&#x8def;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</from><to>&#x5224;&#x5b9a;&#x65b0;&#x589e;&#x2f;&#x66f4;&#x65b0;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
@@ -681,7 +707,11 @@ @@ -681,7 +707,11 @@
681 <hop> <from>&#x65b0;&#x589e;&#x8f66;&#x8f86;&#x8bbe;&#x5907;&#x6570;&#x636e;&#x8f93;&#x51fa;</from><to>&#x6dfb;&#x52a0;&#x8f66;&#x8f86;&#x8bbe;&#x5907;&#x9519;&#x8bef;&#x6570;&#x636e;&#x6587;&#x4ef6;</to><enabled>Y</enabled> </hop> 707 <hop> <from>&#x65b0;&#x589e;&#x8f66;&#x8f86;&#x8bbe;&#x5907;&#x6570;&#x636e;&#x8f93;&#x51fa;</from><to>&#x6dfb;&#x52a0;&#x8f66;&#x8f86;&#x8bbe;&#x5907;&#x9519;&#x8bef;&#x6570;&#x636e;&#x6587;&#x4ef6;</to><enabled>Y</enabled> </hop>
682 <hop> <from>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</from><to>&#x5224;&#x5b9a;&#x662f;&#x5426;&#x66f4;&#x65b0;</to><enabled>Y</enabled> </hop> 708 <hop> <from>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</from><to>&#x5224;&#x5b9a;&#x662f;&#x5426;&#x66f4;&#x65b0;</to><enabled>Y</enabled> </hop>
683 <hop> <from>&#x66f4;&#x65b0;&#x8f66;&#x8f86;&#x6570;&#x636e;&#x8f93;&#x51fa;</from><to>&#x66f4;&#x65b0;&#x9519;&#x8bef;&#x6570;&#x636e;&#x6587;&#x4ef6;</to><enabled>Y</enabled> </hop> 709 <hop> <from>&#x66f4;&#x65b0;&#x8f66;&#x8f86;&#x6570;&#x636e;&#x8f93;&#x51fa;</from><to>&#x66f4;&#x65b0;&#x9519;&#x8bef;&#x6570;&#x636e;&#x6587;&#x4ef6;</to><enabled>Y</enabled> </hop>
684 - <hop> <from>&#x5224;&#x5b9a;&#x662f;&#x5426;&#x66f4;&#x65b0;</from><to>&#x66f4;&#x65b0;&#x8f66;&#x8f86;&#x6570;&#x636e;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop> 710 + <hop> <from>&#x5224;&#x5b9a;&#x662f;&#x5426;&#x66f4;&#x65b0;</from><to>&#x5f85;&#x5904;&#x7406;&#x66f4;&#x65b0;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  711 + <hop> <from>&#x5f85;&#x5904;&#x7406;&#x66f4;&#x65b0;&#x6570;&#x636e;</from><to>&#x66f4;&#x65b0;&#x8f66;&#x8f86;&#x6570;&#x636e;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  712 + <hop> <from>&#x5f85;&#x5904;&#x7406;&#x66f4;&#x65b0;&#x6570;&#x636e;</from><to>&#x5224;&#x65ad;&#x662f;&#x5426;&#x62a5;&#x5e9f;&#x66f4;&#x65b0;</to><enabled>Y</enabled> </hop>
  713 + <hop> <from>&#x5224;&#x65ad;&#x662f;&#x5426;&#x62a5;&#x5e9f;&#x66f4;&#x65b0;</from><to>&#x662f;&#x5426;&#x62a5;&#x5e9f;&#x4e14;&#x66fe;&#x7ecf;&#x914d;&#x7f6e;&#x8fc7;&#x7ebf;&#x8def;</to><enabled>Y</enabled> </hop>
  714 + <hop> <from>&#x662f;&#x5426;&#x62a5;&#x5e9f;&#x4e14;&#x66fe;&#x7ecf;&#x914d;&#x7f6e;&#x8fc7;&#x7ebf;&#x8def;</from><to>&#x62a5;&#x5e9f;&#x8f66;&#x8f86;&#x7ba1;&#x7406;&#x8bbe;&#x5907;&#x6570;&#x636e;&#x5904;&#x7406;</to><enabled>Y</enabled> </hop>
685 </order> 715 </order>
686 <step> 716 <step>
687 <name>JavaScript&#x89e3;&#x6790;json&#x751f;&#x6210;&#x6570;&#x636e;</name> 717 <name>JavaScript&#x89e3;&#x6790;json&#x751f;&#x6210;&#x6570;&#x636e;</name>
@@ -971,7 +1001,7 @@ @@ -971,7 +1001,7 @@
971 <method>none</method> 1001 <method>none</method>
972 <schema_name/> 1002 <schema_name/>
973 </partitioning> 1003 </partitioning>
974 -<send_true_to>&#x66f4;&#x65b0;&#x8f66;&#x8f86;&#x6570;&#x636e;&#x8f93;&#x51fa;</send_true_to> 1004 +<send_true_to>&#x5f85;&#x5904;&#x7406;&#x66f4;&#x65b0;&#x6570;&#x636e;</send_true_to>
975 <send_false_to/> 1005 <send_false_to/>
976 <compare> 1006 <compare>
977 <condition> 1007 <condition>
@@ -995,8 +1025,8 @@ @@ -995,8 +1025,8 @@
995 </compare> 1025 </compare>
996 <cluster_schema/> 1026 <cluster_schema/>
997 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 1027 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
998 - <xloc>754</xloc>  
999 - <yloc>312</yloc> 1028 + <xloc>822</xloc>
  1029 + <yloc>311</yloc>
1000 <draw>Y</draw> 1030 <draw>Y</draw>
1001 </GUI> 1031 </GUI>
1002 </step> 1032 </step>
@@ -2088,7 +2118,7 @@ @@ -2088,7 +2118,7 @@
2088 <name>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</name> 2118 <name>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</name>
2089 <type>ScriptValueMod</type> 2119 <type>ScriptValueMod</type>
2090 <description/> 2120 <description/>
2091 - <distribute>N</distribute> 2121 + <distribute>Y</distribute>
2092 <custom_distribution/> 2122 <custom_distribution/>
2093 <copies>1</copies> 2123 <copies>1</copies>
2094 <partitioning> 2124 <partitioning>
@@ -2099,7 +2129,7 @@ @@ -2099,7 +2129,7 @@
2099 <optimizationLevel>9</optimizationLevel> 2129 <optimizationLevel>9</optimizationLevel>
2100 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> 2130 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2101 <jsScript_name>Script 1</jsScript_name> 2131 <jsScript_name>Script 1</jsScript_name>
2102 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f;---------------- &#x66f4;&#x65b0;&#x7528;&#x7684;&#x5b57;&#x6bb5;&#x91cd;&#x65b0;&#x547d;&#x540d;&#xff08;&#x65b9;&#x4fbf;&#x540e;&#x7eed;&#x64cd;&#x4f5c;&#xff09;-----------&#x2f;&#x2f;&#xa;&#x2f;&#x2f; TODO&#xff1a;&#x540e;&#x9762;&#x8fd8;&#x6709;&#x66f4;&#x591a;&#x7684;&#x66f4;&#x65b0;&#x5b57;&#x6bb5;&#xa;&#xa;var update_date &#x3d; new Date&#x28;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f;------------ 1&#x3001;&#x516c;&#x53f8;&#x5206;&#x516c;&#x53f8;&#x76f8;&#x5173;&#x5b57;&#x6bb5; -----------&#x2f;&#x2f;&#xa;var company_update &#x3d; gsmc&#x3b; &#x2f;&#x2f; &#x516c;&#x53f8;&#x540d;&#x79f0;&#xa;var branche_company_update &#x3d; fgsmc&#x3b; &#x2f;&#x2f; &#x5206;&#x516c;&#x53f8;&#x540d;&#x79f0;&#xa;var business_code_update &#x3d; gsdm&#x3b; &#x2f;&#x2f; &#x516c;&#x53f8;&#x4ee3;&#x7801;&#xa;var branch_company_code_update &#x3d; fgsdm&#x3b; &#x2f;&#x2f; &#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#xa;var isGsUpdate &#x3d; false&#x3b; &#x2f;&#x2f; &#x662f;&#x5426;&#x66f4;&#x65b0;&#xa;if &#x28;&#x21;company_update.equals&#x28;company&#x29;&#x29; &#x7b;&#xa; isGsUpdate &#x3d; true&#x3b;&#xa;&#x7d;&#xa;if &#x28;&#x21;branche_company_update.equals&#x28;branche_company&#x29;&#x29; &#x7b;&#xa; isGsUpdate &#x3d; true&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f;------------- 2&#x3001;&#x62a5;&#x5e9f;&#x76f8;&#x5173;&#x5b57;&#x6bb5; ------------&#x2f;&#x2f;&#xa;var equipmentCode_update &#x3d; equipment_code&#x3b; &#x2f;&#x2f; &#x8bbe;&#x5907;&#x7f16;&#x53f7;&#xa;var scrapCode_update &#x3d; scrap_code&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x53f7;&#xa;var scrapState_update &#x3d; &#x28;scrap_state &#x3d;&#x3d; true &#x3f; 1 &#x3a; 0&#x29;&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x72b6;&#x6001;&#xa;var scrapState_update_b &#x3d; scrap_state&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x72b6;&#x6001;&#xa;var scrapDate_update &#x3d; scrap_date&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x65e5;&#x671f;&#xa;var isScrapUpdate &#x3d; false&#x3b; &#x2f;&#x2f; &#x662f;&#x5426;&#x66f4;&#x65b0;&#xa;if &#x28;carState &#x3d;&#x3d; &#x27;3&#x27; &#x7c;&#x7c; scrapType &#x3d;&#x3d; &#x27;1&#x27;&#x29; &#x7b;&#xa; scrapState_update_b &#x3d; true&#x3b;&#xa; scrapState_update &#x3d; 1&#x3b;&#xa; scrapDate_update &#x3d; scrapDate &#x3d;&#x3d; null &#x3f; null &#x3a; str2date&#x28;scrapDate, &#x27;yyyy-MM-dd&#x27;&#x29;&#x3b;&#xa; equipmentCode_update &#x3d; &#x27;BF-&#x27; &#x2b; equipmentCode_update&#x3b;&#xa; scrapCode_update &#x3d; &#x27;BF-&#x27; &#x2b; equipmentCode_update&#x3b;&#xa;&#x7d;&#xa;if &#x28;scrapState_update_b &#x21;&#x3d; scrap_state&#x29; &#x7b;&#xa; isScrapUpdate &#x3d; true&#x3b;&#xa;&#x7d;</jsScript_script> 2132 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f;---------------- &#x66f4;&#x65b0;&#x7528;&#x7684;&#x5b57;&#x6bb5;&#x91cd;&#x65b0;&#x547d;&#x540d;&#xff08;&#x65b9;&#x4fbf;&#x540e;&#x7eed;&#x64cd;&#x4f5c;&#xff09;-----------&#x2f;&#x2f;&#xa;&#x2f;&#x2f; TODO&#xff1a;&#x540e;&#x9762;&#x8fd8;&#x6709;&#x66f4;&#x591a;&#x7684;&#x66f4;&#x65b0;&#x5b57;&#x6bb5;&#xa;&#xa;var update_date &#x3d; new Date&#x28;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f;------------ 1&#x3001;&#x516c;&#x53f8;&#x5206;&#x516c;&#x53f8;&#x76f8;&#x5173;&#x5b57;&#x6bb5; -----------&#x2f;&#x2f;&#xa;var company_update &#x3d; gsmc&#x3b; &#x2f;&#x2f; &#x516c;&#x53f8;&#x540d;&#x79f0;&#xa;var branche_company_update &#x3d; fgsmc&#x3b; &#x2f;&#x2f; &#x5206;&#x516c;&#x53f8;&#x540d;&#x79f0;&#xa;var business_code_update &#x3d; gsdm&#x3b; &#x2f;&#x2f; &#x516c;&#x53f8;&#x4ee3;&#x7801;&#xa;var branch_company_code_update &#x3d; fgsdm&#x3b; &#x2f;&#x2f; &#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#xa;var isGsUpdate &#x3d; false&#x3b; &#x2f;&#x2f; &#x662f;&#x5426;&#x66f4;&#x65b0;&#xa;if &#x28;&#x21;company_update.equals&#x28;company&#x29;&#x29; &#x7b;&#xa; isGsUpdate &#x3d; true&#x3b;&#xa;&#x7d;&#xa;if &#x28;&#x21;branche_company_update.equals&#x28;branche_company&#x29;&#x29; &#x7b;&#xa; isGsUpdate &#x3d; true&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f;------------- 2&#x3001;&#x62a5;&#x5e9f;&#x76f8;&#x5173;&#x5b57;&#x6bb5; ------------&#x2f;&#x2f;&#xa;var equipmentCode_update &#x3d; equipment_code&#x3b; &#x2f;&#x2f; &#x8bbe;&#x5907;&#x7f16;&#x53f7;&#xa;var scrapCode_update &#x3d; scrap_code&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x53f7;&#xa;var scrapState_update &#x3d; &#x28;scrap_state &#x3d;&#x3d; true &#x3f; 1 &#x3a; 0&#x29;&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x72b6;&#x6001;&#xa;var scrapState_update_b &#x3d; scrap_state&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x72b6;&#x6001;&#xa;var scrapDate_update &#x3d; scrap_date&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x65e5;&#x671f;&#xa;var isScrapUpdate &#x3d; false&#x3b; &#x2f;&#x2f; &#x662f;&#x5426;&#x66f4;&#x65b0;&#xa;if &#x28;carState &#x3d;&#x3d; &#x27;3&#x27; &#x7c;&#x7c; scrapType &#x3d;&#x3d; &#x27;1&#x27;&#x29; &#x7b;&#xa; scrapState_update_b &#x3d; true&#x3b;&#xa; scrapState_update &#x3d; 1&#x3b;&#xa; scrapDate_update &#x3d; scrapDate &#x3d;&#x3d; null &#x3f; null &#x3a; str2date&#x28;scrapDate, &#x27;yyyy-MM-dd&#x27;&#x29;&#x3b;&#xa; equipmentCode_update &#x3d; &#x27;BF-&#x27; &#x2b; equipmentCode_update&#x3b;&#xa; scrapCode_update &#x3d; &#x27;BF-&#x27; &#x2b; equipmentCode_update&#x3b;&#xa; scrapDate_update &#x3d; new Date&#x28;&#x29;&#x3b; &#x2f;&#x2f; &#x62a5;&#x5e9f;&#x65e5;&#x671f;&#x8bbe;&#x5b9a;&#x4f4d;&#x5f53;&#x524d;&#x65e5;&#x671f;&#xa;&#x7d;&#xa;if &#x28;scrapState_update_b &#x21;&#x3d; scrap_state&#x29; &#x7b;&#xa; isScrapUpdate &#x3d; true&#x3b;&#xa;&#x7d;</jsScript_script>
2103 </jsScript> </jsScripts> <fields> <field> <name>update_date</name> 2133 </jsScript> </jsScripts> <fields> <field> <name>update_date</name>
2104 <rename>update_date</rename> 2134 <rename>update_date</rename>
2105 <type>Date</type> 2135 <type>Date</type>
@@ -2174,8 +2204,216 @@ @@ -2174,8 +2204,216 @@
2174 <replace>N</replace> 2204 <replace>N</replace>
2175 </field> </fields> <cluster_schema/> 2205 </field> </fields> <cluster_schema/>
2176 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 2206 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2177 - <xloc>674</xloc>  
2178 - <yloc>403</yloc> 2207 + <xloc>670</xloc>
  2208 + <yloc>309</yloc>
  2209 + <draw>Y</draw>
  2210 + </GUI>
  2211 + </step>
  2212 +
  2213 + <step>
  2214 + <name>&#x66f4;&#x65b0;&#x8f66;&#x8f86;&#x6570;&#x636e;&#x8f93;&#x51fa;</name>
  2215 + <type>Update</type>
  2216 + <description/>
  2217 + <distribute>Y</distribute>
  2218 + <custom_distribution/>
  2219 + <copies>1</copies>
  2220 + <partitioning>
  2221 + <method>none</method>
  2222 + <schema_name/>
  2223 + </partitioning>
  2224 + <connection>control_jndi</connection>
  2225 + <skip_lookup>N</skip_lookup>
  2226 + <commit>100</commit>
  2227 + <use_batch>N</use_batch>
  2228 + <error_ignored>N</error_ignored>
  2229 + <ignore_flag_field/>
  2230 + <lookup>
  2231 + <schema/>
  2232 + <table>bsth_c_cars</table>
  2233 + <key>
  2234 + <name>id</name>
  2235 + <field>id</field>
  2236 + <condition>&#x3d;</condition>
  2237 + <name2/>
  2238 + </key>
  2239 + <value>
  2240 + <name>equipment_code</name>
  2241 + <rename>equipmentCode_update</rename>
  2242 + </value>
  2243 + <value>
  2244 + <name>scrap_code</name>
  2245 + <rename>scrapCode_update</rename>
  2246 + </value>
  2247 + <value>
  2248 + <name>scrap_date</name>
  2249 + <rename>scrapDate_update</rename>
  2250 + </value>
  2251 + <value>
  2252 + <name>scrap_state</name>
  2253 + <rename>scrapState_update</rename>
  2254 + </value>
  2255 + <value>
  2256 + <name>company</name>
  2257 + <rename>company_update</rename>
  2258 + </value>
  2259 + <value>
  2260 + <name>business_code</name>
  2261 + <rename>business_code_update</rename>
  2262 + </value>
  2263 + <value>
  2264 + <name>branche_company</name>
  2265 + <rename>branche_company_update</rename>
  2266 + </value>
  2267 + <value>
  2268 + <name>branche_company_code</name>
  2269 + <rename>branch_company_code_update</rename>
  2270 + </value>
  2271 + <value>
  2272 + <name>update_date</name>
  2273 + <rename>update_date</rename>
  2274 + </value>
  2275 + </lookup>
  2276 + <cluster_schema/>
  2277 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2278 + <xloc>820</xloc>
  2279 + <yloc>404</yloc>
  2280 + <draw>Y</draw>
  2281 + </GUI>
  2282 + </step>
  2283 +
  2284 + <step>
  2285 + <name>&#x66f4;&#x65b0;&#x9519;&#x8bef;&#x6570;&#x636e;&#x6587;&#x4ef6;</name>
  2286 + <type>ExcelOutput</type>
  2287 + <description/>
  2288 + <distribute>Y</distribute>
  2289 + <custom_distribution/>
  2290 + <copies>1</copies>
  2291 + <partitioning>
  2292 + <method>none</method>
  2293 + <schema_name/>
  2294 + </partitioning>
  2295 + <header>Y</header>
  2296 + <footer>N</footer>
  2297 + <encoding/>
  2298 + <append>N</append>
  2299 + <add_to_result_filenames>Y</add_to_result_filenames>
  2300 + <file>
  2301 + <name>&#x24;&#x7b;file_update_error&#x7d;</name>
  2302 + <extention>xls</extention>
  2303 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  2304 + <create_parent_folder>N</create_parent_folder>
  2305 + <split>N</split>
  2306 + <add_date>N</add_date>
  2307 + <add_time>N</add_time>
  2308 + <SpecifyFormat>N</SpecifyFormat>
  2309 + <date_time_format/>
  2310 + <sheetname>Sheet1</sheetname>
  2311 + <autosizecolums>N</autosizecolums>
  2312 + <nullisblank>N</nullisblank>
  2313 + <protect_sheet>N</protect_sheet>
  2314 + <password>Encrypted </password>
  2315 + <splitevery>0</splitevery>
  2316 + <usetempfiles>N</usetempfiles>
  2317 + <tempdirectory/>
  2318 + </file>
  2319 + <template>
  2320 + <enabled>N</enabled>
  2321 + <append>N</append>
  2322 + <filename>template.xls</filename>
  2323 + </template>
  2324 + <fields>
  2325 + <field>
  2326 + <name>clzbh</name>
  2327 + <type>String</type>
  2328 + <format/>
  2329 + </field>
  2330 + <field>
  2331 + <name>id</name>
  2332 + <type>Integer</type>
  2333 + <format/>
  2334 + </field>
  2335 + <field>
  2336 + <name>company_update</name>
  2337 + <type>String</type>
  2338 + <format/>
  2339 + </field>
  2340 + <field>
  2341 + <name>branche_company_update</name>
  2342 + <type>String</type>
  2343 + <format/>
  2344 + </field>
  2345 + <field>
  2346 + <name>business_code_update</name>
  2347 + <type>String</type>
  2348 + <format/>
  2349 + </field>
  2350 + <field>
  2351 + <name>branch_company_code_update</name>
  2352 + <type>String</type>
  2353 + <format/>
  2354 + </field>
  2355 + <field>
  2356 + <name>equipmentCode_update</name>
  2357 + <type>String</type>
  2358 + <format/>
  2359 + </field>
  2360 + <field>
  2361 + <name>scrapCode_update</name>
  2362 + <type>String</type>
  2363 + <format/>
  2364 + </field>
  2365 + <field>
  2366 + <name>scrapState_update</name>
  2367 + <type>Integer</type>
  2368 + <format/>
  2369 + </field>
  2370 + <field>
  2371 + <name>scrapDate_update</name>
  2372 + <type>String</type>
  2373 + <format/>
  2374 + </field>
  2375 + <field>
  2376 + <name>NrErrors</name>
  2377 + <type>Integer</type>
  2378 + <format/>
  2379 + </field>
  2380 + <field>
  2381 + <name>ErrorDescription</name>
  2382 + <type>String</type>
  2383 + <format/>
  2384 + </field>
  2385 + <field>
  2386 + <name>ErrorFields</name>
  2387 + <type>String</type>
  2388 + <format/>
  2389 + </field>
  2390 + <field>
  2391 + <name>ErrorCodes</name>
  2392 + <type>String</type>
  2393 + <format/>
  2394 + </field>
  2395 + </fields>
  2396 + <custom>
  2397 + <header_font_name>arial</header_font_name>
  2398 + <header_font_size>10</header_font_size>
  2399 + <header_font_bold>N</header_font_bold>
  2400 + <header_font_italic>N</header_font_italic>
  2401 + <header_font_underline>no</header_font_underline>
  2402 + <header_font_orientation>horizontal</header_font_orientation>
  2403 + <header_font_color>black</header_font_color>
  2404 + <header_background_color>none</header_background_color>
  2405 + <header_row_height>255</header_row_height>
  2406 + <header_alignment>left</header_alignment>
  2407 + <header_image/>
  2408 + <row_font_name>arial</row_font_name>
  2409 + <row_font_size>10</row_font_size>
  2410 + <row_font_color>black</row_font_color>
  2411 + <row_background_color>none</row_background_color>
  2412 + </custom>
  2413 + <cluster_schema/>
  2414 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2415 + <xloc>972</xloc>
  2416 + <yloc>404</yloc>
2179 <draw>Y</draw> 2417 <draw>Y</draw>
2180 </GUI> 2418 </GUI>
2181 </step> 2419 </step>
@@ -2629,7 +2867,7 @@ @@ -2629,7 +2867,7 @@
2629 </step> 2867 </step>
2630 2868
2631 <step> 2869 <step>
2632 - <name>&#x83b7;&#x53d6;&#x62a5;&#x5e9f;&#x8f66;&#x8f86;&#x6570;&#x636e;&#xff08;&#x66fe;&#x7ecf;&#x914d;&#x7f6e;&#x8fc7;&#x7ebf;&#x8def;&#xff09;</name> 2870 + <name>&#x662f;&#x5426;&#x62a5;&#x5e9f;&#x4e14;&#x66fe;&#x7ecf;&#x914d;&#x7f6e;&#x8fc7;&#x7ebf;&#x8def;</name>
2633 <type>FilterRows</type> 2871 <type>FilterRows</type>
2634 <description/> 2872 <description/>
2635 <distribute>Y</distribute> 2873 <distribute>Y</distribute>
@@ -2639,7 +2877,7 @@ @@ -2639,7 +2877,7 @@
2639 <method>none</method> 2877 <method>none</method>
2640 <schema_name/> 2878 <schema_name/>
2641 </partitioning> 2879 </partitioning>
2642 -<send_true_to/> 2880 +<send_true_to>&#x62a5;&#x5e9f;&#x8f66;&#x8f86;&#x7ba1;&#x7406;&#x8bbe;&#x5907;&#x6570;&#x636e;&#x5904;&#x7406;</send_true_to>
2643 <send_false_to/> 2881 <send_false_to/>
2644 <compare> 2882 <compare>
2645 <condition> 2883 <condition>
@@ -2663,15 +2901,15 @@ @@ -2663,15 +2901,15 @@
2663 </compare> 2901 </compare>
2664 <cluster_schema/> 2902 <cluster_schema/>
2665 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 2903 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2666 - <xloc>672</xloc>  
2667 - <yloc>496</yloc> 2904 + <xloc>513</xloc>
  2905 + <yloc>585</yloc>
2668 <draw>Y</draw> 2906 <draw>Y</draw>
2669 </GUI> 2907 </GUI>
2670 </step> 2908 </step>
2671 2909
2672 <step> 2910 <step>
2673 - <name>&#x66f4;&#x65b0;&#x8f66;&#x8f86;&#x6570;&#x636e;&#x8f93;&#x51fa;</name>  
2674 - <type>Update</type> 2911 + <name>&#x5224;&#x65ad;&#x662f;&#x5426;&#x62a5;&#x5e9f;&#x66f4;&#x65b0;</name>
  2912 + <type>FilterRows</type>
2675 <description/> 2913 <description/>
2676 <distribute>Y</distribute> 2914 <distribute>Y</distribute>
2677 <custom_distribution/> 2915 <custom_distribution/>
@@ -2680,199 +2918,51 @@ @@ -2680,199 +2918,51 @@
2680 <method>none</method> 2918 <method>none</method>
2681 <schema_name/> 2919 <schema_name/>
2682 </partitioning> 2920 </partitioning>
2683 - <connection>control_jndi</connection>  
2684 - <skip_lookup>N</skip_lookup>  
2685 - <commit>100</commit>  
2686 - <use_batch>N</use_batch>  
2687 - <error_ignored>N</error_ignored>  
2688 - <ignore_flag_field/>  
2689 - <lookup>  
2690 - <schema/>  
2691 - <table>bsth_c_cars</table>  
2692 - <key>  
2693 - <name>id</name>  
2694 - <field>id</field>  
2695 - <condition>&#x3d;</condition>  
2696 - <name2/>  
2697 - </key>  
2698 - <value>  
2699 - <name>equipment_code</name>  
2700 - <rename>equipmentCode_update</rename>  
2701 - </value>  
2702 - <value>  
2703 - <name>scrap_code</name>  
2704 - <rename>scrapCode_update</rename>  
2705 - </value>  
2706 - <value>  
2707 - <name>scrap_date</name>  
2708 - <rename>scrapDate_update</rename>  
2709 - </value>  
2710 - <value>  
2711 - <name>scrap_state</name>  
2712 - <rename>scrapState_update</rename>  
2713 - </value>  
2714 - <value>  
2715 - <name>company</name>  
2716 - <rename>company_update</rename>  
2717 - </value>  
2718 - <value>  
2719 - <name>business_code</name>  
2720 - <rename>business_code_update</rename>  
2721 - </value>  
2722 - <value>  
2723 - <name>branche_company</name>  
2724 - <rename>branche_company_update</rename>  
2725 - </value>  
2726 - <value>  
2727 - <name>branche_company_code</name>  
2728 - <rename>branch_company_code_update</rename>  
2729 - </value>  
2730 - <value>  
2731 - <name>update_date</name>  
2732 - <rename>update_date</rename>  
2733 - </value>  
2734 - </lookup> 2921 +<send_true_to>&#x662f;&#x5426;&#x62a5;&#x5e9f;&#x4e14;&#x66fe;&#x7ecf;&#x914d;&#x7f6e;&#x8fc7;&#x7ebf;&#x8def;</send_true_to>
  2922 +<send_false_to/>
  2923 + <compare>
  2924 +<condition>
  2925 + <negated>N</negated>
  2926 + <conditions>
  2927 + <condition>
  2928 + <negated>N</negated>
  2929 + <leftvalue>isGsUpdate</leftvalue>
  2930 + <function>&#x3d;</function>
  2931 + <rightvalue/>
  2932 + <value><name>constant</name><type>Boolean</type><text>Y</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  2933 + <condition>
  2934 + <negated>N</negated>
  2935 + <operator>OR</operator>
  2936 + <leftvalue>isScrapUpdate</leftvalue>
  2937 + <function>&#x3d;</function>
  2938 + <rightvalue/>
  2939 + <value><name>constant</name><type>Boolean</type><text>Y</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  2940 + </conditions>
  2941 + </condition>
  2942 + </compare>
2735 <cluster_schema/> 2943 <cluster_schema/>
2736 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 2944 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2737 - <xloc>825</xloc>  
2738 - <yloc>400</yloc> 2945 + <xloc>672</xloc>
  2946 + <yloc>497</yloc>
2739 <draw>Y</draw> 2947 <draw>Y</draw>
2740 </GUI> 2948 </GUI>
2741 </step> 2949 </step>
2742 2950
2743 <step> 2951 <step>
2744 - <name>&#x66f4;&#x65b0;&#x9519;&#x8bef;&#x6570;&#x636e;&#x6587;&#x4ef6;</name>  
2745 - <type>ExcelOutput</type> 2952 + <name>&#x5f85;&#x5904;&#x7406;&#x66f4;&#x65b0;&#x6570;&#x636e;</name>
  2953 + <type>Dummy</type>
2746 <description/> 2954 <description/>
2747 - <distribute>Y</distribute> 2955 + <distribute>N</distribute>
2748 <custom_distribution/> 2956 <custom_distribution/>
2749 <copies>1</copies> 2957 <copies>1</copies>
2750 <partitioning> 2958 <partitioning>
2751 <method>none</method> 2959 <method>none</method>
2752 <schema_name/> 2960 <schema_name/>
2753 </partitioning> 2961 </partitioning>
2754 - <header>Y</header>  
2755 - <footer>N</footer>  
2756 - <encoding/>  
2757 - <append>N</append>  
2758 - <add_to_result_filenames>Y</add_to_result_filenames>  
2759 - <file>  
2760 - <name>&#x24;&#x7b;file_update_error&#x7d;</name>  
2761 - <extention>xls</extention>  
2762 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
2763 - <create_parent_folder>N</create_parent_folder>  
2764 - <split>N</split>  
2765 - <add_date>N</add_date>  
2766 - <add_time>N</add_time>  
2767 - <SpecifyFormat>N</SpecifyFormat>  
2768 - <date_time_format/>  
2769 - <sheetname>Sheet1</sheetname>  
2770 - <autosizecolums>N</autosizecolums>  
2771 - <nullisblank>N</nullisblank>  
2772 - <protect_sheet>N</protect_sheet>  
2773 - <password>Encrypted </password>  
2774 - <splitevery>0</splitevery>  
2775 - <usetempfiles>N</usetempfiles>  
2776 - <tempdirectory/>  
2777 - </file>  
2778 - <template>  
2779 - <enabled>N</enabled>  
2780 - <append>N</append>  
2781 - <filename>template.xls</filename>  
2782 - </template>  
2783 - <fields>  
2784 - <field>  
2785 - <name>clzbh</name>  
2786 - <type>String</type>  
2787 - <format/>  
2788 - </field>  
2789 - <field>  
2790 - <name>id</name>  
2791 - <type>Integer</type>  
2792 - <format/>  
2793 - </field>  
2794 - <field>  
2795 - <name>company_update</name>  
2796 - <type>String</type>  
2797 - <format/>  
2798 - </field>  
2799 - <field>  
2800 - <name>branche_company_update</name>  
2801 - <type>String</type>  
2802 - <format/>  
2803 - </field>  
2804 - <field>  
2805 - <name>business_code_update</name>  
2806 - <type>String</type>  
2807 - <format/>  
2808 - </field>  
2809 - <field>  
2810 - <name>branch_company_code_update</name>  
2811 - <type>String</type>  
2812 - <format/>  
2813 - </field>  
2814 - <field>  
2815 - <name>equipmentCode_update</name>  
2816 - <type>String</type>  
2817 - <format/>  
2818 - </field>  
2819 - <field>  
2820 - <name>scrapCode_update</name>  
2821 - <type>String</type>  
2822 - <format/>  
2823 - </field>  
2824 - <field>  
2825 - <name>scrapState_update</name>  
2826 - <type>Integer</type>  
2827 - <format/>  
2828 - </field>  
2829 - <field>  
2830 - <name>scrapDate_update</name>  
2831 - <type>String</type>  
2832 - <format/>  
2833 - </field>  
2834 - <field>  
2835 - <name>NrErrors</name>  
2836 - <type>Integer</type>  
2837 - <format/>  
2838 - </field>  
2839 - <field>  
2840 - <name>ErrorDescription</name>  
2841 - <type>String</type>  
2842 - <format/>  
2843 - </field>  
2844 - <field>  
2845 - <name>ErrorFields</name>  
2846 - <type>String</type>  
2847 - <format/>  
2848 - </field>  
2849 - <field>  
2850 - <name>ErrorCodes</name>  
2851 - <type>String</type>  
2852 - <format/>  
2853 - </field>  
2854 - </fields>  
2855 - <custom>  
2856 - <header_font_name>arial</header_font_name>  
2857 - <header_font_size>10</header_font_size>  
2858 - <header_font_bold>N</header_font_bold>  
2859 - <header_font_italic>N</header_font_italic>  
2860 - <header_font_underline>no</header_font_underline>  
2861 - <header_font_orientation>horizontal</header_font_orientation>  
2862 - <header_font_color>black</header_font_color>  
2863 - <header_background_color>none</header_background_color>  
2864 - <header_row_height>255</header_row_height>  
2865 - <header_alignment>left</header_alignment>  
2866 - <header_image/>  
2867 - <row_font_name>arial</row_font_name>  
2868 - <row_font_size>10</row_font_size>  
2869 - <row_font_color>black</row_font_color>  
2870 - <row_background_color>none</row_background_color>  
2871 - </custom>  
2872 <cluster_schema/> 2962 <cluster_schema/>
2873 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 2963 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2874 - <xloc>962</xloc>  
2875 - <yloc>400</yloc> 2964 + <xloc>673</xloc>
  2965 + <yloc>406</yloc>
2876 <draw>Y</draw> 2966 <draw>Y</draw>
2877 </GUI> 2967 </GUI>
2878 </step> 2968 </step>