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,22 +133,26 @@ public class StartCommand implements CommandLineRunner{ | ||
| 133 | */ | 133 | */ |
| 134 | scheduler.scheduleWithFixedDelay(firstScheduleIssuedThread, 60 , 60 * 2, TimeUnit.SECONDS); | 134 | scheduler.scheduleWithFixedDelay(firstScheduleIssuedThread, 60 , 60 * 2, TimeUnit.SECONDS); |
| 135 | 135 | ||
| 136 | - //延迟一会 | 136 | + |
| 137 | /* new Timer().schedule(new TimerTask() { | 137 | /* new Timer().schedule(new TimerTask() { |
| 138 | 138 | ||
| 139 | @Override | 139 | @Override |
| 140 | public void run() { | 140 | public void run() { |
| 141 | - //临时全量刷车辆线路 | ||
| 142 | List<CarConfigInfo> ccis = carConfigInfoRepository.findAll(); | 141 | List<CarConfigInfo> ccis = carConfigInfoRepository.findAll(); |
| 143 | Cars car; | 142 | Cars car; |
| 144 | Line line; | 143 | Line line; |
| 145 | String lineCode; | 144 | String lineCode; |
| 146 | - int code; | 145 | + System.out.println("ccis size: " + ccis.size()); |
| 147 | for(CarConfigInfo cci : ccis){ | 146 | for(CarConfigInfo cci : ccis){ |
| 148 | car = cci.getCl(); | 147 | car = cci.getCl(); |
| 149 | line = cci.getXl(); | 148 | line = cci.getXl(); |
| 150 | lineCode = line.getLineCode(); | 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 | code = directiveService.lineChange(car.getInsideCode(), Integer.parseInt(lineCode)); | 156 | code = directiveService.lineChange(car.getInsideCode(), Integer.parseInt(lineCode)); |
| 153 | //directiveService.send60Phrase(car.getInsideCode(), ""); | 157 | //directiveService.send60Phrase(car.getInsideCode(), ""); |
| 154 | System.out.println("返回值:" + code); | 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,8 +255,8 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 255 | * @throws | 255 | * @throws |
| 256 | */ | 256 | */ |
| 257 | @RequestMapping(value = "/findRouteByLine") | 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 | @RequestMapping(value = "/test/getSch") | 262 | @RequestMapping(value = "/test/getSch") |
| @@ -264,6 +264,18 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -264,6 +264,18 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 264 | getSchedulePlanThread.start(); | 264 | getSchedulePlanThread.start(); |
| 265 | return 1; | 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,6 +7,7 @@ import com.bsth.repository.schedule.TTInfoRepository; | ||
| 7 | import com.bsth.service.schedule.utils.DataToolsProperties; | 7 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 8 | import org.springframework.beans.factory.annotation.Autowired; | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 9 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 9 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 10 | +import org.springframework.data.domain.Page; | ||
| 10 | import org.springframework.web.bind.annotation.*; | 11 | import org.springframework.web.bind.annotation.*; |
| 11 | 12 | ||
| 12 | import java.util.Map; | 13 | import java.util.Map; |
| @@ -59,4 +60,13 @@ public class TTInfoController extends BaseController<TTInfo, Long> { | @@ -59,4 +60,13 @@ public class TTInfoController extends BaseController<TTInfo, Long> { | ||
| 59 | // 一般比较自编号是否重复 | 60 | // 一般比较自编号是否重复 |
| 60 | return baseService.validateEquale(map); | 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,5 +223,14 @@ public class ChildTaskPlan { | ||
| 223 | public void setEndStationName(String endStationName) { | 223 | public void setEndStationName(String endStationName) { |
| 224 | this.endStationName = endStationName; | 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,7 +183,7 @@ public class ScheduleRealInfo { | ||
| 183 | private String qdzArrDatesj; | 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 | private Set<ChildTaskPlan> cTasks = new HashSet<>(); | 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,6 +41,9 @@ public class TTInfo { | ||
| 41 | /** 是否启用调度模版 */ | 41 | /** 是否启用调度模版 */ |
| 42 | @Column(nullable = false) | 42 | @Column(nullable = false) |
| 43 | private Boolean isEnableDisTemplate; | 43 | private Boolean isEnableDisTemplate; |
| 44 | + /** 是否删除(标记) */ | ||
| 45 | + @Column(nullable = false) | ||
| 46 | + private Boolean isCancel = false; | ||
| 44 | 47 | ||
| 45 | /** 模版类型(TODO:时刻表,间隔式,这个以后用枚举还是字典再议,现在先用文字) */ | 48 | /** 模版类型(TODO:时刻表,间隔式,这个以后用枚举还是字典再议,现在先用文字) */ |
| 46 | private String templateType; | 49 | private String templateType; |
| @@ -193,4 +196,11 @@ public class TTInfo { | @@ -193,4 +196,11 @@ public class TTInfo { | ||
| 193 | this.updateDate = updateDate; | 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,7 +38,7 @@ public class AccessLogFilter extends BaseFilter { | ||
| 38 | HttpServletResponse response, FilterChain chain) | 38 | HttpServletResponse response, FilterChain chain) |
| 39 | throws IOException, ServletException { | 39 | throws IOException, ServletException { |
| 40 | 40 | ||
| 41 | - String username = SecurityUtils.getCurrentUser().getName(); //等集成shiro之后再取 | 41 | + String username = /*SecurityUtils.getCurrentUser().getName()*/"test"; //等集成shiro之后再取 |
| 42 | String jsessionId = request.getRequestedSessionId(); | 42 | String jsessionId = request.getRequestedSessionId(); |
| 43 | String ip = IpUtils.getIpAddr(request); | 43 | String ip = IpUtils.getIpAddr(request); |
| 44 | String userAgent = request.getHeader("User-Agent"); | 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,4 +21,6 @@ public interface SchedulePlanInfoRepository extends BaseRepository<SchedulePlanI | ||
| 21 | @Query(value = "select s from SchedulePlanInfo s where scheduleDate=?1") | 21 | @Query(value = "select s from SchedulePlanInfo s where scheduleDate=?1") |
| 22 | List<SchedulePlanInfo> findByDate(Date date); | 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,7 +32,7 @@ public interface TTInfoDetailRepository extends BaseRepository<TTInfoDetail, Lon | ||
| 32 | 32 | ||
| 33 | void deleteByTtinfoId(Long ttid); | 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 | Long findMaxFcno(Integer xlid, Long ttinfoid); | 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,7 +80,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 80 | 80 | ||
| 81 | Map<String, Object> outgoAdjustAll(String params); | 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 | List<Map<String,String>> findLine(String line); | 85 | List<Map<String,String>> findLine(String line); |
| 86 | 86 | ||
| @@ -93,4 +93,6 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | @@ -93,4 +93,6 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 93 | List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code); | 93 | List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code); |
| 94 | 94 | ||
| 95 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName); | 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,6 +9,7 @@ import org.springframework.stereotype.Service; | ||
| 9 | 9 | ||
| 10 | import com.bsth.entity.realcontrol.ChildTaskPlan; | 10 | import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 11 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 11 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 12 | +import com.bsth.repository.realcontrol.ChildTaskPlanRepository; | ||
| 12 | import com.bsth.service.impl.BaseServiceImpl; | 13 | import com.bsth.service.impl.BaseServiceImpl; |
| 13 | import com.bsth.service.realcontrol.ChildTaskPlanService; | 14 | import com.bsth.service.realcontrol.ChildTaskPlanService; |
| 14 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; | 15 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; |
| @@ -17,8 +18,11 @@ import com.bsth.vehicle.common.CommonMapped; | @@ -17,8 +18,11 @@ import com.bsth.vehicle.common.CommonMapped; | ||
| 17 | @Service | 18 | @Service |
| 18 | public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Long> implements ChildTaskPlanService{ | 19 | public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Long> implements ChildTaskPlanService{ |
| 19 | 20 | ||
| 21 | + /*@Autowired | ||
| 22 | + ScheduleRealInfoServiceImpl scheduleRealInfoService;*/ | ||
| 23 | + | ||
| 20 | @Autowired | 24 | @Autowired |
| 21 | - ScheduleRealInfoServiceImpl scheduleRealInfoService; | 25 | + ChildTaskPlanRepository childTaskPlanRepository; |
| 22 | 26 | ||
| 23 | @Transactional | 27 | @Transactional |
| 24 | @Override | 28 | @Override |
| @@ -29,14 +33,28 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | @@ -29,14 +33,28 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | ||
| 29 | 33 | ||
| 30 | t.setStartStationName(map.get(t.getStartStation())); | 34 | t.setStartStationName(map.get(t.getStartStation())); |
| 31 | t.setEndStationName(map.get(t.getEndStation())); | 35 | t.setEndStationName(map.get(t.getEndStation())); |
| 32 | - | ||
| 33 | - //rs = super.save(t); | ||
| 34 | - | 36 | + //先持久化子任务 |
| 37 | + rs = super.save(t); | ||
| 38 | + //再关联主任务 | ||
| 35 | ScheduleRealInfo sch = ScheduleBuffer.findOne(t.getSchedule().getId()); | 39 | ScheduleRealInfo sch = ScheduleBuffer.findOne(t.getSchedule().getId()); |
| 36 | sch.getcTasks().add(t); | 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 | return rs; | 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,12 +25,14 @@ import com.bsth.common.ResponseCode; | ||
| 25 | import com.bsth.entity.Cars; | 25 | import com.bsth.entity.Cars; |
| 26 | import com.bsth.entity.Line; | 26 | import com.bsth.entity.Line; |
| 27 | import com.bsth.entity.Personnel; | 27 | import com.bsth.entity.Personnel; |
| 28 | +import com.bsth.entity.realcontrol.ChildTaskPlan; | ||
| 28 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 29 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 29 | import com.bsth.entity.schedule.CarConfigInfo; | 30 | import com.bsth.entity.schedule.CarConfigInfo; |
| 30 | import com.bsth.entity.schedule.EmployeeConfigInfo; | 31 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 31 | import com.bsth.entity.schedule.GuideboardInfo; | 32 | import com.bsth.entity.schedule.GuideboardInfo; |
| 32 | import com.bsth.entity.sys.SysUser; | 33 | import com.bsth.entity.sys.SysUser; |
| 33 | import com.bsth.repository.LineRepository; | 34 | import com.bsth.repository.LineRepository; |
| 35 | +import com.bsth.repository.realcontrol.ChildTaskPlanRepository; | ||
| 34 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | 36 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 35 | import com.bsth.repository.schedule.CarConfigInfoRepository; | 37 | import com.bsth.repository.schedule.CarConfigInfoRepository; |
| 36 | import com.bsth.repository.schedule.EmployeeConfigInfoRepository; | 38 | import com.bsth.repository.schedule.EmployeeConfigInfoRepository; |
| @@ -74,6 +76,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -74,6 +76,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 74 | 76 | ||
| 75 | @Autowired | 77 | @Autowired |
| 76 | GuideboardInfoRepository guideboardInfoRepository; | 78 | GuideboardInfoRepository guideboardInfoRepository; |
| 79 | + | ||
| 80 | + @Autowired | ||
| 81 | + ChildTaskPlanRepository cTaskPlanRepository; | ||
| 77 | 82 | ||
| 78 | Logger logger = LoggerFactory.getLogger(this.getClass()); | 83 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 79 | 84 | ||
| @@ -757,9 +762,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -757,9 +762,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 757 | } | 762 | } |
| 758 | 763 | ||
| 759 | @Override | 764 | @Override |
| 760 | - public Map<String, Object> findRouteByLine(Integer lineId) { | 765 | + public Map<String, Object> findRouteByLine(Integer lineCode) { |
| 761 | Map<String, Object> map = new HashMap<>(); | 766 | Map<String, Object> map = new HashMap<>(); |
| 762 | //上行 | 767 | //上行 |
| 768 | + Integer lineId = CommonMapped.lineIdToCode.inverse().get(lineCode); | ||
| 763 | map.put("line.id_eq", lineId); | 769 | map.put("line.id_eq", lineId); |
| 764 | map.put("directions_eq", 0); | 770 | map.put("directions_eq", 0); |
| 765 | List<Map<String, Object>> upList = sectionRouteService.getSectionRoute(map); | 771 | List<Map<String, Object>> upList = sectionRouteService.getSectionRoute(map); |
| @@ -923,4 +929,22 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -923,4 +929,22 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 923 | String lpName) { | 929 | String lpName) { |
| 924 | return scheduleRealInfoRepository.queryListWaybill(jName,clZbh,lpName); | 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,6 +3,7 @@ package com.bsth.service.schedule; | ||
| 3 | import com.bsth.entity.Line; | 3 | import com.bsth.entity.Line; |
| 4 | import com.bsth.entity.schedule.*; | 4 | import com.bsth.entity.schedule.*; |
| 5 | import com.bsth.entity.schedule.rule.ScheduleRule1Flat; | 5 | import com.bsth.entity.schedule.rule.ScheduleRule1Flat; |
| 6 | +import com.bsth.repository.schedule.SchedulePlanInfoRepository; | ||
| 6 | import com.bsth.repository.schedule.SchedulePlanRepository; | 7 | import com.bsth.repository.schedule.SchedulePlanRepository; |
| 7 | import com.bsth.service.LineService; | 8 | import com.bsth.service.LineService; |
| 8 | import com.bsth.service.impl.BaseServiceImpl; | 9 | import com.bsth.service.impl.BaseServiceImpl; |
| @@ -37,20 +38,15 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> | @@ -37,20 +38,15 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> | ||
| 37 | private IStrategy strategy; | 38 | private IStrategy strategy; |
| 38 | @Autowired | 39 | @Autowired |
| 39 | private SchedulePlanRepository schedulePlanRepository; | 40 | private SchedulePlanRepository schedulePlanRepository; |
| 41 | + @Autowired | ||
| 42 | + private SchedulePlanInfoRepository schedulePlanInfoRepository; | ||
| 40 | 43 | ||
| 41 | @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) | 44 | @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) |
| 42 | @Override | 45 | @Override |
| 43 | public Map<String, Object> save(SchedulePlan schedulePlan) { | 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 | TTInfo ttInfo = strategy.getTTInfo(xl.getId()); // 时刻表id | 50 | TTInfo ttInfo = strategy.getTTInfo(xl.getId()); // 时刻表id |
| 55 | schedulePlan.setTtInfo(ttInfo); // 关联的时刻表 | 51 | schedulePlan.setTtInfo(ttInfo); // 关联的时刻表 |
| 56 | 52 | ||
| @@ -59,7 +55,7 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> | @@ -59,7 +55,7 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> | ||
| 59 | ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input(schedulePlan); | 55 | ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input(schedulePlan); |
| 60 | // 每个规则对应的输入参数 | 56 | // 每个规则对应的输入参数 |
| 61 | List<ScheduleRule_input> scheduleRule_inputs = new ArrayList<>(); | 57 | List<ScheduleRule_input> scheduleRule_inputs = new ArrayList<>(); |
| 62 | - Iterator<ScheduleRule1Flat> scheduleRule1FlatIterator = scheduleRule1FlatIterable.iterator(); | 58 | + Iterator<ScheduleRule1Flat> scheduleRule1FlatIterator = strategy.getScheduleRule(xl.getId()).iterator(); |
| 63 | while (scheduleRule1FlatIterator.hasNext()) { | 59 | while (scheduleRule1FlatIterator.hasNext()) { |
| 64 | ScheduleRule1Flat scheduleRule1Flat_temp = scheduleRule1FlatIterator.next(); | 60 | ScheduleRule1Flat scheduleRule1Flat_temp = scheduleRule1FlatIterator.next(); |
| 65 | ScheduleRule_input scheduleRule_input = new ScheduleRule_input(scheduleRule1Flat_temp); | 61 | ScheduleRule_input scheduleRule_input = new ScheduleRule_input(scheduleRule1Flat_temp); |
| @@ -86,6 +82,11 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> | @@ -86,6 +82,11 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> | ||
| 86 | 82 | ||
| 87 | System.out.println(scheduleResults_output.showGuideboardDesc1()); | 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 | // 3、根据规则返回,组合最后的输出数据 | 90 | // 3、根据规则返回,组合最后的输出数据 |
| 90 | // 3-1、根据注入的策略服务,获取原始数据 | 91 | // 3-1、根据注入的策略服务,获取原始数据 |
| 91 | Multimap<Long, TTInfoDetail> gbdTTinfoMaps = strategy.getGuideboardXlTTInfoDetailMaps(xl.getId()); // 路牌对应时刻明细 | 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,7 +9,6 @@ import jxl.Sheet; | ||
| 9 | import jxl.Workbook; | 9 | import jxl.Workbook; |
| 10 | import org.apache.commons.lang3.StringUtils; | 10 | import org.apache.commons.lang3.StringUtils; |
| 11 | import org.joda.time.DateTime; | 11 | import org.joda.time.DateTime; |
| 12 | -import org.pentaho.di.core.logging.LogLevel; | ||
| 13 | import org.pentaho.di.trans.Trans; | 12 | import org.pentaho.di.trans.Trans; |
| 14 | import org.pentaho.di.trans.TransMeta; | 13 | import org.pentaho.di.trans.TransMeta; |
| 15 | import org.springframework.beans.factory.annotation.Autowired; | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -45,14 +44,26 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> | @@ -45,14 +44,26 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> | ||
| 45 | private String fcsj; | 44 | private String fcsj; |
| 46 | /** 班次类型 */ | 45 | /** 班次类型 */ |
| 47 | private String bc_type; | 46 | private String bc_type; |
| 47 | + /** 线路上下行 */ | ||
| 48 | + private String xldir; | ||
| 49 | + /** 是偶分班 */ | ||
| 50 | + private Boolean isfb; | ||
| 48 | 51 | ||
| 49 | public FcInfo() { | 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 | this.bc_type = bc_type; | 57 | this.bc_type = bc_type; |
| 55 | this.fcsj = fcsj; | 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 | public Long getTtdid() { | 69 | public Long getTtdid() { |
| @@ -78,6 +89,22 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> | @@ -78,6 +89,22 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> | ||
| 78 | public void setBc_type(String bc_type) { | 89 | public void setBc_type(String bc_type) { |
| 79 | this.bc_type = bc_type; | 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,7 +146,7 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> | ||
| 119 | dataToolsProperties.getTtinfodetailForeditktr()).toURI()); | 146 | dataToolsProperties.getTtinfodetailForeditktr()).toURI()); |
| 120 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); | 147 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); |
| 121 | Trans trans = new Trans(transMeta); | 148 | Trans trans = new Trans(transMeta); |
| 122 | - trans.setLogLevel(LogLevel.DEBUG); | 149 | +// trans.setLogLevel(LogLevel.DEBUG); |
| 123 | // 1.2、设定命名参数,TODO:之后还要添加其他命名参数 | 150 | // 1.2、设定命名参数,TODO:之后还要添加其他命名参数 |
| 124 | String outputFilePath = "ttinfodetail_" + new DateTime().toString("yyyy-MM-dd_HH-mm-ss"); | 151 | String outputFilePath = "ttinfodetail_" + new DateTime().toString("yyyy-MM-dd_HH-mm-ss"); |
| 125 | trans.setParameterValue("tempfilepath", dataToolsProperties.getTransTempdir() + File.separator + outputFilePath); // 数据输出文件路径 | 152 | trans.setParameterValue("tempfilepath", dataToolsProperties.getTransTempdir() + File.separator + outputFilePath); // 数据输出文件路径 |
| @@ -152,21 +179,22 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> | @@ -152,21 +179,22 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> | ||
| 152 | for (int r = 1; r < sheet.getRows(); r++) { | 179 | for (int r = 1; r < sheet.getRows(); r++) { |
| 153 | List<FcInfo> fcInfos = new ArrayList<>(); | 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 | fcInfos.add(fcInfo); | 195 | fcInfos.add(fcInfo); |
| 168 | 196 | ||
| 169 | - c += 4; | 197 | + c += 6; |
| 170 | } | 198 | } |
| 171 | editInfo.getContents().add(fcInfos); | 199 | editInfo.getContents().add(fcInfos); |
| 172 | } | 200 | } |
src/main/java/com/bsth/service/schedule/TTInfoServiceImpl.java
| 1 | package com.bsth.service.schedule; | 1 | package com.bsth.service.schedule; |
| 2 | 2 | ||
| 3 | +import com.bsth.common.ResponseCode; | ||
| 3 | import com.bsth.entity.schedule.TTInfo; | 4 | import com.bsth.entity.schedule.TTInfo; |
| 4 | -import com.bsth.repository.schedule.TTInfoDetailRepository; | 5 | +import com.bsth.repository.schedule.TTInfoRepository; |
| 5 | import com.bsth.service.impl.BaseServiceImpl; | 6 | import com.bsth.service.impl.BaseServiceImpl; |
| 6 | import org.springframework.beans.factory.annotation.Autowired; | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 8 | +import org.springframework.dao.DataIntegrityViolationException; | ||
| 7 | import org.springframework.stereotype.Service; | 9 | import org.springframework.stereotype.Service; |
| 8 | 10 | ||
| 9 | import javax.transaction.Transactional; | 11 | import javax.transaction.Transactional; |
| 12 | +import java.util.HashMap; | ||
| 10 | import java.util.Map; | 13 | import java.util.Map; |
| 11 | 14 | ||
| 12 | /** | 15 | /** |
| @@ -16,11 +19,21 @@ import java.util.Map; | @@ -16,11 +19,21 @@ import java.util.Map; | ||
| 16 | @Transactional | 19 | @Transactional |
| 17 | public class TTInfoServiceImpl extends BaseServiceImpl<TTInfo, Long> implements TTInfoService { | 20 | public class TTInfoServiceImpl extends BaseServiceImpl<TTInfo, Long> implements TTInfoService { |
| 18 | @Autowired | 21 | @Autowired |
| 19 | - private TTInfoDetailRepository ttInfoDetailRepository; | 22 | + private TTInfoRepository ttInfoRepository; |
| 20 | 23 | ||
| 21 | @Override | 24 | @Override |
| 22 | public Map<String, Object> delete(Long aLong) { | 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 | package com.bsth.service.schedule.rules.strategy; | 1 | package com.bsth.service.schedule.rules.strategy; |
| 2 | 2 | ||
| 3 | +import com.bsth.entity.Line; | ||
| 3 | import com.bsth.entity.schedule.CarConfigInfo; | 4 | import com.bsth.entity.schedule.CarConfigInfo; |
| 4 | import com.bsth.entity.schedule.EmployeeConfigInfo; | 5 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 5 | import com.bsth.entity.schedule.TTInfo; | 6 | import com.bsth.entity.schedule.TTInfo; |
| 6 | import com.bsth.entity.schedule.TTInfoDetail; | 7 | import com.bsth.entity.schedule.TTInfoDetail; |
| 8 | +import com.bsth.entity.schedule.rule.ScheduleRule1Flat; | ||
| 7 | import com.google.common.collect.Multimap; | 9 | import com.google.common.collect.Multimap; |
| 8 | 10 | ||
| 9 | import java.util.Map; | 11 | import java.util.Map; |
| @@ -14,28 +16,42 @@ import java.util.Map; | @@ -14,28 +16,42 @@ import java.util.Map; | ||
| 14 | public interface IStrategy { | 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 | * @param xlId 线路id | 27 | * @param xlId 线路id |
| 19 | * @return 时刻表 | 28 | * @return 时刻表 |
| 20 | */ | 29 | */ |
| 21 | TTInfo getTTInfo(Integer xlId); | 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 | * @param xlId 线路id | 41 | * @param xlId 线路id |
| 26 | * @return 路牌id为key,时刻明细 Collection<TTInfoDetail> 为value | 42 | * @return 路牌id为key,时刻明细 Collection<TTInfoDetail> 为value |
| 27 | */ | 43 | */ |
| 28 | Multimap<Long, TTInfoDetail> getGuideboardXlTTInfoDetailMaps(Integer xlId); | 44 | Multimap<Long, TTInfoDetail> getGuideboardXlTTInfoDetailMaps(Integer xlId); |
| 29 | 45 | ||
| 30 | /** | 46 | /** |
| 31 | - * 查找指定线路下,车辆配置与车辆信息对应的Map。 | 47 | + * 获取指定线路下,车辆配置与车辆信息对应的Map。 |
| 32 | * @param xlId 线路id | 48 | * @param xlId 线路id |
| 33 | * @return 车辆配置id为key,具体车辆配置信息为value。 | 49 | * @return 车辆配置id为key,具体车辆配置信息为value。 |
| 34 | */ | 50 | */ |
| 35 | Map<Long, CarConfigInfo> getCarConfigMaps(Integer xlId); | 51 | Map<Long, CarConfigInfo> getCarConfigMaps(Integer xlId); |
| 36 | 52 | ||
| 37 | /** | 53 | /** |
| 38 | - * 查找指定线路下,人员配置与人员对应的Map。 | 54 | + * 获取指定线路下,人员配置与人员对应的Map。 |
| 39 | * @param xlId 线路id | 55 | * @param xlId 线路id |
| 40 | * @return 人员配置id为key,具体人员配置信息为value。 | 56 | * @return 人员配置id为key,具体人员配置信息为value。 |
| 41 | */ | 57 | */ |
src/main/java/com/bsth/service/schedule/rules/strategy/IStrategyImpl.java
| 1 | package com.bsth.service.schedule.rules.strategy; | 1 | package com.bsth.service.schedule.rules.strategy; |
| 2 | 2 | ||
| 3 | +import com.bsth.entity.Line; | ||
| 3 | import com.bsth.entity.schedule.CarConfigInfo; | 4 | import com.bsth.entity.schedule.CarConfigInfo; |
| 4 | import com.bsth.entity.schedule.EmployeeConfigInfo; | 5 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 5 | import com.bsth.entity.schedule.TTInfo; | 6 | import com.bsth.entity.schedule.TTInfo; |
| 6 | import com.bsth.entity.schedule.TTInfoDetail; | 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 | import com.google.common.collect.ArrayListMultimap; | 11 | import com.google.common.collect.ArrayListMultimap; |
| 12 | import com.google.common.collect.Multimap; | 12 | import com.google.common.collect.Multimap; |
| 13 | import org.springframework.beans.factory.annotation.Autowired; | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -30,13 +30,24 @@ public class IStrategyImpl implements IStrategy { | @@ -30,13 +30,24 @@ public class IStrategyImpl implements IStrategy { | ||
| 30 | private EmployeeConfigInfoService employeeConfigInfoService; | 30 | private EmployeeConfigInfoService employeeConfigInfoService; |
| 31 | @Autowired | 31 | @Autowired |
| 32 | private TTInfoDetailService ttInfoDetailService; | 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 | @Override | 44 | @Override |
| 35 | public TTInfo getTTInfo(Integer xlId) { | 45 | public TTInfo getTTInfo(Integer xlId) { |
| 36 | // TODO:本来要使用规则判定到底使用哪张时刻表,这里选用第一张 | 46 | // TODO:本来要使用规则判定到底使用哪张时刻表,这里选用第一张 |
| 37 | - // 查询参数 | ||
| 38 | - Map<String, Object> param = new HashMap<>(); | 47 | + Map<String, Object> param = new HashMap<>(); // 查询参数 |
| 48 | + param.clear(); | ||
| 39 | param.put("xl.id_eq", xlId); // 线路id | 49 | param.put("xl.id_eq", xlId); // 线路id |
| 50 | + param.put("isCancel_eq", false); // 没有作废 | ||
| 40 | param.put("isEnableDisTemplate_eq", true); // 是否启用 | 51 | param.put("isEnableDisTemplate_eq", true); // 是否启用 |
| 41 | Iterable<TTInfo> ttInfoIterable = ttInfoService.list(param); | 52 | Iterable<TTInfo> ttInfoIterable = ttInfoService.list(param); |
| 42 | Iterator<TTInfo> ttInfoIterator = ttInfoIterable.iterator(); | 53 | Iterator<TTInfo> ttInfoIterator = ttInfoIterable.iterator(); |
| @@ -46,6 +57,19 @@ public class IStrategyImpl implements IStrategy { | @@ -46,6 +57,19 @@ public class IStrategyImpl implements IStrategy { | ||
| 46 | } | 57 | } |
| 47 | 58 | ||
| 48 | @Override | 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 | public Multimap<Long, TTInfoDetail> getGuideboardXlTTInfoDetailMaps(Integer xlId) { | 73 | public Multimap<Long, TTInfoDetail> getGuideboardXlTTInfoDetailMaps(Integer xlId) { |
| 50 | TTInfo ttInfo = getTTInfo(xlId); | 74 | TTInfo ttInfo = getTTInfo(xlId); |
| 51 | // 查询参数 | 75 | // 查询参数 |
src/main/java/com/bsth/vehicle/BorrowCenter.java
| @@ -73,10 +73,10 @@ public class BorrowCenter { | @@ -73,10 +73,10 @@ public class BorrowCenter { | ||
| 73 | @Override | 73 | @Override |
| 74 | public void run() { | 74 | public void run() { |
| 75 | logger.info("nbbm " + (type==0?"借出":"归还") + "线路代码 " + lineCode); | 75 | logger.info("nbbm " + (type==0?"借出":"归还") + "线路代码 " + lineCode); |
| 76 | - directiveService.lineChange(nbbm, lineCode); | 76 | + directiveService.lineChange(nbbm, lineCode, null); |
| 77 | if(upDown != -1){ | 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,7 +32,7 @@ public class UpstreamEntrance { | ||
| 32 | DirectiveBuffer directiveBuffer; | 32 | DirectiveBuffer directiveBuffer; |
| 33 | 33 | ||
| 34 | @RequestMapping(value = "/upstream", method = RequestMethod.POST) | 34 | @RequestMapping(value = "/upstream", method = RequestMethod.POST) |
| 35 | - public int main(@RequestParam String json) { | 35 | + public String main(@RequestParam String json) { |
| 36 | logger.info("upstream: " + json); | 36 | logger.info("upstream: " + json); |
| 37 | try { | 37 | try { |
| 38 | JSONObject jsonParam = JSONObject.parseObject(json); | 38 | JSONObject jsonParam = JSONObject.parseObject(json); |
| @@ -66,6 +66,6 @@ public class UpstreamEntrance { | @@ -66,6 +66,6 @@ public class UpstreamEntrance { | ||
| 66 | } catch (Exception e) { | 66 | } catch (Exception e) { |
| 67 | logger.error("", e); | 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 | package com.bsth.vehicle.common; | 1 | package com.bsth.vehicle.common; |
| 2 | 2 | ||
| 3 | -import java.util.List; | ||
| 4 | import java.util.Map; | 3 | import java.util.Map; |
| 5 | 4 | ||
| 6 | import com.bsth.entity.Line; | 5 | import com.bsth.entity.Line; |
| 7 | -import com.bsth.entity.StationRoute; | ||
| 8 | -import com.google.common.collect.ArrayListMultimap; | ||
| 9 | import com.google.common.collect.BiMap; | 6 | import com.google.common.collect.BiMap; |
| 10 | import com.google.common.collect.TreeMultimap; | 7 | import com.google.common.collect.TreeMultimap; |
| 11 | 8 | ||
| @@ -54,12 +51,17 @@ public class CommonMapped { | @@ -54,12 +51,17 @@ public class CommonMapped { | ||
| 54 | * 线路站点路由对照 | 51 | * 线路站点路由对照 |
| 55 | * (K:线路编码, V:站点路由) | 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 | * 用于webSocket定向推送消息 | 58 | * 用于webSocket定向推送消息 |
| 62 | */ | 59 | */ |
| 63 | public static TreeMultimap<Integer, String> lineUserMap = TreeMultimap.create(); | 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 | package com.bsth.vehicle.common; | 1 | package com.bsth.vehicle.common; |
| 2 | 2 | ||
| 3 | -import java.util.ArrayList; | ||
| 4 | -import java.util.Collections; | ||
| 5 | import java.util.Comparator; | 3 | import java.util.Comparator; |
| 6 | import java.util.HashMap; | 4 | import java.util.HashMap; |
| 7 | import java.util.Iterator; | 5 | import java.util.Iterator; |
| 8 | -import java.util.List; | ||
| 9 | import java.util.Map; | 6 | import java.util.Map; |
| 10 | 7 | ||
| 11 | import org.slf4j.Logger; | 8 | import org.slf4j.Logger; |
| @@ -21,6 +18,7 @@ import com.bsth.entity.StationRoute; | @@ -21,6 +18,7 @@ import com.bsth.entity.StationRoute; | ||
| 21 | import com.bsth.entity.schedule.CarConfigInfo; | 18 | import com.bsth.entity.schedule.CarConfigInfo; |
| 22 | import com.bsth.repository.CarParkRepository; | 19 | import com.bsth.repository.CarParkRepository; |
| 23 | import com.bsth.repository.CarsRepository; | 20 | import com.bsth.repository.CarsRepository; |
| 21 | +import com.bsth.repository.LineRepository; | ||
| 24 | import com.bsth.repository.StationRepository; | 22 | import com.bsth.repository.StationRepository; |
| 25 | import com.bsth.repository.StationRouteRepository; | 23 | import com.bsth.repository.StationRouteRepository; |
| 26 | import com.bsth.repository.schedule.CarConfigInfoRepository; | 24 | import com.bsth.repository.schedule.CarConfigInfoRepository; |
| @@ -53,6 +51,9 @@ public class CommonRefreshThread extends Thread{ | @@ -53,6 +51,9 @@ public class CommonRefreshThread extends Thread{ | ||
| 53 | @Autowired | 51 | @Autowired |
| 54 | StationRouteRepository sRouteRepository; | 52 | StationRouteRepository sRouteRepository; |
| 55 | 53 | ||
| 54 | + @Autowired | ||
| 55 | + LineRepository lineRepository; | ||
| 56 | + | ||
| 56 | Logger logger = LoggerFactory.getLogger(this.getClass()); | 57 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 57 | 58 | ||
| 58 | @Override | 59 | @Override |
| @@ -62,7 +63,9 @@ public class CommonRefreshThread extends Thread{ | @@ -62,7 +63,9 @@ public class CommonRefreshThread extends Thread{ | ||
| 62 | initStationCodeMap(); | 63 | initStationCodeMap(); |
| 63 | initVehicLineMap(); | 64 | initVehicLineMap(); |
| 64 | 65 | ||
| 65 | - initLineStationRouteMap(); | 66 | + //initLineStationRouteMap(); |
| 67 | + | ||
| 68 | + initLineIdToCode(); | ||
| 66 | } catch (Exception e) { | 69 | } catch (Exception e) { |
| 67 | e.printStackTrace(); | 70 | e.printStackTrace(); |
| 68 | logger.error("", e); | 71 | logger.error("", e); |
| @@ -75,7 +78,7 @@ public class CommonRefreshThread extends Thread{ | @@ -75,7 +78,7 @@ public class CommonRefreshThread extends Thread{ | ||
| 75 | * @Description: TODO(加载线路站点路由信息) | 78 | * @Description: TODO(加载线路站点路由信息) |
| 76 | * @throws | 79 | * @throws |
| 77 | */ | 80 | */ |
| 78 | - private void initLineStationRouteMap() { | 81 | +/* private void initLineStationRouteMap() { |
| 79 | List<StationRoute> routes = sRouteRepository.findAll2(); | 82 | List<StationRoute> routes = sRouteRepository.findAll2(); |
| 80 | 83 | ||
| 81 | Map<Integer, List<StationRoute>> map = new HashMap<>(); | 84 | Map<Integer, List<StationRoute>> map = new HashMap<>(); |
| @@ -97,6 +100,19 @@ public class CommonRefreshThread extends Thread{ | @@ -97,6 +100,19 @@ public class CommonRefreshThread extends Thread{ | ||
| 97 | temp = iterator.next(); | 100 | temp = iterator.next(); |
| 98 | Collections.sort(temp, sRouteComp); | 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
| @@ -5,7 +5,6 @@ import java.util.Calendar; | @@ -5,7 +5,6 @@ import java.util.Calendar; | ||
| 5 | import java.util.Collection; | 5 | import java.util.Collection; |
| 6 | import java.util.Comparator; | 6 | import java.util.Comparator; |
| 7 | import java.util.HashMap; | 7 | import java.util.HashMap; |
| 8 | -import java.util.Iterator; | ||
| 9 | import java.util.LinkedList; | 8 | import java.util.LinkedList; |
| 10 | import java.util.List; | 9 | import java.util.List; |
| 11 | import java.util.Map; | 10 | import java.util.Map; |
src/main/java/com/bsth/vehicle/directive/controller/DirectiveController.java
| @@ -9,6 +9,8 @@ import org.springframework.web.bind.annotation.RequestMethod; | @@ -9,6 +9,8 @@ import org.springframework.web.bind.annotation.RequestMethod; | ||
| 9 | import org.springframework.web.bind.annotation.RequestParam; | 9 | import org.springframework.web.bind.annotation.RequestParam; |
| 10 | import org.springframework.web.bind.annotation.RestController; | 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 | import com.bsth.vehicle.directive.entity.Directive80; | 14 | import com.bsth.vehicle.directive.entity.Directive80; |
| 13 | import com.bsth.vehicle.directive.service.DirectiveService; | 15 | import com.bsth.vehicle.directive.service.DirectiveService; |
| 14 | 16 | ||
| @@ -35,7 +37,8 @@ public class DirectiveController { | @@ -35,7 +37,8 @@ public class DirectiveController { | ||
| 35 | */ | 37 | */ |
| 36 | @RequestMapping(value = "/phrase", method = RequestMethod.POST) | 38 | @RequestMapping(value = "/phrase", method = RequestMethod.POST) |
| 37 | public int send60Phrase(@RequestParam String nbbm, @RequestParam String text){ | 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,7 +50,8 @@ public class DirectiveController { | ||
| 47 | */ | 50 | */ |
| 48 | @RequestMapping(value = "/dispatch", method = RequestMethod.POST) | 51 | @RequestMapping(value = "/dispatch", method = RequestMethod.POST) |
| 49 | public int send60Dispatch(@RequestParam Long id){ | 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,7 +64,8 @@ public class DirectiveController { | ||
| 60 | */ | 64 | */ |
| 61 | @RequestMapping(value = "/lineChnage", method = RequestMethod.POST) | 65 | @RequestMapping(value = "/lineChnage", method = RequestMethod.POST) |
| 62 | public int lineChange(@RequestParam String nbbm, @RequestParam Integer lineId){ | 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,9 +76,10 @@ public class DirectiveController { | ||
| 71 | * @param @param upDon | 76 | * @param @param upDon |
| 72 | * @throws | 77 | * @throws |
| 73 | */ | 78 | */ |
| 74 | - @RequestMapping(value = "/upDownChange", method = RequestMethod.POST) | 79 | + @RequestMapping(value = "/upDownChange", method = RequestMethod.GET) |
| 75 | public int upDownChange(@RequestParam String nbbm, @RequestParam Integer upDown){ | 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,6 +44,11 @@ public class Directive { | ||
| 44 | private String errorText; | 44 | private String errorText; |
| 45 | 45 | ||
| 46 | private int httpCode; | 46 | private int httpCode; |
| 47 | + | ||
| 48 | + /** | ||
| 49 | + * 发送人 | ||
| 50 | + */ | ||
| 51 | + private String sender; | ||
| 47 | 52 | ||
| 48 | public short getOperCode() { | 53 | public short getOperCode() { |
| 49 | return operCode; | 54 | return operCode; |
| @@ -100,4 +105,12 @@ public class Directive { | @@ -100,4 +105,12 @@ public class Directive { | ||
| 100 | public void setHttpCode(int httpCode) { | 105 | public void setHttpCode(int httpCode) { |
| 101 | this.httpCode = httpCode; | 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,7 +13,6 @@ import javax.persistence.Table; | ||
| 13 | import javax.persistence.Transient; | 13 | import javax.persistence.Transient; |
| 14 | 14 | ||
| 15 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 15 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 16 | -import com.bsth.entity.sys.SysUser; | ||
| 17 | import com.fasterxml.jackson.annotation.JsonIgnore; | 16 | import com.fasterxml.jackson.annotation.JsonIgnore; |
| 18 | 17 | ||
| 19 | 18 | ||
| @@ -72,12 +71,6 @@ public class Directive60 extends Directive{ | @@ -72,12 +71,6 @@ public class Directive60 extends Directive{ | ||
| 72 | @ManyToOne(fetch = FetchType.LAZY) | 71 | @ManyToOne(fetch = FetchType.LAZY) |
| 73 | private ScheduleRealInfo sch; | 72 | private ScheduleRealInfo sch; |
| 74 | 73 | ||
| 75 | - /** | ||
| 76 | - * 发送人 | ||
| 77 | - */ | ||
| 78 | - @ManyToOne | ||
| 79 | - private SysUser sender; | ||
| 80 | - | ||
| 81 | @Embeddable | 74 | @Embeddable |
| 82 | public static class DirectiveData { | 75 | public static class DirectiveData { |
| 83 | // 公司代码 | 76 | // 公司代码 |
| @@ -271,12 +264,4 @@ public class Directive60 extends Directive{ | @@ -271,12 +264,4 @@ public class Directive60 extends Directive{ | ||
| 271 | public void setSch(ScheduleRealInfo sch) { | 264 | public void setSch(ScheduleRealInfo sch) { |
| 272 | this.sch = sch; | 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,7 +20,7 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ | ||
| 20 | * @return int 返回类型 | 20 | * @return int 返回类型 |
| 21 | * @throws | 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,7 +30,7 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ | ||
| 30 | * @param @param finish 已完成的班次数 | 30 | * @param @param finish 已完成的班次数 |
| 31 | * @throws | 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,10 +39,10 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ | ||
| 39 | * @param @param id 班次ID | 39 | * @param @param id 班次ID |
| 40 | * @throws | 40 | * @throws |
| 41 | */ | 41 | */ |
| 42 | - int send60Dispatch(Long id); | 42 | + int send60Dispatch(Long id, String sender); |
| 43 | 43 | ||
| 44 | //60营运指令 | 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,7 +52,7 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ | ||
| 52 | * @param @param lineId 新线路编码 | 52 | * @param @param lineId 新线路编码 |
| 53 | * @throws | 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,7 +62,7 @@ public interface DirectiveService extends BaseService<Directive60, Integer>{ | ||
| 62 | * @param @param upDonw 上下行 0 上行 1 下行 | 62 | * @param @param upDonw 上下行 0 上行 1 下行 |
| 63 | * @throws | 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 | package com.bsth.vehicle.directive.service; | 1 | package com.bsth.vehicle.directive.service; |
| 2 | 2 | ||
| 3 | import java.text.SimpleDateFormat; | 3 | import java.text.SimpleDateFormat; |
| 4 | +import java.util.ArrayList; | ||
| 4 | import java.util.Collections; | 5 | import java.util.Collections; |
| 5 | import java.util.Date; | 6 | import java.util.Date; |
| 6 | import java.util.HashMap; | 7 | import java.util.HashMap; |
| @@ -20,20 +21,17 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; | @@ -20,20 +21,17 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; | ||
| 20 | import com.bsth.service.impl.BaseServiceImpl; | 21 | import com.bsth.service.impl.BaseServiceImpl; |
| 21 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; | 22 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; |
| 22 | import com.bsth.vehicle.common.CommonMapped; | 23 | import com.bsth.vehicle.common.CommonMapped; |
| 23 | -import com.bsth.vehicle.directive.Consts; | ||
| 24 | -import com.bsth.vehicle.directive.MsgIdGenerator; | ||
| 25 | import com.bsth.vehicle.directive.buffer.DirectiveBuffer; | 24 | import com.bsth.vehicle.directive.buffer.DirectiveBuffer; |
| 26 | import com.bsth.vehicle.directive.entity.Directive; | 25 | import com.bsth.vehicle.directive.entity.Directive; |
| 27 | import com.bsth.vehicle.directive.entity.Directive60; | 26 | import com.bsth.vehicle.directive.entity.Directive60; |
| 28 | -import com.bsth.vehicle.directive.entity.Directive60.DirectiveData; | ||
| 29 | import com.bsth.vehicle.directive.entity.DirectiveC0.DirectiveC0Data; | 27 | import com.bsth.vehicle.directive.entity.DirectiveC0.DirectiveC0Data; |
| 30 | import com.bsth.vehicle.directive.entity.Directive80; | 28 | import com.bsth.vehicle.directive.entity.Directive80; |
| 31 | import com.bsth.vehicle.directive.entity.DirectiveC0; | 29 | import com.bsth.vehicle.directive.entity.DirectiveC0; |
| 32 | import com.bsth.vehicle.directive.entity.Directive64; | 30 | import com.bsth.vehicle.directive.entity.Directive64; |
| 33 | -import com.bsth.vehicle.directive.entity.Directive64.LineChangeData; | ||
| 34 | import com.bsth.vehicle.directive.repository.Directive60Repository; | 31 | import com.bsth.vehicle.directive.repository.Directive60Repository; |
| 35 | import com.bsth.vehicle.directive.repository.Directive80Repository; | 32 | import com.bsth.vehicle.directive.repository.Directive80Repository; |
| 36 | import com.bsth.vehicle.directive.repository.LineChangeRepository; | 33 | import com.bsth.vehicle.directive.repository.LineChangeRepository; |
| 34 | +import com.bsth.vehicle.directive.util.DirectiveDataFactory; | ||
| 37 | import com.bsth.vehicle.directive.util.HttpUtils; | 35 | import com.bsth.vehicle.directive.util.HttpUtils; |
| 38 | import com.bsth.vehicle.gpsdata.buffer.GpsRealDataBuffer; | 36 | import com.bsth.vehicle.gpsdata.buffer.GpsRealDataBuffer; |
| 39 | import com.bsth.vehicle.gpsdata.entity.GpsRealData; | 37 | import com.bsth.vehicle.gpsdata.entity.GpsRealData; |
| @@ -64,11 +62,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -64,11 +62,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 64 | 62 | ||
| 65 | static Long schDiff = 1000 * 60 * 60L; | 63 | static Long schDiff = 1000 * 60 * 60L; |
| 66 | 64 | ||
| 67 | - // 城市代码 | ||
| 68 | - static final short cityCode = 22; | ||
| 69 | - | ||
| 70 | @Override | 65 | @Override |
| 71 | - public int send60Phrase(String nbbm, String text) { | 66 | + public int send60Phrase(String nbbm, String text, String sender) { |
| 72 | Directive60 directive = null; | 67 | Directive60 directive = null; |
| 73 | try { | 68 | try { |
| 74 | directive = create60Data(nbbm, text, (short) 0x00, null); | 69 | directive = create60Data(nbbm, text, (short) 0x00, null); |
| @@ -82,6 +77,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -82,6 +77,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 82 | 77 | ||
| 83 | // 发送指令 | 78 | // 发送指令 |
| 84 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); | 79 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); |
| 80 | + if(null != sender) | ||
| 81 | + directive.setSender(sender); | ||
| 85 | directive.setHttpCode(code); | 82 | directive.setHttpCode(code); |
| 86 | // 添加到缓存,等待入库 | 83 | // 添加到缓存,等待入库 |
| 87 | DirectiveBuffer.put(directive); | 84 | DirectiveBuffer.put(directive); |
| @@ -94,13 +91,13 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -94,13 +91,13 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 94 | } | 91 | } |
| 95 | 92 | ||
| 96 | @Override | 93 | @Override |
| 97 | - public int send60Dispatch(ScheduleRealInfo sch, int finish) { | 94 | + public int send60Dispatch(ScheduleRealInfo sch, int finish, String sender) { |
| 98 | Directive60 directive = null; | 95 | Directive60 directive = null; |
| 99 | try { | 96 | try { |
| 100 | // 如果发车时间距当前时间较远,则不发送 | 97 | // 如果发车时间距当前时间较远,则不发送 |
| 101 | - if (Math.abs(sch.getFcsjT() - System.currentTimeMillis()) > schDiff) { | 98 | + /*if (Math.abs(sch.getFcsjT() - System.currentTimeMillis()) > schDiff) { |
| 102 | return -2; | 99 | return -2; |
| 103 | - } | 100 | + }*/ |
| 104 | 101 | ||
| 105 | String text = "已完成" + finish + "个班次,下一发车时间" + sdfHHmm.format(new Date(sch.getFcsjT())) + ",由" | 102 | String text = "已完成" + finish + "个班次,下一发车时间" + sdfHHmm.format(new Date(sch.getFcsjT())) + ",由" |
| 106 | + sch.getQdzName() + "发往" + sch.getZdzName(); | 103 | + sch.getQdzName() + "发往" + sch.getZdzName(); |
| @@ -114,6 +111,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -114,6 +111,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 114 | 111 | ||
| 115 | if (null == directive) | 112 | if (null == directive) |
| 116 | return -1; | 113 | return -1; |
| 114 | + if(null != sender) | ||
| 115 | + directive.setSender(sender); | ||
| 116 | + else | ||
| 117 | + directive.setSender("系统"); | ||
| 117 | 118 | ||
| 118 | // 发送指令 | 119 | // 发送指令 |
| 119 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); | 120 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); |
| @@ -148,22 +149,26 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -148,22 +149,26 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 148 | } | 149 | } |
| 149 | 150 | ||
| 150 | @Override | 151 | @Override |
| 151 | - public int send60Dispatch(Long id) { | 152 | + public int send60Dispatch(Long id, String sender) { |
| 152 | ScheduleRealInfo sch = ScheduleBuffer.findOne(id); | 153 | ScheduleRealInfo sch = ScheduleBuffer.findOne(id); |
| 153 | // 车辆已完成班次 | 154 | // 车辆已完成班次 |
| 154 | int finish = ScheduleBuffer.getFinishSchNo(sch.getClZbh()); | 155 | int finish = ScheduleBuffer.getFinishSchNo(sch.getClZbh()); |
| 155 | - return send60Dispatch(sch, finish); | 156 | + return send60Dispatch(sch, finish, sender); |
| 156 | } | 157 | } |
| 157 | 158 | ||
| 158 | @Override | 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 | logger.info("切换运营状态, nbbm: " + nbbm + " ,state: " + state + " ,upDown:" + upDown); | 161 | logger.info("切换运营状态, nbbm: " + nbbm + " ,state: " + state + " ,upDown:" + upDown); |
| 161 | 162 | ||
| 162 | String text = "切换为 " + (upDown == 0 ? "上行" : "下行") + (state == 0 ? "营运" : "未营运"); | 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 | if (null == directive) | 166 | if (null == directive) |
| 166 | return -1; | 167 | return -1; |
| 168 | + if(null != sender) | ||
| 169 | + directive.setSender(sender); | ||
| 170 | + else | ||
| 171 | + directive.setSender("系统"); | ||
| 167 | // 发送指令 | 172 | // 发送指令 |
| 168 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); | 173 | int code = HttpUtils.postJson(JSON.toJSONString(directive)); |
| 169 | // 添加到缓存,等待入库 | 174 | // 添加到缓存,等待入库 |
| @@ -183,21 +188,28 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -183,21 +188,28 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 183 | * 线路切换 | 188 | * 线路切换 |
| 184 | */ | 189 | */ |
| 185 | @Override | 190 | @Override |
| 186 | - public int lineChange(String nbbm, Integer lineId) { | 191 | + public int lineChange(String nbbm, Integer lineCode, String sender) { |
| 187 | Long t = System.currentTimeMillis(); | 192 | Long t = System.currentTimeMillis(); |
| 188 | - String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | 193 | + /*String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); |
| 189 | 194 | ||
| 190 | Directive64 change = new Directive64(); | 195 | Directive64 change = new Directive64(); |
| 191 | LineChangeData data = new LineChangeData(); | 196 | LineChangeData data = new LineChangeData(); |
| 192 | data.setCityCode(cityCode); | 197 | data.setCityCode(cityCode); |
| 193 | data.setDeviceId(deviceId); | 198 | data.setDeviceId(deviceId); |
| 194 | - data.setLineId("00" + String.valueOf(lineId)); | 199 | + data.setLineId("00" + String.valueOf(lineCode)); |
| 195 | 200 | ||
| 196 | change.setDeviceId(deviceId); | 201 | change.setDeviceId(deviceId); |
| 197 | change.setOperCode((short) 0X64); | 202 | change.setOperCode((short) 0X64); |
| 198 | change.setTimestamp(t); | 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 | int code = HttpUtils.postJson(JSON.toJSONString(change)); | 213 | int code = HttpUtils.postJson(JSON.toJSONString(change)); |
| 202 | // 入库 | 214 | // 入库 |
| 203 | change.setHttpCode(code); | 215 | change.setHttpCode(code); |
| @@ -205,7 +217,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -205,7 +217,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 205 | 217 | ||
| 206 | // 通知设备刷新线路文件,忽略结果 | 218 | // 通知设备刷新线路文件,忽略结果 |
| 207 | if (code == 0) | 219 | if (code == 0) |
| 208 | - HttpUtils.postJson(createDeviceRefreshData(deviceId, lineId)); | 220 | + HttpUtils.postJson(DirectiveDataFactory.createDeviceRefreshData(deviceId, lineCode)); |
| 209 | else | 221 | else |
| 210 | change.setErrorText("网关通讯失败, code: " + code); | 222 | change.setErrorText("网关通讯失败, code: " + code); |
| 211 | 223 | ||
| @@ -215,10 +227,6 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -215,10 +227,6 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 215 | 227 | ||
| 216 | public Directive60 create60Data(String nbbm, String text, Short dispatchInstruct, ScheduleRealInfo sch) { | 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 | String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); | 230 | String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm); |
| 223 | if (null == deviceId) { | 231 | if (null == deviceId) { |
| 224 | logger.error("没有设备号对照的车辆:" + nbbm); | 232 | logger.error("没有设备号对照的车辆:" + nbbm); |
| @@ -239,10 +247,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -239,10 +247,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 239 | state = 0; | 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 | Long timestamp = System.currentTimeMillis(); | 254 | Long timestamp = System.currentTimeMillis(); |
| 247 | 255 | ||
| 248 | Short company = Short.parseShort(CommonMapped.vehicCompanyMap.get(nbbm)); | 256 | Short company = Short.parseShort(CommonMapped.vehicCompanyMap.get(nbbm)); |
| @@ -277,21 +285,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -277,21 +285,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 277 | data.setTxtContent(text); | 285 | data.setTxtContent(text); |
| 278 | 286 | ||
| 279 | return directive; | 287 | return directive; |
| 280 | - } | 288 | + }*/ |
| 281 | 289 | ||
| 282 | @Override | 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,7 +297,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 299 | * @Title: createDeviceRefreshData @Description: | 297 | * @Title: createDeviceRefreshData @Description: |
| 300 | * TODO(生成设备线路刷新数据包) @param @return 设定文件 @return String 返回类型 @throws | 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 | Long t = System.currentTimeMillis(); | 301 | Long t = System.currentTimeMillis(); |
| 304 | Map<String, Object> param = new HashMap<String, Object>(); | 302 | Map<String, Object> param = new HashMap<String, Object>(); |
| 305 | param.put("deviceId", deviceId); | 303 | param.put("deviceId", deviceId); |
| @@ -307,7 +305,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -307,7 +305,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 307 | param.put("operCode", 0Xc0); | 305 | param.put("operCode", 0Xc0); |
| 308 | 306 | ||
| 309 | Map<String, Object> data = new HashMap<String, Object>(); | 307 | Map<String, Object> data = new HashMap<String, Object>(); |
| 310 | - data.put("operCode", 0xa1); | 308 | + data.put("operCode2", 0xa1); |
| 311 | data.put("cityCode", cityCode); | 309 | data.put("cityCode", cityCode); |
| 312 | data.put("deviceId", deviceId); | 310 | data.put("deviceId", deviceId); |
| 313 | data.put("timestamp", t); | 311 | data.put("timestamp", t); |
| @@ -318,7 +316,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -318,7 +316,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 318 | param.put("data", data); | 316 | param.put("data", data); |
| 319 | 317 | ||
| 320 | return JSON.toJSONString(param); | 318 | return JSON.toJSONString(param); |
| 321 | - } | 319 | + }*/ |
| 322 | 320 | ||
| 323 | @Override | 321 | @Override |
| 324 | public Map<String, List<Directive80>> findNoCofm80(String lineCodes) { | 322 | public Map<String, List<Directive80>> findNoCofm80(String lineCodes) { |
| @@ -409,8 +407,15 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -409,8 +407,15 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 409 | // 时间倒序 | 407 | // 时间倒序 |
| 410 | Collections.sort(list, new DirectiveBuffer.DComparator()); | 408 | Collections.sort(list, new DirectiveBuffer.DComparator()); |
| 411 | if(StringUtils.isNotBlank(nbbm)){ | 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 | int count = list.size(); | 421 | int count = list.size(); |
src/main/java/com/bsth/vehicle/directive/thread/FirstScheduleIssuedThread.java
| @@ -69,7 +69,7 @@ public class FirstScheduleIssuedThread extends Thread{ | @@ -69,7 +69,7 @@ public class FirstScheduleIssuedThread extends Thread{ | ||
| 69 | //切换营运状态 | 69 | //切换营运状态 |
| 70 | directiveService.send60Operation(sch.getClZbh() | 70 | directiveService.send60Operation(sch.getClZbh() |
| 71 | , 0, Integer.parseInt(sch.getXlDir()) | 71 | , 0, Integer.parseInt(sch.getXlDir()) |
| 72 | - , sch); | 72 | + , sch, null); |
| 73 | } | 73 | } |
| 74 | } | 74 | } |
| 75 | } | 75 | } |
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,145 +66,8 @@ public class ArrivalThread extends Thread{ | ||
| 66 | for(String lineCode : newSet){ | 66 | for(String lineCode : newSet){ |
| 67 | MatchService.addService(lineCode); | 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 | * @throws ParseException | 73 | * @throws ParseException |
| @@ -258,24 +121,4 @@ public class ArrivalThread extends Thread{ | @@ -258,24 +121,4 @@ public class ArrivalThread extends Thread{ | ||
| 258 | } | 121 | } |
| 259 | return list; | 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,18 +155,20 @@ public class ScheduleRealMatcher implements ApplicationContextAware{ | ||
| 155 | } | 155 | } |
| 156 | 156 | ||
| 157 | finish = ScheduleBuffer.getFinishSchNo(sch.getClZbh()); | 157 | finish = ScheduleBuffer.getFinishSchNo(sch.getClZbh()); |
| 158 | - upDown = Integer.parseInt(sch.getXlDir()); | 158 | + |
| 159 | if(nextSch != null){ | 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 | else{ | 167 | else{ |
| 168 | + upDown = Integer.parseInt(sch.getXlDir()); | ||
| 167 | //没有下一个班次了,切换为非营运状态 | 169 | //没有下一个班次了,切换为非营运状态 |
| 168 | logger.info(sch.getClZbh() + " 完成所有班次,切换为非营运状态"); | 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 | sendZdsj(sch, nextSch, finish);//推送到页面 | 174 | sendZdsj(sch, nextSch, finish);//推送到页面 |
| @@ -183,10 +185,6 @@ public class ScheduleRealMatcher implements ApplicationContextAware{ | @@ -183,10 +185,6 @@ public class ScheduleRealMatcher implements ApplicationContextAware{ | ||
| 183 | * @throws | 185 | * @throws |
| 184 | */ | 186 | */ |
| 185 | public void sendFcsj(ScheduleRealInfo schedule) { | 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 | Map<String, Object> map = new HashMap<>(); | 189 | Map<String, Object> map = new HashMap<>(); |
| 192 | map.put("fn", "faChe"); | 190 | map.put("fn", "faChe"); |
| @@ -212,12 +210,6 @@ public class ScheduleRealMatcher implements ApplicationContextAware{ | @@ -212,12 +210,6 @@ public class ScheduleRealMatcher implements ApplicationContextAware{ | ||
| 212 | * @throws | 210 | * @throws |
| 213 | */ | 211 | */ |
| 214 | public void sendZdsj(ScheduleRealInfo schedule,ScheduleRealInfo nextSch, int finish) { | 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 | Map<String, Object> map = new HashMap<>(); | 214 | Map<String, Object> map = new HashMap<>(); |
| 223 | map.put("fn", "zhongDian"); | 215 | map.put("fn", "zhongDian"); |
src/main/java/com/bsth/vehicle/gpsdata/buffer/GpsRealDataBuffer.java
| @@ -103,11 +103,9 @@ public class GpsRealDataBuffer { | @@ -103,11 +103,9 @@ public class GpsRealDataBuffer { | ||
| 103 | 103 | ||
| 104 | //更新GPS点 | 104 | //更新GPS点 |
| 105 | for(GpsRealData newGps : upGpsList){ | 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 | newGps.setOnline(true); | 108 | newGps.setOnline(true); |
| 110 | - } | ||
| 111 | 109 | ||
| 112 | deviceGpsMap.put(newGps.getDeviceId(), newGps); | 110 | deviceGpsMap.put(newGps.getDeviceId(), newGps); |
| 113 | } | 111 | } |
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
| @@ -587,13 +587,31 @@ | @@ -587,13 +587,31 @@ | ||
| 587 | <optimizationLevel>9</optimizationLevel> | 587 | <optimizationLevel>9</optimizationLevel> |
| 588 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | 588 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> |
| 589 | <jsScript_name>Script 1</jsScript_name> | 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 | </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> | 591 | </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> |
| 592 | <rename>qdzname</rename> | 592 | <rename>qdzname</rename> |
| 593 | <type>String</type> | 593 | <type>String</type> |
| 594 | <length>-1</length> | 594 | <length>-1</length> |
| 595 | <precision>-1</precision> | 595 | <precision>-1</precision> |
| 596 | <replace>Y</replace> | 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 | </field> </fields> <cluster_schema/> | 615 | </field> </fields> <cluster_schema/> |
| 598 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 616 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 599 | <xloc>788</xloc> | 617 | <xloc>788</xloc> |
| @@ -693,76 +711,8 @@ | @@ -693,76 +711,8 @@ | ||
| 693 | </step> | 711 | </step> |
| 694 | 712 | ||
| 695 | <step> | 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 | <description/> | 716 | <description/> |
| 767 | <distribute>Y</distribute> | 717 | <distribute>Y</distribute> |
| 768 | <custom_distribution/> | 718 | <custom_distribution/> |
| @@ -772,141 +722,118 @@ | @@ -772,141 +722,118 @@ | ||
| 772 | <schema_name/> | 722 | <schema_name/> |
| 773 | </partitioning> | 723 | </partitioning> |
| 774 | <connection>bus_control_variable</connection> | 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 | <lookup> | 727 | <lookup> |
| 779 | <schema/> | 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 | <key> | 730 | <key> |
| 785 | - <name>tccname_</name> | ||
| 786 | - <field>park_name</field> | 731 | + <name>xlid</name> |
| 732 | + <field>xl</field> | ||
| 787 | <condition>=</condition> | 733 | <condition>=</condition> |
| 788 | <name2/> | 734 | <name2/> |
| 789 | </key> | 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 | <key> | 736 | <key> |
| 827 | - <name>tccname_</name> | ||
| 828 | - <field>park_name</field> | 737 | + <name>ttid</name> |
| 738 | + <field>ttinfo</field> | ||
| 829 | <condition>=</condition> | 739 | <condition>=</condition> |
| 830 | <name2/> | 740 | <name2/> |
| 831 | </key> | 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 | <key> | 742 | <key> |
| 869 | - <name>xlid</name> | ||
| 870 | - <field>line</field> | 743 | + <name>lpid</name> |
| 744 | + <field>lp</field> | ||
| 871 | <condition>=</condition> | 745 | <condition>=</condition> |
| 872 | <name2/> | 746 | <name2/> |
| 873 | </key> | 747 | </key> |
| 874 | <key> | 748 | <key> |
| 875 | - <name>zdzname</name> | ||
| 876 | - <field>station_name</field> | 749 | + <name>fcno</name> |
| 750 | + <field>fcno</field> | ||
| 877 | <condition>=</condition> | 751 | <condition>=</condition> |
| 878 | <name2/> | 752 | <name2/> |
| 879 | </key> | 753 | </key> |
| 880 | <key> | 754 | <key> |
| 881 | - <name>endZdtype</name> | ||
| 882 | - <field>station_mark</field> | 755 | + <name>bcs</name> |
| 756 | + <field>bcs</field> | ||
| 883 | <condition>=</condition> | 757 | <condition>=</condition> |
| 884 | <name2/> | 758 | <name2/> |
| 885 | </key> | 759 | </key> |
| 886 | <value> | 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 | <rename>zdzid</rename> | 812 | <rename>zdzid</rename> |
| 889 | - <default/> | ||
| 890 | - <type>Integer</type> | 813 | + <update>Y</update> |
| 891 | </value> | 814 | </value> |
| 892 | <value> | 815 | <value> |
| 893 | - <name>directions</name> | 816 | + <name>xl_dir</name> |
| 894 | <rename>sxx</rename> | 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 | </value> | 824 | </value> |
| 898 | </lookup> | 825 | </lookup> |
| 899 | <cluster_schema/> | 826 | <cluster_schema/> |
| 900 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 830 | <draw>Y</draw> |
| 904 | </GUI> | 831 | </GUI> |
| 905 | </step> | 832 | </step> |
| 906 | 833 | ||
| 907 | <step> | 834 | <step> |
| 908 | - <name>查找时刻表基础信息关联</name> | ||
| 909 | - <type>DBLookup</type> | 835 | + <name>插入/更新bsth_c_s_ttinfo_detail 2</name> |
| 836 | + <type>InsertUpdate</type> | ||
| 910 | <description/> | 837 | <description/> |
| 911 | <distribute>Y</distribute> | 838 | <distribute>Y</distribute> |
| 912 | <custom_distribution/> | 839 | <custom_distribution/> |
| @@ -916,15 +843,11 @@ | @@ -916,15 +843,11 @@ | ||
| 916 | <schema_name/> | 843 | <schema_name/> |
| 917 | </partitioning> | 844 | </partitioning> |
| 918 | <connection>bus_control_variable</connection> | 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 | <lookup> | 848 | <lookup> |
| 923 | <schema/> | 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 | <key> | 851 | <key> |
| 929 | <name>xlid</name> | 852 | <name>xlid</name> |
| 930 | <field>xl</field> | 853 | <field>xl</field> |
| @@ -932,89 +855,106 @@ | @@ -932,89 +855,106 @@ | ||
| 932 | <name2/> | 855 | <name2/> |
| 933 | </key> | 856 | </key> |
| 934 | <key> | 857 | <key> |
| 935 | - <name>ttinfoname_</name> | ||
| 936 | - <field>name</field> | 858 | + <name>ttid</name> |
| 859 | + <field>ttinfo</field> | ||
| 937 | <condition>=</condition> | 860 | <condition>=</condition> |
| 938 | <name2/> | 861 | <name2/> |
| 939 | </key> | 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 | <key> | 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 | <condition>=</condition> | 878 | <condition>=</condition> |
| 980 | <name2/> | 879 | <name2/> |
| 981 | </key> | 880 | </key> |
| 982 | <value> | 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 | </value> | 885 | </value> |
| 988 | <value> | 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 | </value> | 890 | </value> |
| 994 | <value> | 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 | </value> | 895 | </value> |
| 1000 | <value> | 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 | </value> | 945 | </value> |
| 1006 | </lookup> | 946 | </lookup> |
| 1007 | <cluster_schema/> | 947 | <cluster_schema/> |
| 1008 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 951 | <draw>Y</draw> |
| 1012 | </GUI> | 952 | </GUI> |
| 1013 | </step> | 953 | </step> |
| 1014 | 954 | ||
| 1015 | <step> | 955 | <step> |
| 1016 | - <name>查找线路关联</name> | ||
| 1017 | - <type>DBLookup</type> | 956 | + <name>插入/更新bsth_c_s_ttinfo_detail 3</name> |
| 957 | + <type>InsertUpdate</type> | ||
| 1018 | <description/> | 958 | <description/> |
| 1019 | <distribute>Y</distribute> | 959 | <distribute>Y</distribute> |
| 1020 | <custom_distribution/> | 960 | <custom_distribution/> |
| @@ -1024,39 +964,118 @@ | @@ -1024,39 +964,118 @@ | ||
| 1024 | <schema_name/> | 964 | <schema_name/> |
| 1025 | </partitioning> | 965 | </partitioning> |
| 1026 | <connection>bus_control_variable</connection> | 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 | <lookup> | 969 | <lookup> |
| 1031 | <schema/> | 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 | <key> | 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 | <condition>=</condition> | 999 | <condition>=</condition> |
| 1040 | <name2/> | 1000 | <name2/> |
| 1041 | </key> | 1001 | </key> |
| 1042 | <value> | 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 | <rename>xlid</rename> | 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 | </value> | 1066 | </value> |
| 1048 | </lookup> | 1067 | </lookup> |
| 1049 | <cluster_schema/> | 1068 | <cluster_schema/> |
| 1050 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1072 | <draw>Y</draw> |
| 1054 | </GUI> | 1073 | </GUI> |
| 1055 | </step> | 1074 | </step> |
| 1056 | 1075 | ||
| 1057 | <step> | 1076 | <step> |
| 1058 | - <name>查找线路出场里程时间</name> | ||
| 1059 | - <type>DBLookup</type> | 1077 | + <name>时刻表明细信息Excel输入</name> |
| 1078 | + <type>ExcelInput</type> | ||
| 1060 | <description/> | 1079 | <description/> |
| 1061 | <distribute>Y</distribute> | 1080 | <distribute>Y</distribute> |
| 1062 | <custom_distribution/> | 1081 | <custom_distribution/> |
| @@ -1065,45 +1084,65 @@ | @@ -1065,45 +1084,65 @@ | ||
| 1065 | <method>none</method> | 1084 | <method>none</method> |
| 1066 | <schema_name/> | 1085 | <schema_name/> |
| 1067 | </partitioning> | 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 | <cluster_schema/> | 1136 | <cluster_schema/> |
| 1098 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1140 | <draw>Y</draw> |
| 1102 | </GUI> | 1141 | </GUI> |
| 1103 | </step> | 1142 | </step> |
| 1104 | 1143 | ||
| 1105 | <step> | 1144 | <step> |
| 1106 | - <name>查找线路进场里程时间</name> | 1145 | + <name>查找停车场1</name> |
| 1107 | <type>DBLookup</type> | 1146 | <type>DBLookup</type> |
| 1108 | <description/> | 1147 | <description/> |
| 1109 | <distribute>Y</distribute> | 1148 | <distribute>Y</distribute> |
| @@ -1119,39 +1158,33 @@ | @@ -1119,39 +1158,33 @@ | ||
| 1119 | <cache_size>0</cache_size> | 1158 | <cache_size>0</cache_size> |
| 1120 | <lookup> | 1159 | <lookup> |
| 1121 | <schema/> | 1160 | <schema/> |
| 1122 | - <table>bsth_c_line_information</table> | 1161 | + <table>bsth_c_car_park</table> |
| 1123 | <orderby/> | 1162 | <orderby/> |
| 1124 | <fail_on_multiple>N</fail_on_multiple> | 1163 | <fail_on_multiple>N</fail_on_multiple> |
| 1125 | <eat_row_on_failure>N</eat_row_on_failure> | 1164 | <eat_row_on_failure>N</eat_row_on_failure> |
| 1126 | <key> | 1165 | <key> |
| 1127 | - <name>xlid</name> | ||
| 1128 | - <field>line</field> | 1166 | + <name>tccname_</name> |
| 1167 | + <field>park_name</field> | ||
| 1129 | <condition>=</condition> | 1168 | <condition>=</condition> |
| 1130 | <name2/> | 1169 | <name2/> |
| 1131 | </key> | 1170 | </key> |
| 1132 | <value> | 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 | <default/> | 1174 | <default/> |
| 1142 | - <type>Number</type> | 1175 | + <type>Integer</type> |
| 1143 | </value> | 1176 | </value> |
| 1144 | </lookup> | 1177 | </lookup> |
| 1145 | <cluster_schema/> | 1178 | <cluster_schema/> |
| 1146 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1182 | <draw>Y</draw> |
| 1150 | </GUI> | 1183 | </GUI> |
| 1151 | </step> | 1184 | </step> |
| 1152 | 1185 | ||
| 1153 | <step> | 1186 | <step> |
| 1154 | - <name>查找终点站关联</name> | 1187 | + <name>查找停车场2</name> |
| 1155 | <type>DBLookup</type> | 1188 | <type>DBLookup</type> |
| 1156 | <description/> | 1189 | <description/> |
| 1157 | <distribute>Y</distribute> | 1190 | <distribute>Y</distribute> |
| @@ -1167,36 +1200,18 @@ | @@ -1167,36 +1200,18 @@ | ||
| 1167 | <cache_size>0</cache_size> | 1200 | <cache_size>0</cache_size> |
| 1168 | <lookup> | 1201 | <lookup> |
| 1169 | <schema/> | 1202 | <schema/> |
| 1170 | - <table>bsth_c_stationroute</table> | 1203 | + <table>bsth_c_car_park</table> |
| 1171 | <orderby/> | 1204 | <orderby/> |
| 1172 | <fail_on_multiple>N</fail_on_multiple> | 1205 | <fail_on_multiple>N</fail_on_multiple> |
| 1173 | <eat_row_on_failure>N</eat_row_on_failure> | 1206 | <eat_row_on_failure>N</eat_row_on_failure> |
| 1174 | <key> | 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 | <condition>=</condition> | 1210 | <condition>=</condition> |
| 1190 | <name2/> | 1211 | <name2/> |
| 1191 | </key> | 1212 | </key> |
| 1192 | <value> | 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 | <rename>zdzid</rename> | 1215 | <rename>zdzid</rename> |
| 1201 | <default/> | 1216 | <default/> |
| 1202 | <type>Integer</type> | 1217 | <type>Integer</type> |
| @@ -1204,14 +1219,14 @@ | @@ -1204,14 +1219,14 @@ | ||
| 1204 | </lookup> | 1219 | </lookup> |
| 1205 | <cluster_schema/> | 1220 | <cluster_schema/> |
| 1206 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1224 | <draw>Y</draw> |
| 1210 | </GUI> | 1225 | </GUI> |
| 1211 | </step> | 1226 | </step> |
| 1212 | 1227 | ||
| 1213 | <step> | 1228 | <step> |
| 1214 | - <name>查找起点站关联并确定上下行</name> | 1229 | + <name>查找出场终点站关联并确定上下行</name> |
| 1215 | <type>DBLookup</type> | 1230 | <type>DBLookup</type> |
| 1216 | <description/> | 1231 | <description/> |
| 1217 | <distribute>Y</distribute> | 1232 | <distribute>Y</distribute> |
| @@ -1238,20 +1253,20 @@ | @@ -1238,20 +1253,20 @@ | ||
| 1238 | <name2/> | 1253 | <name2/> |
| 1239 | </key> | 1254 | </key> |
| 1240 | <key> | 1255 | <key> |
| 1241 | - <name>qdzname</name> | 1256 | + <name>zdzname</name> |
| 1242 | <field>station_name</field> | 1257 | <field>station_name</field> |
| 1243 | <condition>=</condition> | 1258 | <condition>=</condition> |
| 1244 | <name2/> | 1259 | <name2/> |
| 1245 | </key> | 1260 | </key> |
| 1246 | <key> | 1261 | <key> |
| 1247 | - <name>sendZdtype</name> | 1262 | + <name>endZdtype</name> |
| 1248 | <field>station_mark</field> | 1263 | <field>station_mark</field> |
| 1249 | <condition>=</condition> | 1264 | <condition>=</condition> |
| 1250 | <name2/> | 1265 | <name2/> |
| 1251 | </key> | 1266 | </key> |
| 1252 | <value> | 1267 | <value> |
| 1253 | <name>station</name> | 1268 | <name>station</name> |
| 1254 | - <rename>qdzid</rename> | 1269 | + <rename>zdzid</rename> |
| 1255 | <default/> | 1270 | <default/> |
| 1256 | <type>Integer</type> | 1271 | <type>Integer</type> |
| 1257 | </value> | 1272 | </value> |
| @@ -1264,14 +1279,14 @@ | @@ -1264,14 +1279,14 @@ | ||
| 1264 | </lookup> | 1279 | </lookup> |
| 1265 | <cluster_schema/> | 1280 | <cluster_schema/> |
| 1266 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1284 | <draw>Y</draw> |
| 1270 | </GUI> | 1285 | </GUI> |
| 1271 | </step> | 1286 | </step> |
| 1272 | 1287 | ||
| 1273 | <step> | 1288 | <step> |
| 1274 | - <name>查找路牌关联</name> | 1289 | + <name>查找时刻表基础信息关联</name> |
| 1275 | <type>DBLookup</type> | 1290 | <type>DBLookup</type> |
| 1276 | <description/> | 1291 | <description/> |
| 1277 | <distribute>Y</distribute> | 1292 | <distribute>Y</distribute> |
| @@ -1287,7 +1302,7 @@ | @@ -1287,7 +1302,7 @@ | ||
| 1287 | <cache_size>0</cache_size> | 1302 | <cache_size>0</cache_size> |
| 1288 | <lookup> | 1303 | <lookup> |
| 1289 | <schema/> | 1304 | <schema/> |
| 1290 | - <table>bsth_c_s_gbi</table> | 1305 | + <table>bsth_c_s_ttinfo</table> |
| 1291 | <orderby/> | 1306 | <orderby/> |
| 1292 | <fail_on_multiple>N</fail_on_multiple> | 1307 | <fail_on_multiple>N</fail_on_multiple> |
| 1293 | <eat_row_on_failure>N</eat_row_on_failure> | 1308 | <eat_row_on_failure>N</eat_row_on_failure> |
| @@ -1298,28 +1313,34 @@ | @@ -1298,28 +1313,34 @@ | ||
| 1298 | <name2/> | 1313 | <name2/> |
| 1299 | </key> | 1314 | </key> |
| 1300 | <key> | 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 | <condition>=</condition> | 1324 | <condition>=</condition> |
| 1304 | <name2/> | 1325 | <name2/> |
| 1305 | </key> | 1326 | </key> |
| 1306 | <value> | 1327 | <value> |
| 1307 | <name>id</name> | 1328 | <name>id</name> |
| 1308 | - <rename>lpid</rename> | 1329 | + <rename>ttid</rename> |
| 1309 | <default/> | 1330 | <default/> |
| 1310 | <type>Integer</type> | 1331 | <type>Integer</type> |
| 1311 | </value> | 1332 | </value> |
| 1312 | </lookup> | 1333 | </lookup> |
| 1313 | <cluster_schema/> | 1334 | <cluster_schema/> |
| 1314 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1338 | <draw>Y</draw> |
| 1318 | </GUI> | 1339 | </GUI> |
| 1319 | </step> | 1340 | </step> |
| 1320 | 1341 | ||
| 1321 | <step> | 1342 | <step> |
| 1322 | - <name>查找进场班次上一个班次的线路方向</name> | 1343 | + <name>查找线路上下行里程时间</name> |
| 1323 | <type>DBLookup</type> | 1344 | <type>DBLookup</type> |
| 1324 | <description/> | 1345 | <description/> |
| 1325 | <distribute>Y</distribute> | 1346 | <distribute>Y</distribute> |
| @@ -1335,7 +1356,7 @@ | @@ -1335,7 +1356,7 @@ | ||
| 1335 | <cache_size>0</cache_size> | 1356 | <cache_size>0</cache_size> |
| 1336 | <lookup> | 1357 | <lookup> |
| 1337 | <schema/> | 1358 | <schema/> |
| 1338 | - <table>bsth_c_stationroute</table> | 1359 | + <table>bsth_c_line_information</table> |
| 1339 | <orderby/> | 1360 | <orderby/> |
| 1340 | <fail_on_multiple>N</fail_on_multiple> | 1361 | <fail_on_multiple>N</fail_on_multiple> |
| 1341 | <eat_row_on_failure>N</eat_row_on_failure> | 1362 | <eat_row_on_failure>N</eat_row_on_failure> |
| @@ -1345,35 +1366,41 @@ | @@ -1345,35 +1366,41 @@ | ||
| 1345 | <condition>=</condition> | 1366 | <condition>=</condition> |
| 1346 | <name2/> | 1367 | <name2/> |
| 1347 | </key> | 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 | <value> | 1369 | <value> |
| 1361 | - <name>directions</name> | ||
| 1362 | - <rename>sxx</rename> | 1370 | + <name>up_mileage</name> |
| 1371 | + <rename>up_mileage</rename> | ||
| 1363 | <default/> | 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 | </value> | 1392 | </value> |
| 1366 | </lookup> | 1393 | </lookup> |
| 1367 | <cluster_schema/> | 1394 | <cluster_schema/> |
| 1368 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1398 | <draw>Y</draw> |
| 1372 | </GUI> | 1399 | </GUI> |
| 1373 | </step> | 1400 | </step> |
| 1374 | 1401 | ||
| 1375 | <step> | 1402 | <step> |
| 1376 | - <name>查找进场班次上一个班次的终点站,并作为进场班次的起点站</name> | 1403 | + <name>查找线路关联</name> |
| 1377 | <type>DBLookup</type> | 1404 | <type>DBLookup</type> |
| 1378 | <description/> | 1405 | <description/> |
| 1379 | <distribute>Y</distribute> | 1406 | <distribute>Y</distribute> |
| @@ -1389,46 +1416,34 @@ | @@ -1389,46 +1416,34 @@ | ||
| 1389 | <cache_size>0</cache_size> | 1416 | <cache_size>0</cache_size> |
| 1390 | <lookup> | 1417 | <lookup> |
| 1391 | <schema/> | 1418 | <schema/> |
| 1392 | - <table>bsth_c_stationroute</table> | 1419 | + <table>bsth_c_line</table> |
| 1393 | <orderby/> | 1420 | <orderby/> |
| 1394 | <fail_on_multiple>N</fail_on_multiple> | 1421 | <fail_on_multiple>N</fail_on_multiple> |
| 1395 | <eat_row_on_failure>N</eat_row_on_failure> | 1422 | <eat_row_on_failure>N</eat_row_on_failure> |
| 1396 | <key> | 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 | <condition>=</condition> | 1426 | <condition>=</condition> |
| 1412 | <name2/> | 1427 | <name2/> |
| 1413 | </key> | 1428 | </key> |
| 1414 | <value> | 1429 | <value> |
| 1415 | - <name>station</name> | ||
| 1416 | - <rename>qdzid</rename> | 1430 | + <name>id</name> |
| 1431 | + <rename>xlid</rename> | ||
| 1417 | <default/> | 1432 | <default/> |
| 1418 | <type>Integer</type> | 1433 | <type>Integer</type> |
| 1419 | </value> | 1434 | </value> |
| 1420 | </lookup> | 1435 | </lookup> |
| 1421 | <cluster_schema/> | 1436 | <cluster_schema/> |
| 1422 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1440 | <draw>Y</draw> |
| 1426 | </GUI> | 1441 | </GUI> |
| 1427 | </step> | 1442 | </step> |
| 1428 | 1443 | ||
| 1429 | <step> | 1444 | <step> |
| 1430 | - <name>正常班次_处理数据</name> | ||
| 1431 | - <type>ScriptValueMod</type> | 1445 | + <name>查找线路出场里程时间</name> |
| 1446 | + <type>DBLookup</type> | ||
| 1432 | <description/> | 1447 | <description/> |
| 1433 | <distribute>Y</distribute> | 1448 | <distribute>Y</distribute> |
| 1434 | <custom_distribution/> | 1449 | <custom_distribution/> |
| @@ -1437,34 +1452,46 @@ | @@ -1437,34 +1452,46 @@ | ||
| 1437 | <method>none</method> | 1452 | <method>none</method> |
| 1438 | <schema_name/> | 1453 | <schema_name/> |
| 1439 | </partitioning> | 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 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1488 | <draw>Y</draw> |
| 1462 | </GUI> | 1489 | </GUI> |
| 1463 | </step> | 1490 | </step> |
| 1464 | 1491 | ||
| 1465 | <step> | 1492 | <step> |
| 1466 | - <name>正常班次数据</name> | ||
| 1467 | - <type>Dummy</type> | 1493 | + <name>查找线路进场里程时间</name> |
| 1494 | + <type>DBLookup</type> | ||
| 1468 | <description/> | 1495 | <description/> |
| 1469 | <distribute>Y</distribute> | 1496 | <distribute>Y</distribute> |
| 1470 | <custom_distribution/> | 1497 | <custom_distribution/> |
| @@ -1473,17 +1500,46 @@ | @@ -1473,17 +1500,46 @@ | ||
| 1473 | <method>none</method> | 1500 | <method>none</method> |
| 1474 | <schema_name/> | 1501 | <schema_name/> |
| 1475 | </partitioning> | 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 | <cluster_schema/> | 1532 | <cluster_schema/> |
| 1477 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1536 | <draw>Y</draw> |
| 1481 | </GUI> | 1537 | </GUI> |
| 1482 | </step> | 1538 | </step> |
| 1483 | 1539 | ||
| 1484 | <step> | 1540 | <step> |
| 1485 | - <name>添加发车顺序号</name> | ||
| 1486 | - <type>GroupBy</type> | 1541 | + <name>查找终点站关联</name> |
| 1542 | + <type>DBLookup</type> | ||
| 1487 | <description/> | 1543 | <description/> |
| 1488 | <distribute>Y</distribute> | 1544 | <distribute>Y</distribute> |
| 1489 | <custom_distribution/> | 1545 | <custom_distribution/> |
| @@ -1492,32 +1548,58 @@ | @@ -1492,32 +1548,58 @@ | ||
| 1492 | <method>none</method> | 1548 | <method>none</method> |
| 1493 | <schema_name/> | 1549 | <schema_name/> |
| 1494 | </partitioning> | 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 | <cluster_schema/> | 1592 | <cluster_schema/> |
| 1511 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1596 | <draw>Y</draw> |
| 1515 | </GUI> | 1597 | </GUI> |
| 1516 | </step> | 1598 | </step> |
| 1517 | 1599 | ||
| 1518 | <step> | 1600 | <step> |
| 1519 | - <name>添加对应班次数</name> | ||
| 1520 | - <type>GroupBy</type> | 1601 | + <name>查找起点站关联并确定上下行</name> |
| 1602 | + <type>DBLookup</type> | ||
| 1521 | <description/> | 1603 | <description/> |
| 1522 | <distribute>Y</distribute> | 1604 | <distribute>Y</distribute> |
| 1523 | <custom_distribution/> | 1605 | <custom_distribution/> |
| @@ -1526,29 +1608,58 @@ | @@ -1526,29 +1608,58 @@ | ||
| 1526 | <method>none</method> | 1608 | <method>none</method> |
| 1527 | <schema_name/> | 1609 | <schema_name/> |
| 1528 | </partitioning> | 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 | <cluster_schema/> | 1652 | <cluster_schema/> |
| 1542 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1656 | <draw>Y</draw> |
| 1546 | </GUI> | 1657 | </GUI> |
| 1547 | </step> | 1658 | </step> |
| 1548 | 1659 | ||
| 1549 | <step> | 1660 | <step> |
| 1550 | - <name>班次数据范式化</name> | ||
| 1551 | - <type>Normaliser</type> | 1661 | + <name>查找路牌关联</name> |
| 1662 | + <type>DBLookup</type> | ||
| 1552 | <description/> | 1663 | <description/> |
| 1553 | <distribute>Y</distribute> | 1664 | <distribute>Y</distribute> |
| 1554 | <custom_distribution/> | 1665 | <custom_distribution/> |
| @@ -1557,18 +1668,46 @@ | @@ -1557,18 +1668,46 @@ | ||
| 1557 | <method>none</method> | 1668 | <method>none</method> |
| 1558 | <schema_name/> | 1669 | <schema_name/> |
| 1559 | </partitioning> | 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 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1704 | <draw>Y</draw> |
| 1566 | </GUI> | 1705 | </GUI> |
| 1567 | </step> | 1706 | </step> |
| 1568 | 1707 | ||
| 1569 | <step> | 1708 | <step> |
| 1570 | - <name>班次类型字典</name> | ||
| 1571 | - <type>ValueMapper</type> | 1709 | + <name>查找进场班次上一个班次的线路方向</name> |
| 1710 | + <type>DBLookup</type> | ||
| 1572 | <description/> | 1711 | <description/> |
| 1573 | <distribute>Y</distribute> | 1712 | <distribute>Y</distribute> |
| 1574 | <custom_distribution/> | 1713 | <custom_distribution/> |
| @@ -1577,54 +1716,52 @@ | @@ -1577,54 +1716,52 @@ | ||
| 1577 | <method>none</method> | 1716 | <method>none</method> |
| 1578 | <schema_name/> | 1717 | <schema_name/> |
| 1579 | </partitioning> | 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 | <cluster_schema/> | 1754 | <cluster_schema/> |
| 1618 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1758 | <draw>Y</draw> |
| 1622 | </GUI> | 1759 | </GUI> |
| 1623 | </step> | 1760 | </step> |
| 1624 | 1761 | ||
| 1625 | <step> | 1762 | <step> |
| 1626 | - <name>班次类型字典 2</name> | ||
| 1627 | - <type>ValueMapper</type> | 1763 | + <name>查找进场班次上一个班次的终点站,并作为进场班次的起点站</name> |
| 1764 | + <type>DBLookup</type> | ||
| 1628 | <description/> | 1765 | <description/> |
| 1629 | <distribute>Y</distribute> | 1766 | <distribute>Y</distribute> |
| 1630 | <custom_distribution/> | 1767 | <custom_distribution/> |
| @@ -1633,54 +1770,52 @@ | @@ -1633,54 +1770,52 @@ | ||
| 1633 | <method>none</method> | 1770 | <method>none</method> |
| 1634 | <schema_name/> | 1771 | <schema_name/> |
| 1635 | </partitioning> | 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 | <cluster_schema/> | 1808 | <cluster_schema/> |
| 1674 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1812 | <draw>Y</draw> |
| 1678 | </GUI> | 1813 | </GUI> |
| 1679 | </step> | 1814 | </step> |
| 1680 | 1815 | ||
| 1681 | <step> | 1816 | <step> |
| 1682 | - <name>班次类型字典 3</name> | ||
| 1683 | - <type>ValueMapper</type> | 1817 | + <name>正常班次_处理数据</name> |
| 1818 | + <type>ScriptValueMod</type> | ||
| 1684 | <description/> | 1819 | <description/> |
| 1685 | <distribute>Y</distribute> | 1820 | <distribute>Y</distribute> |
| 1686 | <custom_distribution/> | 1821 | <custom_distribution/> |
| @@ -1689,54 +1824,34 @@ | @@ -1689,54 +1824,34 @@ | ||
| 1689 | <method>none</method> | 1824 | <method>none</method> |
| 1690 | <schema_name/> | 1825 | <schema_name/> |
| 1691 | </partitioning> | 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 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1848 | <draw>Y</draw> |
| 1734 | </GUI> | 1849 | </GUI> |
| 1735 | </step> | 1850 | </step> |
| 1736 | 1851 | ||
| 1737 | <step> | 1852 | <step> |
| 1738 | - <name>类型修正</name> | ||
| 1739 | - <type>SelectValues</type> | 1853 | + <name>正常班次数据</name> |
| 1854 | + <type>Dummy</type> | ||
| 1740 | <description/> | 1855 | <description/> |
| 1741 | <distribute>Y</distribute> | 1856 | <distribute>Y</distribute> |
| 1742 | <custom_distribution/> | 1857 | <custom_distribution/> |
| @@ -1745,48 +1860,17 @@ | @@ -1745,48 +1860,17 @@ | ||
| 1745 | <method>none</method> | 1860 | <method>none</method> |
| 1746 | <schema_name/> | 1861 | <schema_name/> |
| 1747 | </partitioning> | 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 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1867 | <draw>Y</draw> |
| 1784 | </GUI> | 1868 | </GUI> |
| 1785 | </step> | 1869 | </step> |
| 1786 | 1870 | ||
| 1787 | <step> | 1871 | <step> |
| 1788 | - <name>计算班次类型</name> | ||
| 1789 | - <type>ValueMapper</type> | 1872 | + <name>添加发车顺序号</name> |
| 1873 | + <type>GroupBy</type> | ||
| 1790 | <description/> | 1874 | <description/> |
| 1791 | <distribute>Y</distribute> | 1875 | <distribute>Y</distribute> |
| 1792 | <custom_distribution/> | 1876 | <custom_distribution/> |
| @@ -1795,30 +1879,32 @@ | @@ -1795,30 +1879,32 @@ | ||
| 1795 | <method>none</method> | 1879 | <method>none</method> |
| 1796 | <schema_name/> | 1880 | <schema_name/> |
| 1797 | </partitioning> | 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 | <cluster_schema/> | 1897 | <cluster_schema/> |
| 1812 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1901 | <draw>Y</draw> |
| 1816 | </GUI> | 1902 | </GUI> |
| 1817 | </step> | 1903 | </step> |
| 1818 | 1904 | ||
| 1819 | <step> | 1905 | <step> |
| 1820 | - <name>记录关联 (笛卡尔输出)</name> | ||
| 1821 | - <type>JoinRows</type> | 1906 | + <name>添加对应班次数</name> |
| 1907 | + <type>GroupBy</type> | ||
| 1822 | <description/> | 1908 | <description/> |
| 1823 | <distribute>Y</distribute> | 1909 | <distribute>Y</distribute> |
| 1824 | <custom_distribution/> | 1910 | <custom_distribution/> |
| @@ -1827,29 +1913,29 @@ | @@ -1827,29 +1913,29 @@ | ||
| 1827 | <method>none</method> | 1913 | <method>none</method> |
| 1828 | <schema_name/> | 1914 | <schema_name/> |
| 1829 | </partitioning> | 1915 | </partitioning> |
| 1916 | + <all_rows>Y</all_rows> | ||
| 1917 | + <ignore_aggregate>N</ignore_aggregate> | ||
| 1918 | + <field_ignore/> | ||
| 1830 | <directory>%%java.io.tmpdir%%</directory> | 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 | <cluster_schema/> | 1928 | <cluster_schema/> |
| 1843 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 1932 | <draw>Y</draw> |
| 1847 | </GUI> | 1933 | </GUI> |
| 1848 | </step> | 1934 | </step> |
| 1849 | 1935 | ||
| 1850 | <step> | 1936 | <step> |
| 1851 | - <name>过滤记录(发车时间为空)</name> | ||
| 1852 | - <type>FilterRows</type> | 1937 | + <name>班次数据范式化</name> |
| 1938 | + <type>Normaliser</type> | ||
| 1853 | <description/> | 1939 | <description/> |
| 1854 | <distribute>Y</distribute> | 1940 | <distribute>Y</distribute> |
| 1855 | <custom_distribution/> | 1941 | <custom_distribution/> |
| @@ -1858,27 +1944,18 @@ | @@ -1858,27 +1944,18 @@ | ||
| 1858 | <method>none</method> | 1944 | <method>none</method> |
| 1859 | <schema_name/> | 1945 | <schema_name/> |
| 1860 | </partitioning> | 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 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 1949 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1873 | - <xloc>571</xloc> | 1950 | + <xloc>248</xloc> |
| 1874 | <yloc>44</yloc> | 1951 | <yloc>44</yloc> |
| 1875 | <draw>Y</draw> | 1952 | <draw>Y</draw> |
| 1876 | </GUI> | 1953 | </GUI> |
| 1877 | </step> | 1954 | </step> |
| 1878 | 1955 | ||
| 1879 | <step> | 1956 | <step> |
| 1880 | - <name>进场班次_确定起点站名字</name> | ||
| 1881 | - <type>ScriptValueMod</type> | 1957 | + <name>班次类型字典</name> |
| 1958 | + <type>ValueMapper</type> | ||
| 1882 | <description/> | 1959 | <description/> |
| 1883 | <distribute>Y</distribute> | 1960 | <distribute>Y</distribute> |
| 1884 | <custom_distribution/> | 1961 | <custom_distribution/> |
| @@ -1887,40 +1964,54 @@ | @@ -1887,40 +1964,54 @@ | ||
| 1887 | <method>none</method> | 1964 | <method>none</method> |
| 1888 | <schema_name/> | 1965 | <schema_name/> |
| 1889 | </partitioning> | 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 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 2008 | <draw>Y</draw> |
| 1918 | </GUI> | 2009 | </GUI> |
| 1919 | </step> | 2010 | </step> |
| 1920 | 2011 | ||
| 1921 | <step> | 2012 | <step> |
| 1922 | - <name>进场班次数据</name> | ||
| 1923 | - <type>Dummy</type> | 2013 | + <name>班次类型字典 2</name> |
| 2014 | + <type>ValueMapper</type> | ||
| 1924 | <description/> | 2015 | <description/> |
| 1925 | <distribute>Y</distribute> | 2016 | <distribute>Y</distribute> |
| 1926 | <custom_distribution/> | 2017 | <custom_distribution/> |
| @@ -1929,17 +2020,54 @@ | @@ -1929,17 +2020,54 @@ | ||
| 1929 | <method>none</method> | 2020 | <method>none</method> |
| 1930 | <schema_name/> | 2021 | <schema_name/> |
| 1931 | </partitioning> | 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 | <cluster_schema/> | 2060 | <cluster_schema/> |
| 1933 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 2064 | <draw>Y</draw> |
| 1937 | </GUI> | 2065 | </GUI> |
| 1938 | </step> | 2066 | </step> |
| 1939 | 2067 | ||
| 1940 | <step> | 2068 | <step> |
| 1941 | - <name>插入/更新bsth_c_s_ttinfo_detail</name> | ||
| 1942 | - <type>InsertUpdate</type> | 2069 | + <name>班次类型字典 3</name> |
| 2070 | + <type>ValueMapper</type> | ||
| 1943 | <description/> | 2071 | <description/> |
| 1944 | <distribute>Y</distribute> | 2072 | <distribute>Y</distribute> |
| 1945 | <custom_distribution/> | 2073 | <custom_distribution/> |
| @@ -1948,114 +2076,136 @@ | @@ -1948,114 +2076,136 @@ | ||
| 1948 | <method>none</method> | 2076 | <method>none</method> |
| 1949 | <schema_name/> | 2077 | <schema_name/> |
| 1950 | </partitioning> | 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 | <rename>jhlc</rename> | 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 | <cluster_schema/> | 2198 | <cluster_schema/> |
| 2049 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 2202 | <draw>Y</draw> |
| 2053 | </GUI> | 2203 | </GUI> |
| 2054 | </step> | 2204 | </step> |
| 2055 | 2205 | ||
| 2056 | <step> | 2206 | <step> |
| 2057 | - <name>插入/更新bsth_c_s_ttinfo_detail 2</name> | ||
| 2058 | - <type>InsertUpdate</type> | 2207 | + <name>记录关联 (笛卡尔输出)</name> |
| 2208 | + <type>JoinRows</type> | ||
| 2059 | <description/> | 2209 | <description/> |
| 2060 | <distribute>Y</distribute> | 2210 | <distribute>Y</distribute> |
| 2061 | <custom_distribution/> | 2211 | <custom_distribution/> |
| @@ -2064,114 +2214,29 @@ | @@ -2064,114 +2214,29 @@ | ||
| 2064 | <method>none</method> | 2214 | <method>none</method> |
| 2065 | <schema_name/> | 2215 | <schema_name/> |
| 2066 | </partitioning> | 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 | <cluster_schema/> | 2229 | <cluster_schema/> |
| 2165 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 2233 | <draw>Y</draw> |
| 2169 | </GUI> | 2234 | </GUI> |
| 2170 | </step> | 2235 | </step> |
| 2171 | 2236 | ||
| 2172 | <step> | 2237 | <step> |
| 2173 | - <name>插入/更新bsth_c_s_ttinfo_detail 3</name> | ||
| 2174 | - <type>InsertUpdate</type> | 2238 | + <name>过滤记录(发车时间为空)</name> |
| 2239 | + <type>FilterRows</type> | ||
| 2175 | <description/> | 2240 | <description/> |
| 2176 | <distribute>Y</distribute> | 2241 | <distribute>Y</distribute> |
| 2177 | <custom_distribution/> | 2242 | <custom_distribution/> |
| @@ -2180,107 +2245,81 @@ | @@ -2180,107 +2245,81 @@ | ||
| 2180 | <method>none</method> | 2245 | <method>none</method> |
| 2181 | <schema_name/> | 2246 | <schema_name/> |
| 2182 | </partitioning> | 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 | <cluster_schema/> | 2258 | <cluster_schema/> |
| 2281 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 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 | <draw>Y</draw> | 2323 | <draw>Y</draw> |
| 2285 | </GUI> | 2324 | </GUI> |
| 2286 | </step> | 2325 | </step> |