Commit 1ad45fdde4a35b5eeba192b09b37d02889321717
Merge branch 'minhang' into qingpu
Showing
37 changed files
with
3200 additions
and
1341 deletions
Too many changes to show.
To preserve performance only 37 of 60 files are displayed.
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,11 +28,10 @@ public class DownloadController | ||
| 28 | { | 28 | { |
| 29 | 29 | ||
| 30 | @RequestMapping("download") | 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 | File file=new File(moudelPath); | 35 | File file=new File(moudelPath); |
| 37 | HttpHeaders headers = new HttpHeaders(); | 36 | HttpHeaders headers = new HttpHeaders(); |
| 38 | String realFileName=new String(fileName.getBytes("UTF-8"),"iso-8859-1");//为了解决中文名称乱码问题 | 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,8 +300,8 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 300 | } | 300 | } |
| 301 | 301 | ||
| 302 | @RequestMapping(value = "/dailyInfo") | 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 | @RequestMapping(value = "/historyMessage") | 307 | @RequestMapping(value = "/historyMessage") |
| @@ -336,9 +336,33 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -336,9 +336,33 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 336 | @RequestParam String endDate,@RequestParam String lpName,@RequestParam String code) { | 336 | @RequestParam String endDate,@RequestParam String lpName,@RequestParam String code) { |
| 337 | return scheduleRealInfoService.correctForm(line, startDate, endDate, lpName, code); | 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 | @RequestMapping(value="/queryListWaybill") | 347 | @RequestMapping(value="/queryListWaybill") |
| 341 | public List<ScheduleRealInfo> queryListWaybill(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName){ | 348 | public List<ScheduleRealInfo> queryListWaybill(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName){ |
| 342 | return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName); | 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,23 +4,30 @@ import javax.servlet.http.HttpServletRequest; | ||
| 4 | import javax.servlet.http.HttpServletResponse; | 4 | import javax.servlet.http.HttpServletResponse; |
| 5 | import javax.servlet.http.HttpSession; | 5 | import javax.servlet.http.HttpSession; |
| 6 | 6 | ||
| 7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 7 | import org.springframework.security.authentication.BadCredentialsException; | 8 | import org.springframework.security.authentication.BadCredentialsException; |
| 8 | import org.springframework.security.core.Authentication; | 9 | import org.springframework.security.core.Authentication; |
| 9 | import org.springframework.security.core.context.SecurityContextHolder; | 10 | import org.springframework.security.core.context.SecurityContextHolder; |
| 11 | +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | ||
| 10 | import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; | 12 | import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; |
| 11 | import org.springframework.security.web.authentication.session.SessionAuthenticationException; | 13 | import org.springframework.security.web.authentication.session.SessionAuthenticationException; |
| 12 | import org.springframework.web.bind.annotation.RequestMapping; | 14 | import org.springframework.web.bind.annotation.RequestMapping; |
| 15 | +import org.springframework.web.bind.annotation.RequestParam; | ||
| 13 | import org.springframework.web.bind.annotation.RestController; | 16 | import org.springframework.web.bind.annotation.RestController; |
| 14 | import org.springframework.web.servlet.ModelAndView; | 17 | import org.springframework.web.servlet.ModelAndView; |
| 15 | 18 | ||
| 16 | import com.bsth.controller.BaseController; | 19 | import com.bsth.controller.BaseController; |
| 17 | import com.bsth.entity.sys.SysUser; | 20 | import com.bsth.entity.sys.SysUser; |
| 18 | import com.bsth.security.util.SecurityUtils; | 21 | import com.bsth.security.util.SecurityUtils; |
| 22 | +import com.bsth.service.sys.SysUserService; | ||
| 19 | 23 | ||
| 20 | @RestController | 24 | @RestController |
| 21 | @RequestMapping("user") | 25 | @RequestMapping("user") |
| 22 | public class UserController extends BaseController<SysUser, Integer>{ | 26 | public class UserController extends BaseController<SysUser, Integer>{ |
| 23 | 27 | ||
| 28 | + @Autowired | ||
| 29 | + SysUserService sysUserService; | ||
| 30 | + | ||
| 24 | /** | 31 | /** |
| 25 | * | 32 | * |
| 26 | * @Title: loginFailure | 33 | * @Title: loginFailure |
| @@ -65,4 +72,45 @@ public class UserController extends BaseController<SysUser, Integer>{ | @@ -65,4 +72,45 @@ public class UserController extends BaseController<SysUser, Integer>{ | ||
| 65 | public SysUser currentUser(){ | 72 | public SysUser currentUser(){ |
| 66 | return SecurityUtils.getCurrentUser(); | 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 | package com.bsth.data; | 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 | * @author PanZhao | 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 | public class BasicData { | 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,4 +54,10 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | ||
| 54 | 54 | ||
| 55 | @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 order by fcsj") | 55 | @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 order by fcsj") |
| 56 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName); | 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 | package com.bsth.repository.sys; | 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 | import org.springframework.stereotype.Repository; | 5 | import org.springframework.stereotype.Repository; |
| 6 | +import org.springframework.transaction.annotation.Transactional; | ||
| 4 | 7 | ||
| 5 | import com.bsth.entity.sys.SysUser; | 8 | import com.bsth.entity.sys.SysUser; |
| 6 | import com.bsth.repository.BaseRepository; | 9 | import com.bsth.repository.BaseRepository; |
| @@ -10,4 +13,13 @@ public interface SysUserRepository extends BaseRepository<SysUser, Integer>{ | @@ -10,4 +13,13 @@ public interface SysUserRepository extends BaseRepository<SysUser, Integer>{ | ||
| 10 | 13 | ||
| 11 | SysUser findByUserName(String userName); | 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,7 +62,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 62 | 62 | ||
| 63 | List<ScheduleRealInfo> exportWaybill(String jName,String clZbh,String lpName); | 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 | List<Object[]> historyMessage(String line,String date,String code); | 67 | List<Object[]> historyMessage(String line,String date,String code); |
| 68 | 68 | ||
| @@ -95,4 +95,8 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | @@ -95,4 +95,8 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 95 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName); | 95 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName); |
| 96 | 96 | ||
| 97 | Map<String, Object> removeChildTask(Long taskId); | 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,7 +42,9 @@ import com.bsth.service.SectionRouteService; | ||
| 42 | import com.bsth.service.impl.BaseServiceImpl; | 42 | import com.bsth.service.impl.BaseServiceImpl; |
| 43 | import com.bsth.service.realcontrol.ScheduleRealInfoService; | 43 | import com.bsth.service.realcontrol.ScheduleRealInfoService; |
| 44 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; | 44 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; |
| 45 | +import com.bsth.util.ReportRelatedUtils; | ||
| 45 | import com.bsth.util.ReportUtils; | 46 | import com.bsth.util.ReportUtils; |
| 47 | +import com.bsth.util.TimeUtils; | ||
| 46 | import com.bsth.util.TransGPS; | 48 | import com.bsth.util.TransGPS; |
| 47 | import com.bsth.util.TransGPS.Location; | 49 | import com.bsth.util.TransGPS.Location; |
| 48 | import com.bsth.vehicle.BorrowCenter; | 50 | import com.bsth.vehicle.BorrowCenter; |
| @@ -87,7 +89,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -87,7 +89,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 87 | Logger logger = LoggerFactory.getLogger(this.getClass()); | 89 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 88 | 90 | ||
| 89 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | 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 | @Override | 95 | @Override |
| 93 | public Map<String, Collection<ScheduleRealInfo>> findByLines(String lines) { | 96 | public Map<String, Collection<ScheduleRealInfo>> findByLines(String lines) { |
| @@ -426,13 +429,16 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -426,13 +429,16 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 426 | public List<ScheduleRealInfo> queryUserInfo(String line, String date) { | 429 | public List<ScheduleRealInfo> queryUserInfo(String line, String date) { |
| 427 | return scheduleRealInfoRepository.queryUserInfo(line, date); | 430 | return scheduleRealInfoRepository.queryUserInfo(line, date); |
| 428 | } | 431 | } |
| 429 | - | 432 | + /** |
| 433 | + * | ||
| 434 | + */ | ||
| 430 | @Override | 435 | @Override |
| 431 | public List<ScheduleRealInfo> exportWaybill(String jName, String clZbh, String lpName) { | 436 | public List<ScheduleRealInfo> exportWaybill(String jName, String clZbh, String lpName) { |
| 432 | ReportUtils ee = new ReportUtils(); | 437 | ReportUtils ee = new ReportUtils(); |
| 438 | + ReportRelatedUtils rru = new ReportRelatedUtils(); | ||
| 433 | List<Iterator<?>> list = new ArrayList<Iterator<?>>(); | 439 | List<Iterator<?>> list = new ArrayList<Iterator<?>>(); |
| 434 | List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.exportWaybill(jName, clZbh, lpName); | 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 | DecimalFormat format = new DecimalFormat("0.00"); | 443 | DecimalFormat format = new DecimalFormat("0.00"); |
| 438 | int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | 444 | int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); |
| @@ -440,7 +446,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -440,7 +446,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 440 | int jhbc = 0; | 446 | int jhbc = 0; |
| 441 | double jhlc = 0; | 447 | double jhlc = 0; |
| 442 | float realMileage = 0l,addMileage = 0l,remMileage = 0l; | 448 | float realMileage = 0l,addMileage = 0l,remMileage = 0l; |
| 443 | - Map<String,Object> map = new HashMap<String, Object>(); | 449 | + |
| 450 | + Map<String,Object> map; | ||
| 444 | for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){ | 451 | for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){ |
| 445 | if(scheduleRealInfo != null){ | 452 | if(scheduleRealInfo != null){ |
| 446 | jhlc += scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | 453 | jhlc += scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); |
| @@ -448,8 +455,34 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -448,8 +455,34 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 448 | addMileage += scheduleRealInfo.getAddMileage()==null?0:scheduleRealInfo.getAddMileage(); | 455 | addMileage += scheduleRealInfo.getAddMileage()==null?0:scheduleRealInfo.getAddMileage(); |
| 449 | remMileage += scheduleRealInfo.getRemMileage()==null?0:scheduleRealInfo.getRemMileage(); | 456 | remMileage += scheduleRealInfo.getRemMileage()==null?0:scheduleRealInfo.getRemMileage(); |
| 450 | jhbc++; | 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 | map.put("jhlc", format.format(jhlc)); | 486 | map.put("jhlc", format.format(jhlc)); |
| 454 | map.put("remMileage", format.format(remMileage)); | 487 | map.put("remMileage", format.format(remMileage)); |
| 455 | map.put("addMileage", format.format(addMileage)); | 488 | map.put("addMileage", format.format(addMileage)); |
| @@ -463,19 +496,50 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -463,19 +496,50 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 463 | 496 | ||
| 464 | String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\"; | 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 | path+"export\\" + jName + ".xls"); | 501 | path+"export\\" + jName + ".xls"); |
| 469 | return scheduleRealInfos; | 502 | return scheduleRealInfos; |
| 470 | } | 503 | } |
| 471 | 504 | ||
| 472 | @Override | 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 | DecimalFormat format = new DecimalFormat("0.00"); | 507 | DecimalFormat format = new DecimalFormat("0.00"); |
| 508 | + ReportUtils ee = new ReportUtils(); | ||
| 509 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 475 | List<Map<String, Object>> list = scheduleRealInfoRepository.dailyInfo(line, date); | 510 | List<Map<String, Object>> list = scheduleRealInfoRepository.dailyInfo(line, date); |
| 511 | + | ||
| 512 | + double totalZGL = 0,totalKSGL=0,totalYH=0; | ||
| 513 | + int totalBCS=0; | ||
| 476 | for(int i = 0;i < list.size();i++){ | 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 | return list; | 544 | return list; |
| 481 | } | 545 | } |
| @@ -907,9 +971,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -907,9 +971,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 907 | map.put("jhlc", format.format(jhlc)); | 971 | map.put("jhlc", format.format(jhlc)); |
| 908 | map.put("remMileage", format.format(remMileage)); | 972 | map.put("remMileage", format.format(remMileage)); |
| 909 | map.put("addMileage", format.format(addMileage)); | 973 | map.put("addMileage", format.format(addMileage)); |
| 910 | - map.put("yygl", format.format(realMileage-addMileage)); | 974 | + map.put("yygl", format.format(jhlc)); |
| 911 | map.put("ksgl", format.format(realMileage-addMileage)); | 975 | map.put("ksgl", format.format(realMileage-addMileage)); |
| 912 | - map.put("realMileage", format.format(realMileage)); | 976 | + map.put("realMileage", format.format(jhlc)); |
| 913 | map.put("jhbc", jhbc); | 977 | map.put("jhbc", jhbc); |
| 914 | map.put("cjbc", cjbc); | 978 | map.put("cjbc", cjbc); |
| 915 | map.put("ljbc", ljbc); | 979 | map.put("ljbc", ljbc); |
| @@ -967,4 +1031,40 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -967,4 +1031,40 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 967 | } | 1031 | } |
| 968 | return rs; | 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
| @@ -6,4 +6,8 @@ import com.bsth.service.BaseService; | @@ -6,4 +6,8 @@ import com.bsth.service.BaseService; | ||
| 6 | public interface SysUserService extends BaseService<SysUser, Integer>{ | 6 | public interface SysUserService extends BaseService<SysUser, Integer>{ |
| 7 | 7 | ||
| 8 | SysUser findByUserName(String name); | 8 | SysUser findByUserName(String name); |
| 9 | + | ||
| 10 | + int changeEnabled(int id,int enabled); | ||
| 11 | + | ||
| 12 | + int changePWD(int id,String newPWD); | ||
| 9 | } | 13 | } |
src/main/java/com/bsth/service/sys/impl/SysUserServiceImpl.java
| 1 | package com.bsth.service.sys.impl; | 1 | package com.bsth.service.sys.impl; |
| 2 | 2 | ||
| 3 | +import java.util.Map; | ||
| 4 | + | ||
| 3 | import org.springframework.beans.factory.annotation.Autowired; | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 6 | +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | ||
| 4 | import org.springframework.stereotype.Service; | 7 | import org.springframework.stereotype.Service; |
| 5 | 8 | ||
| 6 | import com.bsth.entity.sys.SysUser; | 9 | import com.bsth.entity.sys.SysUser; |
| @@ -18,4 +21,22 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUser, Integer> implem | @@ -18,4 +21,22 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUser, Integer> implem | ||
| 18 | public SysUser findByUserName(String name) { | 21 | public SysUser findByUserName(String name) { |
| 19 | return sysUserRepository.findByUserName(name); | 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 | package com.bsth.util; | 1 | package com.bsth.util; |
| 2 | 2 | ||
| 3 | +import java.lang.reflect.Field; | ||
| 3 | import java.lang.reflect.InvocationTargetException; | 4 | import java.lang.reflect.InvocationTargetException; |
| 4 | import java.lang.reflect.Method; | 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 | import com.bsth.entity.Line; | 11 | import com.bsth.entity.Line; |
| 7 | 12 | ||
| @@ -52,6 +57,42 @@ public class ReportRelatedUtils { | @@ -52,6 +57,42 @@ public class ReportRelatedUtils { | ||
| 52 | } | 57 | } |
| 53 | return value; | 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,6 +279,9 @@ public class ReportUtils { | ||
| 279 | } | 279 | } |
| 280 | } else if (obj.getClass().getName().equals(classWholeName)) { | 280 | } else if (obj.getClass().getName().equals(classWholeName)) { |
| 281 | cellValue = cellValue.replace("$" + tmpKey + "$",getKeyValue(obj, fieldName) + ""); | 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
| @@ -57,4 +57,4 @@ public class DirectiveReply { | @@ -57,4 +57,4 @@ public class DirectiveReply { | ||
| 57 | public void setStatus(Integer status) { | 57 | public void setStatus(Integer status) { |
| 58 | this.status = status; | 58 | this.status = status; |
| 59 | } | 59 | } |
| 60 | -} | 60 | +} |
| 61 | \ No newline at end of file | 61 | \ No newline at end of file |
src/main/resources/application-dev.properties
| @@ -26,6 +26,6 @@ spring.datasource.validation-query=select 1 | @@ -26,6 +26,6 @@ spring.datasource.validation-query=select 1 | ||
| 26 | ## | 26 | ## |
| 27 | #222.66.0.204:5555 | 27 | #222.66.0.204:5555 |
| 28 | ##\u5B9E\u65F6gps | 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 | ##\u6D88\u606F\u4E0B\u53D1 | 30 | ##\u6D88\u606F\u4E0B\u53D1 |
| 31 | http.send.directive = http://192.168.168.192:8080/transport_server/message/ | 31 | http.send.directive = http://192.168.168.192:8080/transport_server/message/ |
| 32 | \ No newline at end of file | 32 | \ No newline at end of file |
src/main/resources/datatools/ktrs/carsConfigDataInput.ktr
| @@ -85,11 +85,11 @@ | @@ -85,11 +85,11 @@ | ||
| 85 | </info> | 85 | </info> |
| 86 | <notepads> | 86 | <notepads> |
| 87 | <notepad> | 87 | <notepad> |
| 88 | - <note>配车分当前/历史/计划,历史配车有终止时间,然后是否切换基本都是1
是否切换 暂时不知道什么意思,当前配车都设置为0
终止时间 当前配车没有终止时间,这个估计要作为查询条件的
早班时间 没有暂时空着
末班时间 没有暂时空着</note> | 88 | + <note>配车分当前/历史/计划,历史配车有终止时间,然后是否切换基本都是1
是否切换 暂时不知道什么意思,当前配车都设置为0
终止时间 当前配车没有终止时间,这个估计要作为查询条件的
早班时间 没有暂时空着
末班时间 没有暂时空着
</note> |
| 89 | <xloc>260</xloc> | 89 | <xloc>260</xloc> |
| 90 | <yloc>124</yloc> | 90 | <yloc>124</yloc> |
| 91 | <width>391</width> | 91 | <width>391</width> |
| 92 | - <heigth>90</heigth> | 92 | + <heigth>106</heigth> |
| 93 | <fontname>YaHei Consolas Hybrid</fontname> | 93 | <fontname>YaHei Consolas Hybrid</fontname> |
| 94 | <fontsize>12</fontsize> | 94 | <fontsize>12</fontsize> |
| 95 | <fontbold>N</fontbold> | 95 | <fontbold>N</fontbold> |
| @@ -111,7 +111,7 @@ | @@ -111,7 +111,7 @@ | ||
| 111 | <server>${v_db_ip}</server> | 111 | <server>${v_db_ip}</server> |
| 112 | <type>MYSQL</type> | 112 | <type>MYSQL</type> |
| 113 | <access>Native</access> | 113 | <access>Native</access> |
| 114 | - <database>control</database> | 114 | + <database>${v_db_dname}</database> |
| 115 | <port>3306</port> | 115 | <port>3306</port> |
| 116 | <username>${v_db_uname}</username> | 116 | <username>${v_db_uname}</username> |
| 117 | <password>${v_db_pwd}</password> | 117 | <password>${v_db_pwd}</password> |
| @@ -329,7 +329,7 @@ | @@ -329,7 +329,7 @@ | ||
| 329 | <precision>-1</precision> | 329 | <precision>-1</precision> |
| 330 | <trim_type>none</trim_type> | 330 | <trim_type>none</trim_type> |
| 331 | <repeat>N</repeat> | 331 | <repeat>N</repeat> |
| 332 | - <format/> | 332 | + <format>#</format> |
| 333 | <currency/> | 333 | <currency/> |
| 334 | <decimal/> | 334 | <decimal/> |
| 335 | <group/> | 335 | <group/> |
| @@ -513,6 +513,41 @@ | @@ -513,6 +513,41 @@ | ||
| 513 | </step> | 513 | </step> |
| 514 | 514 | ||
| 515 | <step> | 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 | <name>是否切换</name> | 551 | <name>是否切换</name> |
| 517 | <type>Constant</type> | 552 | <type>Constant</type> |
| 518 | <description/> | 553 | <description/> |
| @@ -801,41 +836,6 @@ | @@ -801,41 +836,6 @@ | ||
| 801 | </GUI> | 836 | </GUI> |
| 802 | </step> | 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 | <step_error_handling> | 839 | <step_error_handling> |
| 840 | <error> | 840 | <error> |
| 841 | <source_step>插入/更新bsth_c_s_ccinfo</source_step> | 841 | <source_step>插入/更新bsth_c_s_ccinfo</source_step> |
src/main/resources/datatools/ktrs/carsDataInput.ktr
| @@ -85,11 +85,11 @@ | @@ -85,11 +85,11 @@ | ||
| 85 | </info> | 85 | </info> |
| 86 | <notepads> | 86 | <notepads> |
| 87 | <notepad> | 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 | <xloc>45</xloc> | 89 | <xloc>45</xloc> |
| 90 | <yloc>254</yloc> | 90 | <yloc>254</yloc> |
| 91 | <width>346</width> | 91 | <width>346</width> |
| 92 | - <heigth>714</heigth> | 92 | + <heigth>730</heigth> |
| 93 | <fontname>YaHei Consolas Hybrid</fontname> | 93 | <fontname>YaHei Consolas Hybrid</fontname> |
| 94 | <fontsize>12</fontsize> | 94 | <fontsize>12</fontsize> |
| 95 | <fontbold>N</fontbold> | 95 | <fontbold>N</fontbold> |
src/main/resources/datatools/ktrs/carsDataOutput.ktr
| @@ -1357,8 +1357,8 @@ | @@ -1357,8 +1357,8 @@ | ||
| 1357 | </fields> | 1357 | </fields> |
| 1358 | <cluster_schema/> | 1358 | <cluster_schema/> |
| 1359 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1362 | <draw>Y</draw> |
| 1363 | </GUI> | 1363 | </GUI> |
| 1364 | </step> | 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> |