Merge remote-tracking branch 'origin/main'
commit
531702b96f
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,332 @@
|
||||
#
|
||||
# There is insufficient memory for the Java Runtime Environment to continue.
|
||||
# Native memory allocation (malloc) failed to allocate 208112 bytes for Chunk::new
|
||||
# Possible reasons:
|
||||
# The system is out of physical RAM or swap space
|
||||
# In 32 bit mode, the process size limit was hit
|
||||
# Possible solutions:
|
||||
# Reduce memory load on the system
|
||||
# Increase physical memory or swap space
|
||||
# Check if swap backing store is full
|
||||
# Use 64 bit Java on a 64 bit OS
|
||||
# Decrease Java heap size (-Xmx/-Xms)
|
||||
# Decrease number of Java threads
|
||||
# Decrease Java thread stack sizes (-Xss)
|
||||
# Set larger code cache with -XX:ReservedCodeCacheSize=
|
||||
# This output file may be truncated or incomplete.
|
||||
#
|
||||
# Out of Memory Error (allocation.cpp:390), pid=18280, tid=16236
|
||||
#
|
||||
# JRE version: Java(TM) SE Runtime Environment (8.0_40-b25) (build 1.8.0_40-b25)
|
||||
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode windows-amd64 compressed oops)
|
||||
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
|
||||
#
|
||||
|
||||
--------------- T H R E A D ---------------
|
||||
|
||||
Current thread (0x000000001faf4800): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=16236, stack(0x0000000020a30000,0x0000000020b30000)]
|
||||
|
||||
Stack: [0x0000000020a30000,0x0000000020b30000]
|
||||
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
|
||||
V [jvm.dll+0x32b47a]
|
||||
V [jvm.dll+0x2797f3]
|
||||
V [jvm.dll+0x27a489]
|
||||
V [jvm.dll+0x2717a5]
|
||||
V [jvm.dll+0xcb9a2]
|
||||
V [jvm.dll+0xcbe6c]
|
||||
V [jvm.dll+0x4929a7]
|
||||
V [jvm.dll+0x45f77f]
|
||||
V [jvm.dll+0x46a73b]
|
||||
V [jvm.dll+0x46cd52]
|
||||
V [jvm.dll+0x4500d2]
|
||||
V [jvm.dll+0xa4312]
|
||||
V [jvm.dll+0xa4c4f]
|
||||
V [jvm.dll+0x241914]
|
||||
V [jvm.dll+0x29848a]
|
||||
C [msvcr100.dll+0x21d9f]
|
||||
C [msvcr100.dll+0x21e3b]
|
||||
C [KERNEL32.DLL+0x17344]
|
||||
C [ntdll.dll+0x526b1]
|
||||
|
||||
|
||||
Current CompileTask:
|
||||
C2: 2663 1468 4 org.logicalcobwebs.cglib.asm.Type::getDescriptor (214 bytes)
|
||||
|
||||
|
||||
--------------- P R O C E S S ---------------
|
||||
|
||||
Java Threads: ( => current thread )
|
||||
0x0000000022aa5800 JavaThread "Prototyper" daemon [_thread_in_native, id=12140, stack(0x0000000023f80000,0x0000000024080000)]
|
||||
0x0000000021c04800 JavaThread "HouseKeeper" daemon [_thread_blocked, id=11952, stack(0x0000000023c60000,0x0000000023d60000)]
|
||||
0x00000000229ee000 JavaThread "InterceptSqlWirteLog" [_thread_blocked, id=3276, stack(0x0000000023b60000,0x0000000023c60000)]
|
||||
0x0000000022943800 JavaThread "zenith.jdbc.cancelTimer" daemon [_thread_blocked, id=14604, stack(0x0000000023880000,0x0000000023980000)]
|
||||
0x0000000021390800 JavaThread "Abandoned connection cleanup thread" daemon [_thread_blocked, id=19252, stack(0x0000000023d80000,0x0000000023e80000)]
|
||||
0x0000000021b72800 JavaThread "Abandoned connection cleanup thread" daemon [_thread_blocked, id=19256, stack(0x0000000023a60000,0x0000000023b60000)]
|
||||
0x000000002181e000 JavaThread "Timer-1" daemon [_thread_blocked, id=5236, stack(0x00000000225b0000,0x00000000226b0000)]
|
||||
0x000000002046a000 JavaThread "mysql-cj-abandoned-connection-cleanup" daemon [_thread_blocked, id=17092, stack(0x00000000222b0000,0x00000000223b0000)]
|
||||
0x0000000020385800 JavaThread "Timer-0" [_thread_blocked, id=14380, stack(0x0000000021fb0000,0x00000000220b0000)]
|
||||
0x000000001fb65000 JavaThread "Service Thread" daemon [_thread_blocked, id=10244, stack(0x0000000020d30000,0x0000000020e30000)]
|
||||
0x000000001faad800 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=13956, stack(0x0000000020c30000,0x0000000020d30000)]
|
||||
0x000000001faac800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=3444, stack(0x0000000020b30000,0x0000000020c30000)]
|
||||
=>0x000000001faf4800 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=16236, stack(0x0000000020a30000,0x0000000020b30000)]
|
||||
0x000000001e9b8800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=14596, stack(0x000000001f160000,0x000000001f260000)]
|
||||
0x000000001e9b7000 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=340, stack(0x000000001f060000,0x000000001f160000)]
|
||||
0x000000001e9ab800 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=11840, stack(0x000000001ef60000,0x000000001f060000)]
|
||||
0x000000001d000800 JavaThread "Attach Listener" daemon [_thread_blocked, id=7568, stack(0x000000001ee60000,0x000000001ef60000)]
|
||||
0x000000001e9a3800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=19440, stack(0x000000001ed60000,0x000000001ee60000)]
|
||||
0x0000000003808000 JavaThread "Finalizer" daemon [_thread_blocked, id=19572, stack(0x000000001e860000,0x000000001e960000)]
|
||||
0x0000000003801000 JavaThread "Reference Handler" daemon [_thread_blocked, id=19812, stack(0x000000001e760000,0x000000001e860000)]
|
||||
0x000000000307e000 JavaThread "main" [_thread_blocked, id=11380, stack(0x0000000003510000,0x0000000003610000)]
|
||||
|
||||
Other Threads:
|
||||
0x000000001cfb8000 VMThread [stack: 0x000000001e660000,0x000000001e760000] [id=12408]
|
||||
0x000000001fab4800 WatcherThread [stack: 0x0000000020e30000,0x0000000020f30000] [id=13848]
|
||||
|
||||
VM state:not at safepoint (normal execution)
|
||||
|
||||
VM Mutex/Monitor currently owned by a thread: None
|
||||
|
||||
Heap:
|
||||
PSYoungGen total 75776K, used 70327K [0x000000076b800000, 0x0000000774c00000, 0x00000007c0000000)
|
||||
eden space 65024K, 93% used [0x000000076b800000,0x000000076f3a6a08,0x000000076f780000)
|
||||
from space 10752K, 85% used [0x0000000770200000,0x0000000770b072d8,0x0000000770c80000)
|
||||
to space 10752K, 0% used [0x000000076f780000,0x000000076f780000,0x0000000770200000)
|
||||
ParOldGen total 173568K, used 51K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c280cc50,0x00000006cd180000)
|
||||
Metaspace used 19636K, capacity 20038K, committed 20224K, reserved 1067008K
|
||||
class space used 2136K, capacity 2235K, committed 2304K, reserved 1048576K
|
||||
|
||||
Card table byte_map: [0x0000000012bd0000,0x00000000133c0000] byte_map_base: 0x000000000f5bc000
|
||||
|
||||
Marking Bits: (ParMarkBitMap*) 0x000000005f7e4040
|
||||
Begin Bits: [0x0000000013f10000, 0x0000000017e70000)
|
||||
End Bits: [0x0000000017e70000, 0x000000001bdd0000)
|
||||
|
||||
Polling page: 0x0000000001830000
|
||||
|
||||
CodeCache: size=245760Kb used=5574Kb max_used=5574Kb free=240185Kb
|
||||
bounds [0x0000000003810000, 0x0000000003d90000, 0x0000000012810000]
|
||||
total_blobs=1954 nmethods=1516 adapters=358
|
||||
compilation: enabled
|
||||
|
||||
Compilation events (10 events):
|
||||
Event: 2.637 Thread 0x000000001faac800 1491 % 4 java.util.ArrayList::indexOf @ 36 (67 bytes)
|
||||
Event: 2.638 Thread 0x000000001faac800 nmethod 1491% 0x0000000003d740d0 code [0x0000000003d74220, 0x0000000003d74598]
|
||||
Event: 2.638 Thread 0x000000001faac800 1493 4 org.logicalcobwebs.cglib.asm.ByteVector::putByte (39 bytes)
|
||||
Event: 2.639 Thread 0x000000001faac800 nmethod 1493 0x0000000003d73c90 code [0x0000000003d73de0, 0x0000000003d73f68]
|
||||
Event: 2.639 Thread 0x000000001faac800 1502 4 org.logicalcobwebs.cglib.asm.ByteVector::put12 (64 bytes)
|
||||
Event: 2.640 Thread 0x000000001faac800 nmethod 1502 0x0000000003d73750 code [0x0000000003d738a0, 0x0000000003d73ae8]
|
||||
Event: 2.640 Thread 0x000000001faac800 1471 4 java.lang.StringBuffer::<init> (7 bytes)
|
||||
Event: 2.640 Thread 0x000000001faac800 nmethod 1471 0x0000000003d78210 code [0x0000000003d78360, 0x0000000003d78458]
|
||||
Event: 2.641 Thread 0x000000001faac800 1506 4 org.logicalcobwebs.cglib.asm.ClassReader::readUnsignedShort (26 bytes)
|
||||
Event: 2.641 Thread 0x000000001faac800 nmethod 1506 0x0000000003d78510 code [0x0000000003d78660, 0x0000000003d78778]
|
||||
|
||||
GC Heap History (8 events):
|
||||
Event: 0.688 GC heap before
|
||||
{Heap before GC invocations=1 (full 0):
|
||||
PSYoungGen total 75776K, used 65024K [0x000000076b800000, 0x0000000770c80000, 0x00000007c0000000)
|
||||
eden space 65024K, 100% used [0x000000076b800000,0x000000076f780000,0x000000076f780000)
|
||||
from space 10752K, 0% used [0x0000000770200000,0x0000000770200000,0x0000000770c80000)
|
||||
to space 10752K, 0% used [0x000000076f780000,0x000000076f780000,0x0000000770200000)
|
||||
ParOldGen total 173568K, used 0K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c2800000,0x00000006cd180000)
|
||||
Metaspace used 4600K, capacity 5086K, committed 5248K, reserved 1056768K
|
||||
class space used 505K, capacity 530K, committed 640K, reserved 1048576K
|
||||
Event: 0.691 GC heap after
|
||||
Heap after GC invocations=1 (full 0):
|
||||
PSYoungGen total 75776K, used 3471K [0x000000076b800000, 0x0000000770c80000, 0x00000007c0000000)
|
||||
eden space 65024K, 0% used [0x000000076b800000,0x000000076b800000,0x000000076f780000)
|
||||
from space 10752K, 32% used [0x000000076f780000,0x000000076fae3ee0,0x0000000770200000)
|
||||
to space 10752K, 0% used [0x0000000770200000,0x0000000770200000,0x0000000770c80000)
|
||||
ParOldGen total 173568K, used 8K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c2802000,0x00000006cd180000)
|
||||
Metaspace used 4600K, capacity 5086K, committed 5248K, reserved 1056768K
|
||||
class space used 505K, capacity 530K, committed 640K, reserved 1048576K
|
||||
}
|
||||
Event: 1.253 GC heap before
|
||||
{Heap before GC invocations=2 (full 0):
|
||||
PSYoungGen total 75776K, used 68495K [0x000000076b800000, 0x0000000770c80000, 0x00000007c0000000)
|
||||
eden space 65024K, 100% used [0x000000076b800000,0x000000076f780000,0x000000076f780000)
|
||||
from space 10752K, 32% used [0x000000076f780000,0x000000076fae3ee0,0x0000000770200000)
|
||||
to space 10752K, 0% used [0x0000000770200000,0x0000000770200000,0x0000000770c80000)
|
||||
ParOldGen total 173568K, used 8K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c2802000,0x00000006cd180000)
|
||||
Metaspace used 12119K, capacity 12376K, committed 12416K, reserved 1060864K
|
||||
class space used 1299K, capacity 1376K, committed 1408K, reserved 1048576K
|
||||
Event: 1.257 GC heap after
|
||||
Heap after GC invocations=2 (full 0):
|
||||
PSYoungGen total 75776K, used 6389K [0x000000076b800000, 0x0000000770c80000, 0x00000007c0000000)
|
||||
eden space 65024K, 0% used [0x000000076b800000,0x000000076b800000,0x000000076f780000)
|
||||
from space 10752K, 59% used [0x0000000770200000,0x000000077083d680,0x0000000770c80000)
|
||||
to space 10752K, 0% used [0x000000076f780000,0x000000076f780000,0x0000000770200000)
|
||||
ParOldGen total 173568K, used 24K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c2806000,0x00000006cd180000)
|
||||
Metaspace used 12119K, capacity 12376K, committed 12416K, reserved 1060864K
|
||||
class space used 1299K, capacity 1376K, committed 1408K, reserved 1048576K
|
||||
}
|
||||
Event: 1.579 GC heap before
|
||||
{Heap before GC invocations=3 (full 0):
|
||||
PSYoungGen total 75776K, used 71413K [0x000000076b800000, 0x0000000770c80000, 0x00000007c0000000)
|
||||
eden space 65024K, 100% used [0x000000076b800000,0x000000076f780000,0x000000076f780000)
|
||||
from space 10752K, 59% used [0x0000000770200000,0x000000077083d680,0x0000000770c80000)
|
||||
to space 10752K, 0% used [0x000000076f780000,0x000000076f780000,0x0000000770200000)
|
||||
ParOldGen total 173568K, used 24K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c2806000,0x00000006cd180000)
|
||||
Metaspace used 15197K, capacity 15426K, committed 15616K, reserved 1062912K
|
||||
class space used 1641K, capacity 1705K, committed 1792K, reserved 1048576K
|
||||
Event: 1.584 GC heap after
|
||||
Heap after GC invocations=3 (full 0):
|
||||
PSYoungGen total 75776K, used 8083K [0x000000076b800000, 0x0000000770c80000, 0x00000007c0000000)
|
||||
eden space 65024K, 0% used [0x000000076b800000,0x000000076b800000,0x000000076f780000)
|
||||
from space 10752K, 75% used [0x000000076f780000,0x000000076ff64ee8,0x0000000770200000)
|
||||
to space 10752K, 0% used [0x0000000770200000,0x0000000770200000,0x0000000770c80000)
|
||||
ParOldGen total 173568K, used 32K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c2808000,0x00000006cd180000)
|
||||
Metaspace used 15197K, capacity 15426K, committed 15616K, reserved 1062912K
|
||||
class space used 1641K, capacity 1705K, committed 1792K, reserved 1048576K
|
||||
}
|
||||
Event: 1.838 GC heap before
|
||||
{Heap before GC invocations=4 (full 0):
|
||||
PSYoungGen total 75776K, used 73107K [0x000000076b800000, 0x0000000770c80000, 0x00000007c0000000)
|
||||
eden space 65024K, 100% used [0x000000076b800000,0x000000076f780000,0x000000076f780000)
|
||||
from space 10752K, 75% used [0x000000076f780000,0x000000076ff64ee8,0x0000000770200000)
|
||||
to space 10752K, 0% used [0x0000000770200000,0x0000000770200000,0x0000000770c80000)
|
||||
ParOldGen total 173568K, used 32K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c2808000,0x00000006cd180000)
|
||||
Metaspace used 17784K, capacity 18092K, committed 18176K, reserved 1064960K
|
||||
class space used 1917K, capacity 1996K, committed 2048K, reserved 1048576K
|
||||
Event: 1.842 GC heap after
|
||||
Heap after GC invocations=4 (full 0):
|
||||
PSYoungGen total 75776K, used 9244K [0x000000076b800000, 0x0000000774c00000, 0x00000007c0000000)
|
||||
eden space 65024K, 0% used [0x000000076b800000,0x000000076b800000,0x000000076f780000)
|
||||
from space 10752K, 85% used [0x0000000770200000,0x0000000770b072d8,0x0000000770c80000)
|
||||
to space 10752K, 0% used [0x000000076f780000,0x000000076f780000,0x0000000770200000)
|
||||
ParOldGen total 173568K, used 51K [0x00000006c2800000, 0x00000006cd180000, 0x000000076b800000)
|
||||
object space 173568K, 0% used [0x00000006c2800000,0x00000006c280cc50,0x00000006cd180000)
|
||||
Metaspace used 17784K, capacity 18092K, committed 18176K, reserved 1064960K
|
||||
class space used 1917K, capacity 1996K, committed 2048K, reserved 1048576K
|
||||
}
|
||||
|
||||
Deoptimization events (10 events):
|
||||
Event: 1.449 Thread 0x000000000307e000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003b7b34c method=java.util.Properties$LineReader.readLine()I @ 323
|
||||
Event: 1.468 Thread 0x000000000307e000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003ba5438 method=java.util.Properties.loadConvert([CII[C)Ljava/lang/String; @ 72
|
||||
Event: 1.513 Thread 0x000000000307e000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003a07c04 method=java.lang.AbstractStringBuilder.append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder; @ 1
|
||||
Event: 1.531 Thread 0x000000000307e000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003bd5bcc method=java.io.WinNTFileSystem.isLetter(C)Z @ 3
|
||||
Event: 1.622 Thread 0x0000000022aa5800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003c07a18 method=java.util.Properties.loadConvert([CII[C)Ljava/lang/String; @ 445
|
||||
Event: 2.067 Thread 0x000000000307e000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000394306c method=java.lang.AbstractStringBuilder.append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder; @ 1
|
||||
Event: 2.591 Thread 0x000000000307e000 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x0000000003b33448 method=java.util.HashMap.putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object; @ 203
|
||||
Event: 2.591 Thread 0x000000000307e000 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x0000000003b33448 method=java.util.HashMap.putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object; @ 203
|
||||
Event: 2.591 Thread 0x000000000307e000 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x0000000003b33448 method=java.util.HashMap.putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object; @ 203
|
||||
Event: 2.591 Thread 0x000000000307e000 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x0000000003b33448 method=java.util.HashMap.putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object; @ 203
|
||||
|
||||
Internal exceptions (10 events):
|
||||
Event: 1.629 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c213f48) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 1.629 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c26e670) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 1.629 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c26e9b8) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 1.630 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c2cccf8) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 1.630 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c2cd040) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 1.631 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c329d60) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 1.631 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c32a0a8) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 1.632 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c38d250) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 1.632 Thread 0x0000000022aa5800 Exception <a 'java/security/PrivilegedActionException'> (0x000000076c38d598) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u40\2855\hotspot\src\share\vm\prims\jvm.cpp, line 1382]
|
||||
Event: 2.067 Thread 0x000000000307e000 Implicit null exception at 0x0000000003942c19 to 0x0000000003943055
|
||||
|
||||
Events (10 events):
|
||||
Event: 2.627 Thread 0x000000000307e000 DEOPT PACKING pc=0x0000000003bce84c sp=0x000000000360a0b0
|
||||
Event: 2.627 Thread 0x000000000307e000 DEOPT UNPACKING pc=0x000000000385787f sp=0x0000000003609ed0 mode 1
|
||||
Event: 2.630 loading class org/logicalcobwebs/cglib/reflect/FastClassEmitter$2
|
||||
Event: 2.630 loading class org/logicalcobwebs/cglib/reflect/FastClassEmitter$2 done
|
||||
Event: 2.630 Thread 0x000000000307e000 DEOPT PACKING pc=0x0000000003c44a49 sp=0x0000000003609eb0
|
||||
Event: 2.630 Thread 0x000000000307e000 DEOPT UNPACKING pc=0x000000000385787f sp=0x0000000003609c00 mode 1
|
||||
Event: 2.630 Thread 0x000000000307e000 DEOPT PACKING pc=0x0000000003bceab4 sp=0x0000000003609f30
|
||||
Event: 2.630 Thread 0x000000000307e000 DEOPT UNPACKING pc=0x000000000385787f sp=0x0000000003609d50 mode 1
|
||||
Event: 2.630 Thread 0x000000000307e000 DEOPT PACKING pc=0x0000000003bce84c sp=0x000000000360a0c0
|
||||
Event: 2.630 Thread 0x000000000307e000 DEOPT UNPACKING pc=0x000000000385787f sp=0x0000000003609ee0 mode 1
|
||||
|
||||
|
||||
Dynamic libraries:
|
||||
0x00007ff717ea0000 - 0x00007ff717ed7000 D:\soft\JDK8\bin\java.exe
|
||||
0x00007ffda8030000 - 0x00007ffda8228000 C:\WINDOWS\SYSTEM32\ntdll.dll
|
||||
0x00007ffda7440000 - 0x00007ffda74fd000 C:\WINDOWS\System32\KERNEL32.DLL
|
||||
0x00007ffda5ad0000 - 0x00007ffda5dc6000 C:\WINDOWS\System32\KERNELBASE.dll
|
||||
0x00007ffda6280000 - 0x00007ffda6330000 C:\WINDOWS\System32\ADVAPI32.dll
|
||||
0x00007ffda6330000 - 0x00007ffda63ce000 C:\WINDOWS\System32\msvcrt.dll
|
||||
0x00007ffda6720000 - 0x00007ffda67c0000 C:\WINDOWS\System32\sechost.dll
|
||||
0x00007ffda67c0000 - 0x00007ffda68e3000 C:\WINDOWS\System32\RPCRT4.dll
|
||||
0x00007ffda58d0000 - 0x00007ffda58f7000 C:\WINDOWS\System32\bcrypt.dll
|
||||
0x00007ffda6550000 - 0x00007ffda66ef000 C:\WINDOWS\System32\USER32.dll
|
||||
0x00007ffda5900000 - 0x00007ffda5922000 C:\WINDOWS\System32\win32u.dll
|
||||
0x00007ffda66f0000 - 0x00007ffda671b000 C:\WINDOWS\System32\GDI32.dll
|
||||
0x00007ffda5f40000 - 0x00007ffda6057000 C:\WINDOWS\System32\gdi32full.dll
|
||||
0x00007ffda5a30000 - 0x00007ffda5acd000 C:\WINDOWS\System32\msvcp_win.dll
|
||||
0x00007ffda5e40000 - 0x00007ffda5f40000 C:\WINDOWS\System32\ucrtbase.dll
|
||||
0x00007ffd90c00000 - 0x00007ffd90e9a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.3636_none_60b6a03d71f818d5\COMCTL32.dll
|
||||
0x00007ffda6240000 - 0x00007ffda6272000 C:\WINDOWS\System32\IMM32.DLL
|
||||
0x000000005f9f0000 - 0x000000005fac2000 D:\soft\JDK8\jre\bin\msvcr100.dll
|
||||
0x000000005efe0000 - 0x000000005f863000 D:\soft\JDK8\jre\bin\server\jvm.dll
|
||||
0x00007ffda7340000 - 0x00007ffda7348000 C:\WINDOWS\System32\PSAPI.DLL
|
||||
0x00007ffd90ae0000 - 0x00007ffd90b07000 C:\WINDOWS\SYSTEM32\WINMM.dll
|
||||
0x00007ffd9e350000 - 0x00007ffd9e35a000 C:\WINDOWS\SYSTEM32\VERSION.dll
|
||||
0x00007ffd8e180000 - 0x00007ffd8e189000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
|
||||
0x00007ffda6cf0000 - 0x00007ffda6d5b000 C:\WINDOWS\System32\WS2_32.dll
|
||||
0x000000005efd0000 - 0x000000005efdf000 D:\soft\JDK8\jre\bin\verify.dll
|
||||
0x000000005efa0000 - 0x000000005efc9000 D:\soft\JDK8\jre\bin\java.dll
|
||||
0x000000005ebe0000 - 0x000000005ec15000 D:\soft\JDK8\jre\bin\jdwp.dll
|
||||
0x000000005ebd0000 - 0x000000005ebd8000 D:\soft\JDK8\jre\bin\npt.dll
|
||||
0x000000005eba0000 - 0x000000005ebc3000 D:\soft\JDK8\jre\bin\instrument.dll
|
||||
0x000000005ef80000 - 0x000000005ef96000 D:\soft\JDK8\jre\bin\zip.dll
|
||||
0x00007ffda7880000 - 0x00007ffda7feb000 C:\WINDOWS\System32\SHELL32.dll
|
||||
0x00007ffda3720000 - 0x00007ffda3ebe000 C:\WINDOWS\SYSTEM32\windows.storage.dll
|
||||
0x00007ffda7500000 - 0x00007ffda7853000 C:\WINDOWS\System32\combase.dll
|
||||
0x00007ffda5110000 - 0x00007ffda513e000 C:\WINDOWS\SYSTEM32\Wldp.dll
|
||||
0x00007ffda69c0000 - 0x00007ffda6a8d000 C:\WINDOWS\System32\OLEAUT32.dll
|
||||
0x00007ffda6190000 - 0x00007ffda623d000 C:\WINDOWS\System32\SHCORE.dll
|
||||
0x00007ffda68f0000 - 0x00007ffda6945000 C:\WINDOWS\System32\shlwapi.dll
|
||||
0x00007ffda5610000 - 0x00007ffda5633000 C:\WINDOWS\SYSTEM32\profapi.dll
|
||||
0x000000005eb90000 - 0x000000005eb99000 D:\soft\JDK8\jre\bin\dt_socket.dll
|
||||
0x00007ffda4e70000 - 0x00007ffda4eda000 C:\WINDOWS\system32\mswsock.dll
|
||||
0x000000005eb80000 - 0x000000005eb8d000 D:\soft\JDK8\jre\bin\management.dll
|
||||
0x000000005ef30000 - 0x000000005ef4a000 D:\soft\JDK8\jre\bin\net.dll
|
||||
0x000000005ef10000 - 0x000000005ef21000 D:\soft\JDK8\jre\bin\nio.dll
|
||||
0x00007ffda0910000 - 0x00007ffda092d000 C:\WINDOWS\system32\NLAapi.dll
|
||||
0x00007ffda4ae0000 - 0x00007ffda4b1b000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
|
||||
0x00007ffd82990000 - 0x00007ffd829a7000 C:\WINDOWS\system32\napinsp.dll
|
||||
0x00007ffd7d350000 - 0x00007ffd7d36b000 C:\WINDOWS\system32\pnrpnsp.dll
|
||||
0x00007ffda4b20000 - 0x00007ffda4beb000 C:\WINDOWS\SYSTEM32\DNSAPI.dll
|
||||
0x00007ffda71d0000 - 0x00007ffda71d8000 C:\WINDOWS\System32\NSI.dll
|
||||
0x00007ffd7d2f0000 - 0x00007ffd7d302000 C:\WINDOWS\System32\winrnr.dll
|
||||
0x00007ffd9fcb0000 - 0x00007ffd9fcc5000 C:\WINDOWS\system32\wshbth.dll
|
||||
0x00007ffd9df10000 - 0x00007ffd9df1a000 C:\Windows\System32\rasadhlp.dll
|
||||
0x00007ffd91960000 - 0x00007ffd919e0000 C:\WINDOWS\System32\fwpuclnt.dll
|
||||
0x00007ffda32b0000 - 0x00007ffda3494000 C:\WINDOWS\SYSTEM32\dbghelp.dll
|
||||
0x00007ffda5840000 - 0x00007ffda58c2000 C:\WINDOWS\System32\bcryptPrimitives.dll
|
||||
|
||||
VM Arguments:
|
||||
jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:56661,suspend=y,server=n -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:C:\Users\liuliang\AppData\Local\JetBrains\IntelliJIdea2021.2\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8
|
||||
java_command: com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 TestAttendanceAllowance.Test,testAnalysis
|
||||
java_class_path (initial): C:\Users\liuliang\AppData\Local\Temp\classpath1628952194.jar;C:\Users\liuliang\AppData\Local\JetBrains\IntelliJIdea2021.2\captureAgent\debugger-agent.jar
|
||||
Launcher Type: SUN_STANDARD
|
||||
|
||||
Environment Variables:
|
||||
JAVA_HOME=D:\soft\JDK8
|
||||
CLASSPATH=.;D:\soft\JDK8\lib\dt.jar;D:\soft\JDK8\lib\tools.jar;D:\Resin\lib\resin.jar;D:\WEAVER\Resin\lib\resin.jar
|
||||
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\soft\JDK8\jre\bin;D:\soft\apache-maven-3.5.0\bin;D:\soft\hadoop-2.7.7\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Azure Data Studio\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\nodejs\;D:\Git\cmd;C:\Program Files\Bandizip\;C:\Program Files\TortoiseSVN\bin;C:\Users\liuliang\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Azure Data Studio\bin;D:\Microsoft VS Code\bin;D:\nodejs\node_global;D:\soft\mysql-8.0.29-winx64\bin;
|
||||
USERNAME=liuliang
|
||||
OS=Windows_NT
|
||||
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 13, GenuineIntel
|
||||
|
||||
|
||||
|
||||
--------------- S Y S T E M ---------------
|
||||
|
||||
OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.3636)
|
||||
|
||||
CPU:total 6 (6 cores per cpu, 1 threads per core) family 6 model 158 stepping 13, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, tsc, tscinvbit, bmi1, bmi2, adx
|
||||
|
||||
Memory: 4k page, physical 16611380k(2588280k free), swap 20805684k(4068k free)
|
||||
|
||||
vm_info: Java HotSpot(TM) 64-Bit Server VM (25.40-b25) for windows-amd64 JRE (1.8.0_40-b25), built on Feb 10 2015 21:53:57 by "java_re" with MS VC++ 10.0 (VS2010)
|
||||
|
||||
time: Mon Apr 22 20:23:29 2024
|
||||
elapsed time: 2 seconds (0d 0h 0m 2s)
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,125 @@
|
||||
package com.engine.attendance.attendanceanalysis.cmd;
|
||||
|
||||
import com.engine.attendance.enums.CheckBoxEnum;
|
||||
import com.engine.attendance.enums.ClassBelongToEnum;
|
||||
import com.engine.attendance.enums.ClassSegmentTypeEnum;
|
||||
import com.engine.common.biz.AbstractCommonCommand;
|
||||
import com.engine.common.entity.BizLogContext;
|
||||
import com.engine.common.util.DateUtil;
|
||||
import com.engine.common.util.DbTools;
|
||||
import com.engine.common.util.Utils;
|
||||
import com.engine.core.interceptor.CommandContext;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
public class GetAskForLeaveCmd extends AbstractCommonCommand<Map<String,Object>> {
|
||||
|
||||
public GetAskForLeaveCmd(Map<String,Object> params){
|
||||
this.params=params;
|
||||
}
|
||||
@Override
|
||||
public BizLogContext getLogContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> execute(CommandContext commandContext) {
|
||||
Map<String,Object> resultMap = Maps.newHashMap();
|
||||
String userId = Util.null2String(params.get("userId"));
|
||||
String analysisDate = Util.null2String(params.get("analysisDate"));
|
||||
List<Map<String, Object>> scheduleResult = (List<Map<String, Object>>)params.get("scheduleResult");
|
||||
String sql = "select a.qjry,a.jqlx,a.cxjqj,b.ksrq,b.kssj,b.jsrq,b.jssj,b.qjsc,b.qtj,b.btj from uf_jcl_kq_qjjl a left join uf_jcl_kq_qjjl_dt1 b on a.id = b.mainid where a.qjry=? and b.ksrq>=? and b.ksrq<=? and (b.cxqj=0 or b.cxqj is null)";
|
||||
List<Map<String,Object>> askForLeaveList = DbTools.getSqlToList(sql,userId, DateUtil.beforeDay(analysisDate,1),DateUtil.AfterDay(analysisDate,1));
|
||||
Map<String,Map<String,Object>> askForLeaveItems = Maps.newHashMap();
|
||||
|
||||
|
||||
String firstKssj = Utils.getkssjTime(scheduleResult.get(0),analysisDate);
|
||||
|
||||
String lastjssj = Utils.getjssjTime(scheduleResult.get(scheduleResult.size()-1),analysisDate);
|
||||
|
||||
Set<String> jplxSet = Sets.newHashSet();
|
||||
List<Map<String,Object>> haveAskForLeaveList = askForLeaveList.stream().filter(e->{
|
||||
String kssj = e.get("ksrq")+" "+e.get("kssj");
|
||||
String jssj = e.get("jsrq")+" "+e.get("jssj");
|
||||
if (e.get("ksrq").equals(analysisDate) && !"1".equals(e.get("cxjqj"))){
|
||||
jplxSet.add(e.get("jqlx").toString());
|
||||
return true;
|
||||
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(lastjssj)) <0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(firstKssj)) >0 && "1".equals(e.get("cxjqj"))){
|
||||
jplxSet.add(e.get("jqlx").toString());
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
log.info("haveAskForLeaveList : [{}]",haveAskForLeaveList);
|
||||
|
||||
|
||||
|
||||
List<Map<String,Object>> resultList = Lists.newArrayList();
|
||||
List<Map<String,Object>> askForLeaveSchedule = Lists.newArrayList();
|
||||
resultMap.put("askForLeaveList",haveAskForLeaveList);
|
||||
resultMap.put("askForLeaveItems",askForLeaveItems);
|
||||
resultMap.put("askForLeaveSchedule",askForLeaveSchedule);
|
||||
if (jplxSet.size() == 0){
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
sql = "select id,hsl,hsdw,lgsbxydk,tqlghlfzs,fgsbxydk,thfghlfzs,tybcndbjlhbjs,zdycbcndfgzsd,zdycrqqjndxxb,zysd from uf_jcl_kq_kqxm where id in ("+String.join(",",jplxSet)+")";
|
||||
Map<String,List<Map<String,Object>>> collect = DbTools.getSqlToList(sql).stream().collect(Collectors.groupingBy(e->e.get("id").toString()));
|
||||
|
||||
|
||||
for (Map<String,Object> askForLeaveData : haveAskForLeaveList){
|
||||
Map<String,Object> askForLeaveItem = collect.get(askForLeaveData.get("jqlx")).get(0);
|
||||
//全天请假
|
||||
if (CheckBoxEnum.CHECKED.getKey().equals(askForLeaveData.get("qtj"))){
|
||||
Map<String,Object> map = Maps.newHashMap();
|
||||
map.put("item",askForLeaveData.get("jqlx"));
|
||||
map.put("itemduration",scheduleResult.get(0).get("edsc"));
|
||||
resultList.add(map);
|
||||
resultMap.put("alldayVaction",resultList);
|
||||
}
|
||||
|
||||
|
||||
askForLeaveItems.put(askForLeaveData.get("jqlx").toString(),askForLeaveItem);
|
||||
|
||||
if (!"".equals(Util.null2String(askForLeaveData.get("kssj"))) && !"".equals(Util.null2String(askForLeaveData.get("jssj")))){
|
||||
Map<String,Object> askForLeaveMap = new HashMap(){{
|
||||
put("bcxx", scheduleResult.get(0).get("bcxx"));
|
||||
put("bcsdxx", scheduleResult.get(0).get("bcsdxx"));
|
||||
put("edsc", scheduleResult.get(0).get("edsc"));
|
||||
put("bdlx", ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey());
|
||||
put("dtkssj",askForLeaveData.get("kssj"));
|
||||
put("dtjssj",askForLeaveData.get("jssj"));
|
||||
put("ksdk",askForLeaveItem.get("fgsbxydk"));
|
||||
put("jsdk",askForLeaveItem.get("lgsbxydk"));
|
||||
put("tqdkfzs","60");
|
||||
put("thdkfzs","60");
|
||||
put("tqlghlfzs",askForLeaveItem.get("tqlghlfzs"));
|
||||
put("thfghlfzs",askForLeaveItem.get("thfghlfzs"));
|
||||
}};
|
||||
String ksrq = Util.null2String(askForLeaveData.get("ksrq"));
|
||||
if (DateUtil.getTime(ksrq).compareTo(DateUtil.getTime(analysisDate)) == 0){
|
||||
askForLeaveMap.put("gsrq",ClassBelongToEnum.NOWDAY.getKey());
|
||||
}else if (DateUtil.getTime(ksrq).compareTo(DateUtil.getTime(analysisDate)) < 0){
|
||||
askForLeaveMap.put("gsrq",ClassBelongToEnum.YESTERDAY.getKey());
|
||||
}else if (DateUtil.getTime(ksrq).compareTo(DateUtil.getTime(analysisDate)) > 0){
|
||||
askForLeaveMap.put("gsrq",ClassBelongToEnum.NEXTDAY.getKey());
|
||||
}
|
||||
askForLeaveSchedule.add(askForLeaveMap);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,147 @@
|
||||
package com.engine.attendance.attendanceanalysis.cmd;
|
||||
|
||||
import com.engine.attendance.enums.CheckBoxEnum;
|
||||
import com.engine.attendance.enums.ClassSegmentTypeEnum;
|
||||
import com.engine.common.biz.AbstractCommonCommand;
|
||||
import com.engine.common.entity.BizLogContext;
|
||||
import com.engine.common.util.DateUtil;
|
||||
import com.engine.common.util.DbTools;
|
||||
import com.engine.common.util.Utils;
|
||||
import com.engine.core.interceptor.CommandContext;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 计算获取归属于分析日期的打卡数据
|
||||
*/
|
||||
@Slf4j
|
||||
public class GetClockInTimeListCmd extends AbstractCommonCommand<Map<String,Object>> {
|
||||
public GetClockInTimeListCmd(Map<String, Object> params){
|
||||
this.params=params;
|
||||
}
|
||||
@Override
|
||||
public BizLogContext getLogContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> execute(CommandContext commandContext) {
|
||||
//打卡日期
|
||||
String needGetDate = Util.null2String(params.get("date"));
|
||||
//打卡数据
|
||||
List<Map<String,Object>> clockInTimeList = (List<Map<String,Object>>)params.get("clockInTimeList");
|
||||
//班次数据
|
||||
Map<String, List<Map<String,Object>>> schedulingResultCollect = (Map<String, List<Map<String,Object>>>)params.get("schedulingResultCollect");
|
||||
//出勤结果日期对应的进出数据
|
||||
Map<String,Map<String,Object>> clockInTimeMap = (Map<String,Map<String,Object>>)params.get("clockInTimeMap");
|
||||
//当天班次
|
||||
List<Map<String,Object>> needGetDateScheduling = schedulingResultCollect.get(needGetDate);
|
||||
//分析人员
|
||||
String userId = Util.null2String(params.get("userId"));
|
||||
|
||||
List<Map<String, Object>> scheduleList = needGetDateScheduling.stream().filter(e -> {
|
||||
if (!ClassSegmentTypeEnum.REST_AND_DINE.getKey().equals(e.get("bdlx")) && !ClassSegmentTypeEnum.REST_PERIOD.getKey().equals(e.get("bdlx")) &&
|
||||
!ClassSegmentTypeEnum.DINING_PERIOD.getKey().equals(e.get("bdlx")) && (CheckBoxEnum.CHECKED.getKey().equals(e.get("ksdk")) || CheckBoxEnum.CHECKED.getKey().equals(e.get("jsdk")))){
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
Map<String, Object> firstKsdkSchedule = null;
|
||||
Map<String, Object> lastKsdkSchedule = null;
|
||||
for (int i=0;i<scheduleList.size();i++){
|
||||
if (CheckBoxEnum.CHECKED.getKey().equals(scheduleList.get(i).get("ksdk"))){
|
||||
firstKsdkSchedule = scheduleList.get(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (int j=scheduleList.size()-1;j>=0;j--){
|
||||
if (CheckBoxEnum.CHECKED.getKey().equals(scheduleList.get(j).get("jsdk"))){
|
||||
lastKsdkSchedule = scheduleList.get(j);
|
||||
break;
|
||||
}
|
||||
}
|
||||
//当天班次最早会打卡的时间点
|
||||
String earliestTime = "";
|
||||
if (firstKsdkSchedule != null){
|
||||
earliestTime = Utils.getkssjEarliestTime(firstKsdkSchedule,needGetDate);
|
||||
}
|
||||
//当天班次最晚会打卡的时间点
|
||||
String lastestTime = "";
|
||||
if (lastKsdkSchedule != null){
|
||||
lastestTime = Utils.getjssjLastestTime(lastKsdkSchedule,needGetDate);
|
||||
}
|
||||
|
||||
if (DateUtil.getTime(earliestTime).compareTo(DateUtil.getTime(needGetDate+" 00:00:00")) < 0){
|
||||
//当最早打卡时间点在前一天时,获取前一天的出勤结果打卡数据
|
||||
String earliestDate = earliestTime.split(" ")[0];
|
||||
Map<String,Object> clockIntime = clockInTimeMap.get(earliestDate);
|
||||
if (clockIntime == null){
|
||||
String sql = "select rq,j1,c1,j2,c2,j3,c3,j4,c4,j5,c5,j6,c6,j7,c7,j8,c8 from uf_jcl_kq_cqjg where ygid=? and rq>=? and rq<=?";
|
||||
List<Map<String,Object>> attendanceResult = DbTools.getSqlToList(sql,userId,DateUtil.beforeDay(earliestDate,1),earliestDate);
|
||||
Map<String, List<Map<String,Object>>> attendanceCollect = attendanceResult.stream().collect(Collectors.groupingBy(e->e.get("rq").toString()));
|
||||
clockIntime = attendanceCollect.get(earliestDate) == null?null:attendanceCollect.get(earliestDate).get(0);
|
||||
if (clockIntime == null){
|
||||
//取不到当天的就再往前取一天
|
||||
clockIntime = attendanceCollect.get(DateUtil.beforeDay(earliestDate,1)) == null?null:attendanceCollect.get(DateUtil.beforeDay(earliestDate,1)).get(0);
|
||||
}
|
||||
}
|
||||
if (clockIntime !=null){
|
||||
for (int i=8;i>0;i--){
|
||||
String in = Util.null2String(clockIntime.get("j"+i));
|
||||
String out = Util.null2String(clockIntime.get("c"+i));
|
||||
if (!"".equals(out)){
|
||||
if (DateUtil.getTime(out).compareTo(DateUtil.getTime(earliestTime)) > 0){
|
||||
earliestTime = out;
|
||||
}
|
||||
break;
|
||||
}else if (!"".equals(in)){
|
||||
if (DateUtil.getTime(in).compareTo(DateUtil.getTime(earliestTime)) > 0){
|
||||
earliestTime = in;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
log.info("earliestTime :[{}],lastestTime: [{}]",earliestTime,lastestTime);
|
||||
String finalEarliestTime = earliestTime;
|
||||
String finalLastestTime = lastestTime;
|
||||
List<Map<String,Object>> effectiveclockInTimeList = clockInTimeList.stream().filter(e->{
|
||||
String signDate = e.get("signdate")+" "+e.get("signtime");
|
||||
if ("".equals(Util.null2String(finalEarliestTime)) && "".equals(Util.null2String(finalLastestTime))){
|
||||
return true;
|
||||
}else if ("".equals(Util.null2String(finalEarliestTime)) && !"".equals(Util.null2String(finalLastestTime))){
|
||||
if (DateUtil.getTime(signDate).compareTo(DateUtil.getTime(finalLastestTime)) <=0){
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}else if (!"".equals(Util.null2String(finalEarliestTime)) && "".equals(Util.null2String(finalLastestTime))){
|
||||
if (DateUtil.getTime(signDate).compareTo(DateUtil.getTime(finalEarliestTime)) >0){
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}else{
|
||||
if (DateUtil.getTime(signDate).compareTo(DateUtil.getTime(finalEarliestTime)) >0 && DateUtil.getTime(signDate).compareTo(DateUtil.getTime(finalLastestTime)) <=0){
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
Map<String,Object> resultMap = Maps.newHashMap();
|
||||
resultMap.put("resultList",effectiveclockInTimeList);
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,121 @@
|
||||
package com.engine.attendance.attendanceanalysis.cmd;
|
||||
|
||||
import com.engine.attendance.enums.CheckBoxEnum;
|
||||
import com.engine.attendance.enums.ClassBelongToEnum;
|
||||
import com.engine.attendance.enums.ClassSegmentTypeEnum;
|
||||
import com.engine.common.biz.AbstractCommonCommand;
|
||||
import com.engine.common.entity.BizLogContext;
|
||||
import com.engine.common.util.DateUtil;
|
||||
import com.engine.common.util.DbTools;
|
||||
import com.engine.common.util.Utils;
|
||||
import com.engine.core.interceptor.CommandContext;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
public class GetEvectionCmd extends AbstractCommonCommand<Map<String,Object>> {
|
||||
|
||||
public GetEvectionCmd(Map<String,Object> params){
|
||||
this.params=params;
|
||||
}
|
||||
@Override
|
||||
public BizLogContext getLogContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> execute(CommandContext commandContext) {
|
||||
Map<String,Object> resultMap = Maps.newHashMap();
|
||||
String userId = Util.null2String(params.get("userId"));
|
||||
String analysisDate = Util.null2String(params.get("analysisDate"));
|
||||
List<Map<String, Object>> scheduleResult = (List<Map<String, Object>>)params.get("scheduleResult");
|
||||
String sql = "select b.ccr,a.cclx,a.ccsd,b.ksrq,b.jsrq,b.kssj,b.jssj,b.ccsc,b.qtcc,b.btcc,b.cxcc from uf_jcl_kq_ccjl a left join uf_jcl_kq_ccjl_dt1 b on a.id = b.mainid where b.ccr=? and b.ksrq>=? and b.ksrq<=? and (b.cxcc=0 or b.cxcc is null)";
|
||||
List<Map<String,Object>> evectionList = DbTools.getSqlToList(sql,userId, DateUtil.beforeDay(analysisDate,1),DateUtil.AfterDay(analysisDate,1));
|
||||
Map<String,Map<String,Object>> evectionItems = Maps.newHashMap();
|
||||
|
||||
|
||||
String firstKssj = Utils.getkssjTime(scheduleResult.get(0),analysisDate);
|
||||
|
||||
String lastjssj = Utils.getjssjTime(scheduleResult.get(scheduleResult.size()-1),analysisDate);
|
||||
|
||||
Set<String> cclxSet = Sets.newHashSet();
|
||||
List<Map<String,Object>> haveEvectionList = evectionList.stream().filter(e->{
|
||||
String kssj = e.get("ksrq")+" "+e.get("kssj");
|
||||
String jssj = e.get("jsrq")+" "+e.get("jssj");
|
||||
if (e.get("ksrq").equals(analysisDate) && !"1".equals(e.get("ccsd"))){
|
||||
cclxSet.add(e.get("cclx").toString());
|
||||
return true;
|
||||
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(lastjssj)) <0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(firstKssj)) >0 && "1".equals(e.get("ccsd"))){
|
||||
cclxSet.add(e.get("cclx").toString());
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
log.info("haveEvectionList : [{}]",haveEvectionList);
|
||||
List<Map<String,Object>> resultList = Lists.newArrayList();
|
||||
List<Map<String,Object>> evectionSchedule = Lists.newArrayList();
|
||||
|
||||
resultMap.put("evectionList",haveEvectionList);
|
||||
resultMap.put("evectionItems",evectionItems);
|
||||
resultMap.put("evectionSchedule",evectionSchedule);
|
||||
if (cclxSet.size() == 0){
|
||||
return resultMap;
|
||||
}
|
||||
sql = "select id,hsl,hsdw,lgsbxydk,tqlghlfzs,fgsbxydk,thfghlfzs,tybcndbjlhbjs,zdycbcndfgzsd,zdycrqqjndxxb,zysd from uf_jcl_kq_kqxm where id in ("+String.join(",",cclxSet)+")";
|
||||
Map<String,List<Map<String,Object>>> collect = DbTools.getSqlToList(sql).stream().collect(Collectors.groupingBy(e->e.get("id").toString()));
|
||||
|
||||
|
||||
for (Map<String,Object> evectionData : haveEvectionList){
|
||||
Map<String,Object> evectionItem = collect.get(evectionData.get("cclx")).get(0);
|
||||
//全天出差
|
||||
if (CheckBoxEnum.CHECKED.getKey().equals(evectionData.get("qtcc"))){
|
||||
Map<String,Object> map = Maps.newHashMap();
|
||||
map.put("item",evectionData.get("cclx"));
|
||||
map.put("itemduration",scheduleResult.get(0).get("edsc"));
|
||||
resultList.add(map);
|
||||
resultMap.put("alldayEvection",resultList);
|
||||
}
|
||||
|
||||
|
||||
evectionItems.put(evectionData.get("jqlx").toString(),evectionItem);
|
||||
|
||||
if (!"".equals(Util.null2String(evectionData.get("kssj"))) && !"".equals(Util.null2String(evectionData.get("jssj")))){
|
||||
Map<String,Object> evectioneMap = new HashMap(){{
|
||||
put("bcxx", scheduleResult.get(0).get("bcxx"));
|
||||
put("bcsdxx", scheduleResult.get(0).get("bcsdxx"));
|
||||
put("edsc", scheduleResult.get(0).get("edsc"));
|
||||
put("bdlx", ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey());
|
||||
put("dtkssj",evectionData.get("kssj"));
|
||||
put("dtjssj",evectionData.get("jssj"));
|
||||
put("ksdk",evectionItem.get("fgsbxydk"));
|
||||
put("jsdk",evectionItem.get("lgsbxydk"));
|
||||
put("tqdkfzs","60");
|
||||
put("thdkfzs","60");
|
||||
put("tqlghlfzs",evectionItem.get("tqlghlfzs"));
|
||||
put("thfghlfzs",evectionItem.get("thfghlfzs"));
|
||||
}};
|
||||
String ksrq = Util.null2String(evectionData.get("ksrq"));
|
||||
if (DateUtil.getTime(ksrq).compareTo(DateUtil.getTime(analysisDate)) == 0){
|
||||
evectioneMap.put("gsrq",ClassBelongToEnum.NOWDAY.getKey());
|
||||
}else if (DateUtil.getTime(ksrq).compareTo(DateUtil.getTime(analysisDate)) < 0){
|
||||
evectioneMap.put("gsrq",ClassBelongToEnum.YESTERDAY.getKey());
|
||||
}else if (DateUtil.getTime(ksrq).compareTo(DateUtil.getTime(analysisDate)) > 0){
|
||||
evectioneMap.put("gsrq",ClassBelongToEnum.NEXTDAY.getKey());
|
||||
}
|
||||
evectionSchedule.add(evectionData);
|
||||
}
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.engine.attendance.enums;
|
||||
|
||||
import com.finance.toolkit.BaseEnum;
|
||||
|
||||
/**
|
||||
* 班次归属日期
|
||||
*/
|
||||
public enum ClassBelongToEnum implements BaseEnum {
|
||||
NOWDAY("1","当日"),
|
||||
YESTERDAY("0","昨日"),
|
||||
NEXTDAY("2","次日");
|
||||
|
||||
private String key;
|
||||
private String value;
|
||||
|
||||
ClassBelongToEnum(String key, String value){
|
||||
this.key=key;
|
||||
this.value=value;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return this.key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue