Commit 98fe281e84c3ec101999de09265344c378305fde
Merge branch 'master' of git@192.168.168.201:panzhaov5/bsth_control.git
Showing
36 changed files
with
1995 additions
and
1571 deletions
Too many changes to show.
To preserve performance only 36 of 64 files are displayed.
hs_err_pid6460.log
0 → 100644
| 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/StartCommand.java
| ... | ... | @@ -133,22 +133,26 @@ public class StartCommand implements CommandLineRunner{ |
| 133 | 133 | */ |
| 134 | 134 | scheduler.scheduleWithFixedDelay(firstScheduleIssuedThread, 60 , 60 * 2, TimeUnit.SECONDS); |
| 135 | 135 | |
| 136 | - //延迟一会 | |
| 136 | + | |
| 137 | 137 | /* new Timer().schedule(new TimerTask() { |
| 138 | 138 | |
| 139 | 139 | @Override |
| 140 | 140 | public void run() { |
| 141 | - //临时全量刷车辆线路 | |
| 142 | 141 | List<CarConfigInfo> ccis = carConfigInfoRepository.findAll(); |
| 143 | 142 | Cars car; |
| 144 | 143 | Line line; |
| 145 | 144 | String lineCode; |
| 146 | - int code; | |
| 145 | + System.out.println("ccis size: " + ccis.size()); | |
| 147 | 146 | for(CarConfigInfo cci : ccis){ |
| 148 | 147 | car = cci.getCl(); |
| 149 | 148 | line = cci.getXl(); |
| 150 | 149 | lineCode = line.getLineCode(); |
| 151 | - System.out.println("车辆:" + car.getInsideCode() + "切换线路:" + line.getLineCode()); | |
| 150 | + | |
| 151 | + String data = directiveService.createDeviceRefreshData(CommonMapped.vehicDeviceBiMap.inverse().get(car.getInsideCode()) | |
| 152 | + , Integer.parseInt(lineCode)); | |
| 153 | + System.out.println(data); | |
| 154 | + int code = HttpUtils.postJson(data); | |
| 155 | + System.out.println("车辆:" + car.getInsideCode() + "刷新线路:" + line.getLineCode()); | |
| 152 | 156 | code = directiveService.lineChange(car.getInsideCode(), Integer.parseInt(lineCode)); |
| 153 | 157 | //directiveService.send60Phrase(car.getInsideCode(), ""); |
| 154 | 158 | System.out.println("返回值:" + code); | ... | ... |
src/main/java/com/bsth/Test.java
0 → 100644
| 1 | +//package com.bsth; | |
| 2 | +// | |
| 3 | +//import java.io.ByteArrayOutputStream; | |
| 4 | +//import java.io.IOException; | |
| 5 | +//import java.io.InputStream; | |
| 6 | +//import java.io.OutputStream; | |
| 7 | +//import java.net.HttpURLConnection; | |
| 8 | +//import java.net.URL; | |
| 9 | +//import java.util.HashMap; | |
| 10 | +//import java.util.Map; | |
| 11 | +// | |
| 12 | +//import org.apache.commons.io.IOUtils; | |
| 13 | +// | |
| 14 | +//import com.fasterxml.jackson.databind.ObjectMapper; | |
| 15 | +// | |
| 16 | +//public class Test { | |
| 17 | +// | |
| 18 | +// public static void main(String[] args) { | |
| 19 | +// Map<String, Object> map = new HashMap<>(); | |
| 20 | +// map.put("timestamp", 1469764939000L); | |
| 21 | +// map.put("operCode", 128); | |
| 22 | +// map.put("deviceId", "66ML0007"); | |
| 23 | +// | |
| 24 | +// Map<String , Object> dataMap = new HashMap<>(); | |
| 25 | +// dataMap.put("requestCode", 161); | |
| 26 | +// dataMap.put("lineId", 1025); | |
| 27 | +// dataMap.put("operCode2", 38); | |
| 28 | +// | |
| 29 | +// map.put("data", dataMap); | |
| 30 | +// request(map, "http://192.168.168.171:9088/control/upstream"); | |
| 31 | +// | |
| 32 | +// } | |
| 33 | +// | |
| 34 | +// private static Map<String, Object> request(Map<String, Object> map, String url) { | |
| 35 | +// InputStream in = null; | |
| 36 | +// OutputStream out = null; | |
| 37 | +// HttpURLConnection con = null; | |
| 38 | +// try { | |
| 39 | +// con = (HttpURLConnection)new URL(url).openConnection(); | |
| 40 | +// con.setRequestMethod("POST"); | |
| 41 | +// con.setRequestProperty("keep-alive", "true"); | |
| 42 | +// con.setRequestProperty("accept", "*/*"); | |
| 43 | +// con.setDoInput(true); | |
| 44 | +// con.setDoOutput(true); | |
| 45 | +// con.setReadTimeout(2500); | |
| 46 | +// con.setConnectTimeout(2500); | |
| 47 | +// out = con.getOutputStream(); | |
| 48 | +// out.write("json=".getBytes()); | |
| 49 | +// out.write(new ObjectMapper().writeValueAsBytes(map)); | |
| 50 | +// out.flush(); | |
| 51 | +// System.out.println("con.getResponseCode(): " + con.getResponseCode()); | |
| 52 | +// if (con.getResponseCode() == 200) { | |
| 53 | +// in = con.getInputStream(); | |
| 54 | +// ByteArrayOutputStream bout = new ByteArrayOutputStream(); | |
| 55 | +// IOUtils.copy(in, bout); bout.close(); | |
| 56 | +// System.out.println("Message:" + new String(bout.toByteArray())); | |
| 57 | +// return new ObjectMapper().readValue(bout.toByteArray(), Map.class); | |
| 58 | +// } | |
| 59 | +// } catch (IOException e) { | |
| 60 | +// e.printStackTrace(); | |
| 61 | +// } finally { | |
| 62 | +// con.disconnect(); | |
| 63 | +// try { | |
| 64 | +// if (in != null) in.close(); | |
| 65 | +// if (out != null) out.close(); | |
| 66 | +// } catch (IOException e) { | |
| 67 | +// e.printStackTrace(); | |
| 68 | +// } | |
| 69 | +// } | |
| 70 | +// return null; | |
| 71 | +// } | |
| 72 | +//} | ... | ... |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -255,8 +255,8 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 255 | 255 | * @throws |
| 256 | 256 | */ |
| 257 | 257 | @RequestMapping(value = "/findRouteByLine") |
| 258 | - public Map<String, Object> findRouteByLine(@RequestParam Integer lineId){ | |
| 259 | - return scheduleRealInfoService.findRouteByLine(lineId); | |
| 258 | + public Map<String, Object> findRouteByLine(@RequestParam Integer lineCode){ | |
| 259 | + return scheduleRealInfoService.findRouteByLine(lineCode); | |
| 260 | 260 | } |
| 261 | 261 | |
| 262 | 262 | @RequestMapping(value = "/test/getSch") |
| ... | ... | @@ -264,6 +264,18 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 264 | 264 | getSchedulePlanThread.start(); |
| 265 | 265 | return 1; |
| 266 | 266 | } |
| 267 | + | |
| 268 | + /** | |
| 269 | + * | |
| 270 | + * @Title: removeChildTask | |
| 271 | + * @Description: TODO(删除子任务) | |
| 272 | + * @param @param taskId 子任务ID | |
| 273 | + * @throws | |
| 274 | + */ | |
| 275 | + @RequestMapping(value = "/childTask/{taskId}", method = RequestMethod.DELETE) | |
| 276 | + public Map<String, Object> removeChildTask(@PathVariable("taskId") Long taskId){ | |
| 277 | + return scheduleRealInfoService.removeChildTask(taskId); | |
| 278 | + } | |
| 267 | 279 | |
| 268 | 280 | /** |
| 269 | 281 | * | ... | ... |
src/main/java/com/bsth/controller/schedule/TTInfoController.java
| ... | ... | @@ -7,6 +7,7 @@ import com.bsth.repository.schedule.TTInfoRepository; |
| 7 | 7 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 8 | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 9 | 9 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 10 | +import org.springframework.data.domain.Page; | |
| 10 | 11 | import org.springframework.web.bind.annotation.*; |
| 11 | 12 | |
| 12 | 13 | import java.util.Map; |
| ... | ... | @@ -59,4 +60,13 @@ public class TTInfoController extends BaseController<TTInfo, Long> { |
| 59 | 60 | // 一般比较自编号是否重复 |
| 60 | 61 | return baseService.validateEquale(map); |
| 61 | 62 | } |
| 63 | + | |
| 64 | + @Override | |
| 65 | + public Page<TTInfo> list(@RequestParam Map<String, Object> map, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size, @RequestParam(defaultValue = "id") String order, @RequestParam(defaultValue = "DESC") String direction) { | |
| 66 | + // 如果有isCancel键值,将其值变成boolean | |
| 67 | + if (map.get("isCancel_eq") != null) | |
| 68 | + map.put("isCancel_eq", new Boolean(map.get("isCancel_eq").toString())); | |
| 69 | + | |
| 70 | + return super.list(map, page, size, order, direction); | |
| 71 | + } | |
| 62 | 72 | } | ... | ... |
src/main/java/com/bsth/entity/realcontrol/ChildTaskPlan.java
| ... | ... | @@ -223,5 +223,14 @@ public class ChildTaskPlan { |
| 223 | 223 | public void setEndStationName(String endStationName) { |
| 224 | 224 | this.endStationName = endStationName; |
| 225 | 225 | } |
| 226 | - | |
| 226 | + | |
| 227 | + @Override | |
| 228 | + public int hashCode() { | |
| 229 | + return ("" + this.getId() + this.getSchedule().getId()).hashCode(); | |
| 230 | + } | |
| 231 | + | |
| 232 | + @Override | |
| 233 | + public boolean equals(Object obj) { | |
| 234 | + return this.id.equals(((ChildTaskPlan)obj).getId()); | |
| 235 | + } | |
| 227 | 236 | } | ... | ... |
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
| ... | ... | @@ -183,7 +183,7 @@ public class ScheduleRealInfo { |
| 183 | 183 | private String qdzArrDatesj; |
| 184 | 184 | |
| 185 | 185 | /** 子任务 */ |
| 186 | - @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) | |
| 186 | + @OneToMany(fetch = FetchType.LAZY/*, cascade = CascadeType.ALL*/) | |
| 187 | 187 | private Set<ChildTaskPlan> cTasks = new HashSet<>(); |
| 188 | 188 | |
| 189 | 189 | /** ---------------- */ | ... | ... |
src/main/java/com/bsth/entity/schedule/TTInfo.java
| ... | ... | @@ -41,6 +41,9 @@ public class TTInfo { |
| 41 | 41 | /** 是否启用调度模版 */ |
| 42 | 42 | @Column(nullable = false) |
| 43 | 43 | private Boolean isEnableDisTemplate; |
| 44 | + /** 是否删除(标记) */ | |
| 45 | + @Column(nullable = false) | |
| 46 | + private Boolean isCancel = false; | |
| 44 | 47 | |
| 45 | 48 | /** 模版类型(TODO:时刻表,间隔式,这个以后用枚举还是字典再议,现在先用文字) */ |
| 46 | 49 | private String templateType; |
| ... | ... | @@ -193,4 +196,11 @@ public class TTInfo { |
| 193 | 196 | this.updateDate = updateDate; |
| 194 | 197 | } |
| 195 | 198 | |
| 199 | + public Boolean getIsCancel() { | |
| 200 | + return isCancel; | |
| 201 | + } | |
| 202 | + | |
| 203 | + public void setIsCancel(Boolean isCancel) { | |
| 204 | + this.isCancel = isCancel; | |
| 205 | + } | |
| 196 | 206 | } | ... | ... |
src/main/java/com/bsth/filter/AccessLogFilter.java
| ... | ... | @@ -38,7 +38,7 @@ public class AccessLogFilter extends BaseFilter { |
| 38 | 38 | HttpServletResponse response, FilterChain chain) |
| 39 | 39 | throws IOException, ServletException { |
| 40 | 40 | |
| 41 | - String username = SecurityUtils.getCurrentUser().getName(); //等集成shiro之后再取 | |
| 41 | + String username = /*SecurityUtils.getCurrentUser().getName()*/"test"; //等集成shiro之后再取 | |
| 42 | 42 | String jsessionId = request.getRequestedSessionId(); |
| 43 | 43 | String ip = IpUtils.getIpAddr(request); |
| 44 | 44 | String userAgent = request.getHeader("User-Agent"); | ... | ... |
src/main/java/com/bsth/repository/schedule/SchedulePlanInfoRepository.java
| ... | ... | @@ -21,4 +21,6 @@ public interface SchedulePlanInfoRepository extends BaseRepository<SchedulePlanI |
| 21 | 21 | @Query(value = "select s from SchedulePlanInfo s where scheduleDate=?1") |
| 22 | 22 | List<SchedulePlanInfo> findByDate(Date date); |
| 23 | 23 | |
| 24 | + Long deleteByXlAndScheduleDateGreaterThanEqualAndScheduleDateLessThanEqual(Integer xlid, Date startDate, Date endDate); | |
| 25 | + | |
| 24 | 26 | } | ... | ... |
src/main/java/com/bsth/repository/schedule/TTInfoDetailRepository.java
| ... | ... | @@ -32,7 +32,7 @@ public interface TTInfoDetailRepository extends BaseRepository<TTInfoDetail, Lon |
| 32 | 32 | |
| 33 | 33 | void deleteByTtinfoId(Long ttid); |
| 34 | 34 | |
| 35 | - @Query(value = "select max(tt.fcno) from TTInfoDetail tt where tt.xl.id =?1 and tt.ttinfo.id =?2") | |
| 35 | + @Query(value = "select max(tt.fcno) as mx from bsth_c_s_ttinfo_detail tt where tt.xl =?1 and tt.ttinfo =?2", nativeQuery = true) | |
| 36 | 36 | Long findMaxFcno(Integer xlid, Long ttinfoid); |
| 37 | 37 | |
| 38 | 38 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| ... | ... | @@ -80,7 +80,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 80 | 80 | |
| 81 | 81 | Map<String, Object> outgoAdjustAll(String params); |
| 82 | 82 | |
| 83 | - Map<String, Object> findRouteByLine(Integer lineId); | |
| 83 | + Map<String, Object> findRouteByLine(Integer lineCode); | |
| 84 | 84 | |
| 85 | 85 | List<Map<String,String>> findLine(String line); |
| 86 | 86 | |
| ... | ... | @@ -93,4 +93,6 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 93 | 93 | List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code); |
| 94 | 94 | |
| 95 | 95 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName); |
| 96 | + | |
| 97 | + Map<String, Object> removeChildTask(Long taskId); | |
| 96 | 98 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ChildTaskPlanServiceImpl.java
| ... | ... | @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; |
| 9 | 9 | |
| 10 | 10 | import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 11 | 11 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 12 | +import com.bsth.repository.realcontrol.ChildTaskPlanRepository; | |
| 12 | 13 | import com.bsth.service.impl.BaseServiceImpl; |
| 13 | 14 | import com.bsth.service.realcontrol.ChildTaskPlanService; |
| 14 | 15 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; |
| ... | ... | @@ -17,8 +18,11 @@ import com.bsth.vehicle.common.CommonMapped; |
| 17 | 18 | @Service |
| 18 | 19 | public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Long> implements ChildTaskPlanService{ |
| 19 | 20 | |
| 21 | + /*@Autowired | |
| 22 | + ScheduleRealInfoServiceImpl scheduleRealInfoService;*/ | |
| 23 | + | |
| 20 | 24 | @Autowired |
| 21 | - ScheduleRealInfoServiceImpl scheduleRealInfoService; | |
| 25 | + ChildTaskPlanRepository childTaskPlanRepository; | |
| 22 | 26 | |
| 23 | 27 | @Transactional |
| 24 | 28 | @Override |
| ... | ... | @@ -29,14 +33,28 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 29 | 33 | |
| 30 | 34 | t.setStartStationName(map.get(t.getStartStation())); |
| 31 | 35 | t.setEndStationName(map.get(t.getEndStation())); |
| 32 | - | |
| 33 | - //rs = super.save(t); | |
| 34 | - | |
| 36 | + //先持久化子任务 | |
| 37 | + rs = super.save(t); | |
| 38 | + //再关联主任务 | |
| 35 | 39 | ScheduleRealInfo sch = ScheduleBuffer.findOne(t.getSchedule().getId()); |
| 36 | 40 | sch.getcTasks().add(t); |
| 37 | - rs = scheduleRealInfoService.save(sch); | |
| 41 | + //rs = scheduleRealInfoService.save(sch); | |
| 38 | 42 | |
| 43 | + rs.put("t", sch); | |
| 44 | + return rs; | |
| 45 | + } | |
| 46 | + | |
| 47 | + @Override | |
| 48 | + public Map<String, Object> delete(Long id) { | |
| 49 | + Map<String, Object> rs; | |
| 50 | + | |
| 51 | + ChildTaskPlan cPlan = childTaskPlanRepository.findOne(id); | |
| 52 | + //解除和主任务关联 | |
| 53 | + ScheduleRealInfo sch = ScheduleBuffer.findOne(cPlan.getSchedule().getId()); | |
| 54 | + sch.getcTasks().remove(cPlan); | |
| 55 | + //删除子任务 | |
| 56 | + rs = super.delete(id); | |
| 57 | + rs.put("t", sch); | |
| 39 | 58 | return rs; |
| 40 | 59 | } |
| 41 | - | |
| 42 | 60 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -25,12 +25,14 @@ import com.bsth.common.ResponseCode; |
| 25 | 25 | import com.bsth.entity.Cars; |
| 26 | 26 | import com.bsth.entity.Line; |
| 27 | 27 | import com.bsth.entity.Personnel; |
| 28 | +import com.bsth.entity.realcontrol.ChildTaskPlan; | |
| 28 | 29 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 29 | 30 | import com.bsth.entity.schedule.CarConfigInfo; |
| 30 | 31 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 31 | 32 | import com.bsth.entity.schedule.GuideboardInfo; |
| 32 | 33 | import com.bsth.entity.sys.SysUser; |
| 33 | 34 | import com.bsth.repository.LineRepository; |
| 35 | +import com.bsth.repository.realcontrol.ChildTaskPlanRepository; | |
| 34 | 36 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 35 | 37 | import com.bsth.repository.schedule.CarConfigInfoRepository; |
| 36 | 38 | import com.bsth.repository.schedule.EmployeeConfigInfoRepository; |
| ... | ... | @@ -74,6 +76,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 74 | 76 | |
| 75 | 77 | @Autowired |
| 76 | 78 | GuideboardInfoRepository guideboardInfoRepository; |
| 79 | + | |
| 80 | + @Autowired | |
| 81 | + ChildTaskPlanRepository cTaskPlanRepository; | |
| 77 | 82 | |
| 78 | 83 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 79 | 84 | |
| ... | ... | @@ -757,9 +762,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 757 | 762 | } |
| 758 | 763 | |
| 759 | 764 | @Override |
| 760 | - public Map<String, Object> findRouteByLine(Integer lineId) { | |
| 765 | + public Map<String, Object> findRouteByLine(Integer lineCode) { | |
| 761 | 766 | Map<String, Object> map = new HashMap<>(); |
| 762 | 767 | //上行 |
| 768 | + Integer lineId = CommonMapped.lineIdToCode.inverse().get(lineCode); | |
| 763 | 769 | map.put("line.id_eq", lineId); |
| 764 | 770 | map.put("directions_eq", 0); |
| 765 | 771 | List<Map<String, Object>> upList = sectionRouteService.getSectionRoute(map); |
| ... | ... | @@ -923,4 +929,22 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 923 | 929 | String lpName) { |
| 924 | 930 | return scheduleRealInfoRepository.queryListWaybill(jName,clZbh,lpName); |
| 925 | 931 | } |
| 932 | + | |
| 933 | + @Override | |
| 934 | + public Map<String, Object> removeChildTask(Long taskId) { | |
| 935 | + Map<String, Object> rs = new HashMap<>(); | |
| 936 | + ChildTaskPlan chTask = cTaskPlanRepository.findOne(taskId); | |
| 937 | + | |
| 938 | + ScheduleRealInfo sch = ScheduleBuffer.findOne(chTask.getSchedule().getId()); | |
| 939 | + try { | |
| 940 | + | |
| 941 | + sch.getcTasks().remove(chTask); | |
| 942 | + scheduleRealInfoRepository.save(sch); | |
| 943 | + rs.put("status", ResponseCode.SUCCESS); | |
| 944 | + } catch (Exception e) { | |
| 945 | + logger.error("", e); | |
| 946 | + rs.put("status", ResponseCode.ERROR); | |
| 947 | + } | |
| 948 | + return rs; | |
| 949 | + } | |
| 926 | 950 | } | ... | ... |
src/main/java/com/bsth/service/schedule/SchedulePlanServiceImpl.java
| ... | ... | @@ -3,6 +3,7 @@ package com.bsth.service.schedule; |
| 3 | 3 | import com.bsth.entity.Line; |
| 4 | 4 | import com.bsth.entity.schedule.*; |
| 5 | 5 | import com.bsth.entity.schedule.rule.ScheduleRule1Flat; |
| 6 | +import com.bsth.repository.schedule.SchedulePlanInfoRepository; | |
| 6 | 7 | import com.bsth.repository.schedule.SchedulePlanRepository; |
| 7 | 8 | import com.bsth.service.LineService; |
| 8 | 9 | import com.bsth.service.impl.BaseServiceImpl; |
| ... | ... | @@ -37,20 +38,15 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> |
| 37 | 38 | private IStrategy strategy; |
| 38 | 39 | @Autowired |
| 39 | 40 | private SchedulePlanRepository schedulePlanRepository; |
| 41 | + @Autowired | |
| 42 | + private SchedulePlanInfoRepository schedulePlanInfoRepository; | |
| 40 | 43 | |
| 41 | 44 | @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) |
| 42 | 45 | @Override |
| 43 | 46 | public Map<String, Object> save(SchedulePlan schedulePlan) { |
| 44 | - // 查询参数 | |
| 45 | - Map<String, Object> param = new HashMap<>(); | |
| 46 | - | |
| 47 | - // 1、查出指定线路的所有规则 | |
| 48 | - Line xl = lineService.findById(schedulePlan.getXl().getId()); // 查找线路具体信息 | |
| 49 | - param.clear(); | |
| 50 | - param.put("xl.id_eq", xl.getId()); | |
| 51 | - Iterable<ScheduleRule1Flat> scheduleRule1FlatIterable = scheduleRule1FlatService.list(param); | |
| 52 | - if (!scheduleRule1FlatIterable.iterator().hasNext()) | |
| 53 | - throw new RuntimeException("线路:" + xl.getName() + " 没有配置规则!"); | |
| 47 | + // 1-1、查找线路具体信息 | |
| 48 | + Line xl = strategy.getLine(schedulePlan.getXl().getId()); | |
| 49 | + // 1-2、查出指定线路的所有规则 | |
| 54 | 50 | TTInfo ttInfo = strategy.getTTInfo(xl.getId()); // 时刻表id |
| 55 | 51 | schedulePlan.setTtInfo(ttInfo); // 关联的时刻表 |
| 56 | 52 | |
| ... | ... | @@ -59,7 +55,7 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> |
| 59 | 55 | ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input(schedulePlan); |
| 60 | 56 | // 每个规则对应的输入参数 |
| 61 | 57 | List<ScheduleRule_input> scheduleRule_inputs = new ArrayList<>(); |
| 62 | - Iterator<ScheduleRule1Flat> scheduleRule1FlatIterator = scheduleRule1FlatIterable.iterator(); | |
| 58 | + Iterator<ScheduleRule1Flat> scheduleRule1FlatIterator = strategy.getScheduleRule(xl.getId()).iterator(); | |
| 63 | 59 | while (scheduleRule1FlatIterator.hasNext()) { |
| 64 | 60 | ScheduleRule1Flat scheduleRule1Flat_temp = scheduleRule1FlatIterator.next(); |
| 65 | 61 | ScheduleRule_input scheduleRule_input = new ScheduleRule_input(scheduleRule1Flat_temp); |
| ... | ... | @@ -86,6 +82,11 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> |
| 86 | 82 | |
| 87 | 83 | System.out.println(scheduleResults_output.showGuideboardDesc1()); |
| 88 | 84 | |
| 85 | + // 2-3、如果排班的数据之前已经有了,删除之前的数据 | |
| 86 | + schedulePlanInfoRepository.deleteByXlAndScheduleDateGreaterThanEqualAndScheduleDateLessThanEqual( | |
| 87 | + xl.getId(), schedulePlan.getScheduleFromTime(), schedulePlan.getScheduleToTime() | |
| 88 | + ); | |
| 89 | + | |
| 89 | 90 | // 3、根据规则返回,组合最后的输出数据 |
| 90 | 91 | // 3-1、根据注入的策略服务,获取原始数据 |
| 91 | 92 | Multimap<Long, TTInfoDetail> gbdTTinfoMaps = strategy.getGuideboardXlTTInfoDetailMaps(xl.getId()); // 路牌对应时刻明细 | ... | ... |
src/main/java/com/bsth/service/schedule/TTInfoDetailServiceImpl.java
| ... | ... | @@ -9,7 +9,6 @@ import jxl.Sheet; |
| 9 | 9 | import jxl.Workbook; |
| 10 | 10 | import org.apache.commons.lang3.StringUtils; |
| 11 | 11 | import org.joda.time.DateTime; |
| 12 | -import org.pentaho.di.core.logging.LogLevel; | |
| 13 | 12 | import org.pentaho.di.trans.Trans; |
| 14 | 13 | import org.pentaho.di.trans.TransMeta; |
| 15 | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -45,14 +44,26 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> |
| 45 | 44 | private String fcsj; |
| 46 | 45 | /** 班次类型 */ |
| 47 | 46 | private String bc_type; |
| 47 | + /** 线路上下行 */ | |
| 48 | + private String xldir; | |
| 49 | + /** 是偶分班 */ | |
| 50 | + private Boolean isfb; | |
| 48 | 51 | |
| 49 | 52 | public FcInfo() { |
| 50 | 53 | } |
| 51 | 54 | |
| 52 | - public FcInfo(Long ttdid, String bc_type, String fcsj) { | |
| 53 | - this.ttdid = ttdid; | |
| 55 | + public FcInfo(String ttdid_str, String bc_type, String fcsj, String xldir, String isfb) { | |
| 56 | + this.ttdid = StringUtils.isEmpty(ttdid_str) ? null : Long.valueOf(ttdid_str); | |
| 54 | 57 | this.bc_type = bc_type; |
| 55 | 58 | this.fcsj = fcsj; |
| 59 | + this.xldir = xldir; | |
| 60 | + if ("N".equals(isfb)) | |
| 61 | + this.isfb = false; | |
| 62 | + else if ("Y".equals(isfb)) | |
| 63 | + this.isfb = true; | |
| 64 | + else | |
| 65 | + this.isfb = false; | |
| 66 | + | |
| 56 | 67 | } |
| 57 | 68 | |
| 58 | 69 | public Long getTtdid() { |
| ... | ... | @@ -78,6 +89,22 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> |
| 78 | 89 | public void setBc_type(String bc_type) { |
| 79 | 90 | this.bc_type = bc_type; |
| 80 | 91 | } |
| 92 | + | |
| 93 | + public String getXldir() { | |
| 94 | + return xldir; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public void setXldir(String xldir) { | |
| 98 | + this.xldir = xldir; | |
| 99 | + } | |
| 100 | + | |
| 101 | + public Boolean getIsfb() { | |
| 102 | + return isfb; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public void setIsfb(Boolean isfb) { | |
| 106 | + this.isfb = isfb; | |
| 107 | + } | |
| 81 | 108 | } |
| 82 | 109 | |
| 83 | 110 | /** |
| ... | ... | @@ -119,7 +146,7 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> |
| 119 | 146 | dataToolsProperties.getTtinfodetailForeditktr()).toURI()); |
| 120 | 147 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); |
| 121 | 148 | Trans trans = new Trans(transMeta); |
| 122 | - trans.setLogLevel(LogLevel.DEBUG); | |
| 149 | +// trans.setLogLevel(LogLevel.DEBUG); | |
| 123 | 150 | // 1.2、设定命名参数,TODO:之后还要添加其他命名参数 |
| 124 | 151 | String outputFilePath = "ttinfodetail_" + new DateTime().toString("yyyy-MM-dd_HH-mm-ss"); |
| 125 | 152 | trans.setParameterValue("tempfilepath", dataToolsProperties.getTransTempdir() + File.separator + outputFilePath); // 数据输出文件路径 |
| ... | ... | @@ -152,21 +179,22 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> |
| 152 | 179 | for (int r = 1; r < sheet.getRows(); r++) { |
| 153 | 180 | List<FcInfo> fcInfos = new ArrayList<>(); |
| 154 | 181 | // 每行第一列都是路牌 |
| 155 | - fcInfos.add(new FcInfo(null, null, sheet.getCell(0, r).getContents())); // 用fcsj放置路牌显示 | |
| 156 | - for (int c = 1; c <= maxfcno * 4; ) { | |
| 157 | - Long ttdid = StringUtils.isEmpty(sheet.getCell(c, r).getContents()) ? null : | |
| 158 | - Long.valueOf(sheet.getCell(c, r).getContents()); | |
| 159 | - String fcsj = sheet.getCell(c + 1, r).getContents(); | |
| 160 | - String fzdname = sheet.getCell(c + 2, r).getContents(); | |
| 161 | - String bctype = sheet.getCell(c + 3, r).getContents(); | |
| 162 | - | |
| 163 | - FcInfo fcInfo = new FcInfo(ttdid, bctype, fcsj); | |
| 164 | - | |
| 165 | - if (StringUtils.isNotEmpty(fzdname )) | |
| 166 | - headarrays[(int)(c / 4) + 1] = fzdname; | |
| 182 | + fcInfos.add(new FcInfo(null, null, sheet.getCell(0, r).getContents(), null, null)); // 用fcsj放置路牌显示 | |
| 183 | + for (int c = 1; c <= maxfcno * 6; ) { | |
| 184 | + String ttdid_str = sheet.getCell(c, r).getContents(); // 时刻表明细id | |
| 185 | + String fcsj = sheet.getCell(c + 1, r).getContents(); // 发车时间 | |
| 186 | + String fzdname = sheet.getCell(c + 2, r).getContents(); // 发车站点名称 | |
| 187 | + String bctype = sheet.getCell(c + 3, r).getContents(); // 班次类型 | |
| 188 | + String xldir = sheet.getCell(c + 4, r).getContents(); // 线路上下行 | |
| 189 | + String isfb = sheet.getCell(c + 5, r).getContents(); // 是否分班 | |
| 190 | + | |
| 191 | + FcInfo fcInfo = new FcInfo(ttdid_str, bctype, fcsj, xldir, isfb); | |
| 192 | + | |
| 193 | + if (StringUtils.isNotEmpty(fzdname)) | |
| 194 | + headarrays[(int)(c / 6) + 1] = fzdname; | |
| 167 | 195 | fcInfos.add(fcInfo); |
| 168 | 196 | |
| 169 | - c += 4; | |
| 197 | + c += 6; | |
| 170 | 198 | } |
| 171 | 199 | editInfo.getContents().add(fcInfos); |
| 172 | 200 | } | ... | ... |
src/main/java/com/bsth/service/schedule/TTInfoServiceImpl.java
| 1 | 1 | package com.bsth.service.schedule; |
| 2 | 2 | |
| 3 | +import com.bsth.common.ResponseCode; | |
| 3 | 4 | import com.bsth.entity.schedule.TTInfo; |
| 4 | -import com.bsth.repository.schedule.TTInfoDetailRepository; | |
| 5 | +import com.bsth.repository.schedule.TTInfoRepository; | |
| 5 | 6 | import com.bsth.service.impl.BaseServiceImpl; |
| 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 8 | +import org.springframework.dao.DataIntegrityViolationException; | |
| 7 | 9 | import org.springframework.stereotype.Service; |
| 8 | 10 | |
| 9 | 11 | import javax.transaction.Transactional; |
| 12 | +import java.util.HashMap; | |
| 10 | 13 | import java.util.Map; |
| 11 | 14 | |
| 12 | 15 | /** |
| ... | ... | @@ -16,11 +19,21 @@ import java.util.Map; |
| 16 | 19 | @Transactional |
| 17 | 20 | public class TTInfoServiceImpl extends BaseServiceImpl<TTInfo, Long> implements TTInfoService { |
| 18 | 21 | @Autowired |
| 19 | - private TTInfoDetailRepository ttInfoDetailRepository; | |
| 22 | + private TTInfoRepository ttInfoRepository; | |
| 20 | 23 | |
| 21 | 24 | @Override |
| 22 | 25 | public Map<String, Object> delete(Long aLong) { |
| 23 | - ttInfoDetailRepository.deleteByTtinfoId(aLong); | |
| 24 | - return super.delete(aLong); | |
| 26 | + TTInfo ttInfo = ttInfoRepository.findOne(aLong); | |
| 27 | + ttInfo.setIsCancel(true); | |
| 28 | + | |
| 29 | + Map<String, Object> map = new HashMap<>(); | |
| 30 | + try{ | |
| 31 | + ttInfoRepository.save(ttInfo); | |
| 32 | + map.put("status", ResponseCode.SUCCESS); | |
| 33 | + }catch(DataIntegrityViolationException de){ | |
| 34 | + map.put("status", ResponseCode.ERROR); | |
| 35 | + map.put("msg", "“完整性约束”校验失败,请检查要删除的对象是否存在外键约束"); | |
| 36 | + } | |
| 37 | + return map; | |
| 25 | 38 | } |
| 26 | 39 | } | ... | ... |
src/main/java/com/bsth/service/schedule/rules/strategy/IStrategy.java
| 1 | 1 | package com.bsth.service.schedule.rules.strategy; |
| 2 | 2 | |
| 3 | +import com.bsth.entity.Line; | |
| 3 | 4 | import com.bsth.entity.schedule.CarConfigInfo; |
| 4 | 5 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 5 | 6 | import com.bsth.entity.schedule.TTInfo; |
| 6 | 7 | import com.bsth.entity.schedule.TTInfoDetail; |
| 8 | +import com.bsth.entity.schedule.rule.ScheduleRule1Flat; | |
| 7 | 9 | import com.google.common.collect.Multimap; |
| 8 | 10 | |
| 9 | 11 | import java.util.Map; |
| ... | ... | @@ -14,28 +16,42 @@ import java.util.Map; |
| 14 | 16 | public interface IStrategy { |
| 15 | 17 | |
| 16 | 18 | /** |
| 17 | - * 查找指定线路下,可用的时刻表; | |
| 19 | + * 获取线路信息。 | |
| 20 | + * @param xlId 线路id | |
| 21 | + * @return | |
| 22 | + */ | |
| 23 | + Line getLine(Integer xlId); | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 获取指定线路下,可用的时刻表。 | |
| 18 | 27 | * @param xlId 线路id |
| 19 | 28 | * @return 时刻表 |
| 20 | 29 | */ |
| 21 | 30 | TTInfo getTTInfo(Integer xlId); |
| 22 | 31 | |
| 23 | 32 | /** |
| 24 | - * 查找指定线路下,路牌与时刻明细对应的Map。 | |
| 33 | + * 获取指定线路下,可用的排班规则。 | |
| 34 | + * @param xlId | |
| 35 | + * @return | |
| 36 | + */ | |
| 37 | + Iterable<ScheduleRule1Flat> getScheduleRule(Integer xlId); | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 获取指定线路下,路牌与时刻明细对应的Map。 | |
| 25 | 41 | * @param xlId 线路id |
| 26 | 42 | * @return 路牌id为key,时刻明细 Collection<TTInfoDetail> 为value |
| 27 | 43 | */ |
| 28 | 44 | Multimap<Long, TTInfoDetail> getGuideboardXlTTInfoDetailMaps(Integer xlId); |
| 29 | 45 | |
| 30 | 46 | /** |
| 31 | - * 查找指定线路下,车辆配置与车辆信息对应的Map。 | |
| 47 | + * 获取指定线路下,车辆配置与车辆信息对应的Map。 | |
| 32 | 48 | * @param xlId 线路id |
| 33 | 49 | * @return 车辆配置id为key,具体车辆配置信息为value。 |
| 34 | 50 | */ |
| 35 | 51 | Map<Long, CarConfigInfo> getCarConfigMaps(Integer xlId); |
| 36 | 52 | |
| 37 | 53 | /** |
| 38 | - * 查找指定线路下,人员配置与人员对应的Map。 | |
| 54 | + * 获取指定线路下,人员配置与人员对应的Map。 | |
| 39 | 55 | * @param xlId 线路id |
| 40 | 56 | * @return 人员配置id为key,具体人员配置信息为value。 |
| 41 | 57 | */ | ... | ... |
src/main/java/com/bsth/service/schedule/rules/strategy/IStrategyImpl.java
| 1 | 1 | package com.bsth.service.schedule.rules.strategy; |
| 2 | 2 | |
| 3 | +import com.bsth.entity.Line; | |
| 3 | 4 | import com.bsth.entity.schedule.CarConfigInfo; |
| 4 | 5 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 5 | 6 | import com.bsth.entity.schedule.TTInfo; |
| 6 | 7 | import com.bsth.entity.schedule.TTInfoDetail; |
| 7 | -import com.bsth.service.schedule.CarConfigInfoService; | |
| 8 | -import com.bsth.service.schedule.EmployeeConfigInfoService; | |
| 9 | -import com.bsth.service.schedule.TTInfoDetailService; | |
| 10 | -import com.bsth.service.schedule.TTInfoService; | |
| 8 | +import com.bsth.entity.schedule.rule.ScheduleRule1Flat; | |
| 9 | +import com.bsth.service.LineService; | |
| 10 | +import com.bsth.service.schedule.*; | |
| 11 | 11 | import com.google.common.collect.ArrayListMultimap; |
| 12 | 12 | import com.google.common.collect.Multimap; |
| 13 | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -30,13 +30,24 @@ public class IStrategyImpl implements IStrategy { |
| 30 | 30 | private EmployeeConfigInfoService employeeConfigInfoService; |
| 31 | 31 | @Autowired |
| 32 | 32 | private TTInfoDetailService ttInfoDetailService; |
| 33 | + @Autowired | |
| 34 | + private LineService lineService; | |
| 35 | + @Autowired | |
| 36 | + private ScheduleRule1FlatService scheduleRule1FlatService; | |
| 37 | + | |
| 38 | + @Override | |
| 39 | + public Line getLine(Integer xlId) { | |
| 40 | + Line xl = lineService.findById(xlId); // 查找线路具体信息 | |
| 41 | + return xl; | |
| 42 | + } | |
| 33 | 43 | |
| 34 | 44 | @Override |
| 35 | 45 | public TTInfo getTTInfo(Integer xlId) { |
| 36 | 46 | // TODO:本来要使用规则判定到底使用哪张时刻表,这里选用第一张 |
| 37 | - // 查询参数 | |
| 38 | - Map<String, Object> param = new HashMap<>(); | |
| 47 | + Map<String, Object> param = new HashMap<>(); // 查询参数 | |
| 48 | + param.clear(); | |
| 39 | 49 | param.put("xl.id_eq", xlId); // 线路id |
| 50 | + param.put("isCancel_eq", false); // 没有作废 | |
| 40 | 51 | param.put("isEnableDisTemplate_eq", true); // 是否启用 |
| 41 | 52 | Iterable<TTInfo> ttInfoIterable = ttInfoService.list(param); |
| 42 | 53 | Iterator<TTInfo> ttInfoIterator = ttInfoIterable.iterator(); |
| ... | ... | @@ -46,6 +57,19 @@ public class IStrategyImpl implements IStrategy { |
| 46 | 57 | } |
| 47 | 58 | |
| 48 | 59 | @Override |
| 60 | + public Iterable<ScheduleRule1Flat> getScheduleRule(Integer xlId) { | |
| 61 | + Map<String, Object> param = new HashMap<>(); // 查询参数 | |
| 62 | + Line xl = lineService.findById(xlId); // 查找线路具体信息 | |
| 63 | + param.clear(); | |
| 64 | + param.put("xl.id_eq", xl.getId()); | |
| 65 | + Iterable<ScheduleRule1Flat> scheduleRule1FlatIterable = scheduleRule1FlatService.list(param); | |
| 66 | + if (!scheduleRule1FlatIterable.iterator().hasNext()) | |
| 67 | + throw new RuntimeException("线路:" + xl.getName() + " 没有配置规则!"); | |
| 68 | + | |
| 69 | + return scheduleRule1FlatIterable; | |
| 70 | + } | |
| 71 | + | |
| 72 | + @Override | |
| 49 | 73 | public Multimap<Long, TTInfoDetail> getGuideboardXlTTInfoDetailMaps(Integer xlId) { |
| 50 | 74 | TTInfo ttInfo = getTTInfo(xlId); |
| 51 | 75 | // 查询参数 | ... | ... |
src/main/java/com/bsth/vehicle/BorrowCenter.java
| ... | ... | @@ -73,10 +73,10 @@ public class BorrowCenter { |
| 73 | 73 | @Override |
| 74 | 74 | public void run() { |
| 75 | 75 | logger.info("nbbm " + (type==0?"借出":"归还") + "线路代码 " + lineCode); |
| 76 | - directiveService.lineChange(nbbm, lineCode); | |
| 76 | + directiveService.lineChange(nbbm, lineCode, null); | |
| 77 | 77 | if(upDown != -1){ |
| 78 | 78 | //切换走向 |
| 79 | - directiveService.upDownChange(nbbm, upDown); | |
| 79 | + directiveService.upDownChange(nbbm, upDown, null); | |
| 80 | 80 | } |
| 81 | 81 | } |
| 82 | 82 | } | ... | ... |
src/main/java/com/bsth/vehicle/UpstreamEntrance.java
| ... | ... | @@ -32,7 +32,7 @@ public class UpstreamEntrance { |
| 32 | 32 | DirectiveBuffer directiveBuffer; |
| 33 | 33 | |
| 34 | 34 | @RequestMapping(value = "/upstream", method = RequestMethod.POST) |
| 35 | - public int main(@RequestParam String json) { | |
| 35 | + public String main(@RequestParam String json) { | |
| 36 | 36 | logger.info("upstream: " + json); |
| 37 | 37 | try { |
| 38 | 38 | JSONObject jsonParam = JSONObject.parseObject(json); |
| ... | ... | @@ -66,6 +66,6 @@ public class UpstreamEntrance { |
| 66 | 66 | } catch (Exception e) { |
| 67 | 67 | logger.error("", e); |
| 68 | 68 | } |
| 69 | - return 0; | |
| 69 | + return "{\"errCode\":0}"; | |
| 70 | 70 | } |
| 71 | 71 | } | ... | ... |
src/main/java/com/bsth/vehicle/common/CommonMapped.java
| 1 | 1 | package com.bsth.vehicle.common; |
| 2 | 2 | |
| 3 | -import java.util.List; | |
| 4 | 3 | import java.util.Map; |
| 5 | 4 | |
| 6 | 5 | import com.bsth.entity.Line; |
| 7 | -import com.bsth.entity.StationRoute; | |
| 8 | -import com.google.common.collect.ArrayListMultimap; | |
| 9 | 6 | import com.google.common.collect.BiMap; |
| 10 | 7 | import com.google.common.collect.TreeMultimap; |
| 11 | 8 | |
| ... | ... | @@ -54,12 +51,17 @@ public class CommonMapped { |
| 54 | 51 | * 线路站点路由对照 |
| 55 | 52 | * (K:线路编码, V:站点路由) |
| 56 | 53 | */ |
| 57 | - public static Map<Integer, List<StationRoute>> lineStationRouteMap; | |
| 54 | + //public static Map<Integer, List<StationRoute>> lineStationRouteMap; | |
| 58 | 55 | |
| 59 | 56 | /** |
| 60 | 57 | * 线路和用户名对照 |
| 61 | 58 | * 用于webSocket定向推送消息 |
| 62 | 59 | */ |
| 63 | 60 | public static TreeMultimap<Integer, String> lineUserMap = TreeMultimap.create(); |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 线路ID和code 对照 | |
| 64 | + */ | |
| 65 | + public static BiMap<Integer, Integer> lineIdToCode; | |
| 64 | 66 | |
| 65 | 67 | } | ... | ... |
src/main/java/com/bsth/vehicle/common/CommonRefreshThread.java
| 1 | 1 | package com.bsth.vehicle.common; |
| 2 | 2 | |
| 3 | -import java.util.ArrayList; | |
| 4 | -import java.util.Collections; | |
| 5 | 3 | import java.util.Comparator; |
| 6 | 4 | import java.util.HashMap; |
| 7 | 5 | import java.util.Iterator; |
| 8 | -import java.util.List; | |
| 9 | 6 | import java.util.Map; |
| 10 | 7 | |
| 11 | 8 | import org.slf4j.Logger; |
| ... | ... | @@ -21,6 +18,7 @@ import com.bsth.entity.StationRoute; |
| 21 | 18 | import com.bsth.entity.schedule.CarConfigInfo; |
| 22 | 19 | import com.bsth.repository.CarParkRepository; |
| 23 | 20 | import com.bsth.repository.CarsRepository; |
| 21 | +import com.bsth.repository.LineRepository; | |
| 24 | 22 | import com.bsth.repository.StationRepository; |
| 25 | 23 | import com.bsth.repository.StationRouteRepository; |
| 26 | 24 | import com.bsth.repository.schedule.CarConfigInfoRepository; |
| ... | ... | @@ -53,6 +51,9 @@ public class CommonRefreshThread extends Thread{ |
| 53 | 51 | @Autowired |
| 54 | 52 | StationRouteRepository sRouteRepository; |
| 55 | 53 | |
| 54 | + @Autowired | |
| 55 | + LineRepository lineRepository; | |
| 56 | + | |
| 56 | 57 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 57 | 58 | |
| 58 | 59 | @Override |
| ... | ... | @@ -62,7 +63,9 @@ public class CommonRefreshThread extends Thread{ |
| 62 | 63 | initStationCodeMap(); |
| 63 | 64 | initVehicLineMap(); |
| 64 | 65 | |
| 65 | - initLineStationRouteMap(); | |
| 66 | + //initLineStationRouteMap(); | |
| 67 | + | |
| 68 | + initLineIdToCode(); | |
| 66 | 69 | } catch (Exception e) { |
| 67 | 70 | e.printStackTrace(); |
| 68 | 71 | logger.error("", e); |
| ... | ... | @@ -75,7 +78,7 @@ public class CommonRefreshThread extends Thread{ |
| 75 | 78 | * @Description: TODO(加载线路站点路由信息) |
| 76 | 79 | * @throws |
| 77 | 80 | */ |
| 78 | - private void initLineStationRouteMap() { | |
| 81 | +/* private void initLineStationRouteMap() { | |
| 79 | 82 | List<StationRoute> routes = sRouteRepository.findAll2(); |
| 80 | 83 | |
| 81 | 84 | Map<Integer, List<StationRoute>> map = new HashMap<>(); |
| ... | ... | @@ -97,6 +100,19 @@ public class CommonRefreshThread extends Thread{ |
| 97 | 100 | temp = iterator.next(); |
| 98 | 101 | Collections.sort(temp, sRouteComp); |
| 99 | 102 | } |
| 103 | + }*/ | |
| 104 | + | |
| 105 | + private void initLineIdToCode() { | |
| 106 | + Iterator<Line> iterator = lineRepository.findAll().iterator(); | |
| 107 | + | |
| 108 | + Line line; | |
| 109 | + BiMap<Integer, Integer> biMap = HashBiMap.create(); | |
| 110 | + while(iterator.hasNext()){ | |
| 111 | + line = iterator.next(); | |
| 112 | + biMap.put(line.getId(), Integer.parseInt(line.getLineCode())); | |
| 113 | + } | |
| 114 | + | |
| 115 | + CommonMapped.lineIdToCode = biMap; | |
| 100 | 116 | } |
| 101 | 117 | |
| 102 | 118 | /** | ... | ... |
src/main/java/com/bsth/vehicle/directive/buffer/DirectiveBuffer.java
src/main/java/com/bsth/vehicle/directive/controller/DirectiveController.java
| ... | ... | @@ -9,6 +9,8 @@ import org.springframework.web.bind.annotation.RequestMethod; |
| 9 | 9 | import org.springframework.web.bind.annotation.RequestParam; |
| 10 | 10 | import org.springframework.web.bind.annotation.RestController; |
| 11 | 11 | |
| 12 | +import com.bsth.entity.sys.SysUser; | |
| 13 | +import com.bsth.security.util.SecurityUtils; | |
| 12 | 14 | import com.bsth.vehicle.directive.entity.Directive80; |
| 13 | 15 | import com.bsth.vehicle.directive.service.DirectiveService; |
| 14 | 16 | |
| ... | ... | @@ -35,7 +37,8 @@ public class DirectiveController { |
| 35 | 37 | */ |
| 36 | 38 | @RequestMapping(value = "/phrase", method = RequestMethod.POST) |
| 37 | 39 | public int send60Phrase(@RequestParam String nbbm, @RequestParam String text){ |
| 38 | - return directiveService.send60Phrase(nbbm, text); | |
| 40 | + SysUser user = SecurityUtils.getCurrentUser(); | |
| 41 | + return directiveService.send60Phrase(nbbm, text, user.getUserName()); | |
| 39 | 42 | } |
| 40 | 43 | |
| 41 | 44 | /** |
| ... | ... | @@ -47,7 +50,8 @@ public class DirectiveController { |
| 47 | 50 | */ |
| 48 | 51 | @RequestMapping(value = "/dispatch", method = RequestMethod.POST) |
| 49 | 52 | public int send60Dispatch(@RequestParam Long id){ |
| 50 | - return directiveService.send60Dispatch(id); | |
| 53 | + SysUser user = SecurityUtils.getCurrentUser(); | |
| 54 | + return directiveService.send60Dispatch(id, user.getUserName()); | |
| 51 | 55 | } |
| 52 | 56 | |
| 53 | 57 | /** |
| ... | ... | @@ -60,7 +64,8 @@ public class DirectiveController { |
| 60 | 64 | */ |
| 61 | 65 | @RequestMapping(value = "/lineChnage", method = RequestMethod.POST) |
| 62 | 66 | public int lineChange(@RequestParam String nbbm, @RequestParam Integer lineId){ |
| 63 | - return directiveService.lineChange(nbbm, lineId); | |
| 67 | + SysUser user = SecurityUtils.getCurrentUser(); | |
| 68 | + return directiveService.lineChange(nbbm, lineId, user.getUserName()); | |
| 64 | 69 | } |
| 65 | 70 | |
| 66 | 71 | /** |
| ... | ... | @@ -71,9 +76,10 @@ public class DirectiveController { |
| 71 | 76 | * @param @param upDon |
| 72 | 77 | * @throws |
| 73 | 78 | */ |
| 74 | - @RequestMapping(value = "/upDownChange", method = RequestMethod.POST) | |
| 79 | + @RequestMapping(value = "/upDownChange", method = RequestMethod.GET) | |
| 75 | 80 | public int upDownChange(@RequestParam String nbbm, @RequestParam Integer upDown){ |
| 76 | - return directiveService.upDownChange(nbbm, upDown); | |
| 81 | + SysUser user = SecurityUtils.getCurrentUser(); | |
| 82 | + return directiveService.upDownChange(nbbm, upDown, user.getUserName()); | |
| 77 | 83 | } |
| 78 | 84 | |
| 79 | 85 | /** | ... | ... |
src/main/java/com/bsth/vehicle/directive/entity/Directive.java
| ... | ... | @@ -44,6 +44,11 @@ public class Directive { |
| 44 | 44 | private String errorText; |
| 45 | 45 | |
| 46 | 46 | private int httpCode; |
| 47 | + | |
| 48 | + /** | |
| 49 | + * 发送人 | |
| 50 | + */ | |
| 51 | + private String sender; | |
| 47 | 52 | |
| 48 | 53 | public short getOperCode() { |
| 49 | 54 | return operCode; |
| ... | ... | @@ -100,4 +105,12 @@ public class Directive { |
| 100 | 105 | public void setHttpCode(int httpCode) { |
| 101 | 106 | this.httpCode = httpCode; |
| 102 | 107 | } |
| 108 | + | |
| 109 | + public String getSender() { | |
| 110 | + return sender; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public void setSender(String sender) { | |
| 114 | + this.sender = sender; | |
| 115 | + } | |
| 103 | 116 | } | ... | ... |
src/main/java/com/bsth/vehicle/directive/entity/Directive60.java
| ... | ... | @@ -13,7 +13,6 @@ import javax.persistence.Table; |
| 13 | 13 | import javax.persistence.Transient; |
| 14 | 14 | |
| 15 | 15 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 16 | -import com.bsth.entity.sys.SysUser; | |
| 17 | 16 | import com.fasterxml.jackson.annotation.JsonIgnore; |
| 18 | 17 | |
| 19 | 18 | |
| ... | ... | @@ -72,12 +71,6 @@ public class Directive60 extends Directive{ |
| 72 | 71 | @ManyToOne(fetch = FetchType.LAZY) |
| 73 | 72 | private ScheduleRealInfo sch; |
| 74 | 73 | |
| 75 | - /** | |
| 76 | - * 发送人 | |
| 77 | - */ | |
| 78 | - @ManyToOne | |
| 79 | - private SysUser sender; | |
| 80 | - | |
| 81 | 74 | @Embeddable |
| 82 | 75 | public static class DirectiveData { |
| 83 | 76 | // 公司代码 |
| ... | ... | @@ -271,12 +264,4 @@ public class Directive60 extends Directive{ |
| 271 | 264 | public void setSch(ScheduleRealInfo sch) { |
| 272 | 265 | this.sch = sch; |
| 273 | 266 | } |
| 274 | - | |
| 275 | - public SysUser getSender() { | |
| 276 | - return sender; | |
| 277 | - } | |
| 278 | - | |
| 279 | - public void setSender(SysUser sender) { | |
| 280 | - this.sender = sender; | |
| 281 | - } | |
| 282 | 267 | } | ... | ... |
src/main/java/com/bsth/vehicle/directive/service/DirectiveService.java
| ... | ... | @@ -20,7 +20,7 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ |
| 20 | 20 | * @return int 返回类型 |
| 21 | 21 | * @throws |
| 22 | 22 | */ |
| 23 | - int send60Phrase(String nbbm, String text); | |
| 23 | + int send60Phrase(String nbbm, String text, String sender); | |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | 26 | * |
| ... | ... | @@ -30,7 +30,7 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ |
| 30 | 30 | * @param @param finish 已完成的班次数 |
| 31 | 31 | * @throws |
| 32 | 32 | */ |
| 33 | - int send60Dispatch(ScheduleRealInfo sch, int finish); | |
| 33 | + int send60Dispatch(ScheduleRealInfo sch, int finish, String sender); | |
| 34 | 34 | |
| 35 | 35 | /** |
| 36 | 36 | * |
| ... | ... | @@ -39,10 +39,10 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ |
| 39 | 39 | * @param @param id 班次ID |
| 40 | 40 | * @throws |
| 41 | 41 | */ |
| 42 | - int send60Dispatch(Long id); | |
| 42 | + int send60Dispatch(Long id, String sender); | |
| 43 | 43 | |
| 44 | 44 | //60营运指令 |
| 45 | - int send60Operation(String nbbm, int state, int upDown, ScheduleRealInfo sch); | |
| 45 | + int send60Operation(String nbbm, int state, int upDown, ScheduleRealInfo sch, String sender); | |
| 46 | 46 | |
| 47 | 47 | /** |
| 48 | 48 | * |
| ... | ... | @@ -52,7 +52,7 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ |
| 52 | 52 | * @param @param lineId 新线路编码 |
| 53 | 53 | * @throws |
| 54 | 54 | */ |
| 55 | - int lineChange(String nbbm, Integer lineId); | |
| 55 | + int lineChange(String nbbm, Integer lineId, String sender); | |
| 56 | 56 | |
| 57 | 57 | /** |
| 58 | 58 | * |
| ... | ... | @@ -62,7 +62,7 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ |
| 62 | 62 | * @param @param upDonw 上下行 0 上行 1 下行 |
| 63 | 63 | * @throws |
| 64 | 64 | */ |
| 65 | - int upDownChange(String nbbm, Integer upDown); | |
| 65 | + int upDownChange(String nbbm, Integer upDown, String sender); | |
| 66 | 66 | |
| 67 | 67 | /** |
| 68 | 68 | * | ... | ... |
src/main/java/com/bsth/vehicle/directive/service/DirectiveServiceImpl.java
| 1 | 1 | package com.bsth.vehicle.directive.service; |
| 2 | 2 | |
| 3 | 3 | import java.text.SimpleDateFormat; |
| 4 | +import java.util.ArrayList; | |
| 4 | 5 | import java.util.Collections; |
| 5 | 6 | import java.util.Date; |
| 6 | 7 | import java.util.HashMap; |
| ... | ... | @@ -20,20 +21,17 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 20 | 21 | import com.bsth.service.impl.BaseServiceImpl; |
| 21 | 22 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; |
| 22 | 23 | import com.bsth.vehicle.common.CommonMapped; |
| 23 | -import com.bsth.vehicle.directive.Consts; | |
| 24 | -import com.bsth.vehicle.directive.MsgIdGenerator; | |
| 25 | 24 | import com.bsth.vehicle.directive.buffer.DirectiveBuffer; |
| 26 | 25 | import com.bsth.vehicle.directive.entity.Directive; |
| 27 | 26 | import com.bsth.vehicle.directive.entity.Directive60; |
| 28 | -import com.bsth.vehicle.directive.entity.Directive60.DirectiveData; | |
| 29 | 27 | import com.bsth.vehicle.directive.entity.DirectiveC0.DirectiveC0Data; |
| 30 | 28 | import com.bsth.vehicle.directive.entity.Directive80; |
| 31 | 29 | import com.bsth.vehicle.directive.entity.DirectiveC0; |
| 32 | 30 | import com.bsth.vehicle.directive.entity.Directive64; |
| 33 | -import com.bsth.vehicle.directive.entity.Directive64.LineChangeData; | |
| 34 | 31 | import com.bsth.vehicle.directive.repository.Directive60Repository; |
| 35 | 32 | import com.bsth.vehicle.directive.repository.Directive80Repository; |
| 36 | 33 | import com.bsth.vehicle.directive.repository.LineChangeRepository; |
| 34 | +import com.bsth.vehicle.directive.util.DirectiveDataFactory; | |
| 37 | 35 | import com.bsth.vehicle.directive.util.HttpUtils; |
| 38 | 36 | import com.bsth.vehicle.gpsdata.buffer.GpsRealDataBuffer; |
| 39 | 37 | import com.bsth.vehicle.gpsdata.entity.GpsRealData; |
| ... | ... | @@ -64,11 +62,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 64 | 62 | |
| 65 | 63 | static Long schDiff = 1000 * 60 * 60L; |
| 66 | 64 | |
| 67 | - // 城市代码 | |
| 68 | - static final short cityCode = 22; | |
| 69 | - | |
| 70 | 65 | @Override |
| 71 | - public int send60Phrase(String nbbm, String text) { | |
| 66 | + public int send60Phrase(String nbbm, String text, String sender) { | |
| 72 | 67 | Directive60 directive = null; |
| 73 | 68 | try { |
| 74 | 69 | directive = create60Data(nbbm, text, (short) 0x00, null); |
| ... | ... | @@ -82,6 +77,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 82 | 77 | |
| 83 | 78 | // 发送指令 |
| 84 | 79 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); |
| 80 | + if(null != sender) | |
| 81 | + directive.setSender(sender); | |
| 85 | 82 | directive.setHttpCode(code); |
| 86 | 83 | // 添加到缓存,等待入库 |
| 87 | 84 | DirectiveBuffer.put(directive); |
| ... | ... | @@ -94,13 +91,13 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 94 | 91 | } |
| 95 | 92 | |
| 96 | 93 | @Override |
| 97 | - public int send60Dispatch(ScheduleRealInfo sch, int finish) { | |
| 94 | + public int send60Dispatch(ScheduleRealInfo sch, int finish, String sender) { | |
| 98 | 95 | Directive60 directive = null; |
| 99 | 96 | try { |
| 100 | 97 | // 如果发车时间距当前时间较远,则不发送 |
| 101 | - if (Math.abs(sch.getFcsjT() - System.currentTimeMillis()) > schDiff) { | |
| 98 | + /*if (Math.abs(sch.getFcsjT() - System.currentTimeMillis()) > schDiff) { | |
| 102 | 99 | return -2; |
| 103 | - } | |
| 100 | + }*/ | |
| 104 | 101 | |
| 105 | 102 | String text = "已完成" + finish + "个班次,下一发车时间" + sdfHHmm.format(new Date(sch.getFcsjT())) + ",由" |
| 106 | 103 | + sch.getQdzName() + "发往" + sch.getZdzName(); |
| ... | ... | @@ -114,6 +111,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 114 | 111 | |
| 115 | 112 | if (null == directive) |
| 116 | 113 | return -1; |
| 114 | + if(null != sender) | |
| 115 | + directive.setSender(sender); | |
| 116 | + else | |
| 117 | + directive.setSender("系统"); | |
| 117 | 118 | |
| 118 | 119 | // 发送指令 |
| 119 | 120 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); |
| ... | ... | @@ -148,22 +149,26 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 148 | 149 | } |
| 149 | 150 | |
| 150 | 151 | @Override |
| 151 | - public int send60Dispatch(Long id) { | |
| 152 | + public int send60Dispatch(Long id, String sender) { | |
| 152 | 153 | ScheduleRealInfo sch = ScheduleBuffer.findOne(id); |
| 153 | 154 | // 车辆已完成班次 |
| 154 | 155 | int finish = ScheduleBuffer.getFinishSchNo(sch.getClZbh()); |
| 155 | - return send60Dispatch(sch, finish); | |
| 156 | + return send60Dispatch(sch, finish, sender); | |
| 156 | 157 | } |
| 157 | 158 | |
| 158 | 159 | @Override |
| 159 | - public int send60Operation(String nbbm, int state, int upDown, ScheduleRealInfo sch) { | |
| 160 | + public int send60Operation(String nbbm, int state, int upDown, ScheduleRealInfo sch, String sender) { | |
| 160 | 161 | logger.info("切换运营状态, nbbm: " + nbbm + " ,state: " + state + " ,upDown:" + upDown); |
| 161 | 162 | |
| 162 | 163 | String text = "切换为 " + (upDown == 0 ? "上行" : "下行") + (state == 0 ? "营运" : "未营运"); |
| 163 | - Directive60 directive = createDirective60(nbbm, text, (short) 0x03, upDown, state); | |
| 164 | + Directive60 directive = DirectiveDataFactory.createDirective60(nbbm, text, (short) 0x03, upDown, state); | |
| 164 | 165 | |
| 165 | 166 | if (null == directive) |
| 166 | 167 | return -1; |
| 168 | + if(null != sender) | |
| 169 | + directive.setSender(sender); | |
| 170 | + else | |
| 171 | + directive.setSender("系统"); | |
| 167 | 172 | // 发送指令 |
| 168 | 173 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); |
| 169 | 174 | // 添加到缓存,等待入库 |
| ... | ... | @@ -183,21 +188,28 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 183 | 188 | * 线路切换 |
| 184 | 189 | */ |
| 185 | 190 | @Override |
| 186 | - public int lineChange(String nbbm, Integer lineId) { | |
| 191 | + public int lineChange(String nbbm, Integer lineCode, String sender) { | |
| 187 | 192 | Long t = System.currentTimeMillis(); |
| 188 | - String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 193 | + /*String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 189 | 194 | |
| 190 | 195 | Directive64 change = new Directive64(); |
| 191 | 196 | LineChangeData data = new LineChangeData(); |
| 192 | 197 | data.setCityCode(cityCode); |
| 193 | 198 | data.setDeviceId(deviceId); |
| 194 | - data.setLineId("00" + String.valueOf(lineId)); | |
| 199 | + data.setLineId("00" + String.valueOf(lineCode)); | |
| 195 | 200 | |
| 196 | 201 | change.setDeviceId(deviceId); |
| 197 | 202 | change.setOperCode((short) 0X64); |
| 198 | 203 | change.setTimestamp(t); |
| 199 | - change.setData(data); | |
| 204 | + change.setData(data);*/ | |
| 205 | + Directive64 change = DirectiveDataFactory.createDirective64(nbbm, lineCode, t); | |
| 206 | + | |
| 207 | + if(null != sender) | |
| 208 | + change.setSender(sender); | |
| 209 | + else | |
| 210 | + change.setSender("系统"); | |
| 200 | 211 | |
| 212 | + String deviceId = change.getDeviceId(); | |
| 201 | 213 | int code = HttpUtils.postJson(JSON.toJSONString(change)); |
| 202 | 214 | // 入库 |
| 203 | 215 | change.setHttpCode(code); |
| ... | ... | @@ -205,7 +217,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 205 | 217 | |
| 206 | 218 | // 通知设备刷新线路文件,忽略结果 |
| 207 | 219 | if (code == 0) |
| 208 | - HttpUtils.postJson(createDeviceRefreshData(deviceId, lineId)); | |
| 220 | + HttpUtils.postJson(DirectiveDataFactory.createDeviceRefreshData(deviceId, lineCode)); | |
| 209 | 221 | else |
| 210 | 222 | change.setErrorText("网关通讯失败, code: " + code); |
| 211 | 223 | |
| ... | ... | @@ -215,10 +227,6 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 215 | 227 | |
| 216 | 228 | public Directive60 create60Data(String nbbm, String text, Short dispatchInstruct, ScheduleRealInfo sch) { |
| 217 | 229 | |
| 218 | - /* | |
| 219 | - * //向测试设备发送 String deviceId = "ABCDFEGH"; Short company = 5; | |
| 220 | - */ | |
| 221 | - | |
| 222 | 230 | String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); |
| 223 | 231 | if (null == deviceId) { |
| 224 | 232 | logger.error("没有设备号对照的车辆:" + nbbm); |
| ... | ... | @@ -239,10 +247,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 239 | 247 | state = 0; |
| 240 | 248 | } |
| 241 | 249 | |
| 242 | - return createDirective60(nbbm, text, dispatchInstruct, upDown, state); | |
| 250 | + return DirectiveDataFactory.createDirective60(nbbm, text, dispatchInstruct, upDown, state); | |
| 243 | 251 | } |
| 244 | 252 | |
| 245 | - public Directive60 createDirective60(String nbbm, String text, Short dispatchInstruct, int upDown, int state) { | |
| 253 | +/* public Directive60 createDirective60(String nbbm, String text, Short dispatchInstruct, int upDown, int state) { | |
| 246 | 254 | Long timestamp = System.currentTimeMillis(); |
| 247 | 255 | |
| 248 | 256 | Short company = Short.parseShort(CommonMapped.vehicCompanyMap.get(nbbm)); |
| ... | ... | @@ -277,21 +285,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 277 | 285 | data.setTxtContent(text); |
| 278 | 286 | |
| 279 | 287 | return directive; |
| 280 | - } | |
| 288 | + }*/ | |
| 281 | 289 | |
| 282 | 290 | @Override |
| 283 | - public int upDownChange(String nbbm, Integer upDown) { | |
| 284 | - /* | |
| 285 | - * Directive60 directive = createDirective60(nbbm, nbbm + "_" + upDown, | |
| 286 | - * (short) 0x03, upDown, 0); | |
| 287 | - * | |
| 288 | - * if(null == directive) return -1; | |
| 289 | - * | |
| 290 | - * int code = HttpUtils.postJson(JSON.toJSONString(directive)); if(code | |
| 291 | - * == 0){ //添加到缓存,等待入库 DirectiveBuffer.put(directive); }else{ | |
| 292 | - * logger.error("send60 upDownChange error, code: " + code); } | |
| 293 | - */ | |
| 294 | - return send60Operation(nbbm, 0, upDown, null); | |
| 291 | + public int upDownChange(String nbbm, Integer upDown, String sender) { | |
| 292 | + return send60Operation(nbbm, 0, upDown, null, sender); | |
| 295 | 293 | } |
| 296 | 294 | |
| 297 | 295 | /** |
| ... | ... | @@ -299,7 +297,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 299 | 297 | * @Title: createDeviceRefreshData @Description: |
| 300 | 298 | * TODO(生成设备线路刷新数据包) @param @return 设定文件 @return String 返回类型 @throws |
| 301 | 299 | */ |
| 302 | - public String createDeviceRefreshData(String deviceId, Integer lineId) { | |
| 300 | +/* public String createDeviceRefreshData(String deviceId, Integer lineId) { | |
| 303 | 301 | Long t = System.currentTimeMillis(); |
| 304 | 302 | Map<String, Object> param = new HashMap<String, Object>(); |
| 305 | 303 | param.put("deviceId", deviceId); |
| ... | ... | @@ -307,7 +305,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 307 | 305 | param.put("operCode", 0Xc0); |
| 308 | 306 | |
| 309 | 307 | Map<String, Object> data = new HashMap<String, Object>(); |
| 310 | - data.put("operCode", 0xa1); | |
| 308 | + data.put("operCode2", 0xa1); | |
| 311 | 309 | data.put("cityCode", cityCode); |
| 312 | 310 | data.put("deviceId", deviceId); |
| 313 | 311 | data.put("timestamp", t); |
| ... | ... | @@ -318,7 +316,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 318 | 316 | param.put("data", data); |
| 319 | 317 | |
| 320 | 318 | return JSON.toJSONString(param); |
| 321 | - } | |
| 319 | + }*/ | |
| 322 | 320 | |
| 323 | 321 | @Override |
| 324 | 322 | public Map<String, List<Directive80>> findNoCofm80(String lineCodes) { |
| ... | ... | @@ -409,8 +407,15 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> |
| 409 | 407 | // 时间倒序 |
| 410 | 408 | Collections.sort(list, new DirectiveBuffer.DComparator()); |
| 411 | 409 | if(StringUtils.isNotBlank(nbbm)){ |
| 410 | + String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 412 | 411 | //按车辆过滤 |
| 413 | - | |
| 412 | + List<Directive> subList = new ArrayList<>(); | |
| 413 | + for(Directive d : list){ | |
| 414 | + if(d.getDeviceId().equals(deviceId)){ | |
| 415 | + subList.add(d); | |
| 416 | + } | |
| 417 | + } | |
| 418 | + list = subList; | |
| 414 | 419 | } |
| 415 | 420 | |
| 416 | 421 | int count = list.size(); | ... | ... |
src/main/java/com/bsth/vehicle/directive/thread/FirstScheduleIssuedThread.java
src/main/java/com/bsth/vehicle/directive/util/DirectiveDataFactory.java
0 → 100644
| 1 | +package com.bsth.vehicle.directive.util; | |
| 2 | + | |
| 3 | +import java.util.HashMap; | |
| 4 | +import java.util.Map; | |
| 5 | + | |
| 6 | +import org.slf4j.Logger; | |
| 7 | +import org.slf4j.LoggerFactory; | |
| 8 | + | |
| 9 | +import com.alibaba.fastjson.JSON; | |
| 10 | +import com.bsth.vehicle.common.CommonMapped; | |
| 11 | +import com.bsth.vehicle.directive.Consts; | |
| 12 | +import com.bsth.vehicle.directive.MsgIdGenerator; | |
| 13 | +import com.bsth.vehicle.directive.entity.Directive60; | |
| 14 | +import com.bsth.vehicle.directive.entity.Directive64; | |
| 15 | +import com.bsth.vehicle.directive.entity.Directive60.DirectiveData; | |
| 16 | +import com.bsth.vehicle.directive.entity.Directive64.LineChangeData; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * | |
| 20 | + * @ClassName: DirectiveDataFactory | |
| 21 | + * @Description: TODO(生成调度指令数据) | |
| 22 | + * @author PanZhao | |
| 23 | + * @date 2016年8月3日 下午3:32:27 | |
| 24 | + * | |
| 25 | + */ | |
| 26 | +public class DirectiveDataFactory { | |
| 27 | + | |
| 28 | + private DirectiveDataFactory() {} | |
| 29 | + | |
| 30 | + // 城市代码 | |
| 31 | + static final short cityCode = 22; | |
| 32 | + | |
| 33 | + static Logger logger = LoggerFactory.getLogger(DirectiveDataFactory.class); | |
| 34 | + | |
| 35 | + /** | |
| 36 | + * | |
| 37 | + * @Title: createDirective60 | |
| 38 | + * @Description: TODO(创建60数据包) | |
| 39 | + * @param @param nbbm 车辆内部编码 | |
| 40 | + * @param @param text 文本 | |
| 41 | + * @param @param dispatchInstruct 指令类型(0X00表示信息短语,0X01表示取消上次指令+调度指令(闹钟有效),0x02表示为调度指令(闹钟有效); 0x03表示运营状态指令(闹钟无效);0x04表示其他指令) | |
| 42 | + * @param @param upDown 上下行(0 上行 1 下行) | |
| 43 | + * @param @param state 营运状态(0 营运 1 非营运) | |
| 44 | + * @param @return 设定文件 | |
| 45 | + * @return Directive60 返回类型 | |
| 46 | + * @throws | |
| 47 | + */ | |
| 48 | + public static Directive60 createDirective60(String nbbm, String text, Short dispatchInstruct, int upDown, int state) { | |
| 49 | + Long timestamp = System.currentTimeMillis(); | |
| 50 | + | |
| 51 | + Short company = Short.parseShort(CommonMapped.vehicCompanyMap.get(nbbm)); | |
| 52 | + String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 53 | + | |
| 54 | + int msgId = MsgIdGenerator.getMsgId(); | |
| 55 | + | |
| 56 | + Directive60 directive = new Directive60(); | |
| 57 | + DirectiveData data = new DirectiveData(); | |
| 58 | + // 一级协议 | |
| 59 | + directive.setOperCode((short) 0x60); | |
| 60 | + // 设备号 | |
| 61 | + directive.setDeviceId(deviceId); | |
| 62 | + // 时间戳 | |
| 63 | + directive.setTimestamp(timestamp); | |
| 64 | + directive.setMsgId(msgId); | |
| 65 | + // 构造数据 | |
| 66 | + data.setDeviceId(deviceId); | |
| 67 | + data.setDispatchInstruct(dispatchInstruct); | |
| 68 | + data.setTimestamp(timestamp); | |
| 69 | + data.setCompanyCode(company); | |
| 70 | + data.setMsgId(msgId); | |
| 71 | + directive.setData(data); | |
| 72 | + long serviceState; | |
| 73 | + try { | |
| 74 | + serviceState = Consts.SERVICE_STATE[upDown][state]; | |
| 75 | + } catch (IndexOutOfBoundsException e) { | |
| 76 | + // 未知营运状态的直接默认为上行非营运 | |
| 77 | + serviceState = Consts.SERVICE_STATE[0][1]; | |
| 78 | + } | |
| 79 | + data.setServiceState(serviceState); | |
| 80 | + data.setTxtContent(text); | |
| 81 | + | |
| 82 | + return directive; | |
| 83 | + } | |
| 84 | + | |
| 85 | + /** | |
| 86 | + * | |
| 87 | + * @Title: createDirective64 | |
| 88 | + * @Description: TODO(创建线路切换指令 64) | |
| 89 | + * @param @param nbbm 车辆内部编码 | |
| 90 | + * @param @param lineId 线路编码 | |
| 91 | + * @param @param t 时间戳 | |
| 92 | + * @throws | |
| 93 | + */ | |
| 94 | + public static Directive64 createDirective64(String nbbm, Integer lineCode, long t){ | |
| 95 | + String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | |
| 96 | + | |
| 97 | + Directive64 change = new Directive64(); | |
| 98 | + LineChangeData data = new LineChangeData(); | |
| 99 | + data.setCityCode(cityCode); | |
| 100 | + data.setDeviceId(deviceId); | |
| 101 | + //线路编码补满6位数 | |
| 102 | + if(lineCode > 99999){ | |
| 103 | + logger.error("线路编码不能超过6位,code:" + lineCode); | |
| 104 | + return null; | |
| 105 | + } | |
| 106 | + String lineCodeStr = String.format("%06d", lineCode.toString()); | |
| 107 | + data.setLineId(lineCodeStr); | |
| 108 | + | |
| 109 | + change.setDeviceId(deviceId); | |
| 110 | + change.setOperCode((short) 0X64); | |
| 111 | + change.setTimestamp(t); | |
| 112 | + change.setData(data); | |
| 113 | + | |
| 114 | + return change; | |
| 115 | + } | |
| 116 | + | |
| 117 | + /** | |
| 118 | + * | |
| 119 | + * @Title: createDeviceRefreshData | |
| 120 | + * @Description: TODO(线路刷新指令(用于切换线路后,要求设置重新下载线路文件)) | |
| 121 | + * @param @param deviceId 设备编号 | |
| 122 | + * @param @param lineId 线路ID | |
| 123 | + * @throws | |
| 124 | + */ | |
| 125 | + public static String createDeviceRefreshData(String deviceId, Integer lineId) { | |
| 126 | + Long t = System.currentTimeMillis(); | |
| 127 | + Map<String, Object> param = new HashMap<String, Object>(); | |
| 128 | + param.put("deviceId", deviceId); | |
| 129 | + param.put("timestamp", t); | |
| 130 | + param.put("operCode", 0Xc0); | |
| 131 | + | |
| 132 | + Map<String, Object> data = new HashMap<String, Object>(); | |
| 133 | + data.put("operCode2", 0xa1); | |
| 134 | + data.put("cityCode", cityCode); | |
| 135 | + data.put("deviceId", deviceId); | |
| 136 | + data.put("timestamp", t); | |
| 137 | + data.put("centerId", 1); | |
| 138 | + data.put("lineId", lineId); | |
| 139 | + data.put("lineVersion", 0); | |
| 140 | + data.put("carparkDataVersion", 0); | |
| 141 | + param.put("data", data); | |
| 142 | + | |
| 143 | + return JSON.toJSONString(param); | |
| 144 | + } | |
| 145 | +} | ... | ... |
src/main/java/com/bsth/vehicle/gpsdata/ArrivalThread.java
| ... | ... | @@ -66,145 +66,8 @@ public class ArrivalThread extends Thread{ |
| 66 | 66 | for(String lineCode : newSet){ |
| 67 | 67 | MatchService.addService(lineCode); |
| 68 | 68 | } |
| 69 | - | |
| 70 | - | |
| 71 | - /*try { | |
| 72 | - Bootstrap bs = Bootstrap.instance(); | |
| 73 | - bs.start(); | |
| 74 | - } catch (Exception e) { | |
| 75 | - e.printStackTrace(); | |
| 76 | - }*/ | |
| 77 | - | |
| 78 | - /*//车辆 | |
| 79 | - Set<String> set = new HashSet<>(); | |
| 80 | - for(ArrivalInfo arr : list) | |
| 81 | - set.add(CommonMapped.vehicDeviceBiMap.get(arr.getDeviceId())); | |
| 82 | - | |
| 83 | - List<ArrivalInfo> rsList = null; | |
| 84 | - List<ScheduleRealInfo> subList = null; | |
| 85 | - ArrivalInfo[] status; | |
| 86 | - for(String nbbm : set){ | |
| 87 | - rsList = GpsArrivalDataBuffer.pops(nbbm); | |
| 88 | - //和该车辆班次进行匹配 | |
| 89 | - subList = ScheduleBuffer.vehSchListMap.get(nbbm); | |
| 90 | - | |
| 91 | - if(null == subList || subList.size() == 0) | |
| 92 | - continue; | |
| 93 | - | |
| 94 | - try{ | |
| 95 | - for(ScheduleRealInfo schedule : subList){ | |
| 96 | - //匹配结果 | |
| 97 | - status = match(rsList, schedule); | |
| 98 | - | |
| 99 | - //发车 | |
| 100 | - if(status[0] != null){ | |
| 101 | - //班次状态改为正在执行 | |
| 102 | - schedule.setStatus(1); | |
| 103 | - ScheduleBuffer.persistentList.add(schedule); | |
| 104 | - //推送到页面 | |
| 105 | - sendFcsj(schedule); | |
| 106 | - | |
| 107 | - rsList.remove(status[0]); | |
| 108 | - } | |
| 109 | - | |
| 110 | - //到达终点 | |
| 111 | - if(status[1] != null){ | |
| 112 | - //完成当前班次 | |
| 113 | - ScheduleRealInfo nextSch = ScheduleBuffer.finishSch(schedule); | |
| 114 | - //到达终点,发送下一班次的调度指令 | |
| 115 | - int finish = ScheduleBuffer.getFinishSchNo(nextSch.getClZbh()); | |
| 116 | - directiveService.send60Dispatch(nextSch, finish); | |
| 117 | - //推送到页面 | |
| 118 | - sendZdsj(schedule, nextSch, finish); | |
| 119 | - | |
| 120 | - rsList.remove(status[1]); | |
| 121 | - } | |
| 122 | - } | |
| 123 | - }catch(Exception e){ | |
| 124 | - e.printStackTrace(); | |
| 125 | - } | |
| 126 | - }*/ | |
| 127 | - } | |
| 128 | - | |
| 129 | -/* public ArrivalInfo[] match(List<ArrivalInfo> arrList, ScheduleRealInfo sch){ | |
| 130 | - //进出分组 | |
| 131 | - List<ArrivalInfo> in = new ArrayList<>(), out = new ArrayList<>(); | |
| 132 | - for(ArrivalInfo arr : arrList){ | |
| 133 | - if(arr.getInOut() == 0) | |
| 134 | - in.add(arr); | |
| 135 | - else | |
| 136 | - out.add(arr); | |
| 137 | - } | |
| 138 | - ArrivalInfo a1 = null, a2 = null; | |
| 139 | - //匹配发车时间 | |
| 140 | - if(sch.getFcsjActual() == null && sch.getFcsj() != null) | |
| 141 | - a1 = matchOut(out, sch); | |
| 142 | - | |
| 143 | - //匹配终点时间 | |
| 144 | - if(sch.getZdsjActual() == null && sch.getZdsj() != null) | |
| 145 | - a2 = matchIn(in, sch); | |
| 146 | - | |
| 147 | - return new ArrivalInfo[]{a1,a2}; | |
| 148 | - } | |
| 149 | - | |
| 150 | - public ArrivalInfo matchOut(List<ArrivalInfo> arrList, ScheduleRealInfo sch){ | |
| 151 | - Long space = ScheduleBuffer.schSpaceMap.get(sch.getXlBm() + "_" + sch.getXlDir())diff; | |
| 152 | - for(ArrivalInfo arr : arrList){ | |
| 153 | - if(arr.getStopNo().equals(sch.getQdzCode()) | |
| 154 | - && Math.abs((arr.getTs() - sch.getFcsjT())) < space){ | |
| 155 | - sch.setFcsjActualAll(arr.getTs()); | |
| 156 | - | |
| 157 | - return arr; | |
| 158 | - | |
| 159 | - } | |
| 160 | - } | |
| 161 | - return null; | |
| 162 | 69 | } |
| 163 | 70 | |
| 164 | - public ArrivalInfo matchIn(List<ArrivalInfo> arrList, ScheduleRealInfo sch){ | |
| 165 | - Long space = ScheduleBuffer.schSpaceMap.get(sch.getXlBm() + "_" + sch.getXlDir())diff; | |
| 166 | - for(ArrivalInfo arr : arrList){ | |
| 167 | - if(arr.getStopNo().equals(sch.getZdzCode()) | |
| 168 | - && Math.abs((arr.getTs() - sch.getZdsjT())) < space){ | |
| 169 | - sch.setZdsjActualAll(arr.getTs()); | |
| 170 | - | |
| 171 | - return arr; | |
| 172 | - } | |
| 173 | - } | |
| 174 | - return null; | |
| 175 | - }*/ | |
| 176 | - | |
| 177 | - | |
| 178 | - /** | |
| 179 | - * @Title: sendFcsj | |
| 180 | - * @Description: TODO(推送发车信息) | |
| 181 | - * @param @param schedule 班次 | |
| 182 | - * @throws | |
| 183 | - */ | |
| 184 | -/* public void sendFcsj(ScheduleRealInfo schedule){ | |
| 185 | - JSONObject json = new JSONObject(); | |
| 186 | - json.put("fn", "faChe"); | |
| 187 | - json.put("t", schedule); | |
| 188 | - json.put("dataStr", sdf.format(new Date())); | |
| 189 | - socketHandler.sendMessageToLine(Integer.parseInt(schedule.getXlBm()), json.toJSONString()); | |
| 190 | - } | |
| 191 | - | |
| 192 | - *//** | |
| 193 | - * @Title: sendFcsj | |
| 194 | - * @Description: TODO(推送到达终点时间) | |
| 195 | - * @param @param schedule 班次 | |
| 196 | - * @throws | |
| 197 | - *//* | |
| 198 | - public void sendZdsj(ScheduleRealInfo schedule,ScheduleRealInfo nextSch, int finish){ | |
| 199 | - JSONObject json = new JSONObject(); | |
| 200 | - json.put("fn", "zhongDian"); | |
| 201 | - json.put("t", schedule); | |
| 202 | - json.put("nt", nextSch); | |
| 203 | - json.put("finish", finish); | |
| 204 | - json.put("dataStr", sdf.format(new Date())); | |
| 205 | - | |
| 206 | - socketHandler.sendMessageToLine(Integer.parseInt(schedule.getXlBm()), json.toJSONString()); | |
| 207 | - }*/ | |
| 208 | 71 | |
| 209 | 72 | /** |
| 210 | 73 | * @throws ParseException |
| ... | ... | @@ -258,24 +121,4 @@ public class ArrivalThread extends Thread{ |
| 258 | 121 | } |
| 259 | 122 | return list; |
| 260 | 123 | } |
| 261 | - | |
| 262 | - Long rang = 1000 * 60 * 60L; | |
| 263 | - /** | |
| 264 | - * | |
| 265 | - * @Title: extractSched | |
| 266 | - * @Description: TODO(提取当前时间前后一小时的计划) | |
| 267 | - * @param @param allList | |
| 268 | - * @throws | |
| 269 | - | |
| 270 | - public List<ScheduleRealInfo> extractSched(List<ScheduleRealInfo> allList){ | |
| 271 | - List<ScheduleRealInfo> subList = new ArrayList<>(); | |
| 272 | - Long t = System.currentTimeMillis(); | |
| 273 | - for(ScheduleRealInfo sch : allList){ | |
| 274 | - if(Math.abs(sch.getFcsjT() - t) < rang | |
| 275 | - || (sch.getZdsjT() != null && Math.abs(sch.getZdsjT()) - t < rang)){ | |
| 276 | - subList.add(sch); | |
| 277 | - } | |
| 278 | - } | |
| 279 | - return subList; | |
| 280 | - } */ | |
| 281 | 124 | } | ... | ... |
src/main/java/com/bsth/vehicle/gpsdata/GpsArrivalStationThread_old.java deleted
100644 → 0
| 1 | -package com.bsth.vehicle.gpsdata; | |
| 2 | - | |
| 3 | -import java.sql.Connection; | |
| 4 | -import java.sql.PreparedStatement; | |
| 5 | -import java.sql.ResultSet; | |
| 6 | -import java.text.ParseException; | |
| 7 | -import java.text.SimpleDateFormat; | |
| 8 | -import java.util.ArrayList; | |
| 9 | -import java.util.Calendar; | |
| 10 | -import java.util.Date; | |
| 11 | -import java.util.Iterator; | |
| 12 | -import java.util.List; | |
| 13 | -import java.util.Set; | |
| 14 | - | |
| 15 | -import org.slf4j.Logger; | |
| 16 | -import org.slf4j.LoggerFactory; | |
| 17 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 18 | -import org.springframework.stereotype.Component; | |
| 19 | - | |
| 20 | -import com.alibaba.fastjson.JSONObject; | |
| 21 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 22 | -import com.bsth.service.realcontrol.buffer.ScheduleBuffer; | |
| 23 | -import com.bsth.util.DateUtils; | |
| 24 | -import com.bsth.util.db.DBUtils_MS; | |
| 25 | -import com.bsth.vehicle.directive.service.DirectiveService; | |
| 26 | -import com.bsth.vehicle.gpsdata.buffer.ArrivalDataBuffer; | |
| 27 | -import com.bsth.vehicle.gpsdata.entity.ArrivalInfo; | |
| 28 | -import com.bsth.websocket.handler.RealControlSocketHandler; | |
| 29 | - | |
| 30 | -/** | |
| 31 | - * | |
| 32 | - * @ClassName: GpsArrivalStationThread | |
| 33 | - * @Description: TODO(GPS到离站) | |
| 34 | - * @author PanZhao | |
| 35 | - * @date 2016年6月27日 上午10:58:13 | |
| 36 | - * | |
| 37 | - */ | |
| 38 | -@Component | |
| 39 | -public class GpsArrivalStationThread_old extends Thread{ | |
| 40 | - | |
| 41 | - Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 42 | - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); | |
| 43 | - | |
| 44 | - @Autowired | |
| 45 | - DirectiveService directiveService; | |
| 46 | - | |
| 47 | - @Autowired | |
| 48 | - RealControlSocketHandler socketHandler; | |
| 49 | - | |
| 50 | - private static int diff = 1000 * 60 * 20; | |
| 51 | - | |
| 52 | - @Override | |
| 53 | - public void run() { | |
| 54 | - List<ArrivalInfo> list = null; | |
| 55 | - try { | |
| 56 | - list = loadData(); | |
| 57 | - } catch (ParseException e) { | |
| 58 | - e.printStackTrace(); | |
| 59 | - } | |
| 60 | - ArrivalDataBuffer.putAll(list); | |
| 61 | - //实际到离站和计划排班相匹配 | |
| 62 | - | |
| 63 | - Set<String> keySet = ArrivalDataBuffer.allMap.keySet(); | |
| 64 | - System.out.println("开始..."); | |
| 65 | - List<ScheduleRealInfo> schList; | |
| 66 | - for(String key : keySet){ | |
| 67 | - schList = extractSched(ScheduleBuffer.carSchListMap.get(key)); | |
| 68 | - if(null != schList) | |
| 69 | - match(ArrivalDataBuffer.allMap.get(key), schList); | |
| 70 | - } | |
| 71 | - System.out.println("结束..."); | |
| 72 | - } | |
| 73 | - | |
| 74 | - | |
| 75 | - /** | |
| 76 | - * | |
| 77 | - * @Title: match | |
| 78 | - * @Description: TODO(实际和计划进行匹配) | |
| 79 | - * @param @param arrList 实际GPS到离站链表 | |
| 80 | - * @param @param schList 计划排班链表 | |
| 81 | - * @throws | |
| 82 | - */ | |
| 83 | - public void match(List<ArrivalInfo> arrList, List<ScheduleRealInfo> schList){ | |
| 84 | - Iterator<ScheduleRealInfo> schIterator = schList.iterator(); | |
| 85 | - | |
| 86 | - while(schIterator.hasNext()) | |
| 87 | - match(schIterator.next(), arrList); | |
| 88 | - } | |
| 89 | - | |
| 90 | - | |
| 91 | - public void match(ScheduleRealInfo scInfo, List<ArrivalInfo> arrList){ | |
| 92 | - for(ArrivalInfo arr : arrList){ | |
| 93 | - match(scInfo, arr); | |
| 94 | - } | |
| 95 | - } | |
| 96 | - | |
| 97 | - public void match(ScheduleRealInfo scInfo, ArrivalInfo arr){ | |
| 98 | - try{ | |
| 99 | - //匹配起点 | |
| 100 | - matchStart(scInfo, arr); | |
| 101 | - | |
| 102 | - //匹配终点 | |
| 103 | - matchEnd(scInfo, arr); | |
| 104 | - }catch(Exception e){ | |
| 105 | - e.printStackTrace(); | |
| 106 | - } | |
| 107 | - } | |
| 108 | - | |
| 109 | - /** | |
| 110 | - * | |
| 111 | - * @Title: matchStart | |
| 112 | - * @Description: TODO(匹配起点 出站时间) | |
| 113 | - * @param @param scInfo | |
| 114 | - * @throws | |
| 115 | - */ | |
| 116 | - public void matchStart(ScheduleRealInfo scInfo, ArrivalInfo arr){ | |
| 117 | - if(scInfo.getFcsjT() == null | |
| 118 | - || arr.getInOut() != 1 || scInfo.getFcsjActual() != null) | |
| 119 | - return; | |
| 120 | - | |
| 121 | - Long ts = arr.getTs(); | |
| 122 | - //起点站和发车时间比比较 | |
| 123 | - if(scInfo.getQdzCode().equals(arr.getStopNo()) | |
| 124 | - && Math.abs(scInfo.getFcsjT() - ts) < diff){ | |
| 125 | - scInfo.setFcsjActualTime(ts); | |
| 126 | - scInfo.setFcsjActual(sdf.format(ts)); | |
| 127 | - | |
| 128 | - System.out.println("成功匹配一个起点..."); | |
| 129 | - //班次状态改为正在执行 | |
| 130 | - scInfo.setStatus(1); | |
| 131 | - ScheduleBuffer.persistentList.add(scInfo); | |
| 132 | - //推送到页面 | |
| 133 | - sendFcsj(scInfo); | |
| 134 | - } | |
| 135 | - } | |
| 136 | - | |
| 137 | - /** | |
| 138 | - * @Title: sendFcsj | |
| 139 | - * @Description: TODO(推送发车信息) | |
| 140 | - * @param @param schedule 班次 | |
| 141 | - * @throws | |
| 142 | - */ | |
| 143 | - public void sendFcsj(ScheduleRealInfo schedule){ | |
| 144 | - JSONObject json = new JSONObject(); | |
| 145 | - json.put("fn", "faChe"); | |
| 146 | - json.put("t", schedule); | |
| 147 | - json.put("dataStr", sdf.format(new Date())); | |
| 148 | - socketHandler.sendMessageToLine(Integer.parseInt(schedule.getXlBm()), json.toJSONString()); | |
| 149 | - } | |
| 150 | - | |
| 151 | - /** | |
| 152 | - * | |
| 153 | - * @Title: matchEnd | |
| 154 | - * @Description: TODO(匹配终点 进站时间) | |
| 155 | - * @throws | |
| 156 | - */ | |
| 157 | - public void matchEnd(ScheduleRealInfo scInfo, ArrivalInfo arr){ | |
| 158 | - if(scInfo.getZdsjT() == null | |
| 159 | - || arr.getInOut() != 0 || scInfo.getZdsjActual() != null) | |
| 160 | - return; | |
| 161 | - | |
| 162 | - Long ts = arr.getTs(); | |
| 163 | - //终点站和发车时间比较 | |
| 164 | - if(scInfo.getZdzCode().equals(arr.getStopNo()) | |
| 165 | - && Math.abs(scInfo.getZdsjT() - ts) < diff){ | |
| 166 | - scInfo.setZdsjActualTime(ts); | |
| 167 | - scInfo.setZdsjActual(sdf.format(ts)); | |
| 168 | - | |
| 169 | - System.out.println("成功匹配一个终点..."); | |
| 170 | - //完成当前班次 | |
| 171 | - ScheduleRealInfo nextSch = ScheduleBuffer.finishSch(scInfo); | |
| 172 | - //到达终点,发送下一班次的调度指令 | |
| 173 | - int finish = ScheduleBuffer.getFinishSchNo(nextSch.getClZbh()); | |
| 174 | - directiveService.send60Dispatch(nextSch, finish); | |
| 175 | - //推送到页面 | |
| 176 | - sendZdsj(scInfo, nextSch, finish); | |
| 177 | - } | |
| 178 | - } | |
| 179 | - | |
| 180 | - /** | |
| 181 | - * @Title: sendFcsj | |
| 182 | - * @Description: TODO(推送到达终点时间) | |
| 183 | - * @param @param schedule 班次 | |
| 184 | - * @throws | |
| 185 | - */ | |
| 186 | - public void sendZdsj(ScheduleRealInfo schedule,ScheduleRealInfo nextSch, int finish){ | |
| 187 | - JSONObject json = new JSONObject(); | |
| 188 | - json.put("fn", "zhongDian"); | |
| 189 | - json.put("t", schedule); | |
| 190 | - json.put("nt", nextSch); | |
| 191 | - json.put("finish", finish); | |
| 192 | - json.put("dataStr", sdf.format(new Date())); | |
| 193 | - | |
| 194 | - socketHandler.sendMessageToLine(Integer.parseInt(schedule.getXlBm()), json.toJSONString()); | |
| 195 | - } | |
| 196 | - | |
| 197 | - /** | |
| 198 | - * @throws ParseException | |
| 199 | - * | |
| 200 | - * @Title: loadData | |
| 201 | - * @Description: TODO(从数据库加载到离站信息) | |
| 202 | - * @return List<ArrivalInfo> 返回类型 | |
| 203 | - * @throws | |
| 204 | - */ | |
| 205 | - private List<ArrivalInfo> loadData() throws ParseException{ | |
| 206 | - Calendar cal = Calendar.getInstance(); | |
| 207 | - //周数,表分区字段 | |
| 208 | - int weeks_year = cal.get(Calendar.WEEK_OF_YEAR); | |
| 209 | - //按时间标记增量加载 | |
| 210 | - if(null == ArrivalDataBuffer.markTime){ | |
| 211 | - //第一次从当天0点开始 | |
| 212 | - ArrivalDataBuffer.markTime = DateUtils.getTimesmorning() * 1000L; | |
| 213 | - } | |
| 214 | - | |
| 215 | - String sql = "select * from bsth_c_arrival_info where weeks_year=? and create_date > ? order by ts"; | |
| 216 | - | |
| 217 | - List<ArrivalInfo> list = new ArrayList<>(); | |
| 218 | - Connection conn = null; | |
| 219 | - PreparedStatement ps = null; | |
| 220 | - ResultSet rs = null; | |
| 221 | - try { | |
| 222 | - conn = DBUtils_MS.getConnection(); | |
| 223 | - ps = conn.prepareStatement(sql); | |
| 224 | - ps.setInt(1, weeks_year); | |
| 225 | - ps.setLong(2, ArrivalDataBuffer.markTime); | |
| 226 | - | |
| 227 | - Long t = System.currentTimeMillis(); | |
| 228 | - rs = ps.executeQuery(); | |
| 229 | - | |
| 230 | - while(rs.next()){ | |
| 231 | - list.add(new ArrivalInfo(rs.getString("device_id"), rs.getLong("ts"), rs.getString("line_id") | |
| 232 | - , rs.getInt("up_down"), rs.getString("stop_no"), rs.getInt("in_out"), rs.getLong("create_date"), rs.getInt("weeks_year"))); | |
| 233 | - } | |
| 234 | - | |
| 235 | - //重新打时间标记 | |
| 236 | - ArrivalDataBuffer.markTime = t; | |
| 237 | - | |
| 238 | - } catch (Exception e) { | |
| 239 | - logger.error("", e); | |
| 240 | - }finally { | |
| 241 | - DBUtils_MS.close(rs, ps, conn); | |
| 242 | - } | |
| 243 | - return list; | |
| 244 | - } | |
| 245 | - | |
| 246 | - Long rang = 1000 * 60 * 60L; | |
| 247 | - /** | |
| 248 | - * | |
| 249 | - * @Title: extractSched | |
| 250 | - * @Description: TODO(提取当前时间前后一小时的计划) | |
| 251 | - * @param @param allList | |
| 252 | - * @throws | |
| 253 | - */ | |
| 254 | - public List<ScheduleRealInfo> extractSched(List<ScheduleRealInfo> allList){ | |
| 255 | - List<ScheduleRealInfo> subList = new ArrayList<>(); | |
| 256 | - System.out.println("原计划:" + allList.size()); | |
| 257 | - Long t = System.currentTimeMillis(); | |
| 258 | - for(ScheduleRealInfo sch : allList){ | |
| 259 | - if(Math.abs(sch.getFcsjT() - t) < rang | |
| 260 | - || (sch.getZdsjT() != null && Math.abs(sch.getZdsjT()) - t < rang)){ | |
| 261 | - subList.add(sch); | |
| 262 | - } | |
| 263 | - } | |
| 264 | - System.out.println("按时间提取:" + subList.size()); | |
| 265 | - return subList; | |
| 266 | - } | |
| 267 | -} |
src/main/java/com/bsth/vehicle/gpsdata/arrival/match/ScheduleRealMatcher.java
| ... | ... | @@ -155,18 +155,20 @@ public class ScheduleRealMatcher implements ApplicationContextAware{ |
| 155 | 155 | } |
| 156 | 156 | |
| 157 | 157 | finish = ScheduleBuffer.getFinishSchNo(sch.getClZbh()); |
| 158 | - upDown = Integer.parseInt(sch.getXlDir()); | |
| 158 | + | |
| 159 | 159 | if(nextSch != null){ |
| 160 | - //发送下一班次的调度指令 | |
| 161 | - directiveService.send60Dispatch(nextSch, finish); | |
| 160 | + //发送下一班次的调度指令(并切换营运状态) | |
| 161 | + directiveService.send60Dispatch(nextSch, finish, null); | |
| 162 | + | |
| 163 | + //upDown = Integer.parseInt(nextSch.getXlDir()); | |
| 162 | 164 | //切换下一个班次的走向 |
| 163 | - logger.info(sch.getClZbh() + " 切换下一班次走向"); | |
| 164 | - directiveService.send60Operation(nextSch.getClZbh(), 0, upDown, nextSch); | |
| 165 | + //directiveService.send60Operation(nextSch.getClZbh(), 0, upDown, nextSch, null); | |
| 165 | 166 | } |
| 166 | 167 | else{ |
| 168 | + upDown = Integer.parseInt(sch.getXlDir()); | |
| 167 | 169 | //没有下一个班次了,切换为非营运状态 |
| 168 | 170 | logger.info(sch.getClZbh() + " 完成所有班次,切换为非营运状态"); |
| 169 | - directiveService.send60Operation(sch.getClZbh(), 1, upDown, sch); | |
| 171 | + directiveService.send60Operation(sch.getClZbh(), 1, upDown, sch, null); | |
| 170 | 172 | } |
| 171 | 173 | |
| 172 | 174 | sendZdsj(sch, nextSch, finish);//推送到页面 |
| ... | ... | @@ -183,10 +185,6 @@ public class ScheduleRealMatcher implements ApplicationContextAware{ |
| 183 | 185 | * @throws |
| 184 | 186 | */ |
| 185 | 187 | public void sendFcsj(ScheduleRealInfo schedule) { |
| 186 | - /*JSONObject json = new JSONObject(); | |
| 187 | - json.put("fn", "faChe"); | |
| 188 | - json.put("t", schedule); | |
| 189 | - json.put("dataStr", sdf.format(new Date()));*/ | |
| 190 | 188 | |
| 191 | 189 | Map<String, Object> map = new HashMap<>(); |
| 192 | 190 | map.put("fn", "faChe"); |
| ... | ... | @@ -212,12 +210,6 @@ public class ScheduleRealMatcher implements ApplicationContextAware{ |
| 212 | 210 | * @throws |
| 213 | 211 | */ |
| 214 | 212 | public void sendZdsj(ScheduleRealInfo schedule,ScheduleRealInfo nextSch, int finish) { |
| 215 | - /*JSONObject json = new JSONObject(); | |
| 216 | - json.put("fn", "zhongDian"); | |
| 217 | - json.put("t", schedule); | |
| 218 | - json.put("nt", nextSch); | |
| 219 | - json.put("finish", finish); | |
| 220 | - json.put("dataStr", sdf.format(new Date()));*/ | |
| 221 | 213 | |
| 222 | 214 | Map<String, Object> map = new HashMap<>(); |
| 223 | 215 | map.put("fn", "zhongDian"); | ... | ... |
src/main/java/com/bsth/vehicle/gpsdata/buffer/GpsRealDataBuffer.java
| ... | ... | @@ -103,11 +103,9 @@ public class GpsRealDataBuffer { |
| 103 | 103 | |
| 104 | 104 | //更新GPS点 |
| 105 | 105 | for(GpsRealData newGps : upGpsList){ |
| 106 | - if(t - newGps.getTimestamp() < OFFLINE_TIME | |
| 107 | - && !newGps.isOnline()){ | |
| 108 | - logger.info("设备:" + newGps.getDeviceId() + " 上线"); | |
| 106 | + | |
| 107 | + if(t - newGps.getTimestamp() < OFFLINE_TIME ) | |
| 109 | 108 | newGps.setOnline(true); |
| 110 | - } | |
| 111 | 109 | |
| 112 | 110 | deviceGpsMap.put(newGps.getDeviceId(), newGps); |
| 113 | 111 | } | ... | ... |
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
| ... | ... | @@ -587,13 +587,31 @@ |
| 587 | 587 | <optimizationLevel>9</optimizationLevel> |
| 588 | 588 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> |
| 589 | 589 | <jsScript_name>Script 1</jsScript_name> |
| 590 | - <jsScript_script>//Script here

// 使用正则表达式去除站点名称中的数字
qdzname = qdzname.replace(/\d+/g,'');

</jsScript_script> | |
| 590 | + <jsScript_script>//Script here

// 使用正则表达式去除站点名称中的数字
qdzname = qdzname.replace(/\d+/g,'');

// sendtime处理
var sendtime_calcu;
if (sendtime.length != 5) 
 sendtime_calcu = sendtime.substr(0, 2) + ":" + sendtime.substr(2, 2);
else 
 sendtime_calcu = sendtime;

// 设置分班
var isfb = 0;

// 设置isCanceled
var iscanceled = 0;</jsScript_script> | |
| 591 | 591 | </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> |
| 592 | 592 | <rename>qdzname</rename> |
| 593 | 593 | <type>String</type> |
| 594 | 594 | <length>-1</length> |
| 595 | 595 | <precision>-1</precision> |
| 596 | 596 | <replace>Y</replace> |
| 597 | + </field> <field> <name>isfb</name> | |
| 598 | + <rename>isfb</rename> | |
| 599 | + <type>Integer</type> | |
| 600 | + <length>-1</length> | |
| 601 | + <precision>-1</precision> | |
| 602 | + <replace>N</replace> | |
| 603 | + </field> <field> <name>iscanceled</name> | |
| 604 | + <rename>iscanceled</rename> | |
| 605 | + <type>Integer</type> | |
| 606 | + <length>-1</length> | |
| 607 | + <precision>-1</precision> | |
| 608 | + <replace>N</replace> | |
| 609 | + </field> <field> <name>sendtime_calcu</name> | |
| 610 | + <rename>sendtime_calcu</rename> | |
| 611 | + <type>String</type> | |
| 612 | + <length>-1</length> | |
| 613 | + <precision>-1</precision> | |
| 614 | + <replace>N</replace> | |
| 597 | 615 | </field> </fields> <cluster_schema/> |
| 598 | 616 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 599 | 617 | <xloc>788</xloc> |
| ... | ... | @@ -693,76 +711,8 @@ |
| 693 | 711 | </step> |
| 694 | 712 | |
| 695 | 713 | <step> |
| 696 | - <name>时刻表明细信息Excel输入</name> | |
| 697 | - <type>ExcelInput</type> | |
| 698 | - <description/> | |
| 699 | - <distribute>Y</distribute> | |
| 700 | - <custom_distribution/> | |
| 701 | - <copies>1</copies> | |
| 702 | - <partitioning> | |
| 703 | - <method>none</method> | |
| 704 | - <schema_name/> | |
| 705 | - </partitioning> | |
| 706 | - <header>Y</header> | |
| 707 | - <noempty>Y</noempty> | |
| 708 | - <stoponempty>N</stoponempty> | |
| 709 | - <filefield/> | |
| 710 | - <sheetfield/> | |
| 711 | - <sheetrownumfield/> | |
| 712 | - <rownumfield/> | |
| 713 | - <sheetfield/> | |
| 714 | - <filefield/> | |
| 715 | - <limit>0</limit> | |
| 716 | - <encoding/> | |
| 717 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 718 | - <accept_filenames>N</accept_filenames> | |
| 719 | - <accept_field/> | |
| 720 | - <accept_stepname/> | |
| 721 | - <file> | |
| 722 | - <name/> | |
| 723 | - <filemask/> | |
| 724 | - <exclude_filemask/> | |
| 725 | - <file_required>N</file_required> | |
| 726 | - <include_subfolders>N</include_subfolders> | |
| 727 | - </file> | |
| 728 | - <fields> | |
| 729 | - </fields> | |
| 730 | - <sheets> | |
| 731 | - <sheet> | |
| 732 | - <name>工作表1</name> | |
| 733 | - <startrow>0</startrow> | |
| 734 | - <startcol>0</startcol> | |
| 735 | - </sheet> | |
| 736 | - </sheets> | |
| 737 | - <strict_types>N</strict_types> | |
| 738 | - <error_ignored>N</error_ignored> | |
| 739 | - <error_line_skipped>N</error_line_skipped> | |
| 740 | - <bad_line_files_destination_directory/> | |
| 741 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 742 | - <error_line_files_destination_directory/> | |
| 743 | - <error_line_files_extension>error</error_line_files_extension> | |
| 744 | - <line_number_files_destination_directory/> | |
| 745 | - <line_number_files_extension>line</line_number_files_extension> | |
| 746 | - <shortFileFieldName/> | |
| 747 | - <pathFieldName/> | |
| 748 | - <hiddenFieldName/> | |
| 749 | - <lastModificationTimeFieldName/> | |
| 750 | - <uriNameFieldName/> | |
| 751 | - <rootUriNameFieldName/> | |
| 752 | - <extensionFieldName/> | |
| 753 | - <sizeFieldName/> | |
| 754 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 755 | - <cluster_schema/> | |
| 756 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 757 | - <xloc>112</xloc> | |
| 758 | - <yloc>44</yloc> | |
| 759 | - <draw>Y</draw> | |
| 760 | - </GUI> | |
| 761 | - </step> | |
| 762 | - | |
| 763 | - <step> | |
| 764 | - <name>查找停车场1</name> | |
| 765 | - <type>DBLookup</type> | |
| 714 | + <name>插入/更新bsth_c_s_ttinfo_detail</name> | |
| 715 | + <type>InsertUpdate</type> | |
| 766 | 716 | <description/> |
| 767 | 717 | <distribute>Y</distribute> |
| 768 | 718 | <custom_distribution/> |
| ... | ... | @@ -772,141 +722,118 @@ |
| 772 | 722 | <schema_name/> |
| 773 | 723 | </partitioning> |
| 774 | 724 | <connection>bus_control_variable</connection> |
| 775 | - <cache>N</cache> | |
| 776 | - <cache_load_all>N</cache_load_all> | |
| 777 | - <cache_size>0</cache_size> | |
| 725 | + <commit>100</commit> | |
| 726 | + <update_bypassed>N</update_bypassed> | |
| 778 | 727 | <lookup> |
| 779 | 728 | <schema/> |
| 780 | - <table>bsth_c_car_park</table> | |
| 781 | - <orderby/> | |
| 782 | - <fail_on_multiple>N</fail_on_multiple> | |
| 783 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 729 | + <table>bsth_c_s_ttinfo_detail</table> | |
| 784 | 730 | <key> |
| 785 | - <name>tccname_</name> | |
| 786 | - <field>park_name</field> | |
| 731 | + <name>xlid</name> | |
| 732 | + <field>xl</field> | |
| 787 | 733 | <condition>=</condition> |
| 788 | 734 | <name2/> |
| 789 | 735 | </key> |
| 790 | - <value> | |
| 791 | - <name>id</name> | |
| 792 | - <rename>qdzid</rename> | |
| 793 | - <default/> | |
| 794 | - <type>Integer</type> | |
| 795 | - </value> | |
| 796 | - </lookup> | |
| 797 | - <cluster_schema/> | |
| 798 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 799 | - <xloc>755</xloc> | |
| 800 | - <yloc>504</yloc> | |
| 801 | - <draw>Y</draw> | |
| 802 | - </GUI> | |
| 803 | - </step> | |
| 804 | - | |
| 805 | - <step> | |
| 806 | - <name>查找停车场2</name> | |
| 807 | - <type>DBLookup</type> | |
| 808 | - <description/> | |
| 809 | - <distribute>Y</distribute> | |
| 810 | - <custom_distribution/> | |
| 811 | - <copies>1</copies> | |
| 812 | - <partitioning> | |
| 813 | - <method>none</method> | |
| 814 | - <schema_name/> | |
| 815 | - </partitioning> | |
| 816 | - <connection>bus_control_variable</connection> | |
| 817 | - <cache>N</cache> | |
| 818 | - <cache_load_all>N</cache_load_all> | |
| 819 | - <cache_size>0</cache_size> | |
| 820 | - <lookup> | |
| 821 | - <schema/> | |
| 822 | - <table>bsth_c_car_park</table> | |
| 823 | - <orderby/> | |
| 824 | - <fail_on_multiple>N</fail_on_multiple> | |
| 825 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 826 | 736 | <key> |
| 827 | - <name>tccname_</name> | |
| 828 | - <field>park_name</field> | |
| 737 | + <name>ttid</name> | |
| 738 | + <field>ttinfo</field> | |
| 829 | 739 | <condition>=</condition> |
| 830 | 740 | <name2/> |
| 831 | 741 | </key> |
| 832 | - <value> | |
| 833 | - <name>id</name> | |
| 834 | - <rename>zdzid</rename> | |
| 835 | - <default/> | |
| 836 | - <type>Integer</type> | |
| 837 | - </value> | |
| 838 | - </lookup> | |
| 839 | - <cluster_schema/> | |
| 840 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 841 | - <xloc>887</xloc> | |
| 842 | - <yloc>608</yloc> | |
| 843 | - <draw>Y</draw> | |
| 844 | - </GUI> | |
| 845 | - </step> | |
| 846 | - | |
| 847 | - <step> | |
| 848 | - <name>查找出场终点站关联并确定上下行</name> | |
| 849 | - <type>DBLookup</type> | |
| 850 | - <description/> | |
| 851 | - <distribute>Y</distribute> | |
| 852 | - <custom_distribution/> | |
| 853 | - <copies>1</copies> | |
| 854 | - <partitioning> | |
| 855 | - <method>none</method> | |
| 856 | - <schema_name/> | |
| 857 | - </partitioning> | |
| 858 | - <connection>bus_control_variable</connection> | |
| 859 | - <cache>N</cache> | |
| 860 | - <cache_load_all>N</cache_load_all> | |
| 861 | - <cache_size>0</cache_size> | |
| 862 | - <lookup> | |
| 863 | - <schema/> | |
| 864 | - <table>bsth_c_stationroute</table> | |
| 865 | - <orderby/> | |
| 866 | - <fail_on_multiple>N</fail_on_multiple> | |
| 867 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 868 | 742 | <key> |
| 869 | - <name>xlid</name> | |
| 870 | - <field>line</field> | |
| 743 | + <name>lpid</name> | |
| 744 | + <field>lp</field> | |
| 871 | 745 | <condition>=</condition> |
| 872 | 746 | <name2/> |
| 873 | 747 | </key> |
| 874 | 748 | <key> |
| 875 | - <name>zdzname</name> | |
| 876 | - <field>station_name</field> | |
| 749 | + <name>fcno</name> | |
| 750 | + <field>fcno</field> | |
| 877 | 751 | <condition>=</condition> |
| 878 | 752 | <name2/> |
| 879 | 753 | </key> |
| 880 | 754 | <key> |
| 881 | - <name>endZdtype</name> | |
| 882 | - <field>station_mark</field> | |
| 755 | + <name>bcs</name> | |
| 756 | + <field>bcs</field> | |
| 883 | 757 | <condition>=</condition> |
| 884 | 758 | <name2/> |
| 885 | 759 | </key> |
| 886 | 760 | <value> |
| 887 | - <name>station</name> | |
| 761 | + <name>lp</name> | |
| 762 | + <rename>lpid</rename> | |
| 763 | + <update>Y</update> | |
| 764 | + </value> | |
| 765 | + <value> | |
| 766 | + <name>bc_type</name> | |
| 767 | + <rename>bctype_code</rename> | |
| 768 | + <update>Y</update> | |
| 769 | + </value> | |
| 770 | + <value> | |
| 771 | + <name>bcs</name> | |
| 772 | + <rename>bcs</rename> | |
| 773 | + <update>Y</update> | |
| 774 | + </value> | |
| 775 | + <value> | |
| 776 | + <name>bcsj</name> | |
| 777 | + <rename>bcsj</rename> | |
| 778 | + <update>Y</update> | |
| 779 | + </value> | |
| 780 | + <value> | |
| 781 | + <name>fcno</name> | |
| 782 | + <rename>fcno</rename> | |
| 783 | + <update>Y</update> | |
| 784 | + </value> | |
| 785 | + <value> | |
| 786 | + <name>jhlc</name> | |
| 787 | + <rename>jhlc</rename> | |
| 788 | + <update>Y</update> | |
| 789 | + </value> | |
| 790 | + <value> | |
| 791 | + <name>fcsj</name> | |
| 792 | + <rename>sendtime_calcu</rename> | |
| 793 | + <update>Y</update> | |
| 794 | + </value> | |
| 795 | + <value> | |
| 796 | + <name>ttinfo</name> | |
| 797 | + <rename>ttid</rename> | |
| 798 | + <update>Y</update> | |
| 799 | + </value> | |
| 800 | + <value> | |
| 801 | + <name>xl</name> | |
| 802 | + <rename>xlid</rename> | |
| 803 | + <update>Y</update> | |
| 804 | + </value> | |
| 805 | + <value> | |
| 806 | + <name>qdz</name> | |
| 807 | + <rename>qdzid</rename> | |
| 808 | + <update>Y</update> | |
| 809 | + </value> | |
| 810 | + <value> | |
| 811 | + <name>zdz</name> | |
| 888 | 812 | <rename>zdzid</rename> |
| 889 | - <default/> | |
| 890 | - <type>Integer</type> | |
| 813 | + <update>Y</update> | |
| 891 | 814 | </value> |
| 892 | 815 | <value> |
| 893 | - <name>directions</name> | |
| 816 | + <name>xl_dir</name> | |
| 894 | 817 | <rename>sxx</rename> |
| 895 | - <default/> | |
| 896 | - <type>Integer</type> | |
| 818 | + <update>Y</update> | |
| 819 | + </value> | |
| 820 | + <value> | |
| 821 | + <name>isfb</name> | |
| 822 | + <rename>isfb</rename> | |
| 823 | + <update>Y</update> | |
| 897 | 824 | </value> |
| 898 | 825 | </lookup> |
| 899 | 826 | <cluster_schema/> |
| 900 | 827 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 901 | - <xloc>329</xloc> | |
| 902 | - <yloc>505</yloc> | |
| 828 | + <xloc>143</xloc> | |
| 829 | + <yloc>860</yloc> | |
| 903 | 830 | <draw>Y</draw> |
| 904 | 831 | </GUI> |
| 905 | 832 | </step> |
| 906 | 833 | |
| 907 | 834 | <step> |
| 908 | - <name>查找时刻表基础信息关联</name> | |
| 909 | - <type>DBLookup</type> | |
| 835 | + <name>插入/更新bsth_c_s_ttinfo_detail 2</name> | |
| 836 | + <type>InsertUpdate</type> | |
| 910 | 837 | <description/> |
| 911 | 838 | <distribute>Y</distribute> |
| 912 | 839 | <custom_distribution/> |
| ... | ... | @@ -916,15 +843,11 @@ |
| 916 | 843 | <schema_name/> |
| 917 | 844 | </partitioning> |
| 918 | 845 | <connection>bus_control_variable</connection> |
| 919 | - <cache>N</cache> | |
| 920 | - <cache_load_all>N</cache_load_all> | |
| 921 | - <cache_size>0</cache_size> | |
| 846 | + <commit>100</commit> | |
| 847 | + <update_bypassed>N</update_bypassed> | |
| 922 | 848 | <lookup> |
| 923 | 849 | <schema/> |
| 924 | - <table>bsth_c_s_ttinfo</table> | |
| 925 | - <orderby/> | |
| 926 | - <fail_on_multiple>N</fail_on_multiple> | |
| 927 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 850 | + <table>bsth_c_s_ttinfo_detail</table> | |
| 928 | 851 | <key> |
| 929 | 852 | <name>xlid</name> |
| 930 | 853 | <field>xl</field> |
| ... | ... | @@ -932,89 +855,106 @@ |
| 932 | 855 | <name2/> |
| 933 | 856 | </key> |
| 934 | 857 | <key> |
| 935 | - <name>ttinfoname_</name> | |
| 936 | - <field>name</field> | |
| 858 | + <name>ttid</name> | |
| 859 | + <field>ttinfo</field> | |
| 937 | 860 | <condition>=</condition> |
| 938 | 861 | <name2/> |
| 939 | 862 | </key> |
| 940 | - <value> | |
| 941 | - <name>id</name> | |
| 942 | - <rename>ttid</rename> | |
| 943 | - <default/> | |
| 944 | - <type>Integer</type> | |
| 945 | - </value> | |
| 946 | - </lookup> | |
| 947 | - <cluster_schema/> | |
| 948 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 949 | - <xloc>1011</xloc> | |
| 950 | - <yloc>134</yloc> | |
| 951 | - <draw>Y</draw> | |
| 952 | - </GUI> | |
| 953 | - </step> | |
| 954 | - | |
| 955 | - <step> | |
| 956 | - <name>查找线路上下行里程时间</name> | |
| 957 | - <type>DBLookup</type> | |
| 958 | - <description/> | |
| 959 | - <distribute>Y</distribute> | |
| 960 | - <custom_distribution/> | |
| 961 | - <copies>1</copies> | |
| 962 | - <partitioning> | |
| 963 | - <method>none</method> | |
| 964 | - <schema_name/> | |
| 965 | - </partitioning> | |
| 966 | - <connection>bus_control_variable</connection> | |
| 967 | - <cache>N</cache> | |
| 968 | - <cache_load_all>N</cache_load_all> | |
| 969 | - <cache_size>0</cache_size> | |
| 970 | - <lookup> | |
| 971 | - <schema/> | |
| 972 | - <table>bsth_c_line_information</table> | |
| 973 | - <orderby/> | |
| 974 | - <fail_on_multiple>N</fail_on_multiple> | |
| 975 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 976 | 863 | <key> |
| 977 | - <name>xlid</name> | |
| 978 | - <field>line</field> | |
| 864 | + <name>lpid</name> | |
| 865 | + <field>lp</field> | |
| 866 | + <condition>=</condition> | |
| 867 | + <name2/> | |
| 868 | + </key> | |
| 869 | + <key> | |
| 870 | + <name>fcno</name> | |
| 871 | + <field>fcno</field> | |
| 872 | + <condition>=</condition> | |
| 873 | + <name2/> | |
| 874 | + </key> | |
| 875 | + <key> | |
| 876 | + <name>bcs</name> | |
| 877 | + <field>bcs</field> | |
| 979 | 878 | <condition>=</condition> |
| 980 | 879 | <name2/> |
| 981 | 880 | </key> |
| 982 | 881 | <value> |
| 983 | - <name>up_mileage</name> | |
| 984 | - <rename>up_mileage</rename> | |
| 985 | - <default/> | |
| 986 | - <type>Number</type> | |
| 882 | + <name>tcc</name> | |
| 883 | + <rename>qdzid</rename> | |
| 884 | + <update>Y</update> | |
| 987 | 885 | </value> |
| 988 | 886 | <value> |
| 989 | - <name>down_mileage</name> | |
| 990 | - <rename>down_mileage</rename> | |
| 991 | - <default/> | |
| 992 | - <type>Number</type> | |
| 887 | + <name>zdz</name> | |
| 888 | + <rename>zdzid</rename> | |
| 889 | + <update>Y</update> | |
| 993 | 890 | </value> |
| 994 | 891 | <value> |
| 995 | - <name>up_travel_time</name> | |
| 996 | - <rename>up_travel_time</rename> | |
| 997 | - <default/> | |
| 998 | - <type>Number</type> | |
| 892 | + <name>xl</name> | |
| 893 | + <rename>xlid</rename> | |
| 894 | + <update>Y</update> | |
| 999 | 895 | </value> |
| 1000 | 896 | <value> |
| 1001 | - <name>down_travel_time</name> | |
| 1002 | - <rename>down_travel_time</rename> | |
| 1003 | - <default/> | |
| 1004 | - <type>Number</type> | |
| 897 | + <name>ttinfo</name> | |
| 898 | + <rename>ttid</rename> | |
| 899 | + <update>Y</update> | |
| 900 | + </value> | |
| 901 | + <value> | |
| 902 | + <name>xl_dir</name> | |
| 903 | + <rename>sxx</rename> | |
| 904 | + <update>Y</update> | |
| 905 | + </value> | |
| 906 | + <value> | |
| 907 | + <name>lp</name> | |
| 908 | + <rename>lpid</rename> | |
| 909 | + <update>Y</update> | |
| 910 | + </value> | |
| 911 | + <value> | |
| 912 | + <name>jhlc</name> | |
| 913 | + <rename>out_mileage</rename> | |
| 914 | + <update>Y</update> | |
| 915 | + </value> | |
| 916 | + <value> | |
| 917 | + <name>fcsj</name> | |
| 918 | + <rename>sendtime_calcu</rename> | |
| 919 | + <update>Y</update> | |
| 920 | + </value> | |
| 921 | + <value> | |
| 922 | + <name>bcsj</name> | |
| 923 | + <rename>out_time</rename> | |
| 924 | + <update>Y</update> | |
| 925 | + </value> | |
| 926 | + <value> | |
| 927 | + <name>bcs</name> | |
| 928 | + <rename>bcs</rename> | |
| 929 | + <update>Y</update> | |
| 930 | + </value> | |
| 931 | + <value> | |
| 932 | + <name>fcno</name> | |
| 933 | + <rename>fcno</rename> | |
| 934 | + <update>Y</update> | |
| 935 | + </value> | |
| 936 | + <value> | |
| 937 | + <name>bc_type</name> | |
| 938 | + <rename>bctype_code</rename> | |
| 939 | + <update>Y</update> | |
| 940 | + </value> | |
| 941 | + <value> | |
| 942 | + <name>isfb</name> | |
| 943 | + <rename>isfb</rename> | |
| 944 | + <update>Y</update> | |
| 1005 | 945 | </value> |
| 1006 | 946 | </lookup> |
| 1007 | 947 | <cluster_schema/> |
| 1008 | 948 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1009 | - <xloc>149</xloc> | |
| 1010 | - <yloc>581</yloc> | |
| 949 | + <xloc>340</xloc> | |
| 950 | + <yloc>890</yloc> | |
| 1011 | 951 | <draw>Y</draw> |
| 1012 | 952 | </GUI> |
| 1013 | 953 | </step> |
| 1014 | 954 | |
| 1015 | 955 | <step> |
| 1016 | - <name>查找线路关联</name> | |
| 1017 | - <type>DBLookup</type> | |
| 956 | + <name>插入/更新bsth_c_s_ttinfo_detail 3</name> | |
| 957 | + <type>InsertUpdate</type> | |
| 1018 | 958 | <description/> |
| 1019 | 959 | <distribute>Y</distribute> |
| 1020 | 960 | <custom_distribution/> |
| ... | ... | @@ -1024,39 +964,118 @@ |
| 1024 | 964 | <schema_name/> |
| 1025 | 965 | </partitioning> |
| 1026 | 966 | <connection>bus_control_variable</connection> |
| 1027 | - <cache>N</cache> | |
| 1028 | - <cache_load_all>N</cache_load_all> | |
| 1029 | - <cache_size>0</cache_size> | |
| 967 | + <commit>100</commit> | |
| 968 | + <update_bypassed>N</update_bypassed> | |
| 1030 | 969 | <lookup> |
| 1031 | 970 | <schema/> |
| 1032 | - <table>bsth_c_line</table> | |
| 1033 | - <orderby/> | |
| 1034 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1035 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 971 | + <table>bsth_c_s_ttinfo_detail</table> | |
| 1036 | 972 | <key> |
| 1037 | - <name>xlname_</name> | |
| 1038 | - <field>name</field> | |
| 973 | + <name>xlid</name> | |
| 974 | + <field>xl</field> | |
| 975 | + <condition>=</condition> | |
| 976 | + <name2/> | |
| 977 | + </key> | |
| 978 | + <key> | |
| 979 | + <name>ttid</name> | |
| 980 | + <field>ttinfo</field> | |
| 981 | + <condition>=</condition> | |
| 982 | + <name2/> | |
| 983 | + </key> | |
| 984 | + <key> | |
| 985 | + <name>lpid</name> | |
| 986 | + <field>lp</field> | |
| 987 | + <condition>=</condition> | |
| 988 | + <name2/> | |
| 989 | + </key> | |
| 990 | + <key> | |
| 991 | + <name>fcno</name> | |
| 992 | + <field>fcno</field> | |
| 993 | + <condition>=</condition> | |
| 994 | + <name2/> | |
| 995 | + </key> | |
| 996 | + <key> | |
| 997 | + <name>bcs</name> | |
| 998 | + <field>bcs</field> | |
| 1039 | 999 | <condition>=</condition> |
| 1040 | 1000 | <name2/> |
| 1041 | 1001 | </key> |
| 1042 | 1002 | <value> |
| 1043 | - <name>id</name> | |
| 1003 | + <name>fcno</name> | |
| 1004 | + <rename>fcno</rename> | |
| 1005 | + <update>Y</update> | |
| 1006 | + </value> | |
| 1007 | + <value> | |
| 1008 | + <name>bcs</name> | |
| 1009 | + <rename>bcs</rename> | |
| 1010 | + <update>Y</update> | |
| 1011 | + </value> | |
| 1012 | + <value> | |
| 1013 | + <name>xl</name> | |
| 1044 | 1014 | <rename>xlid</rename> |
| 1045 | - <default/> | |
| 1046 | - <type>Integer</type> | |
| 1015 | + <update>Y</update> | |
| 1016 | + </value> | |
| 1017 | + <value> | |
| 1018 | + <name>ttinfo</name> | |
| 1019 | + <rename>ttid</rename> | |
| 1020 | + <update>Y</update> | |
| 1021 | + </value> | |
| 1022 | + <value> | |
| 1023 | + <name>lp</name> | |
| 1024 | + <rename>lpid</rename> | |
| 1025 | + <update>Y</update> | |
| 1026 | + </value> | |
| 1027 | + <value> | |
| 1028 | + <name>bc_type</name> | |
| 1029 | + <rename>bctype_code</rename> | |
| 1030 | + <update>Y</update> | |
| 1031 | + </value> | |
| 1032 | + <value> | |
| 1033 | + <name>bcsj</name> | |
| 1034 | + <rename>parade_time</rename> | |
| 1035 | + <update>Y</update> | |
| 1036 | + </value> | |
| 1037 | + <value> | |
| 1038 | + <name>jhlc</name> | |
| 1039 | + <rename>parade_mileage</rename> | |
| 1040 | + <update>Y</update> | |
| 1041 | + </value> | |
| 1042 | + <value> | |
| 1043 | + <name>fcsj</name> | |
| 1044 | + <rename>sendtime_calcu</rename> | |
| 1045 | + <update>Y</update> | |
| 1046 | + </value> | |
| 1047 | + <value> | |
| 1048 | + <name>xl_dir</name> | |
| 1049 | + <rename>sxx</rename> | |
| 1050 | + <update>Y</update> | |
| 1051 | + </value> | |
| 1052 | + <value> | |
| 1053 | + <name>qdz</name> | |
| 1054 | + <rename>qdzid</rename> | |
| 1055 | + <update>Y</update> | |
| 1056 | + </value> | |
| 1057 | + <value> | |
| 1058 | + <name>tcc</name> | |
| 1059 | + <rename>zdzid</rename> | |
| 1060 | + <update>Y</update> | |
| 1061 | + </value> | |
| 1062 | + <value> | |
| 1063 | + <name>isfb</name> | |
| 1064 | + <rename>isfb</rename> | |
| 1065 | + <update>Y</update> | |
| 1047 | 1066 | </value> |
| 1048 | 1067 | </lookup> |
| 1049 | 1068 | <cluster_schema/> |
| 1050 | 1069 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1051 | - <xloc>1007</xloc> | |
| 1052 | - <yloc>43</yloc> | |
| 1070 | + <xloc>770</xloc> | |
| 1071 | + <yloc>923</yloc> | |
| 1053 | 1072 | <draw>Y</draw> |
| 1054 | 1073 | </GUI> |
| 1055 | 1074 | </step> |
| 1056 | 1075 | |
| 1057 | 1076 | <step> |
| 1058 | - <name>查找线路出场里程时间</name> | |
| 1059 | - <type>DBLookup</type> | |
| 1077 | + <name>时刻表明细信息Excel输入</name> | |
| 1078 | + <type>ExcelInput</type> | |
| 1060 | 1079 | <description/> |
| 1061 | 1080 | <distribute>Y</distribute> |
| 1062 | 1081 | <custom_distribution/> |
| ... | ... | @@ -1065,45 +1084,65 @@ |
| 1065 | 1084 | <method>none</method> |
| 1066 | 1085 | <schema_name/> |
| 1067 | 1086 | </partitioning> |
| 1068 | - <connection>bus_control_variable</connection> | |
| 1069 | - <cache>N</cache> | |
| 1070 | - <cache_load_all>N</cache_load_all> | |
| 1071 | - <cache_size>0</cache_size> | |
| 1072 | - <lookup> | |
| 1073 | - <schema/> | |
| 1074 | - <table>bsth_c_line_information</table> | |
| 1075 | - <orderby/> | |
| 1076 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1077 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1078 | - <key> | |
| 1079 | - <name>xlid</name> | |
| 1080 | - <field>line</field> | |
| 1081 | - <condition>=</condition> | |
| 1082 | - <name2/> | |
| 1083 | - </key> | |
| 1084 | - <value> | |
| 1085 | - <name>out_mileage</name> | |
| 1086 | - <rename>out_mileage</rename> | |
| 1087 | - <default/> | |
| 1088 | - <type>Number</type> | |
| 1089 | - </value> | |
| 1090 | - <value> | |
| 1091 | - <name>out_time</name> | |
| 1092 | - <rename>out_time</rename> | |
| 1093 | - <default/> | |
| 1094 | - <type>Number</type> | |
| 1095 | - </value> | |
| 1096 | - </lookup> | |
| 1087 | + <header>Y</header> | |
| 1088 | + <noempty>Y</noempty> | |
| 1089 | + <stoponempty>N</stoponempty> | |
| 1090 | + <filefield/> | |
| 1091 | + <sheetfield/> | |
| 1092 | + <sheetrownumfield/> | |
| 1093 | + <rownumfield/> | |
| 1094 | + <sheetfield/> | |
| 1095 | + <filefield/> | |
| 1096 | + <limit>0</limit> | |
| 1097 | + <encoding/> | |
| 1098 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 1099 | + <accept_filenames>N</accept_filenames> | |
| 1100 | + <accept_field/> | |
| 1101 | + <accept_stepname/> | |
| 1102 | + <file> | |
| 1103 | + <name/> | |
| 1104 | + <filemask/> | |
| 1105 | + <exclude_filemask/> | |
| 1106 | + <file_required>N</file_required> | |
| 1107 | + <include_subfolders>N</include_subfolders> | |
| 1108 | + </file> | |
| 1109 | + <fields> | |
| 1110 | + </fields> | |
| 1111 | + <sheets> | |
| 1112 | + <sheet> | |
| 1113 | + <name>工作表1</name> | |
| 1114 | + <startrow>0</startrow> | |
| 1115 | + <startcol>0</startcol> | |
| 1116 | + </sheet> | |
| 1117 | + </sheets> | |
| 1118 | + <strict_types>N</strict_types> | |
| 1119 | + <error_ignored>N</error_ignored> | |
| 1120 | + <error_line_skipped>N</error_line_skipped> | |
| 1121 | + <bad_line_files_destination_directory/> | |
| 1122 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 1123 | + <error_line_files_destination_directory/> | |
| 1124 | + <error_line_files_extension>error</error_line_files_extension> | |
| 1125 | + <line_number_files_destination_directory/> | |
| 1126 | + <line_number_files_extension>line</line_number_files_extension> | |
| 1127 | + <shortFileFieldName/> | |
| 1128 | + <pathFieldName/> | |
| 1129 | + <hiddenFieldName/> | |
| 1130 | + <lastModificationTimeFieldName/> | |
| 1131 | + <uriNameFieldName/> | |
| 1132 | + <rootUriNameFieldName/> | |
| 1133 | + <extensionFieldName/> | |
| 1134 | + <sizeFieldName/> | |
| 1135 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 1097 | 1136 | <cluster_schema/> |
| 1098 | 1137 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1099 | - <xloc>335</xloc> | |
| 1100 | - <yloc>763</yloc> | |
| 1138 | + <xloc>112</xloc> | |
| 1139 | + <yloc>44</yloc> | |
| 1101 | 1140 | <draw>Y</draw> |
| 1102 | 1141 | </GUI> |
| 1103 | 1142 | </step> |
| 1104 | 1143 | |
| 1105 | 1144 | <step> |
| 1106 | - <name>查找线路进场里程时间</name> | |
| 1145 | + <name>查找停车场1</name> | |
| 1107 | 1146 | <type>DBLookup</type> |
| 1108 | 1147 | <description/> |
| 1109 | 1148 | <distribute>Y</distribute> |
| ... | ... | @@ -1119,39 +1158,33 @@ |
| 1119 | 1158 | <cache_size>0</cache_size> |
| 1120 | 1159 | <lookup> |
| 1121 | 1160 | <schema/> |
| 1122 | - <table>bsth_c_line_information</table> | |
| 1161 | + <table>bsth_c_car_park</table> | |
| 1123 | 1162 | <orderby/> |
| 1124 | 1163 | <fail_on_multiple>N</fail_on_multiple> |
| 1125 | 1164 | <eat_row_on_failure>N</eat_row_on_failure> |
| 1126 | 1165 | <key> |
| 1127 | - <name>xlid</name> | |
| 1128 | - <field>line</field> | |
| 1166 | + <name>tccname_</name> | |
| 1167 | + <field>park_name</field> | |
| 1129 | 1168 | <condition>=</condition> |
| 1130 | 1169 | <name2/> |
| 1131 | 1170 | </key> |
| 1132 | 1171 | <value> |
| 1133 | - <name>parade_mileage</name> | |
| 1134 | - <rename>parade_mileage</rename> | |
| 1135 | - <default/> | |
| 1136 | - <type>Number</type> | |
| 1137 | - </value> | |
| 1138 | - <value> | |
| 1139 | - <name>parade_time</name> | |
| 1140 | - <rename>parade_time</rename> | |
| 1172 | + <name>id</name> | |
| 1173 | + <rename>qdzid</rename> | |
| 1141 | 1174 | <default/> |
| 1142 | - <type>Number</type> | |
| 1175 | + <type>Integer</type> | |
| 1143 | 1176 | </value> |
| 1144 | 1177 | </lookup> |
| 1145 | 1178 | <cluster_schema/> |
| 1146 | 1179 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1147 | - <xloc>550</xloc> | |
| 1148 | - <yloc>920</yloc> | |
| 1180 | + <xloc>755</xloc> | |
| 1181 | + <yloc>504</yloc> | |
| 1149 | 1182 | <draw>Y</draw> |
| 1150 | 1183 | </GUI> |
| 1151 | 1184 | </step> |
| 1152 | 1185 | |
| 1153 | 1186 | <step> |
| 1154 | - <name>查找终点站关联</name> | |
| 1187 | + <name>查找停车场2</name> | |
| 1155 | 1188 | <type>DBLookup</type> |
| 1156 | 1189 | <description/> |
| 1157 | 1190 | <distribute>Y</distribute> |
| ... | ... | @@ -1167,36 +1200,18 @@ |
| 1167 | 1200 | <cache_size>0</cache_size> |
| 1168 | 1201 | <lookup> |
| 1169 | 1202 | <schema/> |
| 1170 | - <table>bsth_c_stationroute</table> | |
| 1203 | + <table>bsth_c_car_park</table> | |
| 1171 | 1204 | <orderby/> |
| 1172 | 1205 | <fail_on_multiple>N</fail_on_multiple> |
| 1173 | 1206 | <eat_row_on_failure>N</eat_row_on_failure> |
| 1174 | 1207 | <key> |
| 1175 | - <name>xlid</name> | |
| 1176 | - <field>line</field> | |
| 1177 | - <condition>=</condition> | |
| 1178 | - <name2/> | |
| 1179 | - </key> | |
| 1180 | - <key> | |
| 1181 | - <name>sxx</name> | |
| 1182 | - <field>directions</field> | |
| 1183 | - <condition>=</condition> | |
| 1184 | - <name2/> | |
| 1185 | - </key> | |
| 1186 | - <key> | |
| 1187 | - <name>endZdtype</name> | |
| 1188 | - <field>station_mark</field> | |
| 1208 | + <name>tccname_</name> | |
| 1209 | + <field>park_name</field> | |
| 1189 | 1210 | <condition>=</condition> |
| 1190 | 1211 | <name2/> |
| 1191 | 1212 | </key> |
| 1192 | 1213 | <value> |
| 1193 | - <name>station_name</name> | |
| 1194 | - <rename>zdzname</rename> | |
| 1195 | - <default/> | |
| 1196 | - <type>String</type> | |
| 1197 | - </value> | |
| 1198 | - <value> | |
| 1199 | - <name>station</name> | |
| 1214 | + <name>id</name> | |
| 1200 | 1215 | <rename>zdzid</rename> |
| 1201 | 1216 | <default/> |
| 1202 | 1217 | <type>Integer</type> |
| ... | ... | @@ -1204,14 +1219,14 @@ |
| 1204 | 1219 | </lookup> |
| 1205 | 1220 | <cluster_schema/> |
| 1206 | 1221 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1207 | - <xloc>280</xloc> | |
| 1208 | - <yloc>404</yloc> | |
| 1222 | + <xloc>887</xloc> | |
| 1223 | + <yloc>608</yloc> | |
| 1209 | 1224 | <draw>Y</draw> |
| 1210 | 1225 | </GUI> |
| 1211 | 1226 | </step> |
| 1212 | 1227 | |
| 1213 | 1228 | <step> |
| 1214 | - <name>查找起点站关联并确定上下行</name> | |
| 1229 | + <name>查找出场终点站关联并确定上下行</name> | |
| 1215 | 1230 | <type>DBLookup</type> |
| 1216 | 1231 | <description/> |
| 1217 | 1232 | <distribute>Y</distribute> |
| ... | ... | @@ -1238,20 +1253,20 @@ |
| 1238 | 1253 | <name2/> |
| 1239 | 1254 | </key> |
| 1240 | 1255 | <key> |
| 1241 | - <name>qdzname</name> | |
| 1256 | + <name>zdzname</name> | |
| 1242 | 1257 | <field>station_name</field> |
| 1243 | 1258 | <condition>=</condition> |
| 1244 | 1259 | <name2/> |
| 1245 | 1260 | </key> |
| 1246 | 1261 | <key> |
| 1247 | - <name>sendZdtype</name> | |
| 1262 | + <name>endZdtype</name> | |
| 1248 | 1263 | <field>station_mark</field> |
| 1249 | 1264 | <condition>=</condition> |
| 1250 | 1265 | <name2/> |
| 1251 | 1266 | </key> |
| 1252 | 1267 | <value> |
| 1253 | 1268 | <name>station</name> |
| 1254 | - <rename>qdzid</rename> | |
| 1269 | + <rename>zdzid</rename> | |
| 1255 | 1270 | <default/> |
| 1256 | 1271 | <type>Integer</type> |
| 1257 | 1272 | </value> |
| ... | ... | @@ -1264,14 +1279,14 @@ |
| 1264 | 1279 | </lookup> |
| 1265 | 1280 | <cluster_schema/> |
| 1266 | 1281 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1267 | - <xloc>430</xloc> | |
| 1268 | - <yloc>403</yloc> | |
| 1282 | + <xloc>329</xloc> | |
| 1283 | + <yloc>505</yloc> | |
| 1269 | 1284 | <draw>Y</draw> |
| 1270 | 1285 | </GUI> |
| 1271 | 1286 | </step> |
| 1272 | 1287 | |
| 1273 | 1288 | <step> |
| 1274 | - <name>查找路牌关联</name> | |
| 1289 | + <name>查找时刻表基础信息关联</name> | |
| 1275 | 1290 | <type>DBLookup</type> |
| 1276 | 1291 | <description/> |
| 1277 | 1292 | <distribute>Y</distribute> |
| ... | ... | @@ -1287,7 +1302,7 @@ |
| 1287 | 1302 | <cache_size>0</cache_size> |
| 1288 | 1303 | <lookup> |
| 1289 | 1304 | <schema/> |
| 1290 | - <table>bsth_c_s_gbi</table> | |
| 1305 | + <table>bsth_c_s_ttinfo</table> | |
| 1291 | 1306 | <orderby/> |
| 1292 | 1307 | <fail_on_multiple>N</fail_on_multiple> |
| 1293 | 1308 | <eat_row_on_failure>N</eat_row_on_failure> |
| ... | ... | @@ -1298,28 +1313,34 @@ |
| 1298 | 1313 | <name2/> |
| 1299 | 1314 | </key> |
| 1300 | 1315 | <key> |
| 1301 | - <name>lp</name> | |
| 1302 | - <field>lp_name</field> | |
| 1316 | + <name>ttinfoname_</name> | |
| 1317 | + <field>name</field> | |
| 1318 | + <condition>=</condition> | |
| 1319 | + <name2/> | |
| 1320 | + </key> | |
| 1321 | + <key> | |
| 1322 | + <name>iscanceled</name> | |
| 1323 | + <field>is_cancel</field> | |
| 1303 | 1324 | <condition>=</condition> |
| 1304 | 1325 | <name2/> |
| 1305 | 1326 | </key> |
| 1306 | 1327 | <value> |
| 1307 | 1328 | <name>id</name> |
| 1308 | - <rename>lpid</rename> | |
| 1329 | + <rename>ttid</rename> | |
| 1309 | 1330 | <default/> |
| 1310 | 1331 | <type>Integer</type> |
| 1311 | 1332 | </value> |
| 1312 | 1333 | </lookup> |
| 1313 | 1334 | <cluster_schema/> |
| 1314 | 1335 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1315 | - <xloc>1013</xloc> | |
| 1316 | - <yloc>265</yloc> | |
| 1336 | + <xloc>1011</xloc> | |
| 1337 | + <yloc>134</yloc> | |
| 1317 | 1338 | <draw>Y</draw> |
| 1318 | 1339 | </GUI> |
| 1319 | 1340 | </step> |
| 1320 | 1341 | |
| 1321 | 1342 | <step> |
| 1322 | - <name>查找进场班次上一个班次的线路方向</name> | |
| 1343 | + <name>查找线路上下行里程时间</name> | |
| 1323 | 1344 | <type>DBLookup</type> |
| 1324 | 1345 | <description/> |
| 1325 | 1346 | <distribute>Y</distribute> |
| ... | ... | @@ -1335,7 +1356,7 @@ |
| 1335 | 1356 | <cache_size>0</cache_size> |
| 1336 | 1357 | <lookup> |
| 1337 | 1358 | <schema/> |
| 1338 | - <table>bsth_c_stationroute</table> | |
| 1359 | + <table>bsth_c_line_information</table> | |
| 1339 | 1360 | <orderby/> |
| 1340 | 1361 | <fail_on_multiple>N</fail_on_multiple> |
| 1341 | 1362 | <eat_row_on_failure>N</eat_row_on_failure> |
| ... | ... | @@ -1345,35 +1366,41 @@ |
| 1345 | 1366 | <condition>=</condition> |
| 1346 | 1367 | <name2/> |
| 1347 | 1368 | </key> |
| 1348 | - <key> | |
| 1349 | - <name>startZdtype_calcu</name> | |
| 1350 | - <field>station_mark</field> | |
| 1351 | - <condition>=</condition> | |
| 1352 | - <name2/> | |
| 1353 | - </key> | |
| 1354 | - <key> | |
| 1355 | - <name>qdzname_calcu</name> | |
| 1356 | - <field>station_name</field> | |
| 1357 | - <condition>=</condition> | |
| 1358 | - <name2/> | |
| 1359 | - </key> | |
| 1360 | 1369 | <value> |
| 1361 | - <name>directions</name> | |
| 1362 | - <rename>sxx</rename> | |
| 1370 | + <name>up_mileage</name> | |
| 1371 | + <rename>up_mileage</rename> | |
| 1363 | 1372 | <default/> |
| 1364 | - <type>String</type> | |
| 1373 | + <type>Number</type> | |
| 1374 | + </value> | |
| 1375 | + <value> | |
| 1376 | + <name>down_mileage</name> | |
| 1377 | + <rename>down_mileage</rename> | |
| 1378 | + <default/> | |
| 1379 | + <type>Number</type> | |
| 1380 | + </value> | |
| 1381 | + <value> | |
| 1382 | + <name>up_travel_time</name> | |
| 1383 | + <rename>up_travel_time</rename> | |
| 1384 | + <default/> | |
| 1385 | + <type>Number</type> | |
| 1386 | + </value> | |
| 1387 | + <value> | |
| 1388 | + <name>down_travel_time</name> | |
| 1389 | + <rename>down_travel_time</rename> | |
| 1390 | + <default/> | |
| 1391 | + <type>Number</type> | |
| 1365 | 1392 | </value> |
| 1366 | 1393 | </lookup> |
| 1367 | 1394 | <cluster_schema/> |
| 1368 | 1395 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1369 | - <xloc>548</xloc> | |
| 1370 | - <yloc>610</yloc> | |
| 1396 | + <xloc>149</xloc> | |
| 1397 | + <yloc>581</yloc> | |
| 1371 | 1398 | <draw>Y</draw> |
| 1372 | 1399 | </GUI> |
| 1373 | 1400 | </step> |
| 1374 | 1401 | |
| 1375 | 1402 | <step> |
| 1376 | - <name>查找进场班次上一个班次的终点站,并作为进场班次的起点站</name> | |
| 1403 | + <name>查找线路关联</name> | |
| 1377 | 1404 | <type>DBLookup</type> |
| 1378 | 1405 | <description/> |
| 1379 | 1406 | <distribute>Y</distribute> |
| ... | ... | @@ -1389,46 +1416,34 @@ |
| 1389 | 1416 | <cache_size>0</cache_size> |
| 1390 | 1417 | <lookup> |
| 1391 | 1418 | <schema/> |
| 1392 | - <table>bsth_c_stationroute</table> | |
| 1419 | + <table>bsth_c_line</table> | |
| 1393 | 1420 | <orderby/> |
| 1394 | 1421 | <fail_on_multiple>N</fail_on_multiple> |
| 1395 | 1422 | <eat_row_on_failure>N</eat_row_on_failure> |
| 1396 | 1423 | <key> |
| 1397 | - <name>xlid</name> | |
| 1398 | - <field>line</field> | |
| 1399 | - <condition>=</condition> | |
| 1400 | - <name2/> | |
| 1401 | - </key> | |
| 1402 | - <key> | |
| 1403 | - <name>endZdtype_calcu</name> | |
| 1404 | - <field>station_mark</field> | |
| 1405 | - <condition>=</condition> | |
| 1406 | - <name2/> | |
| 1407 | - </key> | |
| 1408 | - <key> | |
| 1409 | - <name>sxx</name> | |
| 1410 | - <field>directions</field> | |
| 1424 | + <name>xlname_</name> | |
| 1425 | + <field>name</field> | |
| 1411 | 1426 | <condition>=</condition> |
| 1412 | 1427 | <name2/> |
| 1413 | 1428 | </key> |
| 1414 | 1429 | <value> |
| 1415 | - <name>station</name> | |
| 1416 | - <rename>qdzid</rename> | |
| 1430 | + <name>id</name> | |
| 1431 | + <rename>xlid</rename> | |
| 1417 | 1432 | <default/> |
| 1418 | 1433 | <type>Integer</type> |
| 1419 | 1434 | </value> |
| 1420 | 1435 | </lookup> |
| 1421 | 1436 | <cluster_schema/> |
| 1422 | 1437 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1423 | - <xloc>550</xloc> | |
| 1424 | - <yloc>701</yloc> | |
| 1438 | + <xloc>1007</xloc> | |
| 1439 | + <yloc>43</yloc> | |
| 1425 | 1440 | <draw>Y</draw> |
| 1426 | 1441 | </GUI> |
| 1427 | 1442 | </step> |
| 1428 | 1443 | |
| 1429 | 1444 | <step> |
| 1430 | - <name>正常班次_处理数据</name> | |
| 1431 | - <type>ScriptValueMod</type> | |
| 1445 | + <name>查找线路出场里程时间</name> | |
| 1446 | + <type>DBLookup</type> | |
| 1432 | 1447 | <description/> |
| 1433 | 1448 | <distribute>Y</distribute> |
| 1434 | 1449 | <custom_distribution/> |
| ... | ... | @@ -1437,34 +1452,46 @@ |
| 1437 | 1452 | <method>none</method> |
| 1438 | 1453 | <schema_name/> |
| 1439 | 1454 | </partitioning> |
| 1440 | - <compatible>N</compatible> | |
| 1441 | - <optimizationLevel>9</optimizationLevel> | |
| 1442 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 1443 | - <jsScript_name>Script 1</jsScript_name> | |
| 1444 | - <jsScript_script>//Script here

// 添加站点标识
var sendZdtype = 'B';
var endZdtype = 'E';
</jsScript_script> | |
| 1445 | - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name> | |
| 1446 | - <rename>sendZdtype</rename> | |
| 1447 | - <type>String</type> | |
| 1448 | - <length>-1</length> | |
| 1449 | - <precision>-1</precision> | |
| 1450 | - <replace>N</replace> | |
| 1451 | - </field> <field> <name>endZdtype</name> | |
| 1452 | - <rename>endZdtype</rename> | |
| 1453 | - <type>String</type> | |
| 1454 | - <length>-1</length> | |
| 1455 | - <precision>-1</precision> | |
| 1456 | - <replace>N</replace> | |
| 1457 | - </field> </fields> <cluster_schema/> | |
| 1455 | + <connection>bus_control_variable</connection> | |
| 1456 | + <cache>N</cache> | |
| 1457 | + <cache_load_all>N</cache_load_all> | |
| 1458 | + <cache_size>0</cache_size> | |
| 1459 | + <lookup> | |
| 1460 | + <schema/> | |
| 1461 | + <table>bsth_c_line_information</table> | |
| 1462 | + <orderby/> | |
| 1463 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1464 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1465 | + <key> | |
| 1466 | + <name>xlid</name> | |
| 1467 | + <field>line</field> | |
| 1468 | + <condition>=</condition> | |
| 1469 | + <name2/> | |
| 1470 | + </key> | |
| 1471 | + <value> | |
| 1472 | + <name>out_mileage</name> | |
| 1473 | + <rename>out_mileage</rename> | |
| 1474 | + <default/> | |
| 1475 | + <type>Number</type> | |
| 1476 | + </value> | |
| 1477 | + <value> | |
| 1478 | + <name>out_time</name> | |
| 1479 | + <rename>out_time</rename> | |
| 1480 | + <default/> | |
| 1481 | + <type>Number</type> | |
| 1482 | + </value> | |
| 1483 | + </lookup> | |
| 1484 | + <cluster_schema/> | |
| 1458 | 1485 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1459 | - <xloc>588</xloc> | |
| 1460 | - <yloc>403</yloc> | |
| 1486 | + <xloc>335</xloc> | |
| 1487 | + <yloc>763</yloc> | |
| 1461 | 1488 | <draw>Y</draw> |
| 1462 | 1489 | </GUI> |
| 1463 | 1490 | </step> |
| 1464 | 1491 | |
| 1465 | 1492 | <step> |
| 1466 | - <name>正常班次数据</name> | |
| 1467 | - <type>Dummy</type> | |
| 1493 | + <name>查找线路进场里程时间</name> | |
| 1494 | + <type>DBLookup</type> | |
| 1468 | 1495 | <description/> |
| 1469 | 1496 | <distribute>Y</distribute> |
| 1470 | 1497 | <custom_distribution/> |
| ... | ... | @@ -1473,17 +1500,46 @@ |
| 1473 | 1500 | <method>none</method> |
| 1474 | 1501 | <schema_name/> |
| 1475 | 1502 | </partitioning> |
| 1503 | + <connection>bus_control_variable</connection> | |
| 1504 | + <cache>N</cache> | |
| 1505 | + <cache_load_all>N</cache_load_all> | |
| 1506 | + <cache_size>0</cache_size> | |
| 1507 | + <lookup> | |
| 1508 | + <schema/> | |
| 1509 | + <table>bsth_c_line_information</table> | |
| 1510 | + <orderby/> | |
| 1511 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1512 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1513 | + <key> | |
| 1514 | + <name>xlid</name> | |
| 1515 | + <field>line</field> | |
| 1516 | + <condition>=</condition> | |
| 1517 | + <name2/> | |
| 1518 | + </key> | |
| 1519 | + <value> | |
| 1520 | + <name>parade_mileage</name> | |
| 1521 | + <rename>parade_mileage</rename> | |
| 1522 | + <default/> | |
| 1523 | + <type>Number</type> | |
| 1524 | + </value> | |
| 1525 | + <value> | |
| 1526 | + <name>parade_time</name> | |
| 1527 | + <rename>parade_time</rename> | |
| 1528 | + <default/> | |
| 1529 | + <type>Number</type> | |
| 1530 | + </value> | |
| 1531 | + </lookup> | |
| 1476 | 1532 | <cluster_schema/> |
| 1477 | 1533 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1478 | - <xloc>725</xloc> | |
| 1479 | - <yloc>404</yloc> | |
| 1534 | + <xloc>550</xloc> | |
| 1535 | + <yloc>920</yloc> | |
| 1480 | 1536 | <draw>Y</draw> |
| 1481 | 1537 | </GUI> |
| 1482 | 1538 | </step> |
| 1483 | 1539 | |
| 1484 | 1540 | <step> |
| 1485 | - <name>添加发车顺序号</name> | |
| 1486 | - <type>GroupBy</type> | |
| 1541 | + <name>查找终点站关联</name> | |
| 1542 | + <type>DBLookup</type> | |
| 1487 | 1543 | <description/> |
| 1488 | 1544 | <distribute>Y</distribute> |
| 1489 | 1545 | <custom_distribution/> |
| ... | ... | @@ -1492,32 +1548,58 @@ |
| 1492 | 1548 | <method>none</method> |
| 1493 | 1549 | <schema_name/> |
| 1494 | 1550 | </partitioning> |
| 1495 | - <all_rows>Y</all_rows> | |
| 1496 | - <ignore_aggregate>N</ignore_aggregate> | |
| 1497 | - <field_ignore/> | |
| 1498 | - <directory>%%java.io.tmpdir%%</directory> | |
| 1499 | - <prefix>grp</prefix> | |
| 1500 | - <add_linenr>Y</add_linenr> | |
| 1501 | - <linenr_fieldname>fcno</linenr_fieldname> | |
| 1502 | - <give_back_row>N</give_back_row> | |
| 1503 | - <group> | |
| 1504 | - <field> | |
| 1505 | - <name>lp</name> | |
| 1506 | - </field> | |
| 1507 | - </group> | |
| 1508 | - <fields> | |
| 1509 | - </fields> | |
| 1551 | + <connection>bus_control_variable</connection> | |
| 1552 | + <cache>N</cache> | |
| 1553 | + <cache_load_all>N</cache_load_all> | |
| 1554 | + <cache_size>0</cache_size> | |
| 1555 | + <lookup> | |
| 1556 | + <schema/> | |
| 1557 | + <table>bsth_c_stationroute</table> | |
| 1558 | + <orderby/> | |
| 1559 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1560 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1561 | + <key> | |
| 1562 | + <name>xlid</name> | |
| 1563 | + <field>line</field> | |
| 1564 | + <condition>=</condition> | |
| 1565 | + <name2/> | |
| 1566 | + </key> | |
| 1567 | + <key> | |
| 1568 | + <name>sxx</name> | |
| 1569 | + <field>directions</field> | |
| 1570 | + <condition>=</condition> | |
| 1571 | + <name2/> | |
| 1572 | + </key> | |
| 1573 | + <key> | |
| 1574 | + <name>endZdtype</name> | |
| 1575 | + <field>station_mark</field> | |
| 1576 | + <condition>=</condition> | |
| 1577 | + <name2/> | |
| 1578 | + </key> | |
| 1579 | + <value> | |
| 1580 | + <name>station_name</name> | |
| 1581 | + <rename>zdzname</rename> | |
| 1582 | + <default/> | |
| 1583 | + <type>String</type> | |
| 1584 | + </value> | |
| 1585 | + <value> | |
| 1586 | + <name>station</name> | |
| 1587 | + <rename>zdzid</rename> | |
| 1588 | + <default/> | |
| 1589 | + <type>Integer</type> | |
| 1590 | + </value> | |
| 1591 | + </lookup> | |
| 1510 | 1592 | <cluster_schema/> |
| 1511 | 1593 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1512 | - <xloc>442</xloc> | |
| 1513 | - <yloc>44</yloc> | |
| 1594 | + <xloc>280</xloc> | |
| 1595 | + <yloc>404</yloc> | |
| 1514 | 1596 | <draw>Y</draw> |
| 1515 | 1597 | </GUI> |
| 1516 | 1598 | </step> |
| 1517 | 1599 | |
| 1518 | 1600 | <step> |
| 1519 | - <name>添加对应班次数</name> | |
| 1520 | - <type>GroupBy</type> | |
| 1601 | + <name>查找起点站关联并确定上下行</name> | |
| 1602 | + <type>DBLookup</type> | |
| 1521 | 1603 | <description/> |
| 1522 | 1604 | <distribute>Y</distribute> |
| 1523 | 1605 | <custom_distribution/> |
| ... | ... | @@ -1526,29 +1608,58 @@ |
| 1526 | 1608 | <method>none</method> |
| 1527 | 1609 | <schema_name/> |
| 1528 | 1610 | </partitioning> |
| 1529 | - <all_rows>Y</all_rows> | |
| 1530 | - <ignore_aggregate>N</ignore_aggregate> | |
| 1531 | - <field_ignore/> | |
| 1532 | - <directory>%%java.io.tmpdir%%</directory> | |
| 1533 | - <prefix>grp</prefix> | |
| 1534 | - <add_linenr>Y</add_linenr> | |
| 1535 | - <linenr_fieldname>bcs</linenr_fieldname> | |
| 1536 | - <give_back_row>N</give_back_row> | |
| 1537 | - <group> | |
| 1538 | - </group> | |
| 1539 | - <fields> | |
| 1540 | - </fields> | |
| 1611 | + <connection>bus_control_variable</connection> | |
| 1612 | + <cache>N</cache> | |
| 1613 | + <cache_load_all>N</cache_load_all> | |
| 1614 | + <cache_size>0</cache_size> | |
| 1615 | + <lookup> | |
| 1616 | + <schema/> | |
| 1617 | + <table>bsth_c_stationroute</table> | |
| 1618 | + <orderby/> | |
| 1619 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1620 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1621 | + <key> | |
| 1622 | + <name>xlid</name> | |
| 1623 | + <field>line</field> | |
| 1624 | + <condition>=</condition> | |
| 1625 | + <name2/> | |
| 1626 | + </key> | |
| 1627 | + <key> | |
| 1628 | + <name>qdzname</name> | |
| 1629 | + <field>station_name</field> | |
| 1630 | + <condition>=</condition> | |
| 1631 | + <name2/> | |
| 1632 | + </key> | |
| 1633 | + <key> | |
| 1634 | + <name>sendZdtype</name> | |
| 1635 | + <field>station_mark</field> | |
| 1636 | + <condition>=</condition> | |
| 1637 | + <name2/> | |
| 1638 | + </key> | |
| 1639 | + <value> | |
| 1640 | + <name>station</name> | |
| 1641 | + <rename>qdzid</rename> | |
| 1642 | + <default/> | |
| 1643 | + <type>Integer</type> | |
| 1644 | + </value> | |
| 1645 | + <value> | |
| 1646 | + <name>directions</name> | |
| 1647 | + <rename>sxx</rename> | |
| 1648 | + <default/> | |
| 1649 | + <type>Integer</type> | |
| 1650 | + </value> | |
| 1651 | + </lookup> | |
| 1541 | 1652 | <cluster_schema/> |
| 1542 | 1653 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1543 | - <xloc>692</xloc> | |
| 1544 | - <yloc>44</yloc> | |
| 1654 | + <xloc>430</xloc> | |
| 1655 | + <yloc>403</yloc> | |
| 1545 | 1656 | <draw>Y</draw> |
| 1546 | 1657 | </GUI> |
| 1547 | 1658 | </step> |
| 1548 | 1659 | |
| 1549 | 1660 | <step> |
| 1550 | - <name>班次数据范式化</name> | |
| 1551 | - <type>Normaliser</type> | |
| 1661 | + <name>查找路牌关联</name> | |
| 1662 | + <type>DBLookup</type> | |
| 1552 | 1663 | <description/> |
| 1553 | 1664 | <distribute>Y</distribute> |
| 1554 | 1665 | <custom_distribution/> |
| ... | ... | @@ -1557,18 +1668,46 @@ |
| 1557 | 1668 | <method>none</method> |
| 1558 | 1669 | <schema_name/> |
| 1559 | 1670 | </partitioning> |
| 1560 | - <typefield>站点名称</typefield> | |
| 1561 | - <fields> </fields> <cluster_schema/> | |
| 1671 | + <connection>bus_control_variable</connection> | |
| 1672 | + <cache>N</cache> | |
| 1673 | + <cache_load_all>N</cache_load_all> | |
| 1674 | + <cache_size>0</cache_size> | |
| 1675 | + <lookup> | |
| 1676 | + <schema/> | |
| 1677 | + <table>bsth_c_s_gbi</table> | |
| 1678 | + <orderby/> | |
| 1679 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1680 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1681 | + <key> | |
| 1682 | + <name>xlid</name> | |
| 1683 | + <field>xl</field> | |
| 1684 | + <condition>=</condition> | |
| 1685 | + <name2/> | |
| 1686 | + </key> | |
| 1687 | + <key> | |
| 1688 | + <name>lp</name> | |
| 1689 | + <field>lp_name</field> | |
| 1690 | + <condition>=</condition> | |
| 1691 | + <name2/> | |
| 1692 | + </key> | |
| 1693 | + <value> | |
| 1694 | + <name>id</name> | |
| 1695 | + <rename>lpid</rename> | |
| 1696 | + <default/> | |
| 1697 | + <type>Integer</type> | |
| 1698 | + </value> | |
| 1699 | + </lookup> | |
| 1700 | + <cluster_schema/> | |
| 1562 | 1701 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1563 | - <xloc>248</xloc> | |
| 1564 | - <yloc>44</yloc> | |
| 1702 | + <xloc>1013</xloc> | |
| 1703 | + <yloc>265</yloc> | |
| 1565 | 1704 | <draw>Y</draw> |
| 1566 | 1705 | </GUI> |
| 1567 | 1706 | </step> |
| 1568 | 1707 | |
| 1569 | 1708 | <step> |
| 1570 | - <name>班次类型字典</name> | |
| 1571 | - <type>ValueMapper</type> | |
| 1709 | + <name>查找进场班次上一个班次的线路方向</name> | |
| 1710 | + <type>DBLookup</type> | |
| 1572 | 1711 | <description/> |
| 1573 | 1712 | <distribute>Y</distribute> |
| 1574 | 1713 | <custom_distribution/> |
| ... | ... | @@ -1577,54 +1716,52 @@ |
| 1577 | 1716 | <method>none</method> |
| 1578 | 1717 | <schema_name/> |
| 1579 | 1718 | </partitioning> |
| 1580 | - <field_to_use>bctype</field_to_use> | |
| 1581 | - <target_field>bctype_code</target_field> | |
| 1582 | - <non_match_default>未知类型</non_match_default> | |
| 1583 | - <fields> | |
| 1584 | - <field> | |
| 1585 | - <source_value>正常班次</source_value> | |
| 1586 | - <target_value>normal</target_value> | |
| 1587 | - </field> | |
| 1588 | - <field> | |
| 1589 | - <source_value>出场</source_value> | |
| 1590 | - <target_value>out</target_value> | |
| 1591 | - </field> | |
| 1592 | - <field> | |
| 1593 | - <source_value>进场</source_value> | |
| 1594 | - <target_value>in</target_value> | |
| 1595 | - </field> | |
| 1596 | - <field> | |
| 1597 | - <source_value>加油</source_value> | |
| 1598 | - <target_value>oil</target_value> | |
| 1599 | - </field> | |
| 1600 | - <field> | |
| 1601 | - <source_value>临加</source_value> | |
| 1602 | - <target_value>temp</target_value> | |
| 1603 | - </field> | |
| 1604 | - <field> | |
| 1605 | - <source_value>区间</source_value> | |
| 1606 | - <target_value>region</target_value> | |
| 1607 | - </field> | |
| 1608 | - <field> | |
| 1609 | - <source_value>放空</source_value> | |
| 1610 | - <target_value>venting</target_value> | |
| 1611 | - </field> | |
| 1612 | - <field> | |
| 1613 | - <source_value>放大站</source_value> | |
| 1614 | - <target_value>major</target_value> | |
| 1615 | - </field> | |
| 1616 | - </fields> | |
| 1719 | + <connection>bus_control_variable</connection> | |
| 1720 | + <cache>N</cache> | |
| 1721 | + <cache_load_all>N</cache_load_all> | |
| 1722 | + <cache_size>0</cache_size> | |
| 1723 | + <lookup> | |
| 1724 | + <schema/> | |
| 1725 | + <table>bsth_c_stationroute</table> | |
| 1726 | + <orderby/> | |
| 1727 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1728 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1729 | + <key> | |
| 1730 | + <name>xlid</name> | |
| 1731 | + <field>line</field> | |
| 1732 | + <condition>=</condition> | |
| 1733 | + <name2/> | |
| 1734 | + </key> | |
| 1735 | + <key> | |
| 1736 | + <name>startZdtype_calcu</name> | |
| 1737 | + <field>station_mark</field> | |
| 1738 | + <condition>=</condition> | |
| 1739 | + <name2/> | |
| 1740 | + </key> | |
| 1741 | + <key> | |
| 1742 | + <name>qdzname_calcu</name> | |
| 1743 | + <field>station_name</field> | |
| 1744 | + <condition>=</condition> | |
| 1745 | + <name2/> | |
| 1746 | + </key> | |
| 1747 | + <value> | |
| 1748 | + <name>directions</name> | |
| 1749 | + <rename>sxx</rename> | |
| 1750 | + <default/> | |
| 1751 | + <type>String</type> | |
| 1752 | + </value> | |
| 1753 | + </lookup> | |
| 1617 | 1754 | <cluster_schema/> |
| 1618 | 1755 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1619 | - <xloc>149</xloc> | |
| 1620 | - <yloc>491</yloc> | |
| 1756 | + <xloc>548</xloc> | |
| 1757 | + <yloc>610</yloc> | |
| 1621 | 1758 | <draw>Y</draw> |
| 1622 | 1759 | </GUI> |
| 1623 | 1760 | </step> |
| 1624 | 1761 | |
| 1625 | 1762 | <step> |
| 1626 | - <name>班次类型字典 2</name> | |
| 1627 | - <type>ValueMapper</type> | |
| 1763 | + <name>查找进场班次上一个班次的终点站,并作为进场班次的起点站</name> | |
| 1764 | + <type>DBLookup</type> | |
| 1628 | 1765 | <description/> |
| 1629 | 1766 | <distribute>Y</distribute> |
| 1630 | 1767 | <custom_distribution/> |
| ... | ... | @@ -1633,54 +1770,52 @@ |
| 1633 | 1770 | <method>none</method> |
| 1634 | 1771 | <schema_name/> |
| 1635 | 1772 | </partitioning> |
| 1636 | - <field_to_use>bctype</field_to_use> | |
| 1637 | - <target_field>bctype_code</target_field> | |
| 1638 | - <non_match_default>未知类型</non_match_default> | |
| 1639 | - <fields> | |
| 1640 | - <field> | |
| 1641 | - <source_value>正常班次</source_value> | |
| 1642 | - <target_value>normal</target_value> | |
| 1643 | - </field> | |
| 1644 | - <field> | |
| 1645 | - <source_value>出场</source_value> | |
| 1646 | - <target_value>out</target_value> | |
| 1647 | - </field> | |
| 1648 | - <field> | |
| 1649 | - <source_value>进场</source_value> | |
| 1650 | - <target_value>in</target_value> | |
| 1651 | - </field> | |
| 1652 | - <field> | |
| 1653 | - <source_value>加油</source_value> | |
| 1654 | - <target_value>oil</target_value> | |
| 1655 | - </field> | |
| 1656 | - <field> | |
| 1657 | - <source_value>临加</source_value> | |
| 1658 | - <target_value>temp</target_value> | |
| 1659 | - </field> | |
| 1660 | - <field> | |
| 1661 | - <source_value>区间</source_value> | |
| 1662 | - <target_value>region</target_value> | |
| 1663 | - </field> | |
| 1664 | - <field> | |
| 1665 | - <source_value>放空</source_value> | |
| 1666 | - <target_value>venting</target_value> | |
| 1667 | - </field> | |
| 1668 | - <field> | |
| 1669 | - <source_value>放大站</source_value> | |
| 1670 | - <target_value>major</target_value> | |
| 1671 | - </field> | |
| 1672 | - </fields> | |
| 1773 | + <connection>bus_control_variable</connection> | |
| 1774 | + <cache>N</cache> | |
| 1775 | + <cache_load_all>N</cache_load_all> | |
| 1776 | + <cache_size>0</cache_size> | |
| 1777 | + <lookup> | |
| 1778 | + <schema/> | |
| 1779 | + <table>bsth_c_stationroute</table> | |
| 1780 | + <orderby/> | |
| 1781 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1782 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1783 | + <key> | |
| 1784 | + <name>xlid</name> | |
| 1785 | + <field>line</field> | |
| 1786 | + <condition>=</condition> | |
| 1787 | + <name2/> | |
| 1788 | + </key> | |
| 1789 | + <key> | |
| 1790 | + <name>endZdtype_calcu</name> | |
| 1791 | + <field>station_mark</field> | |
| 1792 | + <condition>=</condition> | |
| 1793 | + <name2/> | |
| 1794 | + </key> | |
| 1795 | + <key> | |
| 1796 | + <name>sxx</name> | |
| 1797 | + <field>directions</field> | |
| 1798 | + <condition>=</condition> | |
| 1799 | + <name2/> | |
| 1800 | + </key> | |
| 1801 | + <value> | |
| 1802 | + <name>station</name> | |
| 1803 | + <rename>qdzid</rename> | |
| 1804 | + <default/> | |
| 1805 | + <type>Integer</type> | |
| 1806 | + </value> | |
| 1807 | + </lookup> | |
| 1673 | 1808 | <cluster_schema/> |
| 1674 | 1809 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1675 | - <xloc>333</xloc> | |
| 1676 | - <yloc>681</yloc> | |
| 1810 | + <xloc>550</xloc> | |
| 1811 | + <yloc>701</yloc> | |
| 1677 | 1812 | <draw>Y</draw> |
| 1678 | 1813 | </GUI> |
| 1679 | 1814 | </step> |
| 1680 | 1815 | |
| 1681 | 1816 | <step> |
| 1682 | - <name>班次类型字典 3</name> | |
| 1683 | - <type>ValueMapper</type> | |
| 1817 | + <name>正常班次_处理数据</name> | |
| 1818 | + <type>ScriptValueMod</type> | |
| 1684 | 1819 | <description/> |
| 1685 | 1820 | <distribute>Y</distribute> |
| 1686 | 1821 | <custom_distribution/> |
| ... | ... | @@ -1689,54 +1824,34 @@ |
| 1689 | 1824 | <method>none</method> |
| 1690 | 1825 | <schema_name/> |
| 1691 | 1826 | </partitioning> |
| 1692 | - <field_to_use>bctype</field_to_use> | |
| 1693 | - <target_field>bctype_code</target_field> | |
| 1694 | - <non_match_default>未知类型</non_match_default> | |
| 1695 | - <fields> | |
| 1696 | - <field> | |
| 1697 | - <source_value>正常班次</source_value> | |
| 1698 | - <target_value>normal</target_value> | |
| 1699 | - </field> | |
| 1700 | - <field> | |
| 1701 | - <source_value>出场</source_value> | |
| 1702 | - <target_value>out</target_value> | |
| 1703 | - </field> | |
| 1704 | - <field> | |
| 1705 | - <source_value>进场</source_value> | |
| 1706 | - <target_value>in</target_value> | |
| 1707 | - </field> | |
| 1708 | - <field> | |
| 1709 | - <source_value>加油</source_value> | |
| 1710 | - <target_value>oil</target_value> | |
| 1711 | - </field> | |
| 1712 | - <field> | |
| 1713 | - <source_value>临加</source_value> | |
| 1714 | - <target_value>temp</target_value> | |
| 1715 | - </field> | |
| 1716 | - <field> | |
| 1717 | - <source_value>区间</source_value> | |
| 1718 | - <target_value>region</target_value> | |
| 1719 | - </field> | |
| 1720 | - <field> | |
| 1721 | - <source_value>放空</source_value> | |
| 1722 | - <target_value>venting</target_value> | |
| 1723 | - </field> | |
| 1724 | - <field> | |
| 1725 | - <source_value>放大站</source_value> | |
| 1726 | - <target_value>major</target_value> | |
| 1727 | - </field> | |
| 1728 | - </fields> | |
| 1729 | - <cluster_schema/> | |
| 1827 | + <compatible>N</compatible> | |
| 1828 | + <optimizationLevel>9</optimizationLevel> | |
| 1829 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 1830 | + <jsScript_name>Script 1</jsScript_name> | |
| 1831 | + <jsScript_script>//Script here

// 添加站点标识
var sendZdtype = 'B';
var endZdtype = 'E';
</jsScript_script> | |
| 1832 | + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name> | |
| 1833 | + <rename>sendZdtype</rename> | |
| 1834 | + <type>String</type> | |
| 1835 | + <length>-1</length> | |
| 1836 | + <precision>-1</precision> | |
| 1837 | + <replace>N</replace> | |
| 1838 | + </field> <field> <name>endZdtype</name> | |
| 1839 | + <rename>endZdtype</rename> | |
| 1840 | + <type>String</type> | |
| 1841 | + <length>-1</length> | |
| 1842 | + <precision>-1</precision> | |
| 1843 | + <replace>N</replace> | |
| 1844 | + </field> </fields> <cluster_schema/> | |
| 1730 | 1845 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1731 | - <xloc>548</xloc> | |
| 1732 | - <yloc>844</yloc> | |
| 1846 | + <xloc>588</xloc> | |
| 1847 | + <yloc>403</yloc> | |
| 1733 | 1848 | <draw>Y</draw> |
| 1734 | 1849 | </GUI> |
| 1735 | 1850 | </step> |
| 1736 | 1851 | |
| 1737 | 1852 | <step> |
| 1738 | - <name>类型修正</name> | |
| 1739 | - <type>SelectValues</type> | |
| 1853 | + <name>正常班次数据</name> | |
| 1854 | + <type>Dummy</type> | |
| 1740 | 1855 | <description/> |
| 1741 | 1856 | <distribute>Y</distribute> |
| 1742 | 1857 | <custom_distribution/> |
| ... | ... | @@ -1745,48 +1860,17 @@ |
| 1745 | 1860 | <method>none</method> |
| 1746 | 1861 | <schema_name/> |
| 1747 | 1862 | </partitioning> |
| 1748 | - <fields> <select_unspecified>N</select_unspecified> | |
| 1749 | - <meta> <name>jhlc</name> | |
| 1750 | - <rename>jhlc</rename> | |
| 1751 | - <type>Number</type> | |
| 1752 | - <length>-2</length> | |
| 1753 | - <precision>-2</precision> | |
| 1754 | - <conversion_mask/> | |
| 1755 | - <date_format_lenient>false</date_format_lenient> | |
| 1756 | - <date_format_locale/> | |
| 1757 | - <date_format_timezone/> | |
| 1758 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 1759 | - <encoding/> | |
| 1760 | - <decimal_symbol/> | |
| 1761 | - <grouping_symbol/> | |
| 1762 | - <currency_symbol/> | |
| 1763 | - <storage_type/> | |
| 1764 | - </meta> <meta> <name>bcsj</name> | |
| 1765 | - <rename>bcsj</rename> | |
| 1766 | - <type>Integer</type> | |
| 1767 | - <length>-2</length> | |
| 1768 | - <precision>-2</precision> | |
| 1769 | - <conversion_mask/> | |
| 1770 | - <date_format_lenient>false</date_format_lenient> | |
| 1771 | - <date_format_locale/> | |
| 1772 | - <date_format_timezone/> | |
| 1773 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 1774 | - <encoding/> | |
| 1775 | - <decimal_symbol/> | |
| 1776 | - <grouping_symbol/> | |
| 1777 | - <currency_symbol/> | |
| 1778 | - <storage_type/> | |
| 1779 | - </meta> </fields> <cluster_schema/> | |
| 1863 | + <cluster_schema/> | |
| 1780 | 1864 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1781 | - <xloc>146</xloc> | |
| 1782 | - <yloc>768</yloc> | |
| 1865 | + <xloc>725</xloc> | |
| 1866 | + <yloc>404</yloc> | |
| 1783 | 1867 | <draw>Y</draw> |
| 1784 | 1868 | </GUI> |
| 1785 | 1869 | </step> |
| 1786 | 1870 | |
| 1787 | 1871 | <step> |
| 1788 | - <name>计算班次类型</name> | |
| 1789 | - <type>ValueMapper</type> | |
| 1872 | + <name>添加发车顺序号</name> | |
| 1873 | + <type>GroupBy</type> | |
| 1790 | 1874 | <description/> |
| 1791 | 1875 | <distribute>Y</distribute> |
| 1792 | 1876 | <custom_distribution/> |
| ... | ... | @@ -1795,30 +1879,32 @@ |
| 1795 | 1879 | <method>none</method> |
| 1796 | 1880 | <schema_name/> |
| 1797 | 1881 | </partitioning> |
| 1798 | - <field_to_use>qdzname</field_to_use> | |
| 1799 | - <target_field>bctype</target_field> | |
| 1800 | - <non_match_default>正常班次</non_match_default> | |
| 1801 | - <fields> | |
| 1802 | - <field> | |
| 1803 | - <source_value>出场</source_value> | |
| 1804 | - <target_value>出场</target_value> | |
| 1805 | - </field> | |
| 1806 | - <field> | |
| 1807 | - <source_value>进场</source_value> | |
| 1808 | - <target_value>进场</target_value> | |
| 1809 | - </field> | |
| 1810 | - </fields> | |
| 1882 | + <all_rows>Y</all_rows> | |
| 1883 | + <ignore_aggregate>N</ignore_aggregate> | |
| 1884 | + <field_ignore/> | |
| 1885 | + <directory>%%java.io.tmpdir%%</directory> | |
| 1886 | + <prefix>grp</prefix> | |
| 1887 | + <add_linenr>Y</add_linenr> | |
| 1888 | + <linenr_fieldname>fcno</linenr_fieldname> | |
| 1889 | + <give_back_row>N</give_back_row> | |
| 1890 | + <group> | |
| 1891 | + <field> | |
| 1892 | + <name>lp</name> | |
| 1893 | + </field> | |
| 1894 | + </group> | |
| 1895 | + <fields> | |
| 1896 | + </fields> | |
| 1811 | 1897 | <cluster_schema/> |
| 1812 | 1898 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1813 | - <xloc>1014</xloc> | |
| 1814 | - <yloc>401</yloc> | |
| 1899 | + <xloc>442</xloc> | |
| 1900 | + <yloc>44</yloc> | |
| 1815 | 1901 | <draw>Y</draw> |
| 1816 | 1902 | </GUI> |
| 1817 | 1903 | </step> |
| 1818 | 1904 | |
| 1819 | 1905 | <step> |
| 1820 | - <name>记录关联 (笛卡尔输出)</name> | |
| 1821 | - <type>JoinRows</type> | |
| 1906 | + <name>添加对应班次数</name> | |
| 1907 | + <type>GroupBy</type> | |
| 1822 | 1908 | <description/> |
| 1823 | 1909 | <distribute>Y</distribute> |
| 1824 | 1910 | <custom_distribution/> |
| ... | ... | @@ -1827,29 +1913,29 @@ |
| 1827 | 1913 | <method>none</method> |
| 1828 | 1914 | <schema_name/> |
| 1829 | 1915 | </partitioning> |
| 1916 | + <all_rows>Y</all_rows> | |
| 1917 | + <ignore_aggregate>N</ignore_aggregate> | |
| 1918 | + <field_ignore/> | |
| 1830 | 1919 | <directory>%%java.io.tmpdir%%</directory> |
| 1831 | - <prefix>out</prefix> | |
| 1832 | - <cache_size>500</cache_size> | |
| 1833 | - <main/> | |
| 1834 | - <compare> | |
| 1835 | -<condition> | |
| 1836 | - <negated>N</negated> | |
| 1837 | - <leftvalue/> | |
| 1838 | - <function>=</function> | |
| 1839 | - <rightvalue/> | |
| 1840 | - </condition> | |
| 1841 | - </compare> | |
| 1920 | + <prefix>grp</prefix> | |
| 1921 | + <add_linenr>Y</add_linenr> | |
| 1922 | + <linenr_fieldname>bcs</linenr_fieldname> | |
| 1923 | + <give_back_row>N</give_back_row> | |
| 1924 | + <group> | |
| 1925 | + </group> | |
| 1926 | + <fields> | |
| 1927 | + </fields> | |
| 1842 | 1928 | <cluster_schema/> |
| 1843 | 1929 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1844 | - <xloc>310</xloc> | |
| 1845 | - <yloc>133</yloc> | |
| 1930 | + <xloc>692</xloc> | |
| 1931 | + <yloc>44</yloc> | |
| 1846 | 1932 | <draw>Y</draw> |
| 1847 | 1933 | </GUI> |
| 1848 | 1934 | </step> |
| 1849 | 1935 | |
| 1850 | 1936 | <step> |
| 1851 | - <name>过滤记录(发车时间为空)</name> | |
| 1852 | - <type>FilterRows</type> | |
| 1937 | + <name>班次数据范式化</name> | |
| 1938 | + <type>Normaliser</type> | |
| 1853 | 1939 | <description/> |
| 1854 | 1940 | <distribute>Y</distribute> |
| 1855 | 1941 | <custom_distribution/> |
| ... | ... | @@ -1858,27 +1944,18 @@ |
| 1858 | 1944 | <method>none</method> |
| 1859 | 1945 | <schema_name/> |
| 1860 | 1946 | </partitioning> |
| 1861 | -<send_true_to/> | |
| 1862 | -<send_false_to/> | |
| 1863 | - <compare> | |
| 1864 | -<condition> | |
| 1865 | - <negated>N</negated> | |
| 1866 | - <leftvalue>sendtime</leftvalue> | |
| 1867 | - <function>IS NOT NULL</function> | |
| 1868 | - <rightvalue/> | |
| 1869 | - </condition> | |
| 1870 | - </compare> | |
| 1871 | - <cluster_schema/> | |
| 1947 | + <typefield>站点名称</typefield> | |
| 1948 | + <fields> </fields> <cluster_schema/> | |
| 1872 | 1949 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1873 | - <xloc>571</xloc> | |
| 1950 | + <xloc>248</xloc> | |
| 1874 | 1951 | <yloc>44</yloc> |
| 1875 | 1952 | <draw>Y</draw> |
| 1876 | 1953 | </GUI> |
| 1877 | 1954 | </step> |
| 1878 | 1955 | |
| 1879 | 1956 | <step> |
| 1880 | - <name>进场班次_确定起点站名字</name> | |
| 1881 | - <type>ScriptValueMod</type> | |
| 1957 | + <name>班次类型字典</name> | |
| 1958 | + <type>ValueMapper</type> | |
| 1882 | 1959 | <description/> |
| 1883 | 1960 | <distribute>Y</distribute> |
| 1884 | 1961 | <custom_distribution/> |
| ... | ... | @@ -1887,40 +1964,54 @@ |
| 1887 | 1964 | <method>none</method> |
| 1888 | 1965 | <schema_name/> |
| 1889 | 1966 | </partitioning> |
| 1890 | - <compatible>N</compatible> | |
| 1891 | - <optimizationLevel>9</optimizationLevel> | |
| 1892 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 1893 | - <jsScript_name>Script 1</jsScript_name> | |
| 1894 | - <jsScript_script>//Script here

// 添加站点标识
var cc_groups = qdzgroups.split(","); // 所有班次起点站数组
var qdzname_calcu = cc_groups[gno - 2]; // 进场班次的起点站是上一个班次的终点站,这里只有上一个班次的起点站,还需要计算
var startZdtype_calcu = 'B';
var endZdtype_calcu = 'E';</jsScript_script> | |
| 1895 | - </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name> | |
| 1896 | - <rename>qdzname_calcu</rename> | |
| 1897 | - <type>String</type> | |
| 1898 | - <length>-1</length> | |
| 1899 | - <precision>-1</precision> | |
| 1900 | - <replace>N</replace> | |
| 1901 | - </field> <field> <name>startZdtype_calcu</name> | |
| 1902 | - <rename>startZdtype_calcu</rename> | |
| 1903 | - <type>String</type> | |
| 1904 | - <length>-1</length> | |
| 1905 | - <precision>-1</precision> | |
| 1906 | - <replace>N</replace> | |
| 1907 | - </field> <field> <name>endZdtype_calcu</name> | |
| 1908 | - <rename>endZdtype_calcu</rename> | |
| 1909 | - <type>String</type> | |
| 1910 | - <length>-1</length> | |
| 1911 | - <precision>-1</precision> | |
| 1912 | - <replace>N</replace> | |
| 1913 | - </field> </fields> <cluster_schema/> | |
| 1967 | + <field_to_use>bctype</field_to_use> | |
| 1968 | + <target_field>bctype_code</target_field> | |
| 1969 | + <non_match_default>未知类型</non_match_default> | |
| 1970 | + <fields> | |
| 1971 | + <field> | |
| 1972 | + <source_value>正常班次</source_value> | |
| 1973 | + <target_value>normal</target_value> | |
| 1974 | + </field> | |
| 1975 | + <field> | |
| 1976 | + <source_value>出场</source_value> | |
| 1977 | + <target_value>out</target_value> | |
| 1978 | + </field> | |
| 1979 | + <field> | |
| 1980 | + <source_value>进场</source_value> | |
| 1981 | + <target_value>in</target_value> | |
| 1982 | + </field> | |
| 1983 | + <field> | |
| 1984 | + <source_value>加油</source_value> | |
| 1985 | + <target_value>oil</target_value> | |
| 1986 | + </field> | |
| 1987 | + <field> | |
| 1988 | + <source_value>临加</source_value> | |
| 1989 | + <target_value>temp</target_value> | |
| 1990 | + </field> | |
| 1991 | + <field> | |
| 1992 | + <source_value>区间</source_value> | |
| 1993 | + <target_value>region</target_value> | |
| 1994 | + </field> | |
| 1995 | + <field> | |
| 1996 | + <source_value>放空</source_value> | |
| 1997 | + <target_value>venting</target_value> | |
| 1998 | + </field> | |
| 1999 | + <field> | |
| 2000 | + <source_value>放大站</source_value> | |
| 2001 | + <target_value>major</target_value> | |
| 2002 | + </field> | |
| 2003 | + </fields> | |
| 2004 | + <cluster_schema/> | |
| 1914 | 2005 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1915 | - <xloc>754</xloc> | |
| 1916 | - <yloc>610</yloc> | |
| 2006 | + <xloc>149</xloc> | |
| 2007 | + <yloc>491</yloc> | |
| 1917 | 2008 | <draw>Y</draw> |
| 1918 | 2009 | </GUI> |
| 1919 | 2010 | </step> |
| 1920 | 2011 | |
| 1921 | 2012 | <step> |
| 1922 | - <name>进场班次数据</name> | |
| 1923 | - <type>Dummy</type> | |
| 2013 | + <name>班次类型字典 2</name> | |
| 2014 | + <type>ValueMapper</type> | |
| 1924 | 2015 | <description/> |
| 1925 | 2016 | <distribute>Y</distribute> |
| 1926 | 2017 | <custom_distribution/> |
| ... | ... | @@ -1929,17 +2020,54 @@ |
| 1929 | 2020 | <method>none</method> |
| 1930 | 2021 | <schema_name/> |
| 1931 | 2022 | </partitioning> |
| 2023 | + <field_to_use>bctype</field_to_use> | |
| 2024 | + <target_field>bctype_code</target_field> | |
| 2025 | + <non_match_default>未知类型</non_match_default> | |
| 2026 | + <fields> | |
| 2027 | + <field> | |
| 2028 | + <source_value>正常班次</source_value> | |
| 2029 | + <target_value>normal</target_value> | |
| 2030 | + </field> | |
| 2031 | + <field> | |
| 2032 | + <source_value>出场</source_value> | |
| 2033 | + <target_value>out</target_value> | |
| 2034 | + </field> | |
| 2035 | + <field> | |
| 2036 | + <source_value>进场</source_value> | |
| 2037 | + <target_value>in</target_value> | |
| 2038 | + </field> | |
| 2039 | + <field> | |
| 2040 | + <source_value>加油</source_value> | |
| 2041 | + <target_value>oil</target_value> | |
| 2042 | + </field> | |
| 2043 | + <field> | |
| 2044 | + <source_value>临加</source_value> | |
| 2045 | + <target_value>temp</target_value> | |
| 2046 | + </field> | |
| 2047 | + <field> | |
| 2048 | + <source_value>区间</source_value> | |
| 2049 | + <target_value>region</target_value> | |
| 2050 | + </field> | |
| 2051 | + <field> | |
| 2052 | + <source_value>放空</source_value> | |
| 2053 | + <target_value>venting</target_value> | |
| 2054 | + </field> | |
| 2055 | + <field> | |
| 2056 | + <source_value>放大站</source_value> | |
| 2057 | + <target_value>major</target_value> | |
| 2058 | + </field> | |
| 2059 | + </fields> | |
| 1932 | 2060 | <cluster_schema/> |
| 1933 | 2061 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1934 | - <xloc>997</xloc> | |
| 1935 | - <yloc>606</yloc> | |
| 2062 | + <xloc>333</xloc> | |
| 2063 | + <yloc>681</yloc> | |
| 1936 | 2064 | <draw>Y</draw> |
| 1937 | 2065 | </GUI> |
| 1938 | 2066 | </step> |
| 1939 | 2067 | |
| 1940 | 2068 | <step> |
| 1941 | - <name>插入/更新bsth_c_s_ttinfo_detail</name> | |
| 1942 | - <type>InsertUpdate</type> | |
| 2069 | + <name>班次类型字典 3</name> | |
| 2070 | + <type>ValueMapper</type> | |
| 1943 | 2071 | <description/> |
| 1944 | 2072 | <distribute>Y</distribute> |
| 1945 | 2073 | <custom_distribution/> |
| ... | ... | @@ -1948,114 +2076,136 @@ |
| 1948 | 2076 | <method>none</method> |
| 1949 | 2077 | <schema_name/> |
| 1950 | 2078 | </partitioning> |
| 1951 | - <connection>bus_control_variable</connection> | |
| 1952 | - <commit>100</commit> | |
| 1953 | - <update_bypassed>N</update_bypassed> | |
| 1954 | - <lookup> | |
| 1955 | - <schema/> | |
| 1956 | - <table>bsth_c_s_ttinfo_detail</table> | |
| 1957 | - <key> | |
| 1958 | - <name>xlid</name> | |
| 1959 | - <field>xl</field> | |
| 1960 | - <condition>=</condition> | |
| 1961 | - <name2/> | |
| 1962 | - </key> | |
| 1963 | - <key> | |
| 1964 | - <name>ttid</name> | |
| 1965 | - <field>ttinfo</field> | |
| 1966 | - <condition>=</condition> | |
| 1967 | - <name2/> | |
| 1968 | - </key> | |
| 1969 | - <key> | |
| 1970 | - <name>lpid</name> | |
| 1971 | - <field>lp</field> | |
| 1972 | - <condition>=</condition> | |
| 1973 | - <name2/> | |
| 1974 | - </key> | |
| 1975 | - <key> | |
| 1976 | - <name>fcno</name> | |
| 1977 | - <field>fcno</field> | |
| 1978 | - <condition>=</condition> | |
| 1979 | - <name2/> | |
| 1980 | - </key> | |
| 1981 | - <key> | |
| 1982 | - <name>bcs</name> | |
| 1983 | - <field>bcs</field> | |
| 1984 | - <condition>=</condition> | |
| 1985 | - <name2/> | |
| 1986 | - </key> | |
| 1987 | - <value> | |
| 1988 | - <name>lp</name> | |
| 1989 | - <rename>lpid</rename> | |
| 1990 | - <update>Y</update> | |
| 1991 | - </value> | |
| 1992 | - <value> | |
| 1993 | - <name>bc_type</name> | |
| 1994 | - <rename>bctype_code</rename> | |
| 1995 | - <update>Y</update> | |
| 1996 | - </value> | |
| 1997 | - <value> | |
| 1998 | - <name>bcs</name> | |
| 1999 | - <rename>bcs</rename> | |
| 2000 | - <update>Y</update> | |
| 2001 | - </value> | |
| 2002 | - <value> | |
| 2003 | - <name>bcsj</name> | |
| 2004 | - <rename>bcsj</rename> | |
| 2005 | - <update>Y</update> | |
| 2006 | - </value> | |
| 2007 | - <value> | |
| 2008 | - <name>fcno</name> | |
| 2009 | - <rename>fcno</rename> | |
| 2010 | - <update>Y</update> | |
| 2011 | - </value> | |
| 2012 | - <value> | |
| 2013 | - <name>jhlc</name> | |
| 2079 | + <field_to_use>bctype</field_to_use> | |
| 2080 | + <target_field>bctype_code</target_field> | |
| 2081 | + <non_match_default>未知类型</non_match_default> | |
| 2082 | + <fields> | |
| 2083 | + <field> | |
| 2084 | + <source_value>正常班次</source_value> | |
| 2085 | + <target_value>normal</target_value> | |
| 2086 | + </field> | |
| 2087 | + <field> | |
| 2088 | + <source_value>出场</source_value> | |
| 2089 | + <target_value>out</target_value> | |
| 2090 | + </field> | |
| 2091 | + <field> | |
| 2092 | + <source_value>进场</source_value> | |
| 2093 | + <target_value>in</target_value> | |
| 2094 | + </field> | |
| 2095 | + <field> | |
| 2096 | + <source_value>加油</source_value> | |
| 2097 | + <target_value>oil</target_value> | |
| 2098 | + </field> | |
| 2099 | + <field> | |
| 2100 | + <source_value>临加</source_value> | |
| 2101 | + <target_value>temp</target_value> | |
| 2102 | + </field> | |
| 2103 | + <field> | |
| 2104 | + <source_value>区间</source_value> | |
| 2105 | + <target_value>region</target_value> | |
| 2106 | + </field> | |
| 2107 | + <field> | |
| 2108 | + <source_value>放空</source_value> | |
| 2109 | + <target_value>venting</target_value> | |
| 2110 | + </field> | |
| 2111 | + <field> | |
| 2112 | + <source_value>放大站</source_value> | |
| 2113 | + <target_value>major</target_value> | |
| 2114 | + </field> | |
| 2115 | + </fields> | |
| 2116 | + <cluster_schema/> | |
| 2117 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2118 | + <xloc>548</xloc> | |
| 2119 | + <yloc>844</yloc> | |
| 2120 | + <draw>Y</draw> | |
| 2121 | + </GUI> | |
| 2122 | + </step> | |
| 2123 | + | |
| 2124 | + <step> | |
| 2125 | + <name>类型修正</name> | |
| 2126 | + <type>SelectValues</type> | |
| 2127 | + <description/> | |
| 2128 | + <distribute>Y</distribute> | |
| 2129 | + <custom_distribution/> | |
| 2130 | + <copies>1</copies> | |
| 2131 | + <partitioning> | |
| 2132 | + <method>none</method> | |
| 2133 | + <schema_name/> | |
| 2134 | + </partitioning> | |
| 2135 | + <fields> <select_unspecified>N</select_unspecified> | |
| 2136 | + <meta> <name>jhlc</name> | |
| 2014 | 2137 | <rename>jhlc</rename> |
| 2015 | - <update>Y</update> | |
| 2016 | - </value> | |
| 2017 | - <value> | |
| 2018 | - <name>fcsj</name> | |
| 2019 | - <rename>sendtime</rename> | |
| 2020 | - <update>Y</update> | |
| 2021 | - </value> | |
| 2022 | - <value> | |
| 2023 | - <name>ttinfo</name> | |
| 2024 | - <rename>ttid</rename> | |
| 2025 | - <update>Y</update> | |
| 2026 | - </value> | |
| 2027 | - <value> | |
| 2028 | - <name>xl</name> | |
| 2029 | - <rename>xlid</rename> | |
| 2030 | - <update>Y</update> | |
| 2031 | - </value> | |
| 2032 | - <value> | |
| 2033 | - <name>qdz</name> | |
| 2034 | - <rename>qdzid</rename> | |
| 2035 | - <update>Y</update> | |
| 2036 | - </value> | |
| 2037 | - <value> | |
| 2038 | - <name>zdz</name> | |
| 2039 | - <rename>zdzid</rename> | |
| 2040 | - <update>Y</update> | |
| 2041 | - </value> | |
| 2042 | - <value> | |
| 2043 | - <name>xl_dir</name> | |
| 2044 | - <rename>sxx</rename> | |
| 2045 | - <update>Y</update> | |
| 2046 | - </value> | |
| 2047 | - </lookup> | |
| 2138 | + <type>Number</type> | |
| 2139 | + <length>-2</length> | |
| 2140 | + <precision>-2</precision> | |
| 2141 | + <conversion_mask/> | |
| 2142 | + <date_format_lenient>false</date_format_lenient> | |
| 2143 | + <date_format_locale/> | |
| 2144 | + <date_format_timezone/> | |
| 2145 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 2146 | + <encoding/> | |
| 2147 | + <decimal_symbol/> | |
| 2148 | + <grouping_symbol/> | |
| 2149 | + <currency_symbol/> | |
| 2150 | + <storage_type/> | |
| 2151 | + </meta> <meta> <name>bcsj</name> | |
| 2152 | + <rename>bcsj</rename> | |
| 2153 | + <type>Integer</type> | |
| 2154 | + <length>-2</length> | |
| 2155 | + <precision>-2</precision> | |
| 2156 | + <conversion_mask/> | |
| 2157 | + <date_format_lenient>false</date_format_lenient> | |
| 2158 | + <date_format_locale/> | |
| 2159 | + <date_format_timezone/> | |
| 2160 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 2161 | + <encoding/> | |
| 2162 | + <decimal_symbol/> | |
| 2163 | + <grouping_symbol/> | |
| 2164 | + <currency_symbol/> | |
| 2165 | + <storage_type/> | |
| 2166 | + </meta> </fields> <cluster_schema/> | |
| 2167 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2168 | + <xloc>146</xloc> | |
| 2169 | + <yloc>768</yloc> | |
| 2170 | + <draw>Y</draw> | |
| 2171 | + </GUI> | |
| 2172 | + </step> | |
| 2173 | + | |
| 2174 | + <step> | |
| 2175 | + <name>计算班次类型</name> | |
| 2176 | + <type>ValueMapper</type> | |
| 2177 | + <description/> | |
| 2178 | + <distribute>Y</distribute> | |
| 2179 | + <custom_distribution/> | |
| 2180 | + <copies>1</copies> | |
| 2181 | + <partitioning> | |
| 2182 | + <method>none</method> | |
| 2183 | + <schema_name/> | |
| 2184 | + </partitioning> | |
| 2185 | + <field_to_use>qdzname</field_to_use> | |
| 2186 | + <target_field>bctype</target_field> | |
| 2187 | + <non_match_default>正常班次</non_match_default> | |
| 2188 | + <fields> | |
| 2189 | + <field> | |
| 2190 | + <source_value>出场</source_value> | |
| 2191 | + <target_value>出场</target_value> | |
| 2192 | + </field> | |
| 2193 | + <field> | |
| 2194 | + <source_value>进场</source_value> | |
| 2195 | + <target_value>进场</target_value> | |
| 2196 | + </field> | |
| 2197 | + </fields> | |
| 2048 | 2198 | <cluster_schema/> |
| 2049 | 2199 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 2050 | - <xloc>143</xloc> | |
| 2051 | - <yloc>860</yloc> | |
| 2200 | + <xloc>1014</xloc> | |
| 2201 | + <yloc>401</yloc> | |
| 2052 | 2202 | <draw>Y</draw> |
| 2053 | 2203 | </GUI> |
| 2054 | 2204 | </step> |
| 2055 | 2205 | |
| 2056 | 2206 | <step> |
| 2057 | - <name>插入/更新bsth_c_s_ttinfo_detail 2</name> | |
| 2058 | - <type>InsertUpdate</type> | |
| 2207 | + <name>记录关联 (笛卡尔输出)</name> | |
| 2208 | + <type>JoinRows</type> | |
| 2059 | 2209 | <description/> |
| 2060 | 2210 | <distribute>Y</distribute> |
| 2061 | 2211 | <custom_distribution/> |
| ... | ... | @@ -2064,114 +2214,29 @@ |
| 2064 | 2214 | <method>none</method> |
| 2065 | 2215 | <schema_name/> |
| 2066 | 2216 | </partitioning> |
| 2067 | - <connection>bus_control_variable</connection> | |
| 2068 | - <commit>100</commit> | |
| 2069 | - <update_bypassed>N</update_bypassed> | |
| 2070 | - <lookup> | |
| 2071 | - <schema/> | |
| 2072 | - <table>bsth_c_s_ttinfo_detail</table> | |
| 2073 | - <key> | |
| 2074 | - <name>xlid</name> | |
| 2075 | - <field>xl</field> | |
| 2076 | - <condition>=</condition> | |
| 2077 | - <name2/> | |
| 2078 | - </key> | |
| 2079 | - <key> | |
| 2080 | - <name>ttid</name> | |
| 2081 | - <field>ttinfo</field> | |
| 2082 | - <condition>=</condition> | |
| 2083 | - <name2/> | |
| 2084 | - </key> | |
| 2085 | - <key> | |
| 2086 | - <name>lpid</name> | |
| 2087 | - <field>lp</field> | |
| 2088 | - <condition>=</condition> | |
| 2089 | - <name2/> | |
| 2090 | - </key> | |
| 2091 | - <key> | |
| 2092 | - <name>fcno</name> | |
| 2093 | - <field>fcno</field> | |
| 2094 | - <condition>=</condition> | |
| 2095 | - <name2/> | |
| 2096 | - </key> | |
| 2097 | - <key> | |
| 2098 | - <name>bcs</name> | |
| 2099 | - <field>bcs</field> | |
| 2100 | - <condition>=</condition> | |
| 2101 | - <name2/> | |
| 2102 | - </key> | |
| 2103 | - <value> | |
| 2104 | - <name>tcc</name> | |
| 2105 | - <rename>qdzid</rename> | |
| 2106 | - <update>Y</update> | |
| 2107 | - </value> | |
| 2108 | - <value> | |
| 2109 | - <name>zdz</name> | |
| 2110 | - <rename>zdzid</rename> | |
| 2111 | - <update>Y</update> | |
| 2112 | - </value> | |
| 2113 | - <value> | |
| 2114 | - <name>xl</name> | |
| 2115 | - <rename>xlid</rename> | |
| 2116 | - <update>Y</update> | |
| 2117 | - </value> | |
| 2118 | - <value> | |
| 2119 | - <name>ttinfo</name> | |
| 2120 | - <rename>ttid</rename> | |
| 2121 | - <update>Y</update> | |
| 2122 | - </value> | |
| 2123 | - <value> | |
| 2124 | - <name>xl_dir</name> | |
| 2125 | - <rename>sxx</rename> | |
| 2126 | - <update>Y</update> | |
| 2127 | - </value> | |
| 2128 | - <value> | |
| 2129 | - <name>lp</name> | |
| 2130 | - <rename>lpid</rename> | |
| 2131 | - <update>Y</update> | |
| 2132 | - </value> | |
| 2133 | - <value> | |
| 2134 | - <name>jhlc</name> | |
| 2135 | - <rename>out_mileage</rename> | |
| 2136 | - <update>Y</update> | |
| 2137 | - </value> | |
| 2138 | - <value> | |
| 2139 | - <name>fcsj</name> | |
| 2140 | - <rename>sendtime</rename> | |
| 2141 | - <update>Y</update> | |
| 2142 | - </value> | |
| 2143 | - <value> | |
| 2144 | - <name>bcsj</name> | |
| 2145 | - <rename>out_time</rename> | |
| 2146 | - <update>Y</update> | |
| 2147 | - </value> | |
| 2148 | - <value> | |
| 2149 | - <name>bcs</name> | |
| 2150 | - <rename>bcs</rename> | |
| 2151 | - <update>Y</update> | |
| 2152 | - </value> | |
| 2153 | - <value> | |
| 2154 | - <name>fcno</name> | |
| 2155 | - <rename>fcno</rename> | |
| 2156 | - <update>Y</update> | |
| 2157 | - </value> | |
| 2158 | - <value> | |
| 2159 | - <name>bc_type</name> | |
| 2160 | - <rename>bctype_code</rename> | |
| 2161 | - <update>Y</update> | |
| 2162 | - </value> | |
| 2163 | - </lookup> | |
| 2217 | + <directory>%%java.io.tmpdir%%</directory> | |
| 2218 | + <prefix>out</prefix> | |
| 2219 | + <cache_size>500</cache_size> | |
| 2220 | + <main/> | |
| 2221 | + <compare> | |
| 2222 | +<condition> | |
| 2223 | + <negated>N</negated> | |
| 2224 | + <leftvalue/> | |
| 2225 | + <function>=</function> | |
| 2226 | + <rightvalue/> | |
| 2227 | + </condition> | |
| 2228 | + </compare> | |
| 2164 | 2229 | <cluster_schema/> |
| 2165 | 2230 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 2166 | - <xloc>340</xloc> | |
| 2167 | - <yloc>890</yloc> | |
| 2231 | + <xloc>310</xloc> | |
| 2232 | + <yloc>133</yloc> | |
| 2168 | 2233 | <draw>Y</draw> |
| 2169 | 2234 | </GUI> |
| 2170 | 2235 | </step> |
| 2171 | 2236 | |
| 2172 | 2237 | <step> |
| 2173 | - <name>插入/更新bsth_c_s_ttinfo_detail 3</name> | |
| 2174 | - <type>InsertUpdate</type> | |
| 2238 | + <name>过滤记录(发车时间为空)</name> | |
| 2239 | + <type>FilterRows</type> | |
| 2175 | 2240 | <description/> |
| 2176 | 2241 | <distribute>Y</distribute> |
| 2177 | 2242 | <custom_distribution/> |
| ... | ... | @@ -2180,107 +2245,81 @@ |
| 2180 | 2245 | <method>none</method> |
| 2181 | 2246 | <schema_name/> |
| 2182 | 2247 | </partitioning> |
| 2183 | - <connection>bus_control_variable</connection> | |
| 2184 | - <commit>100</commit> | |
| 2185 | - <update_bypassed>N</update_bypassed> | |
| 2186 | - <lookup> | |
| 2187 | - <schema/> | |
| 2188 | - <table>bsth_c_s_ttinfo_detail</table> | |
| 2189 | - <key> | |
| 2190 | - <name>xlid</name> | |
| 2191 | - <field>xl</field> | |
| 2192 | - <condition>=</condition> | |
| 2193 | - <name2/> | |
| 2194 | - </key> | |
| 2195 | - <key> | |
| 2196 | - <name>ttid</name> | |
| 2197 | - <field>ttinfo</field> | |
| 2198 | - <condition>=</condition> | |
| 2199 | - <name2/> | |
| 2200 | - </key> | |
| 2201 | - <key> | |
| 2202 | - <name>lpid</name> | |
| 2203 | - <field>lp</field> | |
| 2204 | - <condition>=</condition> | |
| 2205 | - <name2/> | |
| 2206 | - </key> | |
| 2207 | - <key> | |
| 2208 | - <name>fcno</name> | |
| 2209 | - <field>fcno</field> | |
| 2210 | - <condition>=</condition> | |
| 2211 | - <name2/> | |
| 2212 | - </key> | |
| 2213 | - <key> | |
| 2214 | - <name>bcs</name> | |
| 2215 | - <field>bcs</field> | |
| 2216 | - <condition>=</condition> | |
| 2217 | - <name2/> | |
| 2218 | - </key> | |
| 2219 | - <value> | |
| 2220 | - <name>fcno</name> | |
| 2221 | - <rename>fcno</rename> | |
| 2222 | - <update>Y</update> | |
| 2223 | - </value> | |
| 2224 | - <value> | |
| 2225 | - <name>bcs</name> | |
| 2226 | - <rename>bcs</rename> | |
| 2227 | - <update>Y</update> | |
| 2228 | - </value> | |
| 2229 | - <value> | |
| 2230 | - <name>xl</name> | |
| 2231 | - <rename>xlid</rename> | |
| 2232 | - <update>Y</update> | |
| 2233 | - </value> | |
| 2234 | - <value> | |
| 2235 | - <name>ttinfo</name> | |
| 2236 | - <rename>ttid</rename> | |
| 2237 | - <update>Y</update> | |
| 2238 | - </value> | |
| 2239 | - <value> | |
| 2240 | - <name>lp</name> | |
| 2241 | - <rename>lpid</rename> | |
| 2242 | - <update>Y</update> | |
| 2243 | - </value> | |
| 2244 | - <value> | |
| 2245 | - <name>bc_type</name> | |
| 2246 | - <rename>bctype_code</rename> | |
| 2247 | - <update>Y</update> | |
| 2248 | - </value> | |
| 2249 | - <value> | |
| 2250 | - <name>bcsj</name> | |
| 2251 | - <rename>parade_time</rename> | |
| 2252 | - <update>Y</update> | |
| 2253 | - </value> | |
| 2254 | - <value> | |
| 2255 | - <name>jhlc</name> | |
| 2256 | - <rename>parade_mileage</rename> | |
| 2257 | - <update>Y</update> | |
| 2258 | - </value> | |
| 2259 | - <value> | |
| 2260 | - <name>fcsj</name> | |
| 2261 | - <rename>sendtime</rename> | |
| 2262 | - <update>Y</update> | |
| 2263 | - </value> | |
| 2264 | - <value> | |
| 2265 | - <name>xl_dir</name> | |
| 2266 | - <rename>sxx</rename> | |
| 2267 | - <update>Y</update> | |
| 2268 | - </value> | |
| 2269 | - <value> | |
| 2270 | - <name>qdz</name> | |
| 2271 | - <rename>qdzid</rename> | |
| 2272 | - <update>Y</update> | |
| 2273 | - </value> | |
| 2274 | - <value> | |
| 2275 | - <name>tcc</name> | |
| 2276 | - <rename>zdzid</rename> | |
| 2277 | - <update>Y</update> | |
| 2278 | - </value> | |
| 2279 | - </lookup> | |
| 2248 | +<send_true_to/> | |
| 2249 | +<send_false_to/> | |
| 2250 | + <compare> | |
| 2251 | +<condition> | |
| 2252 | + <negated>N</negated> | |
| 2253 | + <leftvalue>sendtime</leftvalue> | |
| 2254 | + <function>IS NOT NULL</function> | |
| 2255 | + <rightvalue/> | |
| 2256 | + </condition> | |
| 2257 | + </compare> | |
| 2280 | 2258 | <cluster_schema/> |
| 2281 | 2259 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 2282 | - <xloc>770</xloc> | |
| 2283 | - <yloc>923</yloc> | |
| 2260 | + <xloc>571</xloc> | |
| 2261 | + <yloc>44</yloc> | |
| 2262 | + <draw>Y</draw> | |
| 2263 | + </GUI> | |
| 2264 | + </step> | |
| 2265 | + | |
| 2266 | + <step> | |
| 2267 | + <name>进场班次_确定起点站名字</name> | |
| 2268 | + <type>ScriptValueMod</type> | |
| 2269 | + <description/> | |
| 2270 | + <distribute>Y</distribute> | |
| 2271 | + <custom_distribution/> | |
| 2272 | + <copies>1</copies> | |
| 2273 | + <partitioning> | |
| 2274 | + <method>none</method> | |
| 2275 | + <schema_name/> | |
| 2276 | + </partitioning> | |
| 2277 | + <compatible>N</compatible> | |
| 2278 | + <optimizationLevel>9</optimizationLevel> | |
| 2279 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 2280 | + <jsScript_name>Script 1</jsScript_name> | |
| 2281 | + <jsScript_script>//Script here

// 添加站点标识
var cc_groups = qdzgroups.split(","); // 所有班次起点站数组
var qdzname_calcu = cc_groups[gno - 2]; // 进场班次的起点站是上一个班次的终点站,这里只有上一个班次的起点站,还需要计算
var startZdtype_calcu = 'B';
var endZdtype_calcu = 'E';</jsScript_script> | |
| 2282 | + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name> | |
| 2283 | + <rename>qdzname_calcu</rename> | |
| 2284 | + <type>String</type> | |
| 2285 | + <length>-1</length> | |
| 2286 | + <precision>-1</precision> | |
| 2287 | + <replace>N</replace> | |
| 2288 | + </field> <field> <name>startZdtype_calcu</name> | |
| 2289 | + <rename>startZdtype_calcu</rename> | |
| 2290 | + <type>String</type> | |
| 2291 | + <length>-1</length> | |
| 2292 | + <precision>-1</precision> | |
| 2293 | + <replace>N</replace> | |
| 2294 | + </field> <field> <name>endZdtype_calcu</name> | |
| 2295 | + <rename>endZdtype_calcu</rename> | |
| 2296 | + <type>String</type> | |
| 2297 | + <length>-1</length> | |
| 2298 | + <precision>-1</precision> | |
| 2299 | + <replace>N</replace> | |
| 2300 | + </field> </fields> <cluster_schema/> | |
| 2301 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2302 | + <xloc>754</xloc> | |
| 2303 | + <yloc>610</yloc> | |
| 2304 | + <draw>Y</draw> | |
| 2305 | + </GUI> | |
| 2306 | + </step> | |
| 2307 | + | |
| 2308 | + <step> | |
| 2309 | + <name>进场班次数据</name> | |
| 2310 | + <type>Dummy</type> | |
| 2311 | + <description/> | |
| 2312 | + <distribute>Y</distribute> | |
| 2313 | + <custom_distribution/> | |
| 2314 | + <copies>1</copies> | |
| 2315 | + <partitioning> | |
| 2316 | + <method>none</method> | |
| 2317 | + <schema_name/> | |
| 2318 | + </partitioning> | |
| 2319 | + <cluster_schema/> | |
| 2320 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2321 | + <xloc>997</xloc> | |
| 2322 | + <yloc>606</yloc> | |
| 2284 | 2323 | <draw>Y</draw> |
| 2285 | 2324 | </GUI> |
| 2286 | 2325 | </step> | ... | ... |