123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422 |
- <?xml version="1.0" encoding="UTF-8"?>
- <transformation>
- <info>
- <name>委外到货单主表数据同步</name>
- <description/>
- <extended_description/>
- <trans_version/>
- <trans_type>Normal</trans_type>
- <trans_status>0</trans_status>
- <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>2024/01/09 15:07:19.021</created_date>
- <modified_user>-</modified_user>
- <modified_date>2024/01/09 15:07:19.021</modified_date>
- <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
- <is_key_private>N</is_key_private>
- </info>
- <notepads>
- </notepads>
- <connection>
- <name>MOM</name>
- <server>${mysql_host}</server>
- <type>MYSQL</type>
- <access>Native</access>
- <database>${mysql_dbname}</database>
- <port>3306</port>
- <username>${mysql_username}</username>
- <password>${mysql_password}</password>
- <servername/>
- <data_tablespace/>
- <index_tablespace/>
- <attributes>
- <attribute>
- <code>EXTRA_OPTION_MYSQL.characterEncoding</code>
- <attribute>utf-8</attribute>
- </attribute>
- <attribute>
- <code>EXTRA_OPTION_MYSQL.defaultFetchSize</code>
- <attribute>5000</attribute>
- </attribute>
- <attribute>
- <code>EXTRA_OPTION_MYSQL.rewriteBatchedStatements</code>
- <attribute>true</attribute>
- </attribute>
- <attribute>
- <code>EXTRA_OPTION_MYSQL.useCompression</code>
- <attribute>true</attribute>
- </attribute>
- <attribute>
- <code>EXTRA_OPTION_MYSQL.useCursorFetch</code>
- <attribute>true</attribute>
- </attribute>
- <attribute>
- <code>EXTRA_OPTION_MYSQL.useServerPrepStmts</code>
- <attribute>true</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>N</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>U8</name>
- <server>${U8DB_HOST}</server>
- <type>GENERIC</type>
- <access>Native</access>
- <database>${U8DB_NAME}</database>
- <port>1433</port>
- <username>${sqlserver_username}</username>
- <password>${sqlserver_password}</password>
- <servername/>
- <data_tablespace/>
- <index_tablespace/>
- <attributes>
- <attribute>
- <code>CUSTOM_DRIVER_CLASS</code>
- <attribute>${sqlserver_driverclassname}</attribute>
- </attribute>
- <attribute>
- <code>CUSTOM_URL</code>
- <attribute>${sqlserver_url}</attribute>
- </attribute>
- <attribute>
- <code>DATABASE_DIALECT_ID</code>
- <attribute>Generic database</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>1433</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>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>Java 代码-id</from>
- <to>插入 / 更新</to>
- <enabled>Y</enabled>
- </hop>
- <hop>
- <from>表输入</from>
- <to>Java 代码-id</to>
- <enabled>Y</enabled>
- </hop>
- <hop>
- <from>获取变量</from>
- <to>表输入</to>
- <enabled>Y</enabled>
- </hop>
- </order>
- <step>
- <name>Java 代码-id</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 KettleException {
- Object[] r = getRow();
- if (r == null) {
- setOutputDone();
- return false;
- }
- r = createOutputRow(r, data.outputRowMeta.size());
- if (snowflakeIdWorker == null) {
- snowflakeIdWorker = new SnowflakeIdWorker(1, 1); // 设置你的workerId和datacenterId
- }
- String id = String.valueOf(snowflakeIdWorker.nextId());
- get(Fields.Out, "id").setValue(r, id);
- putRow(data.outputRowMeta, r);
- return true;
- }
- // 定义全局变量(放在类顶部)
- private static SnowflakeIdWorker snowflakeIdWorker = null;
- // 内部类:雪花算法实现
- public static class SnowflakeIdWorker {
- private final long twepoch = 1288834974657L;
- private final long workerIdBits = 5L;
- private final long datacenterIdBits = 5L;
- private final long maxWorkerId = -1L ^ (-1L << workerIdBits);
- private final long maxDatacenterId = -1L ^ (-1L << datacenterIdBits);
- private final long sequenceBits = 12L;
- private final long workerIdShift = sequenceBits;
- private final long datacenterIdShift = sequenceBits + workerIdBits;
- private final long timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits;
- private final long sequenceMask = -1L ^ (-1L << sequenceBits);
- private long workerId;
- private long datacenterId;
- private long sequence = 0L;
- private long lastTimestamp = -1L;
- public SnowflakeIdWorker(long workerId, long datacenterId) {
- if (workerId > maxWorkerId || workerId < 0) {
- throw new IllegalArgumentException(String.format("worker Id can't be greater than %d or less than 0", maxWorkerId));
- }
- if (datacenterId > maxDatacenterId || datacenterId < 0) {
- throw new IllegalArgumentException(String.format("datacenter Id can't be greater than %d or less than 0", maxDatacenterId));
- }
- this.workerId = workerId;
- this.datacenterId = datacenterId;
- }
- public synchronized long nextId() {
- long timestamp = timeGen();
- if (timestamp < lastTimestamp) {
- throw new RuntimeException("Clock moved backwards. Refusing to generate id for " + (lastTimestamp - timestamp) + " milliseconds");
- }
- if (lastTimestamp == timestamp) {
- sequence = (sequence + 1) & sequenceMask;
- if (sequence == 0) {
- timestamp = tilNextMillis(lastTimestamp);
- }
- } else {
- sequence = 0L;
- }
- lastTimestamp = timestamp;
- return ((timestamp - twepoch) << timestampLeftShift)
- | (datacenterId << datacenterIdShift)
- | (workerId << workerIdShift)
- | sequence;
- }
- private long tilNextMillis(long lastTimestamp) {
- long timestamp = timeGen();
- while (timestamp <= lastTimestamp) {
- timestamp = timeGen();
- }
- return timestamp;
- }
- private long timeGen() {
- return System.currentTimeMillis();
- }
- }</class_source>
- </definition>
- </definitions>
- <fields>
- <field>
- <field_name>id</field_name>
- <field_type>String</field_type>
- <field_length>-1</field_length>
- <field_precision>-1</field_precision>
- </field>
- </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>304</xloc>
- <yloc>96</yloc>
- <draw>Y</draw>
- </GUI>
- </step>
- <step>
- <name>复制记录到结果</name>
- <type>RowsToResult</type>
- <description/>
- <distribute>Y</distribute>
- <custom_distribution/>
- <copies>1</copies>
- <partitioning>
- <method>none</method>
- <schema_name/>
- </partitioning>
- <attributes/>
- <cluster_schema/>
- <remotesteps>
- <input>
- </input>
- <output>
- </output>
- </remotesteps>
- <GUI>
- <xloc>608</xloc>
- <yloc>96</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>MOM</connection>
- <commit>1000</commit>
- <update_bypassed>Y</update_bypassed>
- <lookup>
- <schema/>
- <table>wms_task_in</table>
- <key>
- <name>interface_id</name>
- <field>interface_id</field>
- <condition>=</condition>
- <name2/>
- </key>
- <key>
- <name>bill_type</name>
- <field>bill_type_code</field>
- <condition>=</condition>
- <name2/>
- </key>
- <value>
- <name>interface_id</name>
- <rename>interface_id</rename>
- <update>N</update>
- </value>
- <value>
- <name>interface_code</name>
- <rename>interface_code</rename>
- <update>N</update>
- </value>
- <value>
- <name>id</name>
- <rename>id</rename>
- <update>N</update>
- </value>
- <value>
- <name>bill_type_code</name>
- <rename>bill_type</rename>
- <update>N</update>
- </value>
- <value>
- <name>task_type</name>
- <rename>task_type</rename>
- <update>N</update>
- </value>
- <value>
- <name>task_date</name>
- <rename>task_date</rename>
- <update>N</update>
- </value>
- <value>
- <name>task_code</name>
- <rename>task_code</rename>
- <update>N</update>
- </value>
- <value>
- <name>dept_code</name>
- <rename>dept_code</rename>
- <update>N</update>
- </value>
- <value>
- <name>employee_code</name>
- <rename>employee_code</rename>
- <update>N</update>
- </value>
- <value>
- <name>supplier_code</name>
- <rename>supplier_code</rename>
- <update>N</update>
- </value>
- <value>
- <name>create_id</name>
- <rename>sync_id</rename>
- <update>N</update>
- </value>
- <value>
- <name>create_by</name>
- <rename>sync_name</rename>
- <update>N</update>
- </value>
- <value>
- <name>create_time</name>
- <rename>sync_time</rename>
- <update>N</update>
- </value>
- </lookup>
- <attributes/>
- <cluster_schema/>
- <remotesteps>
- <input>
- </input>
- <output>
- </output>
- </remotesteps>
- <GUI>
- <xloc>448</xloc>
- <yloc>96</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>U8</connection>
- <sql>DECLARE @USER_NAME VARCHAR(50),@USER_ID INT,@BEGIN_DATE DATE,@END_DATE DATE,@DEPT_CODE VARCHAR(50)
- SET @USER_NAME = CASE '${USER_NAME}' WHEN '' THEN '管理员(kettle)' ELSE '${USER_NAME}' END
- SET @USER_ID = CASE 0${USER_ID} WHEN 0 THEN 1 ELSE 0${USER_ID} END
- SET @BEGIN_DATE = CASE '${BEGIN_DATE}' WHEN '' THEN CONVERT(VARCHAR(100), GETDATE(), 23) ELSE '${BEGIN_DATE}' END
- SET @END_DATE = CASE '${BEGIN_DATE}' WHEN '' THEN CONVERT(VARCHAR(100), DATEADD(DAY, 1, GETDATE()), 23) ELSE '${END_DATE}' END
- SET @DEPT_CODE = '${DEPT_CODE}'
- SELECT
- T1.ID AS interface_id
- ,T1.cCode AS interface_code
- ,1 AS task_type --1入库、-1入库退、-1出库、1出库退
- ,3 AS bill_type --1生产订单、2委外订单、3委外到货单、4采购订单、5采购到货单、6销售订单、7销售发货单
- ,'IT3-'+T1.cCode AS task_code
- ,CONVERT(DATE,T1.dDate) AS task_date
- ,T1.cDepCode AS dept_code
- ,T1.cPersonCode AS employee_code
- ,T1.cVenCode AS supplier_code
- ,@USER_NAME AS sync_name
- ,@USER_ID AS sync_id
- ,GETDATE() AS sync_time
- FROM PU_ArrivalVouch T1
- WHERE 1=1
- AND T1.iBillType =0 --1退货、0到货
- AND T1.cBusType ='委外加工'
- AND ISNULL(T1.cverifier,'') <>''
- AND EXISTS(SELECT 1 FROM PU_ArrivalVouchs T WHERE ID =T1.ID AND ISNULL(fValidInQuan,0) =0)
- AND CONVERT(DATE,T1.dDate) BETWEEN @BEGIN_DATE AND @END_DATE
- AND ((@DEPT_CODE ='' AND 1=1)OR(@DEPT_CODE ='${DEPT_CODE}' AND 1=1)OR(@DEPT_CODE<>'' AND @DEPT_CODE =ISNULL(T1.cDepCode,'')))
- </sql>
- <limit>0</limit>
- <lookup/>
- <execute_each_row>N</execute_each_row>
- <variables_active>Y</variables_active>
- <lazy_conversion_active>N</lazy_conversion_active>
- <cached_row_meta_active>N</cached_row_meta_active>
- <row-meta>
- <value-meta>
- <type>Integer</type>
- <storagetype>normal</storagetype>
- <name>interface_id</name>
- <length>9</length>
- <precision>0</precision>
- <origin>表输入</origin>
- <comments>interface_id</comments>
- <conversion_Mask>####0;-####0</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>interface_code</name>
- <length>30</length>
- <precision>-1</precision>
- <origin>表输入</origin>
- <comments>interface_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>
- <value-meta>
- <type>Integer</type>
- <storagetype>normal</storagetype>
- <name>task_type</name>
- <length>9</length>
- <precision>0</precision>
- <origin>表输入</origin>
- <comments>task_type</comments>
- <conversion_Mask>####0;-####0</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>Integer</type>
- <storagetype>normal</storagetype>
- <name>bill_type</name>
- <length>9</length>
- <precision>0</precision>
- <origin>表输入</origin>
- <comments>bill_type</comments>
- <conversion_Mask>####0;-####0</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>task_code</name>
- <length>34</length>
- <precision>-1</precision>
- <origin>表输入</origin>
- <comments>task_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>
- <value-meta>
- <type>String</type>
- <storagetype>normal</storagetype>
- <name>task_date</name>
- <length>10</length>
- <precision>-1</precision>
- <origin>表输入</origin>
- <comments>task_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>dept_code</name>
- <length>12</length>
- <precision>-1</precision>
- <origin>表输入</origin>
- <comments>dept_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>
- <value-meta>
- <type>String</type>
- <storagetype>normal</storagetype>
- <name>employee_code</name>
- <length>20</length>
- <precision>-1</precision>
- <origin>表输入</origin>
- <comments>employee_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>
- <value-meta>
- <type>String</type>
- <storagetype>normal</storagetype>
- <name>supplier_code</name>
- <length>20</length>
- <precision>-1</precision>
- <origin>表输入</origin>
- <comments>supplier_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>
- <value-meta>
- <type>String</type>
- <storagetype>normal</storagetype>
- <name>sync_name</name>
- <length>50</length>
- <precision>-1</precision>
- <origin>表输入</origin>
- <comments>sync_name</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>Integer</type>
- <storagetype>normal</storagetype>
- <name>sync_id</name>
- <length>9</length>
- <precision>0</precision>
- <origin>表输入</origin>
- <comments>sync_id</comments>
- <conversion_Mask>####0;-####0</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>Timestamp</type>
- <storagetype>normal</storagetype>
- <name>sync_time</name>
- <length>3</length>
- <precision>-1</precision>
- <origin>表输入</origin>
- <comments>sync_time</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>144</xloc>
- <yloc>96</yloc>
- <draw>Y</draw>
- </GUI>
- </step>
- <step>
- <name>获取变量</name>
- <type>GetVariable</type>
- <description/>
- <distribute>Y</distribute>
- <custom_distribution/>
- <copies>1</copies>
- <partitioning>
- <method>none</method>
- <schema_name/>
- </partitioning>
- <fields>
- <field>
- <name>mysql_driverclassname</name>
- <variable>${mysql_driverclassname}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>mysql_password</name>
- <variable>${mysql_password}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>mysql_url</name>
- <variable>${mysql_url}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>mysql_username</name>
- <variable>${mysql_username}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>USER_ID</name>
- <variable>${USER_ID}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>sqlserver_driverclassname</name>
- <variable>${sqlserver_driverclassname}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>sqlserver_password</name>
- <variable>${sqlserver_password}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>sqlserver_url</name>
- <variable>${sqlserver_url}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>sqlserver_username</name>
- <variable>${sqlserver_username}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>USER_NAME</name>
- <variable>${USER_NAME}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>BEGIN_DATE</name>
- <variable>${BEGIN_DATE}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>END_DATE</name>
- <variable>${END_DATE}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>DEPT_CODE</name>
- <variable>${DEPT_CODE}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>mysql_host</name>
- <variable>${mysql_host}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- <field>
- <name>mysql_dbname</name>
- <variable>${mysql_dbname}</variable>
- <type>String</type>
- <format/>
- <currency/>
- <decimal/>
- <group/>
- <length>-1</length>
- <precision>-1</precision>
- <trim_type>none</trim_type>
- </field>
- </fields>
- <attributes/>
- <cluster_schema/>
- <remotesteps>
- <input>
- </input>
- <output>
- </output>
- </remotesteps>
- <GUI>
- <xloc>96</xloc>
- <yloc>528</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>
|