<?xml version="1.0" encoding="UTF-8"?> <transformation> <info> <name>bigdata_constsite</name> <description/> <extended_description/> <trans_version/> <trans_type>Normal</trans_type> <directory>/</directory> <parameters> </parameters> <log> <trans-log-table> <connection/> <schema/> <table/> <size_limit_lines/> <interval/> <timeout_days/> <field> <id>ID_BATCH</id> <enabled>Y</enabled> <name>ID_BATCH</name> </field> <field> <id>CHANNEL_ID</id> <enabled>Y</enabled> <name>CHANNEL_ID</name> </field> <field> <id>TRANSNAME</id> <enabled>Y</enabled> <name>TRANSNAME</name> </field> <field> <id>STATUS</id> <enabled>Y</enabled> <name>STATUS</name> </field> <field> <id>LINES_READ</id> <enabled>Y</enabled> <name>LINES_READ</name> <subject/> </field> <field> <id>LINES_WRITTEN</id> <enabled>Y</enabled> <name>LINES_WRITTEN</name> <subject/> </field> <field> <id>LINES_UPDATED</id> <enabled>Y</enabled> <name>LINES_UPDATED</name> <subject/> </field> <field> <id>LINES_INPUT</id> <enabled>Y</enabled> <name>LINES_INPUT</name> <subject/> </field> <field> <id>LINES_OUTPUT</id> <enabled>Y</enabled> <name>LINES_OUTPUT</name> <subject/> </field> <field> <id>LINES_REJECTED</id> <enabled>Y</enabled> <name>LINES_REJECTED</name> <subject/> </field> <field> <id>ERRORS</id> <enabled>Y</enabled> <name>ERRORS</name> </field> <field> <id>STARTDATE</id> <enabled>Y</enabled> <name>STARTDATE</name> </field> <field> <id>ENDDATE</id> <enabled>Y</enabled> <name>ENDDATE</name> </field> <field> <id>LOGDATE</id> <enabled>Y</enabled> <name>LOGDATE</name> </field> <field> <id>DEPDATE</id> <enabled>Y</enabled> <name>DEPDATE</name> </field> <field> <id>REPLAYDATE</id> <enabled>Y</enabled> <name>REPLAYDATE</name> </field> <field> <id>LOG_FIELD</id> <enabled>Y</enabled> <name>LOG_FIELD</name> </field> <field> <id>EXECUTING_SERVER</id> <enabled>N</enabled> <name>EXECUTING_SERVER</name> </field> <field> <id>EXECUTING_USER</id> <enabled>N</enabled> <name>EXECUTING_USER</name> </field> <field> <id>CLIENT</id> <enabled>N</enabled> <name>CLIENT</name> </field> </trans-log-table> <perf-log-table> <connection/> <schema/> <table/> <interval/> <timeout_days/> <field> <id>ID_BATCH</id> <enabled>Y</enabled> <name>ID_BATCH</name> </field> <field> <id>SEQ_NR</id> <enabled>Y</enabled> <name>SEQ_NR</name> </field> <field> <id>LOGDATE</id> <enabled>Y</enabled> <name>LOGDATE</name> </field> <field> <id>TRANSNAME</id> <enabled>Y</enabled> <name>TRANSNAME</name> </field> <field> <id>STEPNAME</id> <enabled>Y</enabled> <name>STEPNAME</name> </field> <field> <id>STEP_COPY</id> <enabled>Y</enabled> <name>STEP_COPY</name> </field> <field> <id>LINES_READ</id> <enabled>Y</enabled> <name>LINES_READ</name> </field> <field> <id>LINES_WRITTEN</id> <enabled>Y</enabled> <name>LINES_WRITTEN</name> </field> <field> <id>LINES_UPDATED</id> <enabled>Y</enabled> <name>LINES_UPDATED</name> </field> <field> <id>LINES_INPUT</id> <enabled>Y</enabled> <name>LINES_INPUT</name> </field> <field> <id>LINES_OUTPUT</id> <enabled>Y</enabled> <name>LINES_OUTPUT</name> </field> <field> <id>LINES_REJECTED</id> <enabled>Y</enabled> <name>LINES_REJECTED</name> </field> <field> <id>ERRORS</id> <enabled>Y</enabled> <name>ERRORS</name> </field> <field> <id>INPUT_BUFFER_ROWS</id> <enabled>Y</enabled> <name>INPUT_BUFFER_ROWS</name> </field> <field> <id>OUTPUT_BUFFER_ROWS</id> <enabled>Y</enabled> <name>OUTPUT_BUFFER_ROWS</name> </field> </perf-log-table> <channel-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id>ID_BATCH</id> <enabled>Y</enabled> <name>ID_BATCH</name> </field> <field> <id>CHANNEL_ID</id> <enabled>Y</enabled> <name>CHANNEL_ID</name> </field> <field> <id>LOG_DATE</id> <enabled>Y</enabled> <name>LOG_DATE</name> </field> <field> <id>LOGGING_OBJECT_TYPE</id> <enabled>Y</enabled> <name>LOGGING_OBJECT_TYPE</name> </field> <field> <id>OBJECT_NAME</id> <enabled>Y</enabled> <name>OBJECT_NAME</name> </field> <field> <id>OBJECT_COPY</id> <enabled>Y</enabled> <name>OBJECT_COPY</name> </field> <field> <id>REPOSITORY_DIRECTORY</id> <enabled>Y</enabled> <name>REPOSITORY_DIRECTORY</name> </field> <field> <id>FILENAME</id> <enabled>Y</enabled> <name>FILENAME</name> </field> <field> <id>OBJECT_ID</id> <enabled>Y</enabled> <name>OBJECT_ID</name> </field> <field> <id>OBJECT_REVISION</id> <enabled>Y</enabled> <name>OBJECT_REVISION</name> </field> <field> <id>PARENT_CHANNEL_ID</id> <enabled>Y</enabled> <name>PARENT_CHANNEL_ID</name> </field> <field> <id>ROOT_CHANNEL_ID</id> <enabled>Y</enabled> <name>ROOT_CHANNEL_ID</name> </field> </channel-log-table> <step-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id>ID_BATCH</id> <enabled>Y</enabled> <name>ID_BATCH</name> </field> <field> <id>CHANNEL_ID</id> <enabled>Y</enabled> <name>CHANNEL_ID</name> </field> <field> <id>LOG_DATE</id> <enabled>Y</enabled> <name>LOG_DATE</name> </field> <field> <id>TRANSNAME</id> <enabled>Y</enabled> <name>TRANSNAME</name> </field> <field> <id>STEPNAME</id> <enabled>Y</enabled> <name>STEPNAME</name> </field> <field> <id>STEP_COPY</id> <enabled>Y</enabled> <name>STEP_COPY</name> </field> <field> <id>LINES_READ</id> <enabled>Y</enabled> <name>LINES_READ</name> </field> <field> <id>LINES_WRITTEN</id> <enabled>Y</enabled> <name>LINES_WRITTEN</name> </field> <field> <id>LINES_UPDATED</id> <enabled>Y</enabled> <name>LINES_UPDATED</name> </field> <field> <id>LINES_INPUT</id> <enabled>Y</enabled> <name>LINES_INPUT</name> </field> <field> <id>LINES_OUTPUT</id> <enabled>Y</enabled> <name>LINES_OUTPUT</name> </field> <field> <id>LINES_REJECTED</id> <enabled>Y</enabled> <name>LINES_REJECTED</name> </field> <field> <id>ERRORS</id> <enabled>Y</enabled> <name>ERRORS</name> </field> <field> <id>LOG_FIELD</id> <enabled>N</enabled> <name>LOG_FIELD</name> </field> </step-log-table> <metrics-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id>ID_BATCH</id> <enabled>Y</enabled> <name>ID_BATCH</name> </field> <field> <id>CHANNEL_ID</id> <enabled>Y</enabled> <name>CHANNEL_ID</name> </field> <field> <id>LOG_DATE</id> <enabled>Y</enabled> <name>LOG_DATE</name> </field> <field> <id>METRICS_DATE</id> <enabled>Y</enabled> <name>METRICS_DATE</name> </field> <field> <id>METRICS_CODE</id> <enabled>Y</enabled> <name>METRICS_CODE</name> </field> <field> <id>METRICS_DESCRIPTION</id> <enabled>Y</enabled> <name>METRICS_DESCRIPTION</name> </field> <field> <id>METRICS_SUBJECT</id> <enabled>Y</enabled> <name>METRICS_SUBJECT</name> </field> <field> <id>METRICS_TYPE</id> <enabled>Y</enabled> <name>METRICS_TYPE</name> </field> <field> <id>METRICS_VALUE</id> <enabled>Y</enabled> <name>METRICS_VALUE</name> </field> </metrics-log-table> </log> <maxdate> <connection/> <table/> <field/> <offset>0.0</offset> <maxdiff>0.0</maxdiff> </maxdate> <size_rowset>10000</size_rowset> <sleep_time_empty>50</sleep_time_empty> <sleep_time_full>50</sleep_time_full> <unique_connections>N</unique_connections> <feedback_shown>Y</feedback_shown> <feedback_size>50000</feedback_size> <using_thread_priorities>Y</using_thread_priorities> <shared_objects_file/> <capture_step_performance>N</capture_step_performance> <step_performance_capturing_delay>1000</step_performance_capturing_delay> <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> <dependencies> </dependencies> <partitionschemas> </partitionschemas> <slaveservers> </slaveservers> <clusterschemas> </clusterschemas> <created_user>-</created_user> <created_date>2021/04/15 13:45:34.240</created_date> <modified_user>-</modified_user> <modified_date>2021/04/15 13:45:34.240</modified_date> <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> <is_key_private>N</is_key_private> </info> <notepads> </notepads> <connection> <name>opt-monitoring-11.100.6.163</name> <server>11.100.6.163</server> <type>MYSQL</type> <access>Native</access> <database>casic_optmonitoring</database> <port>3306</port> <username>root</username> <password>Encrypted 2be98afc86aa7f2e48818bd79ddc0ff89</password> <servername/> <data_tablespace/> <index_tablespace/> <attributes> <attribute> <code>EXTRA_OPTION_MYSQL.characterEncoding</code> <attribute>utf8</attribute> </attribute> <attribute> <code>FORCE_IDENTIFIERS_TO_LOWERCASE</code> <attribute>N</attribute> </attribute> <attribute> <code>FORCE_IDENTIFIERS_TO_UPPERCASE</code> <attribute>N</attribute> </attribute> <attribute> <code>IS_CLUSTERED</code> <attribute>N</attribute> </attribute> <attribute> <code>PORT_NUMBER</code> <attribute>3306</attribute> </attribute> <attribute> <code>PRESERVE_RESERVED_WORD_CASE</code> <attribute>Y</attribute> </attribute> <attribute> <code>QUOTE_ALL_FIELDS</code> <attribute>N</attribute> </attribute> <attribute> <code>STREAM_RESULTS</code> <attribute>Y</attribute> </attribute> <attribute> <code>SUPPORTS_BOOLEAN_DATA_TYPE</code> <attribute>Y</attribute> </attribute> <attribute> <code>SUPPORTS_TIMESTAMP_DATA_TYPE</code> <attribute>Y</attribute> </attribute> <attribute> <code>USE_POOLING</code> <attribute>N</attribute> </attribute> </attributes> </connection> <connection> <name>target-palnning_construction-11.100.6.163</name> <server>11.100.6.163</server> <type>MYSQL</type> <access>Native</access> <database>casic_palnning_construction</database> <port>3306</port> <username>root</username> <password>Encrypted 2be98afc86aa7f2e48818bd79ddc0ff89</password> <servername/> <data_tablespace/> <index_tablespace/> <attributes> <attribute> <code>EXTRA_OPTION_MYSQL.characterEncoding</code> <attribute>utf8</attribute> </attribute> <attribute> <code>FORCE_IDENTIFIERS_TO_LOWERCASE</code> <attribute>N</attribute> </attribute> <attribute> <code>FORCE_IDENTIFIERS_TO_UPPERCASE</code> <attribute>N</attribute> </attribute> <attribute> <code>IS_CLUSTERED</code> <attribute>N</attribute> </attribute> <attribute> <code>PORT_NUMBER</code> <attribute>3306</attribute> </attribute> <attribute> <code>PRESERVE_RESERVED_WORD_CASE</code> <attribute>Y</attribute> </attribute> <attribute> <code>QUOTE_ALL_FIELDS</code> <attribute>N</attribute> </attribute> <attribute> <code>STREAM_RESULTS</code> <attribute>Y</attribute> </attribute> <attribute> <code>SUPPORTS_BOOLEAN_DATA_TYPE</code> <attribute>Y</attribute> </attribute> <attribute> <code>SUPPORTS_TIMESTAMP_DATA_TYPE</code> <attribute>Y</attribute> </attribute> <attribute> <code>USE_POOLING</code> <attribute>N</attribute> </attribute> </attributes> </connection> <connection> <name>target-palnning_construction-callcenter</name> <server>casic.callcenter.com</server> <type>MYSQL</type> <access>Native</access> <database>casic_palnning_construction</database> <port>3306</port> <username>root</username> <password>Encrypted 2be98afc86aa7f2e48818bd79ddc0ff89</password> <servername/> <data_tablespace/> <index_tablespace/> <attributes> <attribute> <code>EXTRA_OPTION_MYSQL.characterEncoding</code> <attribute>utf8</attribute> </attribute> <attribute> <code>FORCE_IDENTIFIERS_TO_LOWERCASE</code> <attribute>N</attribute> </attribute> <attribute> <code>FORCE_IDENTIFIERS_TO_UPPERCASE</code> <attribute>N</attribute> </attribute> <attribute> <code>IS_CLUSTERED</code> <attribute>N</attribute> </attribute> <attribute> <code>PORT_NUMBER</code> <attribute>3306</attribute> </attribute> <attribute> <code>PRESERVE_RESERVED_WORD_CASE</code> <attribute>Y</attribute> </attribute> <attribute> <code>QUOTE_ALL_FIELDS</code> <attribute>N</attribute> </attribute> <attribute> <code>STREAM_RESULTS</code> <attribute>Y</attribute> </attribute> <attribute> <code>SUPPORTS_BOOLEAN_DATA_TYPE</code> <attribute>Y</attribute> </attribute> <attribute> <code>SUPPORTS_TIMESTAMP_DATA_TYPE</code> <attribute>Y</attribute> </attribute> <attribute> <code>USE_POOLING</code> <attribute>N</attribute> </attribute> </attributes> </connection> <order> <hop> <from>交换服务调用</from> <to>服务转发判断</to> <enabled>Y</enabled> </hop> <hop> <from>配置参数转换</from> <to>交换服务调用</to> <enabled>Y</enabled> </hop> <hop> <from>读取工地增量配置信息</from> <to>配置参数转换</to> <enabled>Y</enabled> </hop> <hop> <from>人员ID不为空</from> <to>工地人员信息同步更新</to> <enabled>Y</enabled> </hop> <hop> <from>工地人员信息同步更新</from> <to>更新增量时间(偏移1小时)</to> <enabled>Y</enabled> </hop> <hop> <from>服务转发判断</from> <to>工人基本信息映射</to> <enabled>Y</enabled> </hop> <hop> <from>工人基本信息映射</from> <to>人员ID不为空</to> <enabled>Y</enabled> </hop> <hop> <from>考勤ID不为空</from> <to>考勤人员信息同步更新</to> <enabled>Y</enabled> </hop> <hop> <from>工人考勤信息映射</from> <to>考勤ID不为空</to> <enabled>Y</enabled> </hop> <hop> <from>服务转发判断</from> <to>工人考勤信息映射</to> <enabled>Y</enabled> </hop> <hop> <from>工种转换</from> <to>工种ID不能为空</to> <enabled>Y</enabled> </hop> <hop> <from>工种ID不能为空</from> <to>工种同步更新</to> <enabled>Y</enabled> </hop> <hop> <from>工种同步更新</from> <to>工种更新增量时间(偏移1小时) </to> <enabled>Y</enabled> </hop> <hop> <from>服务转发判断</from> <to>工种转换</to> <enabled>Y</enabled> </hop> <hop> <from>考勤人员信息同步更新</from> <to>考勤增量时间(偏移1小时)</to> <enabled>Y</enabled> </hop> </order> <step> <name>交换服务调用</name> <type>Rest</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <applicationType>TEXT PLAIN</applicationType> <method>GET</method> <url>${bigdataHost}${bigdataParams}&param_dsid=1137</url> <urlInField>Y</urlInField> <dynamicMethod>N</dynamicMethod> <methodFieldName/> <urlField>HOST</urlField> <bodyField/> <httpLogin/> <httpPassword>Encrypted </httpPassword> <proxyHost/> <proxyPort/> <preemptive>N</preemptive> <trustStoreFile/> <trustStorePassword>Encrypted </trustStorePassword> <headers> </headers> <parameters> </parameters> <matrixParameters> </matrixParameters> <result> <name>result</name> <code/> <response_time/> <response_header/> </result> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>494</xloc> <yloc>260</yloc> <draw>Y</draw> </GUI> </step> <step> <name>人员ID不为空</name> <type>FilterRows</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <send_true_to>工地人员信息同步更新</send_true_to> <send_false_to/> <compare> <condition> <negated>N</negated> <leftvalue>id</leftvalue> <function>IS NOT NULL</function> <rightvalue/> </condition> </compare> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>528</xloc> <yloc>48</yloc> <draw>Y</draw> </GUI> </step> <step> <name>工人基本信息映射</name> <type>JsonInput</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <include>N</include> <include_field/> <rownum>N</rownum> <addresultfile>N</addresultfile> <readurl>N</readurl> <removeSourceField>N</removeSourceField> <IsIgnoreEmptyFile>N</IsIgnoreEmptyFile> <doNotFailIfNoFile>Y</doNotFailIfNoFile> <ignoreMissingPath>Y</ignoreMissingPath> <defaultPathLeafToNull>Y</defaultPathLeafToNull> <rownum_field/> <file> <name/> <filemask/> <exclude_filemask/> <file_required>N</file_required> <include_subfolders>N</include_subfolders> </file> <fields> <field> <name>id</name> <path>$..ID</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>worker_name</name> <path>$..WORKER_NAME</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>worker_code</name> <path>$..WORKER_CODE</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>head_portrait</name> <path>$..HEAD_PORTRAIT</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>mobile</name> <path>$..MOBILE</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>work_type_id</name> <path>$..WORK_TYPE_ID</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>sex</name> <path>$..SEX</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>age</name> <path>$..AGE</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>birthday</name> <path>$..BIRTHDAY</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>dept_id</name> <path>$..DEPT_ID</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>nation</name> <path>$..NATION</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>nation_place</name> <path>$..NATION_PLACE</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>id_card</name> <path>$..ID_CARD</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>current_address</name> <path>$..CURRENT_ADDRESS</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>status</name> <path>$..STATUS</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>project_id</name> <path>$..PROJECT_ID</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>updatestatus</name> <path>$..UPDATESTATUS</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>updatetime</name> <path>$..UPDATETIME</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>work_type_name</name> <path>$..WORK_TYPE_NAME</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> </fields> <limit>0</limit> <IsInFields>Y</IsInFields> <IsAFile>N</IsAFile> <valueField>result</valueField> <shortFileFieldName/> <pathFieldName/> <hiddenFieldName/> <lastModificationTimeFieldName/> <uriNameFieldName/> <rootUriNameFieldName/> <extensionFieldName/> <sizeFieldName/> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>640</xloc> <yloc>48</yloc> <draw>Y</draw> </GUI> </step> <step> <name>工人考勤信息映射</name> <type>JsonInput</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <include>N</include> <include_field/> <rownum>N</rownum> <addresultfile>N</addresultfile> <readurl>N</readurl> <removeSourceField>N</removeSourceField> <IsIgnoreEmptyFile>N</IsIgnoreEmptyFile> <doNotFailIfNoFile>Y</doNotFailIfNoFile> <ignoreMissingPath>Y</ignoreMissingPath> <defaultPathLeafToNull>Y</defaultPathLeafToNull> <rownum_field/> <file> <name/> <filemask/> <exclude_filemask/> <file_required>N</file_required> <include_subfolders>N</include_subfolders> </file> <fields> <field> <name>id</name> <path>$..ID</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>worker_id</name> <path>$..WORKER_ID</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>attend_date</name> <path>$..ATTEND_DATE</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>attend_state</name> <path>$..ATTEND_STATE</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>updatestatus</name> <path>$..UPDATESTATUS</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>updatetime</name> <path>$..UPDATETIME</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> </fields> <limit>0</limit> <IsInFields>Y</IsInFields> <IsAFile>N</IsAFile> <valueField>result</valueField> <shortFileFieldName/> <pathFieldName/> <hiddenFieldName/> <lastModificationTimeFieldName/> <uriNameFieldName/> <rootUriNameFieldName/> <extensionFieldName/> <sizeFieldName/> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>848</xloc> <yloc>32</yloc> <draw>Y</draw> </GUI> </step> <step> <name>工地人员信息同步更新</name> <type>InsertUpdate</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <connection>target-palnning_construction-11.100.6.163</connection> <commit>100</commit> <update_bypassed>N</update_bypassed> <lookup> <schema>casic_palnning_construction</schema> <table>const_site_worker_info</table> <key> <name>ID</name> <field>ID</field> <condition>=</condition> <name2/> </key> <value> <name>id</name> <rename>id</rename> <update>Y</update> </value> <value> <name>worker_name</name> <rename>worker_name</rename> <update>Y</update> </value> <value> <name>worker_code</name> <rename>worker_code</rename> <update>Y</update> </value> <value> <name>head_portrait</name> <rename>head_portrait</rename> <update>Y</update> </value> <value> <name>mobile</name> <rename>mobile</rename> <update>Y</update> </value> <value> <name>work_type_id</name> <rename>work_type_id</rename> <update>Y</update> </value> <value> <name>sex</name> <rename>sex</rename> <update>Y</update> </value> <value> <name>age</name> <rename>age</rename> <update>Y</update> </value> <value> <name>birthday</name> <rename>birthday</rename> <update>Y</update> </value> <value> <name>dept_id</name> <rename>dept_id</rename> <update>Y</update> </value> <value> <name>nation</name> <rename>nation</rename> <update>Y</update> </value> <value> <name>nation_place</name> <rename>nation_place</rename> <update>Y</update> </value> <value> <name>id_card</name> <rename>id_card</rename> <update>Y</update> </value> <value> <name>current_address</name> <rename>current_address</rename> <update>Y</update> </value> <value> <name>status</name> <rename>status</rename> <update>Y</update> </value> <value> <name>project_id</name> <rename>project_id</rename> <update>Y</update> </value> <value> <name>updatestatus</name> <rename>updatestatus</rename> <update>Y</update> </value> <value> <name>updatetime</name> <rename>updatetime</rename> <update>Y</update> </value> <value> <name>work_type_name</name> <rename>work_type_name</rename> <update>N</update> </value> </lookup> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>400</xloc> <yloc>48</yloc> <draw>Y</draw> </GUI> </step> <step> <name>工种ID不能为空</name> <type>FilterRows</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <send_true_to>房屋人员关系同步更新</send_true_to> <send_false_to/> <compare> <condition> <negated>N</negated> <leftvalue>id</leftvalue> <function>IS NOT NULL</function> <rightvalue/> </condition> </compare> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>1024</xloc> <yloc>160</yloc> <draw>Y</draw> </GUI> </step> <step> <name>工种同步更新</name> <type>InsertUpdate</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <connection>target-palnning_construction-callcenter</connection> <commit>100</commit> <update_bypassed>N</update_bypassed> <lookup> <schema>casic_palnning_construction</schema> <table>const_site_worker_type</table> <key> <name>id</name> <field>id</field> <condition>=</condition> <name2/> </key> <value> <name>worker_type</name> <rename>worker_type</rename> <update>Y</update> </value> <value> <name>updatestatus</name> <rename>updatestatus</rename> <update>Y</update> </value> <value> <name>updatetime</name> <rename>updatetime</rename> <update>Y</update> </value> <value> <name>id</name> <rename>id</rename> <update>Y</update> </value> </lookup> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>1184</xloc> <yloc>160</yloc> <draw>Y</draw> </GUI> </step> <step> <name>工种更新增量时间(偏移1小时) </name> <type>ExecSQL</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <connection>opt-monitoring-11.100.6.163</connection> <execute_each_row>Y</execute_each_row> <single_statement>N</single_statement> <replace_variables>N</replace_variables> <quoteString>N</quoteString> <sql>update kettle_increment_config set REST_PARAMS=DATE_FORMAT(date_sub(now(), interval 1 hour) ,'%Y-%m-%d %H:%i:%s') where code ='?'</sql> <set_params>N</set_params> <insert_field/> <update_field/> <delete_field/> <read_field/> <arguments> <argument> <name>ROUTE_CODE</name> </argument> </arguments> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>1344</xloc> <yloc>160</yloc> <draw>Y</draw> </GUI> </step> <step> <name>工种转换</name> <type>JsonInput</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <include>N</include> <include_field/> <rownum>N</rownum> <addresultfile>N</addresultfile> <readurl>N</readurl> <removeSourceField>N</removeSourceField> <IsIgnoreEmptyFile>N</IsIgnoreEmptyFile> <doNotFailIfNoFile>Y</doNotFailIfNoFile> <ignoreMissingPath>Y</ignoreMissingPath> <defaultPathLeafToNull>Y</defaultPathLeafToNull> <rownum_field/> <file> <name/> <filemask/> <exclude_filemask/> <file_required>N</file_required> <include_subfolders>N</include_subfolders> </file> <fields> <field> <name>worker_type</name> <path>$..WORKER_TYPE</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>updatestatus</name> <path>$..UPDATESTATUS</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>updatetime</name> <path>$..UPDATETIME</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> <field> <name>id</name> <path>$..ID</path> <type>None</type> <format/> <currency/> <decimal/> <group/> <length>-1</length> <precision>-1</precision> <trim_type>none</trim_type> <repeat>N</repeat> </field> </fields> <limit>0</limit> <IsInFields>Y</IsInFields> <IsAFile>N</IsAFile> <valueField>result</valueField> <shortFileFieldName/> <pathFieldName/> <hiddenFieldName/> <lastModificationTimeFieldName/> <uriNameFieldName/> <rootUriNameFieldName/> <extensionFieldName/> <sizeFieldName/> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>912</xloc> <yloc>160</yloc> <draw>Y</draw> </GUI> </step> <step> <name>更新增量时间(偏移1小时)</name> <type>ExecSQL</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <connection>opt-monitoring-11.100.6.163</connection> <execute_each_row>Y</execute_each_row> <single_statement>N</single_statement> <replace_variables>N</replace_variables> <quoteString>N</quoteString> <sql>update kettle_increment_config set REST_PARAMS=DATE_FORMAT(date_sub(now(), interval 1 hour) ,'%Y-%m-%d %H:%i:%s') where code ='?'</sql> <set_params>N</set_params> <insert_field/> <update_field/> <delete_field/> <read_field/> <arguments> <argument> <name>ROUTE_CODE</name> </argument> </arguments> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>288</xloc> <yloc>48</yloc> <draw>Y</draw> </GUI> </step> <step> <name>服务转发判断</name> <type>SwitchCase</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <fieldname>ROUTE_CODE</fieldname> <use_contains>N</use_contains> <case_value_type>None</case_value_type> <case_value_format/> <case_value_decimal/> <case_value_group/> <default_target_step>会员管理转换</default_target_step> <cases> <case> <value>const_site_worker_info</value> <target_step>工人基本信息映射</target_step> </case> <case> <value>const_site_attendance_record</value> <target_step>工人考勤信息映射</target_step> </case> <case> <value>const_site_worker_type</value> <target_step>工种转换</target_step> </case> </cases> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>766</xloc> <yloc>260</yloc> <draw>Y</draw> </GUI> </step> <step> <name>考勤ID不为空</name> <type>FilterRows</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <send_true_to>考勤人员信息同步更新</send_true_to> <send_false_to/> <compare> <condition> <negated>N</negated> <leftvalue>id</leftvalue> <function>IS NOT NULL</function> <rightvalue/> </condition> </compare> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>960</xloc> <yloc>32</yloc> <draw>Y</draw> </GUI> </step> <step> <name>考勤人员信息同步更新</name> <type>InsertUpdate</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <connection>target-palnning_construction-11.100.6.163</connection> <commit>100</commit> <update_bypassed>N</update_bypassed> <lookup> <schema>casic_palnning_construction</schema> <table>const_site_attendance_record</table> <key> <name>ID</name> <field>ID</field> <condition>=</condition> <name2/> </key> <value> <name>id</name> <rename>id</rename> <update>Y</update> </value> <value> <name>worker_id</name> <rename>worker_id</rename> <update>Y</update> </value> <value> <name>attend_date</name> <rename>attend_date</rename> <update>Y</update> </value> <value> <name>attend_state</name> <rename>attend_state</rename> <update>Y</update> </value> <value> <name>updatestatus</name> <rename>updatestatus</rename> <update>Y</update> </value> <value> <name>updatetime</name> <rename>updatetime</rename> <update>Y</update> </value> </lookup> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>1088</xloc> <yloc>32</yloc> <draw>Y</draw> </GUI> </step> <step> <name>考勤增量时间(偏移1小时)</name> <type>ExecSQL</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <connection>opt-monitoring-11.100.6.163</connection> <execute_each_row>Y</execute_each_row> <single_statement>N</single_statement> <replace_variables>N</replace_variables> <quoteString>N</quoteString> <sql>update kettle_increment_config set REST_PARAMS=DATE_FORMAT(date_sub(now(), interval 1 hour) ,'%Y-%m-%d %H:%i:%s') where code ='?'</sql> <set_params>N</set_params> <insert_field/> <update_field/> <delete_field/> <read_field/> <arguments> <argument> <name>ROUTE_CODE</name> </argument> </arguments> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>1344</xloc> <yloc>32</yloc> <draw>Y</draw> </GUI> </step> <step> <name>读取工地增量配置信息</name> <type>TableInput</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <connection>opt-monitoring-11.100.6.163</connection> <sql>SELECT REST_RULE ,IS_ENCODE ,REST_PARAMS ,concat(HOST,DEFAULT_PARAMS) as HOST ,DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') as CURR_INCREMENT_DATE ,code as ROUTE_CODE FROM casic_optmonitoring.kettle_increment_config where code like 'const_site_%' and host !=''</sql> <limit>0</limit> <lookup/> <execute_each_row>N</execute_each_row> <variables_active>N</variables_active> <lazy_conversion_active>N</lazy_conversion_active> <cached_row_meta_active>N</cached_row_meta_active> <row-meta> <value-meta> <type>String</type> <storagetype>normal</storagetype> <name>REST_RULE</name> <length>255</length> <precision>-1</precision> <origin>读取工地增量配置信息</origin> <comments>REST_RULE</comments> <conversion_Mask/> <decimal_symbol>.</decimal_symbol> <grouping_symbol>,</grouping_symbol> <currency_symbol/> <trim_type>none</trim_type> <case_insensitive>N</case_insensitive> <collator_disabled>Y</collator_disabled> <collator_strength>0</collator_strength> <sort_descending>N</sort_descending> <output_padding>N</output_padding> <date_format_lenient>N</date_format_lenient> <date_format_locale>zh_CN</date_format_locale> <date_format_timezone>Asia/Shanghai</date_format_timezone> <lenient_string_to_number>N</lenient_string_to_number> </value-meta> <value-meta> <type>String</type> <storagetype>normal</storagetype> <name>IS_ENCODE</name> <length>1</length> <precision>-1</precision> <origin>读取工地增量配置信息</origin> <comments>IS_ENCODE</comments> <conversion_Mask/> <decimal_symbol>.</decimal_symbol> <grouping_symbol>,</grouping_symbol> <currency_symbol/> <trim_type>none</trim_type> <case_insensitive>N</case_insensitive> <collator_disabled>Y</collator_disabled> <collator_strength>0</collator_strength> <sort_descending>N</sort_descending> <output_padding>N</output_padding> <date_format_lenient>N</date_format_lenient> <date_format_locale>zh_CN</date_format_locale> <date_format_timezone>Asia/Shanghai</date_format_timezone> <lenient_string_to_number>N</lenient_string_to_number> </value-meta> <value-meta> <type>String</type> <storagetype>normal</storagetype> <name>REST_PARAMS</name> <length>255</length> <precision>-1</precision> <origin>读取工地增量配置信息</origin> <comments>REST_PARAMS</comments> <conversion_Mask/> <decimal_symbol>.</decimal_symbol> <grouping_symbol>,</grouping_symbol> <currency_symbol/> <trim_type>none</trim_type> <case_insensitive>N</case_insensitive> <collator_disabled>Y</collator_disabled> <collator_strength>0</collator_strength> <sort_descending>N</sort_descending> <output_padding>N</output_padding> <date_format_lenient>N</date_format_lenient> <date_format_locale>zh_CN</date_format_locale> <date_format_timezone>Asia/Shanghai</date_format_timezone> <lenient_string_to_number>N</lenient_string_to_number> </value-meta> <value-meta> <type>String</type> <storagetype>normal</storagetype> <name>HOST</name> <length>319</length> <precision>-1</precision> <origin>读取工地增量配置信息</origin> <comments>HOST</comments> <conversion_Mask/> <decimal_symbol>.</decimal_symbol> <grouping_symbol>,</grouping_symbol> <currency_symbol/> <trim_type>none</trim_type> <case_insensitive>N</case_insensitive> <collator_disabled>Y</collator_disabled> <collator_strength>0</collator_strength> <sort_descending>N</sort_descending> <output_padding>N</output_padding> <date_format_lenient>N</date_format_lenient> <date_format_locale>zh_CN</date_format_locale> <date_format_timezone>Asia/Shanghai</date_format_timezone> <lenient_string_to_number>N</lenient_string_to_number> </value-meta> <value-meta> <type>String</type> <storagetype>normal</storagetype> <name>CURR_INCREMENT_DATE</name> <length>24</length> <precision>-1</precision> <origin>读取工地增量配置信息</origin> <comments>CURR_INCREMENT_DATE</comments> <conversion_Mask/> <decimal_symbol>.</decimal_symbol> <grouping_symbol>,</grouping_symbol> <currency_symbol/> <trim_type>none</trim_type> <case_insensitive>N</case_insensitive> <collator_disabled>Y</collator_disabled> <collator_strength>0</collator_strength> <sort_descending>N</sort_descending> <output_padding>N</output_padding> <date_format_lenient>N</date_format_lenient> <date_format_locale>zh_CN</date_format_locale> <date_format_timezone>Asia/Shanghai</date_format_timezone> <lenient_string_to_number>N</lenient_string_to_number> </value-meta> <value-meta> <type>String</type> <storagetype>normal</storagetype> <name>ROUTE_CODE</name> <length>32</length> <precision>-1</precision> <origin>读取工地增量配置信息</origin> <comments>ROUTE_CODE</comments> <conversion_Mask/> <decimal_symbol>.</decimal_symbol> <grouping_symbol>,</grouping_symbol> <currency_symbol/> <trim_type>none</trim_type> <case_insensitive>N</case_insensitive> <collator_disabled>Y</collator_disabled> <collator_strength>0</collator_strength> <sort_descending>N</sort_descending> <output_padding>N</output_padding> <date_format_lenient>N</date_format_lenient> <date_format_locale>zh_CN</date_format_locale> <date_format_timezone>Asia/Shanghai</date_format_timezone> <lenient_string_to_number>N</lenient_string_to_number> </value-meta> </row-meta> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>286</xloc> <yloc>260</yloc> <draw>Y</draw> </GUI> </step> <step> <name>配置参数转换</name> <type>UserDefinedJavaClass</type> <description/> <distribute>Y</distribute> <custom_distribution/> <copies>1</copies> <partitioning> <method>none</method> <schema_name/> </partitioning> <definitions> <definition> <class_type>TRANSFORM_CLASS</class_type> <class_name>Processor</class_name> <class_source>// 生成的代码片段 public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws Exception { if (first) { first = false; } Object[] r = getRow(); if (r == null) { setOutputDone(); return false; } r = createOutputRow(r, data.outputRowMeta.size()); //读取参数 String condition= get(Fields.In, "REST_RULE").getString(r); String host= get(Fields.In, "HOST").getString(r); String value= get(Fields.In, "REST_PARAMS").getString(r); String isEncode = get(Fields.In, "IS_ENCODE").getString(r); String outcondition =host; //是否需要动态设置参数 if(org.apache.commons.lang3.StringUtils.isNotEmpty(condition)){ Object[] params = value.split(","); if("1".equals(isEncode)){ outcondition=host+"&"+java.net.URLEncoder.encode(String.format(condition,params),"UTF-8"); }else{ outcondition=host+"&"+String.format(condition,params); } } get(Fields.Out,"HOST").setValue(r,outcondition); putRow(data.outputRowMeta, r); return true; } </class_source> </definition> </definitions> <fields> </fields> <clear_result_fields>N</clear_result_fields> <info_steps/> <target_steps/> <usage_parameters/> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc>398</xloc> <yloc>260</yloc> <draw>Y</draw> </GUI> </step> <step_error_handling> </step_error_handling> <slave-step-copy-partition-distribution> </slave-step-copy-partition-distribution> <slave_transformation>N</slave_transformation> <attributes/> </transformation>