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 452 </attributes>
453 453 </connection>
454 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 482 <name>test_control&#xff08;&#x672c;&#x673a;&#xff09;</name>
456 483 <server>127.0.0.1</server>
457 484 <type>MYSQL</type>
... ... @@ -464,6 +491,7 @@
464 491 <data_tablespace/>
465 492 <index_tablespace/>
466 493 <attributes>
  494 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
467 495 <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
468 496 <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
469 497 <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
... ... @@ -669,8 +697,6 @@
669 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 698 <hop> <from>&#x5f85;&#x66f4;&#x65b0;&#x6570;&#x636e;</from><to>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</to><enabled>Y</enabled> </hop>
671 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 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 701 <hop> <from>&#x672c;&#x5730;&#x7ebf;&#x8def;&#x4fe1;&#x606f;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
676 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 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 708 <hop> <from>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</from><to>&#x5224;&#x5b9a;&#x662f;&#x5426;&#x66f4;&#x65b0;</to><enabled>Y</enabled> </hop>
683 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 715 </order>
686 716 <step>
687 717 <name>JavaScript&#x89e3;&#x6790;json&#x751f;&#x6210;&#x6570;&#x636e;</name>
... ... @@ -971,7 +1001,7 @@
971 1001 <method>none</method>
972 1002 <schema_name/>
973 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 1005 <send_false_to/>
976 1006 <compare>
977 1007 <condition>
... ... @@ -995,8 +1025,8 @@
995 1025 </compare>
996 1026 <cluster_schema/>
997 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 1030 <draw>Y</draw>
1001 1031 </GUI>
1002 1032 </step>
... ... @@ -2088,7 +2118,7 @@
2088 2118 <name>&#x66f4;&#x65b0;&#x6570;&#x636e;&#x5904;&#x7406;</name>
2089 2119 <type>ScriptValueMod</type>
2090 2120 <description/>
2091   - <distribute>N</distribute>
  2121 + <distribute>Y</distribute>
2092 2122 <custom_distribution/>
2093 2123 <copies>1</copies>
2094 2124 <partitioning>
... ... @@ -2099,7 +2129,7 @@
2099 2129 <optimizationLevel>9</optimizationLevel>
2100 2130 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2101 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 2133 </jsScript> </jsScripts> <fields> <field> <name>update_date</name>
2104 2134 <rename>update_date</rename>
2105 2135 <type>Date</type>
... ... @@ -2174,8 +2204,216 @@
2174 2204 <replace>N</replace>
2175 2205 </field> </fields> <cluster_schema/>
2176 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 2417 <draw>Y</draw>
2180 2418 </GUI>
2181 2419 </step>
... ... @@ -2629,7 +2867,7 @@
2629 2867 </step>
2630 2868  
2631 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 2871 <type>FilterRows</type>
2634 2872 <description/>
2635 2873 <distribute>Y</distribute>
... ... @@ -2639,7 +2877,7 @@
2639 2877 <method>none</method>
2640 2878 <schema_name/>
2641 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 2881 <send_false_to/>
2644 2882 <compare>
2645 2883 <condition>
... ... @@ -2663,15 +2901,15 @@
2663 2901 </compare>
2664 2902 <cluster_schema/>
2665 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 2906 <draw>Y</draw>
2669 2907 </GUI>
2670 2908 </step>
2671 2909  
2672 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 2913 <description/>
2676 2914 <distribute>Y</distribute>
2677 2915 <custom_distribution/>
... ... @@ -2680,199 +2918,51 @@
2680 2918 <method>none</method>
2681 2919 <schema_name/>
2682 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 2943 <cluster_schema/>
2736 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 2947 <draw>Y</draw>
2740 2948 </GUI>
2741 2949 </step>
2742 2950  
2743 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 2954 <description/>
2747   - <distribute>Y</distribute>
  2955 + <distribute>N</distribute>
2748 2956 <custom_distribution/>
2749 2957 <copies>1</copies>
2750 2958 <partitioning>
2751 2959 <method>none</method>
2752 2960 <schema_name/>
2753 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 2962 <cluster_schema/>
2873 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 2966 <draw>Y</draw>
2877 2967 </GUI>
2878 2968 </step>
... ...