Commit 1ad45fdde4a35b5eeba192b09b37d02889321717
Merge branch 'minhang' into qingpu
Showing
60 changed files
with
5765 additions
and
2795 deletions
hs_err_pid6460.log deleted
100644 → 0
| 1 | -# | |
| 2 | -# A fatal error has been detected by the Java Runtime Environment: | |
| 3 | -# | |
| 4 | -# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000535b9f79, pid=6460, tid=4048 | |
| 5 | -# | |
| 6 | -# JRE version: Java(TM) SE Runtime Environment (7.0_80-b15) (build 1.7.0_80-b15) | |
| 7 | -# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.80-b11 mixed mode windows-amd64 compressed oops) | |
| 8 | -# Problematic frame: | |
| 9 | -# V [jvm.dll+0x199f79] | |
| 10 | -# | |
| 11 | -# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows | |
| 12 | -# | |
| 13 | -# If you would like to submit a bug report, please visit: | |
| 14 | -# http://bugreport.java.com/bugreport/crash.jsp | |
| 15 | -# | |
| 16 | - | |
| 17 | ---------------- T H R E A D --------------- | |
| 18 | - | |
| 19 | -Current thread (0x000000000e39e800): JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=4048, stack(0x000000000e960000,0x000000000ea60000)] | |
| 20 | - | |
| 21 | -siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000000 | |
| 22 | - | |
| 23 | -Registers: | |
| 24 | -RAX=0x0000000000000000, RBX=0x000000000e3930e8, RCX=0x0000000000000000, RDX=0x0000000000000000 | |
| 25 | -RSP=0x000000000ea5f250, RBP=0x000000000ea5f2b9, RSI=0x0000000000000000, RDI=0x000000000e3930f0 | |
| 26 | -R8 =0x0000000762fe21a8, R9 =0x0000000054bb0000, R10=0x0000000000000000, R11=0x0000000000000000 | |
| 27 | -R12=0x000000000e39e800, R13=0x000000000ea5f730, R14=0x000000000e39e800, R15=0x000000000ea5f730 | |
| 28 | -RIP=0x00000000535b9f79, EFLAGS=0x0000000000010246 | |
| 29 | - | |
| 30 | -Top of Stack: (sp=0x000000000ea5f250) | |
| 31 | -0x000000000ea5f250: 000000000e3930e8 000000000ea5f2b9 | |
| 32 | -0x000000000ea5f260: 0000000000000000 0000000000000001 | |
| 33 | -0x000000000ea5f270: 0000000000000008 000000000e39e800 | |
| 34 | -0x000000000ea5f280: 0000000000000000 0000000054c18d17 | |
| 35 | -0x000000000ea5f290: 0000000000000002 000000000e39e800 | |
| 36 | -0x000000000ea5f2a0: 0000000000000008 00000000128b0c20 | |
| 37 | -0x000000000ea5f2b0: 0000000000000000 00000000535f8b35 | |
| 38 | -0x000000000ea5f2c0: 0000000000000000 0000000000000000 | |
| 39 | -0x000000000ea5f2d0: 00000000128628f0 000000000ea5f730 | |
| 40 | -0x000000000ea5f2e0: 000000000ea5f730 000000000e39e800 | |
| 41 | -0x000000000ea5f2f0: 000000000c3aef00 000000000e392870 | |
| 42 | -0x000000000ea5f300: 0000000000000000 000000000e3a7de0 | |
| 43 | -0x000000000ea5f310: 000000000ea5f3c9 00000000535ba905 | |
| 44 | -0x000000000ea5f320: 000000000000068c 0000000000000000 | |
| 45 | -0x000000000ea5f330: 000000000e3930b0 000000000e39e800 | |
| 46 | -0x000000000ea5f340: 0000000000000000 0000000000000000 | |
| 47 | - | |
| 48 | -Instructions: (pc=0x00000000535b9f79) | |
| 49 | -0x00000000535b9f59: 85 c0 75 05 48 8b c6 eb 10 49 8b 8c 24 20 01 00 | |
| 50 | -0x00000000535b9f69: 00 48 8b d0 e8 ee ad e6 ff 48 89 45 c7 4c 8b 03 | |
| 51 | -0x00000000535b9f79: 48 8b 08 41 8b 50 3c 85 d2 75 09 41 8b 40 34 89 | |
| 52 | -0x00000000535b9f89: 41 3c eb 03 89 51 3c 4d 8b a4 24 18 01 00 00 33 | |
| 53 | - | |
| 54 | - | |
| 55 | -Register to memory mapping: | |
| 56 | - | |
| 57 | -RAX=0x0000000000000000 is an unknown value | |
| 58 | -RBX=0x000000000e3930e8 is an unknown value | |
| 59 | -RCX=0x0000000000000000 is an unknown value | |
| 60 | -RDX=0x0000000000000000 is an unknown value | |
| 61 | -RSP=0x000000000ea5f250 is pointing into the stack for thread: 0x000000000e39e800 | |
| 62 | -RBP=0x000000000ea5f2b9 is pointing into the stack for thread: 0x000000000e39e800 | |
| 63 | -RSI=0x0000000000000000 is an unknown value | |
| 64 | -RDI=0x000000000e3930f0 is an unknown value | |
| 65 | -R8 =0x0000000762fe21a8 is an oop | |
| 66 | - | |
| 67 | -[error occurred during error reporting (printing register info), id 0xe0000000] | |
| 68 | - | |
| 69 | -Stack: [0x000000000e960000,0x000000000ea60000], sp=0x000000000ea5f250, free space=1020k | |
| 70 | -Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) | |
| 71 | -V [jvm.dll+0x199f79] | |
| 72 | - | |
| 73 | - | |
| 74 | ---------------- P R O C E S S --------------- | |
| 75 | - | |
| 76 | -Java Threads: ( => current thread ) | |
| 77 | - 0x00000000115c3000 JavaThread "WebSocket background processing" daemon [_thread_blocked, id=6088, stack(0x00000000195c0000,0x00000000196c0000)] | |
| 78 | - 0x00000000115bb800 JavaThread "SockJS-8" [_thread_blocked, id=12788, stack(0x00000000194c0000,0x00000000195c0000)] | |
| 79 | - 0x00000000115c2000 JavaThread "SockJS-7" [_thread_blocked, id=9020, stack(0x00000000193c0000,0x00000000194c0000)] | |
| 80 | - 0x00000000115c0000 JavaThread "SockJS-6" [_thread_blocked, id=1068, stack(0x00000000192c0000,0x00000000193c0000)] | |
| 81 | - 0x00000000115bf000 JavaThread "SockJS-5" [_thread_blocked, id=6768, stack(0x00000000191c0000,0x00000000192c0000)] | |
| 82 | - 0x00000000115bd000 JavaThread "SockJS-4" [_thread_blocked, id=12372, stack(0x00000000190c0000,0x00000000191c0000)] | |
| 83 | - 0x00000000115be800 JavaThread "SockJS-3" [_thread_blocked, id=13176, stack(0x0000000018ec0000,0x0000000018fc0000)] | |
| 84 | - 0x00000000115c0800 JavaThread "WebSocketServer-localhost-ROOT-1" daemon [_thread_blocked, id=5664, stack(0x0000000018dc0000,0x0000000018ec0000)] | |
| 85 | - 0x00000000115bd800 JavaThread "SockJS-2" [_thread_blocked, id=12388, stack(0x0000000018cc0000,0x0000000018dc0000)] | |
| 86 | - 0x00000000115ba800 JavaThread "SockJS-1" [_thread_blocked, id=12812, stack(0x0000000018bc0000,0x0000000018cc0000)] | |
| 87 | - 0x00000000115c1800 JavaThread "pool-4-thread-2" [_thread_blocked, id=8172, stack(0x00000000189c0000,0x0000000018ac0000)] | |
| 88 | - 0x0000000010d23000 JavaThread "pool-4-thread-1" [_thread_blocked, id=8228, stack(0x00000000188c0000,0x00000000189c0000)] | |
| 89 | - 0x0000000010d20000 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon [_thread_blocked, id=7532, stack(0x00000000187c0000,0x00000000188c0000)] | |
| 90 | - 0x0000000010d1b800 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon [_thread_blocked, id=6200, stack(0x00000000186c0000,0x00000000187c0000)] | |
| 91 | - 0x0000000010d1e800 JavaThread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon [_thread_blocked, id=7872, stack(0x00000000185c0000,0x00000000186c0000)] | |
| 92 | - 0x0000000010d1d000 JavaThread "Timer-2" daemon [_thread_blocked, id=10996, stack(0x00000000184c0000,0x00000000185c0000)] | |
| 93 | - 0x0000000010d1e000 JavaThread "http-nio-9088-exec-10" daemon [_thread_blocked, id=13928, stack(0x00000000183c0000,0x00000000184c0000)] | |
| 94 | - 0x0000000010d21000 JavaThread "http-nio-9088-exec-9" daemon [_thread_blocked, id=9656, stack(0x00000000182c0000,0x00000000183c0000)] | |
| 95 | - 0x0000000010d21800 JavaThread "http-nio-9088-exec-8" daemon [_thread_blocked, id=13800, stack(0x00000000181c0000,0x00000000182c0000)] | |
| 96 | - 0x0000000010d1f800 JavaThread "http-nio-9088-exec-7" daemon [_thread_blocked, id=12916, stack(0x00000000180c0000,0x00000000181c0000)] | |
| 97 | - 0x0000000010d1c800 JavaThread "http-nio-9088-exec-6" daemon [_thread_blocked, id=13056, stack(0x0000000017fc0000,0x00000000180c0000)] | |
| 98 | - 0x0000000010d22800 JavaThread "http-nio-9088-exec-5" daemon [_thread_blocked, id=13128, stack(0x0000000017ec0000,0x0000000017fc0000)] | |
| 99 | - 0x0000000010d14000 JavaThread "http-nio-9088-exec-4" daemon [_thread_blocked, id=2376, stack(0x0000000017dc0000,0x0000000017ec0000)] | |
| 100 | - 0x0000000010d18000 JavaThread "http-nio-9088-exec-3" daemon [_thread_blocked, id=2028, stack(0x0000000017cc0000,0x0000000017dc0000)] | |
| 101 | - 0x0000000010d1a000 JavaThread "http-nio-9088-exec-2" daemon [_thread_blocked, id=13288, stack(0x0000000017bc0000,0x0000000017cc0000)] | |
| 102 | - 0x0000000010d18800 JavaThread "http-nio-9088-exec-1" daemon [_thread_blocked, id=13336, stack(0x0000000017ac0000,0x0000000017bc0000)] | |
| 103 | - 0x0000000010d17000 JavaThread "DestroyJavaVM" [_thread_blocked, id=13188, stack(0x0000000002810000,0x0000000002910000)] | |
| 104 | - 0x0000000010d15800 JavaThread "pool-3-thread-8" [_thread_blocked, id=10168, stack(0x00000000177c0000,0x00000000178c0000)] | |
| 105 | - 0x0000000010d15000 JavaThread "pool-3-thread-7" [_thread_blocked, id=13976, stack(0x00000000176c0000,0x00000000177c0000)] | |
| 106 | - 0x0000000010d16800 JavaThread "pool-3-thread-6" [_thread_blocked, id=6360, stack(0x00000000175c0000,0x00000000176c0000)] | |
| 107 | - 0x0000000010d1b000 JavaThread "pool-3-thread-5" [_thread_blocked, id=12004, stack(0x00000000174c0000,0x00000000175c0000)] | |
| 108 | - 0x0000000010d19800 JavaThread "pool-3-thread-4" [_thread_blocked, id=2952, stack(0x00000000173c0000,0x00000000174c0000)] | |
| 109 | - 0x000000000fe6b000 JavaThread "pool-3-thread-3" [_thread_blocked, id=12564, stack(0x00000000171c0000,0x00000000172c0000)] | |
| 110 | - 0x000000000fe6c800 JavaThread "pool-3-thread-2" [_thread_blocked, id=13104, stack(0x00000000170c0000,0x00000000171c0000)] | |
| 111 | - 0x000000000fe6b800 JavaThread "pool-3-thread-1" [_thread_blocked, id=11560, stack(0x0000000016fc0000,0x00000000170c0000)] | |
| 112 | - 0x000000000fe6e000 JavaThread "http-nio-9088-Acceptor-0" daemon [_thread_in_native, id=9136, stack(0x0000000015d50000,0x0000000015e50000)] | |
| 113 | - 0x0000000014c5a000 JavaThread "http-nio-9088-ClientPoller-1" daemon [_thread_in_native, id=7852, stack(0x0000000015c50000,0x0000000015d50000)] | |
| 114 | - 0x0000000013dc0000 JavaThread "http-nio-9088-ClientPoller-0" daemon [_thread_in_native, id=12424, stack(0x0000000015b50000,0x0000000015c50000)] | |
| 115 | - 0x0000000013dbf000 JavaThread "NioBlockingSelector.BlockPoller-1" daemon [_thread_in_native, id=13700, stack(0x0000000015a50000,0x0000000015b50000)] | |
| 116 | - 0x00000000120f5000 JavaThread "commons-pool-EvictionTimer" daemon [_thread_blocked, id=11380, stack(0x0000000015950000,0x0000000015a50000)] | |
| 117 | - 0x00000000104e5800 JavaThread "Timer-0" daemon [_thread_blocked, id=12924, stack(0x0000000015650000,0x0000000015750000)] | |
| 118 | - 0x0000000010084800 JavaThread "container-0" [_thread_blocked, id=9884, stack(0x00000000144f0000,0x00000000145f0000)] | |
| 119 | - 0x00000000135e3000 JavaThread "ContainerBackgroundProcessor[StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]" daemon [_thread_blocked, id=8248, stack(0x0000000013110000,0x0000000013210000)] | |
| 120 | - 0x0000000014ac9800 JavaThread "Abandoned connection cleanup thread" daemon [_thread_blocked, id=5796, stack(0x0000000013010000,0x0000000013110000)] | |
| 121 | - 0x000000001199d800 JavaThread "Tomcat JDBC Pool Cleaner[169174794:1470299944387]" daemon [_thread_blocked, id=2196, stack(0x0000000012f10000,0x0000000013010000)] | |
| 122 | - 0x000000000f1ee800 JavaThread "FileSystemWatcher: files=#243 cl=sun.misc.Launcher$AppClassLoader@a15670a" daemon [_thread_blocked, id=13032, stack(0x00000000109f0000,0x0000000010af0000)] | |
| 123 | - 0x000000000eec2000 JavaThread "Service Thread" daemon [_thread_blocked, id=11684, stack(0x000000000f710000,0x000000000f810000)] | |
| 124 | - 0x000000000eeca800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=13412, stack(0x000000000f610000,0x000000000f710000)] | |
| 125 | - 0x000000000eec9800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=5552, stack(0x000000000f510000,0x000000000f610000)] | |
| 126 | - 0x000000000e3ad000 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=8012, stack(0x000000000ec10000,0x000000000ed10000)] | |
| 127 | - 0x000000000e3ac000 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=6576, stack(0x000000000eb10000,0x000000000ec10000)] | |
| 128 | -=>0x000000000e39e800 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=4048, stack(0x000000000e960000,0x000000000ea60000)] | |
| 129 | - 0x000000000e396800 JavaThread "Attach Listener" daemon [_thread_blocked, id=6340, stack(0x000000000e860000,0x000000000e960000)] | |
| 130 | - 0x000000000e391800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4020, stack(0x000000000e760000,0x000000000e860000)] | |
| 131 | - 0x000000000c399000 JavaThread "Finalizer" daemon [_thread_blocked, id=10992, stack(0x000000000e260000,0x000000000e360000)] | |
| 132 | - 0x00000000029fe800 JavaThread "Reference Handler" daemon [_thread_blocked, id=9164, stack(0x000000000e160000,0x000000000e260000)] | |
| 133 | - | |
| 134 | -Other Threads: | |
| 135 | - 0x000000000c395000 VMThread [stack: 0x000000000e060000,0x000000000e160000] [id=2068] | |
| 136 | - 0x000000000eed9800 WatcherThread [stack: 0x000000000f810000,0x000000000f910000] [id=3876] | |
| 137 | - | |
| 138 | -VM state:not at safepoint (normal execution) | |
| 139 | - | |
| 140 | -VM Mutex/Monitor currently owned by a thread: None | |
| 141 | - | |
| 142 | -Heap | |
| 143 | - PSYoungGen total 765440K, used 370K [0x00000007cba80000, 0x00000007ff180000, 0x0000000800000000) | |
| 144 | - eden space 687104K, 0% used [0x00000007cba80000,0x00000007cbadc9c0,0x00000007f5980000) | |
| 145 | - from space 78336K, 0% used [0x00000007f5980000,0x00000007f5980000,0x00000007fa600000) | |
| 146 | - to space 74752K, 0% used [0x00000007fa880000,0x00000007fa880000,0x00000007ff180000) | |
| 147 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 148 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494d00,0x00000007cba80000) | |
| 149 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 150 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 151 | - | |
| 152 | -Card table byte_map: [0x0000000005b10000,0x0000000006030000] byte_map_base: 0x0000000002021000 | |
| 153 | - | |
| 154 | -Polling page: 0x0000000000650000 | |
| 155 | - | |
| 156 | -Code Cache [0x0000000002b10000, 0x00000000035e0000, 0x0000000005b10000) | |
| 157 | - total_blobs=3304 nmethods=2730 adapters=532 free_code_cache=38289Kb largest_free_block=39047680 | |
| 158 | - | |
| 159 | -Compilation events (10 events): | |
| 160 | -Event: 1149.288 Thread 0x000000000eeca800 nmethod 3358 0x0000000003411550 code [0x00000000034116a0, 0x0000000003411868] | |
| 161 | -Event: 1149.288 Thread 0x000000000eeca800 3359 org.springsource.loaded.ri.Invoker::getJavaMethod (20 bytes) | |
| 162 | -Event: 1149.289 Thread 0x000000000eeca800 nmethod 3359 0x000000000359bad0 code [0x000000000359bc00, 0x000000000359bc78] | |
| 163 | -Event: 1149.301 Thread 0x000000000eec9800 nmethod 3353 0x00000000035b0c50 code [0x00000000035b0f60, 0x00000000035b2538] | |
| 164 | -Event: 1155.428 Thread 0x000000000eeca800 3360 sl.org.objectweb.asm.ClassReader::b (1124 bytes) | |
| 165 | -Event: 1155.431 Thread 0x000000000eec9800 3361 sl.org.objectweb.asm.ClassWriter::toByteArray (1303 bytes) | |
| 166 | -Event: 1155.832 Thread 0x000000000eec9800 nmethod 3361 0x00000000035bb890 code [0x00000000035bbea0, 0x00000000035c1bb8] | |
| 167 | -Event: 1155.832 Thread 0x000000000eec9800 3362 % org.springsource.loaded.TypeDescriptor::getByDescriptor @ 12 (60 bytes) | |
| 168 | -Event: 1155.840 Thread 0x000000000eec9800 nmethod 3362% 0x000000000359d4d0 code [0x000000000359d640, 0x000000000359e458] | |
| 169 | -Event: 1155.856 Thread 0x000000000eeca800 nmethod 3360 0x00000000035c74d0 code [0x00000000035c7900, 0x00000000035cc260] | |
| 170 | - | |
| 171 | -GC Heap History (10 events): | |
| 172 | -Event: 1156.624 GC heap before | |
| 173 | -{Heap before GC invocations=25 (full 8): | |
| 174 | - PSYoungGen total 764416K, used 0K [0x00000007cba80000, 0x00000007ff880000, 0x0000000800000000) | |
| 175 | - eden space 680448K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5300000) | |
| 176 | - from space 83968K, 0% used [0x00000007f5300000,0x00000007f5300000,0x00000007fa500000) | |
| 177 | - to space 81408K, 0% used [0x00000007fa900000,0x00000007fa900000,0x00000007ff880000) | |
| 178 | - ParOldGen total 1714688K, used 70830K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 179 | - object space 1714688K, 4% used [0x0000000763000000,0x000000076752bac8,0x00000007cba80000) | |
| 180 | - PSPermGen total 83968K, used 83967K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 181 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffffd0,0x0000000763000000) | |
| 182 | -Event: 1156.734 GC heap after | |
| 183 | -Heap after GC invocations=25 (full 8): | |
| 184 | - PSYoungGen total 764416K, used 0K [0x00000007cba80000, 0x00000007ff880000, 0x0000000800000000) | |
| 185 | - eden space 680448K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5300000) | |
| 186 | - from space 83968K, 0% used [0x00000007f5300000,0x00000007f5300000,0x00000007fa500000) | |
| 187 | - to space 81408K, 0% used [0x00000007fa900000,0x00000007fa900000,0x00000007ff880000) | |
| 188 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 189 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494e10,0x00000007cba80000) | |
| 190 | - PSPermGen total 83968K, used 83950K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 191 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffb848,0x0000000763000000) | |
| 192 | -} | |
| 193 | -Event: 1156.734 GC heap before | |
| 194 | -{Heap before GC invocations=26 (full 8): | |
| 195 | - PSYoungGen total 764416K, used 6940K [0x00000007cba80000, 0x00000007ff880000, 0x0000000800000000) | |
| 196 | - eden space 680448K, 1% used [0x00000007cba80000,0x00000007cc1472a0,0x00000007f5300000) | |
| 197 | - from space 83968K, 0% used [0x00000007f5300000,0x00000007f5300000,0x00000007fa500000) | |
| 198 | - to space 81408K, 0% used [0x00000007fa900000,0x00000007fa900000,0x00000007ff880000) | |
| 199 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 200 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494e10,0x00000007cba80000) | |
| 201 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 202 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 203 | -Event: 1156.738 GC heap after | |
| 204 | -Heap after GC invocations=26 (full 8): | |
| 205 | - PSYoungGen total 762368K, used 0K [0x00000007cba80000, 0x00000007ff280000, 0x0000000800000000) | |
| 206 | - eden space 687104K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5980000) | |
| 207 | - from space 75264K, 0% used [0x00000007fa900000,0x00000007fa900000,0x00000007ff280000) | |
| 208 | - to space 78336K, 0% used [0x00000007f5980000,0x00000007f5980000,0x00000007fa600000) | |
| 209 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 210 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494e10,0x00000007cba80000) | |
| 211 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 212 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 213 | -} | |
| 214 | -Event: 1156.738 GC heap before | |
| 215 | -{Heap before GC invocations=27 (full 9): | |
| 216 | - PSYoungGen total 762368K, used 0K [0x00000007cba80000, 0x00000007ff280000, 0x0000000800000000) | |
| 217 | - eden space 687104K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5980000) | |
| 218 | - from space 75264K, 0% used [0x00000007fa900000,0x00000007fa900000,0x00000007ff280000) | |
| 219 | - to space 78336K, 0% used [0x00000007f5980000,0x00000007f5980000,0x00000007fa600000) | |
| 220 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 221 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494e10,0x00000007cba80000) | |
| 222 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 223 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 224 | -Event: 1156.915 GC heap after | |
| 225 | -Heap after GC invocations=27 (full 9): | |
| 226 | - PSYoungGen total 762368K, used 0K [0x00000007cba80000, 0x00000007ff280000, 0x0000000800000000) | |
| 227 | - eden space 687104K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5980000) | |
| 228 | - from space 75264K, 0% used [0x00000007fa900000,0x00000007fa900000,0x00000007ff280000) | |
| 229 | - to space 78336K, 0% used [0x00000007f5980000,0x00000007f5980000,0x00000007fa600000) | |
| 230 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 231 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494d00,0x00000007cba80000) | |
| 232 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 233 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 234 | -} | |
| 235 | -Event: 1156.915 GC heap before | |
| 236 | -{Heap before GC invocations=28 (full 9): | |
| 237 | - PSYoungGen total 762368K, used 0K [0x00000007cba80000, 0x00000007ff280000, 0x0000000800000000) | |
| 238 | - eden space 687104K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5980000) | |
| 239 | - from space 75264K, 0% used [0x00000007fa900000,0x00000007fa900000,0x00000007ff280000) | |
| 240 | - to space 78336K, 0% used [0x00000007f5980000,0x00000007f5980000,0x00000007fa600000) | |
| 241 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 242 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494d00,0x00000007cba80000) | |
| 243 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 244 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 245 | -Event: 1156.918 GC heap after | |
| 246 | -Heap after GC invocations=28 (full 9): | |
| 247 | - PSYoungGen total 765440K, used 0K [0x00000007cba80000, 0x00000007ff180000, 0x0000000800000000) | |
| 248 | - eden space 687104K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5980000) | |
| 249 | - from space 78336K, 0% used [0x00000007f5980000,0x00000007f5980000,0x00000007fa600000) | |
| 250 | - to space 74752K, 0% used [0x00000007fa880000,0x00000007fa880000,0x00000007ff180000) | |
| 251 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 252 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494d00,0x00000007cba80000) | |
| 253 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 254 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 255 | -} | |
| 256 | -Event: 1156.918 GC heap before | |
| 257 | -{Heap before GC invocations=29 (full 10): | |
| 258 | - PSYoungGen total 765440K, used 0K [0x00000007cba80000, 0x00000007ff180000, 0x0000000800000000) | |
| 259 | - eden space 687104K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5980000) | |
| 260 | - from space 78336K, 0% used [0x00000007f5980000,0x00000007f5980000,0x00000007fa600000) | |
| 261 | - to space 74752K, 0% used [0x00000007fa880000,0x00000007fa880000,0x00000007ff180000) | |
| 262 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 263 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494d00,0x00000007cba80000) | |
| 264 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 265 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 266 | -Event: 1157.029 GC heap after | |
| 267 | -Heap after GC invocations=29 (full 10): | |
| 268 | - PSYoungGen total 765440K, used 0K [0x00000007cba80000, 0x00000007ff180000, 0x0000000800000000) | |
| 269 | - eden space 687104K, 0% used [0x00000007cba80000,0x00000007cba80000,0x00000007f5980000) | |
| 270 | - from space 78336K, 0% used [0x00000007f5980000,0x00000007f5980000,0x00000007fa600000) | |
| 271 | - to space 74752K, 0% used [0x00000007fa880000,0x00000007fa880000,0x00000007ff180000) | |
| 272 | - ParOldGen total 1714688K, used 70227K [0x0000000763000000, 0x00000007cba80000, 0x00000007cba80000) | |
| 273 | - object space 1714688K, 4% used [0x0000000763000000,0x0000000767494d00,0x00000007cba80000) | |
| 274 | - PSPermGen total 83968K, used 83963K [0x000000075de00000, 0x0000000763000000, 0x0000000763000000) | |
| 275 | - object space 83968K, 99% used [0x000000075de00000,0x0000000762ffec28,0x0000000763000000) | |
| 276 | -} | |
| 277 | - | |
| 278 | -Deoptimization events (10 events): | |
| 279 | -Event: 938.332 Thread 0x0000000010d21000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000030b552c method=org.springsource.loaded.ri.ReflectiveInterceptor.getReloadableTypeIfHasBeenReloaded(Ljava/lang/Class;)Lorg/springsource/loaded/ReloadableType; @ 3 | |
| 280 | -Event: 938.335 Thread 0x0000000010d21000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000030b9028 method=org.springsource.loaded.ri.ReflectiveInterceptor.getReloadableTypeIfHasBeenReloaded(Ljava/lang/Class;)Lorg/springsource/loaded/ReloadableType; @ 3 | |
| 281 | -Event: 938.339 Thread 0x0000000010d21000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000002f85038 method=org.springsource.loaded.ri.ReflectiveInterceptor.getReloadableTypeIfHasBeenReloaded(Ljava/lang/Class;)Lorg/springsource/loaded/ReloadableType; @ 3 | |
| 282 | -Event: 942.703 Thread 0x0000000010d15800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000002fd02f4 method=org.springsource.loaded.ri.ReflectiveInterceptor.getReloadableTypeIfHasBeenReloaded(Ljava/lang/Class;)Lorg/springsource/loaded/ReloadableType; @ 3 | |
| 283 | -Event: 942.703 Thread 0x0000000010d15800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000002d56b88 method=org.springsource.loaded.ri.ReflectiveInterceptor.getReloadableTypeIfHasBeenReloaded(Ljava/lang/Class;)Lorg/springsource/loaded/ReloadableType; @ 3 | |
| 284 | -Event: 942.703 Thread 0x0000000010d15800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000030f0a64 method=org.springsource.loaded.ri.ReflectiveInterceptor.getReloadableTypeIfHasBeenReloaded(Ljava/lang/Class;)Lorg/springsource/loaded/ReloadableType; @ 3 | |
| 285 | -Event: 948.331 Thread 0x0000000010d1c800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000002c56894 method=org.springsource.loaded.ri.ReflectiveInterceptor.getReloadableTypeIfHasBeenReloaded(Ljava/lang/Class;)Lorg/springsource/loaded/ReloadableType; @ 3 | |
| 286 | -Event: 1155.432 Thread 0x000000000f1ee800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003050388 method=sl.org.objectweb.asm.MethodWriter.visitIntInsn(II)V @ 15 | |
| 287 | -Event: 1155.759 Thread 0x000000000f1ee800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000032fe19c method=org.springsource.loaded.TypeRegistry.getTypeRegistryFor(Ljava/lang/ClassLoader;)Lorg/springsource/loaded/TypeRegistry; @ 167 | |
| 288 | -Event: 1155.759 Thread 0x000000000f1ee800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000032fe19c method=org.springsource.loaded.TypeRegistry.getTypeRegistryFor(Ljava/lang/ClassLoader;)Lorg/springsource/loaded/TypeRegistry; @ 167 | |
| 289 | - | |
| 290 | -Internal exceptions (10 events): | |
| 291 | -Event: 935.722 Thread 0x000000000f1ee800 Threw 0x00000007cbde06a0 at C:\re\jdk7u80\2329\hotspot\src\share\vm\prims\jvm.cpp:1319 | |
| 292 | -Event: 935.722 Thread 0x000000000f1ee800 Threw 0x00000007cbdf07b0 at C:\re\jdk7u80\2329\hotspot\src\share\vm\prims\jvm.cpp:1319 | |
| 293 | -Event: 935.724 Thread 0x000000000f1ee800 Threw 0x00000007cbe22338 at C:\re\jdk7u80\2329\hotspot\src\share\vm\prims\jvm.cpp:1319 | |
| 294 | -Event: 935.724 Thread 0x000000000f1ee800 Threw 0x00000007cbe2ec08 at C:\re\jdk7u80\2329\hotspot\src\share\vm\prims\jvm.cpp:1319 | |
| 295 | -Event: 935.726 Thread 0x000000000f1ee800 Threw 0x00000007cbe770f0 at C:\re\jdk7u80\2329\hotspot\src\share\vm\prims\jvm.cpp:1319 | |
| 296 | -Event: 935.728 Thread 0x000000000f1ee800 Implicit null exception at 0x0000000002de657f to 0x0000000002de6a1d | |
| 297 | -Event: 935.729 Thread 0x000000000f1ee800 Threw 0x00000007cbe8bdb8 at C:\re\jdk7u80\2329\hotspot\src\share\vm\prims\jvm.cpp:1319 | |
| 298 | -Event: 935.730 Thread 0x000000000f1ee800 Implicit null exception at 0x0000000002d52e10 to 0x0000000002d52e5d | |
| 299 | -Event: 937.543 Thread 0x000000000fe6c800 Threw 0x00000007ccbe0330 at C:\re\jdk7u80\2329\hotspot\src\share\vm\prims\jvm.cpp:1319 | |
| 300 | -Event: 1157.029 Thread 0x000000000e39e800 Threw 0x000000075dead638 at C:\re\jdk7u80\2329\hotspot\src\share\vm\gc_interface/collectedHeap.inline.hpp:225 | |
| 301 | - | |
| 302 | -Events (10 events): | |
| 303 | -Event: 1155.759 Thread 0x000000000f1ee800 Uncommon trap: trap_request=0xffffffde fr.pc=0x00000000032fe19c | |
| 304 | -Event: 1155.759 Thread 0x000000000f1ee800 DEOPT PACKING pc=0x00000000032fe19c sp=0x0000000010aed6b0 | |
| 305 | -Event: 1155.759 Thread 0x000000000f1ee800 DEOPT UNPACKING pc=0x0000000002b475a4 sp=0x0000000010aed600 mode 2 | |
| 306 | -Event: 1155.856 Thread 0x000000000eeca800 flushing nmethod 0x0000000002c65150 | |
| 307 | -Event: 1156.219 Executing VM operation: ParallelGCFailedPermanentAllocation | |
| 308 | -Event: 1156.352 Executing VM operation: ParallelGCFailedPermanentAllocation done | |
| 309 | -Event: 1156.352 Executing VM operation: ParallelGCFailedPermanentAllocation | |
| 310 | -Event: 1156.734 Executing VM operation: ParallelGCFailedPermanentAllocation done | |
| 311 | -Event: 1156.734 Executing VM operation: ParallelGCFailedPermanentAllocation | |
| 312 | -Event: 1157.029 Executing VM operation: ParallelGCFailedPermanentAllocation done | |
| 313 | - | |
| 314 | - | |
| 315 | -Dynamic libraries: | |
| 316 | -0x00007ff7f0560000 - 0x00007ff7f0593000 C:\Program Files\Java\jdk1.7.0_80\bin\javaw.exe | |
| 317 | -0x00007fff1e7c0000 - 0x00007fff1e981000 C:\WINDOWS\SYSTEM32\ntdll.dll | |
| 318 | -0x00007fff1bbc0000 - 0x00007fff1bc6d000 C:\WINDOWS\system32\KERNEL32.DLL | |
| 319 | -0x00007fff1b960000 - 0x00007fff1bb48000 C:\WINDOWS\system32\KERNELBASE.dll | |
| 320 | -0x00007fff1bc70000 - 0x00007fff1bd17000 C:\WINDOWS\system32\ADVAPI32.dll | |
| 321 | -0x00007fff1da50000 - 0x00007fff1daed000 C:\WINDOWS\system32\msvcrt.dll | |
| 322 | -0x00007fff1e490000 - 0x00007fff1e4eb000 C:\WINDOWS\system32\sechost.dll | |
| 323 | -0x00007fff1daf0000 - 0x00007fff1dc0c000 C:\WINDOWS\system32\RPCRT4.dll | |
| 324 | -0x00007fff1c1b0000 - 0x00007fff1c306000 C:\WINDOWS\system32\USER32.dll | |
| 325 | -0x00007fff1e5c0000 - 0x00007fff1e746000 C:\WINDOWS\system32\GDI32.dll | |
| 326 | -0x00007fff15b20000 - 0x00007fff15d94000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.10586.494_none_a2d8b04ea53e3145\COMCTL32.dll | |
| 327 | -0x00007fff1e1b0000 - 0x00007fff1e42d000 C:\WINDOWS\system32\combase.dll | |
| 328 | -0x00007fff1bb50000 - 0x00007fff1bbba000 C:\WINDOWS\system32\bcryptPrimitives.dll | |
| 329 | -0x00007fff1e000000 - 0x00007fff1e03b000 C:\WINDOWS\system32\IMM32.DLL | |
| 330 | -0x0000000054bb0000 - 0x0000000054c82000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\msvcr100.dll | |
| 331 | -0x0000000053420000 - 0x0000000053bf9000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\server\jvm.dll | |
| 332 | -0x00007fff1e1a0000 - 0x00007fff1e1a8000 C:\WINDOWS\system32\PSAPI.DLL | |
| 333 | -0x00007fff18230000 - 0x00007fff18239000 C:\WINDOWS\SYSTEM32\WSOCK32.dll | |
| 334 | -0x00007fff18eb0000 - 0x00007fff18ed3000 C:\WINDOWS\SYSTEM32\WINMM.dll | |
| 335 | -0x00007fff1e750000 - 0x00007fff1e7bb000 C:\WINDOWS\system32\WS2_32.dll | |
| 336 | -0x00007fff18e30000 - 0x00007fff18e5c000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll | |
| 337 | -0x00007fff1b240000 - 0x00007fff1b283000 C:\WINDOWS\system32\cfgmgr32.dll | |
| 338 | -0x0000000054ba0000 - 0x0000000054baf000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\verify.dll | |
| 339 | -0x0000000054b70000 - 0x0000000054b98000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\java.dll | |
| 340 | -0x0000000054b30000 - 0x0000000054b65000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\jdwp.dll | |
| 341 | -0x0000000054b20000 - 0x0000000054b28000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\npt.dll | |
| 342 | -0x0000000054af0000 - 0x0000000054b13000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\instrument.dll | |
| 343 | -0x0000000054ad0000 - 0x0000000054ae6000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\zip.dll | |
| 344 | -0x0000000054ac0000 - 0x0000000054ac9000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\dt_socket.dll | |
| 345 | -0x00007fff08350000 - 0x00007fff08366000 C:\WINDOWS\system32\napinsp.dll | |
| 346 | -0x00007fff08310000 - 0x00007fff0832a000 C:\WINDOWS\system32\pnrpnsp.dll | |
| 347 | -0x00007fff18e60000 - 0x00007fff18e78000 C:\WINDOWS\system32\NLAapi.dll | |
| 348 | -0x00007fff1a6b0000 - 0x00007fff1a70c000 C:\WINDOWS\System32\mswsock.dll | |
| 349 | -0x00007fff19760000 - 0x00007fff1980a000 C:\WINDOWS\SYSTEM32\DNSAPI.dll | |
| 350 | -0x00007fff1e500000 - 0x00007fff1e508000 C:\WINDOWS\system32\NSI.dll | |
| 351 | -0x00007fff09680000 - 0x00007fff0968d000 C:\WINDOWS\System32\winrnr.dll | |
| 352 | -0x00000000553e0000 - 0x0000000055406000 C:\Program Files\Bonjour\mdnsNSP.dll | |
| 353 | -0x00007fff12600000 - 0x00007fff12638000 C:\WINDOWS\SYSTEM32\Iphlpapi.DLL | |
| 354 | -0x00007fff11f80000 - 0x00007fff11fe7000 C:\WINDOWS\System32\fwpuclnt.dll | |
| 355 | -0x00007fff1ad10000 - 0x00007fff1ad39000 C:\WINDOWS\SYSTEM32\bcrypt.dll | |
| 356 | -0x00007fff0b3c0000 - 0x00007fff0b3ca000 C:\Windows\System32\rasadhlp.dll | |
| 357 | -0x0000000054aa0000 - 0x0000000054aba000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\net.dll | |
| 358 | -0x0000000054a80000 - 0x0000000054a91000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\nio.dll | |
| 359 | -0x0000000054a70000 - 0x0000000054a7b000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\management.dll | |
| 360 | -0x00007fff1a760000 - 0x00007fff1a777000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll | |
| 361 | -0x00007fff1a3f0000 - 0x00007fff1a424000 C:\WINDOWS\system32\rsaenh.dll | |
| 362 | -0x00007fff1a540000 - 0x00007fff1a55f000 C:\WINDOWS\SYSTEM32\USERENV.dll | |
| 363 | -0x00007fff1ade0000 - 0x00007fff1adf4000 C:\WINDOWS\system32\profapi.dll | |
| 364 | -0x00007fff1a880000 - 0x00007fff1a88b000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll | |
| 365 | -0x00007fff11c80000 - 0x00007fff11c96000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL | |
| 366 | -0x00007fff11d40000 - 0x00007fff11d5a000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL | |
| 367 | -0x0000000054a40000 - 0x0000000054a64000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\sunec.dll | |
| 368 | -0x0000000054a30000 - 0x0000000054a3b000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\sunmscapi.dll | |
| 369 | -0x00007fff1af30000 - 0x00007fff1b0f8000 C:\WINDOWS\system32\CRYPT32.dll | |
| 370 | -0x00007fff1ae50000 - 0x00007fff1ae60000 C:\WINDOWS\system32\MSASN1.dll | |
| 371 | -0x0000000054890000 - 0x0000000054a25000 C:\Program Files\Java\jdk1.7.0_80\jre\bin\awt.dll | |
| 372 | -0x00007fff1df10000 - 0x00007fff1dfd1000 C:\WINDOWS\system32\OLEAUT32.dll | |
| 373 | -0x00007fff195d0000 - 0x00007fff19649000 C:\WINDOWS\system32\apphelp.dll | |
| 374 | -0x00007fff17d40000 - 0x00007fff17ecc000 C:\WINDOWS\SYSTEM32\dbghelp.dll | |
| 375 | - | |
| 376 | -VM Arguments: | |
| 377 | -jvm_args: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:61815 -javaagent:G:\springloaded-1.2.5.RELEASE.jar -Xverify:none -Xms1028m -Xmx2512m -Dfile.encoding=UTF-8 | |
| 378 | -java_command: com.bsth.Application | |
| 379 | -Launcher Type: SUN_STANDARD | |
| 380 | - | |
| 381 | -Environment Variables: | |
| 382 | -JAVA_HOME=C:\Program Files\Java\jdk1.7.0_80 | |
| 383 | -CLASSPATH=.;C:\Program Files\Java\jdk1.7.0_80\lib;C:\Program Files\Java\jdk1.7.0_80\lib\tools.jar | |
| 384 | -PATH=C:\Perl64\site\bin;C:\Perl64\bin;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Intel\IntelSGXPSW\bin\x64\Release\;C:\Program Files\Intel\IntelSGXPSW\bin\win32\Release\;C:\Program Files\Java\jdk1.7.0_80\bin;C:\Program Files\Java\jdk1.7.0_80\jre\bin;G:\apache-maven-3.3.9\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;G:\TortoiseSVN 1.9\bin;G:\Git\cmd;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin;D:\openssl\bin;C:\Program Files\nodejs\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\panzhao\AppData\Roaming\npm;C:\Program Files (x86)\SSH Communications Security\SSH Secure Shell | |
| 385 | -USERNAME=panzhao | |
| 386 | -OS=Windows_NT | |
| 387 | -PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 94 Stepping 3, GenuineIntel | |
| 388 | - | |
| 389 | - | |
| 390 | - | |
| 391 | ---------------- S Y S T E M --------------- | |
| 392 | - | |
| 393 | -OS: Windows 8.1 , 64 bit Build 9600 | |
| 394 | - | |
| 395 | -CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 94 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, erms, ht, tsc, tscinvbit | |
| 396 | - | |
| 397 | -Memory: 4k page, physical 8223456k(2856092k free), swap 9599712k(1366128k free) | |
| 398 | - | |
| 399 | -vm_info: Java HotSpot(TM) 64-Bit Server VM (24.80-b11) for windows-amd64 JRE (1.7.0_80-b15), built on Apr 10 2015 11:26:34 by "java_re" with unknown MS VC++:1600 | |
| 400 | - | |
| 401 | -time: Thu Aug 04 16:58:12 2016 | |
| 402 | -elapsed time: 1157 seconds | |
| 403 | - |
src/main/java/com/bsth/controller/DownloadController.java
| ... | ... | @@ -28,11 +28,10 @@ public class DownloadController |
| 28 | 28 | { |
| 29 | 29 | |
| 30 | 30 | @RequestMapping("download") |
| 31 | - public ResponseEntity<byte[]> download(String jName,String lpName) throws IOException { | |
| 32 | - String moudelPath = this.getClass().getResource("/").getPath()+ "static\\pages\\forms\\export\\"+jName+".xls"; | |
| 33 | -// System.out.println(moudelPath); | |
| 34 | - String fileName = jName+lpName+".xls"; | |
| 35 | -// String path="D:\\export\\target\\"+jName+".xls"; | |
| 31 | + public ResponseEntity<byte[]> download(String fileName) throws IOException { | |
| 32 | + fileName = fileName+".xls"; | |
| 33 | + String moudelPath = this.getClass().getResource("/").getPath()+ "static\\pages\\forms\\export\\"+fileName; | |
| 34 | +// String path="D:\\export\\target\\"+jName+".xls"; | |
| 36 | 35 | File file=new File(moudelPath); |
| 37 | 36 | HttpHeaders headers = new HttpHeaders(); |
| 38 | 37 | String realFileName=new String(fileName.getBytes("UTF-8"),"iso-8859-1");//为了解决中文名称乱码问题 | ... | ... |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -300,8 +300,8 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 300 | 300 | } |
| 301 | 301 | |
| 302 | 302 | @RequestMapping(value = "/dailyInfo") |
| 303 | - public List<Map<String, Object>> dailyInfo(@RequestParam String line, @RequestParam String date) { | |
| 304 | - return scheduleRealInfoService.dailyInfo(line, date); | |
| 303 | + public List<Map<String, Object>> dailyInfo(@RequestParam String line, @RequestParam String date,@RequestParam String type) { | |
| 304 | + return scheduleRealInfoService.dailyInfo(line, date, type); | |
| 305 | 305 | } |
| 306 | 306 | |
| 307 | 307 | @RequestMapping(value = "/historyMessage") |
| ... | ... | @@ -336,9 +336,33 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 336 | 336 | @RequestParam String endDate,@RequestParam String lpName,@RequestParam String code) { |
| 337 | 337 | return scheduleRealInfoService.correctForm(line, startDate, endDate, lpName, code); |
| 338 | 338 | } |
| 339 | - | |
| 339 | + /** | |
| 340 | + * @Title queryListWaybill | |
| 341 | + * @Description 查询行车路单列表 | |
| 342 | + * @param jName 驾驶员名字 | |
| 343 | + * @param clZbh 车辆自编号(内部编号) | |
| 344 | + * @param lpName 路牌 | |
| 345 | + * @return | |
| 346 | + */ | |
| 340 | 347 | @RequestMapping(value="/queryListWaybill") |
| 341 | 348 | public List<ScheduleRealInfo> queryListWaybill(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName){ |
| 342 | 349 | return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName); |
| 343 | 350 | } |
| 351 | + | |
| 352 | + @RequestMapping(value="/statisticsDaily") | |
| 353 | + public List<Map<String,Object>> statisticsDaily(@RequestParam String line,@RequestParam String date,@RequestParam String xlName){ | |
| 354 | + return scheduleRealInfoService.statisticsDaily(line, date,xlName); | |
| 355 | + } | |
| 356 | + | |
| 357 | + /** | |
| 358 | + * @Title: scheduleDaily | |
| 359 | + * @Description: TODO(调度日报表) | |
| 360 | + * @param line 线路 | |
| 361 | + * @param date 时间 | |
| 362 | + * @return | |
| 363 | + */ | |
| 364 | + @RequestMapping(value="/scheduleDaily") | |
| 365 | + public List<Object> scheduleDaily(@RequestParam String line,@RequestParam String date){ | |
| 366 | + return scheduleRealInfoService.scheduleDaily(line,date); | |
| 367 | + } | |
| 344 | 368 | } | ... | ... |
src/main/java/com/bsth/controller/sys/UserController.java
| ... | ... | @@ -4,23 +4,30 @@ import javax.servlet.http.HttpServletRequest; |
| 4 | 4 | import javax.servlet.http.HttpServletResponse; |
| 5 | 5 | import javax.servlet.http.HttpSession; |
| 6 | 6 | |
| 7 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 7 | 8 | import org.springframework.security.authentication.BadCredentialsException; |
| 8 | 9 | import org.springframework.security.core.Authentication; |
| 9 | 10 | import org.springframework.security.core.context.SecurityContextHolder; |
| 11 | +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | |
| 10 | 12 | import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; |
| 11 | 13 | import org.springframework.security.web.authentication.session.SessionAuthenticationException; |
| 12 | 14 | import org.springframework.web.bind.annotation.RequestMapping; |
| 15 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 13 | 16 | import org.springframework.web.bind.annotation.RestController; |
| 14 | 17 | import org.springframework.web.servlet.ModelAndView; |
| 15 | 18 | |
| 16 | 19 | import com.bsth.controller.BaseController; |
| 17 | 20 | import com.bsth.entity.sys.SysUser; |
| 18 | 21 | import com.bsth.security.util.SecurityUtils; |
| 22 | +import com.bsth.service.sys.SysUserService; | |
| 19 | 23 | |
| 20 | 24 | @RestController |
| 21 | 25 | @RequestMapping("user") |
| 22 | 26 | public class UserController extends BaseController<SysUser, Integer>{ |
| 23 | 27 | |
| 28 | + @Autowired | |
| 29 | + SysUserService sysUserService; | |
| 30 | + | |
| 24 | 31 | /** |
| 25 | 32 | * |
| 26 | 33 | * @Title: loginFailure |
| ... | ... | @@ -65,4 +72,45 @@ public class UserController extends BaseController<SysUser, Integer>{ |
| 65 | 72 | public SysUser currentUser(){ |
| 66 | 73 | return SecurityUtils.getCurrentUser(); |
| 67 | 74 | } |
| 75 | + | |
| 76 | + /** | |
| 77 | + * @Title changeEnabled | |
| 78 | + * @Description: TODO(改变用户状态) | |
| 79 | + * @param id 用户ID | |
| 80 | + * @param enabled 状态 | |
| 81 | + * @return | |
| 82 | + */ | |
| 83 | + @RequestMapping("/changeEnabled") | |
| 84 | + public int changeEnabled(@RequestParam int id,@RequestParam int enabled){ | |
| 85 | + return sysUserService.changeEnabled(id,enabled); | |
| 86 | + } | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * @Title changePWD | |
| 90 | + * @Description: TODO(修改密码) | |
| 91 | + * @param oldPWD 原始密码 | |
| 92 | + * @param newwPWD 新密码 | |
| 93 | + * @param cnewPWD 确认新密码 | |
| 94 | + * @return | |
| 95 | + */ | |
| 96 | + @RequestMapping("/changePWD") | |
| 97 | + public String changePWD(@RequestParam String oldPWD,@RequestParam String newPWD,@RequestParam String cnewPWD){ | |
| 98 | + SysUser sysUser = SecurityUtils.getCurrentUser(); | |
| 99 | + String msg = ""; | |
| 100 | + if(new BCryptPasswordEncoder(4).matches(oldPWD, sysUser.getPassword())){ | |
| 101 | + if(oldPWD.equals(newPWD)){ | |
| 102 | + msg = "新密码不能跟原始密码一样!"; | |
| 103 | + }else{ | |
| 104 | + if(newPWD.equals(cnewPWD)){ | |
| 105 | + sysUserService.changePWD(sysUser.getId(),newPWD); | |
| 106 | + msg = "修改成功!"; | |
| 107 | + }else{ | |
| 108 | + msg= "新密码两次输入不一致!"; | |
| 109 | + } | |
| 110 | + } | |
| 111 | + }else{ | |
| 112 | + msg = "原始密码错误!"; | |
| 113 | + } | |
| 114 | + return msg; | |
| 115 | + } | |
| 68 | 116 | } | ... | ... |
src/main/java/com/bsth/data/BasicData.java
| 1 | 1 | package com.bsth.data; |
| 2 | 2 | |
| 3 | +import java.util.HashMap; | |
| 4 | +import java.util.Iterator; | |
| 5 | +import java.util.Map; | |
| 6 | + | |
| 7 | +import org.slf4j.Logger; | |
| 8 | +import org.slf4j.LoggerFactory; | |
| 9 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | +import org.springframework.stereotype.Component; | |
| 11 | + | |
| 12 | +import com.bsth.entity.CarPark; | |
| 13 | +import com.bsth.entity.Cars; | |
| 14 | +import com.bsth.entity.Line; | |
| 15 | +import com.bsth.entity.Station; | |
| 16 | +import com.bsth.entity.schedule.CarConfigInfo; | |
| 17 | +import com.bsth.repository.CarParkRepository; | |
| 18 | +import com.bsth.repository.CarsRepository; | |
| 19 | +import com.bsth.repository.LineRepository; | |
| 20 | +import com.bsth.repository.StationRepository; | |
| 21 | +import com.bsth.repository.schedule.CarConfigInfoRepository; | |
| 22 | +import com.google.common.collect.BiMap; | |
| 23 | +import com.google.common.collect.HashBiMap; | |
| 24 | +import com.google.common.collect.TreeMultimap; | |
| 25 | + | |
| 3 | 26 | /** |
| 4 | 27 | * |
| 5 | - * @ClassName: BasicData | |
| 6 | - * @Description: TODO(基础的映射数据) | |
| 28 | + * @ClassName: BasicData | |
| 29 | + * @Description: TODO(基础的映射数据) | |
| 7 | 30 | * @author PanZhao |
| 8 | - * @date 2016年8月10日 下午3:27:45 | |
| 31 | + * @date 2016年8月10日 下午3:27:45 | |
| 9 | 32 | * |
| 10 | 33 | */ |
| 34 | +@Component | |
| 11 | 35 | public class BasicData { |
| 12 | 36 | |
| 37 | + //设备号和车辆自编号 (K: 设备编码 ,V:车辆自编号) | |
| 38 | + public static BiMap<String, String> deviceId2NbbmMap; | |
| 39 | + | |
| 40 | + //车辆自编号和公司代码对照 (K: 车辆自编号 ,V:公司代码) | |
| 41 | + public static Map<String, String> nbbm2CompanyCodeMap; | |
| 42 | + | |
| 43 | + //站点编码和名称对照,包括停车场 (K: 站点编码 ,V:站点名称) | |
| 44 | + public static Map<String, String> stationCode2NameMap; | |
| 45 | + | |
| 46 | + //车辆和线路对照 | |
| 47 | + public static Map<String, Line> nbbm2LineMap; | |
| 48 | + | |
| 49 | + //线路和用户对照 用于webSocket定向推送消息(用户进入线调时写入数据) | |
| 50 | + public static TreeMultimap<Integer, String> lineCode2SocketUserMap = TreeMultimap.create(); | |
| 51 | + | |
| 52 | + //线路ID和code 对照 | |
| 53 | + public static BiMap<Integer, Integer> lineId2CodeMap; | |
| 54 | + | |
| 55 | + @Autowired | |
| 56 | + BasicDataLoader basicDataLoader; | |
| 57 | + | |
| 58 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * | |
| 62 | + * @Title: loadAllData | |
| 63 | + * @Description: TODO(加载所有数据) | |
| 64 | + * @throws | |
| 65 | + */ | |
| 66 | + public int loadAllData(){ | |
| 67 | + try{ | |
| 68 | + basicDataLoader.loadDeviceInfo(); | |
| 69 | + basicDataLoader.loadStationInfo(); | |
| 70 | + basicDataLoader.loadLineInfo(); | |
| 71 | + basicDataLoader.loadNbbm2LineInfo(); | |
| 72 | + }catch(Exception e){ | |
| 73 | + logger.error("加载基础数据时出现异常," , e); | |
| 74 | + } | |
| 75 | + return 0; | |
| 76 | + } | |
| 77 | + | |
| 78 | + @Component | |
| 79 | + public class BasicDataLoader{ | |
| 80 | + | |
| 81 | + @Autowired | |
| 82 | + CarsRepository carsRepository; | |
| 83 | + | |
| 84 | + @Autowired | |
| 85 | + StationRepository stationRepository; | |
| 86 | + | |
| 87 | + @Autowired | |
| 88 | + CarParkRepository carParkRepository; | |
| 89 | + | |
| 90 | + @Autowired | |
| 91 | + CarConfigInfoRepository carConfigInfoRepository; | |
| 92 | + | |
| 93 | + @Autowired | |
| 94 | + LineRepository lineRepository; | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * | |
| 98 | + * @Title: loadDeviceInfo | |
| 99 | + * @Description: TODO(加载设备相关信息) | |
| 100 | + * @throws | |
| 101 | + */ | |
| 102 | + public void loadDeviceInfo(){ | |
| 103 | + BiMap<String, String> deviceId2Nbbm = HashBiMap.create(); | |
| 104 | + //车辆和公司代码对照 | |
| 105 | + Map<String, String> nbbm2CompanyCode = new HashMap<>(); | |
| 106 | + Iterator<Cars> carIterator = carsRepository.findAll().iterator(); | |
| 107 | + Cars car; | |
| 108 | + while(carIterator.hasNext()){ | |
| 109 | + car = carIterator.next(); | |
| 110 | + deviceId2Nbbm.put(car.getEquipmentCode(), car.getInsideCode()); | |
| 111 | + nbbm2CompanyCode.put(car.getInsideCode(), car.getBusinessCode()); | |
| 112 | + } | |
| 113 | + | |
| 114 | + deviceId2NbbmMap = deviceId2Nbbm; | |
| 115 | + nbbm2CompanyCodeMap = nbbm2CompanyCode; | |
| 116 | + } | |
| 117 | + | |
| 118 | + /** | |
| 119 | + * | |
| 120 | + * @Title: loadStationInfo | |
| 121 | + * @Description: TODO(加载站点信息) | |
| 122 | + * @throws | |
| 123 | + */ | |
| 124 | + public void loadStationInfo(){ | |
| 125 | + Map<String, String> stationCode2Name = new HashMap<>(); | |
| 126 | + Iterator<Station> iterator = stationRepository.findAll().iterator(); | |
| 127 | + //站点 | |
| 128 | + Station station; | |
| 129 | + while(iterator.hasNext()){ | |
| 130 | + station = iterator.next(); | |
| 131 | + stationCode2Name.put(station.getStationCod(), station.getStationName()); | |
| 132 | + } | |
| 133 | + //停车场 | |
| 134 | + Iterator<CarPark> iterator2 = carParkRepository.findAll().iterator(); | |
| 135 | + CarPark carPark; | |
| 136 | + while(iterator2.hasNext()){ | |
| 137 | + carPark = iterator2.next(); | |
| 138 | + stationCode2Name.put(carPark.getParkCode(), carPark.getParkName()); | |
| 139 | + } | |
| 140 | + | |
| 141 | + stationCode2NameMap = stationCode2Name; | |
| 142 | + } | |
| 143 | + | |
| 144 | + /** | |
| 145 | + * | |
| 146 | + * @Title: loadNbbm2LineInfo | |
| 147 | + * @Description: TODO(车辆和线路对照) | |
| 148 | + * @throws | |
| 149 | + */ | |
| 150 | + public void loadNbbm2LineInfo(){ | |
| 151 | + Iterator<CarConfigInfo> allIterator = carConfigInfoRepository.findAll().iterator(); | |
| 152 | + Map<String, Line> ccMap = new HashMap<>(); | |
| 153 | + | |
| 154 | + CarConfigInfo cci; | |
| 155 | + while(allIterator.hasNext()){ | |
| 156 | + cci = allIterator.next(); | |
| 157 | + ccMap.put(cci.getCl().getInsideCode(), cci.getXl()); | |
| 158 | + } | |
| 159 | + nbbm2LineMap = ccMap; | |
| 160 | + } | |
| 161 | + | |
| 162 | + /** | |
| 163 | + * | |
| 164 | + * @Title: loadLineInfo | |
| 165 | + * @Description: TODO(加载线路相关信息) | |
| 166 | + * @throws | |
| 167 | + */ | |
| 168 | + public void loadLineInfo(){ | |
| 169 | + Iterator<Line> iterator = lineRepository.findAll().iterator(); | |
| 170 | + | |
| 171 | + Line line; | |
| 172 | + BiMap<Integer, Integer> biMap = HashBiMap.create(); | |
| 173 | + while(iterator.hasNext()){ | |
| 174 | + line = iterator.next(); | |
| 175 | + biMap.put(line.getId(), Integer.parseInt(line.getLineCode())); | |
| 176 | + } | |
| 177 | + | |
| 178 | + lineId2CodeMap = biMap; | |
| 179 | + } | |
| 180 | + } | |
| 13 | 181 | } | ... | ... |
src/main/java/com/bsth/data/DirectiveData.java
src/main/java/com/bsth/data/ScheduleData.java
src/main/java/com/bsth/data/directive/Consts.java
0 → 100644
src/main/java/com/bsth/data/directive/MsgIdGenerator.java
0 → 100644
| 1 | +package com.bsth.data.directive; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * | |
| 5 | + * @ClassName: MsgIdGenerator | |
| 6 | + * @Description: TODO(指令下发 msgId 生成器) | |
| 7 | + * @author PanZhao | |
| 8 | + * @date 2016年6月7日 下午4:38:04 | |
| 9 | + * | |
| 10 | + */ | |
| 11 | +public class MsgIdGenerator { | |
| 12 | + | |
| 13 | + private static int msgId = 1; | |
| 14 | + | |
| 15 | + private final static int MAX_VALUE = Integer.MAX_VALUE - 10; | |
| 16 | + | |
| 17 | + public synchronized static int getMsgId(){ | |
| 18 | + msgId ++; | |
| 19 | + if(msgId == MAX_VALUE) | |
| 20 | + msgId = 0; | |
| 21 | + return msgId; | |
| 22 | + } | |
| 23 | + | |
| 24 | + public static void setMsgId(int maxId){ | |
| 25 | + msgId = maxId; | |
| 26 | + } | |
| 27 | +} | ... | ... |
src/main/java/com/bsth/data/gpsdata/GpsRealDataList.java
0 → 100644
| 1 | +package com.bsth.data.gpsdata; | |
| 2 | + | |
| 3 | +import java.io.BufferedReader; | |
| 4 | +import java.io.InputStreamReader; | |
| 5 | +import java.util.ArrayList; | |
| 6 | +import java.util.HashMap; | |
| 7 | +import java.util.List; | |
| 8 | +import java.util.Map; | |
| 9 | +import java.util.NavigableSet; | |
| 10 | + | |
| 11 | +import org.apache.http.HttpEntity; | |
| 12 | +import org.apache.http.client.methods.CloseableHttpResponse; | |
| 13 | +import org.apache.http.client.methods.HttpGet; | |
| 14 | +import org.apache.http.impl.client.CloseableHttpClient; | |
| 15 | +import org.apache.http.impl.client.HttpClients; | |
| 16 | +import org.slf4j.Logger; | |
| 17 | +import org.slf4j.LoggerFactory; | |
| 18 | + | |
| 19 | +import com.alibaba.fastjson.JSON; | |
| 20 | +import com.alibaba.fastjson.JSONObject; | |
| 21 | +import com.bsth.data.BasicData; | |
| 22 | +import com.bsth.util.ConfigUtil; | |
| 23 | +import com.bsth.vehicle.gpsdata.entity.GpsRealData; | |
| 24 | +import com.google.common.collect.TreeMultimap; | |
| 25 | + | |
| 26 | +/** | |
| 27 | + * | |
| 28 | + * @ClassName: GpsRealDataBuffer | |
| 29 | + * @Description: TODO(实时GPS数据集合) | |
| 30 | + * @author PanZhao | |
| 31 | + * @date 2016年8月12日 下午2:04:41 | |
| 32 | + * | |
| 33 | + */ | |
| 34 | +public class GpsRealDataList { | |
| 35 | + | |
| 36 | + private static Map<String, GpsRealData> gpsMap; | |
| 37 | + | |
| 38 | + private static TreeMultimap<Integer, String> lineCode2Devices; | |
| 39 | + | |
| 40 | + // 网关数据接口地址 | |
| 41 | + private static String url; | |
| 42 | + | |
| 43 | + static{ | |
| 44 | + gpsMap = new HashMap<>(); | |
| 45 | + lineCode2Devices = TreeMultimap.create(); | |
| 46 | + url = ConfigUtil.get("http.gps.real.url"); | |
| 47 | + } | |
| 48 | + | |
| 49 | + static Logger logger = LoggerFactory.getLogger(GpsRealDataList.class); | |
| 50 | + | |
| 51 | + public static GpsRealData add(GpsRealData gps) { | |
| 52 | + String device = gps.getDeviceId(); | |
| 53 | + gpsMap.put(device, gps); | |
| 54 | + lineCode2Devices.put(gps.getLineId(), device); | |
| 55 | + return gps; | |
| 56 | + } | |
| 57 | + | |
| 58 | + /** | |
| 59 | + * | |
| 60 | + * @Title: get @Description: TODO(设备号获取GPS) @param @param deviceId @throws | |
| 61 | + */ | |
| 62 | + public static GpsRealData get(String deviceId) { | |
| 63 | + return gpsMap.get(deviceId); | |
| 64 | + } | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * | |
| 68 | + * @Title: get @Description: TODO(线路编码获取GPS集合) @throws | |
| 69 | + */ | |
| 70 | + public static List<GpsRealData> get(Integer lineCode) { | |
| 71 | + NavigableSet<String> set = lineCode2Devices.get(lineCode); | |
| 72 | + | |
| 73 | + List<GpsRealData> rs = new ArrayList<>(); | |
| 74 | + for(String device : set){ | |
| 75 | + rs.add(gpsMap.get(device)); | |
| 76 | + } | |
| 77 | + | |
| 78 | + return rs; | |
| 79 | + } | |
| 80 | + | |
| 81 | + public static void LoadGpsRealData() throws Exception { | |
| 82 | + List<GpsRealData> list = new ArrayList<>(); | |
| 83 | + CloseableHttpClient httpClient = null; | |
| 84 | + | |
| 85 | + try { | |
| 86 | + httpClient = HttpClients.createDefault(); | |
| 87 | + HttpGet get = new HttpGet(url); | |
| 88 | + | |
| 89 | + CloseableHttpResponse response = httpClient.execute(get); | |
| 90 | + | |
| 91 | + try { | |
| 92 | + HttpEntity entity = response.getEntity(); | |
| 93 | + if (null != entity) { | |
| 94 | + // 返回数据量比较大,建议以流的形式读取 | |
| 95 | + BufferedReader br = new BufferedReader(new InputStreamReader(entity.getContent())); | |
| 96 | + StringBuffer stringBuffer = new StringBuffer(); | |
| 97 | + String str = ""; | |
| 98 | + while ((str = br.readLine()) != null) | |
| 99 | + stringBuffer.append(str); | |
| 100 | + | |
| 101 | + JSONObject jsonObj = JSON.parseObject(stringBuffer.toString()); | |
| 102 | + | |
| 103 | + if (jsonObj != null) | |
| 104 | + list = JSON.parseArray(jsonObj.getString("data"), GpsRealData.class); | |
| 105 | + | |
| 106 | + for(GpsRealData gps : list){ | |
| 107 | + gps.setNbbm(BasicData.deviceId2NbbmMap.get(gps)); | |
| 108 | + add(gps); | |
| 109 | + } | |
| 110 | + } else | |
| 111 | + logger.error("result is null"); | |
| 112 | + } finally { | |
| 113 | + response.close(); | |
| 114 | + } | |
| 115 | + | |
| 116 | + } finally { | |
| 117 | + if (null != httpClient) | |
| 118 | + httpClient.close(); | |
| 119 | + } | |
| 120 | + } | |
| 121 | +} | ... | ... |
src/main/java/com/bsth/data/gpsdata/GpsRealEntity.java
0 → 100644
| 1 | +package com.bsth.data.gpsdata; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * | |
| 5 | + * @ClassName: GpsRealData | |
| 6 | + * @Description: TODO(HTTP接口的实时GPS数据) | |
| 7 | + * @author PanZhao | |
| 8 | + * @date 2016年5月11日 下午4:32:07 | |
| 9 | + * | |
| 10 | + */ | |
| 11 | +public class GpsRealEntity { | |
| 12 | + | |
| 13 | + /** 公司代码 */ | |
| 14 | + private Integer companyCode; | |
| 15 | + | |
| 16 | + /** 线路编码 */ | |
| 17 | + private Integer lineId; | |
| 18 | + | |
| 19 | + /** 设备编码 */ | |
| 20 | + private String deviceId; | |
| 21 | + | |
| 22 | + /** 停车场编码 */ | |
| 23 | + private String carparkNo; | |
| 24 | + | |
| 25 | + /** 站点编码 */ | |
| 26 | + private String stopNo; | |
| 27 | + | |
| 28 | + /** 经度 */ | |
| 29 | + private Float lon; | |
| 30 | + | |
| 31 | + /** 纬度 */ | |
| 32 | + private Float lat; | |
| 33 | + | |
| 34 | + /** 发送时间戳 */ | |
| 35 | + private Long timestamp; | |
| 36 | + | |
| 37 | + /** 速度 */ | |
| 38 | + private Float speed; | |
| 39 | + | |
| 40 | + /** 方向(角度) */ | |
| 41 | + private Float direction; | |
| 42 | + | |
| 43 | + /** 营运状态( 0 营运 ,1 非营运, -1 无效) */ | |
| 44 | + private Integer state; | |
| 45 | + | |
| 46 | + /** 上下行(0 上行 , 1 下行 , -1 无效) */ | |
| 47 | + private Integer upDown; | |
| 48 | + | |
| 49 | + /** 车辆内部编码 */ | |
| 50 | + private String nbbm; | |
| 51 | + | |
| 52 | + /** 站点名称 */ | |
| 53 | + private String stationName; | |
| 54 | + | |
| 55 | + /** 当前班次ID */ | |
| 56 | + private Long currSchId; | |
| 57 | + | |
| 58 | + /** 下一个班次ID */ | |
| 59 | + private Long nextSchId; | |
| 60 | + | |
| 61 | + /** 设备是否在线 */ | |
| 62 | + private boolean online; | |
| 63 | + | |
| 64 | + public Integer getCompanyCode() { | |
| 65 | + return companyCode; | |
| 66 | + } | |
| 67 | + | |
| 68 | + public void setCompanyCode(Integer companyCode) { | |
| 69 | + this.companyCode = companyCode; | |
| 70 | + } | |
| 71 | + | |
| 72 | + public Integer getLineId() { | |
| 73 | + return lineId; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setLineId(Integer lineId) { | |
| 77 | + this.lineId = lineId; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public String getDeviceId() { | |
| 81 | + return deviceId; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public void setDeviceId(String deviceId) { | |
| 85 | + this.deviceId = deviceId; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public String getCarparkNo() { | |
| 89 | + return carparkNo; | |
| 90 | + } | |
| 91 | + | |
| 92 | + public void setCarparkNo(String carparkNo) { | |
| 93 | + this.carparkNo = carparkNo; | |
| 94 | + } | |
| 95 | + | |
| 96 | + public String getStopNo() { | |
| 97 | + return stopNo; | |
| 98 | + } | |
| 99 | + | |
| 100 | + public void setStopNo(String stopNo) { | |
| 101 | + this.stopNo = stopNo; | |
| 102 | + } | |
| 103 | + | |
| 104 | + public Float getLon() { | |
| 105 | + return lon; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public void setLon(Float lon) { | |
| 109 | + this.lon = lon; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public Float getLat() { | |
| 113 | + return lat; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public void setLat(Float lat) { | |
| 117 | + this.lat = lat; | |
| 118 | + } | |
| 119 | + | |
| 120 | + public Long getTimestamp() { | |
| 121 | + return timestamp; | |
| 122 | + } | |
| 123 | + | |
| 124 | + public void setTimestamp(Long timestamp) { | |
| 125 | + this.timestamp = timestamp; | |
| 126 | + } | |
| 127 | + | |
| 128 | + public Float getSpeed() { | |
| 129 | + return speed; | |
| 130 | + } | |
| 131 | + | |
| 132 | + public void setSpeed(Float speed) { | |
| 133 | + this.speed = speed; | |
| 134 | + } | |
| 135 | + | |
| 136 | + public Float getDirection() { | |
| 137 | + return direction; | |
| 138 | + } | |
| 139 | + | |
| 140 | + public void setDirection(Float direction) { | |
| 141 | + this.direction = direction; | |
| 142 | + } | |
| 143 | + | |
| 144 | + public Integer getState() { | |
| 145 | + return state; | |
| 146 | + } | |
| 147 | + | |
| 148 | + public void setState(Integer state) { | |
| 149 | + this.state = state; | |
| 150 | + } | |
| 151 | + | |
| 152 | + public Integer getUpDown() { | |
| 153 | + return upDown; | |
| 154 | + } | |
| 155 | + | |
| 156 | + public void setUpDown(Integer upDown) { | |
| 157 | + this.upDown = upDown; | |
| 158 | + } | |
| 159 | + | |
| 160 | + public Long getCurrSchId() { | |
| 161 | + return currSchId; | |
| 162 | + } | |
| 163 | + | |
| 164 | + public void setCurrSchId(Long currSchId) { | |
| 165 | + this.currSchId = currSchId; | |
| 166 | + } | |
| 167 | + | |
| 168 | + public Long getNextSchId() { | |
| 169 | + return nextSchId; | |
| 170 | + } | |
| 171 | + | |
| 172 | + public void setNextSchId(Long nextSchId) { | |
| 173 | + this.nextSchId = nextSchId; | |
| 174 | + } | |
| 175 | + | |
| 176 | + public String getNbbm() { | |
| 177 | + return nbbm; | |
| 178 | + } | |
| 179 | + | |
| 180 | + public void setNbbm(String nbbm) { | |
| 181 | + this.nbbm = nbbm; | |
| 182 | + } | |
| 183 | + | |
| 184 | + public String getStationName() { | |
| 185 | + return stationName; | |
| 186 | + } | |
| 187 | + | |
| 188 | + public void setStationName(String stationName) { | |
| 189 | + this.stationName = stationName; | |
| 190 | + } | |
| 191 | + | |
| 192 | + public boolean isOnline() { | |
| 193 | + return online; | |
| 194 | + } | |
| 195 | + | |
| 196 | + public void setOnline(boolean online) { | |
| 197 | + this.online = online; | |
| 198 | + } | |
| 199 | +} | ... | ... |
src/main/java/com/bsth/entity/directive/D60.java
0 → 100644
| 1 | +package com.bsth.entity.directive; | |
| 2 | + | |
| 3 | +import javax.persistence.Embeddable; | |
| 4 | +import javax.persistence.Entity; | |
| 5 | +import javax.persistence.FetchType; | |
| 6 | +import javax.persistence.GeneratedValue; | |
| 7 | +import javax.persistence.Id; | |
| 8 | +import javax.persistence.ManyToOne; | |
| 9 | +import javax.persistence.NamedAttributeNode; | |
| 10 | +import javax.persistence.NamedEntityGraph; | |
| 11 | +import javax.persistence.NamedEntityGraphs; | |
| 12 | +import javax.persistence.Table; | |
| 13 | +import javax.persistence.Transient; | |
| 14 | + | |
| 15 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 16 | +import com.fasterxml.jackson.annotation.JsonIgnore; | |
| 17 | + | |
| 18 | + | |
| 19 | +/** | |
| 20 | + * | |
| 21 | + * @ClassName: D60 | |
| 22 | + * @Description: TODO(调度指令) | |
| 23 | + * @author PanZhao | |
| 24 | + * @date 2016年6月7日 上午10:21:59 | |
| 25 | + * | |
| 26 | + */ | |
| 27 | +@Entity | |
| 28 | +@Table(name = "bsth_v_directive_60") | |
| 29 | +@NamedEntityGraphs({ | |
| 30 | + @NamedEntityGraph(name = "directive60_sch", attributeNodes = { | |
| 31 | + @NamedAttributeNode("sch") | |
| 32 | + }) | |
| 33 | +}) | |
| 34 | +public class D60 extends Directive{ | |
| 35 | + | |
| 36 | + @Id | |
| 37 | + @GeneratedValue | |
| 38 | + private Integer id; | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * 数据 | |
| 42 | + */ | |
| 43 | + private DirectiveData data; | |
| 44 | + | |
| 45 | + /** | |
| 46 | + * 唯一标识 | |
| 47 | + */ | |
| 48 | + @Transient | |
| 49 | + private Integer msgId; | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * 46上行 | |
| 53 | + */ | |
| 54 | + private Short reply46 = -1; | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * 47上行 | |
| 58 | + */ | |
| 59 | + private Short reply47 = -1; | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * 是否是调度指令 | |
| 63 | + * 目前调度指令和消息短语都是短语下发,所以从协议上无法区分 | |
| 64 | + */ | |
| 65 | + private boolean isDispatch; | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 相关联的班次 | |
| 69 | + */ | |
| 70 | + @JsonIgnore | |
| 71 | + @ManyToOne(fetch = FetchType.LAZY) | |
| 72 | + private ScheduleRealInfo sch; | |
| 73 | + | |
| 74 | + @Embeddable | |
| 75 | + public static class DirectiveData { | |
| 76 | + // 公司代码 | |
| 77 | + private short companyCode; | |
| 78 | + | |
| 79 | + // 设备号 | |
| 80 | + @Transient | |
| 81 | + private String deviceId; | |
| 82 | + | |
| 83 | + // 时间戳 | |
| 84 | + @Transient | |
| 85 | + private Long timestamp; | |
| 86 | + | |
| 87 | + // 保留 默认0 | |
| 88 | + private short instructType = 0; | |
| 89 | + | |
| 90 | + /* | |
| 91 | + * 调度指令 调度指令。 | |
| 92 | + * 0X00表示信息短语 | |
| 93 | + * 0X01表示取消上次指令+调度指令(闹钟有效) | |
| 94 | + * 0x02表示为调度指令(闹钟有效) | |
| 95 | + * 0x03表示运营状态指令(闹钟无效) | |
| 96 | + * 0x04表示其他指令 | |
| 97 | + */ | |
| 98 | + private Short dispatchInstruct; | |
| 99 | + | |
| 100 | + // 唯一标识 | |
| 101 | + private int msgId; | |
| 102 | + | |
| 103 | + // 闹钟 | |
| 104 | + private Long alarmTime; | |
| 105 | + | |
| 106 | + // 多个运营状态字节 | |
| 107 | + private Long serviceState; | |
| 108 | + | |
| 109 | + // 消息文本 | |
| 110 | + private String txtContent; | |
| 111 | + | |
| 112 | + public short getCompanyCode() { | |
| 113 | + return companyCode; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public void setCompanyCode(short companyCode) { | |
| 117 | + this.companyCode = companyCode; | |
| 118 | + } | |
| 119 | + | |
| 120 | + public String getDeviceId() { | |
| 121 | + return deviceId; | |
| 122 | + } | |
| 123 | + | |
| 124 | + public void setDeviceId(String deviceId) { | |
| 125 | + this.deviceId = deviceId; | |
| 126 | + } | |
| 127 | + | |
| 128 | + public Long getTimestamp() { | |
| 129 | + return timestamp; | |
| 130 | + } | |
| 131 | + | |
| 132 | + public void setTimestamp(Long timestamp) { | |
| 133 | + this.timestamp = timestamp; | |
| 134 | + } | |
| 135 | + | |
| 136 | + public short getInstructType() { | |
| 137 | + return instructType; | |
| 138 | + } | |
| 139 | + | |
| 140 | + public void setInstructType(short instructType) { | |
| 141 | + this.instructType = instructType; | |
| 142 | + } | |
| 143 | + | |
| 144 | + public Short getDispatchInstruct() { | |
| 145 | + return dispatchInstruct; | |
| 146 | + } | |
| 147 | + | |
| 148 | + public void setDispatchInstruct(Short dispatchInstruct) { | |
| 149 | + this.dispatchInstruct = dispatchInstruct; | |
| 150 | + } | |
| 151 | + | |
| 152 | + public int getMsgId() { | |
| 153 | + return msgId; | |
| 154 | + } | |
| 155 | + | |
| 156 | + public void setMsgId(int msgId) { | |
| 157 | + this.msgId = msgId; | |
| 158 | + } | |
| 159 | + | |
| 160 | + public Long getAlarmTime() { | |
| 161 | + return alarmTime; | |
| 162 | + } | |
| 163 | + | |
| 164 | + public void setAlarmTime(Long alarmTime) { | |
| 165 | + this.alarmTime = alarmTime; | |
| 166 | + } | |
| 167 | + | |
| 168 | + public Long getServiceState() { | |
| 169 | + return serviceState; | |
| 170 | + } | |
| 171 | + | |
| 172 | + public void setServiceState(Long serviceState) { | |
| 173 | + this.serviceState = serviceState; | |
| 174 | + } | |
| 175 | + | |
| 176 | + public String getTxtContent() { | |
| 177 | + return txtContent; | |
| 178 | + } | |
| 179 | + | |
| 180 | + public void setTxtContent(String txtContent) { | |
| 181 | + this.txtContent = txtContent; | |
| 182 | + } | |
| 183 | + } | |
| 184 | + | |
| 185 | + public Integer getId() { | |
| 186 | + return id; | |
| 187 | + } | |
| 188 | + | |
| 189 | + public void setId(Integer id) { | |
| 190 | + this.id = id; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public short getOperCode() { | |
| 194 | + return operCode; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public void setOperCode(short operCode) { | |
| 198 | + this.operCode = operCode; | |
| 199 | + } | |
| 200 | + | |
| 201 | + public DirectiveData getData() { | |
| 202 | + return data; | |
| 203 | + } | |
| 204 | + | |
| 205 | + public void setData(DirectiveData data) { | |
| 206 | + this.data = data; | |
| 207 | + } | |
| 208 | + | |
| 209 | + public Integer getMsgId() { | |
| 210 | + if(this.msgId != null) | |
| 211 | + return this.msgId; | |
| 212 | + else | |
| 213 | + return this.getData().getMsgId(); | |
| 214 | + } | |
| 215 | + | |
| 216 | + public void setMsgId(Integer msgId) { | |
| 217 | + this.msgId = msgId; | |
| 218 | + } | |
| 219 | + | |
| 220 | + @Override | |
| 221 | + public void setTimestamp(Long timestamp) { | |
| 222 | + if(this.data != null) | |
| 223 | + this.data.setTimestamp(timestamp); | |
| 224 | + | |
| 225 | + this.timestamp = timestamp; | |
| 226 | + } | |
| 227 | + | |
| 228 | + @Override | |
| 229 | + public void setDeviceId(String deviceId) { | |
| 230 | + if(this.data != null) | |
| 231 | + this.data.setDeviceId(deviceId); | |
| 232 | + | |
| 233 | + this.deviceId = deviceId; | |
| 234 | + } | |
| 235 | + | |
| 236 | + public Short getReply46() { | |
| 237 | + return reply46; | |
| 238 | + } | |
| 239 | + | |
| 240 | + public void setReply46(Short reply46) { | |
| 241 | + this.reply46 = reply46; | |
| 242 | + } | |
| 243 | + | |
| 244 | + public Short getReply47() { | |
| 245 | + return reply47; | |
| 246 | + } | |
| 247 | + | |
| 248 | + public void setReply47(Short reply47) { | |
| 249 | + this.reply47 = reply47; | |
| 250 | + } | |
| 251 | + | |
| 252 | + public boolean isDispatch() { | |
| 253 | + return isDispatch; | |
| 254 | + } | |
| 255 | + | |
| 256 | + public void setDispatch(boolean isDispatch) { | |
| 257 | + this.isDispatch = isDispatch; | |
| 258 | + } | |
| 259 | + | |
| 260 | + public ScheduleRealInfo getSch() { | |
| 261 | + return sch; | |
| 262 | + } | |
| 263 | + | |
| 264 | + public void setSch(ScheduleRealInfo sch) { | |
| 265 | + this.sch = sch; | |
| 266 | + } | |
| 267 | +} | ... | ... |
src/main/java/com/bsth/entity/directive/D64.java
0 → 100644
| 1 | +package com.bsth.entity.directive; | |
| 2 | + | |
| 3 | +import javax.persistence.Table; | |
| 4 | +import javax.persistence.Transient; | |
| 5 | +import javax.persistence.Embeddable; | |
| 6 | +import javax.persistence.Entity; | |
| 7 | +import javax.persistence.GeneratedValue; | |
| 8 | +import javax.persistence.Id; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * | |
| 12 | + * @ClassName: D64 | |
| 13 | + * @Description: TODO(线路切换指令) | |
| 14 | + * @author PanZhao | |
| 15 | + * @date 2016年6月8日 下午1:41:15 | |
| 16 | + * | |
| 17 | + */ | |
| 18 | +@Entity | |
| 19 | +@Table(name = "bsth_v_directive_64") | |
| 20 | +public class D64 extends Directive{ | |
| 21 | + | |
| 22 | + @Id | |
| 23 | + @GeneratedValue | |
| 24 | + private Integer id; | |
| 25 | + | |
| 26 | + /** | |
| 27 | + * 设备响应应答字 | |
| 28 | + * 0x06同意 0x15不同意 | |
| 29 | + */ | |
| 30 | + private Short respAck; | |
| 31 | + | |
| 32 | + private LineChangeData data; | |
| 33 | + | |
| 34 | + @Embeddable | |
| 35 | + public static class LineChangeData { | |
| 36 | + | |
| 37 | + private Short cityCode; | |
| 38 | + | |
| 39 | + @Transient | |
| 40 | + private String deviceId; | |
| 41 | + | |
| 42 | + private String lineId; | |
| 43 | + | |
| 44 | + public Short getCityCode() { | |
| 45 | + return cityCode; | |
| 46 | + } | |
| 47 | + | |
| 48 | + public void setCityCode(Short cityCode) { | |
| 49 | + this.cityCode = cityCode; | |
| 50 | + } | |
| 51 | + | |
| 52 | + public String getDeviceId() { | |
| 53 | + return deviceId; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public void setDeviceId(String deviceId) { | |
| 57 | + this.deviceId = deviceId; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public String getLineId() { | |
| 61 | + return lineId; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public void setLineId(String lineId) { | |
| 65 | + this.lineId = lineId; | |
| 66 | + } | |
| 67 | + } | |
| 68 | + | |
| 69 | + public Integer getId() { | |
| 70 | + return id; | |
| 71 | + } | |
| 72 | + | |
| 73 | + public void setId(Integer id) { | |
| 74 | + this.id = id; | |
| 75 | + } | |
| 76 | + | |
| 77 | + public LineChangeData getData() { | |
| 78 | + return data; | |
| 79 | + } | |
| 80 | + | |
| 81 | + public void setData(LineChangeData data) { | |
| 82 | + this.data = data; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public Short getRespAck() { | |
| 86 | + return respAck; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public void setRespAck(Short respAck) { | |
| 90 | + this.respAck = respAck; | |
| 91 | + } | |
| 92 | + | |
| 93 | + @Override | |
| 94 | + public void setDeviceId(String deviceId) { | |
| 95 | + if(this.data != null) | |
| 96 | + this.data.setDeviceId(deviceId); | |
| 97 | + | |
| 98 | + this.deviceId = deviceId; | |
| 99 | + } | |
| 100 | +} | ... | ... |
src/main/java/com/bsth/entity/directive/D80.java
0 → 100644
| 1 | +package com.bsth.entity.directive; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +import javax.persistence.CascadeType; | |
| 6 | +import javax.persistence.Embeddable; | |
| 7 | +import javax.persistence.Entity; | |
| 8 | +import javax.persistence.FetchType; | |
| 9 | +import javax.persistence.GeneratedValue; | |
| 10 | +import javax.persistence.Id; | |
| 11 | +import javax.persistence.NamedAttributeNode; | |
| 12 | +import javax.persistence.NamedEntityGraph; | |
| 13 | +import javax.persistence.NamedEntityGraphs; | |
| 14 | +import javax.persistence.OneToOne; | |
| 15 | +import javax.persistence.Table; | |
| 16 | +import javax.persistence.Transient; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * | |
| 20 | + * @ClassName: D80 | |
| 21 | + * @Description: TODO(驾驶员上报) | |
| 22 | + * @author PanZhao | |
| 23 | + * @date 2016年6月8日 下午12:36:42 | |
| 24 | + * | |
| 25 | + */ | |
| 26 | +@Entity | |
| 27 | +@Table(name = "bsth_v_report_80") | |
| 28 | +@NamedEntityGraphs({ | |
| 29 | + @NamedEntityGraph(name = "directive80_c0", attributeNodes = { | |
| 30 | + @NamedAttributeNode("c0") | |
| 31 | + }) | |
| 32 | +}) | |
| 33 | +public class D80 { | |
| 34 | + | |
| 35 | + @Id | |
| 36 | + @GeneratedValue | |
| 37 | + private Integer id; | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 设备编号 | |
| 41 | + */ | |
| 42 | + private String deviceId; | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * 时间戳(ms) | |
| 46 | + */ | |
| 47 | + private Long timestamp; | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 一级协议 0xC0 | |
| 51 | + */ | |
| 52 | + private Short operCode; | |
| 53 | + | |
| 54 | + private DriverReportData data; | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * c0 回复 | |
| 58 | + */ | |
| 59 | + @OneToOne(cascade = CascadeType.ALL, fetch=FetchType.LAZY) | |
| 60 | + private DC0 c0; | |
| 61 | + | |
| 62 | + /** 调度员是否确认 */ | |
| 63 | + private boolean confirm; | |
| 64 | + | |
| 65 | + /** 处理人 */ | |
| 66 | + private String handleUser; | |
| 67 | + | |
| 68 | + /** 处理结果 0:同意 -1:不同意 */ | |
| 69 | + private int confirmRs; | |
| 70 | + | |
| 71 | + /** 处理时间 */ | |
| 72 | + private Date handleTime; | |
| 73 | + | |
| 74 | + @Embeddable | |
| 75 | + public static class DriverReportData { | |
| 76 | + | |
| 77 | + /** | |
| 78 | + * 0x86 | |
| 79 | + */ | |
| 80 | + private Short operCode2; | |
| 81 | + | |
| 82 | + /** | |
| 83 | + * 请求代码 0xa1 恢复运营 0xa2 申请调档 0xa3 出场请求 0xa5 进场请求 0xa7 加油请求 0x50 车辆故障 0x70 | |
| 84 | + * 路阻报告 0x60 事故报告 0x11 扣证纠纷 0x12 报警 | |
| 85 | + */ | |
| 86 | + private Short requestCode; | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * 线路编码 | |
| 90 | + */ | |
| 91 | + private Integer lineId; | |
| 92 | + | |
| 93 | + /** | |
| 94 | + * 车辆内部编码 | |
| 95 | + */ | |
| 96 | + @Transient | |
| 97 | + private String nbbm; | |
| 98 | + | |
| 99 | + public Short getOperCode2() { | |
| 100 | + return operCode2; | |
| 101 | + } | |
| 102 | + | |
| 103 | + public void setOperCode2(Short operCode2) { | |
| 104 | + this.operCode2 = operCode2; | |
| 105 | + } | |
| 106 | + | |
| 107 | + public Short getRequestCode() { | |
| 108 | + return requestCode; | |
| 109 | + } | |
| 110 | + | |
| 111 | + public void setRequestCode(Short requestCode) { | |
| 112 | + this.requestCode = requestCode; | |
| 113 | + } | |
| 114 | + | |
| 115 | + public Integer getLineId() { | |
| 116 | + return lineId; | |
| 117 | + } | |
| 118 | + | |
| 119 | + public void setLineId(Integer lineId) { | |
| 120 | + this.lineId = lineId; | |
| 121 | + } | |
| 122 | + | |
| 123 | + public String getNbbm() { | |
| 124 | + return nbbm; | |
| 125 | + } | |
| 126 | + | |
| 127 | + public void setNbbm(String nbbm) { | |
| 128 | + this.nbbm = nbbm; | |
| 129 | + } | |
| 130 | + } | |
| 131 | + | |
| 132 | + @Transient | |
| 133 | + private String timeStr; | |
| 134 | + | |
| 135 | + public Integer getId() { | |
| 136 | + return id; | |
| 137 | + } | |
| 138 | + | |
| 139 | + public void setId(Integer id) { | |
| 140 | + this.id = id; | |
| 141 | + } | |
| 142 | + | |
| 143 | + public String getDeviceId() { | |
| 144 | + return deviceId; | |
| 145 | + } | |
| 146 | + | |
| 147 | + public void setDeviceId(String deviceId) { | |
| 148 | + this.deviceId = deviceId; | |
| 149 | + } | |
| 150 | + | |
| 151 | + public Long getTimestamp() { | |
| 152 | + return timestamp; | |
| 153 | + } | |
| 154 | + | |
| 155 | + public void setTimestamp(Long timestamp) { | |
| 156 | + this.timestamp = timestamp; | |
| 157 | + } | |
| 158 | + | |
| 159 | + public Short getOperCode() { | |
| 160 | + return operCode; | |
| 161 | + } | |
| 162 | + | |
| 163 | + public void setOperCode(Short operCode) { | |
| 164 | + this.operCode = operCode; | |
| 165 | + } | |
| 166 | + | |
| 167 | + public DriverReportData getData() { | |
| 168 | + return data; | |
| 169 | + } | |
| 170 | + | |
| 171 | + public void setData(DriverReportData data) { | |
| 172 | + this.data = data; | |
| 173 | + } | |
| 174 | + | |
| 175 | + public DC0 getC0() { | |
| 176 | + return c0; | |
| 177 | + } | |
| 178 | + | |
| 179 | + public void setC0(DC0 c0) { | |
| 180 | + this.c0 = c0; | |
| 181 | + } | |
| 182 | + | |
| 183 | + public boolean isConfirm() { | |
| 184 | + return confirm; | |
| 185 | + } | |
| 186 | + | |
| 187 | + public void setConfirm(boolean confirm) { | |
| 188 | + this.confirm = confirm; | |
| 189 | + } | |
| 190 | + | |
| 191 | + public int getConfirmRs() { | |
| 192 | + return confirmRs; | |
| 193 | + } | |
| 194 | + | |
| 195 | + public void setConfirmRs(int confirmRs) { | |
| 196 | + this.confirmRs = confirmRs; | |
| 197 | + } | |
| 198 | + | |
| 199 | + public String getHandleUser() { | |
| 200 | + return handleUser; | |
| 201 | + } | |
| 202 | + | |
| 203 | + public void setHandleUser(String handleUser) { | |
| 204 | + this.handleUser = handleUser; | |
| 205 | + } | |
| 206 | + | |
| 207 | + public String getTimeStr() { | |
| 208 | + return timeStr; | |
| 209 | + } | |
| 210 | + | |
| 211 | + public void setTimeStr(String timeStr) { | |
| 212 | + this.timeStr = timeStr; | |
| 213 | + } | |
| 214 | + | |
| 215 | + public Date getHandleTime() { | |
| 216 | + return handleTime; | |
| 217 | + } | |
| 218 | + | |
| 219 | + public void setHandleTime(Date handleTime) { | |
| 220 | + this.handleTime = handleTime; | |
| 221 | + } | |
| 222 | +} | ... | ... |
src/main/java/com/bsth/entity/directive/DC0.java
0 → 100644
| 1 | +package com.bsth.entity.directive; | |
| 2 | + | |
| 3 | +import javax.persistence.Embeddable; | |
| 4 | +import javax.persistence.Entity; | |
| 5 | +import javax.persistence.GeneratedValue; | |
| 6 | +import javax.persistence.Id; | |
| 7 | +import javax.persistence.Table; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * | |
| 11 | + * @ClassName: DC0 | |
| 12 | + * @Description: TODO(C0协议,回复驾驶员上报) | |
| 13 | + * @author PanZhao | |
| 14 | + * @date 2016年7月8日 上午10:19:23 | |
| 15 | + * | |
| 16 | + */ | |
| 17 | +@Entity | |
| 18 | +@Table(name = "bsth_v_C0") | |
| 19 | +public class DC0 { | |
| 20 | + | |
| 21 | + @Id | |
| 22 | + @GeneratedValue | |
| 23 | + private Integer id; | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 设备号 | |
| 27 | + */ | |
| 28 | + private String deviceId; | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 时间戳 | |
| 32 | + */ | |
| 33 | + private Long timestamp; | |
| 34 | + | |
| 35 | + /** | |
| 36 | + * 一级协议 | |
| 37 | + */ | |
| 38 | + private Short operCode; | |
| 39 | + | |
| 40 | + private DC0Data data; | |
| 41 | + | |
| 42 | + @Embeddable | |
| 43 | + public static class DC0Data { | |
| 44 | + | |
| 45 | + /** | |
| 46 | + * 二级协议 | |
| 47 | + */ | |
| 48 | + private Short operCode2; | |
| 49 | + | |
| 50 | + /** | |
| 51 | + * 请求应答字 0x06同意 0x15不同意 | |
| 52 | + */ | |
| 53 | + private Short requestAck; | |
| 54 | + | |
| 55 | + public Short getOperCode2() { | |
| 56 | + return operCode2; | |
| 57 | + } | |
| 58 | + | |
| 59 | + public void setOperCode2(Short operCode2) { | |
| 60 | + this.operCode2 = operCode2; | |
| 61 | + } | |
| 62 | + | |
| 63 | + public Short getRequestAck() { | |
| 64 | + return requestAck; | |
| 65 | + } | |
| 66 | + | |
| 67 | + public void setRequestAck(Short requestAck) { | |
| 68 | + this.requestAck = requestAck; | |
| 69 | + } | |
| 70 | + } | |
| 71 | + | |
| 72 | + public Integer getId() { | |
| 73 | + return id; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setId(Integer id) { | |
| 77 | + this.id = id; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public String getDeviceId() { | |
| 81 | + return deviceId; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public void setDeviceId(String deviceId) { | |
| 85 | + this.deviceId = deviceId; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public Long getTimestamp() { | |
| 89 | + return timestamp; | |
| 90 | + } | |
| 91 | + | |
| 92 | + public void setTimestamp(Long timestamp) { | |
| 93 | + this.timestamp = timestamp; | |
| 94 | + } | |
| 95 | + | |
| 96 | + public Short getOperCode() { | |
| 97 | + return operCode; | |
| 98 | + } | |
| 99 | + | |
| 100 | + public void setOperCode(Short operCode) { | |
| 101 | + this.operCode = operCode; | |
| 102 | + } | |
| 103 | + | |
| 104 | + public DC0Data getData() { | |
| 105 | + return data; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public void setData(DC0Data data) { | |
| 109 | + this.data = data; | |
| 110 | + } | |
| 111 | +} | ... | ... |
src/main/java/com/bsth/entity/directive/Directive.java
0 → 100644
| 1 | +package com.bsth.entity.directive; | |
| 2 | + | |
| 3 | +import javax.persistence.MappedSuperclass; | |
| 4 | +import javax.persistence.Transient; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * | |
| 8 | + * @ClassName: Directive | |
| 9 | + * @Description: TODO(指令基础类) | |
| 10 | + * @author PanZhao | |
| 11 | + * @date 2016年7月31日 下午8:35:56 | |
| 12 | + * | |
| 13 | + */ | |
| 14 | +@MappedSuperclass | |
| 15 | +public class Directive { | |
| 16 | + | |
| 17 | + /** | |
| 18 | + * 一级协议 | |
| 19 | + */ | |
| 20 | + protected short operCode; | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 设备号 | |
| 24 | + */ | |
| 25 | + protected String deviceId; | |
| 26 | + | |
| 27 | + /** | |
| 28 | + * 时间戳 | |
| 29 | + */ | |
| 30 | + protected Long timestamp; | |
| 31 | + | |
| 32 | + /** | |
| 33 | + * 时间 HH:mm | |
| 34 | + */ | |
| 35 | + @Transient | |
| 36 | + private String timeHHmm; | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 车辆内部编码 | |
| 40 | + */ | |
| 41 | + @Transient | |
| 42 | + private String nbbm; | |
| 43 | + | |
| 44 | + private String errorText; | |
| 45 | + | |
| 46 | + private int httpCode; | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * 发送人 | |
| 50 | + */ | |
| 51 | + private String sender; | |
| 52 | + | |
| 53 | + public short getOperCode() { | |
| 54 | + return operCode; | |
| 55 | + } | |
| 56 | + | |
| 57 | + public void setOperCode(short operCode) { | |
| 58 | + this.operCode = operCode; | |
| 59 | + } | |
| 60 | + | |
| 61 | + public String getDeviceId() { | |
| 62 | + return deviceId; | |
| 63 | + } | |
| 64 | + | |
| 65 | + public void setDeviceId(String deviceId) { | |
| 66 | + this.deviceId = deviceId; | |
| 67 | + } | |
| 68 | + | |
| 69 | + public Long getTimestamp() { | |
| 70 | + return timestamp; | |
| 71 | + } | |
| 72 | + | |
| 73 | + public void setTimestamp(Long timestamp) { | |
| 74 | + this.timestamp = timestamp; | |
| 75 | + } | |
| 76 | + | |
| 77 | + public String getTimeHHmm() { | |
| 78 | + return timeHHmm; | |
| 79 | + } | |
| 80 | + | |
| 81 | + public void setTimeHHmm(String timeHHmm) { | |
| 82 | + this.timeHHmm = timeHHmm; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public String getNbbm() { | |
| 86 | + return nbbm; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public void setNbbm(String nbbm) { | |
| 90 | + this.nbbm = nbbm; | |
| 91 | + } | |
| 92 | + | |
| 93 | + public String getErrorText() { | |
| 94 | + return errorText; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public void setErrorText(String errorText) { | |
| 98 | + this.errorText = errorText; | |
| 99 | + } | |
| 100 | + | |
| 101 | + public int getHttpCode() { | |
| 102 | + return httpCode; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public void setHttpCode(int httpCode) { | |
| 106 | + this.httpCode = httpCode; | |
| 107 | + } | |
| 108 | + | |
| 109 | + public String getSender() { | |
| 110 | + return sender; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public void setSender(String sender) { | |
| 114 | + this.sender = sender; | |
| 115 | + } | |
| 116 | +} | ... | ... |
src/main/java/com/bsth/repository/directive/D60Repository.java
0 → 100644
| 1 | +package com.bsth.repository.directive; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import org.springframework.data.domain.Page; | |
| 6 | +import org.springframework.data.domain.Pageable; | |
| 7 | +import org.springframework.data.jpa.domain.Specification; | |
| 8 | +import org.springframework.data.jpa.repository.EntityGraph; | |
| 9 | +import org.springframework.data.jpa.repository.Query; | |
| 10 | +import org.springframework.stereotype.Repository; | |
| 11 | + | |
| 12 | +import com.bsth.entity.directive.D60; | |
| 13 | +import com.bsth.repository.BaseRepository; | |
| 14 | + | |
| 15 | +@Repository | |
| 16 | +public interface D60Repository extends BaseRepository<D60, Integer>{ | |
| 17 | + | |
| 18 | + @EntityGraph(value = "directive60_sch", type = EntityGraph.EntityGraphType.FETCH) | |
| 19 | + @Query("select d from Directive60 d where d.timestamp > ?1") | |
| 20 | + public List<D60> findByGtTime(Long ts); | |
| 21 | + | |
| 22 | + @Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(msg_id) as num FROM bsth_v_directive_60) d", nativeQuery = true) | |
| 23 | + Integer maxMsgId(); | |
| 24 | + | |
| 25 | + | |
| 26 | + @EntityGraph(value = "directive60_sch", type = EntityGraph.EntityGraphType.FETCH) | |
| 27 | + @Override | |
| 28 | + Page<D60> findAll(Specification<D60> spec, Pageable pageable); | |
| 29 | + | |
| 30 | + @EntityGraph(value = "directive60_sch", type = EntityGraph.EntityGraphType.FETCH) | |
| 31 | + @Override | |
| 32 | + List<D60> findAll(Specification<D60> spec); | |
| 33 | +} | ... | ... |
src/main/java/com/bsth/repository/directive/D64Repository.java
0 → 100644
src/main/java/com/bsth/repository/directive/D80Repository.java
0 → 100644
| 1 | +package com.bsth.repository.directive; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import org.springframework.data.domain.Page; | |
| 6 | +import org.springframework.data.domain.Pageable; | |
| 7 | +import org.springframework.data.jpa.domain.Specification; | |
| 8 | +import org.springframework.data.jpa.repository.EntityGraph; | |
| 9 | +import org.springframework.data.jpa.repository.Query; | |
| 10 | +import org.springframework.stereotype.Repository; | |
| 11 | + | |
| 12 | +import com.bsth.entity.directive.D80; | |
| 13 | +import com.bsth.repository.BaseRepository; | |
| 14 | + | |
| 15 | +@Repository | |
| 16 | +public interface D80Repository extends BaseRepository<D80, Integer>{ | |
| 17 | + | |
| 18 | + @EntityGraph(value = "directive80_c0", type = EntityGraph.EntityGraphType.FETCH) | |
| 19 | + @Override | |
| 20 | + Page<D80> findAll(Specification<D80> spec, Pageable pageable); | |
| 21 | + | |
| 22 | + @EntityGraph(value = "directive80_c0", type = EntityGraph.EntityGraphType.FETCH) | |
| 23 | + @Query("select d from Directive80 d where d.timestamp > ?1") | |
| 24 | + List<D80> findByGtTime(long timestamp); | |
| 25 | +} | ... | ... |
src/main/java/com/bsth/repository/directive/DC0Repository.java
0 → 100644
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| ... | ... | @@ -54,4 +54,10 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 54 | 54 | |
| 55 | 55 | @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 order by fcsj") |
| 56 | 56 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName); |
| 57 | + | |
| 58 | + @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2") | |
| 59 | + List<ScheduleRealInfo> statisticsDaily(String line,String date); | |
| 60 | + | |
| 61 | + @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2") | |
| 62 | + List<ScheduleRealInfo> scheduleDaily(String line,String date); | |
| 57 | 63 | } | ... | ... |
src/main/java/com/bsth/repository/sys/SysUserRepository.java
| 1 | 1 | package com.bsth.repository.sys; |
| 2 | 2 | |
| 3 | +import org.springframework.data.jpa.repository.Modifying; | |
| 4 | +import org.springframework.data.jpa.repository.Query; | |
| 3 | 5 | import org.springframework.stereotype.Repository; |
| 6 | +import org.springframework.transaction.annotation.Transactional; | |
| 4 | 7 | |
| 5 | 8 | import com.bsth.entity.sys.SysUser; |
| 6 | 9 | import com.bsth.repository.BaseRepository; |
| ... | ... | @@ -10,4 +13,13 @@ public interface SysUserRepository extends BaseRepository<SysUser, Integer>{ |
| 10 | 13 | |
| 11 | 14 | SysUser findByUserName(String userName); |
| 12 | 15 | |
| 16 | + @Transactional | |
| 17 | + @Modifying | |
| 18 | + @Query(value="update bsth_c_sys_user set enabled=?2 where id=?1",nativeQuery=true) | |
| 19 | + int changeEnabled(int id,int enabled); | |
| 20 | + | |
| 21 | + @Transactional | |
| 22 | + @Modifying | |
| 23 | + @Query(value="update bsth_c_sys_user set password=?2 where id=?1",nativeQuery=true) | |
| 24 | + int changePWD(int id,String newPWD); | |
| 13 | 25 | } | ... | ... |
src/main/java/com/bsth/service/directive/DirectiveService.java
0 → 100644
| 1 | +package com.bsth.service.directive; | |
| 2 | + | |
| 3 | + | |
| 4 | +import java.util.List; | |
| 5 | +import java.util.Map; | |
| 6 | + | |
| 7 | +import org.springframework.data.domain.Page; | |
| 8 | +import org.springframework.data.domain.PageRequest; | |
| 9 | + | |
| 10 | +import com.bsth.entity.directive.D60; | |
| 11 | +import com.bsth.entity.directive.D80; | |
| 12 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 13 | +import com.bsth.service.BaseService; | |
| 14 | + | |
| 15 | +public interface DirectiveService extends BaseService<D60, Integer>{ | |
| 16 | + | |
| 17 | + /** | |
| 18 | + * | |
| 19 | + * @Title: send60Phrase | |
| 20 | + * @Description: TODO(60短语下发) | |
| 21 | + * @param @param nbbm 车辆内部编码 | |
| 22 | + * @param @param text 短语 | |
| 23 | + * @return int 返回类型 | |
| 24 | + * @throws | |
| 25 | + */ | |
| 26 | + int send60Phrase(String nbbm, String text, String sender); | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * | |
| 30 | + * @Title: send60Dispatch | |
| 31 | + * @Description: TODO(调度指令下发) | |
| 32 | + * @param @param sch 要下发的班次 | |
| 33 | + * @param @param finish 已完成的班次数 | |
| 34 | + * @throws | |
| 35 | + */ | |
| 36 | + int send60Dispatch(ScheduleRealInfo sch, int finish, String sender); | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * | |
| 40 | + * @Title: send60Dispatch | |
| 41 | + * @Description: TODO(调度指令下发) | |
| 42 | + * @param @param id 班次ID | |
| 43 | + * @throws | |
| 44 | + */ | |
| 45 | + int send60Dispatch(Long id, String sender); | |
| 46 | + | |
| 47 | + //60营运指令 | |
| 48 | + int send60Operation(String nbbm, int state, int upDown, ScheduleRealInfo sch, String sender); | |
| 49 | + | |
| 50 | + /** | |
| 51 | + * | |
| 52 | + * @Title: lineChange | |
| 53 | + * @Description: TODO(线路切换) | |
| 54 | + * @param @param nbbm 车辆内部编码 | |
| 55 | + * @param @param lineId 新线路编码 | |
| 56 | + * @throws | |
| 57 | + */ | |
| 58 | + int lineChange(String nbbm, Integer lineId, String sender); | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * | |
| 62 | + * @Title: upDownChange | |
| 63 | + * @Description: TODO(切换上下行) | |
| 64 | + * @param @param nbbm 车辆内部编码 | |
| 65 | + * @param @param upDonw 上下行 0 上行 1 下行 | |
| 66 | + * @throws | |
| 67 | + */ | |
| 68 | + int upDownChange(String nbbm, Integer upDown, String sender); | |
| 69 | + | |
| 70 | + /** | |
| 71 | + * | |
| 72 | + * @Title: sendDirectiveState | |
| 73 | + * @Description: TODO(向页面推送班次指令状态) | |
| 74 | + * @throws | |
| 75 | + */ | |
| 76 | + void sendDirectiveToPage(ScheduleRealInfo sch); | |
| 77 | + | |
| 78 | + Map<String, List<D80>> findNoCofm80(String lineCodes); | |
| 79 | + | |
| 80 | + Map<String, Object> reply80(int id, int reply); | |
| 81 | + | |
| 82 | + Map<String, Object> findDirective(String nbbm, int dType, int page, int size); | |
| 83 | + | |
| 84 | + Page<D80> findAll80(Map<String, Object> map, PageRequest pageRequest); | |
| 85 | +} | ... | ... |
src/main/java/com/bsth/service/directive/DirectiveServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.directive; | |
| 2 | + | |
| 3 | +import java.text.SimpleDateFormat; | |
| 4 | +import java.util.ArrayList; | |
| 5 | +import java.util.Collections; | |
| 6 | +import java.util.Date; | |
| 7 | +import java.util.HashMap; | |
| 8 | +import java.util.List; | |
| 9 | +import java.util.Map; | |
| 10 | + | |
| 11 | +import org.apache.commons.lang3.StringUtils; | |
| 12 | +import org.slf4j.Logger; | |
| 13 | +import org.slf4j.LoggerFactory; | |
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 15 | +import org.springframework.data.domain.Page; | |
| 16 | +import org.springframework.data.domain.PageRequest; | |
| 17 | +import org.springframework.stereotype.Service; | |
| 18 | + | |
| 19 | +import com.alibaba.fastjson.JSON; | |
| 20 | +import com.alibaba.fastjson.JSONObject; | |
| 21 | +import com.bsth.common.ResponseCode; | |
| 22 | +import com.bsth.entity.directive.D60; | |
| 23 | +import com.bsth.entity.directive.D64; | |
| 24 | +import com.bsth.entity.directive.D80; | |
| 25 | +import com.bsth.entity.directive.DC0; | |
| 26 | +import com.bsth.entity.directive.DC0.DC0Data; | |
| 27 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 28 | +import com.bsth.entity.search.CustomerSpecs; | |
| 29 | +import com.bsth.entity.sys.SysUser; | |
| 30 | +import com.bsth.repository.directive.D60Repository; | |
| 31 | +import com.bsth.repository.directive.D64Repository; | |
| 32 | +import com.bsth.repository.directive.D80Repository; | |
| 33 | +import com.bsth.security.util.SecurityUtils; | |
| 34 | +import com.bsth.service.impl.BaseServiceImpl; | |
| 35 | +import com.bsth.service.realcontrol.buffer.ScheduleBuffer; | |
| 36 | +import com.bsth.util.DateUtils; | |
| 37 | +import com.bsth.vehicle.common.CommonMapped; | |
| 38 | +import com.bsth.vehicle.directive.buffer.DirectiveBuffer; | |
| 39 | +import com.bsth.vehicle.directive.entity.Directive; | |
| 40 | +import com.bsth.vehicle.directive.util.DirectiveDataFactory; | |
| 41 | +import com.bsth.vehicle.directive.util.HttpUtils; | |
| 42 | +import com.bsth.vehicle.gpsdata.buffer.GpsRealDataBuffer; | |
| 43 | +import com.bsth.vehicle.gpsdata.entity.GpsRealData; | |
| 44 | +import com.bsth.websocket.handler.RealControlSocketHandler; | |
| 45 | +import com.google.common.base.Splitter; | |
| 46 | + | |
| 47 | +@Service | |
| 48 | +public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implements DirectiveService { | |
| 49 | + | |
| 50 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 51 | + | |
| 52 | + @Autowired | |
| 53 | + D60Repository d60Repository; | |
| 54 | + | |
| 55 | + @Autowired | |
| 56 | + GpsRealDataBuffer gpsRealDataBuffer; | |
| 57 | + | |
| 58 | + @Autowired | |
| 59 | + D64Repository d64Repository; | |
| 60 | + | |
| 61 | + @Autowired | |
| 62 | + RealControlSocketHandler socketHandler; | |
| 63 | + | |
| 64 | + @Autowired | |
| 65 | + D80Repository d80Repository; | |
| 66 | + | |
| 67 | + SimpleDateFormat sdfHHmm = new SimpleDateFormat("HH点mm分"), sdfHHmm2 = new SimpleDateFormat("HH:mm"); | |
| 68 | + | |
| 69 | + static Long schDiff = 1000 * 60 * 60L; | |
| 70 | + | |
| 71 | + @Override | |
| 72 | + public int send60Phrase(String nbbm, String text, String sender) { | |
| 73 | + D60 directive = null; | |
| 74 | + try { | |
| 75 | + directive = create60Data(nbbm, text, (short) 0x00, null); | |
| 76 | + } catch (Exception e) { | |
| 77 | + logger.error("发送消息短语出现异常", e); | |
| 78 | + return -1; | |
| 79 | + } | |
| 80 | + | |
| 81 | + if (null == directive) | |
| 82 | + return -1; | |
| 83 | + | |
| 84 | + // 发送指令 | |
| 85 | + int code = HttpUtils.postJson(JSON.toJSONString(directive)); | |
| 86 | + if(null != sender) | |
| 87 | + directive.setSender(sender); | |
| 88 | + directive.setHttpCode(code); | |
| 89 | + // 添加到缓存,等待入库 | |
| 90 | + //DirectiveBuffer.put(directive); | |
| 91 | + | |
| 92 | + if (code != 0) { | |
| 93 | + directive.setErrorText("网关通讯失败, code: " + code); | |
| 94 | + //DirectiveBuffer.transientList.add(directive); | |
| 95 | + } | |
| 96 | + return code; | |
| 97 | + } | |
| 98 | + | |
| 99 | + @Override | |
| 100 | + public int send60Dispatch(ScheduleRealInfo sch, int finish, String sender) { | |
| 101 | + D60 directive = null; | |
| 102 | + try { | |
| 103 | + // 如果发车时间距当前时间较远,则不发送 | |
| 104 | + /*if (Math.abs(sch.getFcsjT() - System.currentTimeMillis()) > schDiff) { | |
| 105 | + return -2; | |
| 106 | + }*/ | |
| 107 | + | |
| 108 | + String text = "已完成" + finish + "个班次,下一发车时间" + sdfHHmm.format(new Date(sch.getDfsjT())) + ",由" | |
| 109 | + + sch.getQdzName() + "发往" + sch.getZdzName(); | |
| 110 | + | |
| 111 | + ScheduleRealInfo nextSch = ScheduleBuffer.getNext(sch); | |
| 112 | + //下发0x02指令 调度指令(闹钟有效) | |
| 113 | + /*directive = DirectiveDataFactory.createDirective6002(sch.getClZbh(), text, (short) 0x02 | |
| 114 | + , Integer.parseInt(nextSch.getXlDir()), 0, new Date(System.currentTimeMillis() + 1000 * 30));*/ | |
| 115 | + } catch (Exception e) { | |
| 116 | + logger.error("生成调度指令时出现异常", e); | |
| 117 | + return -1; | |
| 118 | + } | |
| 119 | + | |
| 120 | + if (null == directive) | |
| 121 | + return -1; | |
| 122 | + if(null != sender) | |
| 123 | + directive.setSender(sender); | |
| 124 | + else | |
| 125 | + directive.setSender("系统"); | |
| 126 | + | |
| 127 | + // 发送指令 | |
| 128 | + int code = HttpUtils.postJson(JSON.toJSONString(directive)); | |
| 129 | + | |
| 130 | + sch.setDirectiveState(60); | |
| 131 | + // 添加到缓存,等待入库 | |
| 132 | + directive.setDispatch(true); | |
| 133 | + directive.setSch(sch); | |
| 134 | + directive.setHttpCode(code); | |
| 135 | + //DirectiveBuffer.put(directive); | |
| 136 | + | |
| 137 | + if (code == 0) { | |
| 138 | + // 通知页面,消息已发出 | |
| 139 | + sendDirectiveToPage(sch); | |
| 140 | + } else { | |
| 141 | + directive.setErrorText("网关通讯失败, code: " + code); | |
| 142 | + //DirectiveBuffer.transientList.add(directive); | |
| 143 | + } | |
| 144 | + return code; | |
| 145 | + } | |
| 146 | + | |
| 147 | + /** | |
| 148 | + * | |
| 149 | + * @Title: sendDirectiveState @Description: TODO(向页面推送班次指令状态) @throws | |
| 150 | + */ | |
| 151 | + @Override | |
| 152 | + public void sendDirectiveToPage(ScheduleRealInfo sch) { | |
| 153 | + JSONObject json = new JSONObject(); | |
| 154 | + json.put("fn", "directive"); | |
| 155 | + json.put("t", sch); | |
| 156 | + socketHandler.sendMessageToLine(Integer.parseInt(sch.getXlBm()), json.toJSONString()); | |
| 157 | + } | |
| 158 | + | |
| 159 | + @Override | |
| 160 | + public int send60Dispatch(Long id, String sender) { | |
| 161 | + ScheduleRealInfo sch = ScheduleBuffer.findOne(id); | |
| 162 | + // 车辆已完成班次 | |
| 163 | + int finish = ScheduleBuffer.getFinishSchNo(sch.getClZbh()); | |
| 164 | + return send60Dispatch(sch, finish, sender); | |
| 165 | + } | |
| 166 | + | |
| 167 | + @Override | |
| 168 | + public int send60Operation(String nbbm, int state, int upDown, ScheduleRealInfo sch, String sender) { | |
| 169 | + logger.info("切换运营状态, nbbm: " + nbbm + " ,state: " + state + " ,upDown:" + upDown); | |
| 170 | + | |
| 171 | + String text = "切换为 " + (upDown == 0 ? "上行" : "下行") + (state == 0 ? "营运" : "未营运"); | |
| 172 | + D60 directive = /*DirectiveDataFactory.createDirective60(nbbm, text, (short) 0x03, upDown, state)*/null; | |
| 173 | + | |
| 174 | + if (null == directive) | |
| 175 | + return -1; | |
| 176 | + if(null != sender) | |
| 177 | + directive.setSender(sender); | |
| 178 | + else | |
| 179 | + directive.setSender("系统"); | |
| 180 | + // 发送指令 | |
| 181 | + int code = HttpUtils.postJson(JSON.toJSONString(directive)); | |
| 182 | + // 添加到缓存,等待入库 | |
| 183 | + directive.setHttpCode(code); | |
| 184 | + if (null != sch) | |
| 185 | + directive.setSch(sch); | |
| 186 | + //DirectiveBuffer.put(directive); | |
| 187 | + | |
| 188 | + if (code != 0) { | |
| 189 | + directive.setErrorText("网关通讯失败, code: " + code); | |
| 190 | + //DirectiveBuffer.transientList.add(directive); | |
| 191 | + } | |
| 192 | + return code; | |
| 193 | + } | |
| 194 | + | |
| 195 | + /** | |
| 196 | + * 线路切换 | |
| 197 | + */ | |
| 198 | + @Override | |
| 199 | + public int lineChange(String nbbm, Integer lineCode, String sender) { | |
| 200 | + Long t = System.currentTimeMillis(); | |
| 201 | + /*String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 202 | + | |
| 203 | + Directive64 change = new Directive64(); | |
| 204 | + LineChangeData data = new LineChangeData(); | |
| 205 | + data.setCityCode(cityCode); | |
| 206 | + data.setDeviceId(deviceId); | |
| 207 | + data.setLineId("00" + String.valueOf(lineCode)); | |
| 208 | + | |
| 209 | + change.setDeviceId(deviceId); | |
| 210 | + change.setOperCode((short) 0X64); | |
| 211 | + change.setTimestamp(t); | |
| 212 | + change.setData(data);*/ | |
| 213 | + D64 d64 = /*DirectiveDataFactory.createDirective64(nbbm, lineCode, t)*/null; | |
| 214 | + | |
| 215 | + if(null != sender) | |
| 216 | + d64.setSender(sender); | |
| 217 | + else | |
| 218 | + d64.setSender("系统"); | |
| 219 | + | |
| 220 | + String deviceId = d64.getDeviceId(); | |
| 221 | + int code = HttpUtils.postJson(JSON.toJSONString(d64)); | |
| 222 | + // 入库 | |
| 223 | + d64.setHttpCode(code); | |
| 224 | + //DirectiveBuffer.changeMap.put(deviceId + '_' + t, d64); | |
| 225 | + | |
| 226 | + // 通知设备刷新线路文件,忽略结果 | |
| 227 | + if (code == 0) | |
| 228 | + HttpUtils.postJson(DirectiveDataFactory.createDeviceRefreshData(deviceId, lineCode)); | |
| 229 | + else | |
| 230 | + d64.setErrorText("网关通讯失败, code: " + code); | |
| 231 | + | |
| 232 | + d64Repository.save(d64); | |
| 233 | + return code; | |
| 234 | + } | |
| 235 | + | |
| 236 | + public D60 create60Data(String nbbm, String text, Short dispatchInstruct, ScheduleRealInfo sch) { | |
| 237 | + | |
| 238 | + String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 239 | + if (null == deviceId) { | |
| 240 | + logger.error("没有设备号对照的车辆:" + nbbm); | |
| 241 | + return null; | |
| 242 | + } | |
| 243 | + // 上下行和营运状态 | |
| 244 | + Integer upDown = null, state = null; | |
| 245 | + if (null == sch) { | |
| 246 | + GpsRealData gpsData = gpsRealDataBuffer.findOneByDeviceId(deviceId); | |
| 247 | + if (null == gpsData) { | |
| 248 | + logger.error("没有找到gps对照,无法确认营运状态和上下行:" + nbbm); | |
| 249 | + return null; | |
| 250 | + } | |
| 251 | + upDown = gpsData.getUpDown(); | |
| 252 | + state = gpsData.getState(); | |
| 253 | + } else { | |
| 254 | + upDown = Integer.parseInt(sch.getXlDir()); | |
| 255 | + state = 0; | |
| 256 | + } | |
| 257 | + | |
| 258 | + return /*DirectiveDataFactory.createDirective60(nbbm, text, dispatchInstruct, upDown, state)*/null; | |
| 259 | + } | |
| 260 | + | |
| 261 | +/* public Directive60 createDirective60(String nbbm, String text, Short dispatchInstruct, int upDown, int state) { | |
| 262 | + Long timestamp = System.currentTimeMillis(); | |
| 263 | + | |
| 264 | + Short company = Short.parseShort(CommonMapped.vehicCompanyMap.get(nbbm)); | |
| 265 | + String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 266 | + | |
| 267 | + int msgId = MsgIdGenerator.getMsgId(); | |
| 268 | + | |
| 269 | + Directive60 directive = new Directive60(); | |
| 270 | + DirectiveData data = new DirectiveData(); | |
| 271 | + // 一级协议 | |
| 272 | + directive.setOperCode((short) 0x60); | |
| 273 | + // 设备号 | |
| 274 | + directive.setDeviceId(deviceId); | |
| 275 | + // 时间戳 | |
| 276 | + directive.setTimestamp(timestamp); | |
| 277 | + directive.setMsgId(msgId); | |
| 278 | + // 构造数据 | |
| 279 | + data.setDeviceId(deviceId); | |
| 280 | + data.setDispatchInstruct(dispatchInstruct); | |
| 281 | + data.setTimestamp(timestamp); | |
| 282 | + data.setCompanyCode(company); | |
| 283 | + data.setMsgId(msgId); | |
| 284 | + directive.setData(data); | |
| 285 | + long serviceState; | |
| 286 | + try { | |
| 287 | + serviceState = Consts.SERVICE_STATE[upDown][state]; | |
| 288 | + } catch (IndexOutOfBoundsException e) { | |
| 289 | + // 未知营运状态的直接默认为上行非营运 | |
| 290 | + serviceState = Consts.SERVICE_STATE[0][1]; | |
| 291 | + } | |
| 292 | + data.setServiceState(serviceState); | |
| 293 | + data.setTxtContent(text); | |
| 294 | + | |
| 295 | + return directive; | |
| 296 | + }*/ | |
| 297 | + | |
| 298 | + @Override | |
| 299 | + public int upDownChange(String nbbm, Integer upDown, String sender) { | |
| 300 | + return send60Operation(nbbm, 0, upDown, null, sender); | |
| 301 | + } | |
| 302 | + | |
| 303 | + /** | |
| 304 | + * | |
| 305 | + * @Title: createDeviceRefreshData @Description: | |
| 306 | + * TODO(生成设备线路刷新数据包) @param @return 设定文件 @return String 返回类型 @throws | |
| 307 | + */ | |
| 308 | +/* public String createDeviceRefreshData(String deviceId, Integer lineId) { | |
| 309 | + Long t = System.currentTimeMillis(); | |
| 310 | + Map<String, Object> param = new HashMap<String, Object>(); | |
| 311 | + param.put("deviceId", deviceId); | |
| 312 | + param.put("timestamp", t); | |
| 313 | + param.put("operCode", 0Xc0); | |
| 314 | + | |
| 315 | + Map<String, Object> data = new HashMap<String, Object>(); | |
| 316 | + data.put("operCode2", 0xa1); | |
| 317 | + data.put("cityCode", cityCode); | |
| 318 | + data.put("deviceId", deviceId); | |
| 319 | + data.put("timestamp", t); | |
| 320 | + data.put("centerId", 1); | |
| 321 | + data.put("lineId", lineId); | |
| 322 | + data.put("lineVersion", 0); | |
| 323 | + data.put("carparkDataVersion", 0); | |
| 324 | + param.put("data", data); | |
| 325 | + | |
| 326 | + return JSON.toJSONString(param); | |
| 327 | + }*/ | |
| 328 | + | |
| 329 | + @Override | |
| 330 | + public Map<String, List<D80>> findNoCofm80(String lineCodes) { | |
| 331 | + List<String> lineList = Splitter.on(",").trimResults().splitToList(lineCodes); | |
| 332 | + | |
| 333 | + Map<String, List<D80>> rs = new HashMap<>(); | |
| 334 | + for (String code : lineList) { | |
| 335 | + rs.put(code, /*DirectiveBuffer.findNoCofm80(Integer.parseInt(code))*/null); | |
| 336 | + } | |
| 337 | + | |
| 338 | + return rs; | |
| 339 | + } | |
| 340 | + | |
| 341 | + @Override | |
| 342 | + public Map<String, Object> reply80(int id, int reply) { | |
| 343 | + Map<String, Object> rs = new HashMap<>(); | |
| 344 | + | |
| 345 | + D80 d80 = /*DirectiveBuffer.findById80(id)*/null; | |
| 346 | + if (null == d80) { | |
| 347 | + rs.put("status", ResponseCode.ERROR); | |
| 348 | + rs.put("msg", "服务器没有找到对应数据!"); | |
| 349 | + } else if (d80.isConfirm()) { | |
| 350 | + rs.put("status", ResponseCode.ERROR); | |
| 351 | + rs.put("msg", "该数据已经被处理了!"); | |
| 352 | + } else { | |
| 353 | + SysUser user = SecurityUtils.getCurrentUser(); | |
| 354 | + | |
| 355 | + d80.setConfirm(true); | |
| 356 | + d80.setHandleUser(user.getUserName()); | |
| 357 | + d80.setConfirmRs(reply); | |
| 358 | + d80.setHandleTime(new Date()); | |
| 359 | + // 封装C0数据包并回复设备 | |
| 360 | + DC0 c0 = new DC0(); | |
| 361 | + c0.setDeviceId(d80.getDeviceId()); | |
| 362 | + c0.setTimestamp(d80.getTimestamp()); | |
| 363 | + c0.setOperCode((short) 0xC0); | |
| 364 | + | |
| 365 | + DC0Data data = new DC0Data(); | |
| 366 | + data.setOperCode2((short) 0x86); | |
| 367 | + data.setRequestAck((short) (reply == 0 ? 0x06 : 0x15)); | |
| 368 | + | |
| 369 | + c0.setData(data); | |
| 370 | + | |
| 371 | + d80.setC0(c0); | |
| 372 | + // 入库 | |
| 373 | + d80Repository.save(d80); | |
| 374 | + | |
| 375 | + int code = HttpUtils.postJson(JSON.toJSONString(c0)); | |
| 376 | + | |
| 377 | + rs.put("status", ResponseCode.SUCCESS); | |
| 378 | + if (code != 0) | |
| 379 | + rs.put("msg", "发送C0响应指令到车载设备失败,但该操作已经被系统记录!"); | |
| 380 | + | |
| 381 | + // 通知页面 | |
| 382 | + Map<String, Object> sockMap = new HashMap<>(); | |
| 383 | + sockMap.put("fn", "d80Confirm"); | |
| 384 | + sockMap.put("id", d80.getId()); | |
| 385 | + socketHandler.sendMessageToLine(d80.getData().getLineId(), JSON.toJSONString(sockMap)); | |
| 386 | + } | |
| 387 | + | |
| 388 | + return rs; | |
| 389 | + } | |
| 390 | + | |
| 391 | + @Override | |
| 392 | + public Map<String, Object> findDirective(String nbbm, int dType, int page, int size) { | |
| 393 | + Map<String, Object> rsMap = new HashMap<>(); | |
| 394 | + List<Directive> list = null; | |
| 395 | + | |
| 396 | + switch (dType) { | |
| 397 | + case -1: | |
| 398 | + //所有指令 | |
| 399 | + list = DirectiveBuffer.findAll(); | |
| 400 | + break; | |
| 401 | + case 0: | |
| 402 | + //调度指令 | |
| 403 | + list = DirectiveBuffer.findDispatch(); | |
| 404 | + break; | |
| 405 | + case 1: | |
| 406 | + //运营指令 | |
| 407 | + list = DirectiveBuffer.findByDispatchInstruct((short)0x03); | |
| 408 | + break; | |
| 409 | + case 2: | |
| 410 | + //线路切换指令 | |
| 411 | + list = DirectiveBuffer.findLineChange(); | |
| 412 | + break; | |
| 413 | + case 3: | |
| 414 | + //消息短语 | |
| 415 | + list = DirectiveBuffer.findByDispatchInstruct((short)0x00); | |
| 416 | + break; | |
| 417 | + } | |
| 418 | + | |
| 419 | + // 时间倒序 | |
| 420 | + Collections.sort(list, new DirectiveBuffer.DComparator()); | |
| 421 | + if(StringUtils.isNotBlank(nbbm)){ | |
| 422 | + String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 423 | + //按车辆过滤 | |
| 424 | + List<Directive> subList = new ArrayList<>(); | |
| 425 | + for(Directive d : list){ | |
| 426 | + if(d.getDeviceId().equals(deviceId)){ | |
| 427 | + subList.add(d); | |
| 428 | + } | |
| 429 | + } | |
| 430 | + list = subList; | |
| 431 | + } | |
| 432 | + | |
| 433 | + int count = list.size(); | |
| 434 | + // 分页 | |
| 435 | + int s = page * size, e = s + size; | |
| 436 | + | |
| 437 | + if (e > count) | |
| 438 | + e = count; | |
| 439 | + | |
| 440 | + List<Directive> rs = list.subList(s, e); | |
| 441 | + | |
| 442 | + // 时间格式化,车辆自编号转换 | |
| 443 | + for (Directive d : rs) { | |
| 444 | + if (d.getTimeHHmm() == null) | |
| 445 | + d.setTimeHHmm(sdfHHmm2.format(new Date(d.getTimestamp()))); | |
| 446 | + if (d.getNbbm() == null) | |
| 447 | + d.setNbbm(CommonMapped.vehicDeviceBiMap.get(d.getDeviceId())); | |
| 448 | + } | |
| 449 | + | |
| 450 | + rsMap.put("list", rs); | |
| 451 | + rsMap.put("totalPages", count % size == 0 ? count / size : count / size + 1); | |
| 452 | + rsMap.put("page", page); | |
| 453 | + return rsMap; | |
| 454 | + } | |
| 455 | + | |
| 456 | + @Override | |
| 457 | + public Page<D80> findAll80(Map<String, Object> map, PageRequest pageRequest) { | |
| 458 | + //默认只查看当天的 | |
| 459 | + map.put("timestamp_gt", DateUtils.getTimestamp()); | |
| 460 | + | |
| 461 | + Object nbbm = map.get("nbbm"); | |
| 462 | + if(null != nbbm && StringUtils.isNotBlank(nbbm.toString())){ | |
| 463 | + map.put("deviceId_eq", CommonMapped.vehicDeviceBiMap.inverse().get(nbbm.toString())); | |
| 464 | + } | |
| 465 | + | |
| 466 | + Page<D80> pageData = d80Repository.findAll(new CustomerSpecs<D80>(map), pageRequest); | |
| 467 | + //格式化时间和转换车辆自编号 | |
| 468 | + List<D80> list = pageData.getContent(); | |
| 469 | + for(D80 d80 : list){ | |
| 470 | + d80.setTimeStr(sdfHHmm2.format(new Date(d80.getTimestamp()))); | |
| 471 | + d80.getData().setNbbm(CommonMapped.vehicDeviceBiMap.get(d80.getDeviceId())); | |
| 472 | + } | |
| 473 | + return pageData; | |
| 474 | + } | |
| 475 | +} | ... | ... |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| ... | ... | @@ -62,7 +62,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 62 | 62 | |
| 63 | 63 | List<ScheduleRealInfo> exportWaybill(String jName,String clZbh,String lpName); |
| 64 | 64 | |
| 65 | - List<Map<String,Object>> dailyInfo(String line,String date); | |
| 65 | + List<Map<String,Object>> dailyInfo(String line,String date,String type); | |
| 66 | 66 | |
| 67 | 67 | List<Object[]> historyMessage(String line,String date,String code); |
| 68 | 68 | |
| ... | ... | @@ -95,4 +95,8 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 95 | 95 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName); |
| 96 | 96 | |
| 97 | 97 | Map<String, Object> removeChildTask(Long taskId); |
| 98 | + | |
| 99 | + List<Map<String,Object>> statisticsDaily(String line,String date,String xlName); | |
| 100 | + | |
| 101 | + List<Object> scheduleDaily(String line,String date); | |
| 98 | 102 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -42,7 +42,9 @@ import com.bsth.service.SectionRouteService; |
| 42 | 42 | import com.bsth.service.impl.BaseServiceImpl; |
| 43 | 43 | import com.bsth.service.realcontrol.ScheduleRealInfoService; |
| 44 | 44 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; |
| 45 | +import com.bsth.util.ReportRelatedUtils; | |
| 45 | 46 | import com.bsth.util.ReportUtils; |
| 47 | +import com.bsth.util.TimeUtils; | |
| 46 | 48 | import com.bsth.util.TransGPS; |
| 47 | 49 | import com.bsth.util.TransGPS.Location; |
| 48 | 50 | import com.bsth.vehicle.BorrowCenter; |
| ... | ... | @@ -87,7 +89,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 87 | 89 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 88 | 90 | |
| 89 | 91 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| 90 | - sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm"), sdfShort = new SimpleDateFormat("HH:mm"); | |
| 92 | + sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm"), sdfShort = new SimpleDateFormat("HH:mm"), | |
| 93 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | |
| 91 | 94 | |
| 92 | 95 | @Override |
| 93 | 96 | public Map<String, Collection<ScheduleRealInfo>> findByLines(String lines) { |
| ... | ... | @@ -426,13 +429,16 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 426 | 429 | public List<ScheduleRealInfo> queryUserInfo(String line, String date) { |
| 427 | 430 | return scheduleRealInfoRepository.queryUserInfo(line, date); |
| 428 | 431 | } |
| 429 | - | |
| 432 | + /** | |
| 433 | + * | |
| 434 | + */ | |
| 430 | 435 | @Override |
| 431 | 436 | public List<ScheduleRealInfo> exportWaybill(String jName, String clZbh, String lpName) { |
| 432 | 437 | ReportUtils ee = new ReportUtils(); |
| 438 | + ReportRelatedUtils rru = new ReportRelatedUtils(); | |
| 433 | 439 | List<Iterator<?>> list = new ArrayList<Iterator<?>>(); |
| 434 | 440 | List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.exportWaybill(jName, clZbh, lpName); |
| 435 | - ScheduleRealInfo scheduleReal = scheduleRealInfoRepository.findOne(scheduleRealInfos.get(0).getId()); | |
| 441 | + List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>(); | |
| 436 | 442 | |
| 437 | 443 | DecimalFormat format = new DecimalFormat("0.00"); |
| 438 | 444 | int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); |
| ... | ... | @@ -440,7 +446,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 440 | 446 | int jhbc = 0; |
| 441 | 447 | double jhlc = 0; |
| 442 | 448 | float realMileage = 0l,addMileage = 0l,remMileage = 0l; |
| 443 | - Map<String,Object> map = new HashMap<String, Object>(); | |
| 449 | + | |
| 450 | + Map<String,Object> map; | |
| 444 | 451 | for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){ |
| 445 | 452 | if(scheduleRealInfo != null){ |
| 446 | 453 | jhlc += scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); |
| ... | ... | @@ -448,8 +455,34 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 448 | 455 | addMileage += scheduleRealInfo.getAddMileage()==null?0:scheduleRealInfo.getAddMileage(); |
| 449 | 456 | remMileage += scheduleRealInfo.getRemMileage()==null?0:scheduleRealInfo.getRemMileage(); |
| 450 | 457 | jhbc++; |
| 458 | + | |
| 459 | + map = new HashMap<String, Object>(); | |
| 460 | + try { | |
| 461 | + map = rru.getMapValue(scheduleRealInfo); | |
| 462 | + String zdsj = scheduleRealInfo.getZdsj(); | |
| 463 | + String zdsjActual = scheduleRealInfo.getZdsjActual(); | |
| 464 | + if(zdsj != null && zdsjActual != null && | |
| 465 | + !zdsj.equals(zdsjActual)){ | |
| 466 | + if(zdsj.compareTo(zdsjActual) > 0){ | |
| 467 | + map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | |
| 468 | + map.put("slow", ""); | |
| 469 | + } else { | |
| 470 | + map.put("fast", ""); | |
| 471 | + map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | |
| 472 | + } | |
| 473 | + } else { | |
| 474 | + map.put("fast", ""); | |
| 475 | + map.put("slow", ""); | |
| 476 | + } | |
| 477 | + listMap.add(map); | |
| 478 | + } catch (Exception e) { | |
| 479 | + e.printStackTrace(); | |
| 480 | + } | |
| 451 | 481 | } |
| 452 | 482 | } |
| 483 | + | |
| 484 | + //计算里程和班次数,并放入Map里 | |
| 485 | + map = new HashMap<String, Object>(); | |
| 453 | 486 | map.put("jhlc", format.format(jhlc)); |
| 454 | 487 | map.put("remMileage", format.format(remMileage)); |
| 455 | 488 | map.put("addMileage", format.format(addMileage)); |
| ... | ... | @@ -463,19 +496,50 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 463 | 496 | |
| 464 | 497 | String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\"; |
| 465 | 498 | |
| 466 | - list.add(scheduleRealInfos.iterator()); | |
| 467 | - ee.excelReplace(list, new Object[] { scheduleReal,map }, path+"mould\\waybill.xls", | |
| 499 | + list.add(listMap.iterator()); | |
| 500 | + ee.excelReplace(list, new Object[] { scheduleRealInfos.get(0),map }, path+"mould\\waybill.xls", | |
| 468 | 501 | path+"export\\" + jName + ".xls"); |
| 469 | 502 | return scheduleRealInfos; |
| 470 | 503 | } |
| 471 | 504 | |
| 472 | 505 | @Override |
| 473 | - public List<Map<String, Object>> dailyInfo(String line, String date) { | |
| 506 | + public List<Map<String, Object>> dailyInfo(String line, String date,String type) { | |
| 474 | 507 | DecimalFormat format = new DecimalFormat("0.00"); |
| 508 | + ReportUtils ee = new ReportUtils(); | |
| 509 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 475 | 510 | List<Map<String, Object>> list = scheduleRealInfoRepository.dailyInfo(line, date); |
| 511 | + | |
| 512 | + double totalZGL = 0,totalKSGL=0,totalYH=0; | |
| 513 | + int totalBCS=0; | |
| 476 | 514 | for(int i = 0;i < list.size();i++){ |
| 477 | - list.get(i).put("zgl", format.format(Double.parseDouble(list.get(i).get("zgl")==null?"0":list.get(i).get("zgl").toString()))); | |
| 478 | - list.get(i).put("ksgl", format.format(Double.parseDouble(list.get(i).get("ksgl")==null?"0":list.get(i).get("ksgl").toString()))); | |
| 515 | + String zgl = format.format(Double.parseDouble(list.get(i).get("zgl")==null?"0":list.get(i).get("zgl").toString())); | |
| 516 | + String ksgl = format.format(Double.parseDouble(list.get(i).get("ksgl")==null?"0":list.get(i).get("ksgl").toString())); | |
| 517 | + if(type.equals("export")){ | |
| 518 | + totalZGL += Double.parseDouble(zgl); | |
| 519 | + totalKSGL += Double.parseDouble(ksgl); | |
| 520 | + totalBCS += Integer.parseInt(list.get(i).get("bcs").toString()); | |
| 521 | + } | |
| 522 | + list.get(i).put("zgl", zgl); | |
| 523 | + list.get(i).put("ksgl", ksgl); | |
| 524 | + } | |
| 525 | + if(type.equals("export")){ | |
| 526 | + Map<String,Object> map = new HashMap<String, Object>(); | |
| 527 | + map.put("line", line); | |
| 528 | + map.put("date", date); | |
| 529 | + map.put("totalZGL", totalZGL); | |
| 530 | + map.put("totalKSGL", totalKSGL); | |
| 531 | + map.put("totalYH", totalYH); | |
| 532 | + map.put("totalBCS", totalBCS); | |
| 533 | + | |
| 534 | + String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\"; | |
| 535 | + | |
| 536 | + listI.add(list.iterator()); | |
| 537 | + try { | |
| 538 | + ee.excelReplace(listI, new Object[] { map }, path+"mould\\daily.xls", | |
| 539 | + path+"export\\班次日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | |
| 540 | + } catch (ParseException e) { | |
| 541 | + e.printStackTrace(); | |
| 542 | + } | |
| 479 | 543 | } |
| 480 | 544 | return list; |
| 481 | 545 | } |
| ... | ... | @@ -907,9 +971,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 907 | 971 | map.put("jhlc", format.format(jhlc)); |
| 908 | 972 | map.put("remMileage", format.format(remMileage)); |
| 909 | 973 | map.put("addMileage", format.format(addMileage)); |
| 910 | - map.put("yygl", format.format(realMileage-addMileage)); | |
| 974 | + map.put("yygl", format.format(jhlc)); | |
| 911 | 975 | map.put("ksgl", format.format(realMileage-addMileage)); |
| 912 | - map.put("realMileage", format.format(realMileage)); | |
| 976 | + map.put("realMileage", format.format(jhlc)); | |
| 913 | 977 | map.put("jhbc", jhbc); |
| 914 | 978 | map.put("cjbc", cjbc); |
| 915 | 979 | map.put("ljbc", ljbc); |
| ... | ... | @@ -967,4 +1031,40 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 967 | 1031 | } |
| 968 | 1032 | return rs; |
| 969 | 1033 | } |
| 1034 | + | |
| 1035 | + @Override | |
| 1036 | + public List<Map<String, Object>> statisticsDaily(String line, String date, | |
| 1037 | + String xlName) { | |
| 1038 | + List<ScheduleRealInfo> list = scheduleRealInfoRepository.statisticsDaily(line, date); | |
| 1039 | + double jhlc = 0.00; | |
| 1040 | + float realMileage = 0l; | |
| 1041 | + for(ScheduleRealInfo scheduleRealInfo: list){ | |
| 1042 | + if(scheduleRealInfo != null){ | |
| 1043 | + jhlc += scheduleRealInfo.getJhlc(); | |
| 1044 | + if(scheduleRealInfo.getsName().equals("1")){ | |
| 1045 | + realMileage += scheduleRealInfo.getRealMileage(); | |
| 1046 | + } | |
| 1047 | + } | |
| 1048 | + } | |
| 1049 | + return null; | |
| 1050 | + } | |
| 1051 | + | |
| 1052 | + @Override | |
| 1053 | + public List<Object> scheduleDaily(String line, String date) { | |
| 1054 | + Map<String,String> tempMap = null; | |
| 1055 | + List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.scheduleDaily(line, date); | |
| 1056 | + Map<String, Object> map = new HashMap<String, Object>(); | |
| 1057 | + Double jhlc = 0.00; | |
| 1058 | + for(ScheduleRealInfo scheduleRealInfo:scheduleRealInfos){ | |
| 1059 | + if(scheduleRealInfo != null){ | |
| 1060 | + jhlc += scheduleRealInfo.getJhlc(); | |
| 1061 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 1062 | + if(childTaskPlans.isEmpty()){ | |
| 1063 | + | |
| 1064 | + } | |
| 1065 | + } | |
| 1066 | + } | |
| 1067 | + map.put("jhlc", jhlc); | |
| 1068 | + return null; | |
| 1069 | + } | |
| 970 | 1070 | } | ... | ... |
src/main/java/com/bsth/service/sys/SysUserService.java
src/main/java/com/bsth/service/sys/impl/SysUserServiceImpl.java
| 1 | 1 | package com.bsth.service.sys.impl; |
| 2 | 2 | |
| 3 | +import java.util.Map; | |
| 4 | + | |
| 3 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 6 | +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | |
| 4 | 7 | import org.springframework.stereotype.Service; |
| 5 | 8 | |
| 6 | 9 | import com.bsth.entity.sys.SysUser; |
| ... | ... | @@ -18,4 +21,22 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUser, Integer> implem |
| 18 | 21 | public SysUser findByUserName(String name) { |
| 19 | 22 | return sysUserRepository.findByUserName(name); |
| 20 | 23 | } |
| 24 | + | |
| 25 | + @Override | |
| 26 | + public Map<String, Object> save(SysUser t) { | |
| 27 | + // | |
| 28 | + t.setPassword(new BCryptPasswordEncoder(4).encode(t.getPassword())); | |
| 29 | + return super.save(t); | |
| 30 | + } | |
| 31 | + | |
| 32 | + @Override | |
| 33 | + public int changeEnabled(int id, int enabled) { | |
| 34 | + sysUserRepository.changeEnabled(id,enabled); | |
| 35 | + return 0; | |
| 36 | + } | |
| 37 | + | |
| 38 | + @Override | |
| 39 | + public int changePWD(int id,String newPWD) { | |
| 40 | + return sysUserRepository.changePWD(id,new BCryptPasswordEncoder(4).encode(newPWD)); | |
| 41 | + } | |
| 21 | 42 | } | ... | ... |
src/main/java/com/bsth/util/ReportRelatedUtils.java
| 1 | 1 | package com.bsth.util; |
| 2 | 2 | |
| 3 | +import java.lang.reflect.Field; | |
| 3 | 4 | import java.lang.reflect.InvocationTargetException; |
| 4 | 5 | import java.lang.reflect.Method; |
| 6 | +import java.util.HashMap; | |
| 7 | +import java.util.Map; | |
| 8 | + | |
| 9 | +import org.apache.poi.ss.formula.functions.T; | |
| 5 | 10 | |
| 6 | 11 | import com.bsth.entity.Line; |
| 7 | 12 | |
| ... | ... | @@ -52,6 +57,42 @@ public class ReportRelatedUtils { |
| 52 | 57 | } |
| 53 | 58 | return value; |
| 54 | 59 | } |
| 60 | + | |
| 61 | + /** | |
| 62 | + * 通过字段名取到对象中该字段的相应值 | |
| 63 | + * | |
| 64 | + * @param t | |
| 65 | + * 对象 | |
| 66 | + * @param fieldName | |
| 67 | + * 字段名 | |
| 68 | + * @return | |
| 69 | + * @throws ClassNotFoundException | |
| 70 | + * @throws IllegalAccessException | |
| 71 | + * @throws InvocationTargetException | |
| 72 | + * @throws NoSuchMethodException | |
| 73 | + * @throws NoSuchFieldException | |
| 74 | + */ | |
| 75 | + public Map<String,Object> getMapValue(Object t) | |
| 76 | + throws ClassNotFoundException, IllegalAccessException, | |
| 77 | + InvocationTargetException, NoSuchMethodException, | |
| 78 | + NoSuchFieldException { | |
| 79 | + Map<String,Object> map = new HashMap<String, Object>(); | |
| 80 | + Object value = ""; | |
| 81 | + Field[] fields = t.getClass().getDeclaredFields(); | |
| 82 | + for(Field field:fields){ | |
| 83 | + String fieldName = field.getName(); | |
| 84 | + String tmpFieldName = firstCharToUpperCase(fieldName); | |
| 85 | + Method method = null; | |
| 86 | + try { | |
| 87 | + method = t.getClass().getMethod("get" + tmpFieldName); | |
| 88 | + value = method.invoke(t)==null?"":method.invoke(t); | |
| 89 | + } catch (NoSuchMethodException e) { | |
| 90 | + value = ""; | |
| 91 | + } | |
| 92 | + map.put(fieldName, value); | |
| 93 | + } | |
| 94 | + return map; | |
| 95 | + } | |
| 55 | 96 | |
| 56 | 97 | /** |
| 57 | 98 | * 首字母大写 | ... | ... |
src/main/java/com/bsth/util/ReportUtils.java
| ... | ... | @@ -279,6 +279,9 @@ public class ReportUtils { |
| 279 | 279 | } |
| 280 | 280 | } else if (obj.getClass().getName().equals(classWholeName)) { |
| 281 | 281 | cellValue = cellValue.replace("$" + tmpKey + "$",getKeyValue(obj, fieldName) + ""); |
| 282 | + } else if (obj.getClass().getName().equals("java.util.HashMap")){ | |
| 283 | + Map<String,Object> map = (HashMap<String,Object>)obj; | |
| 284 | + cellValue = cellValue.replace("$" + tmpKey + "$",map.get(fieldName)+""); | |
| 282 | 285 | } |
| 283 | 286 | } |
| 284 | 287 | } | ... | ... |
src/main/java/com/bsth/util/TimeUtils.java
0 → 100644
| 1 | +package com.bsth.util; | |
| 2 | + | |
| 3 | +public class TimeUtils { | |
| 4 | + public static String getTimeDifference(String date1,String date2){ | |
| 5 | + String[] temp1 = date1.split(":"); | |
| 6 | + String[] temp2 = date2.split(":"); | |
| 7 | + int m1 = Integer.parseInt(temp1[0])*60; | |
| 8 | + int s1 = Integer.parseInt(temp1[1]); | |
| 9 | + int m2 = Integer.parseInt(temp2[0])*60; | |
| 10 | + int s2 = Integer.parseInt(temp2[1]); | |
| 11 | + if(date1.compareTo(date2) > 0){ | |
| 12 | + return ((m1+s1)-(m2+s2))+""; | |
| 13 | + } else { | |
| 14 | + return ((m2+s2)-(m1+s1))+""; | |
| 15 | + } | |
| 16 | + } | |
| 17 | +} | ... | ... |
src/main/java/com/bsth/vehicle/directive/entity/DirectiveReply.java
src/main/resources/application-dev.properties
| ... | ... | @@ -26,6 +26,6 @@ spring.datasource.validation-query=select 1 |
| 26 | 26 | ## |
| 27 | 27 | #222.66.0.204:5555 |
| 28 | 28 | ##\u5B9E\u65F6gps |
| 29 | -http.gps.real.url= http://27.115.69.123:8800/transport_server/rtgps/ | |
| 29 | +http.gps.real.url= http://192.168.168.192:8080/transport_server/rtgps/ | |
| 30 | 30 | ##\u6D88\u606F\u4E0B\u53D1 |
| 31 | 31 | http.send.directive = http://192.168.168.192:8080/transport_server/message/ |
| 32 | 32 | \ No newline at end of file | ... | ... |
src/main/resources/datatools/ktrs/carsConfigDataInput.ktr
| ... | ... | @@ -85,11 +85,11 @@ |
| 85 | 85 | </info> |
| 86 | 86 | <notepads> |
| 87 | 87 | <notepad> |
| 88 | - <note>配车分当前/历史/计划,历史配车有终止时间,然后是否切换基本都是1
是否切换 暂时不知道什么意思,当前配车都设置为0
终止时间 当前配车没有终止时间,这个估计要作为查询条件的
早班时间 没有暂时空着
末班时间 没有暂时空着</note> | |
| 88 | + <note>配车分当前/历史/计划,历史配车有终止时间,然后是否切换基本都是1
是否切换 暂时不知道什么意思,当前配车都设置为0
终止时间 当前配车没有终止时间,这个估计要作为查询条件的
早班时间 没有暂时空着
末班时间 没有暂时空着
</note> | |
| 89 | 89 | <xloc>260</xloc> |
| 90 | 90 | <yloc>124</yloc> |
| 91 | 91 | <width>391</width> |
| 92 | - <heigth>90</heigth> | |
| 92 | + <heigth>106</heigth> | |
| 93 | 93 | <fontname>YaHei Consolas Hybrid</fontname> |
| 94 | 94 | <fontsize>12</fontsize> |
| 95 | 95 | <fontbold>N</fontbold> |
| ... | ... | @@ -111,7 +111,7 @@ |
| 111 | 111 | <server>${v_db_ip}</server> |
| 112 | 112 | <type>MYSQL</type> |
| 113 | 113 | <access>Native</access> |
| 114 | - <database>control</database> | |
| 114 | + <database>${v_db_dname}</database> | |
| 115 | 115 | <port>3306</port> |
| 116 | 116 | <username>${v_db_uname}</username> |
| 117 | 117 | <password>${v_db_pwd}</password> |
| ... | ... | @@ -329,7 +329,7 @@ |
| 329 | 329 | <precision>-1</precision> |
| 330 | 330 | <trim_type>none</trim_type> |
| 331 | 331 | <repeat>N</repeat> |
| 332 | - <format/> | |
| 332 | + <format>#</format> | |
| 333 | 333 | <currency/> |
| 334 | 334 | <decimal/> |
| 335 | 335 | <group/> |
| ... | ... | @@ -513,6 +513,41 @@ |
| 513 | 513 | </step> |
| 514 | 514 | |
| 515 | 515 | <step> |
| 516 | + <name>日期转换</name> | |
| 517 | + <type>SelectValues</type> | |
| 518 | + <description/> | |
| 519 | + <distribute>Y</distribute> | |
| 520 | + <custom_distribution/> | |
| 521 | + <copies>1</copies> | |
| 522 | + <partitioning> | |
| 523 | + <method>none</method> | |
| 524 | + <schema_name/> | |
| 525 | + </partitioning> | |
| 526 | + <fields> <select_unspecified>N</select_unspecified> | |
| 527 | + <meta> <name>qyrq</name> | |
| 528 | + <rename>qyrq</rename> | |
| 529 | + <type>Date</type> | |
| 530 | + <length>-2</length> | |
| 531 | + <precision>-2</precision> | |
| 532 | + <conversion_mask>yyyy-MM-dd</conversion_mask> | |
| 533 | + <date_format_lenient>false</date_format_lenient> | |
| 534 | + <date_format_locale/> | |
| 535 | + <date_format_timezone/> | |
| 536 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 537 | + <encoding/> | |
| 538 | + <decimal_symbol/> | |
| 539 | + <grouping_symbol/> | |
| 540 | + <currency_symbol/> | |
| 541 | + <storage_type/> | |
| 542 | + </meta> </fields> <cluster_schema/> | |
| 543 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 544 | + <xloc>913</xloc> | |
| 545 | + <yloc>54</yloc> | |
| 546 | + <draw>Y</draw> | |
| 547 | + </GUI> | |
| 548 | + </step> | |
| 549 | + | |
| 550 | + <step> | |
| 516 | 551 | <name>是否切换</name> |
| 517 | 552 | <type>Constant</type> |
| 518 | 553 | <description/> |
| ... | ... | @@ -801,41 +836,6 @@ |
| 801 | 836 | </GUI> |
| 802 | 837 | </step> |
| 803 | 838 | |
| 804 | - <step> | |
| 805 | - <name>日期转换</name> | |
| 806 | - <type>SelectValues</type> | |
| 807 | - <description/> | |
| 808 | - <distribute>Y</distribute> | |
| 809 | - <custom_distribution/> | |
| 810 | - <copies>1</copies> | |
| 811 | - <partitioning> | |
| 812 | - <method>none</method> | |
| 813 | - <schema_name/> | |
| 814 | - </partitioning> | |
| 815 | - <fields> <select_unspecified>N</select_unspecified> | |
| 816 | - <meta> <name>qyrq</name> | |
| 817 | - <rename>qyrq</rename> | |
| 818 | - <type>Date</type> | |
| 819 | - <length>-2</length> | |
| 820 | - <precision>-2</precision> | |
| 821 | - <conversion_mask>yyyy-MM-dd</conversion_mask> | |
| 822 | - <date_format_lenient>false</date_format_lenient> | |
| 823 | - <date_format_locale/> | |
| 824 | - <date_format_timezone/> | |
| 825 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 826 | - <encoding/> | |
| 827 | - <decimal_symbol/> | |
| 828 | - <grouping_symbol/> | |
| 829 | - <currency_symbol/> | |
| 830 | - <storage_type/> | |
| 831 | - </meta> </fields> <cluster_schema/> | |
| 832 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 833 | - <xloc>913</xloc> | |
| 834 | - <yloc>54</yloc> | |
| 835 | - <draw>Y</draw> | |
| 836 | - </GUI> | |
| 837 | - </step> | |
| 838 | - | |
| 839 | 839 | <step_error_handling> |
| 840 | 840 | <error> |
| 841 | 841 | <source_step>插入/更新bsth_c_s_ccinfo</source_step> | ... | ... |
src/main/resources/datatools/ktrs/carsDataInput.ktr
| ... | ... | @@ -85,11 +85,11 @@ |
| 85 | 85 | </info> |
| 86 | 86 | <notepads> |
| 87 | 87 | <notepad> |
| 88 | - <note>原系统的导出表,有些数据是没有的,有些数据也有问题,如下
报废日期去掉
车辆编码,暂时用1代替
是否电车 没有
车辆序号 没有
是否切换 没有
线路名称(这里不做关联,只是登记的时候使用) 咩有

字典
是与否truefalseType 是 1
是与否truefalseType 否 0

供应商名称snames 巴士拓华 1
供应商名称snames 博康 2

营运状态yyztType 营运 1
营运状态yyztType 停运 2
营运状态yyztType 挂失 3
营运状态yyztType 迁出(过户) 4
营运状态yyztType 迁出(转籍) 5
营运状态yyztType 报废 6
营运状态yyztType 歇业 7
营运状态yyztType 注销 8
营运状态yyztType 测试 9
营运状态yyztType 其他 10

机动车类型jdcType 非机动车 1
机动车类型jdcType 机动一队 2
机动车类型jdcType 机动二队 3
机动车类型jdcType 机动三队 4
机动车类型jdcType 备车 5
机动车类型jdcType 抢修车 6

车辆类型carType 营运车 1
车辆类型carType 包车 2
车辆类型carType 学校班车 3
车辆类型carType 公司班车 4
车辆类型carType 待报废车 5
车辆类型carType 备车 6
车辆类型carType 测试设备 7



</note> | |
| 88 | + <note>原系统的导出表,有些数据是没有的,有些数据也有问题,如下
报废日期去掉
车辆编码,暂时用1代替
是否电车 没有
车辆序号 没有
是否切换 没有
线路名称(这里不做关联,只是登记的时候使用) 咩有

字典
是与否truefalseType 是 1
是与否truefalseType 否 0


供应商名称snames 巴士拓华 1
供应商名称snames 博康 2

营运状态yyztType 营运 1
营运状态yyztType 停运 2
营运状态yyztType 挂失 3
营运状态yyztType 迁出(过户) 4
营运状态yyztType 迁出(转籍) 5
营运状态yyztType 报废 6
营运状态yyztType 歇业 7
营运状态yyztType 注销 8
营运状态yyztType 测试 9
营运状态yyztType 其他 10

机动车类型jdcType 非机动车 1
机动车类型jdcType 机动一队 2
机动车类型jdcType 机动二队 3
机动车类型jdcType 机动三队 4
机动车类型jdcType 备车 5
机动车类型jdcType 抢修车 6

车辆类型carType 营运车 1
车辆类型carType 包车 2
车辆类型carType 学校班车 3
车辆类型carType 公司班车 4
车辆类型carType 待报废车 5
车辆类型carType 备车 6
车辆类型carType 测试设备 7



</note> | |
| 89 | 89 | <xloc>45</xloc> |
| 90 | 90 | <yloc>254</yloc> |
| 91 | 91 | <width>346</width> |
| 92 | - <heigth>714</heigth> | |
| 92 | + <heigth>730</heigth> | |
| 93 | 93 | <fontname>YaHei Consolas Hybrid</fontname> |
| 94 | 94 | <fontsize>12</fontsize> |
| 95 | 95 | <fontbold>N</fontbold> | ... | ... |
src/main/resources/datatools/ktrs/carsDataOutput.ktr
| ... | ... | @@ -1357,8 +1357,8 @@ |
| 1357 | 1357 | </fields> |
| 1358 | 1358 | <cluster_schema/> |
| 1359 | 1359 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1360 | - <xloc>206</xloc> | |
| 1361 | - <yloc>154</yloc> | |
| 1360 | + <xloc>208</xloc> | |
| 1361 | + <yloc>157</yloc> | |
| 1362 | 1362 | <draw>Y</draw> |
| 1363 | 1363 | </GUI> |
| 1364 | 1364 | </step> | ... | ... |
src/main/resources/datatools/ktrs/employeesConfigDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>employeesConfigDataInput</name> | |
| 5 | - <description>人员配置信息导入</description> | |
| 6 | - <extended_description>人员配置信息</extended_description> | |
| 7 | - <trans_version/> | |
| 8 | - <trans_type>Normal</trans_type> | |
| 9 | - <trans_status>0</trans_status> | |
| 10 | - <directory>/</directory> | |
| 11 | - <parameters> | |
| 12 | - <parameter> | |
| 13 | - <name>erroroutputdir</name> | |
| 14 | - <default_value/> | |
| 15 | - <description>ktr step配置的错误输出目录</description> | |
| 16 | - </parameter> | |
| 17 | - <parameter> | |
| 18 | - <name>filepath</name> | |
| 19 | - <default_value/> | |
| 20 | - <description>待处理导入的excel文件</description> | |
| 21 | - </parameter> | |
| 22 | - </parameters> | |
| 23 | - <log> | |
| 24 | -<trans-log-table><connection/> | |
| 25 | -<schema/> | |
| 26 | -<table/> | |
| 27 | -<size_limit_lines/> | |
| 28 | -<interval/> | |
| 29 | -<timeout_days/> | |
| 30 | -<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> | |
| 31 | -<perf-log-table><connection/> | |
| 32 | -<schema/> | |
| 33 | -<table/> | |
| 34 | -<interval/> | |
| 35 | -<timeout_days/> | |
| 36 | -<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> | |
| 37 | -<channel-log-table><connection/> | |
| 38 | -<schema/> | |
| 39 | -<table/> | |
| 40 | -<timeout_days/> | |
| 41 | -<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> | |
| 42 | -<step-log-table><connection/> | |
| 43 | -<schema/> | |
| 44 | -<table/> | |
| 45 | -<timeout_days/> | |
| 46 | -<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> | |
| 47 | -<metrics-log-table><connection/> | |
| 48 | -<schema/> | |
| 49 | -<table/> | |
| 50 | -<timeout_days/> | |
| 51 | -<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> | |
| 52 | - </log> | |
| 53 | - <maxdate> | |
| 54 | - <connection/> | |
| 55 | - <table/> | |
| 56 | - <field/> | |
| 57 | - <offset>0.0</offset> | |
| 58 | - <maxdiff>0.0</maxdiff> | |
| 59 | - </maxdate> | |
| 60 | - <size_rowset>10000</size_rowset> | |
| 61 | - <sleep_time_empty>50</sleep_time_empty> | |
| 62 | - <sleep_time_full>50</sleep_time_full> | |
| 63 | - <unique_connections>N</unique_connections> | |
| 64 | - <feedback_shown>Y</feedback_shown> | |
| 65 | - <feedback_size>50000</feedback_size> | |
| 66 | - <using_thread_priorities>Y</using_thread_priorities> | |
| 67 | - <shared_objects_file/> | |
| 68 | - <capture_step_performance>N</capture_step_performance> | |
| 69 | - <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 70 | - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 71 | - <dependencies> | |
| 72 | - </dependencies> | |
| 73 | - <partitionschemas> | |
| 74 | - </partitionschemas> | |
| 75 | - <slaveservers> | |
| 76 | - </slaveservers> | |
| 77 | - <clusterschemas> | |
| 78 | - </clusterschemas> | |
| 79 | - <created_user>-</created_user> | |
| 80 | - <created_date>2016/06/29 15:12:27.273</created_date> | |
| 81 | - <modified_user>-</modified_user> | |
| 82 | - <modified_date>2016/06/29 15:12:27.273</modified_date> | |
| 83 | - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | - <is_key_private>N</is_key_private> | |
| 85 | - </info> | |
| 86 | - <notepads> | |
| 87 | - <notepad> | |
| 88 | - <note>原系统的表中,车辆内部编码是没的,
搭班编码 这个貌似用于驾驶员和售票员用的,好像不能一样的
车辆内部编码 没有暂时空着</note> | |
| 89 | - <xloc>252</xloc> | |
| 90 | - <yloc>178</yloc> | |
| 91 | - <width>341</width> | |
| 92 | - <heigth>58</heigth> | |
| 93 | - <fontname>YaHei Consolas Hybrid</fontname> | |
| 94 | - <fontsize>12</fontsize> | |
| 95 | - <fontbold>N</fontbold> | |
| 96 | - <fontitalic>N</fontitalic> | |
| 97 | - <fontcolorred>0</fontcolorred> | |
| 98 | - <fontcolorgreen>0</fontcolorgreen> | |
| 99 | - <fontcolorblue>0</fontcolorblue> | |
| 100 | - <backgroundcolorred>255</backgroundcolorred> | |
| 101 | - <backgroundcolorgreen>205</backgroundcolorgreen> | |
| 102 | - <backgroundcolorblue>112</backgroundcolorblue> | |
| 103 | - <bordercolorred>100</bordercolorred> | |
| 104 | - <bordercolorgreen>100</bordercolorgreen> | |
| 105 | - <bordercolorblue>100</bordercolorblue> | |
| 106 | - <drawshadow>Y</drawshadow> | |
| 107 | - </notepad> | |
| 108 | - </notepads> | |
| 109 | - <connection> | |
| 110 | - <name>bus_control_variable</name> | |
| 111 | - <server>${v_db_ip}</server> | |
| 112 | - <type>MYSQL</type> | |
| 113 | - <access>Native</access> | |
| 114 | - <database>control</database> | |
| 115 | - <port>3306</port> | |
| 116 | - <username>${v_db_uname}</username> | |
| 117 | - <password>${v_db_pwd}</password> | |
| 118 | - <servername/> | |
| 119 | - <data_tablespace/> | |
| 120 | - <index_tablespace/> | |
| 121 | - <attributes> | |
| 122 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 123 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 124 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 125 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 126 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 127 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 128 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 129 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 130 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 131 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 132 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 133 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 134 | - </attributes> | |
| 135 | - </connection> | |
| 136 | - <connection> | |
| 137 | - <name>bus_control_公司_201</name> | |
| 138 | - <server>localhost</server> | |
| 139 | - <type>MYSQL</type> | |
| 140 | - <access>Native</access> | |
| 141 | - <database>control</database> | |
| 142 | - <port>3306</port> | |
| 143 | - <username>root</username> | |
| 144 | - <password>Encrypted </password> | |
| 145 | - <servername/> | |
| 146 | - <data_tablespace/> | |
| 147 | - <index_tablespace/> | |
| 148 | - <attributes> | |
| 149 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 150 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 151 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 152 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 153 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 154 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 155 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 156 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 157 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 158 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 159 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 160 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 161 | - </attributes> | |
| 162 | - </connection> | |
| 163 | - <connection> | |
| 164 | - <name>bus_control_本机</name> | |
| 165 | - <server>localhost</server> | |
| 166 | - <type>MYSQL</type> | |
| 167 | - <access>Native</access> | |
| 168 | - <database>control</database> | |
| 169 | - <port>3306</port> | |
| 170 | - <username>root</username> | |
| 171 | - <password>Encrypted </password> | |
| 172 | - <servername/> | |
| 173 | - <data_tablespace/> | |
| 174 | - <index_tablespace/> | |
| 175 | - <attributes> | |
| 176 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 177 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 178 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 179 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 180 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 181 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 182 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 183 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 184 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 185 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 186 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 187 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 188 | - </attributes> | |
| 189 | - </connection> | |
| 190 | - <connection> | |
| 191 | - <name>xlab_mysql_youle</name> | |
| 192 | - <server>101.231.124.8</server> | |
| 193 | - <type>MYSQL</type> | |
| 194 | - <access>Native</access> | |
| 195 | - <database>xlab_youle</database> | |
| 196 | - <port>45687</port> | |
| 197 | - <username>xlab-youle</username> | |
| 198 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 199 | - <servername/> | |
| 200 | - <data_tablespace/> | |
| 201 | - <index_tablespace/> | |
| 202 | - <attributes> | |
| 203 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 204 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 205 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 206 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 207 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 208 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 209 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 210 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 211 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 212 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 213 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 214 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 215 | - </attributes> | |
| 216 | - </connection> | |
| 217 | - <connection> | |
| 218 | - <name>xlab_mysql_youle(本机)</name> | |
| 219 | - <server>localhost</server> | |
| 220 | - <type>MYSQL</type> | |
| 221 | - <access>Native</access> | |
| 222 | - <database>xlab_youle</database> | |
| 223 | - <port>3306</port> | |
| 224 | - <username>root</username> | |
| 225 | - <password>Encrypted </password> | |
| 226 | - <servername/> | |
| 227 | - <data_tablespace/> | |
| 228 | - <index_tablespace/> | |
| 229 | - <attributes> | |
| 230 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 231 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 232 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 233 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 234 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 235 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 236 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 237 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 238 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 239 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 240 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 241 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 242 | - </attributes> | |
| 243 | - </connection> | |
| 244 | - <connection> | |
| 245 | - <name>xlab_youle</name> | |
| 246 | - <server/> | |
| 247 | - <type>MYSQL</type> | |
| 248 | - <access>JNDI</access> | |
| 249 | - <database>xlab_youle</database> | |
| 250 | - <port>1521</port> | |
| 251 | - <username/> | |
| 252 | - <password>Encrypted </password> | |
| 253 | - <servername/> | |
| 254 | - <data_tablespace/> | |
| 255 | - <index_tablespace/> | |
| 256 | - <attributes> | |
| 257 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 258 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 259 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 260 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 261 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 262 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 263 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 264 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 265 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 266 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 267 | - </attributes> | |
| 268 | - </connection> | |
| 269 | - <order> | |
| 270 | - <hop> <from>原始系统导出的Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 271 | - <hop> <from>字段选择</from><to>查询线路关联</to><enabled>Y</enabled> </hop> | |
| 272 | - <hop> <from>插入/更新bsth_c_s_ecinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 273 | - <hop> <from>查询售票员关联</from><to>插入/更新bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop> | |
| 274 | - <hop> <from>查询线路关联</from><to>查询驾驶员关联</to><enabled>Y</enabled> </hop> | |
| 275 | - <hop> <from>查询驾驶员关联</from><to>查询售票员关联</to><enabled>Y</enabled> </hop> | |
| 276 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 277 | - </order> | |
| 278 | - <step> | |
| 279 | - <name>原始系统导出的Excel输入</name> | |
| 280 | - <type>ExcelInput</type> | |
| 281 | - <description/> | |
| 282 | - <distribute>Y</distribute> | |
| 283 | - <custom_distribution/> | |
| 284 | - <copies>1</copies> | |
| 285 | - <partitioning> | |
| 286 | - <method>none</method> | |
| 287 | - <schema_name/> | |
| 288 | - </partitioning> | |
| 289 | - <header>Y</header> | |
| 290 | - <noempty>Y</noempty> | |
| 291 | - <stoponempty>N</stoponempty> | |
| 292 | - <filefield/> | |
| 293 | - <sheetfield/> | |
| 294 | - <sheetrownumfield/> | |
| 295 | - <rownumfield/> | |
| 296 | - <sheetfield/> | |
| 297 | - <filefield/> | |
| 298 | - <limit>0</limit> | |
| 299 | - <encoding/> | |
| 300 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 301 | - <accept_filenames>Y</accept_filenames> | |
| 302 | - <accept_field>filepath_</accept_field> | |
| 303 | - <accept_stepname>获取变量</accept_stepname> | |
| 304 | - <file> | |
| 305 | - <name/> | |
| 306 | - <filemask/> | |
| 307 | - <exclude_filemask/> | |
| 308 | - <file_required>N</file_required> | |
| 309 | - <include_subfolders>N</include_subfolders> | |
| 310 | - </file> | |
| 311 | - <fields> | |
| 312 | - <field> | |
| 313 | - <name>线路</name> | |
| 314 | - <type>String</type> | |
| 315 | - <length>-1</length> | |
| 316 | - <precision>-1</precision> | |
| 317 | - <trim_type>none</trim_type> | |
| 318 | - <repeat>N</repeat> | |
| 319 | - <format/> | |
| 320 | - <currency/> | |
| 321 | - <decimal/> | |
| 322 | - <group/> | |
| 323 | - </field> | |
| 324 | - <field> | |
| 325 | - <name>搭班编码</name> | |
| 326 | - <type>String</type> | |
| 327 | - <length>-1</length> | |
| 328 | - <precision>-1</precision> | |
| 329 | - <trim_type>none</trim_type> | |
| 330 | - <repeat>N</repeat> | |
| 331 | - <format/> | |
| 332 | - <currency/> | |
| 333 | - <decimal/> | |
| 334 | - <group/> | |
| 335 | - </field> | |
| 336 | - <field> | |
| 337 | - <name>驾驶员工号</name> | |
| 338 | - <type>String</type> | |
| 339 | - <length>-1</length> | |
| 340 | - <precision>-1</precision> | |
| 341 | - <trim_type>none</trim_type> | |
| 342 | - <repeat>N</repeat> | |
| 343 | - <format/> | |
| 344 | - <currency/> | |
| 345 | - <decimal/> | |
| 346 | - <group/> | |
| 347 | - </field> | |
| 348 | - <field> | |
| 349 | - <name>驾驶员</name> | |
| 350 | - <type>String</type> | |
| 351 | - <length>-1</length> | |
| 352 | - <precision>-1</precision> | |
| 353 | - <trim_type>none</trim_type> | |
| 354 | - <repeat>N</repeat> | |
| 355 | - <format/> | |
| 356 | - <currency/> | |
| 357 | - <decimal/> | |
| 358 | - <group/> | |
| 359 | - </field> | |
| 360 | - <field> | |
| 361 | - <name>售票员工号</name> | |
| 362 | - <type>String</type> | |
| 363 | - <length>-1</length> | |
| 364 | - <precision>-1</precision> | |
| 365 | - <trim_type>none</trim_type> | |
| 366 | - <repeat>N</repeat> | |
| 367 | - <format/> | |
| 368 | - <currency/> | |
| 369 | - <decimal/> | |
| 370 | - <group/> | |
| 371 | - </field> | |
| 372 | - <field> | |
| 373 | - <name>售票员</name> | |
| 374 | - <type>String</type> | |
| 375 | - <length>-1</length> | |
| 376 | - <precision>-1</precision> | |
| 377 | - <trim_type>none</trim_type> | |
| 378 | - <repeat>N</repeat> | |
| 379 | - <format/> | |
| 380 | - <currency/> | |
| 381 | - <decimal/> | |
| 382 | - <group/> | |
| 383 | - </field> | |
| 384 | - <field> | |
| 385 | - <name>车辆</name> | |
| 386 | - <type>String</type> | |
| 387 | - <length>-1</length> | |
| 388 | - <precision>-1</precision> | |
| 389 | - <trim_type>none</trim_type> | |
| 390 | - <repeat>N</repeat> | |
| 391 | - <format/> | |
| 392 | - <currency/> | |
| 393 | - <decimal/> | |
| 394 | - <group/> | |
| 395 | - </field> | |
| 396 | - </fields> | |
| 397 | - <sheets> | |
| 398 | - <sheet> | |
| 399 | - <name>工作表1</name> | |
| 400 | - <startrow>0</startrow> | |
| 401 | - <startcol>0</startcol> | |
| 402 | - </sheet> | |
| 403 | - </sheets> | |
| 404 | - <strict_types>N</strict_types> | |
| 405 | - <error_ignored>N</error_ignored> | |
| 406 | - <error_line_skipped>N</error_line_skipped> | |
| 407 | - <bad_line_files_destination_directory/> | |
| 408 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 409 | - <error_line_files_destination_directory/> | |
| 410 | - <error_line_files_extension>error</error_line_files_extension> | |
| 411 | - <line_number_files_destination_directory/> | |
| 412 | - <line_number_files_extension>line</line_number_files_extension> | |
| 413 | - <shortFileFieldName/> | |
| 414 | - <pathFieldName/> | |
| 415 | - <hiddenFieldName/> | |
| 416 | - <lastModificationTimeFieldName/> | |
| 417 | - <uriNameFieldName/> | |
| 418 | - <rootUriNameFieldName/> | |
| 419 | - <extensionFieldName/> | |
| 420 | - <sizeFieldName/> | |
| 421 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 422 | - <cluster_schema/> | |
| 423 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 424 | - <xloc>144</xloc> | |
| 425 | - <yloc>49</yloc> | |
| 426 | - <draw>Y</draw> | |
| 427 | - </GUI> | |
| 428 | - </step> | |
| 429 | - | |
| 430 | - <step> | |
| 431 | - <name>字段选择</name> | |
| 432 | - <type>SelectValues</type> | |
| 433 | - <description/> | |
| 434 | - <distribute>Y</distribute> | |
| 435 | - <custom_distribution/> | |
| 436 | - <copies>1</copies> | |
| 437 | - <partitioning> | |
| 438 | - <method>none</method> | |
| 439 | - <schema_name/> | |
| 440 | - </partitioning> | |
| 441 | - <fields> <field> <name>线路</name> | |
| 442 | - <rename>xl</rename> | |
| 443 | - <length>-2</length> | |
| 444 | - <precision>-2</precision> | |
| 445 | - </field> <field> <name>搭班编码</name> | |
| 446 | - <rename>dbbm</rename> | |
| 447 | - <length>-2</length> | |
| 448 | - <precision>-2</precision> | |
| 449 | - </field> <field> <name>驾驶员工号</name> | |
| 450 | - <rename>jsy_no</rename> | |
| 451 | - <length>-2</length> | |
| 452 | - <precision>-2</precision> | |
| 453 | - </field> <field> <name>驾驶员</name> | |
| 454 | - <rename>jsy_name</rename> | |
| 455 | - <length>-2</length> | |
| 456 | - <precision>-2</precision> | |
| 457 | - </field> <field> <name>售票员工号</name> | |
| 458 | - <rename>spy_no</rename> | |
| 459 | - <length>-2</length> | |
| 460 | - <precision>-2</precision> | |
| 461 | - </field> <field> <name>售票员</name> | |
| 462 | - <rename>spy_name</rename> | |
| 463 | - <length>-2</length> | |
| 464 | - <precision>-2</precision> | |
| 465 | - </field> <field> <name>车辆</name> | |
| 466 | - <rename>cl</rename> | |
| 467 | - <length>-2</length> | |
| 468 | - <precision>-2</precision> | |
| 469 | - </field> <select_unspecified>N</select_unspecified> | |
| 470 | - </fields> <cluster_schema/> | |
| 471 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 472 | - <xloc>294</xloc> | |
| 473 | - <yloc>50</yloc> | |
| 474 | - <draw>Y</draw> | |
| 475 | - </GUI> | |
| 476 | - </step> | |
| 477 | - | |
| 478 | - <step> | |
| 479 | - <name>插入/更新bsth_c_s_ecinfo</name> | |
| 480 | - <type>InsertUpdate</type> | |
| 481 | - <description/> | |
| 482 | - <distribute>Y</distribute> | |
| 483 | - <custom_distribution/> | |
| 484 | - <copies>1</copies> | |
| 485 | - <partitioning> | |
| 486 | - <method>none</method> | |
| 487 | - <schema_name/> | |
| 488 | - </partitioning> | |
| 489 | - <connection>bus_control_variable</connection> | |
| 490 | - <commit>100</commit> | |
| 491 | - <update_bypassed>N</update_bypassed> | |
| 492 | - <lookup> | |
| 493 | - <schema/> | |
| 494 | - <table>bsth_c_s_ecinfo</table> | |
| 495 | - <key> | |
| 496 | - <name>xlid</name> | |
| 497 | - <field>xl</field> | |
| 498 | - <condition>=</condition> | |
| 499 | - <name2/> | |
| 500 | - </key> | |
| 501 | - <key> | |
| 502 | - <name>jsyid</name> | |
| 503 | - <field>jsy</field> | |
| 504 | - <condition>=</condition> | |
| 505 | - <name2/> | |
| 506 | - </key> | |
| 507 | - <key> | |
| 508 | - <name>spyid</name> | |
| 509 | - <field>spy</field> | |
| 510 | - <condition>=</condition> | |
| 511 | - <name2/> | |
| 512 | - </key> | |
| 513 | - <value> | |
| 514 | - <name>xl</name> | |
| 515 | - <rename>xlid</rename> | |
| 516 | - <update>Y</update> | |
| 517 | - </value> | |
| 518 | - <value> | |
| 519 | - <name>dbbm</name> | |
| 520 | - <rename>dbbm</rename> | |
| 521 | - <update>Y</update> | |
| 522 | - </value> | |
| 523 | - <value> | |
| 524 | - <name>jsy</name> | |
| 525 | - <rename>jsyid</rename> | |
| 526 | - <update>Y</update> | |
| 527 | - </value> | |
| 528 | - <value> | |
| 529 | - <name>spy</name> | |
| 530 | - <rename>spyid</rename> | |
| 531 | - <update>Y</update> | |
| 532 | - </value> | |
| 533 | - </lookup> | |
| 534 | - <cluster_schema/> | |
| 535 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 536 | - <xloc>721</xloc> | |
| 537 | - <yloc>181</yloc> | |
| 538 | - <draw>Y</draw> | |
| 539 | - </GUI> | |
| 540 | - </step> | |
| 541 | - | |
| 542 | - <step> | |
| 543 | - <name>查询售票员关联</name> | |
| 544 | - <type>DBLookup</type> | |
| 545 | - <description/> | |
| 546 | - <distribute>Y</distribute> | |
| 547 | - <custom_distribution/> | |
| 548 | - <copies>1</copies> | |
| 549 | - <partitioning> | |
| 550 | - <method>none</method> | |
| 551 | - <schema_name/> | |
| 552 | - </partitioning> | |
| 553 | - <connection>bus_control_variable</connection> | |
| 554 | - <cache>N</cache> | |
| 555 | - <cache_load_all>N</cache_load_all> | |
| 556 | - <cache_size>0</cache_size> | |
| 557 | - <lookup> | |
| 558 | - <schema/> | |
| 559 | - <table>bsth_c_personnel</table> | |
| 560 | - <orderby/> | |
| 561 | - <fail_on_multiple>N</fail_on_multiple> | |
| 562 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 563 | - <key> | |
| 564 | - <name>spy_no</name> | |
| 565 | - <field>job_code</field> | |
| 566 | - <condition>=</condition> | |
| 567 | - <name2/> | |
| 568 | - </key> | |
| 569 | - <value> | |
| 570 | - <name>id</name> | |
| 571 | - <rename>spyid</rename> | |
| 572 | - <default/> | |
| 573 | - <type>Integer</type> | |
| 574 | - </value> | |
| 575 | - </lookup> | |
| 576 | - <cluster_schema/> | |
| 577 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 578 | - <xloc>720</xloc> | |
| 579 | - <yloc>51</yloc> | |
| 580 | - <draw>Y</draw> | |
| 581 | - </GUI> | |
| 582 | - </step> | |
| 583 | - | |
| 584 | - <step> | |
| 585 | - <name>查询线路关联</name> | |
| 586 | - <type>DBLookup</type> | |
| 587 | - <description/> | |
| 588 | - <distribute>Y</distribute> | |
| 589 | - <custom_distribution/> | |
| 590 | - <copies>1</copies> | |
| 591 | - <partitioning> | |
| 592 | - <method>none</method> | |
| 593 | - <schema_name/> | |
| 594 | - </partitioning> | |
| 595 | - <connection>bus_control_variable</connection> | |
| 596 | - <cache>N</cache> | |
| 597 | - <cache_load_all>N</cache_load_all> | |
| 598 | - <cache_size>0</cache_size> | |
| 599 | - <lookup> | |
| 600 | - <schema/> | |
| 601 | - <table>bsth_c_line</table> | |
| 602 | - <orderby/> | |
| 603 | - <fail_on_multiple>N</fail_on_multiple> | |
| 604 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 605 | - <key> | |
| 606 | - <name>xl</name> | |
| 607 | - <field>name</field> | |
| 608 | - <condition>=</condition> | |
| 609 | - <name2/> | |
| 610 | - </key> | |
| 611 | - <value> | |
| 612 | - <name>id</name> | |
| 613 | - <rename>xlid</rename> | |
| 614 | - <default/> | |
| 615 | - <type>Integer</type> | |
| 616 | - </value> | |
| 617 | - </lookup> | |
| 618 | - <cluster_schema/> | |
| 619 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 620 | - <xloc>429</xloc> | |
| 621 | - <yloc>51</yloc> | |
| 622 | - <draw>Y</draw> | |
| 623 | - </GUI> | |
| 624 | - </step> | |
| 625 | - | |
| 626 | - <step> | |
| 627 | - <name>查询驾驶员关联</name> | |
| 628 | - <type>DBLookup</type> | |
| 629 | - <description/> | |
| 630 | - <distribute>Y</distribute> | |
| 631 | - <custom_distribution/> | |
| 632 | - <copies>1</copies> | |
| 633 | - <partitioning> | |
| 634 | - <method>none</method> | |
| 635 | - <schema_name/> | |
| 636 | - </partitioning> | |
| 637 | - <connection>bus_control_variable</connection> | |
| 638 | - <cache>N</cache> | |
| 639 | - <cache_load_all>N</cache_load_all> | |
| 640 | - <cache_size>0</cache_size> | |
| 641 | - <lookup> | |
| 642 | - <schema/> | |
| 643 | - <table>bsth_c_personnel</table> | |
| 644 | - <orderby/> | |
| 645 | - <fail_on_multiple>N</fail_on_multiple> | |
| 646 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 647 | - <key> | |
| 648 | - <name>jsy_no</name> | |
| 649 | - <field>job_code</field> | |
| 650 | - <condition>=</condition> | |
| 651 | - <name2/> | |
| 652 | - </key> | |
| 653 | - <value> | |
| 654 | - <name>id</name> | |
| 655 | - <rename>jsyid</rename> | |
| 656 | - <default/> | |
| 657 | - <type>Integer</type> | |
| 658 | - </value> | |
| 659 | - </lookup> | |
| 660 | - <cluster_schema/> | |
| 661 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 662 | - <xloc>573</xloc> | |
| 663 | - <yloc>51</yloc> | |
| 664 | - <draw>Y</draw> | |
| 665 | - </GUI> | |
| 666 | - </step> | |
| 667 | - | |
| 668 | - <step> | |
| 669 | - <name>获取变量</name> | |
| 670 | - <type>GetVariable</type> | |
| 671 | - <description/> | |
| 672 | - <distribute>Y</distribute> | |
| 673 | - <custom_distribution/> | |
| 674 | - <copies>1</copies> | |
| 675 | - <partitioning> | |
| 676 | - <method>none</method> | |
| 677 | - <schema_name/> | |
| 678 | - </partitioning> | |
| 679 | - <fields> | |
| 680 | - <field> | |
| 681 | - <name>filepath_</name> | |
| 682 | - <variable>${filepath}</variable> | |
| 683 | - <type>String</type> | |
| 684 | - <format/> | |
| 685 | - <currency/> | |
| 686 | - <decimal/> | |
| 687 | - <group/> | |
| 688 | - <length>-1</length> | |
| 689 | - <precision>-1</precision> | |
| 690 | - <trim_type>none</trim_type> | |
| 691 | - </field> | |
| 692 | - <field> | |
| 693 | - <name>erroroutputdir_</name> | |
| 694 | - <variable>${erroroutputdir}</variable> | |
| 695 | - <type>String</type> | |
| 696 | - <format/> | |
| 697 | - <currency/> | |
| 698 | - <decimal/> | |
| 699 | - <group/> | |
| 700 | - <length>-1</length> | |
| 701 | - <precision>-1</precision> | |
| 702 | - <trim_type>none</trim_type> | |
| 703 | - </field> | |
| 704 | - </fields> | |
| 705 | - <cluster_schema/> | |
| 706 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 707 | - <xloc>94</xloc> | |
| 708 | - <yloc>178</yloc> | |
| 709 | - <draw>Y</draw> | |
| 710 | - </GUI> | |
| 711 | - </step> | |
| 712 | - | |
| 713 | - <step> | |
| 714 | - <name>错误输出</name> | |
| 715 | - <type>ExcelOutput</type> | |
| 716 | - <description/> | |
| 717 | - <distribute>Y</distribute> | |
| 718 | - <custom_distribution/> | |
| 719 | - <copies>1</copies> | |
| 720 | - <partitioning> | |
| 721 | - <method>none</method> | |
| 722 | - <schema_name/> | |
| 723 | - </partitioning> | |
| 724 | - <header>Y</header> | |
| 725 | - <footer>N</footer> | |
| 726 | - <encoding>UTF-8</encoding> | |
| 727 | - <append>N</append> | |
| 728 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 729 | - <file> | |
| 730 | - <name>${erroroutputdir}/人员配置_错误</name> | |
| 731 | - <extention>xls</extention> | |
| 732 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 733 | - <create_parent_folder>N</create_parent_folder> | |
| 734 | - <split>N</split> | |
| 735 | - <add_date>N</add_date> | |
| 736 | - <add_time>N</add_time> | |
| 737 | - <SpecifyFormat>N</SpecifyFormat> | |
| 738 | - <date_time_format/> | |
| 739 | - <sheetname>Sheet1</sheetname> | |
| 740 | - <autosizecolums>N</autosizecolums> | |
| 741 | - <nullisblank>N</nullisblank> | |
| 742 | - <protect_sheet>N</protect_sheet> | |
| 743 | - <password>Encrypted </password> | |
| 744 | - <splitevery>0</splitevery> | |
| 745 | - <usetempfiles>N</usetempfiles> | |
| 746 | - <tempdirectory/> | |
| 747 | - </file> | |
| 748 | - <template> | |
| 749 | - <enabled>N</enabled> | |
| 750 | - <append>N</append> | |
| 751 | - <filename>template.xls</filename> | |
| 752 | - </template> | |
| 753 | - <fields> | |
| 754 | - <field> | |
| 755 | - <name>xl</name> | |
| 756 | - <type>String</type> | |
| 757 | - <format/> | |
| 758 | - </field> | |
| 759 | - <field> | |
| 760 | - <name>dbbm</name> | |
| 761 | - <type>String</type> | |
| 762 | - <format/> | |
| 763 | - </field> | |
| 764 | - <field> | |
| 765 | - <name>jsy_no</name> | |
| 766 | - <type>String</type> | |
| 767 | - <format/> | |
| 768 | - </field> | |
| 769 | - <field> | |
| 770 | - <name>jsy_name</name> | |
| 771 | - <type>String</type> | |
| 772 | - <format/> | |
| 773 | - </field> | |
| 774 | - <field> | |
| 775 | - <name>spy_no</name> | |
| 776 | - <type>String</type> | |
| 777 | - <format/> | |
| 778 | - </field> | |
| 779 | - <field> | |
| 780 | - <name>spy_name</name> | |
| 781 | - <type>String</type> | |
| 782 | - <format/> | |
| 783 | - </field> | |
| 784 | - <field> | |
| 785 | - <name>cl</name> | |
| 786 | - <type>String</type> | |
| 787 | - <format/> | |
| 788 | - </field> | |
| 789 | - <field> | |
| 790 | - <name>xlid</name> | |
| 791 | - <type>Integer</type> | |
| 792 | - <format/> | |
| 793 | - </field> | |
| 794 | - <field> | |
| 795 | - <name>jsyid</name> | |
| 796 | - <type>Integer</type> | |
| 797 | - <format/> | |
| 798 | - </field> | |
| 799 | - <field> | |
| 800 | - <name>spyid</name> | |
| 801 | - <type>Integer</type> | |
| 802 | - <format/> | |
| 803 | - </field> | |
| 804 | - <field> | |
| 805 | - <name>error_count</name> | |
| 806 | - <type>Integer</type> | |
| 807 | - <format/> | |
| 808 | - </field> | |
| 809 | - <field> | |
| 810 | - <name>error_desc</name> | |
| 811 | - <type>String</type> | |
| 812 | - <format/> | |
| 813 | - </field> | |
| 814 | - <field> | |
| 815 | - <name>error_column1</name> | |
| 816 | - <type>String</type> | |
| 817 | - <format/> | |
| 818 | - </field> | |
| 819 | - <field> | |
| 820 | - <name>error_column2</name> | |
| 821 | - <type>String</type> | |
| 822 | - <format/> | |
| 823 | - </field> | |
| 824 | - </fields> | |
| 825 | - <custom> | |
| 826 | - <header_font_name>arial</header_font_name> | |
| 827 | - <header_font_size>10</header_font_size> | |
| 828 | - <header_font_bold>N</header_font_bold> | |
| 829 | - <header_font_italic>N</header_font_italic> | |
| 830 | - <header_font_underline>no</header_font_underline> | |
| 831 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 832 | - <header_font_color>black</header_font_color> | |
| 833 | - <header_background_color>none</header_background_color> | |
| 834 | - <header_row_height>255</header_row_height> | |
| 835 | - <header_alignment>left</header_alignment> | |
| 836 | - <header_image/> | |
| 837 | - <row_font_name>arial</row_font_name> | |
| 838 | - <row_font_size>10</row_font_size> | |
| 839 | - <row_font_color>black</row_font_color> | |
| 840 | - <row_background_color>none</row_background_color> | |
| 841 | - </custom> | |
| 842 | - <cluster_schema/> | |
| 843 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 844 | - <xloc>721</xloc> | |
| 845 | - <yloc>304</yloc> | |
| 846 | - <draw>Y</draw> | |
| 847 | - </GUI> | |
| 848 | - </step> | |
| 849 | - | |
| 850 | - <step_error_handling> | |
| 851 | - <error> | |
| 852 | - <source_step>插入/更新bsth_c_s_ecinfo</source_step> | |
| 853 | - <target_step>错误输出</target_step> | |
| 854 | - <is_enabled>Y</is_enabled> | |
| 855 | - <nr_valuename>error_count</nr_valuename> | |
| 856 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 857 | - <fields_valuename>error_column1</fields_valuename> | |
| 858 | - <codes_valuename>error_column2</codes_valuename> | |
| 859 | - <max_errors/> | |
| 860 | - <max_pct_errors/> | |
| 861 | - <min_pct_rows/> | |
| 862 | - </error> | |
| 863 | - </step_error_handling> | |
| 864 | - <slave-step-copy-partition-distribution> | |
| 865 | -</slave-step-copy-partition-distribution> | |
| 866 | - <slave_transformation>N</slave_transformation> | |
| 867 | - | |
| 868 | -</transformation> | |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>employeesConfigDataInput</name> | |
| 5 | + <description>人员配置信息导入</description> | |
| 6 | + <extended_description>人员配置信息</extended_description> | |
| 7 | + <trans_version/> | |
| 8 | + <trans_type>Normal</trans_type> | |
| 9 | + <trans_status>0</trans_status> | |
| 10 | + <directory>/</directory> | |
| 11 | + <parameters> | |
| 12 | + <parameter> | |
| 13 | + <name>erroroutputdir</name> | |
| 14 | + <default_value/> | |
| 15 | + <description>ktr step配置的错误输出目录</description> | |
| 16 | + </parameter> | |
| 17 | + <parameter> | |
| 18 | + <name>filepath</name> | |
| 19 | + <default_value/> | |
| 20 | + <description>待处理导入的excel文件</description> | |
| 21 | + </parameter> | |
| 22 | + </parameters> | |
| 23 | + <log> | |
| 24 | +<trans-log-table><connection/> | |
| 25 | +<schema/> | |
| 26 | +<table/> | |
| 27 | +<size_limit_lines/> | |
| 28 | +<interval/> | |
| 29 | +<timeout_days/> | |
| 30 | +<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> | |
| 31 | +<perf-log-table><connection/> | |
| 32 | +<schema/> | |
| 33 | +<table/> | |
| 34 | +<interval/> | |
| 35 | +<timeout_days/> | |
| 36 | +<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> | |
| 37 | +<channel-log-table><connection/> | |
| 38 | +<schema/> | |
| 39 | +<table/> | |
| 40 | +<timeout_days/> | |
| 41 | +<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> | |
| 42 | +<step-log-table><connection/> | |
| 43 | +<schema/> | |
| 44 | +<table/> | |
| 45 | +<timeout_days/> | |
| 46 | +<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> | |
| 47 | +<metrics-log-table><connection/> | |
| 48 | +<schema/> | |
| 49 | +<table/> | |
| 50 | +<timeout_days/> | |
| 51 | +<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> | |
| 52 | + </log> | |
| 53 | + <maxdate> | |
| 54 | + <connection/> | |
| 55 | + <table/> | |
| 56 | + <field/> | |
| 57 | + <offset>0.0</offset> | |
| 58 | + <maxdiff>0.0</maxdiff> | |
| 59 | + </maxdate> | |
| 60 | + <size_rowset>10000</size_rowset> | |
| 61 | + <sleep_time_empty>50</sleep_time_empty> | |
| 62 | + <sleep_time_full>50</sleep_time_full> | |
| 63 | + <unique_connections>N</unique_connections> | |
| 64 | + <feedback_shown>Y</feedback_shown> | |
| 65 | + <feedback_size>50000</feedback_size> | |
| 66 | + <using_thread_priorities>Y</using_thread_priorities> | |
| 67 | + <shared_objects_file/> | |
| 68 | + <capture_step_performance>N</capture_step_performance> | |
| 69 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 70 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 71 | + <dependencies> | |
| 72 | + </dependencies> | |
| 73 | + <partitionschemas> | |
| 74 | + </partitionschemas> | |
| 75 | + <slaveservers> | |
| 76 | + </slaveservers> | |
| 77 | + <clusterschemas> | |
| 78 | + </clusterschemas> | |
| 79 | + <created_user>-</created_user> | |
| 80 | + <created_date>2016/06/29 15:12:27.273</created_date> | |
| 81 | + <modified_user>-</modified_user> | |
| 82 | + <modified_date>2016/06/29 15:12:27.273</modified_date> | |
| 83 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | + <is_key_private>N</is_key_private> | |
| 85 | + </info> | |
| 86 | + <notepads> | |
| 87 | + <notepad> | |
| 88 | + <note>原系统的表中,车辆内部编码是没的,
搭班编码 这个貌似用于驾驶员和售票员用的,好像不能一样的
车辆内部编码 没有暂时空着

</note> | |
| 89 | + <xloc>252</xloc> | |
| 90 | + <yloc>178</yloc> | |
| 91 | + <width>341</width> | |
| 92 | + <heigth>90</heigth> | |
| 93 | + <fontname>YaHei Consolas Hybrid</fontname> | |
| 94 | + <fontsize>12</fontsize> | |
| 95 | + <fontbold>N</fontbold> | |
| 96 | + <fontitalic>N</fontitalic> | |
| 97 | + <fontcolorred>0</fontcolorred> | |
| 98 | + <fontcolorgreen>0</fontcolorgreen> | |
| 99 | + <fontcolorblue>0</fontcolorblue> | |
| 100 | + <backgroundcolorred>255</backgroundcolorred> | |
| 101 | + <backgroundcolorgreen>205</backgroundcolorgreen> | |
| 102 | + <backgroundcolorblue>112</backgroundcolorblue> | |
| 103 | + <bordercolorred>100</bordercolorred> | |
| 104 | + <bordercolorgreen>100</bordercolorgreen> | |
| 105 | + <bordercolorblue>100</bordercolorblue> | |
| 106 | + <drawshadow>Y</drawshadow> | |
| 107 | + </notepad> | |
| 108 | + </notepads> | |
| 109 | + <connection> | |
| 110 | + <name>bus_control_variable</name> | |
| 111 | + <server>${v_db_ip}</server> | |
| 112 | + <type>MYSQL</type> | |
| 113 | + <access>Native</access> | |
| 114 | + <database>${v_db_dname}</database> | |
| 115 | + <port>3306</port> | |
| 116 | + <username>${v_db_uname}</username> | |
| 117 | + <password>${v_db_pwd}</password> | |
| 118 | + <servername/> | |
| 119 | + <data_tablespace/> | |
| 120 | + <index_tablespace/> | |
| 121 | + <attributes> | |
| 122 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 123 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 124 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 125 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 126 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 127 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 128 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 129 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 130 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 131 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 132 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 133 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 134 | + </attributes> | |
| 135 | + </connection> | |
| 136 | + <connection> | |
| 137 | + <name>bus_control_公司_201</name> | |
| 138 | + <server>localhost</server> | |
| 139 | + <type>MYSQL</type> | |
| 140 | + <access>Native</access> | |
| 141 | + <database>control</database> | |
| 142 | + <port>3306</port> | |
| 143 | + <username>root</username> | |
| 144 | + <password>Encrypted </password> | |
| 145 | + <servername/> | |
| 146 | + <data_tablespace/> | |
| 147 | + <index_tablespace/> | |
| 148 | + <attributes> | |
| 149 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 150 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 151 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 152 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 153 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 154 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 155 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 156 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 157 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 158 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 159 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 160 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 161 | + </attributes> | |
| 162 | + </connection> | |
| 163 | + <connection> | |
| 164 | + <name>bus_control_本机</name> | |
| 165 | + <server>localhost</server> | |
| 166 | + <type>MYSQL</type> | |
| 167 | + <access>Native</access> | |
| 168 | + <database>control</database> | |
| 169 | + <port>3306</port> | |
| 170 | + <username>root</username> | |
| 171 | + <password>Encrypted </password> | |
| 172 | + <servername/> | |
| 173 | + <data_tablespace/> | |
| 174 | + <index_tablespace/> | |
| 175 | + <attributes> | |
| 176 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 177 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 178 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 179 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 180 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 181 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 182 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 183 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 184 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 185 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 186 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 187 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 188 | + </attributes> | |
| 189 | + </connection> | |
| 190 | + <connection> | |
| 191 | + <name>xlab_mysql_youle</name> | |
| 192 | + <server>101.231.124.8</server> | |
| 193 | + <type>MYSQL</type> | |
| 194 | + <access>Native</access> | |
| 195 | + <database>xlab_youle</database> | |
| 196 | + <port>45687</port> | |
| 197 | + <username>xlab-youle</username> | |
| 198 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 199 | + <servername/> | |
| 200 | + <data_tablespace/> | |
| 201 | + <index_tablespace/> | |
| 202 | + <attributes> | |
| 203 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 204 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 205 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 206 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 207 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 208 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 209 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 210 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 211 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 212 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 213 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 214 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 215 | + </attributes> | |
| 216 | + </connection> | |
| 217 | + <connection> | |
| 218 | + <name>xlab_mysql_youle(本机)</name> | |
| 219 | + <server>localhost</server> | |
| 220 | + <type>MYSQL</type> | |
| 221 | + <access>Native</access> | |
| 222 | + <database>xlab_youle</database> | |
| 223 | + <port>3306</port> | |
| 224 | + <username>root</username> | |
| 225 | + <password>Encrypted </password> | |
| 226 | + <servername/> | |
| 227 | + <data_tablespace/> | |
| 228 | + <index_tablespace/> | |
| 229 | + <attributes> | |
| 230 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 231 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 232 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 233 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 234 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 235 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 236 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 237 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 238 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 239 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 240 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 241 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 242 | + </attributes> | |
| 243 | + </connection> | |
| 244 | + <connection> | |
| 245 | + <name>xlab_youle</name> | |
| 246 | + <server/> | |
| 247 | + <type>MYSQL</type> | |
| 248 | + <access>JNDI</access> | |
| 249 | + <database>xlab_youle</database> | |
| 250 | + <port>1521</port> | |
| 251 | + <username/> | |
| 252 | + <password>Encrypted </password> | |
| 253 | + <servername/> | |
| 254 | + <data_tablespace/> | |
| 255 | + <index_tablespace/> | |
| 256 | + <attributes> | |
| 257 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 258 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 259 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 260 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 261 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 262 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 263 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 264 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 265 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 266 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 267 | + </attributes> | |
| 268 | + </connection> | |
| 269 | + <order> | |
| 270 | + <hop> <from>原始系统导出的Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 271 | + <hop> <from>字段选择</from><to>查询线路关联</to><enabled>Y</enabled> </hop> | |
| 272 | + <hop> <from>插入/更新bsth_c_s_ecinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 273 | + <hop> <from>查询售票员关联</from><to>插入/更新bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop> | |
| 274 | + <hop> <from>查询线路关联</from><to>查询驾驶员关联</to><enabled>Y</enabled> </hop> | |
| 275 | + <hop> <from>查询驾驶员关联</from><to>查询售票员关联</to><enabled>Y</enabled> </hop> | |
| 276 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 277 | + </order> | |
| 278 | + <step> | |
| 279 | + <name>原始系统导出的Excel输入</name> | |
| 280 | + <type>ExcelInput</type> | |
| 281 | + <description/> | |
| 282 | + <distribute>Y</distribute> | |
| 283 | + <custom_distribution/> | |
| 284 | + <copies>1</copies> | |
| 285 | + <partitioning> | |
| 286 | + <method>none</method> | |
| 287 | + <schema_name/> | |
| 288 | + </partitioning> | |
| 289 | + <header>Y</header> | |
| 290 | + <noempty>Y</noempty> | |
| 291 | + <stoponempty>N</stoponempty> | |
| 292 | + <filefield/> | |
| 293 | + <sheetfield/> | |
| 294 | + <sheetrownumfield/> | |
| 295 | + <rownumfield/> | |
| 296 | + <sheetfield/> | |
| 297 | + <filefield/> | |
| 298 | + <limit>0</limit> | |
| 299 | + <encoding/> | |
| 300 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 301 | + <accept_filenames>Y</accept_filenames> | |
| 302 | + <accept_field>filepath_</accept_field> | |
| 303 | + <accept_stepname>获取变量</accept_stepname> | |
| 304 | + <file> | |
| 305 | + <name/> | |
| 306 | + <filemask/> | |
| 307 | + <exclude_filemask/> | |
| 308 | + <file_required>N</file_required> | |
| 309 | + <include_subfolders>N</include_subfolders> | |
| 310 | + </file> | |
| 311 | + <fields> | |
| 312 | + <field> | |
| 313 | + <name>线路</name> | |
| 314 | + <type>String</type> | |
| 315 | + <length>-1</length> | |
| 316 | + <precision>-1</precision> | |
| 317 | + <trim_type>none</trim_type> | |
| 318 | + <repeat>N</repeat> | |
| 319 | + <format/> | |
| 320 | + <currency/> | |
| 321 | + <decimal/> | |
| 322 | + <group/> | |
| 323 | + </field> | |
| 324 | + <field> | |
| 325 | + <name>搭班编码</name> | |
| 326 | + <type>String</type> | |
| 327 | + <length>-1</length> | |
| 328 | + <precision>-1</precision> | |
| 329 | + <trim_type>none</trim_type> | |
| 330 | + <repeat>N</repeat> | |
| 331 | + <format/> | |
| 332 | + <currency/> | |
| 333 | + <decimal/> | |
| 334 | + <group/> | |
| 335 | + </field> | |
| 336 | + <field> | |
| 337 | + <name>驾驶员工号</name> | |
| 338 | + <type>String</type> | |
| 339 | + <length>-1</length> | |
| 340 | + <precision>-1</precision> | |
| 341 | + <trim_type>none</trim_type> | |
| 342 | + <repeat>N</repeat> | |
| 343 | + <format>#</format> | |
| 344 | + <currency/> | |
| 345 | + <decimal/> | |
| 346 | + <group/> | |
| 347 | + </field> | |
| 348 | + <field> | |
| 349 | + <name>驾驶员</name> | |
| 350 | + <type>String</type> | |
| 351 | + <length>-1</length> | |
| 352 | + <precision>-1</precision> | |
| 353 | + <trim_type>none</trim_type> | |
| 354 | + <repeat>N</repeat> | |
| 355 | + <format/> | |
| 356 | + <currency/> | |
| 357 | + <decimal/> | |
| 358 | + <group/> | |
| 359 | + </field> | |
| 360 | + <field> | |
| 361 | + <name>售票员工号</name> | |
| 362 | + <type>String</type> | |
| 363 | + <length>-1</length> | |
| 364 | + <precision>-1</precision> | |
| 365 | + <trim_type>none</trim_type> | |
| 366 | + <repeat>N</repeat> | |
| 367 | + <format>#</format> | |
| 368 | + <currency/> | |
| 369 | + <decimal/> | |
| 370 | + <group/> | |
| 371 | + </field> | |
| 372 | + <field> | |
| 373 | + <name>售票员</name> | |
| 374 | + <type>String</type> | |
| 375 | + <length>-1</length> | |
| 376 | + <precision>-1</precision> | |
| 377 | + <trim_type>none</trim_type> | |
| 378 | + <repeat>N</repeat> | |
| 379 | + <format/> | |
| 380 | + <currency/> | |
| 381 | + <decimal/> | |
| 382 | + <group/> | |
| 383 | + </field> | |
| 384 | + <field> | |
| 385 | + <name>车辆</name> | |
| 386 | + <type>String</type> | |
| 387 | + <length>-1</length> | |
| 388 | + <precision>-1</precision> | |
| 389 | + <trim_type>none</trim_type> | |
| 390 | + <repeat>N</repeat> | |
| 391 | + <format/> | |
| 392 | + <currency/> | |
| 393 | + <decimal/> | |
| 394 | + <group/> | |
| 395 | + </field> | |
| 396 | + </fields> | |
| 397 | + <sheets> | |
| 398 | + <sheet> | |
| 399 | + <name>工作表1</name> | |
| 400 | + <startrow>0</startrow> | |
| 401 | + <startcol>0</startcol> | |
| 402 | + </sheet> | |
| 403 | + </sheets> | |
| 404 | + <strict_types>N</strict_types> | |
| 405 | + <error_ignored>N</error_ignored> | |
| 406 | + <error_line_skipped>N</error_line_skipped> | |
| 407 | + <bad_line_files_destination_directory/> | |
| 408 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 409 | + <error_line_files_destination_directory/> | |
| 410 | + <error_line_files_extension>error</error_line_files_extension> | |
| 411 | + <line_number_files_destination_directory/> | |
| 412 | + <line_number_files_extension>line</line_number_files_extension> | |
| 413 | + <shortFileFieldName/> | |
| 414 | + <pathFieldName/> | |
| 415 | + <hiddenFieldName/> | |
| 416 | + <lastModificationTimeFieldName/> | |
| 417 | + <uriNameFieldName/> | |
| 418 | + <rootUriNameFieldName/> | |
| 419 | + <extensionFieldName/> | |
| 420 | + <sizeFieldName/> | |
| 421 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 422 | + <cluster_schema/> | |
| 423 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 424 | + <xloc>144</xloc> | |
| 425 | + <yloc>49</yloc> | |
| 426 | + <draw>Y</draw> | |
| 427 | + </GUI> | |
| 428 | + </step> | |
| 429 | + | |
| 430 | + <step> | |
| 431 | + <name>字段选择</name> | |
| 432 | + <type>SelectValues</type> | |
| 433 | + <description/> | |
| 434 | + <distribute>Y</distribute> | |
| 435 | + <custom_distribution/> | |
| 436 | + <copies>1</copies> | |
| 437 | + <partitioning> | |
| 438 | + <method>none</method> | |
| 439 | + <schema_name/> | |
| 440 | + </partitioning> | |
| 441 | + <fields> <field> <name>线路</name> | |
| 442 | + <rename>xl</rename> | |
| 443 | + <length>-2</length> | |
| 444 | + <precision>-2</precision> | |
| 445 | + </field> <field> <name>搭班编码</name> | |
| 446 | + <rename>dbbm</rename> | |
| 447 | + <length>-2</length> | |
| 448 | + <precision>-2</precision> | |
| 449 | + </field> <field> <name>驾驶员工号</name> | |
| 450 | + <rename>jsy_no</rename> | |
| 451 | + <length>-2</length> | |
| 452 | + <precision>-2</precision> | |
| 453 | + </field> <field> <name>驾驶员</name> | |
| 454 | + <rename>jsy_name</rename> | |
| 455 | + <length>-2</length> | |
| 456 | + <precision>-2</precision> | |
| 457 | + </field> <field> <name>售票员工号</name> | |
| 458 | + <rename>spy_no</rename> | |
| 459 | + <length>-2</length> | |
| 460 | + <precision>-2</precision> | |
| 461 | + </field> <field> <name>售票员</name> | |
| 462 | + <rename>spy_name</rename> | |
| 463 | + <length>-2</length> | |
| 464 | + <precision>-2</precision> | |
| 465 | + </field> <field> <name>车辆</name> | |
| 466 | + <rename>cl</rename> | |
| 467 | + <length>-2</length> | |
| 468 | + <precision>-2</precision> | |
| 469 | + </field> <select_unspecified>N</select_unspecified> | |
| 470 | + </fields> <cluster_schema/> | |
| 471 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 472 | + <xloc>294</xloc> | |
| 473 | + <yloc>50</yloc> | |
| 474 | + <draw>Y</draw> | |
| 475 | + </GUI> | |
| 476 | + </step> | |
| 477 | + | |
| 478 | + <step> | |
| 479 | + <name>插入/更新bsth_c_s_ecinfo</name> | |
| 480 | + <type>InsertUpdate</type> | |
| 481 | + <description/> | |
| 482 | + <distribute>Y</distribute> | |
| 483 | + <custom_distribution/> | |
| 484 | + <copies>1</copies> | |
| 485 | + <partitioning> | |
| 486 | + <method>none</method> | |
| 487 | + <schema_name/> | |
| 488 | + </partitioning> | |
| 489 | + <connection>bus_control_variable</connection> | |
| 490 | + <commit>100</commit> | |
| 491 | + <update_bypassed>N</update_bypassed> | |
| 492 | + <lookup> | |
| 493 | + <schema/> | |
| 494 | + <table>bsth_c_s_ecinfo</table> | |
| 495 | + <key> | |
| 496 | + <name>xlid</name> | |
| 497 | + <field>xl</field> | |
| 498 | + <condition>=</condition> | |
| 499 | + <name2/> | |
| 500 | + </key> | |
| 501 | + <key> | |
| 502 | + <name>jsyid</name> | |
| 503 | + <field>jsy</field> | |
| 504 | + <condition>=</condition> | |
| 505 | + <name2/> | |
| 506 | + </key> | |
| 507 | + <key> | |
| 508 | + <name>spyid</name> | |
| 509 | + <field>spy</field> | |
| 510 | + <condition>=</condition> | |
| 511 | + <name2/> | |
| 512 | + </key> | |
| 513 | + <value> | |
| 514 | + <name>xl</name> | |
| 515 | + <rename>xlid</rename> | |
| 516 | + <update>Y</update> | |
| 517 | + </value> | |
| 518 | + <value> | |
| 519 | + <name>dbbm</name> | |
| 520 | + <rename>dbbm</rename> | |
| 521 | + <update>Y</update> | |
| 522 | + </value> | |
| 523 | + <value> | |
| 524 | + <name>jsy</name> | |
| 525 | + <rename>jsyid</rename> | |
| 526 | + <update>Y</update> | |
| 527 | + </value> | |
| 528 | + <value> | |
| 529 | + <name>spy</name> | |
| 530 | + <rename>spyid</rename> | |
| 531 | + <update>Y</update> | |
| 532 | + </value> | |
| 533 | + </lookup> | |
| 534 | + <cluster_schema/> | |
| 535 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 536 | + <xloc>721</xloc> | |
| 537 | + <yloc>181</yloc> | |
| 538 | + <draw>Y</draw> | |
| 539 | + </GUI> | |
| 540 | + </step> | |
| 541 | + | |
| 542 | + <step> | |
| 543 | + <name>查询售票员关联</name> | |
| 544 | + <type>DBLookup</type> | |
| 545 | + <description/> | |
| 546 | + <distribute>Y</distribute> | |
| 547 | + <custom_distribution/> | |
| 548 | + <copies>1</copies> | |
| 549 | + <partitioning> | |
| 550 | + <method>none</method> | |
| 551 | + <schema_name/> | |
| 552 | + </partitioning> | |
| 553 | + <connection>bus_control_variable</connection> | |
| 554 | + <cache>N</cache> | |
| 555 | + <cache_load_all>N</cache_load_all> | |
| 556 | + <cache_size>0</cache_size> | |
| 557 | + <lookup> | |
| 558 | + <schema/> | |
| 559 | + <table>bsth_c_personnel</table> | |
| 560 | + <orderby/> | |
| 561 | + <fail_on_multiple>N</fail_on_multiple> | |
| 562 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 563 | + <key> | |
| 564 | + <name>spy_no</name> | |
| 565 | + <field>job_code</field> | |
| 566 | + <condition>=</condition> | |
| 567 | + <name2/> | |
| 568 | + </key> | |
| 569 | + <value> | |
| 570 | + <name>id</name> | |
| 571 | + <rename>spyid</rename> | |
| 572 | + <default/> | |
| 573 | + <type>Integer</type> | |
| 574 | + </value> | |
| 575 | + </lookup> | |
| 576 | + <cluster_schema/> | |
| 577 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 578 | + <xloc>720</xloc> | |
| 579 | + <yloc>51</yloc> | |
| 580 | + <draw>Y</draw> | |
| 581 | + </GUI> | |
| 582 | + </step> | |
| 583 | + | |
| 584 | + <step> | |
| 585 | + <name>查询线路关联</name> | |
| 586 | + <type>DBLookup</type> | |
| 587 | + <description/> | |
| 588 | + <distribute>Y</distribute> | |
| 589 | + <custom_distribution/> | |
| 590 | + <copies>1</copies> | |
| 591 | + <partitioning> | |
| 592 | + <method>none</method> | |
| 593 | + <schema_name/> | |
| 594 | + </partitioning> | |
| 595 | + <connection>bus_control_variable</connection> | |
| 596 | + <cache>N</cache> | |
| 597 | + <cache_load_all>N</cache_load_all> | |
| 598 | + <cache_size>0</cache_size> | |
| 599 | + <lookup> | |
| 600 | + <schema/> | |
| 601 | + <table>bsth_c_line</table> | |
| 602 | + <orderby/> | |
| 603 | + <fail_on_multiple>N</fail_on_multiple> | |
| 604 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 605 | + <key> | |
| 606 | + <name>xl</name> | |
| 607 | + <field>name</field> | |
| 608 | + <condition>=</condition> | |
| 609 | + <name2/> | |
| 610 | + </key> | |
| 611 | + <value> | |
| 612 | + <name>id</name> | |
| 613 | + <rename>xlid</rename> | |
| 614 | + <default/> | |
| 615 | + <type>Integer</type> | |
| 616 | + </value> | |
| 617 | + </lookup> | |
| 618 | + <cluster_schema/> | |
| 619 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 620 | + <xloc>429</xloc> | |
| 621 | + <yloc>51</yloc> | |
| 622 | + <draw>Y</draw> | |
| 623 | + </GUI> | |
| 624 | + </step> | |
| 625 | + | |
| 626 | + <step> | |
| 627 | + <name>查询驾驶员关联</name> | |
| 628 | + <type>DBLookup</type> | |
| 629 | + <description/> | |
| 630 | + <distribute>Y</distribute> | |
| 631 | + <custom_distribution/> | |
| 632 | + <copies>1</copies> | |
| 633 | + <partitioning> | |
| 634 | + <method>none</method> | |
| 635 | + <schema_name/> | |
| 636 | + </partitioning> | |
| 637 | + <connection>bus_control_variable</connection> | |
| 638 | + <cache>N</cache> | |
| 639 | + <cache_load_all>N</cache_load_all> | |
| 640 | + <cache_size>0</cache_size> | |
| 641 | + <lookup> | |
| 642 | + <schema/> | |
| 643 | + <table>bsth_c_personnel</table> | |
| 644 | + <orderby/> | |
| 645 | + <fail_on_multiple>N</fail_on_multiple> | |
| 646 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 647 | + <key> | |
| 648 | + <name>jsy_no</name> | |
| 649 | + <field>job_code</field> | |
| 650 | + <condition>=</condition> | |
| 651 | + <name2/> | |
| 652 | + </key> | |
| 653 | + <value> | |
| 654 | + <name>id</name> | |
| 655 | + <rename>jsyid</rename> | |
| 656 | + <default/> | |
| 657 | + <type>Integer</type> | |
| 658 | + </value> | |
| 659 | + </lookup> | |
| 660 | + <cluster_schema/> | |
| 661 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 662 | + <xloc>573</xloc> | |
| 663 | + <yloc>51</yloc> | |
| 664 | + <draw>Y</draw> | |
| 665 | + </GUI> | |
| 666 | + </step> | |
| 667 | + | |
| 668 | + <step> | |
| 669 | + <name>获取变量</name> | |
| 670 | + <type>GetVariable</type> | |
| 671 | + <description/> | |
| 672 | + <distribute>Y</distribute> | |
| 673 | + <custom_distribution/> | |
| 674 | + <copies>1</copies> | |
| 675 | + <partitioning> | |
| 676 | + <method>none</method> | |
| 677 | + <schema_name/> | |
| 678 | + </partitioning> | |
| 679 | + <fields> | |
| 680 | + <field> | |
| 681 | + <name>filepath_</name> | |
| 682 | + <variable>${filepath}</variable> | |
| 683 | + <type>String</type> | |
| 684 | + <format/> | |
| 685 | + <currency/> | |
| 686 | + <decimal/> | |
| 687 | + <group/> | |
| 688 | + <length>-1</length> | |
| 689 | + <precision>-1</precision> | |
| 690 | + <trim_type>none</trim_type> | |
| 691 | + </field> | |
| 692 | + <field> | |
| 693 | + <name>erroroutputdir_</name> | |
| 694 | + <variable>${erroroutputdir}</variable> | |
| 695 | + <type>String</type> | |
| 696 | + <format/> | |
| 697 | + <currency/> | |
| 698 | + <decimal/> | |
| 699 | + <group/> | |
| 700 | + <length>-1</length> | |
| 701 | + <precision>-1</precision> | |
| 702 | + <trim_type>none</trim_type> | |
| 703 | + </field> | |
| 704 | + </fields> | |
| 705 | + <cluster_schema/> | |
| 706 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 707 | + <xloc>94</xloc> | |
| 708 | + <yloc>178</yloc> | |
| 709 | + <draw>Y</draw> | |
| 710 | + </GUI> | |
| 711 | + </step> | |
| 712 | + | |
| 713 | + <step> | |
| 714 | + <name>错误输出</name> | |
| 715 | + <type>ExcelOutput</type> | |
| 716 | + <description/> | |
| 717 | + <distribute>Y</distribute> | |
| 718 | + <custom_distribution/> | |
| 719 | + <copies>1</copies> | |
| 720 | + <partitioning> | |
| 721 | + <method>none</method> | |
| 722 | + <schema_name/> | |
| 723 | + </partitioning> | |
| 724 | + <header>Y</header> | |
| 725 | + <footer>N</footer> | |
| 726 | + <encoding>UTF-8</encoding> | |
| 727 | + <append>N</append> | |
| 728 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 729 | + <file> | |
| 730 | + <name>${erroroutputdir}/人员配置_错误</name> | |
| 731 | + <extention>xls</extention> | |
| 732 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 733 | + <create_parent_folder>N</create_parent_folder> | |
| 734 | + <split>N</split> | |
| 735 | + <add_date>N</add_date> | |
| 736 | + <add_time>N</add_time> | |
| 737 | + <SpecifyFormat>N</SpecifyFormat> | |
| 738 | + <date_time_format/> | |
| 739 | + <sheetname>Sheet1</sheetname> | |
| 740 | + <autosizecolums>N</autosizecolums> | |
| 741 | + <nullisblank>N</nullisblank> | |
| 742 | + <protect_sheet>N</protect_sheet> | |
| 743 | + <password>Encrypted </password> | |
| 744 | + <splitevery>0</splitevery> | |
| 745 | + <usetempfiles>N</usetempfiles> | |
| 746 | + <tempdirectory/> | |
| 747 | + </file> | |
| 748 | + <template> | |
| 749 | + <enabled>N</enabled> | |
| 750 | + <append>N</append> | |
| 751 | + <filename>template.xls</filename> | |
| 752 | + </template> | |
| 753 | + <fields> | |
| 754 | + <field> | |
| 755 | + <name>xl</name> | |
| 756 | + <type>String</type> | |
| 757 | + <format/> | |
| 758 | + </field> | |
| 759 | + <field> | |
| 760 | + <name>dbbm</name> | |
| 761 | + <type>String</type> | |
| 762 | + <format/> | |
| 763 | + </field> | |
| 764 | + <field> | |
| 765 | + <name>jsy_no</name> | |
| 766 | + <type>String</type> | |
| 767 | + <format/> | |
| 768 | + </field> | |
| 769 | + <field> | |
| 770 | + <name>jsy_name</name> | |
| 771 | + <type>String</type> | |
| 772 | + <format/> | |
| 773 | + </field> | |
| 774 | + <field> | |
| 775 | + <name>spy_no</name> | |
| 776 | + <type>String</type> | |
| 777 | + <format/> | |
| 778 | + </field> | |
| 779 | + <field> | |
| 780 | + <name>spy_name</name> | |
| 781 | + <type>String</type> | |
| 782 | + <format/> | |
| 783 | + </field> | |
| 784 | + <field> | |
| 785 | + <name>cl</name> | |
| 786 | + <type>String</type> | |
| 787 | + <format/> | |
| 788 | + </field> | |
| 789 | + <field> | |
| 790 | + <name>xlid</name> | |
| 791 | + <type>Integer</type> | |
| 792 | + <format/> | |
| 793 | + </field> | |
| 794 | + <field> | |
| 795 | + <name>jsyid</name> | |
| 796 | + <type>Integer</type> | |
| 797 | + <format/> | |
| 798 | + </field> | |
| 799 | + <field> | |
| 800 | + <name>spyid</name> | |
| 801 | + <type>Integer</type> | |
| 802 | + <format/> | |
| 803 | + </field> | |
| 804 | + <field> | |
| 805 | + <name>error_count</name> | |
| 806 | + <type>Integer</type> | |
| 807 | + <format/> | |
| 808 | + </field> | |
| 809 | + <field> | |
| 810 | + <name>error_desc</name> | |
| 811 | + <type>String</type> | |
| 812 | + <format/> | |
| 813 | + </field> | |
| 814 | + <field> | |
| 815 | + <name>error_column1</name> | |
| 816 | + <type>String</type> | |
| 817 | + <format/> | |
| 818 | + </field> | |
| 819 | + <field> | |
| 820 | + <name>error_column2</name> | |
| 821 | + <type>String</type> | |
| 822 | + <format/> | |
| 823 | + </field> | |
| 824 | + </fields> | |
| 825 | + <custom> | |
| 826 | + <header_font_name>arial</header_font_name> | |
| 827 | + <header_font_size>10</header_font_size> | |
| 828 | + <header_font_bold>N</header_font_bold> | |
| 829 | + <header_font_italic>N</header_font_italic> | |
| 830 | + <header_font_underline>no</header_font_underline> | |
| 831 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 832 | + <header_font_color>black</header_font_color> | |
| 833 | + <header_background_color>none</header_background_color> | |
| 834 | + <header_row_height>255</header_row_height> | |
| 835 | + <header_alignment>left</header_alignment> | |
| 836 | + <header_image/> | |
| 837 | + <row_font_name>arial</row_font_name> | |
| 838 | + <row_font_size>10</row_font_size> | |
| 839 | + <row_font_color>black</row_font_color> | |
| 840 | + <row_background_color>none</row_background_color> | |
| 841 | + </custom> | |
| 842 | + <cluster_schema/> | |
| 843 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 844 | + <xloc>721</xloc> | |
| 845 | + <yloc>304</yloc> | |
| 846 | + <draw>Y</draw> | |
| 847 | + </GUI> | |
| 848 | + </step> | |
| 849 | + | |
| 850 | + <step_error_handling> | |
| 851 | + <error> | |
| 852 | + <source_step>插入/更新bsth_c_s_ecinfo</source_step> | |
| 853 | + <target_step>错误输出</target_step> | |
| 854 | + <is_enabled>Y</is_enabled> | |
| 855 | + <nr_valuename>error_count</nr_valuename> | |
| 856 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 857 | + <fields_valuename>error_column1</fields_valuename> | |
| 858 | + <codes_valuename>error_column2</codes_valuename> | |
| 859 | + <max_errors/> | |
| 860 | + <max_pct_errors/> | |
| 861 | + <min_pct_rows/> | |
| 862 | + </error> | |
| 863 | + </step_error_handling> | |
| 864 | + <slave-step-copy-partition-distribution> | |
| 865 | +</slave-step-copy-partition-distribution> | |
| 866 | + <slave_transformation>N</slave_transformation> | |
| 867 | + | |
| 868 | +</transformation> | ... | ... |
src/main/resources/datatools/ktrs/employeesDataInput.ktr
| ... | ... | @@ -85,11 +85,11 @@ |
| 85 | 85 | </info> |
| 86 | 86 | <notepads> |
| 87 | 87 | <notepad> |
| 88 | - <note>原系统导出的表,有些字段是没有的,
人员编码 暂时没有空着
照片地址 暂时没有空着
线路编号 暂时没有空着
联系电话 暂时没有空着

字典
性别sexType 男性 1
性别sexType 女性 2

工种gzType 公共汽电车驾驶员 1
工种gzType 公共汽电车调度员 2
工种gzType 公共汽电车售票员 3
工种gzType 站员 4
工种gzType 管理员 5
工种gzType 安检员 6
工种gzType 机务 7
工种gzType 引导员 8
工种gzType 乘务员 9
工种gzType 车队长(线长、主 10
工种gzType 公司管理人员 11
工种gzType 警消人员 12
工种gzType 票务人员 13
工种gzType 其他服务人员 14</note> | |
| 88 | + <note>原系统导出的表,有些字段是没有的,
人员编码 暂时没有空着
照片地址 暂时没有空着
线路编号 暂时没有空着
联系电话 暂时没有空着


字典
性别sexType 男性 1
性别sexType 女性 2


工种gzType 公共汽电车驾驶员 1
工种gzType 公共汽电车调度员 2
工种gzType 公共汽电车售票员 3
工种gzType 站员 4
工种gzType 管理员 5
工种gzType 安检员 6
工种gzType 机务 7
工种gzType 引导员 8
工种gzType 乘务员 9
工种gzType 车队长(线长、主 10
工种gzType 公司管理人员 11
工种gzType 警消人员 12
工种gzType 票务人员 13
工种gzType 其他服务人员 14</note> | |
| 89 | 89 | <xloc>200</xloc> |
| 90 | 90 | <yloc>160</yloc> |
| 91 | 91 | <width>214</width> |
| 92 | - <heigth>394</heigth> | |
| 92 | + <heigth>426</heigth> | |
| 93 | 93 | <fontname>YaHei Consolas Hybrid</fontname> |
| 94 | 94 | <fontsize>12</fontsize> |
| 95 | 95 | <fontbold>N</fontbold> |
| ... | ... | @@ -111,7 +111,7 @@ |
| 111 | 111 | <server>${v_db_ip}</server> |
| 112 | 112 | <type>MYSQL</type> |
| 113 | 113 | <access>Native</access> |
| 114 | - <database>control</database> | |
| 114 | + <database>${v_db_dname}</database> | |
| 115 | 115 | <port>3306</port> |
| 116 | 116 | <username>${v_db_uname}</username> |
| 117 | 117 | <password>${v_db_pwd}</password> |
| ... | ... | @@ -276,8 +276,8 @@ |
| 276 | 276 | <hop> <from>公交企业代码查询</from><to>工种</to><enabled>Y</enabled> </hop> |
| 277 | 277 | </order> |
| 278 | 278 | <step> |
| 279 | - <name>工种</name> | |
| 280 | - <type>ValueMapper</type> | |
| 279 | + <name>公交企业代码查询</name> | |
| 280 | + <type>DBLookup</type> | |
| 281 | 281 | <description/> |
| 282 | 282 | <distribute>Y</distribute> |
| 283 | 283 | <custom_distribution/> |
| ... | ... | @@ -286,71 +286,33 @@ |
| 286 | 286 | <method>none</method> |
| 287 | 287 | <schema_name/> |
| 288 | 288 | </partitioning> |
| 289 | - <field_to_use>posts</field_to_use> | |
| 290 | - <target_field/> | |
| 291 | - <non_match_default/> | |
| 292 | - <fields> | |
| 293 | - <field> | |
| 294 | - <source_value>公共汽电车驾驶员</source_value> | |
| 295 | - <target_value>1</target_value> | |
| 296 | - </field> | |
| 297 | - <field> | |
| 298 | - <source_value>公共汽电车调度员</source_value> | |
| 299 | - <target_value>2</target_value> | |
| 300 | - </field> | |
| 301 | - <field> | |
| 302 | - <source_value>公共汽电车售票员</source_value> | |
| 303 | - <target_value>3</target_value> | |
| 304 | - </field> | |
| 305 | - <field> | |
| 306 | - <source_value>站员</source_value> | |
| 307 | - <target_value>4</target_value> | |
| 308 | - </field> | |
| 309 | - <field> | |
| 310 | - <source_value>管理员</source_value> | |
| 311 | - <target_value>5</target_value> | |
| 312 | - </field> | |
| 313 | - <field> | |
| 314 | - <source_value>安检员</source_value> | |
| 315 | - <target_value>6</target_value> | |
| 316 | - </field> | |
| 317 | - <field> | |
| 318 | - <source_value>机务</source_value> | |
| 319 | - <target_value>7</target_value> | |
| 320 | - </field> | |
| 321 | - <field> | |
| 322 | - <source_value>引导员</source_value> | |
| 323 | - <target_value>8</target_value> | |
| 324 | - </field> | |
| 325 | - <field> | |
| 326 | - <source_value>乘务员</source_value> | |
| 327 | - <target_value>9</target_value> | |
| 328 | - </field> | |
| 329 | - <field> | |
| 330 | - <source_value>车队长(线长、主</source_value> | |
| 331 | - <target_value>10</target_value> | |
| 332 | - </field> | |
| 333 | - <field> | |
| 334 | - <source_value>公司管理人员</source_value> | |
| 335 | - <target_value>11</target_value> | |
| 336 | - </field> | |
| 337 | - <field> | |
| 338 | - <source_value>警消人员</source_value> | |
| 339 | - <target_value>12</target_value> | |
| 340 | - </field> | |
| 341 | - <field> | |
| 342 | - <source_value>票务人员</source_value> | |
| 343 | - <target_value>13</target_value> | |
| 344 | - </field> | |
| 345 | - <field> | |
| 346 | - <source_value>其他服务人员</source_value> | |
| 347 | - <target_value>14</target_value> | |
| 348 | - </field> | |
| 349 | - </fields> | |
| 289 | + <connection>bus_control_variable</connection> | |
| 290 | + <cache>N</cache> | |
| 291 | + <cache_load_all>N</cache_load_all> | |
| 292 | + <cache_size>0</cache_size> | |
| 293 | + <lookup> | |
| 294 | + <schema/> | |
| 295 | + <table>bsth_c_business</table> | |
| 296 | + <orderby/> | |
| 297 | + <fail_on_multiple>N</fail_on_multiple> | |
| 298 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 299 | + <key> | |
| 300 | + <name>company</name> | |
| 301 | + <field>business_name</field> | |
| 302 | + <condition>=</condition> | |
| 303 | + <name2/> | |
| 304 | + </key> | |
| 305 | + <value> | |
| 306 | + <name>business_code</name> | |
| 307 | + <rename>companyCode</rename> | |
| 308 | + <default/> | |
| 309 | + <type>String</type> | |
| 310 | + </value> | |
| 311 | + </lookup> | |
| 350 | 312 | <cluster_schema/> |
| 351 | 313 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 352 | - <xloc>543</xloc> | |
| 353 | - <yloc>152</yloc> | |
| 314 | + <xloc>544</xloc> | |
| 315 | + <yloc>59</yloc> | |
| 354 | 316 | <draw>Y</draw> |
| 355 | 317 | </GUI> |
| 356 | 318 | </step> |
| ... | ... | @@ -408,7 +370,7 @@ |
| 408 | 370 | <precision>-1</precision> |
| 409 | 371 | <trim_type>none</trim_type> |
| 410 | 372 | <repeat>N</repeat> |
| 411 | - <format/> | |
| 373 | + <format>#</format> | |
| 412 | 374 | <currency/> |
| 413 | 375 | <decimal/> |
| 414 | 376 | <group/> |
| ... | ... | @@ -588,6 +550,86 @@ |
| 588 | 550 | </step> |
| 589 | 551 | |
| 590 | 552 | <step> |
| 553 | + <name>工种</name> | |
| 554 | + <type>ValueMapper</type> | |
| 555 | + <description/> | |
| 556 | + <distribute>Y</distribute> | |
| 557 | + <custom_distribution/> | |
| 558 | + <copies>1</copies> | |
| 559 | + <partitioning> | |
| 560 | + <method>none</method> | |
| 561 | + <schema_name/> | |
| 562 | + </partitioning> | |
| 563 | + <field_to_use>posts</field_to_use> | |
| 564 | + <target_field/> | |
| 565 | + <non_match_default/> | |
| 566 | + <fields> | |
| 567 | + <field> | |
| 568 | + <source_value>公共汽电车驾驶员</source_value> | |
| 569 | + <target_value>1</target_value> | |
| 570 | + </field> | |
| 571 | + <field> | |
| 572 | + <source_value>公共汽电车调度员</source_value> | |
| 573 | + <target_value>2</target_value> | |
| 574 | + </field> | |
| 575 | + <field> | |
| 576 | + <source_value>公共汽电车售票员</source_value> | |
| 577 | + <target_value>3</target_value> | |
| 578 | + </field> | |
| 579 | + <field> | |
| 580 | + <source_value>站员</source_value> | |
| 581 | + <target_value>4</target_value> | |
| 582 | + </field> | |
| 583 | + <field> | |
| 584 | + <source_value>管理员</source_value> | |
| 585 | + <target_value>5</target_value> | |
| 586 | + </field> | |
| 587 | + <field> | |
| 588 | + <source_value>安检员</source_value> | |
| 589 | + <target_value>6</target_value> | |
| 590 | + </field> | |
| 591 | + <field> | |
| 592 | + <source_value>机务</source_value> | |
| 593 | + <target_value>7</target_value> | |
| 594 | + </field> | |
| 595 | + <field> | |
| 596 | + <source_value>引导员</source_value> | |
| 597 | + <target_value>8</target_value> | |
| 598 | + </field> | |
| 599 | + <field> | |
| 600 | + <source_value>乘务员</source_value> | |
| 601 | + <target_value>9</target_value> | |
| 602 | + </field> | |
| 603 | + <field> | |
| 604 | + <source_value>车队长(线长、主</source_value> | |
| 605 | + <target_value>10</target_value> | |
| 606 | + </field> | |
| 607 | + <field> | |
| 608 | + <source_value>公司管理人员</source_value> | |
| 609 | + <target_value>11</target_value> | |
| 610 | + </field> | |
| 611 | + <field> | |
| 612 | + <source_value>警消人员</source_value> | |
| 613 | + <target_value>12</target_value> | |
| 614 | + </field> | |
| 615 | + <field> | |
| 616 | + <source_value>票务人员</source_value> | |
| 617 | + <target_value>13</target_value> | |
| 618 | + </field> | |
| 619 | + <field> | |
| 620 | + <source_value>其他服务人员</source_value> | |
| 621 | + <target_value>14</target_value> | |
| 622 | + </field> | |
| 623 | + </fields> | |
| 624 | + <cluster_schema/> | |
| 625 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 626 | + <xloc>543</xloc> | |
| 627 | + <yloc>152</yloc> | |
| 628 | + <draw>Y</draw> | |
| 629 | + </GUI> | |
| 630 | + </step> | |
| 631 | + | |
| 632 | + <step> | |
| 591 | 633 | <name>性别代码</name> |
| 592 | 634 | <type>ValueMapper</type> |
| 593 | 635 | <description/> |
| ... | ... | @@ -889,48 +931,6 @@ |
| 889 | 931 | </GUI> |
| 890 | 932 | </step> |
| 891 | 933 | |
| 892 | - <step> | |
| 893 | - <name>公交企业代码查询</name> | |
| 894 | - <type>DBLookup</type> | |
| 895 | - <description/> | |
| 896 | - <distribute>Y</distribute> | |
| 897 | - <custom_distribution/> | |
| 898 | - <copies>1</copies> | |
| 899 | - <partitioning> | |
| 900 | - <method>none</method> | |
| 901 | - <schema_name/> | |
| 902 | - </partitioning> | |
| 903 | - <connection>bus_control_variable</connection> | |
| 904 | - <cache>N</cache> | |
| 905 | - <cache_load_all>N</cache_load_all> | |
| 906 | - <cache_size>0</cache_size> | |
| 907 | - <lookup> | |
| 908 | - <schema/> | |
| 909 | - <table>bsth_c_business</table> | |
| 910 | - <orderby/> | |
| 911 | - <fail_on_multiple>N</fail_on_multiple> | |
| 912 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 913 | - <key> | |
| 914 | - <name>company</name> | |
| 915 | - <field>business_name</field> | |
| 916 | - <condition>=</condition> | |
| 917 | - <name2/> | |
| 918 | - </key> | |
| 919 | - <value> | |
| 920 | - <name>business_code</name> | |
| 921 | - <rename>companyCode</rename> | |
| 922 | - <default/> | |
| 923 | - <type>String</type> | |
| 924 | - </value> | |
| 925 | - </lookup> | |
| 926 | - <cluster_schema/> | |
| 927 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 928 | - <xloc>544</xloc> | |
| 929 | - <yloc>59</yloc> | |
| 930 | - <draw>Y</draw> | |
| 931 | - </GUI> | |
| 932 | - </step> | |
| 933 | - | |
| 934 | 934 | <step_error_handling> |
| 935 | 935 | <error> |
| 936 | 936 | <source_step>插入/更新bsth_c_personnel</source_step> | ... | ... |
src/main/resources/datatools/ktrs/employeesDataOutput.ktr
| ... | ... | @@ -75,7 +75,7 @@ |
| 75 | 75 | <created_date>2016/08/09 09:57:38.471</created_date> |
| 76 | 76 | <modified_user>-</modified_user> |
| 77 | 77 | <modified_date>2016/08/09 09:57:38.471</modified_date> |
| 78 | - <key_for_session_key/> | |
| 78 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 79 | 79 | <is_key_private>N</is_key_private> |
| 80 | 80 | </info> |
| 81 | 81 | <notepads> |
| ... | ... | @@ -85,7 +85,7 @@ |
| 85 | 85 | <server>${v_db_ip}</server> |
| 86 | 86 | <type>MYSQL</type> |
| 87 | 87 | <access>Native</access> |
| 88 | - <database>control</database> | |
| 88 | + <database>${v_db_dname}</database> | |
| 89 | 89 | <port>3306</port> |
| 90 | 90 | <username>${v_db_uname}</username> |
| 91 | 91 | <password>${v_db_pwd}</password> |
| ... | ... | @@ -249,8 +249,8 @@ |
| 249 | 249 | <hop> <from>字段选择</from><to>Excel输出</to><enabled>Y</enabled> </hop> |
| 250 | 250 | </order> |
| 251 | 251 | <step> |
| 252 | - <name>表输入</name> | |
| 253 | - <type>TableInput</type> | |
| 252 | + <name>Excel输出</name> | |
| 253 | + <type>ExcelOutput</type> | |
| 254 | 254 | <description/> |
| 255 | 255 | <distribute>Y</distribute> |
| 256 | 256 | <custom_distribution/> |
| ... | ... | @@ -259,23 +259,165 @@ |
| 259 | 259 | <method>none</method> |
| 260 | 260 | <schema_name/> |
| 261 | 261 | </partitioning> |
| 262 | - <connection>bus_control_variable</connection> | |
| 263 | - <sql>SELECT * FROM bsth_c_personnel;</sql> | |
| 264 | - <limit>0</limit> | |
| 265 | - <lookup/> | |
| 266 | - <execute_each_row>N</execute_each_row> | |
| 267 | - <variables_active>N</variables_active> | |
| 268 | - <lazy_conversion_active>N</lazy_conversion_active> | |
| 262 | + <header>Y</header> | |
| 263 | + <footer>N</footer> | |
| 264 | + <encoding/> | |
| 265 | + <append>N</append> | |
| 266 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 267 | + <file> | |
| 268 | + <name>${filepath}</name> | |
| 269 | + <extention/> | |
| 270 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 271 | + <create_parent_folder>N</create_parent_folder> | |
| 272 | + <split>N</split> | |
| 273 | + <add_date>N</add_date> | |
| 274 | + <add_time>N</add_time> | |
| 275 | + <SpecifyFormat>N</SpecifyFormat> | |
| 276 | + <date_time_format>yyyyMMddHHmmss</date_time_format> | |
| 277 | + <sheetname>工作表1</sheetname> | |
| 278 | + <autosizecolums>N</autosizecolums> | |
| 279 | + <nullisblank>N</nullisblank> | |
| 280 | + <protect_sheet>N</protect_sheet> | |
| 281 | + <password>Encrypted </password> | |
| 282 | + <splitevery>0</splitevery> | |
| 283 | + <usetempfiles>N</usetempfiles> | |
| 284 | + <tempdirectory/> | |
| 285 | + </file> | |
| 286 | + <template> | |
| 287 | + <enabled>N</enabled> | |
| 288 | + <append>N</append> | |
| 289 | + <filename>template.xls</filename> | |
| 290 | + </template> | |
| 291 | + <fields> | |
| 292 | + <field> | |
| 293 | + <name>姓名</name> | |
| 294 | + <type>String</type> | |
| 295 | + <format/> | |
| 296 | + </field> | |
| 297 | + <field> | |
| 298 | + <name>工号</name> | |
| 299 | + <type>String</type> | |
| 300 | + <format/> | |
| 301 | + </field> | |
| 302 | + <field> | |
| 303 | + <name>性别</name> | |
| 304 | + <type>String</type> | |
| 305 | + <format/> | |
| 306 | + </field> | |
| 307 | + <field> | |
| 308 | + <name>所属公司</name> | |
| 309 | + <type>String</type> | |
| 310 | + <format/> | |
| 311 | + </field> | |
| 312 | + <field> | |
| 313 | + <name>所属分公司</name> | |
| 314 | + <type>String</type> | |
| 315 | + <format/> | |
| 316 | + </field> | |
| 317 | + <field> | |
| 318 | + <name>一卡通号</name> | |
| 319 | + <type>String</type> | |
| 320 | + <format/> | |
| 321 | + </field> | |
| 322 | + <field> | |
| 323 | + <name>运营服务证号</name> | |
| 324 | + <type>String</type> | |
| 325 | + <format/> | |
| 326 | + </field> | |
| 327 | + <field> | |
| 328 | + <name>岗位</name> | |
| 329 | + <type>String</type> | |
| 330 | + <format/> | |
| 331 | + </field> | |
| 332 | + <field> | |
| 333 | + <name>备注</name> | |
| 334 | + <type>String</type> | |
| 335 | + <format/> | |
| 336 | + </field> | |
| 337 | + </fields> | |
| 338 | + <custom> | |
| 339 | + <header_font_name>arial</header_font_name> | |
| 340 | + <header_font_size>10</header_font_size> | |
| 341 | + <header_font_bold>N</header_font_bold> | |
| 342 | + <header_font_italic>N</header_font_italic> | |
| 343 | + <header_font_underline>no</header_font_underline> | |
| 344 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 345 | + <header_font_color>black</header_font_color> | |
| 346 | + <header_background_color>none</header_background_color> | |
| 347 | + <header_row_height>255</header_row_height> | |
| 348 | + <header_alignment>left</header_alignment> | |
| 349 | + <header_image/> | |
| 350 | + <row_font_name>arial</row_font_name> | |
| 351 | + <row_font_size>10</row_font_size> | |
| 352 | + <row_font_color>black</row_font_color> | |
| 353 | + <row_background_color>none</row_background_color> | |
| 354 | + </custom> | |
| 269 | 355 | <cluster_schema/> |
| 270 | 356 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 271 | - <xloc>112</xloc> | |
| 272 | - <yloc>66</yloc> | |
| 357 | + <xloc>695</xloc> | |
| 358 | + <yloc>180</yloc> | |
| 273 | 359 | <draw>Y</draw> |
| 274 | 360 | </GUI> |
| 275 | 361 | </step> |
| 276 | 362 | |
| 277 | 363 | <step> |
| 278 | - <name>性别标识</name> | |
| 364 | + <name>字段选择</name> | |
| 365 | + <type>SelectValues</type> | |
| 366 | + <description/> | |
| 367 | + <distribute>Y</distribute> | |
| 368 | + <custom_distribution/> | |
| 369 | + <copies>1</copies> | |
| 370 | + <partitioning> | |
| 371 | + <method>none</method> | |
| 372 | + <schema_name/> | |
| 373 | + </partitioning> | |
| 374 | + <fields> <field> <name>personnel_name</name> | |
| 375 | + <rename>姓名</rename> | |
| 376 | + <length>-2</length> | |
| 377 | + <precision>-2</precision> | |
| 378 | + </field> <field> <name>job_code</name> | |
| 379 | + <rename>工号</rename> | |
| 380 | + <length>-2</length> | |
| 381 | + <precision>-2</precision> | |
| 382 | + </field> <field> <name>personnel_type_str</name> | |
| 383 | + <rename>性别</rename> | |
| 384 | + <length>-2</length> | |
| 385 | + <precision>-2</precision> | |
| 386 | + </field> <field> <name>company</name> | |
| 387 | + <rename>所属公司</rename> | |
| 388 | + <length>-2</length> | |
| 389 | + <precision>-2</precision> | |
| 390 | + </field> <field> <name>branche_company</name> | |
| 391 | + <rename>所属分公司</rename> | |
| 392 | + <length>-2</length> | |
| 393 | + <precision>-2</precision> | |
| 394 | + </field> <field> <name>ic_card_code</name> | |
| 395 | + <rename>一卡通号</rename> | |
| 396 | + <length>-2</length> | |
| 397 | + <precision>-2</precision> | |
| 398 | + </field> <field> <name>papers_code</name> | |
| 399 | + <rename>运营服务证号</rename> | |
| 400 | + <length>-2</length> | |
| 401 | + <precision>-2</precision> | |
| 402 | + </field> <field> <name>posts_str</name> | |
| 403 | + <rename>岗位</rename> | |
| 404 | + <length>-2</length> | |
| 405 | + <precision>-2</precision> | |
| 406 | + </field> <field> <name>descriptions</name> | |
| 407 | + <rename>备注</rename> | |
| 408 | + <length>-2</length> | |
| 409 | + <precision>-2</precision> | |
| 410 | + </field> <select_unspecified>N</select_unspecified> | |
| 411 | + </fields> <cluster_schema/> | |
| 412 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 413 | + <xloc>631</xloc> | |
| 414 | + <yloc>76</yloc> | |
| 415 | + <draw>Y</draw> | |
| 416 | + </GUI> | |
| 417 | + </step> | |
| 418 | + | |
| 419 | + <step> | |
| 420 | + <name>工种标识</name> | |
| 279 | 421 | <type>Constant</type> |
| 280 | 422 | <description/> |
| 281 | 423 | <distribute>Y</distribute> |
| ... | ... | @@ -287,13 +429,13 @@ |
| 287 | 429 | </partitioning> |
| 288 | 430 | <fields> |
| 289 | 431 | <field> |
| 290 | - <name>sexType</name> | |
| 432 | + <name>gzType</name> | |
| 291 | 433 | <type>String</type> |
| 292 | 434 | <format/> |
| 293 | 435 | <currency/> |
| 294 | 436 | <decimal/> |
| 295 | 437 | <group/> |
| 296 | - <nullif>sexType</nullif> | |
| 438 | + <nullif>gzType</nullif> | |
| 297 | 439 | <length>-1</length> |
| 298 | 440 | <precision>-1</precision> |
| 299 | 441 | <set_empty_string>N</set_empty_string> |
| ... | ... | @@ -301,14 +443,14 @@ |
| 301 | 443 | </fields> |
| 302 | 444 | <cluster_schema/> |
| 303 | 445 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 304 | - <xloc>220</xloc> | |
| 305 | - <yloc>69</yloc> | |
| 446 | + <xloc>418</xloc> | |
| 447 | + <yloc>73</yloc> | |
| 306 | 448 | <draw>Y</draw> |
| 307 | 449 | </GUI> |
| 308 | 450 | </step> |
| 309 | 451 | |
| 310 | 452 | <step> |
| 311 | - <name>性别标识查询</name> | |
| 453 | + <name>工种标识查询</name> | |
| 312 | 454 | <type>DBLookup</type> |
| 313 | 455 | <description/> |
| 314 | 456 | <distribute>Y</distribute> |
| ... | ... | @@ -329,34 +471,34 @@ |
| 329 | 471 | <fail_on_multiple>N</fail_on_multiple> |
| 330 | 472 | <eat_row_on_failure>N</eat_row_on_failure> |
| 331 | 473 | <key> |
| 332 | - <name>sexType</name> | |
| 474 | + <name>gzType</name> | |
| 333 | 475 | <field>d_group</field> |
| 334 | 476 | <condition>=</condition> |
| 335 | 477 | <name2/> |
| 336 | 478 | </key> |
| 337 | 479 | <key> |
| 338 | - <name>personnel_type</name> | |
| 480 | + <name>posts</name> | |
| 339 | 481 | <field>d_code</field> |
| 340 | 482 | <condition>=</condition> |
| 341 | 483 | <name2/> |
| 342 | 484 | </key> |
| 343 | 485 | <value> |
| 344 | 486 | <name>d_name</name> |
| 345 | - <rename>personnel_type_str</rename> | |
| 487 | + <rename>posts_str</rename> | |
| 346 | 488 | <default/> |
| 347 | 489 | <type>String</type> |
| 348 | 490 | </value> |
| 349 | 491 | </lookup> |
| 350 | 492 | <cluster_schema/> |
| 351 | 493 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 352 | - <xloc>316</xloc> | |
| 353 | - <yloc>71</yloc> | |
| 494 | + <xloc>509</xloc> | |
| 495 | + <yloc>75</yloc> | |
| 354 | 496 | <draw>Y</draw> |
| 355 | 497 | </GUI> |
| 356 | 498 | </step> |
| 357 | 499 | |
| 358 | 500 | <step> |
| 359 | - <name>工种标识</name> | |
| 501 | + <name>性别标识</name> | |
| 360 | 502 | <type>Constant</type> |
| 361 | 503 | <description/> |
| 362 | 504 | <distribute>Y</distribute> |
| ... | ... | @@ -368,13 +510,13 @@ |
| 368 | 510 | </partitioning> |
| 369 | 511 | <fields> |
| 370 | 512 | <field> |
| 371 | - <name>gzType</name> | |
| 513 | + <name>sexType</name> | |
| 372 | 514 | <type>String</type> |
| 373 | 515 | <format/> |
| 374 | 516 | <currency/> |
| 375 | 517 | <decimal/> |
| 376 | 518 | <group/> |
| 377 | - <nullif>gzType</nullif> | |
| 519 | + <nullif>sexType</nullif> | |
| 378 | 520 | <length>-1</length> |
| 379 | 521 | <precision>-1</precision> |
| 380 | 522 | <set_empty_string>N</set_empty_string> |
| ... | ... | @@ -382,14 +524,14 @@ |
| 382 | 524 | </fields> |
| 383 | 525 | <cluster_schema/> |
| 384 | 526 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 385 | - <xloc>418</xloc> | |
| 386 | - <yloc>73</yloc> | |
| 527 | + <xloc>220</xloc> | |
| 528 | + <yloc>69</yloc> | |
| 387 | 529 | <draw>Y</draw> |
| 388 | 530 | </GUI> |
| 389 | 531 | </step> |
| 390 | 532 | |
| 391 | 533 | <step> |
| 392 | - <name>工种标识查询</name> | |
| 534 | + <name>性别标识查询</name> | |
| 393 | 535 | <type>DBLookup</type> |
| 394 | 536 | <description/> |
| 395 | 537 | <distribute>Y</distribute> |
| ... | ... | @@ -410,91 +552,35 @@ |
| 410 | 552 | <fail_on_multiple>N</fail_on_multiple> |
| 411 | 553 | <eat_row_on_failure>N</eat_row_on_failure> |
| 412 | 554 | <key> |
| 413 | - <name>gzType</name> | |
| 555 | + <name>sexType</name> | |
| 414 | 556 | <field>d_group</field> |
| 415 | 557 | <condition>=</condition> |
| 416 | 558 | <name2/> |
| 417 | 559 | </key> |
| 418 | 560 | <key> |
| 419 | - <name>posts</name> | |
| 561 | + <name>personnel_type</name> | |
| 420 | 562 | <field>d_code</field> |
| 421 | 563 | <condition>=</condition> |
| 422 | 564 | <name2/> |
| 423 | 565 | </key> |
| 424 | 566 | <value> |
| 425 | 567 | <name>d_name</name> |
| 426 | - <rename>posts_str</rename> | |
| 568 | + <rename>personnel_type_str</rename> | |
| 427 | 569 | <default/> |
| 428 | 570 | <type>String</type> |
| 429 | 571 | </value> |
| 430 | 572 | </lookup> |
| 431 | 573 | <cluster_schema/> |
| 432 | 574 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 433 | - <xloc>509</xloc> | |
| 434 | - <yloc>75</yloc> | |
| 435 | - <draw>Y</draw> | |
| 436 | - </GUI> | |
| 437 | - </step> | |
| 438 | - | |
| 439 | - <step> | |
| 440 | - <name>字段选择</name> | |
| 441 | - <type>SelectValues</type> | |
| 442 | - <description/> | |
| 443 | - <distribute>Y</distribute> | |
| 444 | - <custom_distribution/> | |
| 445 | - <copies>1</copies> | |
| 446 | - <partitioning> | |
| 447 | - <method>none</method> | |
| 448 | - <schema_name/> | |
| 449 | - </partitioning> | |
| 450 | - <fields> <field> <name>personnel_name</name> | |
| 451 | - <rename>姓名</rename> | |
| 452 | - <length>-2</length> | |
| 453 | - <precision>-2</precision> | |
| 454 | - </field> <field> <name>job_code</name> | |
| 455 | - <rename>工号</rename> | |
| 456 | - <length>-2</length> | |
| 457 | - <precision>-2</precision> | |
| 458 | - </field> <field> <name>personnel_type_str</name> | |
| 459 | - <rename>性别</rename> | |
| 460 | - <length>-2</length> | |
| 461 | - <precision>-2</precision> | |
| 462 | - </field> <field> <name>company</name> | |
| 463 | - <rename>所属公司</rename> | |
| 464 | - <length>-2</length> | |
| 465 | - <precision>-2</precision> | |
| 466 | - </field> <field> <name>branche_company</name> | |
| 467 | - <rename>所属分公司</rename> | |
| 468 | - <length>-2</length> | |
| 469 | - <precision>-2</precision> | |
| 470 | - </field> <field> <name>ic_card_code</name> | |
| 471 | - <rename>一卡通号</rename> | |
| 472 | - <length>-2</length> | |
| 473 | - <precision>-2</precision> | |
| 474 | - </field> <field> <name>papers_code</name> | |
| 475 | - <rename>运营服务证号</rename> | |
| 476 | - <length>-2</length> | |
| 477 | - <precision>-2</precision> | |
| 478 | - </field> <field> <name>posts_str</name> | |
| 479 | - <rename>岗位</rename> | |
| 480 | - <length>-2</length> | |
| 481 | - <precision>-2</precision> | |
| 482 | - </field> <field> <name>descriptions</name> | |
| 483 | - <rename>备注</rename> | |
| 484 | - <length>-2</length> | |
| 485 | - <precision>-2</precision> | |
| 486 | - </field> <select_unspecified>N</select_unspecified> | |
| 487 | - </fields> <cluster_schema/> | |
| 488 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 489 | - <xloc>631</xloc> | |
| 490 | - <yloc>76</yloc> | |
| 575 | + <xloc>316</xloc> | |
| 576 | + <yloc>71</yloc> | |
| 491 | 577 | <draw>Y</draw> |
| 492 | 578 | </GUI> |
| 493 | 579 | </step> |
| 494 | 580 | |
| 495 | 581 | <step> |
| 496 | - <name>Excel输出</name> | |
| 497 | - <type>ExcelOutput</type> | |
| 582 | + <name>表输入</name> | |
| 583 | + <type>TableInput</type> | |
| 498 | 584 | <description/> |
| 499 | 585 | <distribute>Y</distribute> |
| 500 | 586 | <custom_distribution/> |
| ... | ... | @@ -503,103 +589,17 @@ |
| 503 | 589 | <method>none</method> |
| 504 | 590 | <schema_name/> |
| 505 | 591 | </partitioning> |
| 506 | - <header>Y</header> | |
| 507 | - <footer>N</footer> | |
| 508 | - <encoding/> | |
| 509 | - <append>N</append> | |
| 510 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 511 | - <file> | |
| 512 | - <name>${filepath}</name> | |
| 513 | - <extention/> | |
| 514 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 515 | - <create_parent_folder>N</create_parent_folder> | |
| 516 | - <split>N</split> | |
| 517 | - <add_date>N</add_date> | |
| 518 | - <add_time>N</add_time> | |
| 519 | - <SpecifyFormat>N</SpecifyFormat> | |
| 520 | - <date_time_format>yyyyMMddHHmmss</date_time_format> | |
| 521 | - <sheetname>工作表1</sheetname> | |
| 522 | - <autosizecolums>N</autosizecolums> | |
| 523 | - <nullisblank>N</nullisblank> | |
| 524 | - <protect_sheet>N</protect_sheet> | |
| 525 | - <password>Encrypted </password> | |
| 526 | - <splitevery>0</splitevery> | |
| 527 | - <usetempfiles>N</usetempfiles> | |
| 528 | - <tempdirectory/> | |
| 529 | - </file> | |
| 530 | - <template> | |
| 531 | - <enabled>N</enabled> | |
| 532 | - <append>N</append> | |
| 533 | - <filename>template.xls</filename> | |
| 534 | - </template> | |
| 535 | - <fields> | |
| 536 | - <field> | |
| 537 | - <name>姓名</name> | |
| 538 | - <type>String</type> | |
| 539 | - <format/> | |
| 540 | - </field> | |
| 541 | - <field> | |
| 542 | - <name>工号</name> | |
| 543 | - <type>String</type> | |
| 544 | - <format/> | |
| 545 | - </field> | |
| 546 | - <field> | |
| 547 | - <name>性别</name> | |
| 548 | - <type>String</type> | |
| 549 | - <format/> | |
| 550 | - </field> | |
| 551 | - <field> | |
| 552 | - <name>所属公司</name> | |
| 553 | - <type>String</type> | |
| 554 | - <format/> | |
| 555 | - </field> | |
| 556 | - <field> | |
| 557 | - <name>所属分公司</name> | |
| 558 | - <type>String</type> | |
| 559 | - <format/> | |
| 560 | - </field> | |
| 561 | - <field> | |
| 562 | - <name>一卡通号</name> | |
| 563 | - <type>String</type> | |
| 564 | - <format/> | |
| 565 | - </field> | |
| 566 | - <field> | |
| 567 | - <name>运营服务证号</name> | |
| 568 | - <type>String</type> | |
| 569 | - <format/> | |
| 570 | - </field> | |
| 571 | - <field> | |
| 572 | - <name>岗位</name> | |
| 573 | - <type>String</type> | |
| 574 | - <format/> | |
| 575 | - </field> | |
| 576 | - <field> | |
| 577 | - <name>备注</name> | |
| 578 | - <type>String</type> | |
| 579 | - <format/> | |
| 580 | - </field> | |
| 581 | - </fields> | |
| 582 | - <custom> | |
| 583 | - <header_font_name>arial</header_font_name> | |
| 584 | - <header_font_size>10</header_font_size> | |
| 585 | - <header_font_bold>N</header_font_bold> | |
| 586 | - <header_font_italic>N</header_font_italic> | |
| 587 | - <header_font_underline>no</header_font_underline> | |
| 588 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 589 | - <header_font_color>black</header_font_color> | |
| 590 | - <header_background_color>none</header_background_color> | |
| 591 | - <header_row_height>255</header_row_height> | |
| 592 | - <header_alignment>left</header_alignment> | |
| 593 | - <header_image/> | |
| 594 | - <row_font_name>arial</row_font_name> | |
| 595 | - <row_font_size>10</row_font_size> | |
| 596 | - <row_font_color>black</row_font_color> | |
| 597 | - <row_background_color>none</row_background_color> | |
| 598 | - </custom> | |
| 592 | + <connection>bus_control_variable</connection> | |
| 593 | + <sql>SELECT * FROM bsth_c_personnel;</sql> | |
| 594 | + <limit>0</limit> | |
| 595 | + <lookup/> | |
| 596 | + <execute_each_row>N</execute_each_row> | |
| 597 | + <variables_active>N</variables_active> | |
| 598 | + <lazy_conversion_active>N</lazy_conversion_active> | |
| 599 | 599 | <cluster_schema/> |
| 600 | 600 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 601 | - <xloc>633</xloc> | |
| 602 | - <yloc>189</yloc> | |
| 601 | + <xloc>112</xloc> | |
| 602 | + <yloc>66</yloc> | |
| 603 | 603 | <draw>Y</draw> |
| 604 | 604 | </GUI> |
| 605 | 605 | </step> | ... | ... |
src/main/resources/datatools/ktrs/guideboardDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>guideboardDataInput</name> | |
| 5 | - <description>路牌信息导入</description> | |
| 6 | - <extended_description>线路运营的路牌信息</extended_description> | |
| 7 | - <trans_version/> | |
| 8 | - <trans_type>Normal</trans_type> | |
| 9 | - <trans_status>0</trans_status> | |
| 10 | - <directory>/</directory> | |
| 11 | - <parameters> | |
| 12 | - <parameter> | |
| 13 | - <name>erroroutputdir</name> | |
| 14 | - <default_value/> | |
| 15 | - <description>ktr step配置的错误输出目录</description> | |
| 16 | - </parameter> | |
| 17 | - <parameter> | |
| 18 | - <name>filepath</name> | |
| 19 | - <default_value/> | |
| 20 | - <description>待处理导入的excel文件</description> | |
| 21 | - </parameter> | |
| 22 | - </parameters> | |
| 23 | - <log> | |
| 24 | -<trans-log-table><connection/> | |
| 25 | -<schema/> | |
| 26 | -<table/> | |
| 27 | -<size_limit_lines/> | |
| 28 | -<interval/> | |
| 29 | -<timeout_days/> | |
| 30 | -<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> | |
| 31 | -<perf-log-table><connection/> | |
| 32 | -<schema/> | |
| 33 | -<table/> | |
| 34 | -<interval/> | |
| 35 | -<timeout_days/> | |
| 36 | -<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> | |
| 37 | -<channel-log-table><connection/> | |
| 38 | -<schema/> | |
| 39 | -<table/> | |
| 40 | -<timeout_days/> | |
| 41 | -<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> | |
| 42 | -<step-log-table><connection/> | |
| 43 | -<schema/> | |
| 44 | -<table/> | |
| 45 | -<timeout_days/> | |
| 46 | -<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> | |
| 47 | -<metrics-log-table><connection/> | |
| 48 | -<schema/> | |
| 49 | -<table/> | |
| 50 | -<timeout_days/> | |
| 51 | -<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> | |
| 52 | - </log> | |
| 53 | - <maxdate> | |
| 54 | - <connection/> | |
| 55 | - <table/> | |
| 56 | - <field/> | |
| 57 | - <offset>0.0</offset> | |
| 58 | - <maxdiff>0.0</maxdiff> | |
| 59 | - </maxdate> | |
| 60 | - <size_rowset>10000</size_rowset> | |
| 61 | - <sleep_time_empty>50</sleep_time_empty> | |
| 62 | - <sleep_time_full>50</sleep_time_full> | |
| 63 | - <unique_connections>N</unique_connections> | |
| 64 | - <feedback_shown>Y</feedback_shown> | |
| 65 | - <feedback_size>50000</feedback_size> | |
| 66 | - <using_thread_priorities>Y</using_thread_priorities> | |
| 67 | - <shared_objects_file/> | |
| 68 | - <capture_step_performance>N</capture_step_performance> | |
| 69 | - <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 70 | - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 71 | - <dependencies> | |
| 72 | - </dependencies> | |
| 73 | - <partitionschemas> | |
| 74 | - </partitionschemas> | |
| 75 | - <slaveservers> | |
| 76 | - </slaveservers> | |
| 77 | - <clusterschemas> | |
| 78 | - </clusterschemas> | |
| 79 | - <created_user>-</created_user> | |
| 80 | - <created_date>2016/06/29 17:00:01.094</created_date> | |
| 81 | - <modified_user>-</modified_user> | |
| 82 | - <modified_date>2016/06/29 17:00:01.094</modified_date> | |
| 83 | - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | - <is_key_private>N</is_key_private> | |
| 85 | - </info> | |
| 86 | - <notepads> | |
| 87 | - <notepad> | |
| 88 | - <note>路牌信息输入,路牌名字是不能重复的
一般来说,应该是导入时刻数据自动生成的,这个再议</note> | |
| 89 | - <xloc>218</xloc> | |
| 90 | - <yloc>141</yloc> | |
| 91 | - <width>298</width> | |
| 92 | - <heigth>42</heigth> | |
| 93 | - <fontname>YaHei Consolas Hybrid</fontname> | |
| 94 | - <fontsize>12</fontsize> | |
| 95 | - <fontbold>N</fontbold> | |
| 96 | - <fontitalic>N</fontitalic> | |
| 97 | - <fontcolorred>0</fontcolorred> | |
| 98 | - <fontcolorgreen>0</fontcolorgreen> | |
| 99 | - <fontcolorblue>0</fontcolorblue> | |
| 100 | - <backgroundcolorred>255</backgroundcolorred> | |
| 101 | - <backgroundcolorgreen>205</backgroundcolorgreen> | |
| 102 | - <backgroundcolorblue>112</backgroundcolorblue> | |
| 103 | - <bordercolorred>100</bordercolorred> | |
| 104 | - <bordercolorgreen>100</bordercolorgreen> | |
| 105 | - <bordercolorblue>100</bordercolorblue> | |
| 106 | - <drawshadow>Y</drawshadow> | |
| 107 | - </notepad> | |
| 108 | - </notepads> | |
| 109 | - <connection> | |
| 110 | - <name>bus_control_variable</name> | |
| 111 | - <server>${v_db_ip}</server> | |
| 112 | - <type>MYSQL</type> | |
| 113 | - <access>Native</access> | |
| 114 | - <database>control</database> | |
| 115 | - <port>3306</port> | |
| 116 | - <username>${v_db_uname}</username> | |
| 117 | - <password>${v_db_pwd}</password> | |
| 118 | - <servername/> | |
| 119 | - <data_tablespace/> | |
| 120 | - <index_tablespace/> | |
| 121 | - <attributes> | |
| 122 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 123 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 124 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 125 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 126 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 127 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 128 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 129 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 130 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 131 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 132 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 133 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 134 | - </attributes> | |
| 135 | - </connection> | |
| 136 | - <connection> | |
| 137 | - <name>bus_control_公司_201</name> | |
| 138 | - <server>localhost</server> | |
| 139 | - <type>MYSQL</type> | |
| 140 | - <access>Native</access> | |
| 141 | - <database>control</database> | |
| 142 | - <port>3306</port> | |
| 143 | - <username>root</username> | |
| 144 | - <password>Encrypted </password> | |
| 145 | - <servername/> | |
| 146 | - <data_tablespace/> | |
| 147 | - <index_tablespace/> | |
| 148 | - <attributes> | |
| 149 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 150 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 151 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 152 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 153 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 154 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 155 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 156 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 157 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 158 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 159 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 160 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 161 | - </attributes> | |
| 162 | - </connection> | |
| 163 | - <connection> | |
| 164 | - <name>bus_control_本机</name> | |
| 165 | - <server>localhost</server> | |
| 166 | - <type>MYSQL</type> | |
| 167 | - <access>Native</access> | |
| 168 | - <database>control</database> | |
| 169 | - <port>3306</port> | |
| 170 | - <username>root</username> | |
| 171 | - <password>Encrypted </password> | |
| 172 | - <servername/> | |
| 173 | - <data_tablespace/> | |
| 174 | - <index_tablespace/> | |
| 175 | - <attributes> | |
| 176 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 177 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 178 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 179 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 180 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 181 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 182 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 183 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 184 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 185 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 186 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 187 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 188 | - </attributes> | |
| 189 | - </connection> | |
| 190 | - <connection> | |
| 191 | - <name>xlab_mysql_youle</name> | |
| 192 | - <server>101.231.124.8</server> | |
| 193 | - <type>MYSQL</type> | |
| 194 | - <access>Native</access> | |
| 195 | - <database>xlab_youle</database> | |
| 196 | - <port>45687</port> | |
| 197 | - <username>xlab-youle</username> | |
| 198 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 199 | - <servername/> | |
| 200 | - <data_tablespace/> | |
| 201 | - <index_tablespace/> | |
| 202 | - <attributes> | |
| 203 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 204 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 205 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 206 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 207 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 208 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 209 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 210 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 211 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 212 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 213 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 214 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 215 | - </attributes> | |
| 216 | - </connection> | |
| 217 | - <connection> | |
| 218 | - <name>xlab_mysql_youle(本机)</name> | |
| 219 | - <server>localhost</server> | |
| 220 | - <type>MYSQL</type> | |
| 221 | - <access>Native</access> | |
| 222 | - <database>xlab_youle</database> | |
| 223 | - <port>3306</port> | |
| 224 | - <username>root</username> | |
| 225 | - <password>Encrypted </password> | |
| 226 | - <servername/> | |
| 227 | - <data_tablespace/> | |
| 228 | - <index_tablespace/> | |
| 229 | - <attributes> | |
| 230 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 231 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 232 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 233 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 234 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 235 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 236 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 237 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 238 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 239 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 240 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 241 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 242 | - </attributes> | |
| 243 | - </connection> | |
| 244 | - <connection> | |
| 245 | - <name>xlab_youle</name> | |
| 246 | - <server/> | |
| 247 | - <type>MYSQL</type> | |
| 248 | - <access>JNDI</access> | |
| 249 | - <database>xlab_youle</database> | |
| 250 | - <port>1521</port> | |
| 251 | - <username/> | |
| 252 | - <password>Encrypted </password> | |
| 253 | - <servername/> | |
| 254 | - <data_tablespace/> | |
| 255 | - <index_tablespace/> | |
| 256 | - <attributes> | |
| 257 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 258 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 259 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 260 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 261 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 262 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 263 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 264 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 265 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 266 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 267 | - </attributes> | |
| 268 | - </connection> | |
| 269 | - <order> | |
| 270 | - <hop> <from>字段改名</from><to>查询线路关联</to><enabled>Y</enabled> </hop> | |
| 271 | - <hop> <from>插入/更新bsth_c_s_gbi</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 272 | - <hop> <from>查询线路关联</from><to>插入/更新bsth_c_s_gbi</to><enabled>Y</enabled> </hop> | |
| 273 | - <hop> <from>路牌_85路Excel输入</from><to>字段改名</to><enabled>Y</enabled> </hop> | |
| 274 | - <hop> <from>获取变量</from><to>路牌_85路Excel输入</to><enabled>Y</enabled> </hop> | |
| 275 | - </order> | |
| 276 | - <step> | |
| 277 | - <name>字段改名</name> | |
| 278 | - <type>SelectValues</type> | |
| 279 | - <description/> | |
| 280 | - <distribute>Y</distribute> | |
| 281 | - <custom_distribution/> | |
| 282 | - <copies>1</copies> | |
| 283 | - <partitioning> | |
| 284 | - <method>none</method> | |
| 285 | - <schema_name/> | |
| 286 | - </partitioning> | |
| 287 | - <fields> <select_unspecified>N</select_unspecified> | |
| 288 | - <meta> <name>线路</name> | |
| 289 | - <rename>xl</rename> | |
| 290 | - <type>String</type> | |
| 291 | - <length>-2</length> | |
| 292 | - <precision>-2</precision> | |
| 293 | - <conversion_mask/> | |
| 294 | - <date_format_lenient>false</date_format_lenient> | |
| 295 | - <date_format_locale/> | |
| 296 | - <date_format_timezone/> | |
| 297 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 298 | - <encoding/> | |
| 299 | - <decimal_symbol/> | |
| 300 | - <grouping_symbol/> | |
| 301 | - <currency_symbol/> | |
| 302 | - <storage_type/> | |
| 303 | - </meta> <meta> <name>路牌编号</name> | |
| 304 | - <rename>lpno</rename> | |
| 305 | - <type>Integer</type> | |
| 306 | - <length>-2</length> | |
| 307 | - <precision>-2</precision> | |
| 308 | - <conversion_mask/> | |
| 309 | - <date_format_lenient>false</date_format_lenient> | |
| 310 | - <date_format_locale/> | |
| 311 | - <date_format_timezone/> | |
| 312 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 313 | - <encoding/> | |
| 314 | - <decimal_symbol/> | |
| 315 | - <grouping_symbol/> | |
| 316 | - <currency_symbol/> | |
| 317 | - <storage_type/> | |
| 318 | - </meta> <meta> <name>路牌名称</name> | |
| 319 | - <rename>lpname</rename> | |
| 320 | - <type>String</type> | |
| 321 | - <length>-2</length> | |
| 322 | - <precision>-2</precision> | |
| 323 | - <conversion_mask/> | |
| 324 | - <date_format_lenient>false</date_format_lenient> | |
| 325 | - <date_format_locale/> | |
| 326 | - <date_format_timezone/> | |
| 327 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 328 | - <encoding/> | |
| 329 | - <decimal_symbol/> | |
| 330 | - <grouping_symbol/> | |
| 331 | - <currency_symbol/> | |
| 332 | - <storage_type/> | |
| 333 | - </meta> <meta> <name>路牌类型</name> | |
| 334 | - <rename>lptype</rename> | |
| 335 | - <type>String</type> | |
| 336 | - <length>-2</length> | |
| 337 | - <precision>-2</precision> | |
| 338 | - <conversion_mask/> | |
| 339 | - <date_format_lenient>false</date_format_lenient> | |
| 340 | - <date_format_locale/> | |
| 341 | - <date_format_timezone/> | |
| 342 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 343 | - <encoding/> | |
| 344 | - <decimal_symbol/> | |
| 345 | - <grouping_symbol/> | |
| 346 | - <currency_symbol/> | |
| 347 | - <storage_type/> | |
| 348 | - </meta> </fields> <cluster_schema/> | |
| 349 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 350 | - <xloc>295</xloc> | |
| 351 | - <yloc>68</yloc> | |
| 352 | - <draw>Y</draw> | |
| 353 | - </GUI> | |
| 354 | - </step> | |
| 355 | - | |
| 356 | - <step> | |
| 357 | - <name>插入/更新bsth_c_s_gbi</name> | |
| 358 | - <type>InsertUpdate</type> | |
| 359 | - <description/> | |
| 360 | - <distribute>Y</distribute> | |
| 361 | - <custom_distribution/> | |
| 362 | - <copies>1</copies> | |
| 363 | - <partitioning> | |
| 364 | - <method>none</method> | |
| 365 | - <schema_name/> | |
| 366 | - </partitioning> | |
| 367 | - <connection>bus_control_variable</connection> | |
| 368 | - <commit>100</commit> | |
| 369 | - <update_bypassed>N</update_bypassed> | |
| 370 | - <lookup> | |
| 371 | - <schema/> | |
| 372 | - <table>bsth_c_s_gbi</table> | |
| 373 | - <key> | |
| 374 | - <name>xlid</name> | |
| 375 | - <field>xl</field> | |
| 376 | - <condition>=</condition> | |
| 377 | - <name2/> | |
| 378 | - </key> | |
| 379 | - <key> | |
| 380 | - <name>lpname</name> | |
| 381 | - <field>lp_name</field> | |
| 382 | - <condition>=</condition> | |
| 383 | - <name2/> | |
| 384 | - </key> | |
| 385 | - <value> | |
| 386 | - <name>xl</name> | |
| 387 | - <rename>xlid</rename> | |
| 388 | - <update>Y</update> | |
| 389 | - </value> | |
| 390 | - <value> | |
| 391 | - <name>lp_no</name> | |
| 392 | - <rename>lpno</rename> | |
| 393 | - <update>Y</update> | |
| 394 | - </value> | |
| 395 | - <value> | |
| 396 | - <name>lp_name</name> | |
| 397 | - <rename>lpname</rename> | |
| 398 | - <update>Y</update> | |
| 399 | - </value> | |
| 400 | - <value> | |
| 401 | - <name>lp_type</name> | |
| 402 | - <rename>lptype</rename> | |
| 403 | - <update>Y</update> | |
| 404 | - </value> | |
| 405 | - </lookup> | |
| 406 | - <cluster_schema/> | |
| 407 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 408 | - <xloc>576</xloc> | |
| 409 | - <yloc>69</yloc> | |
| 410 | - <draw>Y</draw> | |
| 411 | - </GUI> | |
| 412 | - </step> | |
| 413 | - | |
| 414 | - <step> | |
| 415 | - <name>查询线路关联</name> | |
| 416 | - <type>DBLookup</type> | |
| 417 | - <description/> | |
| 418 | - <distribute>Y</distribute> | |
| 419 | - <custom_distribution/> | |
| 420 | - <copies>1</copies> | |
| 421 | - <partitioning> | |
| 422 | - <method>none</method> | |
| 423 | - <schema_name/> | |
| 424 | - </partitioning> | |
| 425 | - <connection>bus_control_variable</connection> | |
| 426 | - <cache>N</cache> | |
| 427 | - <cache_load_all>N</cache_load_all> | |
| 428 | - <cache_size>0</cache_size> | |
| 429 | - <lookup> | |
| 430 | - <schema/> | |
| 431 | - <table>bsth_c_line</table> | |
| 432 | - <orderby/> | |
| 433 | - <fail_on_multiple>N</fail_on_multiple> | |
| 434 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 435 | - <key> | |
| 436 | - <name>xl</name> | |
| 437 | - <field>name</field> | |
| 438 | - <condition>=</condition> | |
| 439 | - <name2/> | |
| 440 | - </key> | |
| 441 | - <value> | |
| 442 | - <name>id</name> | |
| 443 | - <rename>xlid</rename> | |
| 444 | - <default/> | |
| 445 | - <type>Integer</type> | |
| 446 | - </value> | |
| 447 | - </lookup> | |
| 448 | - <cluster_schema/> | |
| 449 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 450 | - <xloc>428</xloc> | |
| 451 | - <yloc>69</yloc> | |
| 452 | - <draw>Y</draw> | |
| 453 | - </GUI> | |
| 454 | - </step> | |
| 455 | - | |
| 456 | - <step> | |
| 457 | - <name>获取变量</name> | |
| 458 | - <type>GetVariable</type> | |
| 459 | - <description/> | |
| 460 | - <distribute>Y</distribute> | |
| 461 | - <custom_distribution/> | |
| 462 | - <copies>1</copies> | |
| 463 | - <partitioning> | |
| 464 | - <method>none</method> | |
| 465 | - <schema_name/> | |
| 466 | - </partitioning> | |
| 467 | - <fields> | |
| 468 | - <field> | |
| 469 | - <name>filepath_</name> | |
| 470 | - <variable>${filepath}</variable> | |
| 471 | - <type>String</type> | |
| 472 | - <format/> | |
| 473 | - <currency/> | |
| 474 | - <decimal/> | |
| 475 | - <group/> | |
| 476 | - <length>-1</length> | |
| 477 | - <precision>-1</precision> | |
| 478 | - <trim_type>none</trim_type> | |
| 479 | - </field> | |
| 480 | - <field> | |
| 481 | - <name>erroroutputdir_</name> | |
| 482 | - <variable>${erroroutputdir}</variable> | |
| 483 | - <type>String</type> | |
| 484 | - <format/> | |
| 485 | - <currency/> | |
| 486 | - <decimal/> | |
| 487 | - <group/> | |
| 488 | - <length>-1</length> | |
| 489 | - <precision>-1</precision> | |
| 490 | - <trim_type>none</trim_type> | |
| 491 | - </field> | |
| 492 | - </fields> | |
| 493 | - <cluster_schema/> | |
| 494 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 495 | - <xloc>152</xloc> | |
| 496 | - <yloc>193</yloc> | |
| 497 | - <draw>Y</draw> | |
| 498 | - </GUI> | |
| 499 | - </step> | |
| 500 | - | |
| 501 | - <step> | |
| 502 | - <name>路牌_85路Excel输入</name> | |
| 503 | - <type>ExcelInput</type> | |
| 504 | - <description/> | |
| 505 | - <distribute>Y</distribute> | |
| 506 | - <custom_distribution/> | |
| 507 | - <copies>1</copies> | |
| 508 | - <partitioning> | |
| 509 | - <method>none</method> | |
| 510 | - <schema_name/> | |
| 511 | - </partitioning> | |
| 512 | - <header>Y</header> | |
| 513 | - <noempty>Y</noempty> | |
| 514 | - <stoponempty>N</stoponempty> | |
| 515 | - <filefield/> | |
| 516 | - <sheetfield/> | |
| 517 | - <sheetrownumfield/> | |
| 518 | - <rownumfield/> | |
| 519 | - <sheetfield/> | |
| 520 | - <filefield/> | |
| 521 | - <limit>0</limit> | |
| 522 | - <encoding/> | |
| 523 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 524 | - <accept_filenames>Y</accept_filenames> | |
| 525 | - <accept_field>filepath_</accept_field> | |
| 526 | - <accept_stepname>获取变量</accept_stepname> | |
| 527 | - <file> | |
| 528 | - <name/> | |
| 529 | - <filemask/> | |
| 530 | - <exclude_filemask/> | |
| 531 | - <file_required>N</file_required> | |
| 532 | - <include_subfolders>N</include_subfolders> | |
| 533 | - </file> | |
| 534 | - <fields> | |
| 535 | - <field> | |
| 536 | - <name>线路</name> | |
| 537 | - <type>String</type> | |
| 538 | - <length>-1</length> | |
| 539 | - <precision>-1</precision> | |
| 540 | - <trim_type>none</trim_type> | |
| 541 | - <repeat>N</repeat> | |
| 542 | - <format/> | |
| 543 | - <currency/> | |
| 544 | - <decimal/> | |
| 545 | - <group/> | |
| 546 | - </field> | |
| 547 | - <field> | |
| 548 | - <name>路牌编号</name> | |
| 549 | - <type>String</type> | |
| 550 | - <length>-1</length> | |
| 551 | - <precision>-1</precision> | |
| 552 | - <trim_type>none</trim_type> | |
| 553 | - <repeat>N</repeat> | |
| 554 | - <format>#</format> | |
| 555 | - <currency/> | |
| 556 | - <decimal/> | |
| 557 | - <group/> | |
| 558 | - </field> | |
| 559 | - <field> | |
| 560 | - <name>路牌名称</name> | |
| 561 | - <type>String</type> | |
| 562 | - <length>-1</length> | |
| 563 | - <precision>-1</precision> | |
| 564 | - <trim_type>none</trim_type> | |
| 565 | - <repeat>N</repeat> | |
| 566 | - <format>#</format> | |
| 567 | - <currency/> | |
| 568 | - <decimal/> | |
| 569 | - <group/> | |
| 570 | - </field> | |
| 571 | - <field> | |
| 572 | - <name>路牌类型</name> | |
| 573 | - <type>String</type> | |
| 574 | - <length>-1</length> | |
| 575 | - <precision>-1</precision> | |
| 576 | - <trim_type>none</trim_type> | |
| 577 | - <repeat>N</repeat> | |
| 578 | - <format/> | |
| 579 | - <currency/> | |
| 580 | - <decimal/> | |
| 581 | - <group/> | |
| 582 | - </field> | |
| 583 | - </fields> | |
| 584 | - <sheets> | |
| 585 | - <sheet> | |
| 586 | - <name>工作表1</name> | |
| 587 | - <startrow>0</startrow> | |
| 588 | - <startcol>0</startcol> | |
| 589 | - </sheet> | |
| 590 | - </sheets> | |
| 591 | - <strict_types>N</strict_types> | |
| 592 | - <error_ignored>N</error_ignored> | |
| 593 | - <error_line_skipped>N</error_line_skipped> | |
| 594 | - <bad_line_files_destination_directory/> | |
| 595 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 596 | - <error_line_files_destination_directory/> | |
| 597 | - <error_line_files_extension>error</error_line_files_extension> | |
| 598 | - <line_number_files_destination_directory/> | |
| 599 | - <line_number_files_extension>line</line_number_files_extension> | |
| 600 | - <shortFileFieldName/> | |
| 601 | - <pathFieldName/> | |
| 602 | - <hiddenFieldName/> | |
| 603 | - <lastModificationTimeFieldName/> | |
| 604 | - <uriNameFieldName/> | |
| 605 | - <rootUriNameFieldName/> | |
| 606 | - <extensionFieldName/> | |
| 607 | - <sizeFieldName/> | |
| 608 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 609 | - <cluster_schema/> | |
| 610 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 611 | - <xloc>150</xloc> | |
| 612 | - <yloc>68</yloc> | |
| 613 | - <draw>Y</draw> | |
| 614 | - </GUI> | |
| 615 | - </step> | |
| 616 | - | |
| 617 | - <step> | |
| 618 | - <name>错误输出</name> | |
| 619 | - <type>ExcelOutput</type> | |
| 620 | - <description/> | |
| 621 | - <distribute>Y</distribute> | |
| 622 | - <custom_distribution/> | |
| 623 | - <copies>1</copies> | |
| 624 | - <partitioning> | |
| 625 | - <method>none</method> | |
| 626 | - <schema_name/> | |
| 627 | - </partitioning> | |
| 628 | - <header>Y</header> | |
| 629 | - <footer>N</footer> | |
| 630 | - <encoding>UTF-8</encoding> | |
| 631 | - <append>N</append> | |
| 632 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 633 | - <file> | |
| 634 | - <name>${erroroutputdir}/路牌_错误</name> | |
| 635 | - <extention>xls</extention> | |
| 636 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 637 | - <create_parent_folder>N</create_parent_folder> | |
| 638 | - <split>N</split> | |
| 639 | - <add_date>N</add_date> | |
| 640 | - <add_time>N</add_time> | |
| 641 | - <SpecifyFormat>N</SpecifyFormat> | |
| 642 | - <date_time_format/> | |
| 643 | - <sheetname>Sheet1</sheetname> | |
| 644 | - <autosizecolums>N</autosizecolums> | |
| 645 | - <nullisblank>N</nullisblank> | |
| 646 | - <protect_sheet>N</protect_sheet> | |
| 647 | - <password>Encrypted </password> | |
| 648 | - <splitevery>0</splitevery> | |
| 649 | - <usetempfiles>N</usetempfiles> | |
| 650 | - <tempdirectory/> | |
| 651 | - </file> | |
| 652 | - <template> | |
| 653 | - <enabled>N</enabled> | |
| 654 | - <append>N</append> | |
| 655 | - <filename>template.xls</filename> | |
| 656 | - </template> | |
| 657 | - <fields> | |
| 658 | - <field> | |
| 659 | - <name>xl</name> | |
| 660 | - <type>String</type> | |
| 661 | - <format/> | |
| 662 | - </field> | |
| 663 | - <field> | |
| 664 | - <name>lpno</name> | |
| 665 | - <type>Integer</type> | |
| 666 | - <format/> | |
| 667 | - </field> | |
| 668 | - <field> | |
| 669 | - <name>lpname</name> | |
| 670 | - <type>String</type> | |
| 671 | - <format/> | |
| 672 | - </field> | |
| 673 | - <field> | |
| 674 | - <name>lptype</name> | |
| 675 | - <type>String</type> | |
| 676 | - <format/> | |
| 677 | - </field> | |
| 678 | - <field> | |
| 679 | - <name>xlid</name> | |
| 680 | - <type>Integer</type> | |
| 681 | - <format/> | |
| 682 | - </field> | |
| 683 | - <field> | |
| 684 | - <name>error_count</name> | |
| 685 | - <type>Integer</type> | |
| 686 | - <format/> | |
| 687 | - </field> | |
| 688 | - <field> | |
| 689 | - <name>error_desc</name> | |
| 690 | - <type>String</type> | |
| 691 | - <format/> | |
| 692 | - </field> | |
| 693 | - <field> | |
| 694 | - <name>error_column1</name> | |
| 695 | - <type>String</type> | |
| 696 | - <format/> | |
| 697 | - </field> | |
| 698 | - <field> | |
| 699 | - <name>error_column2</name> | |
| 700 | - <type>String</type> | |
| 701 | - <format/> | |
| 702 | - </field> | |
| 703 | - </fields> | |
| 704 | - <custom> | |
| 705 | - <header_font_name>arial</header_font_name> | |
| 706 | - <header_font_size>10</header_font_size> | |
| 707 | - <header_font_bold>N</header_font_bold> | |
| 708 | - <header_font_italic>N</header_font_italic> | |
| 709 | - <header_font_underline>no</header_font_underline> | |
| 710 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 711 | - <header_font_color>black</header_font_color> | |
| 712 | - <header_background_color>none</header_background_color> | |
| 713 | - <header_row_height>255</header_row_height> | |
| 714 | - <header_alignment>left</header_alignment> | |
| 715 | - <header_image/> | |
| 716 | - <row_font_name>arial</row_font_name> | |
| 717 | - <row_font_size>10</row_font_size> | |
| 718 | - <row_font_color>black</row_font_color> | |
| 719 | - <row_background_color>none</row_background_color> | |
| 720 | - </custom> | |
| 721 | - <cluster_schema/> | |
| 722 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 723 | - <xloc>576</xloc> | |
| 724 | - <yloc>192</yloc> | |
| 725 | - <draw>Y</draw> | |
| 726 | - </GUI> | |
| 727 | - </step> | |
| 728 | - | |
| 729 | - <step_error_handling> | |
| 730 | - <error> | |
| 731 | - <source_step>插入/更新bsth_c_s_gbi</source_step> | |
| 732 | - <target_step>错误输出</target_step> | |
| 733 | - <is_enabled>Y</is_enabled> | |
| 734 | - <nr_valuename>error_count</nr_valuename> | |
| 735 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 736 | - <fields_valuename>error_column1</fields_valuename> | |
| 737 | - <codes_valuename>error_column2</codes_valuename> | |
| 738 | - <max_errors/> | |
| 739 | - <max_pct_errors/> | |
| 740 | - <min_pct_rows/> | |
| 741 | - </error> | |
| 742 | - </step_error_handling> | |
| 743 | - <slave-step-copy-partition-distribution> | |
| 744 | -</slave-step-copy-partition-distribution> | |
| 745 | - <slave_transformation>N</slave_transformation> | |
| 746 | - | |
| 747 | -</transformation> | |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>guideboardDataInput</name> | |
| 5 | + <description>路牌信息导入</description> | |
| 6 | + <extended_description>线路运营的路牌信息</extended_description> | |
| 7 | + <trans_version/> | |
| 8 | + <trans_type>Normal</trans_type> | |
| 9 | + <trans_status>0</trans_status> | |
| 10 | + <directory>/</directory> | |
| 11 | + <parameters> | |
| 12 | + <parameter> | |
| 13 | + <name>erroroutputdir</name> | |
| 14 | + <default_value/> | |
| 15 | + <description>ktr step配置的错误输出目录</description> | |
| 16 | + </parameter> | |
| 17 | + <parameter> | |
| 18 | + <name>filepath</name> | |
| 19 | + <default_value/> | |
| 20 | + <description>待处理导入的excel文件</description> | |
| 21 | + </parameter> | |
| 22 | + </parameters> | |
| 23 | + <log> | |
| 24 | +<trans-log-table><connection/> | |
| 25 | +<schema/> | |
| 26 | +<table/> | |
| 27 | +<size_limit_lines/> | |
| 28 | +<interval/> | |
| 29 | +<timeout_days/> | |
| 30 | +<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> | |
| 31 | +<perf-log-table><connection/> | |
| 32 | +<schema/> | |
| 33 | +<table/> | |
| 34 | +<interval/> | |
| 35 | +<timeout_days/> | |
| 36 | +<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> | |
| 37 | +<channel-log-table><connection/> | |
| 38 | +<schema/> | |
| 39 | +<table/> | |
| 40 | +<timeout_days/> | |
| 41 | +<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> | |
| 42 | +<step-log-table><connection/> | |
| 43 | +<schema/> | |
| 44 | +<table/> | |
| 45 | +<timeout_days/> | |
| 46 | +<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> | |
| 47 | +<metrics-log-table><connection/> | |
| 48 | +<schema/> | |
| 49 | +<table/> | |
| 50 | +<timeout_days/> | |
| 51 | +<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> | |
| 52 | + </log> | |
| 53 | + <maxdate> | |
| 54 | + <connection/> | |
| 55 | + <table/> | |
| 56 | + <field/> | |
| 57 | + <offset>0.0</offset> | |
| 58 | + <maxdiff>0.0</maxdiff> | |
| 59 | + </maxdate> | |
| 60 | + <size_rowset>10000</size_rowset> | |
| 61 | + <sleep_time_empty>50</sleep_time_empty> | |
| 62 | + <sleep_time_full>50</sleep_time_full> | |
| 63 | + <unique_connections>N</unique_connections> | |
| 64 | + <feedback_shown>Y</feedback_shown> | |
| 65 | + <feedback_size>50000</feedback_size> | |
| 66 | + <using_thread_priorities>Y</using_thread_priorities> | |
| 67 | + <shared_objects_file/> | |
| 68 | + <capture_step_performance>N</capture_step_performance> | |
| 69 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 70 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 71 | + <dependencies> | |
| 72 | + </dependencies> | |
| 73 | + <partitionschemas> | |
| 74 | + </partitionschemas> | |
| 75 | + <slaveservers> | |
| 76 | + </slaveservers> | |
| 77 | + <clusterschemas> | |
| 78 | + </clusterschemas> | |
| 79 | + <created_user>-</created_user> | |
| 80 | + <created_date>2016/06/29 17:00:01.094</created_date> | |
| 81 | + <modified_user>-</modified_user> | |
| 82 | + <modified_date>2016/06/29 17:00:01.094</modified_date> | |
| 83 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | + <is_key_private>N</is_key_private> | |
| 85 | + </info> | |
| 86 | + <notepads> | |
| 87 | + <notepad> | |
| 88 | + <note>路牌信息输入,路牌名字是不能重复的
一般来说,应该是导入时刻数据自动生成的,这个再议

</note> | |
| 89 | + <xloc>218</xloc> | |
| 90 | + <yloc>141</yloc> | |
| 91 | + <width>298</width> | |
| 92 | + <heigth>74</heigth> | |
| 93 | + <fontname>YaHei Consolas Hybrid</fontname> | |
| 94 | + <fontsize>12</fontsize> | |
| 95 | + <fontbold>N</fontbold> | |
| 96 | + <fontitalic>N</fontitalic> | |
| 97 | + <fontcolorred>0</fontcolorred> | |
| 98 | + <fontcolorgreen>0</fontcolorgreen> | |
| 99 | + <fontcolorblue>0</fontcolorblue> | |
| 100 | + <backgroundcolorred>255</backgroundcolorred> | |
| 101 | + <backgroundcolorgreen>205</backgroundcolorgreen> | |
| 102 | + <backgroundcolorblue>112</backgroundcolorblue> | |
| 103 | + <bordercolorred>100</bordercolorred> | |
| 104 | + <bordercolorgreen>100</bordercolorgreen> | |
| 105 | + <bordercolorblue>100</bordercolorblue> | |
| 106 | + <drawshadow>Y</drawshadow> | |
| 107 | + </notepad> | |
| 108 | + </notepads> | |
| 109 | + <connection> | |
| 110 | + <name>bus_control_variable</name> | |
| 111 | + <server>${v_db_ip}</server> | |
| 112 | + <type>MYSQL</type> | |
| 113 | + <access>Native</access> | |
| 114 | + <database>${v_db_dname}</database> | |
| 115 | + <port>3306</port> | |
| 116 | + <username>${v_db_uname}</username> | |
| 117 | + <password>${v_db_pwd}</password> | |
| 118 | + <servername/> | |
| 119 | + <data_tablespace/> | |
| 120 | + <index_tablespace/> | |
| 121 | + <attributes> | |
| 122 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 123 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 124 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 125 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 126 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 127 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 128 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 129 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 130 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 131 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 132 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 133 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 134 | + </attributes> | |
| 135 | + </connection> | |
| 136 | + <connection> | |
| 137 | + <name>bus_control_公司_201</name> | |
| 138 | + <server>localhost</server> | |
| 139 | + <type>MYSQL</type> | |
| 140 | + <access>Native</access> | |
| 141 | + <database>control</database> | |
| 142 | + <port>3306</port> | |
| 143 | + <username>root</username> | |
| 144 | + <password>Encrypted </password> | |
| 145 | + <servername/> | |
| 146 | + <data_tablespace/> | |
| 147 | + <index_tablespace/> | |
| 148 | + <attributes> | |
| 149 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 150 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 151 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 152 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 153 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 154 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 155 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 156 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 157 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 158 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 159 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 160 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 161 | + </attributes> | |
| 162 | + </connection> | |
| 163 | + <connection> | |
| 164 | + <name>bus_control_本机</name> | |
| 165 | + <server>localhost</server> | |
| 166 | + <type>MYSQL</type> | |
| 167 | + <access>Native</access> | |
| 168 | + <database>control</database> | |
| 169 | + <port>3306</port> | |
| 170 | + <username>root</username> | |
| 171 | + <password>Encrypted </password> | |
| 172 | + <servername/> | |
| 173 | + <data_tablespace/> | |
| 174 | + <index_tablespace/> | |
| 175 | + <attributes> | |
| 176 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 177 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 178 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 179 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 180 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 181 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 182 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 183 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 184 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 185 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 186 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 187 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 188 | + </attributes> | |
| 189 | + </connection> | |
| 190 | + <connection> | |
| 191 | + <name>xlab_mysql_youle</name> | |
| 192 | + <server>101.231.124.8</server> | |
| 193 | + <type>MYSQL</type> | |
| 194 | + <access>Native</access> | |
| 195 | + <database>xlab_youle</database> | |
| 196 | + <port>45687</port> | |
| 197 | + <username>xlab-youle</username> | |
| 198 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 199 | + <servername/> | |
| 200 | + <data_tablespace/> | |
| 201 | + <index_tablespace/> | |
| 202 | + <attributes> | |
| 203 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 204 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 205 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 206 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 207 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 208 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 209 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 210 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 211 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 212 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 213 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 214 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 215 | + </attributes> | |
| 216 | + </connection> | |
| 217 | + <connection> | |
| 218 | + <name>xlab_mysql_youle(本机)</name> | |
| 219 | + <server>localhost</server> | |
| 220 | + <type>MYSQL</type> | |
| 221 | + <access>Native</access> | |
| 222 | + <database>xlab_youle</database> | |
| 223 | + <port>3306</port> | |
| 224 | + <username>root</username> | |
| 225 | + <password>Encrypted </password> | |
| 226 | + <servername/> | |
| 227 | + <data_tablespace/> | |
| 228 | + <index_tablespace/> | |
| 229 | + <attributes> | |
| 230 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 231 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 232 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 233 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 234 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 235 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 236 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 237 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 238 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 239 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 240 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 241 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 242 | + </attributes> | |
| 243 | + </connection> | |
| 244 | + <connection> | |
| 245 | + <name>xlab_youle</name> | |
| 246 | + <server/> | |
| 247 | + <type>MYSQL</type> | |
| 248 | + <access>JNDI</access> | |
| 249 | + <database>xlab_youle</database> | |
| 250 | + <port>1521</port> | |
| 251 | + <username/> | |
| 252 | + <password>Encrypted </password> | |
| 253 | + <servername/> | |
| 254 | + <data_tablespace/> | |
| 255 | + <index_tablespace/> | |
| 256 | + <attributes> | |
| 257 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 258 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 259 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 260 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 261 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 262 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 263 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 264 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 265 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 266 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 267 | + </attributes> | |
| 268 | + </connection> | |
| 269 | + <order> | |
| 270 | + <hop> <from>字段改名</from><to>查询线路关联</to><enabled>Y</enabled> </hop> | |
| 271 | + <hop> <from>插入/更新bsth_c_s_gbi</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 272 | + <hop> <from>查询线路关联</from><to>插入/更新bsth_c_s_gbi</to><enabled>Y</enabled> </hop> | |
| 273 | + <hop> <from>路牌_85路Excel输入</from><to>字段改名</to><enabled>Y</enabled> </hop> | |
| 274 | + <hop> <from>获取变量</from><to>路牌_85路Excel输入</to><enabled>Y</enabled> </hop> | |
| 275 | + </order> | |
| 276 | + <step> | |
| 277 | + <name>字段改名</name> | |
| 278 | + <type>SelectValues</type> | |
| 279 | + <description/> | |
| 280 | + <distribute>Y</distribute> | |
| 281 | + <custom_distribution/> | |
| 282 | + <copies>1</copies> | |
| 283 | + <partitioning> | |
| 284 | + <method>none</method> | |
| 285 | + <schema_name/> | |
| 286 | + </partitioning> | |
| 287 | + <fields> <select_unspecified>N</select_unspecified> | |
| 288 | + <meta> <name>线路</name> | |
| 289 | + <rename>xl</rename> | |
| 290 | + <type>String</type> | |
| 291 | + <length>-2</length> | |
| 292 | + <precision>-2</precision> | |
| 293 | + <conversion_mask/> | |
| 294 | + <date_format_lenient>false</date_format_lenient> | |
| 295 | + <date_format_locale/> | |
| 296 | + <date_format_timezone/> | |
| 297 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 298 | + <encoding/> | |
| 299 | + <decimal_symbol/> | |
| 300 | + <grouping_symbol/> | |
| 301 | + <currency_symbol/> | |
| 302 | + <storage_type/> | |
| 303 | + </meta> <meta> <name>路牌编号</name> | |
| 304 | + <rename>lpno</rename> | |
| 305 | + <type>Integer</type> | |
| 306 | + <length>-2</length> | |
| 307 | + <precision>-2</precision> | |
| 308 | + <conversion_mask/> | |
| 309 | + <date_format_lenient>false</date_format_lenient> | |
| 310 | + <date_format_locale/> | |
| 311 | + <date_format_timezone/> | |
| 312 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 313 | + <encoding/> | |
| 314 | + <decimal_symbol/> | |
| 315 | + <grouping_symbol/> | |
| 316 | + <currency_symbol/> | |
| 317 | + <storage_type/> | |
| 318 | + </meta> <meta> <name>路牌名称</name> | |
| 319 | + <rename>lpname</rename> | |
| 320 | + <type>String</type> | |
| 321 | + <length>-2</length> | |
| 322 | + <precision>-2</precision> | |
| 323 | + <conversion_mask/> | |
| 324 | + <date_format_lenient>false</date_format_lenient> | |
| 325 | + <date_format_locale/> | |
| 326 | + <date_format_timezone/> | |
| 327 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 328 | + <encoding/> | |
| 329 | + <decimal_symbol/> | |
| 330 | + <grouping_symbol/> | |
| 331 | + <currency_symbol/> | |
| 332 | + <storage_type/> | |
| 333 | + </meta> <meta> <name>路牌类型</name> | |
| 334 | + <rename>lptype</rename> | |
| 335 | + <type>String</type> | |
| 336 | + <length>-2</length> | |
| 337 | + <precision>-2</precision> | |
| 338 | + <conversion_mask/> | |
| 339 | + <date_format_lenient>false</date_format_lenient> | |
| 340 | + <date_format_locale/> | |
| 341 | + <date_format_timezone/> | |
| 342 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 343 | + <encoding/> | |
| 344 | + <decimal_symbol/> | |
| 345 | + <grouping_symbol/> | |
| 346 | + <currency_symbol/> | |
| 347 | + <storage_type/> | |
| 348 | + </meta> </fields> <cluster_schema/> | |
| 349 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 350 | + <xloc>295</xloc> | |
| 351 | + <yloc>68</yloc> | |
| 352 | + <draw>Y</draw> | |
| 353 | + </GUI> | |
| 354 | + </step> | |
| 355 | + | |
| 356 | + <step> | |
| 357 | + <name>插入/更新bsth_c_s_gbi</name> | |
| 358 | + <type>InsertUpdate</type> | |
| 359 | + <description/> | |
| 360 | + <distribute>Y</distribute> | |
| 361 | + <custom_distribution/> | |
| 362 | + <copies>1</copies> | |
| 363 | + <partitioning> | |
| 364 | + <method>none</method> | |
| 365 | + <schema_name/> | |
| 366 | + </partitioning> | |
| 367 | + <connection>bus_control_variable</connection> | |
| 368 | + <commit>100</commit> | |
| 369 | + <update_bypassed>N</update_bypassed> | |
| 370 | + <lookup> | |
| 371 | + <schema/> | |
| 372 | + <table>bsth_c_s_gbi</table> | |
| 373 | + <key> | |
| 374 | + <name>xlid</name> | |
| 375 | + <field>xl</field> | |
| 376 | + <condition>=</condition> | |
| 377 | + <name2/> | |
| 378 | + </key> | |
| 379 | + <key> | |
| 380 | + <name>lpname</name> | |
| 381 | + <field>lp_name</field> | |
| 382 | + <condition>=</condition> | |
| 383 | + <name2/> | |
| 384 | + </key> | |
| 385 | + <value> | |
| 386 | + <name>xl</name> | |
| 387 | + <rename>xlid</rename> | |
| 388 | + <update>Y</update> | |
| 389 | + </value> | |
| 390 | + <value> | |
| 391 | + <name>lp_no</name> | |
| 392 | + <rename>lpno</rename> | |
| 393 | + <update>Y</update> | |
| 394 | + </value> | |
| 395 | + <value> | |
| 396 | + <name>lp_name</name> | |
| 397 | + <rename>lpname</rename> | |
| 398 | + <update>Y</update> | |
| 399 | + </value> | |
| 400 | + <value> | |
| 401 | + <name>lp_type</name> | |
| 402 | + <rename>lptype</rename> | |
| 403 | + <update>Y</update> | |
| 404 | + </value> | |
| 405 | + </lookup> | |
| 406 | + <cluster_schema/> | |
| 407 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 408 | + <xloc>576</xloc> | |
| 409 | + <yloc>69</yloc> | |
| 410 | + <draw>Y</draw> | |
| 411 | + </GUI> | |
| 412 | + </step> | |
| 413 | + | |
| 414 | + <step> | |
| 415 | + <name>查询线路关联</name> | |
| 416 | + <type>DBLookup</type> | |
| 417 | + <description/> | |
| 418 | + <distribute>Y</distribute> | |
| 419 | + <custom_distribution/> | |
| 420 | + <copies>1</copies> | |
| 421 | + <partitioning> | |
| 422 | + <method>none</method> | |
| 423 | + <schema_name/> | |
| 424 | + </partitioning> | |
| 425 | + <connection>bus_control_variable</connection> | |
| 426 | + <cache>N</cache> | |
| 427 | + <cache_load_all>N</cache_load_all> | |
| 428 | + <cache_size>0</cache_size> | |
| 429 | + <lookup> | |
| 430 | + <schema/> | |
| 431 | + <table>bsth_c_line</table> | |
| 432 | + <orderby/> | |
| 433 | + <fail_on_multiple>N</fail_on_multiple> | |
| 434 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 435 | + <key> | |
| 436 | + <name>xl</name> | |
| 437 | + <field>name</field> | |
| 438 | + <condition>=</condition> | |
| 439 | + <name2/> | |
| 440 | + </key> | |
| 441 | + <value> | |
| 442 | + <name>id</name> | |
| 443 | + <rename>xlid</rename> | |
| 444 | + <default/> | |
| 445 | + <type>Integer</type> | |
| 446 | + </value> | |
| 447 | + </lookup> | |
| 448 | + <cluster_schema/> | |
| 449 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 450 | + <xloc>428</xloc> | |
| 451 | + <yloc>69</yloc> | |
| 452 | + <draw>Y</draw> | |
| 453 | + </GUI> | |
| 454 | + </step> | |
| 455 | + | |
| 456 | + <step> | |
| 457 | + <name>获取变量</name> | |
| 458 | + <type>GetVariable</type> | |
| 459 | + <description/> | |
| 460 | + <distribute>Y</distribute> | |
| 461 | + <custom_distribution/> | |
| 462 | + <copies>1</copies> | |
| 463 | + <partitioning> | |
| 464 | + <method>none</method> | |
| 465 | + <schema_name/> | |
| 466 | + </partitioning> | |
| 467 | + <fields> | |
| 468 | + <field> | |
| 469 | + <name>filepath_</name> | |
| 470 | + <variable>${filepath}</variable> | |
| 471 | + <type>String</type> | |
| 472 | + <format/> | |
| 473 | + <currency/> | |
| 474 | + <decimal/> | |
| 475 | + <group/> | |
| 476 | + <length>-1</length> | |
| 477 | + <precision>-1</precision> | |
| 478 | + <trim_type>none</trim_type> | |
| 479 | + </field> | |
| 480 | + <field> | |
| 481 | + <name>erroroutputdir_</name> | |
| 482 | + <variable>${erroroutputdir}</variable> | |
| 483 | + <type>String</type> | |
| 484 | + <format/> | |
| 485 | + <currency/> | |
| 486 | + <decimal/> | |
| 487 | + <group/> | |
| 488 | + <length>-1</length> | |
| 489 | + <precision>-1</precision> | |
| 490 | + <trim_type>none</trim_type> | |
| 491 | + </field> | |
| 492 | + </fields> | |
| 493 | + <cluster_schema/> | |
| 494 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 495 | + <xloc>152</xloc> | |
| 496 | + <yloc>193</yloc> | |
| 497 | + <draw>Y</draw> | |
| 498 | + </GUI> | |
| 499 | + </step> | |
| 500 | + | |
| 501 | + <step> | |
| 502 | + <name>路牌_85路Excel输入</name> | |
| 503 | + <type>ExcelInput</type> | |
| 504 | + <description/> | |
| 505 | + <distribute>Y</distribute> | |
| 506 | + <custom_distribution/> | |
| 507 | + <copies>1</copies> | |
| 508 | + <partitioning> | |
| 509 | + <method>none</method> | |
| 510 | + <schema_name/> | |
| 511 | + </partitioning> | |
| 512 | + <header>Y</header> | |
| 513 | + <noempty>Y</noempty> | |
| 514 | + <stoponempty>N</stoponempty> | |
| 515 | + <filefield/> | |
| 516 | + <sheetfield/> | |
| 517 | + <sheetrownumfield/> | |
| 518 | + <rownumfield/> | |
| 519 | + <sheetfield/> | |
| 520 | + <filefield/> | |
| 521 | + <limit>0</limit> | |
| 522 | + <encoding/> | |
| 523 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 524 | + <accept_filenames>Y</accept_filenames> | |
| 525 | + <accept_field>filepath_</accept_field> | |
| 526 | + <accept_stepname>获取变量</accept_stepname> | |
| 527 | + <file> | |
| 528 | + <name/> | |
| 529 | + <filemask/> | |
| 530 | + <exclude_filemask/> | |
| 531 | + <file_required>N</file_required> | |
| 532 | + <include_subfolders>N</include_subfolders> | |
| 533 | + </file> | |
| 534 | + <fields> | |
| 535 | + <field> | |
| 536 | + <name>线路</name> | |
| 537 | + <type>String</type> | |
| 538 | + <length>-1</length> | |
| 539 | + <precision>-1</precision> | |
| 540 | + <trim_type>none</trim_type> | |
| 541 | + <repeat>N</repeat> | |
| 542 | + <format/> | |
| 543 | + <currency/> | |
| 544 | + <decimal/> | |
| 545 | + <group/> | |
| 546 | + </field> | |
| 547 | + <field> | |
| 548 | + <name>路牌编号</name> | |
| 549 | + <type>String</type> | |
| 550 | + <length>-1</length> | |
| 551 | + <precision>-1</precision> | |
| 552 | + <trim_type>none</trim_type> | |
| 553 | + <repeat>N</repeat> | |
| 554 | + <format>#</format> | |
| 555 | + <currency/> | |
| 556 | + <decimal/> | |
| 557 | + <group/> | |
| 558 | + </field> | |
| 559 | + <field> | |
| 560 | + <name>路牌名称</name> | |
| 561 | + <type>String</type> | |
| 562 | + <length>-1</length> | |
| 563 | + <precision>-1</precision> | |
| 564 | + <trim_type>none</trim_type> | |
| 565 | + <repeat>N</repeat> | |
| 566 | + <format>#</format> | |
| 567 | + <currency/> | |
| 568 | + <decimal/> | |
| 569 | + <group/> | |
| 570 | + </field> | |
| 571 | + <field> | |
| 572 | + <name>路牌类型</name> | |
| 573 | + <type>String</type> | |
| 574 | + <length>-1</length> | |
| 575 | + <precision>-1</precision> | |
| 576 | + <trim_type>none</trim_type> | |
| 577 | + <repeat>N</repeat> | |
| 578 | + <format/> | |
| 579 | + <currency/> | |
| 580 | + <decimal/> | |
| 581 | + <group/> | |
| 582 | + </field> | |
| 583 | + </fields> | |
| 584 | + <sheets> | |
| 585 | + <sheet> | |
| 586 | + <name>工作表1</name> | |
| 587 | + <startrow>0</startrow> | |
| 588 | + <startcol>0</startcol> | |
| 589 | + </sheet> | |
| 590 | + </sheets> | |
| 591 | + <strict_types>N</strict_types> | |
| 592 | + <error_ignored>N</error_ignored> | |
| 593 | + <error_line_skipped>N</error_line_skipped> | |
| 594 | + <bad_line_files_destination_directory/> | |
| 595 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 596 | + <error_line_files_destination_directory/> | |
| 597 | + <error_line_files_extension>error</error_line_files_extension> | |
| 598 | + <line_number_files_destination_directory/> | |
| 599 | + <line_number_files_extension>line</line_number_files_extension> | |
| 600 | + <shortFileFieldName/> | |
| 601 | + <pathFieldName/> | |
| 602 | + <hiddenFieldName/> | |
| 603 | + <lastModificationTimeFieldName/> | |
| 604 | + <uriNameFieldName/> | |
| 605 | + <rootUriNameFieldName/> | |
| 606 | + <extensionFieldName/> | |
| 607 | + <sizeFieldName/> | |
| 608 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 609 | + <cluster_schema/> | |
| 610 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 611 | + <xloc>150</xloc> | |
| 612 | + <yloc>68</yloc> | |
| 613 | + <draw>Y</draw> | |
| 614 | + </GUI> | |
| 615 | + </step> | |
| 616 | + | |
| 617 | + <step> | |
| 618 | + <name>错误输出</name> | |
| 619 | + <type>ExcelOutput</type> | |
| 620 | + <description/> | |
| 621 | + <distribute>Y</distribute> | |
| 622 | + <custom_distribution/> | |
| 623 | + <copies>1</copies> | |
| 624 | + <partitioning> | |
| 625 | + <method>none</method> | |
| 626 | + <schema_name/> | |
| 627 | + </partitioning> | |
| 628 | + <header>Y</header> | |
| 629 | + <footer>N</footer> | |
| 630 | + <encoding>UTF-8</encoding> | |
| 631 | + <append>N</append> | |
| 632 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 633 | + <file> | |
| 634 | + <name>${erroroutputdir}/路牌_错误</name> | |
| 635 | + <extention>xls</extention> | |
| 636 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 637 | + <create_parent_folder>N</create_parent_folder> | |
| 638 | + <split>N</split> | |
| 639 | + <add_date>N</add_date> | |
| 640 | + <add_time>N</add_time> | |
| 641 | + <SpecifyFormat>N</SpecifyFormat> | |
| 642 | + <date_time_format/> | |
| 643 | + <sheetname>Sheet1</sheetname> | |
| 644 | + <autosizecolums>N</autosizecolums> | |
| 645 | + <nullisblank>N</nullisblank> | |
| 646 | + <protect_sheet>N</protect_sheet> | |
| 647 | + <password>Encrypted </password> | |
| 648 | + <splitevery>0</splitevery> | |
| 649 | + <usetempfiles>N</usetempfiles> | |
| 650 | + <tempdirectory/> | |
| 651 | + </file> | |
| 652 | + <template> | |
| 653 | + <enabled>N</enabled> | |
| 654 | + <append>N</append> | |
| 655 | + <filename>template.xls</filename> | |
| 656 | + </template> | |
| 657 | + <fields> | |
| 658 | + <field> | |
| 659 | + <name>xl</name> | |
| 660 | + <type>String</type> | |
| 661 | + <format/> | |
| 662 | + </field> | |
| 663 | + <field> | |
| 664 | + <name>lpno</name> | |
| 665 | + <type>Integer</type> | |
| 666 | + <format/> | |
| 667 | + </field> | |
| 668 | + <field> | |
| 669 | + <name>lpname</name> | |
| 670 | + <type>String</type> | |
| 671 | + <format/> | |
| 672 | + </field> | |
| 673 | + <field> | |
| 674 | + <name>lptype</name> | |
| 675 | + <type>String</type> | |
| 676 | + <format/> | |
| 677 | + </field> | |
| 678 | + <field> | |
| 679 | + <name>xlid</name> | |
| 680 | + <type>Integer</type> | |
| 681 | + <format/> | |
| 682 | + </field> | |
| 683 | + <field> | |
| 684 | + <name>error_count</name> | |
| 685 | + <type>Integer</type> | |
| 686 | + <format/> | |
| 687 | + </field> | |
| 688 | + <field> | |
| 689 | + <name>error_desc</name> | |
| 690 | + <type>String</type> | |
| 691 | + <format/> | |
| 692 | + </field> | |
| 693 | + <field> | |
| 694 | + <name>error_column1</name> | |
| 695 | + <type>String</type> | |
| 696 | + <format/> | |
| 697 | + </field> | |
| 698 | + <field> | |
| 699 | + <name>error_column2</name> | |
| 700 | + <type>String</type> | |
| 701 | + <format/> | |
| 702 | + </field> | |
| 703 | + </fields> | |
| 704 | + <custom> | |
| 705 | + <header_font_name>arial</header_font_name> | |
| 706 | + <header_font_size>10</header_font_size> | |
| 707 | + <header_font_bold>N</header_font_bold> | |
| 708 | + <header_font_italic>N</header_font_italic> | |
| 709 | + <header_font_underline>no</header_font_underline> | |
| 710 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 711 | + <header_font_color>black</header_font_color> | |
| 712 | + <header_background_color>none</header_background_color> | |
| 713 | + <header_row_height>255</header_row_height> | |
| 714 | + <header_alignment>left</header_alignment> | |
| 715 | + <header_image/> | |
| 716 | + <row_font_name>arial</row_font_name> | |
| 717 | + <row_font_size>10</row_font_size> | |
| 718 | + <row_font_color>black</row_font_color> | |
| 719 | + <row_background_color>none</row_background_color> | |
| 720 | + </custom> | |
| 721 | + <cluster_schema/> | |
| 722 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 723 | + <xloc>576</xloc> | |
| 724 | + <yloc>192</yloc> | |
| 725 | + <draw>Y</draw> | |
| 726 | + </GUI> | |
| 727 | + </step> | |
| 728 | + | |
| 729 | + <step_error_handling> | |
| 730 | + <error> | |
| 731 | + <source_step>插入/更新bsth_c_s_gbi</source_step> | |
| 732 | + <target_step>错误输出</target_step> | |
| 733 | + <is_enabled>Y</is_enabled> | |
| 734 | + <nr_valuename>error_count</nr_valuename> | |
| 735 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 736 | + <fields_valuename>error_column1</fields_valuename> | |
| 737 | + <codes_valuename>error_column2</codes_valuename> | |
| 738 | + <max_errors/> | |
| 739 | + <max_pct_errors/> | |
| 740 | + <min_pct_rows/> | |
| 741 | + </error> | |
| 742 | + </step_error_handling> | |
| 743 | + <slave-step-copy-partition-distribution> | |
| 744 | +</slave-step-copy-partition-distribution> | |
| 745 | + <slave_transformation>N</slave_transformation> | |
| 746 | + | |
| 747 | +</transformation> | ... | ... |
src/main/resources/datatools/ktrs/ttinfoDataInput.ktr
| ... | ... | @@ -111,7 +111,7 @@ |
| 111 | 111 | <server>${v_db_ip}</server> |
| 112 | 112 | <type>MYSQL</type> |
| 113 | 113 | <access>Native</access> |
| 114 | - <database>control</database> | |
| 114 | + <database>${v_db_dname}</database> | |
| 115 | 115 | <port>3306</port> |
| 116 | 116 | <username>${v_db_uname}</username> |
| 117 | 117 | <password>${v_db_pwd}</password> |
| ... | ... | @@ -685,8 +685,8 @@ |
| 685 | 685 | </fields> |
| 686 | 686 | <cluster_schema/> |
| 687 | 687 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 688 | - <xloc>162</xloc> | |
| 689 | - <yloc>191</yloc> | |
| 688 | + <xloc>161</xloc> | |
| 689 | + <yloc>159</yloc> | |
| 690 | 690 | <draw>Y</draw> |
| 691 | 691 | </GUI> |
| 692 | 692 | </step> | ... | ... |
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
| ... | ... | @@ -96,11 +96,11 @@ |
| 96 | 96 | <drawshadow>Y</drawshadow> |
| 97 | 97 | </notepad> |
| 98 | 98 | <notepad> |
| 99 | - <note>因为时刻表输入格式不确定性,主要因为表结构是反范式化的,
所以需要外部动态指定愿数据,头三个step动态指定愿数据
</note> | |
| 100 | - <xloc>64</xloc> | |
| 101 | - <yloc>224</yloc> | |
| 99 | + <note>因为时刻表输入格式不确定性,主要因为表结构是反范式化的,
所以需要外部动态指定愿数据,头三个step动态指定愿数据

</note> | |
| 100 | + <xloc>79</xloc> | |
| 101 | + <yloc>206</yloc> | |
| 102 | 102 | <width>346</width> |
| 103 | - <heigth>58</heigth> | |
| 103 | + <heigth>74</heigth> | |
| 104 | 104 | <fontname>YaHei Consolas Hybrid</fontname> |
| 105 | 105 | <fontsize>12</fontsize> |
| 106 | 106 | <fontbold>N</fontbold> |
| ... | ... | @@ -122,7 +122,7 @@ |
| 122 | 122 | <server>${v_db_ip}</server> |
| 123 | 123 | <type>MYSQL</type> |
| 124 | 124 | <access>Native</access> |
| 125 | - <database>control</database> | |
| 125 | + <database>${v_db_dname}</database> | |
| 126 | 126 | <port>3306</port> |
| 127 | 127 | <username>${v_db_uname}</username> |
| 128 | 128 | <password>${v_db_pwd}</password> | ... | ... |
src/main/resources/datatools/ktrs/ttinfodetailMetaData.ktr
| ... | ... | @@ -120,7 +120,7 @@ |
| 120 | 120 | <server>${v_db_ip}</server> |
| 121 | 121 | <type>MYSQL</type> |
| 122 | 122 | <access>Native</access> |
| 123 | - <database>control</database> | |
| 123 | + <database>${v_db_dname}</database> | |
| 124 | 124 | <port>3306</port> |
| 125 | 125 | <username>${v_db_uname}</username> |
| 126 | 126 | <password>${v_db_pwd}</password> |
| ... | ... | @@ -398,41 +398,41 @@ |
| 398 | 398 | <target_detail>Y</target_detail> |
| 399 | 399 | <source_step>列拆分为多行</source_step> |
| 400 | 400 | <source_field>fieldName</source_field> |
| 401 | + </mapping> <mapping> <target_step_name>行转列</target_step_name> | |
| 402 | + <target_attribute_key>VALUE</target_attribute_key> | |
| 403 | + <target_detail>Y</target_detail> | |
| 404 | + <source_step>列拆分为多行 2</source_step> | |
| 405 | + <source_field>fieldName</source_field> | |
| 401 | 406 | </mapping> <mapping> <target_step_name>Excel输入</target_step_name> |
| 402 | 407 | <target_attribute_key>TRIM_TYPE</target_attribute_key> |
| 403 | 408 | <target_detail>Y</target_detail> |
| 404 | 409 | <source_step>列拆分为多行</source_step> |
| 405 | 410 | <source_field>trim_type</source_field> |
| 406 | 411 | </mapping> <mapping> <target_step_name>行转列</target_step_name> |
| 407 | - <target_attribute_key>VALUE</target_attribute_key> | |
| 412 | + <target_attribute_key>NORMALISED</target_attribute_key> | |
| 408 | 413 | <target_detail>Y</target_detail> |
| 409 | 414 | <source_step>列拆分为多行 2</source_step> |
| 410 | - <source_field>fieldName</source_field> | |
| 415 | + <source_field>value</source_field> | |
| 411 | 416 | </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> |
| 412 | 417 | <target_attribute_key>REPEAT</target_attribute_key> |
| 413 | 418 | <target_detail>Y</target_detail> |
| 414 | 419 | <source_step>增加excel字段其他元数据</source_step> |
| 415 | 420 | <source_field>repeat</source_field> |
| 416 | - </mapping> <mapping> <target_step_name>行转列</target_step_name> | |
| 417 | - <target_attribute_key>NORMALISED</target_attribute_key> | |
| 418 | - <target_detail>Y</target_detail> | |
| 419 | - <source_step>列拆分为多行 2</source_step> | |
| 420 | - <source_field>value</source_field> | |
| 421 | 421 | </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> |
| 422 | 422 | <target_attribute_key>NORMALISED</target_attribute_key> |
| 423 | 423 | <target_detail>Y</target_detail> |
| 424 | 424 | <source_step>增加normalize元数据</source_step> |
| 425 | 425 | <source_field>valuefield</source_field> |
| 426 | - </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 427 | - <target_attribute_key>FORMAT</target_attribute_key> | |
| 428 | - <target_detail>Y</target_detail> | |
| 429 | - <source_step>增加excel字段其他元数据</source_step> | |
| 430 | - <source_field>format</source_field> | |
| 431 | 426 | </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> |
| 432 | 427 | <target_attribute_key>VALUE</target_attribute_key> |
| 433 | 428 | <target_detail>Y</target_detail> |
| 434 | 429 | <source_step>增加normalize元数据</source_step> |
| 435 | 430 | <source_field>nfieldname</source_field> |
| 431 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 432 | + <target_attribute_key>FORMAT</target_attribute_key> | |
| 433 | + <target_detail>Y</target_detail> | |
| 434 | + <source_step>增加excel字段其他元数据</source_step> | |
| 435 | + <source_field>format</source_field> | |
| 436 | 436 | </mapping> <mapping> <target_step_name>Excel输入</target_step_name> |
| 437 | 437 | <target_attribute_key>PRECISION</target_attribute_key> |
| 438 | 438 | <target_detail>Y</target_detail> |
| ... | ... | @@ -1006,7 +1006,7 @@ |
| 1006 | 1006 | <cluster_schema/> |
| 1007 | 1007 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1008 | 1008 | <xloc>73</xloc> |
| 1009 | - <yloc>50</yloc> | |
| 1009 | + <yloc>62</yloc> | |
| 1010 | 1010 | <draw>Y</draw> |
| 1011 | 1011 | </GUI> |
| 1012 | 1012 | </step> | ... | ... |
src/main/resources/datatools/ktrs/ttinfodetailoutputforedit.ktr
| ... | ... | @@ -95,7 +95,7 @@ |
| 95 | 95 | <server>${v_db_ip}</server> |
| 96 | 96 | <type>MYSQL</type> |
| 97 | 97 | <access>Native</access> |
| 98 | - <database>control</database> | |
| 98 | + <database>${v_db_dname}</database> | |
| 99 | 99 | <port>3306</port> |
| 100 | 100 | <username>${v_db_uname}</username> |
| 101 | 101 | <password>${v_db_pwd}</password> |
| ... | ... | @@ -4145,8 +4145,8 @@ |
| 4145 | 4145 | </fields> |
| 4146 | 4146 | <cluster_schema/> |
| 4147 | 4147 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 4148 | - <xloc>72</xloc> | |
| 4149 | - <yloc>202</yloc> | |
| 4148 | + <xloc>45</xloc> | |
| 4149 | + <yloc>189</yloc> | |
| 4150 | 4150 | <draw>Y</draw> |
| 4151 | 4151 | </GUI> |
| 4152 | 4152 | </step> | ... | ... |
src/main/resources/static/index.html
| ... | ... | @@ -166,6 +166,10 @@ tr.row-active td { |
| 166 | 166 | <a href="javascript:;"> |
| 167 | 167 | <i class="fa fa-user"></i> 我的信息 </a> |
| 168 | 168 | </li> |
| 169 | + <li> | |
| 170 | + <a href="javascript:;" id="changePWD"> | |
| 171 | + <i class="fa fa-unlock-alt"></i> 修改密码</a> | |
| 172 | + </li> | |
| 169 | 173 | <li class="divider"> </li> |
| 170 | 174 | <li> |
| 171 | 175 | <a href="javascript:;"> |
| ... | ... | @@ -391,6 +395,22 @@ $(function(){ |
| 391 | 395 | loadPage('/pages/home.html'); |
| 392 | 396 | } |
| 393 | 397 | }); |
| 398 | + | |
| 399 | + //修改密码 | |
| 400 | + $('#changePWD').on('click', function(){ | |
| 401 | + $.get('/pages/permission/user/changePWD.html', function(content){ | |
| 402 | + layer.open({ | |
| 403 | + type: 1, | |
| 404 | + area: ['600px','360px'], | |
| 405 | + content: content, | |
| 406 | + title : '修改密码', | |
| 407 | + shift: 5, | |
| 408 | + scrollbar: false, | |
| 409 | + success: function(){ | |
| 410 | + } | |
| 411 | + }); | |
| 412 | + }); | |
| 413 | + }); | |
| 394 | 414 | }); |
| 395 | 415 | |
| 396 | 416 | //modal关闭时销毁dom | ... | ... |
src/main/resources/static/pages/forms/mould/daily.xls
0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/mould/waybill.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/daily.html
| ... | ... | @@ -130,10 +130,12 @@ |
| 130 | 130 | } |
| 131 | 131 | }); |
| 132 | 132 | |
| 133 | + var line; | |
| 134 | + var date; | |
| 133 | 135 | $("#query").on("click",function(){ |
| 134 | - var line = $("#line").val(); | |
| 135 | - var date = $("#date").val(); | |
| 136 | - $get('/realSchedule/dailyInfo',{line:line,date:date},function(result){ | |
| 136 | + line = $("#line").val(); | |
| 137 | + date = $("#date").val(); | |
| 138 | + $get('/realSchedule/dailyInfo',{line:line,date:date,type:'query'},function(result){ | |
| 137 | 139 | $("#form_line").text(line); |
| 138 | 140 | $("#form_date").text(date); |
| 139 | 141 | var total_zgl = 0,total_ksgl = 0,total_yh = 0,total_bcs = 0; |
| ... | ... | @@ -153,6 +155,11 @@ |
| 153 | 155 | // 把渲染好的模版html文本追加到表格中 |
| 154 | 156 | $('#forms .dailyInfo').html(tbodyHtml); |
| 155 | 157 | }); |
| 158 | + }); | |
| 159 | + $("#export").on("click",function(){ | |
| 160 | + $get('/realSchedule/dailyInfo',{line:line,date:date,type:'export'},function(result){ | |
| 161 | + window.open("/downloadFile/download?fileName=班次日报"+moment(date).format("YYYYMMDD")); | |
| 162 | + }); | |
| 156 | 163 | }); |
| 157 | 164 | }); |
| 158 | 165 | </script> | ... | ... |
src/main/resources/static/pages/forms/statement/historyMessage.html
| ... | ... | @@ -168,8 +168,8 @@ |
| 168 | 168 | $('#forms tbody').html(tbodyHtml); |
| 169 | 169 | }); |
| 170 | 170 | }); |
| 171 | - $("#export").click(function(){ | |
| 172 | - $('#forms').tableExport({ type: 'excel', escape: 'false' }); | |
| 171 | + $("#export").on("click",function(){ | |
| 172 | + $('#forms').tableExport({ type: 'excel', escape: 'false',filename:'(2016-02-29_2016-03-06)'}); | |
| 173 | 173 | }); |
| 174 | 174 | |
| 175 | 175 | }); |
| ... | ... | @@ -191,7 +191,4 @@ |
| 191 | 191 | <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td> |
| 192 | 192 | </tr> |
| 193 | 193 | {{/if}} |
| 194 | -</script> | |
| 195 | - | |
| 196 | -<script src="/pages/forms/statement/js/tableExport.js"></script> | |
| 197 | -<script src="/pages/forms/statement/js/jquery.base64.js"></script> | |
| 198 | 194 | \ No newline at end of file |
| 195 | +</script> | |
| 199 | 196 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/js/tableExport.js
| 1 | -/*The MIT License (MIT) | |
| 2 | - | |
| 3 | -Copyright (c) 2014 https://github.com/kayalshri/ | |
| 4 | - | |
| 5 | -Permission is hereby granted, free of charge, to any person obtaining a copy | |
| 6 | -of this software and associated documentation files (the "Software"), to deal | |
| 7 | -in the Software without restriction, including without limitation the rights | |
| 8 | -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| 9 | -copies of the Software, and to permit persons to whom the Software is | |
| 10 | -furnished to do so, subject to the following conditions: | |
| 11 | - | |
| 12 | -The above copyright notice and this permission notice shall be included in | |
| 13 | -all copies or substantial portions of the Software. | |
| 14 | - | |
| 15 | -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| 16 | -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| 17 | -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| 18 | -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| 19 | -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| 20 | -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
| 21 | -THE SOFTWARE.*/ | |
| 22 | - | |
| 1 | +// 此函数引用自: http://www.alloyteam.com/2014/01/use-js-file-download/ | |
| 2 | +function downloadFile(fileName, content){ | |
| 3 | + var aLink = document.createElement('a'); | |
| 4 | + var blob = new Blob([content]); | |
| 5 | + var evt = document.createEvent("HTMLEvents"); | |
| 6 | + evt.initEvent("click", false, false);//initEvent 不加后两个参数在FF下会报错, 感谢 Barret Lee 的反馈 | |
| 7 | + aLink.download = fileName; | |
| 8 | + aLink.href = URL.createObjectURL(blob); | |
| 9 | + aLink.dispatchEvent(evt); | |
| 10 | +} | |
| 11 | + | |
| 12 | + | |
| 23 | 13 | (function($){ |
| 24 | - $.fn.extend({ | |
| 25 | - tableExport: function(options) { | |
| 26 | - var defaults = { | |
| 27 | - separator: ',', | |
| 28 | - ignoreColumn: [], | |
| 29 | - tableName:'yourTableName', | |
| 30 | - type:'csv', | |
| 31 | - pdfFontSize:14, | |
| 32 | - pdfLeftMargin:20, | |
| 33 | - escape:'true', | |
| 34 | - htmlContent:'false', | |
| 35 | - consoleLog:'false' | |
| 36 | - }; | |
| 37 | - | |
| 38 | - var options = $.extend(defaults, options); | |
| 39 | - var el = this; | |
| 40 | - | |
| 41 | - if(defaults.type == 'csv' || defaults.type == 'txt'){ | |
| 42 | - | |
| 43 | - // Header | |
| 44 | - var tdData =""; | |
| 45 | - $(el).find('thead').find('tr').each(function() { | |
| 46 | - tdData += "\n"; | |
| 47 | - $(this).filter(':visible').find('th').each(function(index,data) { | |
| 48 | - if ($(this).css('display') != 'none'){ | |
| 49 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 50 | - tdData += '"' + parseString($(this)) + '"' + defaults.separator; | |
| 51 | - } | |
| 52 | - } | |
| 53 | - | |
| 54 | - }); | |
| 55 | - tdData = $.trim(tdData); | |
| 56 | - tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 57 | - }); | |
| 58 | - | |
| 59 | - // Row vs Column | |
| 60 | - $(el).find('tbody').find('tr').each(function() { | |
| 61 | - tdData += "\n"; | |
| 62 | - $(this).filter(':visible').find('td').each(function(index,data) { | |
| 63 | - if ($(this).css('display') != 'none'){ | |
| 64 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 65 | - tdData += '"'+ parseString($(this)) + '"'+ defaults.separator; | |
| 66 | - } | |
| 67 | - } | |
| 68 | - }); | |
| 69 | - //tdData = $.trim(tdData); | |
| 70 | - tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 71 | - }); | |
| 72 | - | |
| 73 | - //output | |
| 74 | - if(defaults.consoleLog == 'true'){ | |
| 75 | - console.log(tdData); | |
| 76 | - } | |
| 77 | - var base64data = "base64," + $.base64.encode(tdData); | |
| 78 | - window.open('data:application/'+defaults.type+';filename=exportData;' + base64data); | |
| 79 | - }else if(defaults.type == 'sql'){ | |
| 80 | - | |
| 81 | - // Header | |
| 82 | - var tdData ="INSERT INTO `"+defaults.tableName+"` ("; | |
| 83 | - $(el).find('thead').find('tr').each(function() { | |
| 84 | - | |
| 85 | - $(this).filter(':visible').find('th').each(function(index,data) { | |
| 86 | - if ($(this).css('display') != 'none'){ | |
| 87 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 88 | - tdData += '`' + parseString($(this)) + '`,' ; | |
| 89 | - } | |
| 90 | - } | |
| 91 | - | |
| 92 | - }); | |
| 93 | - tdData = $.trim(tdData); | |
| 94 | - tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 95 | - }); | |
| 96 | - tdData += ") VALUES "; | |
| 97 | - // Row vs Column | |
| 98 | - $(el).find('tbody').find('tr').each(function() { | |
| 99 | - tdData += "("; | |
| 100 | - $(this).filter(':visible').find('td').each(function(index,data) { | |
| 101 | - if ($(this).css('display') != 'none'){ | |
| 102 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 103 | - tdData += '"'+ parseString($(this)) + '",'; | |
| 104 | - } | |
| 105 | - } | |
| 106 | - }); | |
| 107 | - | |
| 108 | - tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 109 | - tdData += "),"; | |
| 110 | - }); | |
| 111 | - tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 112 | - tdData += ";"; | |
| 113 | - | |
| 114 | - //output | |
| 115 | - //console.log(tdData); | |
| 116 | - | |
| 117 | - if(defaults.consoleLog == 'true'){ | |
| 118 | - console.log(tdData); | |
| 119 | - } | |
| 120 | - | |
| 121 | - var base64data = "base64," + $.base64.encode(tdData); | |
| 122 | - window.open('data:application/sql;filename=exportData;' + base64data); | |
| 123 | - | |
| 124 | - | |
| 125 | - }else if(defaults.type == 'json'){ | |
| 126 | - | |
| 127 | - var jsonHeaderArray = []; | |
| 128 | - $(el).find('thead').find('tr').each(function() { | |
| 129 | - var tdData =""; | |
| 130 | - var jsonArrayTd = []; | |
| 131 | - | |
| 132 | - $(this).filter(':visible').find('th').each(function(index,data) { | |
| 133 | - if ($(this).css('display') != 'none'){ | |
| 134 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 135 | - jsonArrayTd.push(parseString($(this))); | |
| 136 | - } | |
| 137 | - } | |
| 138 | - }); | |
| 139 | - jsonHeaderArray.push(jsonArrayTd); | |
| 140 | - | |
| 141 | - }); | |
| 142 | - | |
| 143 | - var jsonArray = []; | |
| 144 | - $(el).find('tbody').find('tr').each(function() { | |
| 145 | - var tdData =""; | |
| 146 | - var jsonArrayTd = []; | |
| 147 | - | |
| 148 | - $(this).filter(':visible').find('td').each(function(index,data) { | |
| 149 | - if ($(this).css('display') != 'none'){ | |
| 150 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 151 | - jsonArrayTd.push(parseString($(this))); | |
| 152 | - } | |
| 153 | - } | |
| 154 | - }); | |
| 155 | - jsonArray.push(jsonArrayTd); | |
| 156 | - | |
| 157 | - }); | |
| 158 | - | |
| 159 | - var jsonExportArray =[]; | |
| 160 | - jsonExportArray.push({header:jsonHeaderArray,data:jsonArray}); | |
| 161 | - | |
| 162 | - //Return as JSON | |
| 163 | - //console.log(JSON.stringify(jsonExportArray)); | |
| 164 | - | |
| 165 | - //Return as Array | |
| 166 | - //console.log(jsonExportArray); | |
| 167 | - if(defaults.consoleLog == 'true'){ | |
| 168 | - console.log(JSON.stringify(jsonExportArray)); | |
| 169 | - } | |
| 170 | - var base64data = "base64," + $.base64.encode(JSON.stringify(jsonExportArray)); | |
| 171 | - window.open('data:application/json;filename=exportData;' + base64data); | |
| 172 | - }else if(defaults.type == 'xml'){ | |
| 173 | - | |
| 174 | - var xml = '<?xml version="1.0" encoding="utf-8"?>'; | |
| 175 | - xml += '<tabledata><fields>'; | |
| 176 | - // Header | |
| 177 | - $(el).find('thead').find('tr').each(function() { | |
| 178 | - $(this).filter(':visible').find('th').each(function(index,data) { | |
| 179 | - if ($(this).css('display') != 'none'){ | |
| 180 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 181 | - xml += "<field>" + parseString($(this)) + "</field>"; | |
| 182 | - } | |
| 183 | - } | |
| 184 | - }); | |
| 185 | - }); | |
| 186 | - xml += '</fields><data>'; | |
| 187 | - | |
| 188 | - // Row Vs Column | |
| 189 | - var rowCount=1; | |
| 190 | - $(el).find('tbody').find('tr').each(function() { | |
| 191 | - xml += '<row id="'+rowCount+'">'; | |
| 192 | - var colCount=0; | |
| 193 | - $(this).filter(':visible').find('td').each(function(index,data) { | |
| 194 | - if ($(this).css('display') != 'none'){ | |
| 195 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 196 | - xml += "<column-"+colCount+">"+parseString($(this))+"</column-"+colCount+">"; | |
| 197 | - } | |
| 198 | - } | |
| 199 | - colCount++; | |
| 200 | - }); | |
| 201 | - rowCount++; | |
| 202 | - xml += '</row>'; | |
| 203 | - }); | |
| 204 | - xml += '</data></tabledata>' | |
| 205 | - | |
| 206 | - if(defaults.consoleLog == 'true'){ | |
| 207 | - console.log(xml); | |
| 208 | - } | |
| 209 | - | |
| 210 | - var base64data = "base64," + $.base64.encode(xml); | |
| 211 | - window.open('data:application/xml;filename=exportData;' + base64data); | |
| 212 | - }else if(defaults.type == 'excel' || defaults.type == 'doc'|| defaults.type == 'powerpoint' ){ | |
| 213 | - //console.log($(this).html()); | |
| 214 | - var excel="<table>"; | |
| 215 | - // Header | |
| 216 | - $(el).find('thead').find('tr').each(function() { | |
| 217 | - excel += "<tr>"; | |
| 218 | - $(this).filter(':visible').find('th').each(function(index,data) { | |
| 219 | - if ($(this).css('display') != 'none'){ | |
| 220 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 221 | - excel += "<td>" + parseString($(this))+ "</td>"; | |
| 222 | - } | |
| 223 | - } | |
| 224 | - }); | |
| 225 | - excel += '</tr>'; | |
| 226 | - | |
| 227 | - }); | |
| 228 | - | |
| 229 | - | |
| 230 | - // Row Vs Column | |
| 231 | - var rowCount=1; | |
| 232 | - $(el).find('tbody').find('tr').each(function() { | |
| 233 | - excel += "<tr>"; | |
| 234 | - var colCount=0; | |
| 235 | - $(this).filter(':visible').find('td').each(function(index,data) { | |
| 236 | - if ($(this).css('display') != 'none'){ | |
| 237 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 238 | - excel += "<td>"+parseString($(this))+"</td>"; | |
| 239 | - } | |
| 240 | - } | |
| 241 | - colCount++; | |
| 242 | - }); | |
| 243 | - rowCount++; | |
| 244 | - excel += '</tr>'; | |
| 245 | - }); | |
| 246 | - excel += '</table>' | |
| 247 | - | |
| 248 | - if(defaults.consoleLog == 'true'){ | |
| 249 | - console.log(excel); | |
| 250 | - } | |
| 251 | - | |
| 252 | - var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:"+defaults.type+"' xmlns='http://www.w3.org/TR/REC-html40'>"; | |
| 253 | - excelFile += "<head>"; | |
| 254 | - excelFile += "<!--[if gte mso 9]>"; | |
| 255 | - excelFile += "<xml>"; | |
| 256 | - excelFile += "<x:ExcelWorkbook>"; | |
| 257 | - excelFile += "<x:ExcelWorksheets>"; | |
| 258 | - excelFile += "<x:ExcelWorksheet>"; | |
| 259 | - excelFile += "<x:Name>"; | |
| 260 | - excelFile += "{worksheet}"; | |
| 261 | - excelFile += "</x:Name>"; | |
| 262 | - excelFile += "<x:WorksheetOptions>"; | |
| 263 | - excelFile += "<x:DisplayGridlines/>"; | |
| 264 | - excelFile += "</x:WorksheetOptions>"; | |
| 265 | - excelFile += "</x:ExcelWorksheet>"; | |
| 266 | - excelFile += "</x:ExcelWorksheets>"; | |
| 267 | - excelFile += "</x:ExcelWorkbook>"; | |
| 268 | - excelFile += "</xml>"; | |
| 269 | - excelFile += "<![endif]-->"; | |
| 270 | - excelFile += "</head>"; | |
| 271 | - excelFile += "<body>"; | |
| 272 | - excelFile += excel; | |
| 273 | - excelFile += "</body>"; | |
| 274 | - excelFile += "</html>"; | |
| 275 | - var base64data = "base64," + $.base64({ data: excelFile, type: 0 }); | |
| 276 | - window.open('data:application/vnd.ms-'+defaults.type+';filename=exportData.doc;' + base64data); | |
| 277 | - | |
| 278 | - }else if(defaults.type == 'png'){ | |
| 279 | - html2canvas($(el), { | |
| 280 | - onrendered: function(canvas) { | |
| 281 | - var img = canvas.toDataURL("image/png"); | |
| 282 | - window.open(img); | |
| 283 | - | |
| 284 | - | |
| 285 | - } | |
| 286 | - }); | |
| 287 | - }else if(defaults.type == 'pdf'){ | |
| 288 | - | |
| 289 | - var doc = new jsPDF('p','pt', 'a4', true); | |
| 290 | - doc.setFontSize(defaults.pdfFontSize); | |
| 291 | - | |
| 292 | - // Header | |
| 293 | - var startColPosition=defaults.pdfLeftMargin; | |
| 294 | - $(el).find('thead').find('tr').each(function() { | |
| 295 | - $(this).filter(':visible').find('th').each(function(index,data) { | |
| 296 | - if ($(this).css('display') != 'none'){ | |
| 297 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 298 | - var colPosition = startColPosition+ (index * 50); | |
| 299 | - doc.text(colPosition,20, parseString($(this))); | |
| 300 | - } | |
| 301 | - } | |
| 302 | - }); | |
| 303 | - }); | |
| 304 | - | |
| 305 | - | |
| 306 | - // Row Vs Column | |
| 307 | - var startRowPosition = 20; var page =1;var rowPosition=0; | |
| 308 | - $(el).find('tbody').find('tr').each(function(index,data) { | |
| 309 | - rowCalc = index+1; | |
| 310 | - | |
| 311 | - if (rowCalc % 26 == 0){ | |
| 312 | - doc.addPage(); | |
| 313 | - page++; | |
| 314 | - startRowPosition=startRowPosition+10; | |
| 315 | - } | |
| 316 | - rowPosition=(startRowPosition + (rowCalc * 10)) - ((page -1) * 280); | |
| 317 | - | |
| 318 | - $(this).filter(':visible').find('td').each(function(index,data) { | |
| 319 | - if ($(this).css('display') != 'none'){ | |
| 320 | - if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 321 | - var colPosition = startColPosition+ (index * 50); | |
| 322 | - doc.text(colPosition,rowPosition, parseString($(this))); | |
| 14 | + $.fn.extend({ | |
| 15 | + tableExport: function(options) { | |
| 16 | + var defaults = { | |
| 17 | + separator: ',', | |
| 18 | + ignoreColumn: [], | |
| 19 | + tableName:'yourTableName', | |
| 20 | + type:'csv', | |
| 21 | + pdfFontSize:14, | |
| 22 | + pdfLeftMargin:20, | |
| 23 | + escape:'true', | |
| 24 | + htmlContent:'false', | |
| 25 | + consoleLog:'false' | |
| 26 | + }; | |
| 27 | + | |
| 28 | + var options = $.extend(defaults, options); | |
| 29 | + var el = this; | |
| 30 | + | |
| 31 | + if(defaults.type == 'csv' || defaults.type == 'txt'){ | |
| 32 | + | |
| 33 | + // Header | |
| 34 | + var tdData =""; | |
| 35 | + $(el).find('thead').find('tr').each(function() { | |
| 36 | + tdData += "\n"; | |
| 37 | + $(this).filter(':visible').find('th').each(function(index,data) { | |
| 38 | + if ($(this).css('display') != 'none'){ | |
| 39 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 40 | + tdData += '"' + parseString($(this)) + '"' + defaults.separator; | |
| 41 | + } | |
| 42 | + } | |
| 43 | + | |
| 44 | + }); | |
| 45 | + tdData = $.trim(tdData); | |
| 46 | + tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 47 | + }); | |
| 48 | + | |
| 49 | + // Row vs Column | |
| 50 | + $(el).find('tbody').find('tr').each(function() { | |
| 51 | + tdData += "\n"; | |
| 52 | + $(this).filter(':visible').find('td').each(function(index,data) { | |
| 53 | + if ($(this).css('display') != 'none'){ | |
| 54 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 55 | + tdData += '"'+ parseString($(this)) + '"'+ defaults.separator; | |
| 56 | + } | |
| 57 | + } | |
| 58 | + }); | |
| 59 | + //tdData = $.trim(tdData); | |
| 60 | + tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 61 | + }); | |
| 62 | + | |
| 63 | + //output | |
| 64 | + if(defaults.consoleLog == 'true'){ | |
| 65 | + console.log(tdData); | |
| 66 | + } | |
| 67 | + var base64data = "base64," + $.base64({ data: tdData, type: 0 }); | |
| 68 | + //window.open('data:application/'+defaults.type+';filename=exportData;' + base64data); | |
| 69 | + downloadFile(defaults.filename + '.' + defaults.type, tdData); | |
| 70 | + }else if(defaults.type == 'sql'){ | |
| 71 | + | |
| 72 | + // Header | |
| 73 | + var tdData ="INSERT INTO `"+defaults.tableName+"` ("; | |
| 74 | + $(el).find('thead').find('tr').each(function() { | |
| 75 | + | |
| 76 | + $(this).filter(':visible').find('th').each(function(index,data) { | |
| 77 | + if ($(this).css('display') != 'none'){ | |
| 78 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 79 | + tdData += '`' + parseString($(this)) + '`,' ; | |
| 80 | + } | |
| 81 | + } | |
| 82 | + | |
| 83 | + }); | |
| 84 | + tdData = $.trim(tdData); | |
| 85 | + tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 86 | + }); | |
| 87 | + tdData += ") VALUES "; | |
| 88 | + // Row vs Column | |
| 89 | + $(el).find('tbody').find('tr').each(function() { | |
| 90 | + tdData += "("; | |
| 91 | + $(this).filter(':visible').find('td').each(function(index,data) { | |
| 92 | + if ($(this).css('display') != 'none'){ | |
| 93 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 94 | + tdData += '"'+ parseString($(this)) + '",'; | |
| 95 | + } | |
| 96 | + } | |
| 97 | + }); | |
| 98 | + | |
| 99 | + tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 100 | + tdData += "),"; | |
| 101 | + }); | |
| 102 | + tdData = $.trim(tdData).substring(0, tdData.length -1); | |
| 103 | + tdData += ";"; | |
| 104 | + | |
| 105 | + //output | |
| 106 | + //console.log(tdData); | |
| 107 | + | |
| 108 | + if(defaults.consoleLog == 'true'){ | |
| 109 | + console.log(tdData); | |
| 110 | + } | |
| 111 | + | |
| 112 | + var base64data = "base64," + $.base64.encode(tdData); | |
| 113 | + window.open('data:application/sql;filename=exportData;' + base64data); | |
| 114 | + | |
| 115 | + | |
| 116 | + }else if(defaults.type == 'json'){ | |
| 117 | + | |
| 118 | + var jsonHeaderArray = []; | |
| 119 | + $(el).find('thead').find('tr').each(function() { | |
| 120 | + var tdData =""; | |
| 121 | + var jsonArrayTd = []; | |
| 122 | + | |
| 123 | + $(this).filter(':visible').find('th').each(function(index,data) { | |
| 124 | + if ($(this).css('display') != 'none'){ | |
| 125 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 126 | + jsonArrayTd.push(parseString($(this))); | |
| 127 | + } | |
| 128 | + } | |
| 129 | + }); | |
| 130 | + jsonHeaderArray.push(jsonArrayTd); | |
| 131 | + | |
| 132 | + }); | |
| 133 | + | |
| 134 | + var jsonArray = []; | |
| 135 | + $(el).find('tbody').find('tr').each(function() { | |
| 136 | + var tdData =""; | |
| 137 | + var jsonArrayTd = []; | |
| 138 | + | |
| 139 | + $(this).filter(':visible').find('td').each(function(index,data) { | |
| 140 | + if ($(this).css('display') != 'none'){ | |
| 141 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 142 | + jsonArrayTd.push(parseString($(this))); | |
| 143 | + } | |
| 144 | + } | |
| 145 | + }); | |
| 146 | + jsonArray.push(jsonArrayTd); | |
| 147 | + | |
| 148 | + }); | |
| 149 | + | |
| 150 | + var jsonExportArray =[]; | |
| 151 | + jsonExportArray.push({header:jsonHeaderArray,data:jsonArray}); | |
| 152 | + | |
| 153 | + //Return as JSON | |
| 154 | + //console.log(JSON.stringify(jsonExportArray)); | |
| 155 | + | |
| 156 | + //Return as Array | |
| 157 | + //console.log(jsonExportArray); | |
| 158 | + if(defaults.consoleLog == 'true'){ | |
| 159 | + console.log(JSON.stringify(jsonExportArray)); | |
| 160 | + } | |
| 161 | + var base64data = "base64," + $.base64.encode(JSON.stringify(jsonExportArray)); | |
| 162 | + window.open('data:application/json;filename=exportData;' + base64data); | |
| 163 | + }else if(defaults.type == 'xml'){ | |
| 164 | + | |
| 165 | + var xml = '<?xml version="1.0" encoding="utf-8"?>'; | |
| 166 | + xml += '<tabledata><fields>'; | |
| 167 | + // Header | |
| 168 | + $(el).find('thead').find('tr').each(function() { | |
| 169 | + $(this).filter(':visible').find('th').each(function(index,data) { | |
| 170 | + if ($(this).css('display') != 'none'){ | |
| 171 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 172 | + xml += "<field>" + parseString($(this)) + "</field>"; | |
| 173 | + } | |
| 174 | + } | |
| 175 | + }); | |
| 176 | + }); | |
| 177 | + xml += '</fields><data>'; | |
| 178 | + | |
| 179 | + // Row Vs Column | |
| 180 | + var rowCount=1; | |
| 181 | + $(el).find('tbody').find('tr').each(function() { | |
| 182 | + xml += '<row id="'+rowCount+'">'; | |
| 183 | + var colCount=0; | |
| 184 | + $(this).filter(':visible').find('td').each(function(index,data) { | |
| 185 | + if ($(this).css('display') != 'none'){ | |
| 186 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 187 | + xml += "<column-"+colCount+">"+parseString($(this))+"</column-"+colCount+">"; | |
| 188 | + } | |
| 189 | + } | |
| 190 | + colCount++; | |
| 191 | + }); | |
| 192 | + rowCount++; | |
| 193 | + xml += '</row>'; | |
| 194 | + }); | |
| 195 | + xml += '</data></tabledata>' | |
| 196 | + | |
| 197 | + if(defaults.consoleLog == 'true'){ | |
| 198 | + console.log(xml); | |
| 199 | + } | |
| 200 | + | |
| 201 | + var base64data = "base64," + $.base64.encode(xml); | |
| 202 | + window.open('data:application/xml;filename=exportData;' + base64data); | |
| 203 | + }else if(defaults.type == 'excel' || defaults.type == 'doc'|| defaults.type == 'powerpoint' ){ | |
| 204 | + //console.log($(this).html()); | |
| 205 | + var excel="<table>"; | |
| 206 | + // Header | |
| 207 | + $(el).find('thead').find('tr').each(function() { | |
| 208 | + excel += "<tr>"; | |
| 209 | + $(this).filter(':visible').find('th').each(function(index,data) { | |
| 210 | + if ($(this).css('display') != 'none'){ | |
| 211 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 212 | + excel += "<td>" + parseString($(this))+ "</td>"; | |
| 213 | + } | |
| 214 | + } | |
| 215 | + }); | |
| 216 | + excel += '</tr>'; | |
| 217 | + | |
| 218 | + }); | |
| 219 | + | |
| 220 | + | |
| 221 | + // Row Vs Column | |
| 222 | + var rowCount=1; | |
| 223 | + $(el).find('tbody').find('tr').each(function() { | |
| 224 | + excel += "<tr>"; | |
| 225 | + var colCount=0; | |
| 226 | + $(this).filter(':visible').find('td').each(function(index,data) { | |
| 227 | + if ($(this).css('display') != 'none'){ | |
| 228 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 229 | + excel += "<td>"+parseString($(this))+"</td>"; | |
| 230 | + } | |
| 231 | + } | |
| 232 | + colCount++; | |
| 233 | + }); | |
| 234 | + rowCount++; | |
| 235 | + excel += '</tr>'; | |
| 236 | + }); | |
| 237 | + excel += '</table>' | |
| 238 | + | |
| 239 | + if(defaults.consoleLog == 'true'){ | |
| 240 | + console.log(excel); | |
| 241 | + } | |
| 242 | + | |
| 243 | + var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:"+defaults.type+"' xmlns='http://www.w3.org/TR/REC-html40'>"; | |
| 244 | + excelFile += "<head>"; | |
| 245 | + excelFile += "<!--[if gte mso 9]>"; | |
| 246 | + excelFile += "<xml>"; | |
| 247 | + excelFile += "<x:ExcelWorkbook>"; | |
| 248 | + excelFile += "<x:ExcelWorksheets>"; | |
| 249 | + excelFile += "<x:ExcelWorksheet>"; | |
| 250 | + excelFile += "<x:Name>"; | |
| 251 | + excelFile += "{worksheet}"; | |
| 252 | + excelFile += "</x:Name>"; | |
| 253 | + excelFile += "<x:WorksheetOptions>"; | |
| 254 | + excelFile += "<x:DisplayGridlines/>"; | |
| 255 | + excelFile += "</x:WorksheetOptions>"; | |
| 256 | + excelFile += "</x:ExcelWorksheet>"; | |
| 257 | + excelFile += "</x:ExcelWorksheets>"; | |
| 258 | + excelFile += "</x:ExcelWorkbook>"; | |
| 259 | + excelFile += "</xml>"; | |
| 260 | + excelFile += "<![endif]-->"; | |
| 261 | + excelFile += "</head>"; | |
| 262 | + excelFile += "<body>"; | |
| 263 | + excelFile += excel; | |
| 264 | + excelFile += "</body>"; | |
| 265 | + excelFile += "</html>"; | |
| 266 | + var base64data = "base64," + $.base64({ data: excelFile, type: 0 }); | |
| 267 | + | |
| 268 | + if(defaults.type == "doc") { | |
| 269 | + window.open('data:application/msword;filename=exportData.'+defaults.type+';' + base64data); | |
| 270 | + } | |
| 271 | + else { | |
| 272 | + window.open('data:application/vnd.ms-'+defaults.type+';filename=exportData.'+defaults.type+';' + base64data); | |
| 273 | + } | |
| 274 | + }else if(defaults.type == 'png'){ | |
| 275 | + html2canvas($(el), { | |
| 276 | + onrendered: function(canvas) { | |
| 277 | + var img = canvas.toDataURL("image/png"); | |
| 278 | + window.open(img); | |
| 279 | + | |
| 280 | + | |
| 281 | + } | |
| 282 | + }); | |
| 283 | + }else if(defaults.type == 'pdf'){ | |
| 284 | + | |
| 285 | + var doc = new jsPDF('p','pt', 'a4', true); | |
| 286 | + doc.setFontSize(defaults.pdfFontSize); | |
| 287 | + | |
| 288 | + // Header | |
| 289 | + var startColPosition=defaults.pdfLeftMargin; | |
| 290 | + $(el).find('thead').find('tr').each(function() { | |
| 291 | + $(this).filter(':visible').find('th').each(function(index,data) { | |
| 292 | + if ($(this).css('display') != 'none'){ | |
| 293 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 294 | + var colPosition = startColPosition+ (index * 50); | |
| 295 | + doc.text(colPosition,20, parseString($(this))); | |
| 296 | + } | |
| 297 | + } | |
| 298 | + }); | |
| 299 | + }); | |
| 300 | + | |
| 301 | + | |
| 302 | + // Row Vs Column | |
| 303 | + var startRowPosition = 20; var page =1;var rowPosition=0; | |
| 304 | + $(el).find('tbody').find('tr').each(function(index,data) { | |
| 305 | + rowCalc = index+1; | |
| 306 | + | |
| 307 | + if (rowCalc % 26 == 0){ | |
| 308 | + doc.addPage(); | |
| 309 | + page++; | |
| 310 | + startRowPosition=startRowPosition+10; | |
| 311 | + } | |
| 312 | + rowPosition=(startRowPosition + (rowCalc * 10)) - ((page -1) * 280); | |
| 313 | + | |
| 314 | + $(this).filter(':visible').find('td').each(function(index,data) { | |
| 315 | + if ($(this).css('display') != 'none'){ | |
| 316 | + if(defaults.ignoreColumn.indexOf(index) == -1){ | |
| 317 | + var colPosition = startColPosition+ (index * 50); | |
| 318 | + doc.text(colPosition,rowPosition, parseString($(this))); | |
| 319 | + } | |
| 320 | + } | |
| 321 | + | |
| 322 | + }); | |
| 323 | + | |
| 324 | + }); | |
| 325 | + | |
| 326 | + // Output as Data URI | |
| 327 | + doc.output('datauri'); | |
| 328 | + | |
| 329 | + } | |
| 330 | + | |
| 331 | + | |
| 332 | + function parseString(data){ | |
| 333 | + | |
| 334 | + if(defaults.htmlContent == 'true'){ | |
| 335 | + content_data = data.html().trim(); | |
| 336 | + }else{ | |
| 337 | + content_data = data.text().trim(); | |
| 338 | + } | |
| 339 | + | |
| 340 | + if(defaults.escape == 'true'){ | |
| 341 | + content_data = escape(content_data); | |
| 342 | + } | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + return content_data; | |
| 347 | + } | |
| 348 | + | |
| 323 | 349 | } |
| 324 | - } | |
| 325 | - | |
| 326 | - }); | |
| 327 | - | |
| 328 | - }); | |
| 329 | - | |
| 330 | - // Output as Data URI | |
| 331 | - doc.output('datauri'); | |
| 332 | - | |
| 333 | - } | |
| 334 | - | |
| 335 | - | |
| 336 | - function parseString(data){ | |
| 337 | - | |
| 338 | - if(defaults.htmlContent == 'true'){ | |
| 339 | - content_data = data.html().trim(); | |
| 340 | - }else{ | |
| 341 | - content_data = data.text().trim(); | |
| 342 | - } | |
| 343 | - | |
| 344 | - if(defaults.escape == 'true'){ | |
| 345 | - content_data = escape(content_data); | |
| 346 | - } | |
| 347 | - | |
| 348 | - | |
| 349 | - | |
| 350 | - return content_data; | |
| 351 | - } | |
| 352 | - | |
| 353 | - } | |
| 354 | - }); | |
| 355 | - })(jQuery); | |
| 356 | - | |
| 350 | + }); | |
| 351 | +})(jQuery); | |
| 357 | 352 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/scheduleDaily_minhang.html
0 → 100644
| 1 | +<style type="text/css"> | |
| 2 | + .table-bordered { | |
| 3 | + border: 1px solid; } | |
| 4 | + .table-bordered > thead > tr > th, | |
| 5 | + .table-bordered > thead > tr > td, | |
| 6 | + .table-bordered > tbody > tr > th, | |
| 7 | + .table-bordered > tbody > tr > td, | |
| 8 | + .table-bordered > tfoot > tr > th, | |
| 9 | + .table-bordered > tfoot > tr > td { | |
| 10 | + border: 1px solid; } | |
| 11 | + .table-bordered > thead > tr > th, | |
| 12 | + .table-bordered > thead > tr > td { | |
| 13 | + border-bottom-width: 2px; } | |
| 14 | + | |
| 15 | + .table > tbody + tbody { | |
| 16 | + border-top: 1px solid; } | |
| 17 | +</style> | |
| 18 | + | |
| 19 | +<div class="page-head"> | |
| 20 | + <div class="page-title"> | |
| 21 | + <h1>调度日报</h1> | |
| 22 | + </div> | |
| 23 | +</div> | |
| 24 | + | |
| 25 | +<div class="row"> | |
| 26 | + <div class="col-md-12"> | |
| 27 | + <div class="portlet light porttlet-fit bordered"> | |
| 28 | + <div class="portlet-title"> | |
| 29 | + <form class="form-inline" action=""> | |
| 30 | + <div style="display: inline-block;"> | |
| 31 | + <span class="item-label" style="width: 80px;">线路: </span> | |
| 32 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | |
| 33 | + </div> | |
| 34 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 35 | + <span class="item-label" style="width: 80px;">时间: </span> | |
| 36 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | |
| 37 | + </div> | |
| 38 | + <div class="form-group"> | |
| 39 | + <input class="btn btn-default" type="button" id="query" value="查询"/> | |
| 40 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 41 | + </div> | |
| 42 | + </form> | |
| 43 | + </div> | |
| 44 | + <div class="portlet-body"> | |
| 45 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 46 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | |
| 47 | + <thead> | |
| 48 | + <tr> | |
| 49 | + <th colspan="40">线路调度日报</th> | |
| 50 | + </tr> | |
| 51 | + <tr> | |
| 52 | + <td rowspan="3">路线别</td> | |
| 53 | + <td colspan="15">全日营运里程(公里)</td> | |
| 54 | + <td colspan="15">全日营运班次</td> | |
| 55 | + <td colspan="9">大间隔情况</td> | |
| 56 | + </tr> | |
| 57 | + <tr> | |
| 58 | + <td rowspan="2">计划</td> | |
| 59 | + <td rowspan="2">实驶</td> | |
| 60 | + <td rowspan="2">少驶</td> | |
| 61 | + <td colspan="11">少驶原因(公里)</td> | |
| 62 | + <td rowspan="2">临加公里</td> | |
| 63 | + <td colspan="3">计划班次</td> | |
| 64 | + <td colspan="3">实际班次</td> | |
| 65 | + <td colspan="3">临加班次</td> | |
| 66 | + <td colspan="3">放站班次</td> | |
| 67 | + <td colspan="3">调头班次</td> | |
| 68 | + <td colspan="3">发生次数</td> | |
| 69 | + <td rowspan="2">最大间隔时间(秒)</td> | |
| 70 | + <td colspan="5" rowspan="2">原因</td> | |
| 71 | + </tr> | |
| 72 | + <tr> | |
| 73 | + <td>路阻</td> | |
| 74 | + <td>吊慢</td> | |
| 75 | + <td>故障</td> | |
| 76 | + <td>纠纷</td> | |
| 77 | + <td>肇事</td> | |
| 78 | + <td>缺人</td> | |
| 79 | + <td>缺车</td> | |
| 80 | + <td>客稀</td> | |
| 81 | + <td>气候</td> | |
| 82 | + <td>援外</td> | |
| 83 | + <td>其他</td> | |
| 84 | + <td>全日</td> | |
| 85 | + <td>6:31~8:30</td> | |
| 86 | + <td>16:01~18:00</td> | |
| 87 | + <td>全日</td> | |
| 88 | + <td>6:31~8:30</td> | |
| 89 | + <td>16:01~18:00</td> | |
| 90 | + <td>全日</td> | |
| 91 | + <td>6:31~8:30</td> | |
| 92 | + <td>16:01~18:00</td> | |
| 93 | + <td>全日</td> | |
| 94 | + <td>6:31~8:30</td> | |
| 95 | + <td>16:01~18:00</td> | |
| 96 | + <td>全日</td> | |
| 97 | + <td>6:31~8:30</td> | |
| 98 | + <td>16:01~18:00</td> | |
| 99 | + <td>全日</td> | |
| 100 | + <td>6:31~8:30</td> | |
| 101 | + <td>16:01~18:00</td> | |
| 102 | + </tr> | |
| 103 | + </thead> | |
| 104 | + <tr> | |
| 105 | + <td colspan="40"> </td> | |
| 106 | + </tr> | |
| 107 | + <tr> | |
| 108 | + <td colspan="40">合计</td> | |
| 109 | + </tr> | |
| 110 | + <tr> | |
| 111 | + <td colspan="40"> </td> | |
| 112 | + </tr> | |
| 113 | + <tr> | |
| 114 | + <td colspan="2">班次</td> | |
| 115 | + <td colspan="2">车号</td> | |
| 116 | + <td>司早</td> | |
| 117 | + <td>售早</td> | |
| 118 | + <td>司晚</td> | |
| 119 | + <td>售晚</td> | |
| 120 | + <td colspan="2">班次</td> | |
| 121 | + <td colspan="2">车号</td> | |
| 122 | + <td>司早</td> | |
| 123 | + <td>售早</td> | |
| 124 | + <td>司晚</td> | |
| 125 | + <td>售晚</td> | |
| 126 | + <td colspan="2">班次</td> | |
| 127 | + <td colspan="2">车号</td> | |
| 128 | + <td>司早</td> | |
| 129 | + <td>售早</td> | |
| 130 | + <td>司晚</td> | |
| 131 | + <td>售晚</td> | |
| 132 | + <td colspan="2">班次</td> | |
| 133 | + <td colspan="2">车号</td> | |
| 134 | + <td>司早</td> | |
| 135 | + <td>售早</td> | |
| 136 | + <td>司晚</td> | |
| 137 | + <td>售晚</td> | |
| 138 | + <td colspan="2">班次</td> | |
| 139 | + <td colspan="2">车号</td> | |
| 140 | + <td>司早</td> | |
| 141 | + <td>售早</td> | |
| 142 | + <td>司晚</td> | |
| 143 | + <td>售晚</td> | |
| 144 | + </tr> | |
| 145 | + <tr> | |
| 146 | + <td colspan="40"> </td> | |
| 147 | + </tr> | |
| 148 | + <tr> | |
| 149 | + <td rowspan="2">路牌</td> | |
| 150 | + <td colspan="2" rowspan="2">起点站</td> | |
| 151 | + <td colspan="4">到达时间</td> | |
| 152 | + <td colspan="4">发车时间</td> | |
| 153 | + <td colspan="2" rowspan="2">备注</td> | |
| 154 | + <td rowspan="2">路牌</td> | |
| 155 | + <td colspan="2" rowspan="2">起点站</td> | |
| 156 | + <td colspan="4">到达时间</td> | |
| 157 | + <td colspan="4">发车时间</td> | |
| 158 | + <td colspan="2" rowspan="2">备注</td> | |
| 159 | + <td rowspan="2">路牌</td> | |
| 160 | + <td colspan="2" rowspan="2">起点站</td> | |
| 161 | + <td colspan="4">到达时间</td> | |
| 162 | + <td colspan="4">发车时间</td> | |
| 163 | + <td colspan="2" rowspan="2">备注</td> | |
| 164 | + <td> </td> | |
| 165 | + </tr> | |
| 166 | + <tr> | |
| 167 | + <td>应到</td> | |
| 168 | + <td>实到</td> | |
| 169 | + <td>快</td> | |
| 170 | + <td>慢</td> | |
| 171 | + <td>应发</td> | |
| 172 | + <td>实发</td> | |
| 173 | + <td>快</td> | |
| 174 | + <td>慢</td> | |
| 175 | + <td>应到</td> | |
| 176 | + <td>实到</td> | |
| 177 | + <td>快</td> | |
| 178 | + <td>慢</td> | |
| 179 | + <td>应发</td> | |
| 180 | + <td>实发</td> | |
| 181 | + <td>快</td> | |
| 182 | + <td>慢</td> | |
| 183 | + <td>应到</td> | |
| 184 | + <td>实到</td> | |
| 185 | + <td>快</td> | |
| 186 | + <td>慢</td> | |
| 187 | + <td>应发</td> | |
| 188 | + <td>实发</td> | |
| 189 | + <td>快</td> | |
| 190 | + <td>慢</td> | |
| 191 | + <td> </td> | |
| 192 | + </tr> | |
| 193 | + <tbody> | |
| 194 | + | |
| 195 | + </tbody> | |
| 196 | + </table> | |
| 197 | + </div> | |
| 198 | + </div> | |
| 199 | + </div> | |
| 200 | + </div> | |
| 201 | +</div> | |
| 202 | + | |
| 203 | +<script> | |
| 204 | + $(function(){ | |
| 205 | + // 关闭左侧栏 | |
| 206 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 207 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 208 | + | |
| 209 | + $("#date").datetimepicker({ | |
| 210 | + format : 'YYYY-MM-DD', | |
| 211 | + locale : 'zh-cn' | |
| 212 | + }); | |
| 213 | + | |
| 214 | + $('#line').select2({ | |
| 215 | + ajax: { | |
| 216 | + url: '/realSchedule/findLine', | |
| 217 | + dataType: 'json', | |
| 218 | + delay: 150, | |
| 219 | + data: function(params){ | |
| 220 | + return{line: params.term}; | |
| 221 | + }, | |
| 222 | + processResults: function (data) { | |
| 223 | + return { | |
| 224 | + results: data | |
| 225 | + }; | |
| 226 | + }, | |
| 227 | + cache: true | |
| 228 | + }, | |
| 229 | + templateResult: function(repo){ | |
| 230 | + if (repo.loading) return repo.text; | |
| 231 | + var h = '<span>'+repo.text+'</span>'; | |
| 232 | + return h; | |
| 233 | + }, | |
| 234 | + escapeMarkup: function (markup) { return markup; }, | |
| 235 | + minimumInputLength: 1, | |
| 236 | + templateSelection: function(repo){ | |
| 237 | + return repo.text; | |
| 238 | + }, | |
| 239 | + language: { | |
| 240 | + noResults: function(){ | |
| 241 | + return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 242 | + }, | |
| 243 | + inputTooShort : function(e) { | |
| 244 | + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 245 | + }, | |
| 246 | + searching : function() { | |
| 247 | + return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 248 | + } | |
| 249 | + } | |
| 250 | + }); | |
| 251 | + | |
| 252 | + //查询 | |
| 253 | + $("#query").on('click',function(){ | |
| 254 | + var line = $("#line").val(); | |
| 255 | + var date = $("#date").val(); | |
| 256 | + $.get('/realSchedule/scheduleDaily',{line:line,date:date},function(result){ | |
| 257 | + | |
| 258 | + }); | |
| 259 | + }); | |
| 260 | + }); | |
| 261 | +</script> | |
| 262 | +<script type="text/html" id="list_forms"> | |
| 263 | + {{each list as obj i}} | |
| 264 | + <tr> | |
| 265 | + | |
| 266 | + </tr> | |
| 267 | + {{/each}} | |
| 268 | + {{if list.length == 0}} | |
| 269 | + <tr> | |
| 270 | + <td colspan="6"><h6 class="muted">没有找到相关数据</h6></td> | |
| 271 | + </tr> | |
| 272 | + {{/if}} | |
| 273 | +</script> | |
| 0 | 274 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/scheduleRealDaily.html
0 → 100644
| 1 | +<style type="text/css"> | |
| 2 | + .table-bordered { | |
| 3 | + border: 1px solid; } | |
| 4 | + .table-bordered > thead > tr > th, | |
| 5 | + .table-bordered > thead > tr > td, | |
| 6 | + .table-bordered > tbody > tr > th, | |
| 7 | + .table-bordered > tbody > tr > td, | |
| 8 | + .table-bordered > tfoot > tr > th, | |
| 9 | + .table-bordered > tfoot > tr > td { | |
| 10 | + border: 1px solid; } | |
| 11 | + .table-bordered > thead > tr > th, | |
| 12 | + .table-bordered > thead > tr > td { | |
| 13 | + border-bottom-width: 2px; } | |
| 14 | + | |
| 15 | + .table > tbody + tbody { | |
| 16 | + border-top: 1px solid; } | |
| 17 | +</style> | |
| 18 | + | |
| 19 | +<div class="page-head"> | |
| 20 | + <div class="page-title"> | |
| 21 | + <h1>计划实际日报</h1> | |
| 22 | + </div> | |
| 23 | +</div> | |
| 24 | + | |
| 25 | +<div class="row"> | |
| 26 | + <div class="col-md-12"> | |
| 27 | + <div class="portlet light porttlet-fit bordered"> | |
| 28 | + <div class="portlet-title"> | |
| 29 | + <form class="form-inline" action=""> | |
| 30 | + <div style="display: inline-block;"> | |
| 31 | + <span class="item-label" style="width: 80px;">线路: </span> | |
| 32 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | |
| 33 | + </div> | |
| 34 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 35 | + <span class="item-label" style="width: 80px;">时间: </span> | |
| 36 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | |
| 37 | + </div> | |
| 38 | + <div class="form-group"> | |
| 39 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | |
| 40 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 41 | + </div> | |
| 42 | + </form> | |
| 43 | + </div> | |
| 44 | + <div class="portlet-body"> | |
| 45 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 46 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | |
| 47 | + <thead> | |
| 48 | + <tr> | |
| 49 | + <th colspan="7">计划实际日报</th> | |
| 50 | + </tr> | |
| 51 | + <tr> | |
| 52 | + <td>路线:</td> | |
| 53 | + <td colspan="2"><span id="form_line"> </span></td> | |
| 54 | + <td>时间:</td> | |
| 55 | + <td colspan="3"><span id="form_date"> </span></td> | |
| 56 | + </tr> | |
| 57 | + <tr> | |
| 58 | + <td>计划里程</td> | |
| 59 | + <td>实际计划里程</td> | |
| 60 | + <td>营运里程</td> | |
| 61 | + <td>空驶里程</td> | |
| 62 | + <td>抽减里程</td> | |
| 63 | + <td>增加里程</td> | |
| 64 | + <td>总里程</td> | |
| 65 | + <td>计划班次</td> | |
| 66 | + <td>实际计划班次</td> | |
| 67 | + <td>抽减班次</td> | |
| 68 | + <td>增加班次</td> | |
| 69 | + <td>实际班次</td> | |
| 70 | + </tr> | |
| 71 | + </thead> | |
| 72 | + <tbody class="scheduleRealDaily"> | |
| 73 | + | |
| 74 | + </tbody> | |
| 75 | + </table> | |
| 76 | + </div> | |
| 77 | + </div> | |
| 78 | + </div> | |
| 79 | + </div> | |
| 80 | +</div> | |
| 81 | + | |
| 82 | +<script> | |
| 83 | + $(function(){ | |
| 84 | + // 关闭左侧栏 | |
| 85 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 86 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 87 | + | |
| 88 | + $("#date").datetimepicker({ | |
| 89 | + format : 'YYYY-MM-DD', | |
| 90 | + locale : 'zh-cn' | |
| 91 | + }); | |
| 92 | + | |
| 93 | + $('#line').select2({ | |
| 94 | + ajax: { | |
| 95 | + url: '/realSchedule/findLine', | |
| 96 | + dataType: 'json', | |
| 97 | + delay: 150, | |
| 98 | + data: function(params){ | |
| 99 | + return{line: params.term}; | |
| 100 | + }, | |
| 101 | + processResults: function (data) { | |
| 102 | + return { | |
| 103 | + results: data | |
| 104 | + }; | |
| 105 | + }, | |
| 106 | + cache: true | |
| 107 | + }, | |
| 108 | + templateResult: function(repo){ | |
| 109 | + if (repo.loading) return repo.text; | |
| 110 | + var h = '<span>'+repo.text+'</span>'; | |
| 111 | + return h; | |
| 112 | + }, | |
| 113 | + escapeMarkup: function (markup) { return markup; }, | |
| 114 | + minimumInputLength: 1, | |
| 115 | + templateSelection: function(repo){ | |
| 116 | + return repo.text; | |
| 117 | + }, | |
| 118 | + language: { | |
| 119 | + noResults: function(){ | |
| 120 | + return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 121 | + }, | |
| 122 | + inputTooShort : function(e) { | |
| 123 | + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 124 | + }, | |
| 125 | + searching : function() { | |
| 126 | + return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 127 | + } | |
| 128 | + } | |
| 129 | + }); | |
| 130 | + | |
| 131 | + var line; | |
| 132 | + var date; | |
| 133 | + $("#query").on("click",function(){ | |
| 134 | + line = $("#line").val(); | |
| 135 | + date = $("#date").val(); | |
| 136 | + | |
| 137 | + }); | |
| 138 | + }); | |
| 139 | +</script> | |
| 140 | +<script type="text/html" id="scheduleRealDaily"> | |
| 141 | + {{each list as obj i}} | |
| 142 | + <tr> | |
| 143 | + <td></td> | |
| 144 | + </tr> | |
| 145 | + {{/each}} | |
| 146 | + {{if list.length == 0}} | |
| 147 | + <tr> | |
| 148 | + <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td> | |
| 149 | + </tr> | |
| 150 | + {{/if}} | |
| 151 | +</script> | |
| 0 | 152 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/statisticsDaily .html
| ... | ... | @@ -200,7 +200,18 @@ |
| 200 | 200 | return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; |
| 201 | 201 | } |
| 202 | 202 | } |
| 203 | - }); | |
| 203 | + }); | |
| 204 | + $("#query").on("click",function(){ | |
| 205 | + var line = $("#line").val(); | |
| 206 | + var xlName = $("#line").text(); | |
| 207 | + var date = $("#date").val(); | |
| 208 | + $get('/realSchedule/statisticsDaily',{line:line,date:date,xlName:xlName},function(result){ | |
| 209 | + // 把数据填充到模版中 | |
| 210 | + var tbodyHtml = template('list_account',{list:result}); | |
| 211 | + // 把渲染好的模版html文本追加到表格中 | |
| 212 | + $('#forms tbody').html(tbodyHtml); | |
| 213 | + }); | |
| 214 | + }); | |
| 204 | 215 | }); |
| 205 | 216 | </script> |
| 206 | 217 | <script type="text/html" id="list_forms"> | ... | ... |
src/main/resources/static/pages/forms/statement/waybill.html
| ... | ... | @@ -99,6 +99,7 @@ |
| 99 | 99 | $('#line').select2({ |
| 100 | 100 | ajax: { |
| 101 | 101 | url: '/realSchedule/findLine', |
| 102 | + type: 'post', | |
| 102 | 103 | dataType: 'json', |
| 103 | 104 | delay: 150, |
| 104 | 105 | data: function(params){ |
| ... | ... | @@ -165,18 +166,18 @@ |
| 165 | 166 | $get('/realSchedule/'+id,null,function(result){ |
| 166 | 167 | result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); |
| 167 | 168 | var ludan_1 = template('ludan_1',result); |
| 168 | - var ludan_4 = template('ludan_4',result); | |
| 169 | + //var ludan_4 = template('ludan_4',result); | |
| 169 | 170 | // 把渲染好的模版html文本追加到表格中 |
| 170 | 171 | $('#forms .ludan_1').append(ludan_1); |
| 171 | - $('#forms .ludan_4').append(ludan_4); | |
| 172 | + //$('#forms .ludan_4').append(ludan_4); | |
| 172 | 173 | }); |
| 173 | - $get('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 174 | + $post('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 174 | 175 | getTime(result); |
| 175 | 176 | var ludan_2 = template('ludan_2',{list:result}); |
| 176 | 177 | // 把渲染好的模版html文本追加到表格中 |
| 177 | 178 | $('#forms .ludan_2').append(ludan_2); |
| 178 | 179 | }); |
| 179 | - $get('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 180 | + $post('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 180 | 181 | var ludan_3 = template('ludan_3',result); |
| 181 | 182 | $('#forms .ludan_3').append(ludan_3); |
| 182 | 183 | }); |
| ... | ... | @@ -184,8 +185,8 @@ |
| 184 | 185 | }); |
| 185 | 186 | |
| 186 | 187 | $("#export").on("click",function(){ |
| 187 | - $get('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 188 | - window.open("/downloadFile/download?jName="+jName+"&lpName="+params[2]); | |
| 188 | + $post('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 189 | + window.open("/downloadFile/download?fileName="+jName); | |
| 189 | 190 | }); |
| 190 | 191 | }); |
| 191 | 192 | |
| ... | ... | @@ -198,11 +199,11 @@ |
| 198 | 199 | if(obj.zdsj != null && obj.zdsjActual != null ){ |
| 199 | 200 | var zdsjActual = (obj.zdsjActual).split(":"); |
| 200 | 201 | var zdsj = (obj.zdsj).split(":"); |
| 201 | - if(zdsjActual[0]*60+zdsjActual[1] > zdsj[0]*60+zdsj[1]){ | |
| 202 | - obj["slow"] = (zdsjActual[0]*60+zdsjActual[1]) - (zdsj[0]*60+zdsj[1]); | |
| 202 | + if(zdsjActual[0]*60+Number(zdsjActual[1]) > zdsj[0]*60+Number(zdsj[1])){ | |
| 203 | + obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1])); | |
| 203 | 204 | } |
| 204 | - else{ | |
| 205 | - obj["fast"] = (zdsj[0]*60+zdsj[1]) - (zdsjActual[0]*60+zdsjActual[1]); | |
| 205 | + else if(zdsjActual[0]*60+Number(zdsjActual[1]) < zdsj[0]*60+Number(zdsj[1])){ | |
| 206 | + obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1])); | |
| 206 | 207 | } |
| 207 | 208 | } |
| 208 | 209 | }); |
| ... | ... | @@ -228,7 +229,7 @@ |
| 228 | 229 | <td colspan="14">行车路单</td> |
| 229 | 230 | </tr> |
| 230 | 231 | <tr> |
| 231 | - <td colspan="14">路别:{{xlName}} 路牌:{{lpName}} 车号:{{clZbh}} 出场时间:{{ccTime}} 到达站名:{{zdzName}} 当班调派: 日期:{{scheduleDate}}</td> | |
| 232 | + <td colspan="14">路别:{{xlName}} 路牌:{{lpName}} 车号:{{clZbh}} 出场时间:{{fcsjActual}} 到达站名:{{zdzName}} 当班调派: 日期:{{scheduleDate}}</td> | |
| 232 | 233 | </tr> |
| 233 | 234 | <tr> |
| 234 | 235 | <td colspan="2">出场存油 升</td> | ... | ... |
src/main/resources/static/pages/forms/statement/waybill_minhang.html
0 → 100644
| 1 | +<style type="text/css"> | |
| 2 | + .table-bordered { | |
| 3 | + border: 1px solid; } | |
| 4 | + .table-bordered > thead > tr > th, | |
| 5 | + .table-bordered > thead > tr > td, | |
| 6 | + .table-bordered > tbody > tr > th, | |
| 7 | + .table-bordered > tbody > tr > td, | |
| 8 | + .table-bordered > tfoot > tr > th, | |
| 9 | + .table-bordered > tfoot > tr > td { | |
| 10 | + border: 1px solid; } | |
| 11 | + .table-bordered > thead > tr > th, | |
| 12 | + .table-bordered > thead > tr > td { | |
| 13 | + border-bottom-width: 2px; } | |
| 14 | + | |
| 15 | + .table > tbody + tbody { | |
| 16 | + border-top: 1px solid; } | |
| 17 | +</style> | |
| 18 | + | |
| 19 | +<div class="page-head"> | |
| 20 | + <div class="page-title"> | |
| 21 | + <h1>行车路单</h1> | |
| 22 | + </div> | |
| 23 | +</div> | |
| 24 | + | |
| 25 | +<div class="row"> | |
| 26 | + <div class="col-md-12"> | |
| 27 | + <div class="portlet light porttlet-fit bordered"> | |
| 28 | + <div class="portlet-title"> | |
| 29 | + <form class="form-inline" action=""> | |
| 30 | + <div style="display: inline-block;"> | |
| 31 | + <span class="item-label" style="width: 80px;">线路: </span> | |
| 32 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | |
| 33 | + </div> | |
| 34 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 35 | + <span class="item-label" style="width: 80px;">时间: </span> | |
| 36 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | |
| 37 | + </div> | |
| 38 | + <div class="form-group" style="display: inline-block;margin-left: 15px;"> | |
| 39 | + <input class="btn btn-default" type="button" id="query" value="查询"/> | |
| 40 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 41 | + <input class="btn btn-default" type="button" id="print" value="打印"/> | |
| 42 | + <input class="btn btn-default" type="button" id="exportMore" value="批量导出"/> | |
| 43 | + </div> | |
| 44 | + </form> | |
| 45 | + </div> | |
| 46 | + <div class="portlet-body"> | |
| 47 | + <div class="row"> | |
| 48 | + <div class="col-md-3"> | |
| 49 | + <div class="" style="margin-top: 10px;overflow:auto;height: 860px"> | |
| 50 | + <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> | |
| 51 | + <thead> | |
| 52 | + <tr class="hidden"> | |
| 53 | + <th>人员</th> | |
| 54 | + <th>自编号</th> | |
| 55 | + <th>路牌</th> | |
| 56 | + </tr> | |
| 57 | + </thead> | |
| 58 | + <tbody> | |
| 59 | + | |
| 60 | + </tbody> | |
| 61 | + </table> | |
| 62 | + </div> | |
| 63 | + </div> | |
| 64 | + <div class="col-md-9" id="printArea"> | |
| 65 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 66 | + <table class="table table-bordered table-checkable" id="forms"> | |
| 67 | + <tbody class="ludan_1"> | |
| 68 | + | |
| 69 | + </tbody> | |
| 70 | + <tbody class="ludan_2"> | |
| 71 | + | |
| 72 | + </tbody> | |
| 73 | + <tbody class="ludan_3"> | |
| 74 | + | |
| 75 | + </tbody> | |
| 76 | + <tbody class="ludan_4"> | |
| 77 | + | |
| 78 | + </tbody> | |
| 79 | + </table> | |
| 80 | + </div> | |
| 81 | + </div> | |
| 82 | + </div> | |
| 83 | + </div> | |
| 84 | + </div> | |
| 85 | + </div> | |
| 86 | +</div> | |
| 87 | + | |
| 88 | +<script> | |
| 89 | + $(function(){ | |
| 90 | + // 关闭左侧栏 | |
| 91 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 92 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 93 | + | |
| 94 | + $("#date").datetimepicker({ | |
| 95 | + format : 'YYYY-MM-DD', | |
| 96 | + locale : 'zh-cn' | |
| 97 | + }); | |
| 98 | + | |
| 99 | + $('#line').select2({ | |
| 100 | + ajax: { | |
| 101 | + url: '/realSchedule/findLine', | |
| 102 | + dataType: 'json', | |
| 103 | + delay: 150, | |
| 104 | + data: function(params){ | |
| 105 | + return{line: params.term}; | |
| 106 | + }, | |
| 107 | + processResults: function (data) { | |
| 108 | + return { | |
| 109 | + results: data | |
| 110 | + }; | |
| 111 | + }, | |
| 112 | + cache: true | |
| 113 | + }, | |
| 114 | + templateResult: function(repo){ | |
| 115 | + if (repo.loading) return repo.text; | |
| 116 | + var h = '<span>'+repo.text+'</span>'; | |
| 117 | + return h; | |
| 118 | + }, | |
| 119 | + escapeMarkup: function (markup) { return markup; }, | |
| 120 | + minimumInputLength: 1, | |
| 121 | + templateSelection: function(repo){ | |
| 122 | + return repo.text; | |
| 123 | + }, | |
| 124 | + language: { | |
| 125 | + noResults: function(){ | |
| 126 | + return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 127 | + }, | |
| 128 | + inputTooShort : function(e) { | |
| 129 | + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 130 | + }, | |
| 131 | + searching : function() { | |
| 132 | + return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 133 | + } | |
| 134 | + } | |
| 135 | + }); | |
| 136 | + | |
| 137 | + $("#query").on("click",function(){ | |
| 138 | + var line = $("#line").val(); | |
| 139 | + var date = $("#date").val(); | |
| 140 | + $(".hidden").removeClass("hidden"); | |
| 141 | + $get('/realSchedule/queryUserInfo',{line:line,date:date},function(result){ | |
| 142 | + // 把数据填充到模版中 | |
| 143 | + var tbodyHtml = template('list_info',{list:result}); | |
| 144 | + // 把渲染好的模版html文本追加到表格中 | |
| 145 | + $('#info tbody').html(tbodyHtml); | |
| 146 | + }); | |
| 147 | + }); | |
| 148 | + | |
| 149 | + var params = {}; | |
| 150 | + var jName; | |
| 151 | + $("#info tbody").on("click","tr",function(){ | |
| 152 | + $('#forms .ludan_1').html(''); | |
| 153 | + $('#forms .ludan_2').html(''); | |
| 154 | + $('#forms .ludan_3').html(''); | |
| 155 | + $('#forms .ludan_4').html(''); | |
| 156 | + if($(this).children().size() < 2){ | |
| 157 | + return; | |
| 158 | + } | |
| 159 | + | |
| 160 | + $(this).children().each(function(index){ | |
| 161 | + params[index] = $(this).text(); | |
| 162 | + }); | |
| 163 | + jName = params[0].split("\\")[0]; | |
| 164 | + var id = $("#"+params[1]).val(); | |
| 165 | + $get('/realSchedule/'+id,null,function(result){ | |
| 166 | + result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); | |
| 167 | + var ludan_1 = template('ludan_1',result); | |
| 168 | + //var ludan_4 = template('ludan_4',result); | |
| 169 | + // 把渲染好的模版html文本追加到表格中 | |
| 170 | + $('#forms .ludan_1').append(ludan_1); | |
| 171 | + //$('#forms .ludan_4').append(ludan_4); | |
| 172 | + }); | |
| 173 | + $get('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 174 | + getTime(result); | |
| 175 | + var ludan_2 = template('ludan_2',{list:result}); | |
| 176 | + // 把渲染好的模版html文本追加到表格中 | |
| 177 | + $('#forms .ludan_2').append(ludan_2); | |
| 178 | + }); | |
| 179 | + $get('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 180 | + var ludan_3 = template('ludan_3',result); | |
| 181 | + $('#forms .ludan_3').append(ludan_3); | |
| 182 | + }); | |
| 183 | + | |
| 184 | + }); | |
| 185 | + | |
| 186 | + $("#export").on("click",function(){ | |
| 187 | + $get('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2]},function(result){ | |
| 188 | + window.open("/downloadFile/download?fileName="+jName); | |
| 189 | + }); | |
| 190 | + }); | |
| 191 | + | |
| 192 | + $("#print").click(function(){ | |
| 193 | + $("#printArea").printArea(); | |
| 194 | + }); | |
| 195 | + | |
| 196 | + function getTime(list){ | |
| 197 | + $.each(list, function(i, obj) { | |
| 198 | + if(obj.zdsj != null && obj.zdsjActual != null ){ | |
| 199 | + var zdsjActual = (obj.zdsjActual).split(":"); | |
| 200 | + var zdsj = (obj.zdsj).split(":"); | |
| 201 | + if(zdsjActual[0]*60+Number(zdsjActual[1]) > zdsj[0]*60+Number(zdsj[1])){ | |
| 202 | + obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1])); | |
| 203 | + } | |
| 204 | + else if(zdsjActual[0]*60+Number(zdsjActual[1]) < zdsj[0]*60+Number(zdsj[1])){ | |
| 205 | + obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1])); | |
| 206 | + } | |
| 207 | + } | |
| 208 | + }); | |
| 209 | + } | |
| 210 | + }); | |
| 211 | +</script> | |
| 212 | +<script type="text/html" id="list_info"> | |
| 213 | + {{each list as obj i}} | |
| 214 | + <tr> | |
| 215 | + <td width="45%">{{obj.jName}}\{{obj.jGh}}</td> | |
| 216 | + <td width="32%">{{obj.clZbh}}</td> | |
| 217 | + <td width="23%">{{obj.lpName}}<input type="hidden" id="{{obj.clZbh}}" value="{{obj.id}}"></td> | |
| 218 | + </tr> | |
| 219 | + {{/each}} | |
| 220 | + {{if list.length == 0}} | |
| 221 | + <tr> | |
| 222 | + <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td> | |
| 223 | + </tr> | |
| 224 | + {{/if}} | |
| 225 | +</script> | |
| 226 | +<script type="text/html" id="ludan_1"> | |
| 227 | + <tr> | |
| 228 | + <td colspan="13">行车路单</td> | |
| 229 | + </tr> | |
| 230 | + <tr> | |
| 231 | + <td colspan="13">路别:{{xlName}} 路牌:{{lpName}} 车号:{{clZbh}} 出场时间:{{fcsjActual}} 到达站名:{{zdzName}} 当班调度: 日期:{{scheduleDate}} 本日耗油: 升</td> | |
| 232 | + </tr> | |
| 233 | +<!-- | |
| 234 | + <tr> | |
| 235 | + <td rowspan="2">调度章</td> | |
| 236 | + <td colspan="1"> </td> | |
| 237 | + <td rowspan="2">早班</td> | |
| 238 | + <td colspan="1"> </td> | |
| 239 | + <td rowspan="2">夜班</td> | |
| 240 | + <td colspan="1"> </td> | |
| 241 | + <td rowspan="2" colspan="2">交叉</td> | |
| 242 | + <td colspan="2"> </td> | |
| 243 | + <td rowspan="2">其他</td> | |
| 244 | + <td colspan="1"> </td> | |
| 245 | + <td colspan="1"> </td> | |
| 246 | + <td colspan="1"> </td> | |
| 247 | + </tr> | |
| 248 | + <tr> | |
| 249 | + <td colspan="1"> </td> | |
| 250 | + <td colspan="1"> </td> | |
| 251 | + <td colspan="1"> </td> | |
| 252 | + <td colspan="2"> </td> | |
| 253 | + <td colspan="1"> </td> | |
| 254 | + <td colspan="1"> </td> | |
| 255 | + <td colspan="1"> </td> | |
| 256 | + </tr> | |
| 257 | +--> | |
| 258 | + <tr> | |
| 259 | + <td rowspan="2">车次</td> | |
| 260 | + <td colspan="2">工号</td> | |
| 261 | + <!-- <td rowspan="2">公里耗油</td> --> | |
| 262 | + <td colspan="2">起讫站</td> | |
| 263 | + <td colspan="4">时间</td> | |
| 264 | + <td colspan="2">误点</td> | |
| 265 | + <td rowspan="2" width="66px">里程(公里)计划</td> | |
| 266 | + <td rowspan="2">备注</td> | |
| 267 | + </tr> | |
| 268 | + <tr> | |
| 269 | + <td colspan="1" width="60px">司 机</td> | |
| 270 | + <td colspan="1" width="60px">售 票</td> | |
| 271 | + <td colspan="1">起点</td> | |
| 272 | + <td colspan="1">终点</td> | |
| 273 | + <td colspan="1">计发</td> | |
| 274 | + <td colspan="1">实发</td> | |
| 275 | + <td colspan="1">应到</td> | |
| 276 | + <td colspan="1">实到</td> | |
| 277 | + <td colspan="1">快</td> | |
| 278 | + <td colspan="1">慢</td> | |
| 279 | + </tr> | |
| 280 | +</script> | |
| 281 | +<script type="text/html" id="ludan_2"> | |
| 282 | + {{each list as obj i}} | |
| 283 | + <tr> | |
| 284 | + <td>{{i+1}}</td> | |
| 285 | + <td>{{obj.jName}}</td> | |
| 286 | + <td>{{obj.sName}}</td> | |
| 287 | + <td>{{obj.qdzName}}</td> | |
| 288 | + <td>{{obj.zdzName}}</td> | |
| 289 | + <td>{{obj.fcsj}}</td> | |
| 290 | + <td>{{obj.fcsjActual}}</td> | |
| 291 | + <td>{{obj.zdsj}}</td> | |
| 292 | + <td>{{obj.zdsjActual}}</td> | |
| 293 | + <td>{{obj.fast}}</td> | |
| 294 | + <td>{{obj.slow}}</td> | |
| 295 | + <td>{{obj.jhlc}}</td> | |
| 296 | + <td>{{obj.remarks}}</td> | |
| 297 | + </tr> | |
| 298 | + {{/each}} | |
| 299 | + {{if list.length == 0}} | |
| 300 | + <tr> | |
| 301 | + <td colspan="13"><h6 class="muted">没有找到相关数据</h6></td> | |
| 302 | + </tr> | |
| 303 | + {{/if}} | |
| 304 | +</script> | |
| 305 | +<script type="text/html" id="ludan_3"> | |
| 306 | + <tr> | |
| 307 | + <td colspan="2">计划公里</td> | |
| 308 | + <td>{{jhlc}}</td> | |
| 309 | + <td>抽减公里</td> | |
| 310 | + <td>{{remMileage}}</td> | |
| 311 | + <td colspan="2">增加公里</td> | |
| 312 | + <td>{{addMileage}}</td> | |
| 313 | + <td colspan="2">实际计划公里</td> | |
| 314 | + <td colspan="3">{{jhlc}}</td> | |
| 315 | + </tr> | |
| 316 | + <tr> | |
| 317 | + <td colspan="2">营运公里</td> | |
| 318 | + <td>{{realMileage}}</td> | |
| 319 | + <td>空驶公里</td> | |
| 320 | + <td>{{ksgl}}</td> | |
| 321 | + <td colspan="2">总公里</td> | |
| 322 | + <td>{{realMileage}}</td> | |
| 323 | + <td colspan="2">计划班次</td> | |
| 324 | + <td colspan="3">{{jhbc}}</td> | |
| 325 | + </tr> | |
| 326 | + <tr> | |
| 327 | + <td colspan="2">抽减班次</td> | |
| 328 | + <td>{{cjbc}}</td> | |
| 329 | + <td>增加班次</td> | |
| 330 | + <td>{{ljbc}}</td> | |
| 331 | + <td colspan="2">实际计划班次</td> | |
| 332 | + <td>{{jhbc}}</td> | |
| 333 | + <td colspan="2">实际班次</td> | |
| 334 | + <td colspan="3">{{sjbc}}</td> | |
| 335 | + </tr> | |
| 336 | +</script> | |
| 337 | +<script type="text/html" id="ludan_4"> | |
| 338 | + <tr> | |
| 339 | + <td colspan="12">认真做好终点项目的例保保修工作,杜绝机械火警事故!</td> | |
| 340 | + <td>轮胎</td> | |
| 341 | + <td> </td> | |
| 342 | + </tr> | |
| 343 | + <tr> | |
| 344 | + <td colspan="3">重点例保项目</td> | |
| 345 | + <td>1</td> | |
| 346 | + <td>2</td> | |
| 347 | + <td>3</td> | |
| 348 | + <td colspan="3">重点例保项目</td> | |
| 349 | + <td>1</td> | |
| 350 | + <td>2</td> | |
| 351 | + <td>3</td> | |
| 352 | + <td>灭火机</td> | |
| 353 | + <td> </td> | |
| 354 | + </tr> | |
| 355 | + <tr> | |
| 356 | + <td colspan="3">各类制动</td> | |
| 357 | + <td> </td> | |
| 358 | + <td> </td> | |
| 359 | + <td> </td> | |
| 360 | + <td colspan="3">各类灯光</td> | |
| 361 | + <td> </td> | |
| 362 | + <td> </td> | |
| 363 | + <td> </td> | |
| 364 | + <td colspan="2">出场路码表里程</td> | |
| 365 | + </tr> | |
| 366 | + <tr> | |
| 367 | + <td colspan="3">方向机</td> | |
| 368 | + <td> </td> | |
| 369 | + <td> </td> | |
| 370 | + <td> </td> | |
| 371 | + <td colspan="3">各类仪表</td> | |
| 372 | + <td> </td> | |
| 373 | + <td> </td> | |
| 374 | + <td> </td> | |
| 375 | + <td colspan="2" rowspan="2"> </td> | |
| 376 | + </tr> | |
| 377 | + <tr> | |
| 378 | + <td colspan="3">欠压报警器</td> | |
| 379 | + <td> </td> | |
| 380 | + <td> </td> | |
| 381 | + <td> </td> | |
| 382 | + <td colspan="3">各类皮带</td> | |
| 383 | + <td> </td> | |
| 384 | + <td> </td> | |
| 385 | + <td> </td> | |
| 386 | + </tr> | |
| 387 | + <tr> | |
| 388 | + <td colspan="3">发动机清洁及响声</td> | |
| 389 | + <td> </td> | |
| 390 | + <td> </td> | |
| 391 | + <td> </td> | |
| 392 | + <td colspan="3">油箱及托架</td> | |
| 393 | + <td> </td> | |
| 394 | + <td> </td> | |
| 395 | + <td> </td> | |
| 396 | + <td colspan="2">出场路码表里程</td> | |
| 397 | + </tr> | |
| 398 | + <tr> | |
| 399 | + <td colspan="3">地盘响声</td> | |
| 400 | + <td> </td> | |
| 401 | + <td> </td> | |
| 402 | + <td> </td> | |
| 403 | + <td colspan="3">轮胎、半轴螺栓螺母</td> | |
| 404 | + <td> </td> | |
| 405 | + <td> </td> | |
| 406 | + <td> </td> | |
| 407 | + <td colspan="2" rowspan="3"> </td> | |
| 408 | + </tr> | |
| 409 | + <tr> | |
| 410 | + <td colspan="3">化油器及油路</td> | |
| 411 | + <td> </td> | |
| 412 | + <td> </td> | |
| 413 | + <td> </td> | |
| 414 | + <td colspan="3">油、电、水、气</td> | |
| 415 | + <td> </td> | |
| 416 | + <td> </td> | |
| 417 | + <td> </td> | |
| 418 | + </tr> | |
| 419 | + <tr> | |
| 420 | + <td colspan="3">进排歧管及排气管</td> | |
| 421 | + <td> </td> | |
| 422 | + <td> </td> | |
| 423 | + <td> </td> | |
| 424 | + <td colspan="3">内外车身及附件</td> | |
| 425 | + <td> </td> | |
| 426 | + <td> </td> | |
| 427 | + <td> </td> | |
| 428 | + </tr> | |
| 429 | + <tr> | |
| 430 | + <td colspan="14">1 首次出场,2 复使中途,3 某次进场。√正常,ⓧ报修,×尚未报修</td> | |
| 431 | + </tr> | |
| 432 | +</script> | |
| 0 | 433 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/permission/user/add.html
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | </div> |
| 20 | 20 | </div> |
| 21 | 21 | <div class="portlet-body form"> |
| 22 | - <form action="/resource" class="form-horizontal" id="resource_add_form" > | |
| 22 | + <form action="/addUser" class="form-horizontal" id="user_add_form" > | |
| 23 | 23 | <div class="alert alert-danger display-hide"> |
| 24 | 24 | <button class="close" data-close="alert"></button> |
| 25 | 25 | 您的输入有误,请检查下面的输入项 |
| ... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 | <div class="form-group"> |
| 42 | 42 | <label class="col-md-3 control-label">密码</label> |
| 43 | 43 | <div class="col-md-4"> |
| 44 | - <input type="password" class="form-control" name="password" > | |
| 44 | + <input type="password" class="form-control" id="password" name="password" > | |
| 45 | 45 | <span class="help-block"> 请输入6位以上密码</span> |
| 46 | 46 | </div> |
| 47 | 47 | </div> |
| ... | ... | @@ -62,8 +62,8 @@ |
| 62 | 62 | <div class="form-group"> |
| 63 | 63 | <label class="col-md-3 control-label">角色</label> |
| 64 | 64 | <div class="col-md-4"> |
| 65 | - <select class="form-control" name="role[]" style="width: 160px;" multiple="multiple"> | |
| 66 | - <option>请选择...</option> | |
| 65 | + <select class="form-control" id="role" name="roles[]" style="width: 160px;" multiple="multiple"> | |
| 66 | + | |
| 67 | 67 | </select> |
| 68 | 68 | </div> |
| 69 | 69 | </div> |
| ... | ... | @@ -72,7 +72,7 @@ |
| 72 | 72 | <label class="col-md-3 control-label">是否启用</label> |
| 73 | 73 | <div class="col-md-4"> |
| 74 | 74 | <div class="input-group"> |
| 75 | - <select class="form-control" name="enable" style="width: 160px;"> | |
| 75 | + <select class="form-control" name="enabled" style="width: 160px;"> | |
| 76 | 76 | <option value="1">可用</option> |
| 77 | 77 | <option value="0">禁用</option> |
| 78 | 78 | </select> |
| ... | ... | @@ -93,5 +93,88 @@ |
| 93 | 93 | </div> |
| 94 | 94 | </div> |
| 95 | 95 | <script> |
| 96 | - | |
| 96 | + $(function(){ | |
| 97 | + $get('/role/all',null,function(result){ | |
| 98 | + $.each(result,function(i,obj){ | |
| 99 | + $("#role").append("<option value='"+obj.id+"'>"+obj.roleName+"</option>"); | |
| 100 | + }); | |
| 101 | + }); | |
| 102 | + | |
| 103 | + var form = $('#user_add_form'); | |
| 104 | + var error = $('.alert-danger', form); | |
| 105 | + | |
| 106 | + //表单 validate | |
| 107 | + form.validate({ | |
| 108 | + errorElement : 'span', | |
| 109 | + errorClass : 'help-block help-block-error', | |
| 110 | + focusInvalid : false, | |
| 111 | + rules : { | |
| 112 | + 'userName' : { | |
| 113 | + required : true, | |
| 114 | + maxlength: 25 | |
| 115 | + }, | |
| 116 | + 'name' : { | |
| 117 | + required : true, | |
| 118 | + maxlength: 25 | |
| 119 | + }, | |
| 120 | + 'password' : { | |
| 121 | + required : true, | |
| 122 | + minlength: 6, | |
| 123 | + maxlength: 25 | |
| 124 | + }, | |
| 125 | + 'cfmPassword' : { | |
| 126 | + equalTo: '#password' | |
| 127 | + }, | |
| 128 | + 'role' : { | |
| 129 | + required : true, | |
| 130 | + minlength: 1 | |
| 131 | + } | |
| 132 | + }, | |
| 133 | + invalidHandler : function(event, validator) { | |
| 134 | + error.show(); | |
| 135 | + App.scrollTo(error, -200); | |
| 136 | + }, | |
| 137 | + | |
| 138 | + highlight : function(element) { | |
| 139 | + $(element).closest('.form-group').addClass('has-error'); | |
| 140 | + }, | |
| 141 | + | |
| 142 | + unhighlight : function(element) { | |
| 143 | + $(element).closest('.form-group').removeClass('has-error'); | |
| 144 | + }, | |
| 145 | + | |
| 146 | + success : function(label) { | |
| 147 | + label.closest('.form-group').removeClass('has-error'); | |
| 148 | + }, | |
| 149 | + | |
| 150 | + submitHandler : function(f) { | |
| 151 | + var params = form.serializeJSON(); | |
| 152 | + error.hide(); | |
| 153 | + console.log(params); | |
| 154 | + | |
| 155 | + //检查一下用户是否存在 | |
| 156 | + $get('/user/all', {userName_eq: params.userName}, function(list){ | |
| 157 | + if(!list || list.length == 0){ | |
| 158 | + console.log(params); | |
| 159 | + $.ajax({ | |
| 160 | + url: '/user', | |
| 161 | + type: 'POST', | |
| 162 | + traditional: true, | |
| 163 | + data: params, | |
| 164 | + success: function(res){ | |
| 165 | + layer.msg('添加用户成功.'); | |
| 166 | + loadPage('list.html'); | |
| 167 | + } | |
| 168 | + }); | |
| 169 | + /* $post('/user', params, function(res){ | |
| 170 | + layer.msg('添加用户成功.'); | |
| 171 | + loadPage('list.html'); | |
| 172 | + }); */ | |
| 173 | + } | |
| 174 | + else | |
| 175 | + layer.alert('用户【' + params.userName + '】已存在', {icon: 2, title: '提交被拒绝'}); | |
| 176 | + }); | |
| 177 | + } | |
| 178 | + }); | |
| 179 | + }); | |
| 97 | 180 | </script> |
| 98 | 181 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/permission/user/changePWD.html
0 → 100644
| 1 | +<div class="row"> | |
| 2 | +<div class="col-md-12"> | |
| 3 | +<!-- BEGIN VALIDATION STATES--> | |
| 4 | +<div class="portlet light portlet-fit portlet-form bordered"> | |
| 5 | +<div class="portlet-body"> | |
| 6 | + <form action="/user/changePWD" class="form-horizontal" id="changePWD"> | |
| 7 | + <div class="form-group" style="margin-top: 60px"> | |
| 8 | + <label class="control-label col-md-5">原始密码: | |
| 9 | + </label> | |
| 10 | + <div class="col-md-4"> | |
| 11 | + <div class="input-icon right"> | |
| 12 | + <i class="fa"></i> | |
| 13 | + <input type="password" class="form-control" name="oldPWD" /> </div> | |
| 14 | + </div> | |
| 15 | + </div> | |
| 16 | + <div class="form-group"> | |
| 17 | + <label class="control-label col-md-5">输入新密码: | |
| 18 | + </label> | |
| 19 | + <div class="col-md-4"> | |
| 20 | + <div class="input-icon right"> | |
| 21 | + <i class="fa"></i> | |
| 22 | + <input type="password" class="form-control" name="newPWD" /> </div> | |
| 23 | + </div> | |
| 24 | + </div> | |
| 25 | + <div class="form-group"> | |
| 26 | + <label class="control-label col-md-5">确认新密码: | |
| 27 | + </label> | |
| 28 | + <div class="col-md-4"> | |
| 29 | + <div class="input-icon right"> | |
| 30 | + <i class="fa"></i> | |
| 31 | + <input type="password" class="form-control" name="cnewPWD" /> </div> | |
| 32 | + </div> | |
| 33 | + </div> | |
| 34 | + <div class="form-actions"> | |
| 35 | + <div class="row"> | |
| 36 | + <div class="col-md-offset-5 col-md-7"> | |
| 37 | + <button type="button" id="confirm" class="btn green">确定</button> | |
| 38 | + <button type="reset" class="btn default">取消</button> | |
| 39 | + </div> | |
| 40 | + </div> | |
| 41 | + </div> | |
| 42 | + </form> | |
| 43 | +</div> | |
| 44 | +</div> | |
| 45 | +</div> | |
| 46 | +</div> | |
| 47 | + | |
| 48 | +<script> | |
| 49 | +$(function(){ | |
| 50 | + $("#confirm").on("click",function(){ | |
| 51 | + $.get('/user/changePWD',null,function(){ | |
| 52 | + | |
| 53 | + }); | |
| 54 | + }); | |
| 55 | +}); | |
| 56 | +</script> | |
| 0 | 57 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/permission/user/list.html
| ... | ... | @@ -75,7 +75,7 @@ |
| 75 | 75 | </td> |
| 76 | 76 | <td></td> |
| 77 | 77 | <td> |
| 78 | - <select class="form-control form-filter " name="enable_eq"> | |
| 78 | + <select class="form-control form-filter " name="enabled_eq"> | |
| 79 | 79 | <option value="">请选择...</option> |
| 80 | 80 | <option value="1">可用</option> |
| 81 | 81 | <option value="0">禁用</option> |
| ... | ... | @@ -132,7 +132,13 @@ |
| 132 | 132 | <td> |
| 133 | 133 | {{obj.lastLoginDate}} |
| 134 | 134 | </td> |
| 135 | - <td><a href="edit.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 详细 </a></td> | |
| 135 | + <td> | |
| 136 | + {{if obj.enabled}} | |
| 137 | + <button type="button" onclick="changeEnabled({{obj.id}},0)" class="btn btn-warning btn-sm">禁用</button> | |
| 138 | + {{else}} | |
| 139 | + <button type="button" onclick="changeEnabled({{obj.id}},1)" class="btn btn-success btn-sm">启用</button> | |
| 140 | + {{/if}} | |
| 141 | + </td> | |
| 136 | 142 | </tr> |
| 137 | 143 | {{/each}} |
| 138 | 144 | {{if list.length == 0}} |
| ... | ... | @@ -252,4 +258,11 @@ $(function(){ |
| 252 | 258 | }); |
| 253 | 259 | }); |
| 254 | 260 | }); |
| 261 | +//改变状态 | |
| 262 | +function changeEnabled(id,enabled){ | |
| 263 | + debugger | |
| 264 | + $get('/user/changeEnabled',{id:id,enabled:enabled},function(result){ | |
| 265 | + jsDoQuery(null, true); | |
| 266 | + }) | |
| 267 | +} | |
| 255 | 268 | </script> |
| 256 | 269 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/common/dt/MyGuideboardGroupWrapTemplate.html
0 → 100644
| 1 | +<div name="{{$saGuideboardgroupCtrl.$name_attr}}" | |
| 2 | + ng-model="$saGuideboardgroupCtrl.$$internalmodel"> | |
| 3 | + | |
| 4 | + <style> | |
| 5 | + .guideboard-select { | |
| 6 | + height: 180px; | |
| 7 | + border: 1px solid #ddd; | |
| 8 | + } | |
| 9 | + .guideboard-select .guideboard-input { | |
| 10 | + margin: 2px 5px 5px 5px; | |
| 11 | + padding-left: 0; | |
| 12 | + } | |
| 13 | + .guideboard-select .guideboard-select-cont { | |
| 14 | + text-align: left; | |
| 15 | + height: 100px; | |
| 16 | + padding-right: 0px; | |
| 17 | + } | |
| 18 | + .guideboard-select .guideboard-select-body { | |
| 19 | + margin-top: 10px; | |
| 20 | + overflow: auto; | |
| 21 | + width: auto; | |
| 22 | + height: 100px; | |
| 23 | + } | |
| 24 | + .guideboard-select .guideboard { | |
| 25 | + display: inline-block; | |
| 26 | + padding: 8px; | |
| 27 | + min-width: 85px; | |
| 28 | + text-align: center; | |
| 29 | + border: 1px solid #C1C1C1; | |
| 30 | + color: #666; | |
| 31 | + border-radius: 5px !important; | |
| 32 | + margin: 5px; | |
| 33 | + } | |
| 34 | + .guideboard-select .guideboard.active { | |
| 35 | + color: white; | |
| 36 | + background: #4095E8; | |
| 37 | + border: 1px solid #4095E8; | |
| 38 | + } | |
| 39 | + | |
| 40 | + </style> | |
| 41 | + | |
| 42 | + <div class="col-md-12 guideboard-select"> | |
| 43 | + <div class="col-md-12 guideboard-input"> | |
| 44 | + <div class="col-md-9"> | |
| 45 | + 某某线路的路牌列表 | |
| 46 | + </div> | |
| 47 | + </div> | |
| 48 | + <div class="col-md-12 guideboard-select-cont"> | |
| 49 | + <div class="guideboard-select-body"> | |
| 50 | + <div class="guideboard active"> | |
| 51 | + 1 | |
| 52 | + </div> | |
| 53 | + <div class="guideboard active"> | |
| 54 | + 2 | |
| 55 | + </div> | |
| 56 | + <div class="guideboard active"> | |
| 57 | + 3 | |
| 58 | + </div> | |
| 59 | + <div class="guideboard active"> | |
| 60 | + 4 | |
| 61 | + </div> | |
| 62 | + </div> | |
| 63 | + </div> | |
| 64 | + </div> | |
| 65 | + | |
| 66 | + | |
| 67 | +</div> | |
| 0 | 68 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/employeeConfig.js
| ... | ... | @@ -213,6 +213,11 @@ angular.module('ScheduleApp').controller('EmployeeConfigFormCtrl', ['EmployeeCon |
| 213 | 213 | self.submit = function() { |
| 214 | 214 | console.log(self.employeeConfigForSave); |
| 215 | 215 | |
| 216 | + // 如果自对象没id值,设置成null | |
| 217 | + if (self.employeeConfigForSave.spy && !self.employeeConfigForSave.spy.id) { | |
| 218 | + self.employeeConfigForSave.spy = null; | |
| 219 | + } | |
| 220 | + | |
| 216 | 221 | employeeConfigService.saveDetail(self.employeeConfigForSave).then( |
| 217 | 222 | function(result) { |
| 218 | 223 | // TODO:弹出框方式以后改 | ... | ... |