LG88888888 4 лет назад
Родитель
Сommit
b516566c09
94 измененных файлов с 5243 добавлено и 625 удалено
  1. 333 0
      hs_err_pid22568.log
  2. 333 0
      hs_err_pid24800.log
  3. 333 0
      hs_err_pid47936.log
  4. 15 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/entity/Attendance.java
  5. 8 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/mapper/AttendanceMapper.java
  6. 16 2
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/mapper/xml/AttendanceMapper.xml
  7. 3 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/service/IAttendanceService.java
  8. 137 101
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.java
  9. 173 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/controller/ShiftController.java
  10. 75 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/entity/Shift.java
  11. 17 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/mapper/ShiftMapper.java
  12. 5 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/mapper/xml/ShiftMapper.xml
  13. 16 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/service/IShiftService.java
  14. 19 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/service/impl/ShiftServiceImpl.java
  15. 186 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/controller/UserShiftController.java
  16. 9 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/entity/UserDept.java
  17. 69 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/entity/UserShift.java
  18. 126 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/entity/UserShiftVo.java
  19. 40 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.java
  20. 46 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml
  21. 27 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/IUserShiftService.java
  22. 81 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.java
  23. 7 9
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/vacation/mapper/xml/VacationMapper.xml
  24. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/entity/Attendance.class
  25. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/mapper/AttendanceMapper.class
  26. 16 2
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/mapper/xml/AttendanceMapper.xml
  27. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/service/IAttendanceService.class
  28. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.class
  29. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/controller/ShiftController.class
  30. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/entity/Shift.class
  31. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/mapper/ShiftMapper.class
  32. 5 0
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/mapper/xml/ShiftMapper.xml
  33. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/service/IShiftService.class
  34. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/service/impl/ShiftServiceImpl.class
  35. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/controller/UserShiftController.class
  36. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/entity/UserDept.class
  37. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/entity/UserShift.class
  38. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/entity/UserShiftVo.class
  39. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.class
  40. 46 0
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml
  41. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/service/IUserShiftService.class
  42. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.class
  43. 7 9
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/vacation/mapper/xml/VacationMapper.xml
  44. 1639 0
      jeecg-boot-module-system/logs/jeecgboot-2021-12-01.0.html
  45. 190 0
      jeecg-boot-module-system/logs/jeecgboot-2021-12-01.0.log
  46. 11 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java
  47. 44 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
  48. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysWeixinController.java
  49. 10 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java
  50. 8 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysPermissionMapper.java
  51. 15 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
  52. 15 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml
  53. 42 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
  54. 10 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysPermissionService.java
  55. 12 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
  56. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java
  57. 33 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
  58. 431 472
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/WeixinUserImpl.java
  59. 14 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/util/UrlData.java
  60. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/FatureTest.java
  61. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/Test.java
  62. 5 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/WeixinApp.java
  63. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/SysPermissionController.class
  64. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/SysUserController.class
  65. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/SysWeixinController.class
  66. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/entity/SysUser.class
  67. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/SysPermissionMapper.class
  68. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/SysUserMapper.class
  69. 15 1
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml
  70. 42 2
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
  71. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysPermissionService.class
  72. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysUserService.class
  73. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.class
  74. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysUserServiceImpl.class
  75. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$1.class
  76. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$2.class
  77. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$3.class
  78. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$4.class
  79. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$5.class
  80. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$6.class
  81. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$7.class
  82. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$8.class
  83. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$9.class
  84. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl.class
  85. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/util/UrlData$1.class
  86. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/util/UrlData$2.class
  87. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/util/UrlData$3.class
  88. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/util/UrlData.class
  89. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/FatureTest.class
  90. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/Test.class
  91. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/WeixinApp.class
  92. 177 0
      replay_pid22568.log
  93. 235 0
      replay_pid24800.log
  94. 139 0
      replay_pid47936.log

+ 333 - 0
hs_err_pid22568.log

@@ -0,0 +1,333 @@
+#
+# There is insufficient memory for the Java Runtime Environment to continue.
+# Native memory allocation (malloc) failed to allocate 1409776 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=22568, tid=0x0000000000001538
+#
+# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 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 (0x000000001a2c4800):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=5432, stack(0x000000001aa60000,0x000000001ab60000)]
+
+Stack: [0x000000001aa60000,0x000000001ab60000]
+[error occurred during error reporting (printing stack bounds), id 0xc0000005]
+
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+
+
+Current CompileTask:
+C2:   7339 4889       4       org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator::interpolate (712 bytes)
+
+
+---------------  P R O C E S S  ---------------
+
+Java Threads: ( => current thread )
+  0x000000001a371000 JavaThread "Service Thread" daemon [_thread_blocked, id=29976, stack(0x000000001ae60000,0x000000001af60000)]
+  0x000000001a2ce800 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=6224, stack(0x000000001ad60000,0x000000001ae60000)]
+  0x000000001a2c9800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=33560, stack(0x000000001ac60000,0x000000001ad60000)]
+  0x000000001a2c5800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=42252, stack(0x000000001ab60000,0x000000001ac60000)]
+=>0x000000001a2c4800 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=5432, stack(0x000000001aa60000,0x000000001ab60000)]
+  0x000000001a2ab000 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=41372, stack(0x000000001a960000,0x000000001aa60000)]
+  0x000000001a28d800 JavaThread "Attach Listener" daemon [_thread_blocked, id=27280, stack(0x000000001a860000,0x000000001a960000)]
+  0x000000001a23a000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=48976, stack(0x000000001a760000,0x000000001a860000)]
+  0x000000001a220800 JavaThread "Finalizer" daemon [_thread_blocked, id=6288, stack(0x000000001a600000,0x000000001a700000)]
+  0x00000000033e9000 JavaThread "Reference Handler" daemon [_thread_blocked, id=43860, stack(0x000000001a100000,0x000000001a200000)]
+  0x00000000032f2800 JavaThread "main" [_thread_in_Java, id=7492, stack(0x00000000030f0000,0x00000000031f0000)]
+
+Other Threads:
+  0x0000000018329800 VMThread [stack: 0x000000001a000000,0x000000001a100000] [id=38120]
+  0x000000001a386800 WatcherThread [stack: 0x000000001af60000,0x000000001b060000] [id=43312]
+
+VM state:not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Heap:
+ PSYoungGen      total 264704K, used 38834K [0x00000000d6180000, 0x00000000ea400000, 0x0000000100000000)
+  eden space 246272K, 11% used [0x00000000d6180000,0x00000000d7d808f0,0x00000000e5200000)
+  from space 18432K, 55% used [0x00000000e6380000,0x00000000e6d6c020,0x00000000e7580000)
+  to   space 17920K, 0% used [0x00000000e5200000,0x00000000e5200000,0x00000000e6380000)
+ ParOldGen       total 91648K, used 31058K [0x0000000082400000, 0x0000000087d80000, 0x00000000d6180000)
+  object space 91648K, 33% used [0x0000000082400000,0x0000000084254808,0x0000000087d80000)
+ Metaspace       used 21428K, capacity 22086K, committed 22448K, reserved 1069056K
+  class space    used 2414K, capacity 2571K, committed 2688K, reserved 1048576K
+
+Card table byte_map: [0x00000000127b0000,0x0000000012ba0000] byte_map_base: 0x000000001239e000
+
+Marking Bits: (ParMarkBitMap*) 0x000000005f212d00
+ Begin Bits: [0x0000000013640000, 0x00000000155b0000)
+ End Bits:   [0x00000000155b0000, 0x0000000017520000)
+
+Polling page: 0x0000000002cd0000
+
+CodeCache: size=245760Kb used=16042Kb max_used=16277Kb free=229717Kb
+ bounds [0x00000000033f0000, 0x0000000004410000, 0x00000000123f0000]
+ total_blobs=4606 nmethods=4195 adapters=323
+ compilation: enabled
+
+Compilation events (10 events):
+Event: 6.976 Thread 0x000000001a2c9800 4886       4       org.codehaus.plexus.interpolation.AbstractDelegatingValueSource::getValue (11 bytes)
+Event: 6.977 Thread 0x000000001a2c5800 4887       4       org.codehaus.plexus.interpolation.PrefixedValueSourceWrapper::getValue (39 bytes)
+Event: 7.045 Thread 0x000000001a2c4800 nmethod 4867 0x00000000040c5c90 code [0x00000000040c6000, 0x00000000040c9288]
+Event: 7.045 Thread 0x000000001a2c4800 4890  s    4       java.util.Hashtable::get (69 bytes)
+Event: 7.052 Thread 0x000000001a2c4800 nmethod 4890 0x0000000003852bd0 code [0x0000000003852d20, 0x00000000038532d8]
+Event: 7.052 Thread 0x000000001a2c4800 4889       4       org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator::interpolate (712 bytes)
+Event: 7.252 Thread 0x000000001a2c9800 nmethod 4886 0x0000000004061f10 code [0x0000000004062300, 0x0000000004067b20]
+Event: 7.252 Thread 0x000000001a2c9800 4888       4       org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator::select (77 bytes)
+Event: 7.268 Thread 0x000000001a2c9800 nmethod 4888 0x0000000003799850 code [0x0000000003799a00, 0x000000000379a638]
+Event: 7.277 Thread 0x000000001a2c5800 nmethod 4887 0x00000000043f7710 code [0x00000000043f7ae0, 0x00000000043fd2c0]
+
+GC Heap History (10 events):
+Event: 4.371 GC heap before
+{Heap before GC invocations=7 (full 0):
+ PSYoungGen      total 145408K, used 127940K [0x00000000d6180000, 0x00000000dfd80000, 0x0000000100000000)
+  eden space 131072K, 89% used [0x00000000d6180000,0x00000000dd48bd70,0x00000000de180000)
+  from space 14336K, 70% used [0x00000000def80000,0x00000000df965510,0x00000000dfd80000)
+  to   space 14336K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000def80000)
+ ParOldGen       total 86016K, used 17356K [0x0000000082400000, 0x0000000087800000, 0x00000000d6180000)
+  object space 86016K, 20% used [0x0000000082400000,0x00000000834f3028,0x0000000087800000)
+ Metaspace       used 20600K, capacity 21178K, committed 21296K, reserved 1069056K
+  class space    used 2347K, capacity 2505K, committed 2560K, reserved 1048576K
+Event: 4.389 GC heap after
+Heap after GC invocations=7 (full 0):
+ PSYoungGen      total 145408K, used 14320K [0x00000000d6180000, 0x00000000e8880000, 0x0000000100000000)
+  eden space 131072K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de180000)
+  from space 14336K, 99% used [0x00000000de180000,0x00000000def7c010,0x00000000def80000)
+  to   space 19968K, 0% used [0x00000000e7500000,0x00000000e7500000,0x00000000e8880000)
+ ParOldGen       total 86016K, used 24335K [0x0000000082400000, 0x0000000087800000, 0x00000000d6180000)
+  object space 86016K, 28% used [0x0000000082400000,0x0000000083bc3f70,0x0000000087800000)
+ Metaspace       used 20600K, capacity 21178K, committed 21296K, reserved 1069056K
+  class space    used 2347K, capacity 2505K, committed 2560K, reserved 1048576K
+}
+Event: 4.389 GC heap before
+{Heap before GC invocations=8 (full 1):
+ PSYoungGen      total 145408K, used 14320K [0x00000000d6180000, 0x00000000e8880000, 0x0000000100000000)
+  eden space 131072K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de180000)
+  from space 14336K, 99% used [0x00000000de180000,0x00000000def7c010,0x00000000def80000)
+  to   space 19968K, 0% used [0x00000000e7500000,0x00000000e7500000,0x00000000e8880000)
+ ParOldGen       total 86016K, used 24335K [0x0000000082400000, 0x0000000087800000, 0x00000000d6180000)
+  object space 86016K, 28% used [0x0000000082400000,0x0000000083bc3f70,0x0000000087800000)
+ Metaspace       used 20600K, capacity 21178K, committed 21296K, reserved 1069056K
+  class space    used 2347K, capacity 2505K, committed 2560K, reserved 1048576K
+Event: 4.468 GC heap after
+Heap after GC invocations=8 (full 1):
+ PSYoungGen      total 145408K, used 0K [0x00000000d6180000, 0x00000000e8880000, 0x0000000100000000)
+  eden space 131072K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de180000)
+  from space 14336K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000def80000)
+  to   space 19968K, 0% used [0x00000000e7500000,0x00000000e7500000,0x00000000e8880000)
+ ParOldGen       total 91648K, used 31042K [0x0000000082400000, 0x0000000087d80000, 0x00000000d6180000)
+  object space 91648K, 33% used [0x0000000082400000,0x0000000084250808,0x0000000087d80000)
+ Metaspace       used 20600K, capacity 21178K, committed 21296K, reserved 1069056K
+  class space    used 2347K, capacity 2505K, committed 2560K, reserved 1048576K
+}
+Event: 5.691 GC heap before
+{Heap before GC invocations=9 (full 1):
+ PSYoungGen      total 145408K, used 131072K [0x00000000d6180000, 0x00000000e8880000, 0x0000000100000000)
+  eden space 131072K, 100% used [0x00000000d6180000,0x00000000de180000,0x00000000de180000)
+  from space 14336K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000def80000)
+  to   space 19968K, 0% used [0x00000000e7500000,0x00000000e7500000,0x00000000e8880000)
+ ParOldGen       total 91648K, used 31042K [0x0000000082400000, 0x0000000087d80000, 0x00000000d6180000)
+  object space 91648K, 33% used [0x0000000082400000,0x0000000084250808,0x0000000087d80000)
+ Metaspace       used 21306K, capacity 21894K, committed 22192K, reserved 1069056K
+  class space    used 2408K, capacity 2571K, committed 2688K, reserved 1048576K
+Event: 5.697 GC heap after
+Heap after GC invocations=9 (full 1):
+ PSYoungGen      total 195584K, used 7456K [0x00000000d6180000, 0x00000000e7c80000, 0x0000000100000000)
+  eden space 187904K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000e1900000)
+  from space 7680K, 97% used [0x00000000e7500000,0x00000000e7c48010,0x00000000e7c80000)
+  to   space 19456K, 0% used [0x00000000e5680000,0x00000000e5680000,0x00000000e6980000)
+ ParOldGen       total 91648K, used 31050K [0x0000000082400000, 0x0000000087d80000, 0x00000000d6180000)
+  object space 91648K, 33% used [0x0000000082400000,0x0000000084252808,0x0000000087d80000)
+ Metaspace       used 21306K, capacity 21894K, committed 22192K, reserved 1069056K
+  class space    used 2408K, capacity 2571K, committed 2688K, reserved 1048576K
+}
+Event: 6.807 GC heap before
+{Heap before GC invocations=10 (full 1):
+ PSYoungGen      total 195584K, used 195360K [0x00000000d6180000, 0x00000000e7c80000, 0x0000000100000000)
+  eden space 187904K, 100% used [0x00000000d6180000,0x00000000e1900000,0x00000000e1900000)
+  from space 7680K, 97% used [0x00000000e7500000,0x00000000e7c48010,0x00000000e7c80000)
+  to   space 19456K, 0% used [0x00000000e5680000,0x00000000e5680000,0x00000000e6980000)
+ ParOldGen       total 91648K, used 31050K [0x0000000082400000, 0x0000000087d80000, 0x00000000d6180000)
+  object space 91648K, 33% used [0x0000000082400000,0x0000000084252808,0x0000000087d80000)
+ Metaspace       used 21416K, capacity 22086K, committed 22448K, reserved 1069056K
+  class space    used 2414K, capacity 2571K, committed 2688K, reserved 1048576K
+Event: 6.817 GC heap after
+Heap after GC invocations=10 (full 1):
+ PSYoungGen      total 244736K, used 10544K [0x00000000d6180000, 0x00000000e7580000, 0x0000000100000000)
+  eden space 233984K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000e4600000)
+  from space 10752K, 98% used [0x00000000e5680000,0x00000000e60cc020,0x00000000e6100000)
+  to   space 18432K, 0% used [0x00000000e6380000,0x00000000e6380000,0x00000000e7580000)
+ ParOldGen       total 91648K, used 31058K [0x0000000082400000, 0x0000000087d80000, 0x00000000d6180000)
+  object space 91648K, 33% used [0x0000000082400000,0x0000000084254808,0x0000000087d80000)
+ Metaspace       used 21416K, capacity 22086K, committed 22448K, reserved 1069056K
+  class space    used 2414K, capacity 2571K, committed 2688K, reserved 1048576K
+}
+Event: 7.318 GC heap before
+{Heap before GC invocations=11 (full 1):
+ PSYoungGen      total 244736K, used 244528K [0x00000000d6180000, 0x00000000e7580000, 0x0000000100000000)
+  eden space 233984K, 100% used [0x00000000d6180000,0x00000000e4600000,0x00000000e4600000)
+  from space 10752K, 98% used [0x00000000e5680000,0x00000000e60cc020,0x00000000e6100000)
+  to   space 18432K, 0% used [0x00000000e6380000,0x00000000e6380000,0x00000000e7580000)
+ ParOldGen       total 91648K, used 31058K [0x0000000082400000, 0x0000000087d80000, 0x00000000d6180000)
+  object space 91648K, 33% used [0x0000000082400000,0x0000000084254808,0x0000000087d80000)
+ Metaspace       used 21428K, capacity 22086K, committed 22448K, reserved 1069056K
+  class space    used 2414K, capacity 2571K, committed 2688K, reserved 1048576K
+Event: 7.327 GC heap after
+Heap after GC invocations=11 (full 1):
+ PSYoungGen      total 264704K, used 10160K [0x00000000d6180000, 0x00000000ea400000, 0x0000000100000000)
+  eden space 246272K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000e5200000)
+  from space 18432K, 55% used [0x00000000e6380000,0x00000000e6d6c020,0x00000000e7580000)
+  to   space 17920K, 0% used [0x00000000e5200000,0x00000000e5200000,0x00000000e6380000)
+ ParOldGen       total 91648K, used 31058K [0x0000000082400000, 0x0000000087d80000, 0x00000000d6180000)
+  object space 91648K, 33% used [0x0000000082400000,0x0000000084254808,0x0000000087d80000)
+ Metaspace       used 21428K, capacity 22086K, committed 22448K, reserved 1069056K
+  class space    used 2414K, capacity 2571K, committed 2688K, reserved 1048576K
+}
+
+Deoptimization events (10 events):
+Event: 5.926 Thread 0x00000000032f2800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000003feeb58 method=org.apache.maven.model.Plugin.clone()Lorg/apache/maven/model/Plugin; @ 94
+Event: 6.349 Thread 0x00000000032f2800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000003feeb58 method=org.apache.maven.model.Plugin.clone()Lorg/apache/maven/model/Plugin; @ 94
+Event: 6.639 Thread 0x00000000032f2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003970458 method=org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read()I @ 277
+Event: 6.639 Thread 0x00000000032f2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000035b4514 method=java.io.Reader.skip(J)J @ 37
+Event: 6.642 Thread 0x00000000032f2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003e88c10 method=java.lang.CharacterData.of(I)Ljava/lang/CharacterData; @ 4
+Event: 6.645 Thread 0x00000000032f2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000372b698 method=org.apache.maven.shared.filtering.BoundedReader.read()I @ 8
+Event: 6.647 Thread 0x00000000032f2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003e533ec method=sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; @ 166
+Event: 6.724 Thread 0x00000000032f2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003b08ec4 method=org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read()I @ 529
+Event: 6.973 Thread 0x00000000032f2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003ab5594 method=java.util.Hashtable.get(Ljava/lang/Object;)Ljava/lang/Object; @ 48
+Event: 6.973 Thread 0x00000000032f2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003a5546c method=java.util.Hashtable.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; @ 63
+
+Classes redefined (0 events):
+No events
+
+Internal exceptions (10 events):
+Event: 2.150 Thread 0x00000000032f2800 Implicit null exception at 0x0000000003b35108 to 0x0000000003b3563d
+Event: 2.152 Thread 0x00000000032f2800 Implicit null exception at 0x0000000003cd43b0 to 0x0000000003cd502d
+Event: 2.193 Thread 0x00000000032f2800 Implicit null exception at 0x0000000003d0eb77 to 0x0000000003d0edc1
+Event: 2.668 Thread 0x00000000032f2800 Implicit null exception at 0x00000000037dfd95 to 0x00000000037dff65
+Event: 3.084 Thread 0x00000000032f2800 Implicit null exception at 0x0000000003dfb9fd to 0x0000000003dfbe41
+Event: 3.697 Thread 0x00000000032f2800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000d824b1e0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 5.366 Thread 0x00000000032f2800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000dbb2ee80) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 5.653 Thread 0x00000000032f2800 Implicit null exception at 0x00000000043900cb to 0x0000000004394b6d
+Event: 5.921 Thread 0x00000000032f2800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000d7481680) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 6.346 Thread 0x00000000032f2800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000d9b4a498) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+
+Events (10 events):
+Event: 6.972 Thread 0x00000000032f2800 Uncommon trap: trap_request=0xffffff65 fr.pc=0x0000000003ab5594
+Event: 6.972 Executing VM operation: RevokeBias
+Event: 6.973 Executing VM operation: RevokeBias done
+Event: 6.973 Thread 0x00000000032f2800 DEOPT PACKING pc=0x0000000003ab5594 sp=0x00000000031edc60
+Event: 6.973 Thread 0x00000000032f2800 DEOPT UNPACKING pc=0x000000000343583b sp=0x00000000031edc08 mode 2
+Event: 6.973 Thread 0x00000000032f2800 Uncommon trap: trap_request=0xffffff65 fr.pc=0x0000000003a5546c
+Event: 6.973 Thread 0x00000000032f2800 DEOPT PACKING pc=0x0000000003a5546c sp=0x00000000031edc20
+Event: 6.973 Thread 0x00000000032f2800 DEOPT UNPACKING pc=0x000000000343583b sp=0x00000000031edbf8 mode 2
+Event: 7.318 Executing VM operation: ParallelGCFailedAllocation
+Event: 7.327 Executing VM operation: ParallelGCFailedAllocation done
+
+
+Dynamic libraries:
+0x00007ff64e620000 - 0x00007ff64e657000 	C:\Program Files\Java\jdk1.8.0_181\bin\java.exe
+0x00007ffec2c50000 - 0x00007ffec2e45000 	C:\WINDOWS\SYSTEM32\ntdll.dll
+0x00007ffec0ca0000 - 0x00007ffec0d5e000 	C:\WINDOWS\System32\KERNEL32.DLL
+0x00007ffec0370000 - 0x00007ffec0638000 	C:\WINDOWS\System32\KERNELBASE.dll
+0x00007ffec21a0000 - 0x00007ffec224c000 	C:\WINDOWS\System32\ADVAPI32.dll
+0x00007ffec1ff0000 - 0x00007ffec208e000 	C:\WINDOWS\System32\msvcrt.dll
+0x00007ffec24d0000 - 0x00007ffec256b000 	C:\WINDOWS\System32\sechost.dll
+0x00007ffec2a50000 - 0x00007ffec2b7a000 	C:\WINDOWS\System32\RPCRT4.dll
+0x00007ffec10b0000 - 0x00007ffec1251000 	C:\WINDOWS\System32\USER32.dll
+0x00007ffec08d0000 - 0x00007ffec08f2000 	C:\WINDOWS\System32\win32u.dll
+0x00007ffec0f30000 - 0x00007ffec0f5b000 	C:\WINDOWS\System32\GDI32.dll
+0x00007ffec0b90000 - 0x00007ffec0c9b000 	C:\WINDOWS\System32\gdi32full.dll
+0x00007ffec0830000 - 0x00007ffec08cd000 	C:\WINDOWS\System32\msvcp_win.dll
+0x00007ffec0730000 - 0x00007ffec0830000 	C:\WINDOWS\System32\ucrtbase.dll
+0x00007ffeab420000 - 0x00007ffeab6ba000 	C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
+0x00007ffec2090000 - 0x00007ffec20c0000 	C:\WINDOWS\System32\IMM32.DLL
+0x000000005f2a0000 - 0x000000005f372000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\msvcr100.dll
+0x000000005e9f0000 - 0x000000005f292000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\server\jvm.dll
+0x00007ffec17f0000 - 0x00007ffec17f8000 	C:\WINDOWS\System32\PSAPI.DLL
+0x00007ffeabfd0000 - 0x00007ffeabff7000 	C:\WINDOWS\SYSTEM32\WINMM.dll
+0x00007ffeaafb0000 - 0x00007ffeaafb9000 	C:\WINDOWS\SYSTEM32\WSOCK32.dll
+0x00007ffeb8be0000 - 0x00007ffeb8bea000 	C:\WINDOWS\SYSTEM32\VERSION.dll
+0x00007ffec2250000 - 0x00007ffec22bb000 	C:\WINDOWS\System32\WS2_32.dll
+0x000000005e9e0000 - 0x000000005e9ef000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\verify.dll
+0x000000005e9b0000 - 0x000000005e9d9000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\java.dll
+0x000000005dba0000 - 0x000000005dbc3000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\instrument.dll
+0x000000005e990000 - 0x000000005e9a6000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\zip.dll
+0x00007ffec1800000 - 0x00007ffec1f3f000 	C:\WINDOWS\System32\SHELL32.dll
+0x00007ffebe450000 - 0x00007ffebebe0000 	C:\WINDOWS\SYSTEM32\windows.storage.dll
+0x00007ffec12e0000 - 0x00007ffec1635000 	C:\WINDOWS\System32\combase.dll
+0x00007ffebfdc0000 - 0x00007ffebfdee000 	C:\WINDOWS\SYSTEM32\Wldp.dll
+0x00007ffec0e80000 - 0x00007ffec0f2d000 	C:\WINDOWS\System32\SHCORE.dll
+0x00007ffec1050000 - 0x00007ffec10a5000 	C:\WINDOWS\System32\shlwapi.dll
+0x00007ffec02b0000 - 0x00007ffec02cf000 	C:\WINDOWS\SYSTEM32\profapi.dll
+0x00007ffeb6b60000 - 0x00007ffeb6b7a000 	C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin\breakgen64.dll
+0x000000005e970000 - 0x000000005e98a000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\net.dll
+0x00007ffebfb20000 - 0x00007ffebfb8a000 	C:\WINDOWS\system32\mswsock.dll
+0x00007ffebfd10000 - 0x00007ffebfd28000 	C:\WINDOWS\SYSTEM32\CRYPTSP.dll
+0x00007ffebf430000 - 0x00007ffebf464000 	C:\WINDOWS\system32\rsaenh.dll
+0x00007ffec0a60000 - 0x00007ffec0a87000 	C:\WINDOWS\System32\bcrypt.dll
+0x00007ffec0230000 - 0x00007ffec025e000 	C:\WINDOWS\SYSTEM32\USERENV.dll
+0x00007ffec06a0000 - 0x00007ffec0723000 	C:\WINDOWS\System32\bcryptprimitives.dll
+0x00007ffebfd30000 - 0x00007ffebfd3c000 	C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
+0x00007ffebf7c0000 - 0x00007ffebf7fb000 	C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
+0x00007ffec20c0000 - 0x00007ffec20c8000 	C:\WINDOWS\System32\NSI.dll
+0x00007ffeb6fc0000 - 0x00007ffeb6fd7000 	C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
+0x00007ffeb7a00000 - 0x00007ffeb7a1d000 	C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
+0x00007ffebf800000 - 0x00007ffebf8cb000 	C:\WINDOWS\SYSTEM32\DNSAPI.dll
+0x000000005e950000 - 0x000000005e961000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\nio.dll
+0x00007ffeb8a00000 - 0x00007ffeb8a0a000 	C:\Users\LZP\AppData\Local\Temp\jansi-1.17.1-7549649761371953355.dll
+0x00007ffeb8680000 - 0x00007ffeb868a000 	C:\Users\LZP\AppData\Local\Temp\jansi-1.17.1-1616990010643269424.dll
+0x000000005db90000 - 0x000000005db9d000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\management.dll
+0x00007ffea74d0000 - 0x00007ffea74e7000 	C:\WINDOWS\system32\napinsp.dll
+0x00007ffea74b0000 - 0x00007ffea74cb000 	C:\WINDOWS\system32\pnrpnsp.dll
+0x00007ffeb9f60000 - 0x00007ffeb9f75000 	C:\WINDOWS\system32\wshbth.dll
+0x00007ffeb7f50000 - 0x00007ffeb7f6d000 	C:\WINDOWS\system32\NLAapi.dll
+0x00007ffea6ce0000 - 0x00007ffea6cf2000 	C:\WINDOWS\System32\winrnr.dll
+0x00007ffeb5090000 - 0x00007ffeb509a000 	C:\Windows\System32\rasadhlp.dll
+0x00007ffeb5180000 - 0x00007ffeb51ff000 	C:\WINDOWS\System32\fwpuclnt.dll
+
+VM Arguments:
+jvm_args: -Dmaven.multiModuleProjectDirectory=D:\porject\GEKE_SERVICE -Dmaven.home=D:\apache-maven-3.6.3\apache-maven-3.6.3 -Dclassworlds.conf=D:\apache-maven-3.6.3\apache-maven-3.6.3\bin\m2.conf -Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\plugins\maven\lib\maven-event-listener.jar -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=61227:C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin -Dfile.encoding=UTF-8 
+java_command: org.codehaus.classworlds.Launcher -Didea.version=2021.1.3 -s D:\apache-maven-3.6.3\apache-maven-3.6.3\conf\settings.xml -Dmaven.repo.local=D:\repository\maven-repository package
+java_class_path (initial): D:\apache-maven-3.6.3\apache-maven-3.6.3\boot\plexus-classworlds-2.6.0.jar;D:\apache-maven-3.6.3\apache-maven-3.6.3\boot\plexus-classworlds.license;C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
+CLASSPATH=.;C:\Program Files\Java\jdk1.8.0_181\lib;C:\Program Files\Java\jdk1.8.0_181\lib\tools.jar
+PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Java\jdk1.8.0_181\bin;C:\Program Files\Java\jdk1.8.0_181\jre\bin;D:\apache-maven-3.6.3\apache-maven-3.6.3\bin;%CATALINA_HOME%\bin;C:\Program Files\Git\cmd;D:\node\;C:\Program Files\TortoiseGit\bin;C:\Users\LZP\AppData\Local\Microsoft\WindowsApps;C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin;;D:\node\node_global;
+USERNAME=LZP
+OS=Windows_NT
+PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 10, GenuineIntel
+
+
+
+---------------  S Y S T E M  ---------------
+
+OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1348)
+
+CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
+
+Memory: 4k page, physical 8234996k(430124k free), swap 21342192k(4044k free)
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (25.181-b13) for windows-amd64 JRE (1.8.0_181-b13), built on Jul  7 2018 04:01:33 by "java_re" with MS VC++ 10.0 (VS2010)
+
+time: Wed Dec 01 10:56:09 2021
+elapsed time: 7 seconds (0d 0h 0m 7s)
+

+ 333 - 0
hs_err_pid24800.log

@@ -0,0 +1,333 @@
+#
+# There is insufficient memory for the Java Runtime Environment to continue.
+# Native memory allocation (malloc) failed to allocate 2502096 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=24800, tid=0x0000000000003ed0
+#
+# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 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 (0x000000001a525800):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=16080, stack(0x000000001adc0000,0x000000001aec0000)]
+
+Stack: [0x000000001adc0000,0x000000001aec0000]
+[error occurred during error reporting (printing stack bounds), id 0xc0000005]
+
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+
+
+Current CompileTask:
+C2:   9081 4854   !   4       org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector::processDependency (628 bytes)
+
+
+---------------  P R O C E S S  ---------------
+
+Java Threads: ( => current thread )
+  0x000000001a5c5000 JavaThread "Service Thread" daemon [_thread_blocked, id=40952, stack(0x000000001b0c0000,0x000000001b1c0000)]
+  0x000000001a52e800 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=26492, stack(0x000000001afc0000,0x000000001b0c0000)]
+  0x000000001a52a000 JavaThread "C2 CompilerThread2" daemon [_thread_in_native, id=36736, stack(0x000000001aec0000,0x000000001afc0000)]
+=>0x000000001a525800 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=16080, stack(0x000000001adc0000,0x000000001aec0000)]
+  0x000000001a525000 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=2580, stack(0x000000001acc0000,0x000000001adc0000)]
+  0x000000001a50b000 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=40688, stack(0x000000001abc0000,0x000000001acc0000)]
+  0x000000001a4ed800 JavaThread "Attach Listener" daemon [_thread_blocked, id=16808, stack(0x000000001aac0000,0x000000001abc0000)]
+  0x000000001a49a000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=32940, stack(0x000000001a9c0000,0x000000001aac0000)]
+  0x0000000003689800 JavaThread "Finalizer" daemon [_thread_blocked, id=26880, stack(0x000000001a860000,0x000000001a960000)]
+  0x0000000003688000 JavaThread "Reference Handler" daemon [_thread_blocked, id=31372, stack(0x000000001a360000,0x000000001a460000)]
+  0x0000000003592800 JavaThread "main" [_thread_in_native, id=33380, stack(0x0000000003350000,0x0000000003450000)]
+
+Other Threads:
+  0x0000000018599800 VMThread [stack: 0x000000001a260000,0x000000001a360000] [id=24092]
+  0x000000001a5ea000 WatcherThread [stack: 0x000000001b1c0000,0x000000001b2c0000] [id=23636]
+
+VM state:not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Heap:
+ PSYoungGen      total 192000K, used 6768K [0x00000000d6180000, 0x00000000e3680000, 0x0000000100000000)
+  eden space 171520K, 3% used [0x00000000d6180000,0x00000000d67fc070,0x00000000e0900000)
+  from space 20480K, 0% used [0x00000000e0900000,0x00000000e0920020,0x00000000e1d00000)
+  to   space 20480K, 0% used [0x00000000e1d00000,0x00000000e1d00000,0x00000000e3100000)
+ ParOldGen       total 77824K, used 41718K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 53% used [0x0000000082400000,0x0000000084cbd8e8,0x0000000087000000)
+ Metaspace       used 21659K, capacity 22270K, committed 22400K, reserved 1069056K
+  class space    used 2435K, capacity 2611K, committed 2688K, reserved 1048576K
+
+Card table byte_map: [0x0000000012a50000,0x0000000012e40000] byte_map_base: 0x000000001263e000
+
+Marking Bits: (ParMarkBitMap*) 0x000000005f212d00
+ Begin Bits: [0x00000000138e0000, 0x0000000015850000)
+ End Bits:   [0x0000000015850000, 0x00000000177c0000)
+
+Polling page: 0x0000000002f40000
+
+CodeCache: size=245760Kb used=16326Kb max_used=16361Kb free=229433Kb
+ bounds [0x0000000003690000, 0x00000000046a0000, 0x0000000012690000]
+ total_blobs=4698 nmethods=4286 adapters=324
+ compilation: enabled
+
+Compilation events (10 events):
+Event: 9.008 Thread 0x000000001a52e800 4937  s    3       java.util.Hashtable::get (69 bytes)
+Event: 9.009 Thread 0x000000001a52e800 nmethod 4937 0x0000000004685810 code [0x00000000046859a0, 0x0000000004685fd8]
+Event: 9.009 Thread 0x000000001a525000 nmethod 4936 0x0000000004686250 code [0x00000000046863a0, 0x0000000004686578]
+Event: 9.011 Thread 0x000000001a525000 4938       4       org.codehaus.plexus.interpolation.AbstractDelegatingValueSource::getValue (11 bytes)
+Event: 9.022 Thread 0x000000001a52e800 4940       3       org.codehaus.plexus.interpolation.reflection.ClassMap::makeMethodKey (239 bytes)
+Event: 9.024 Thread 0x000000001a52e800 nmethod 4940 0x00000000046867d0 code [0x0000000004686b60, 0x0000000004688fd8]
+Event: 9.042 Thread 0x000000001a52a000 nmethod 4913 0x0000000004692090 code [0x00000000046924a0, 0x0000000004698f30]
+Event: 9.042 Thread 0x000000001a52a000 4943  s    4       java.util.Hashtable::get (69 bytes)
+Event: 9.047 Thread 0x000000001a52a000 nmethod 4943 0x0000000004683290 code [0x00000000046833e0, 0x0000000004683998]
+Event: 9.047 Thread 0x000000001a52a000 4941       4       org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator::interpolate (712 bytes)
+
+GC Heap History (10 events):
+Event: 5.383 GC heap before
+{Heap before GC invocations=8 (full 1):
+ PSYoungGen      total 144896K, used 14819K [0x00000000d6180000, 0x00000000dfe80000, 0x0000000100000000)
+  eden space 130048K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de080000)
+  from space 14848K, 99% used [0x00000000de080000,0x00000000deef8ef0,0x00000000def00000)
+  to   space 13824K, 0% used [0x00000000def00000,0x00000000def00000,0x00000000dfc80000)
+ ParOldGen       total 86016K, used 18430K [0x0000000082400000, 0x0000000087800000, 0x00000000d6180000)
+  object space 86016K, 21% used [0x0000000082400000,0x00000000835ffa78,0x0000000087800000)
+ Metaspace       used 20589K, capacity 21190K, committed 21248K, reserved 1069056K
+  class space    used 2354K, capacity 2511K, committed 2560K, reserved 1048576K
+Event: 5.459 GC heap after
+Heap after GC invocations=8 (full 1):
+ PSYoungGen      total 144896K, used 0K [0x00000000d6180000, 0x00000000dfe80000, 0x0000000100000000)
+  eden space 130048K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de080000)
+  from space 14848K, 0% used [0x00000000de080000,0x00000000de080000,0x00000000def00000)
+  to   space 13824K, 0% used [0x00000000def00000,0x00000000def00000,0x00000000dfc80000)
+ ParOldGen       total 77824K, used 24230K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 31% used [0x0000000082400000,0x0000000083ba98d8,0x0000000087000000)
+ Metaspace       used 20589K, capacity 21190K, committed 21248K, reserved 1069056K
+  class space    used 2354K, capacity 2511K, committed 2560K, reserved 1048576K
+}
+Event: 7.022 GC heap before
+{Heap before GC invocations=9 (full 1):
+ PSYoungGen      total 144896K, used 130048K [0x00000000d6180000, 0x00000000dfe80000, 0x0000000100000000)
+  eden space 130048K, 100% used [0x00000000d6180000,0x00000000de080000,0x00000000de080000)
+  from space 14848K, 0% used [0x00000000de080000,0x00000000de080000,0x00000000def00000)
+  to   space 13824K, 0% used [0x00000000def00000,0x00000000def00000,0x00000000dfc80000)
+ ParOldGen       total 77824K, used 24230K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 31% used [0x0000000082400000,0x0000000083ba98d8,0x0000000087000000)
+ Metaspace       used 20982K, capacity 21650K, committed 21888K, reserved 1069056K
+  class space    used 2380K, capacity 2577K, committed 2688K, reserved 1048576K
+Event: 7.035 GC heap after
+Heap after GC invocations=9 (full 1):
+ PSYoungGen      total 143872K, used 12839K [0x00000000d6180000, 0x00000000dfe80000, 0x0000000100000000)
+  eden space 130048K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de080000)
+  from space 13824K, 92% used [0x00000000def00000,0x00000000dfb89e48,0x00000000dfc80000)
+  to   space 14848K, 0% used [0x00000000de080000,0x00000000de080000,0x00000000def00000)
+ ParOldGen       total 77824K, used 24238K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 31% used [0x0000000082400000,0x0000000083bab8d8,0x0000000087000000)
+ Metaspace       used 20982K, capacity 21650K, committed 21888K, reserved 1069056K
+  class space    used 2380K, capacity 2577K, committed 2688K, reserved 1048576K
+}
+Event: 8.499 GC heap before
+{Heap before GC invocations=10 (full 1):
+ PSYoungGen      total 143872K, used 142887K [0x00000000d6180000, 0x00000000dfe80000, 0x0000000100000000)
+  eden space 130048K, 100% used [0x00000000d6180000,0x00000000de080000,0x00000000de080000)
+  from space 13824K, 92% used [0x00000000def00000,0x00000000dfb89e48,0x00000000dfc80000)
+  to   space 14848K, 0% used [0x00000000de080000,0x00000000de080000,0x00000000def00000)
+ ParOldGen       total 77824K, used 24238K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 31% used [0x0000000082400000,0x0000000083bab8d8,0x0000000087000000)
+ Metaspace       used 21585K, capacity 22206K, committed 22400K, reserved 1069056K
+  class space    used 2430K, capacity 2611K, committed 2688K, reserved 1048576K
+Event: 8.510 GC heap after
+Heap after GC invocations=10 (full 1):
+ PSYoungGen      total 144896K, used 14816K [0x00000000d6180000, 0x00000000e3100000, 0x0000000100000000)
+  eden space 130048K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de080000)
+  from space 14848K, 99% used [0x00000000de080000,0x00000000deef8010,0x00000000def00000)
+  to   space 20480K, 0% used [0x00000000e1d00000,0x00000000e1d00000,0x00000000e3100000)
+ ParOldGen       total 77824K, used 27326K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 35% used [0x0000000082400000,0x0000000083eaf9f8,0x0000000087000000)
+ Metaspace       used 21585K, capacity 22206K, committed 22400K, reserved 1069056K
+  class space    used 2430K, capacity 2611K, committed 2688K, reserved 1048576K
+}
+Event: 8.802 GC heap before
+{Heap before GC invocations=11 (full 1):
+ PSYoungGen      total 144896K, used 144864K [0x00000000d6180000, 0x00000000e3100000, 0x0000000100000000)
+  eden space 130048K, 100% used [0x00000000d6180000,0x00000000de080000,0x00000000de080000)
+  from space 14848K, 99% used [0x00000000de080000,0x00000000deef8010,0x00000000def00000)
+  to   space 20480K, 0% used [0x00000000e1d00000,0x00000000e1d00000,0x00000000e3100000)
+ ParOldGen       total 77824K, used 27326K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 35% used [0x0000000082400000,0x0000000083eaf9f8,0x0000000087000000)
+ Metaspace       used 21643K, capacity 22270K, committed 22400K, reserved 1069056K
+  class space    used 2435K, capacity 2611K, committed 2688K, reserved 1048576K
+Event: 8.813 GC heap after
+Heap after GC invocations=11 (full 1):
+ PSYoungGen      total 192000K, used 4192K [0x00000000d6180000, 0x00000000e3680000, 0x0000000100000000)
+  eden space 171520K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000e0900000)
+  from space 20480K, 20% used [0x00000000e1d00000,0x00000000e2118020,0x00000000e3100000)
+  to   space 20480K, 0% used [0x00000000e0900000,0x00000000e0900000,0x00000000e1d00000)
+ ParOldGen       total 77824K, used 37735K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 48% used [0x0000000082400000,0x00000000848d9f28,0x0000000087000000)
+ Metaspace       used 21643K, capacity 22270K, committed 22400K, reserved 1069056K
+  class space    used 2435K, capacity 2611K, committed 2688K, reserved 1048576K
+}
+Event: 9.017 GC heap before
+{Heap before GC invocations=12 (full 1):
+ PSYoungGen      total 192000K, used 175712K [0x00000000d6180000, 0x00000000e3680000, 0x0000000100000000)
+  eden space 171520K, 100% used [0x00000000d6180000,0x00000000e0900000,0x00000000e0900000)
+  from space 20480K, 20% used [0x00000000e1d00000,0x00000000e2118020,0x00000000e3100000)
+  to   space 20480K, 0% used [0x00000000e0900000,0x00000000e0900000,0x00000000e1d00000)
+ ParOldGen       total 77824K, used 37735K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 48% used [0x0000000082400000,0x00000000848d9f28,0x0000000087000000)
+ Metaspace       used 21658K, capacity 22270K, committed 22400K, reserved 1069056K
+  class space    used 2435K, capacity 2611K, committed 2688K, reserved 1048576K
+Event: 9.021 GC heap after
+Heap after GC invocations=12 (full 1):
+ PSYoungGen      total 192000K, used 128K [0x00000000d6180000, 0x00000000e3680000, 0x0000000100000000)
+  eden space 171520K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000e0900000)
+  from space 20480K, 0% used [0x00000000e0900000,0x00000000e0920020,0x00000000e1d00000)
+  to   space 20480K, 0% used [0x00000000e1d00000,0x00000000e1d00000,0x00000000e3100000)
+ ParOldGen       total 77824K, used 41718K [0x0000000082400000, 0x0000000087000000, 0x00000000d6180000)
+  object space 77824K, 53% used [0x0000000082400000,0x0000000084cbd8e8,0x0000000087000000)
+ Metaspace       used 21658K, capacity 22270K, committed 22400K, reserved 1069056K
+  class space    used 2435K, capacity 2611K, committed 2688K, reserved 1048576K
+}
+
+Deoptimization events (10 events):
+Event: 7.901 Thread 0x0000000003592800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000458cd3c method=org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(Lorg/apache/maven/model/Exclusion;)V @ 17
+Event: 8.278 Thread 0x0000000003592800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000003bc17e4 method=org.eclipse.sisu.inject.Implementations.find(Lcom/google/inject/Binding;)Ljava/lang/Class; @ 4
+Event: 8.278 Thread 0x0000000003592800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000042e9670 method=org.apache.maven.model.Plugin.clone()Lorg/apache/maven/model/Plugin; @ 94
+Event: 8.635 Thread 0x0000000003592800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003851ca8 method=org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read()I @ 277
+Event: 8.635 Thread 0x0000000003592800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000044d6d94 method=java.io.Reader.skip(J)J @ 37
+Event: 8.640 Thread 0x0000000003592800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000037c1ac0 method=java.lang.CharacterData.of(I)Ljava/lang/CharacterData; @ 4
+Event: 8.642 Thread 0x0000000003592800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000384fad8 method=org.apache.maven.shared.filtering.BoundedReader.read()I @ 8
+Event: 8.645 Thread 0x0000000003592800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003d03f60 method=sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; @ 166
+Event: 8.842 Thread 0x0000000003592800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004665954 method=org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read()I @ 529
+Event: 9.008 Thread 0x0000000003592800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003d3f3d4 method=java.util.Hashtable.get(Ljava/lang/Object;)Ljava/lang/Object; @ 48
+
+Classes redefined (0 events):
+No events
+
+Internal exceptions (10 events):
+Event: 2.210 Thread 0x0000000003592800 Implicit null exception at 0x0000000003e80605 to 0x0000000003e80b3d
+Event: 2.212 Thread 0x0000000003592800 Implicit null exception at 0x0000000003f439d0 to 0x0000000003f4473d
+Event: 2.348 Thread 0x0000000003592800 Implicit null exception at 0x0000000003fb8077 to 0x0000000003fb82c1
+Event: 3.564 Thread 0x0000000003592800 Implicit null exception at 0x0000000003a55055 to 0x0000000003a55225
+Event: 3.564 Thread 0x0000000003592800 Implicit null exception at 0x0000000003aa03af to 0x0000000003aa0419
+Event: 5.064 Thread 0x0000000003592800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000d8bf3c18) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 7.155 Thread 0x0000000003592800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000d73a7208) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 7.510 Thread 0x0000000003592800 Implicit null exception at 0x0000000003f987eb to 0x0000000003f9d0c9
+Event: 7.789 Thread 0x0000000003592800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000dab7f418) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 8.274 Thread 0x0000000003592800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000dd2d4b48) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+
+Events (10 events):
+Event: 8.842 Thread 0x0000000003592800 Uncommon trap: trap_request=0xffffff65 fr.pc=0x0000000004665954
+Event: 8.842 Thread 0x0000000003592800 DEOPT PACKING pc=0x0000000004665954 sp=0x000000000344e130
+Event: 8.842 Thread 0x0000000003592800 DEOPT UNPACKING pc=0x00000000036d583b sp=0x000000000344e128 mode 2
+Event: 9.008 Thread 0x0000000003592800 Uncommon trap: trap_request=0xffffff65 fr.pc=0x0000000003d3f3d4
+Event: 9.008 Executing VM operation: RevokeBias
+Event: 9.008 Executing VM operation: RevokeBias done
+Event: 9.008 Thread 0x0000000003592800 DEOPT PACKING pc=0x0000000003d3f3d4 sp=0x000000000344da90
+Event: 9.008 Thread 0x0000000003592800 DEOPT UNPACKING pc=0x00000000036d583b sp=0x000000000344da38 mode 2
+Event: 9.017 Executing VM operation: ParallelGCFailedAllocation
+Event: 9.022 Executing VM operation: ParallelGCFailedAllocation done
+
+
+Dynamic libraries:
+0x00007ff64e620000 - 0x00007ff64e657000 	C:\Program Files\Java\jdk1.8.0_181\bin\java.exe
+0x00007ffec2c50000 - 0x00007ffec2e45000 	C:\WINDOWS\SYSTEM32\ntdll.dll
+0x00007ffec0ca0000 - 0x00007ffec0d5e000 	C:\WINDOWS\System32\KERNEL32.DLL
+0x00007ffec0370000 - 0x00007ffec0638000 	C:\WINDOWS\System32\KERNELBASE.dll
+0x00007ffec21a0000 - 0x00007ffec224c000 	C:\WINDOWS\System32\ADVAPI32.dll
+0x00007ffec1ff0000 - 0x00007ffec208e000 	C:\WINDOWS\System32\msvcrt.dll
+0x00007ffec24d0000 - 0x00007ffec256b000 	C:\WINDOWS\System32\sechost.dll
+0x00007ffec2a50000 - 0x00007ffec2b7a000 	C:\WINDOWS\System32\RPCRT4.dll
+0x00007ffec10b0000 - 0x00007ffec1251000 	C:\WINDOWS\System32\USER32.dll
+0x00007ffec08d0000 - 0x00007ffec08f2000 	C:\WINDOWS\System32\win32u.dll
+0x00007ffec0f30000 - 0x00007ffec0f5b000 	C:\WINDOWS\System32\GDI32.dll
+0x00007ffec0b90000 - 0x00007ffec0c9b000 	C:\WINDOWS\System32\gdi32full.dll
+0x00007ffec0830000 - 0x00007ffec08cd000 	C:\WINDOWS\System32\msvcp_win.dll
+0x00007ffec0730000 - 0x00007ffec0830000 	C:\WINDOWS\System32\ucrtbase.dll
+0x00007ffeab420000 - 0x00007ffeab6ba000 	C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
+0x00007ffec2090000 - 0x00007ffec20c0000 	C:\WINDOWS\System32\IMM32.DLL
+0x000000005f2a0000 - 0x000000005f372000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\msvcr100.dll
+0x000000005e9f0000 - 0x000000005f292000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\server\jvm.dll
+0x00007ffec17f0000 - 0x00007ffec17f8000 	C:\WINDOWS\System32\PSAPI.DLL
+0x00007ffeabfd0000 - 0x00007ffeabff7000 	C:\WINDOWS\SYSTEM32\WINMM.dll
+0x00007ffeb8be0000 - 0x00007ffeb8bea000 	C:\WINDOWS\SYSTEM32\VERSION.dll
+0x00007ffeaafb0000 - 0x00007ffeaafb9000 	C:\WINDOWS\SYSTEM32\WSOCK32.dll
+0x00007ffec2250000 - 0x00007ffec22bb000 	C:\WINDOWS\System32\WS2_32.dll
+0x000000005e9e0000 - 0x000000005e9ef000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\verify.dll
+0x000000005e9b0000 - 0x000000005e9d9000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\java.dll
+0x000000005dba0000 - 0x000000005dbc3000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\instrument.dll
+0x000000005e990000 - 0x000000005e9a6000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\zip.dll
+0x00007ffec1800000 - 0x00007ffec1f3f000 	C:\WINDOWS\System32\SHELL32.dll
+0x00007ffebe450000 - 0x00007ffebebe0000 	C:\WINDOWS\SYSTEM32\windows.storage.dll
+0x00007ffec12e0000 - 0x00007ffec1635000 	C:\WINDOWS\System32\combase.dll
+0x00007ffebfdc0000 - 0x00007ffebfdee000 	C:\WINDOWS\SYSTEM32\Wldp.dll
+0x00007ffec0e80000 - 0x00007ffec0f2d000 	C:\WINDOWS\System32\SHCORE.dll
+0x00007ffec1050000 - 0x00007ffec10a5000 	C:\WINDOWS\System32\shlwapi.dll
+0x00007ffec02b0000 - 0x00007ffec02cf000 	C:\WINDOWS\SYSTEM32\profapi.dll
+0x00007ffeb86b0000 - 0x00007ffeb86ca000 	C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin\breakgen64.dll
+0x000000005e970000 - 0x000000005e98a000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\net.dll
+0x00007ffebfb20000 - 0x00007ffebfb8a000 	C:\WINDOWS\system32\mswsock.dll
+0x00007ffebfd10000 - 0x00007ffebfd28000 	C:\WINDOWS\SYSTEM32\CRYPTSP.dll
+0x00007ffebf430000 - 0x00007ffebf464000 	C:\WINDOWS\system32\rsaenh.dll
+0x00007ffec0a60000 - 0x00007ffec0a87000 	C:\WINDOWS\System32\bcrypt.dll
+0x00007ffec0230000 - 0x00007ffec025e000 	C:\WINDOWS\SYSTEM32\USERENV.dll
+0x00007ffec06a0000 - 0x00007ffec0723000 	C:\WINDOWS\System32\bcryptprimitives.dll
+0x00007ffebfd30000 - 0x00007ffebfd3c000 	C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
+0x00007ffebf7c0000 - 0x00007ffebf7fb000 	C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
+0x00007ffec20c0000 - 0x00007ffec20c8000 	C:\WINDOWS\System32\NSI.dll
+0x00007ffeb6fc0000 - 0x00007ffeb6fd7000 	C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
+0x00007ffeb7a00000 - 0x00007ffeb7a1d000 	C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
+0x00007ffebf800000 - 0x00007ffebf8cb000 	C:\WINDOWS\SYSTEM32\DNSAPI.dll
+0x000000005e950000 - 0x000000005e961000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\nio.dll
+0x00007ffeb8ba0000 - 0x00007ffeb8baa000 	C:\Users\LZP\AppData\Local\Temp\jansi-1.17.1-7703422372008016892.dll
+0x00007ffeb8a00000 - 0x00007ffeb8a0a000 	C:\Users\LZP\AppData\Local\Temp\jansi-1.17.1-8229462081711809090.dll
+0x000000005db90000 - 0x000000005db9d000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\management.dll
+0x00007ffea74d0000 - 0x00007ffea74e7000 	C:\WINDOWS\system32\napinsp.dll
+0x00007ffea74b0000 - 0x00007ffea74cb000 	C:\WINDOWS\system32\pnrpnsp.dll
+0x00007ffeb9f60000 - 0x00007ffeb9f75000 	C:\WINDOWS\system32\wshbth.dll
+0x00007ffeb7f50000 - 0x00007ffeb7f6d000 	C:\WINDOWS\system32\NLAapi.dll
+0x00007ffea6ce0000 - 0x00007ffea6cf2000 	C:\WINDOWS\System32\winrnr.dll
+0x00007ffeb5090000 - 0x00007ffeb509a000 	C:\Windows\System32\rasadhlp.dll
+0x00007ffeb5180000 - 0x00007ffeb51ff000 	C:\WINDOWS\System32\fwpuclnt.dll
+
+VM Arguments:
+jvm_args: -Dmaven.multiModuleProjectDirectory=D:\porject\GEKE_SERVICE -Dmaven.home=D:\apache-maven-3.6.3\apache-maven-3.6.3 -Dclassworlds.conf=D:\apache-maven-3.6.3\apache-maven-3.6.3\bin\m2.conf -Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\plugins\maven\lib\maven-event-listener.jar -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=57593:C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin -Dfile.encoding=UTF-8 
+java_command: org.codehaus.classworlds.Launcher -Didea.version=2021.1.3 -s D:\apache-maven-3.6.3\apache-maven-3.6.3\conf\settings.xml -Dmaven.repo.local=D:\repository\maven-repository install
+java_class_path (initial): D:\apache-maven-3.6.3\apache-maven-3.6.3\boot\plexus-classworlds-2.6.0.jar;D:\apache-maven-3.6.3\apache-maven-3.6.3\boot\plexus-classworlds.license;C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
+CLASSPATH=.;C:\Program Files\Java\jdk1.8.0_181\lib;C:\Program Files\Java\jdk1.8.0_181\lib\tools.jar
+PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Java\jdk1.8.0_181\bin;C:\Program Files\Java\jdk1.8.0_181\jre\bin;D:\apache-maven-3.6.3\apache-maven-3.6.3\bin;%CATALINA_HOME%\bin;C:\Program Files\Git\cmd;D:\node\;C:\Program Files\TortoiseGit\bin;C:\Users\LZP\AppData\Local\Microsoft\WindowsApps;C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin;;D:\node\node_global;
+USERNAME=LZP
+OS=Windows_NT
+PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 10, GenuineIntel
+
+
+
+---------------  S Y S T E M  ---------------
+
+OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1348)
+
+CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
+
+Memory: 4k page, physical 8234996k(460048k free), swap 21342192k(6504k free)
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (25.181-b13) for windows-amd64 JRE (1.8.0_181-b13), built on Jul  7 2018 04:01:33 by "java_re" with MS VC++ 10.0 (VS2010)
+
+time: Wed Dec 01 10:51:31 2021
+elapsed time: 9 seconds (0d 0h 0m 9s)
+

+ 333 - 0
hs_err_pid47936.log

@@ -0,0 +1,333 @@
+#
+# There is insufficient memory for the Java Runtime Environment to continue.
+# Native memory allocation (malloc) failed to allocate 65552 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=47936, tid=0x000000000000b728
+#
+# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 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 (0x000000001a3d4800):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=46888, stack(0x000000001ac10000,0x000000001ad10000)]
+
+Stack: [0x000000001ac10000,0x000000001ad10000]
+[error occurred during error reporting (printing stack bounds), id 0xc0000005]
+
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+
+
+Current CompileTask:
+C2:  14096 4948       4       org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator::interpolate (712 bytes)
+
+
+---------------  P R O C E S S  ---------------
+
+Java Threads: ( => current thread )
+  0x000000001a47d000 JavaThread "Service Thread" daemon [_thread_blocked, id=20804, stack(0x000000001af10000,0x000000001b010000)]
+  0x000000001a3dd800 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=11136, stack(0x000000001ae10000,0x000000001af10000)]
+  0x000000001a3d8800 JavaThread "C2 CompilerThread2" daemon [_thread_in_native, id=9888, stack(0x000000001ad10000,0x000000001ae10000)]
+=>0x000000001a3d4800 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=46888, stack(0x000000001ac10000,0x000000001ad10000)]
+  0x000000001a3d3800 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=30132, stack(0x000000001ab10000,0x000000001ac10000)]
+  0x000000001a3ba000 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=33964, stack(0x000000001aa10000,0x000000001ab10000)]
+  0x000000001a39c800 JavaThread "Attach Listener" daemon [_thread_blocked, id=33112, stack(0x000000001a910000,0x000000001aa10000)]
+  0x000000001a349000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=36076, stack(0x000000001a810000,0x000000001a910000)]
+  0x0000000003509800 JavaThread "Finalizer" daemon [_thread_blocked, id=40184, stack(0x000000001a710000,0x000000001a810000)]
+  0x0000000003508000 JavaThread "Reference Handler" daemon [_thread_blocked, id=19540, stack(0x000000001a210000,0x000000001a310000)]
+  0x0000000003412800 JavaThread "main" [_thread_in_native, id=40504, stack(0x00000000030c0000,0x00000000031c0000)]
+
+Other Threads:
+  0x0000000018419800 VMThread [stack: 0x000000001a110000,0x000000001a210000] [id=21976]
+  0x000000001a4b2000 WatcherThread [stack: 0x000000001b010000,0x000000001b110000] [id=13548]
+
+VM state:not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Heap:
+ PSYoungGen      total 144384K, used 123241K [0x00000000d6180000, 0x00000000e3300000, 0x0000000100000000)
+  eden space 131072K, 93% used [0x00000000d6180000,0x00000000dd9ba5d8,0x00000000de180000)
+  from space 13312K, 0% used [0x00000000de180000,0x00000000de1a0020,0x00000000dee80000)
+  to   space 18944K, 0% used [0x00000000e2080000,0x00000000e2080000,0x00000000e3300000)
+ ParOldGen       total 79360K, used 40917K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 51% used [0x0000000082400000,0x0000000084bf5770,0x0000000087180000)
+ Metaspace       used 21472K, capacity 22150K, committed 22400K, reserved 1069056K
+  class space    used 2415K, capacity 2571K, committed 2688K, reserved 1048576K
+
+Card table byte_map: [0x00000000128d0000,0x0000000012cc0000] byte_map_base: 0x00000000124be000
+
+Marking Bits: (ParMarkBitMap*) 0x000000005f212d00
+ Begin Bits: [0x0000000013760000, 0x00000000156d0000)
+ End Bits:   [0x00000000156d0000, 0x0000000017640000)
+
+Polling page: 0x0000000001590000
+
+CodeCache: size=245760Kb used=15180Kb max_used=16090Kb free=230579Kb
+ bounds [0x0000000003510000, 0x00000000044e0000, 0x0000000012510000]
+ total_blobs=4539 nmethods=4128 adapters=323
+ compilation: enabled
+
+Compilation events (10 events):
+Event: 14.048 Thread 0x000000001a3dd800 nmethod 4944 0x0000000003682310 code [0x00000000036824a0, 0x0000000003682ad8]
+Event: 14.048 Thread 0x000000001a3d3800 nmethod 4941 0x0000000003942210 code [0x0000000003942360, 0x00000000039425b8]
+Event: 14.049 Thread 0x000000001a3d4800 nmethod 4942 0x0000000003b1f150 code [0x0000000003b1f2a0, 0x0000000003b1f478]
+Event: 14.050 Thread 0x000000001a3d8800 4945       4       org.codehaus.plexus.interpolation.AbstractDelegatingValueSource::getValue (11 bytes)
+Event: 14.050 Thread 0x000000001a3d3800 4946       4       org.codehaus.plexus.interpolation.PrefixedValueSourceWrapper::getValue (39 bytes)
+Event: 14.052 Thread 0x000000001a3d4800 4947       4       org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator::select (77 bytes)
+Event: 14.076 Thread 0x000000001a3d4800 nmethod 4947 0x0000000003bc94d0 code [0x0000000003bc9680, 0x0000000003bca2b8]
+Event: 14.076 Thread 0x000000001a3d4800 4949  s    4       java.util.Hashtable::get (69 bytes)
+Event: 14.082 Thread 0x000000001a3d4800 nmethod 4949 0x0000000003c6ad90 code [0x0000000003c6aee0, 0x0000000003c6b498]
+Event: 14.082 Thread 0x000000001a3d4800 4948       4       org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator::interpolate (712 bytes)
+
+GC Heap History (10 events):
+Event: 9.050 GC heap before
+{Heap before GC invocations=8 (full 1):
+ PSYoungGen      total 139264K, used 12862K [0x00000000d6180000, 0x00000000dfb80000, 0x0000000100000000)
+  eden space 125952K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000ddc80000)
+  from space 13312K, 96% used [0x00000000de180000,0x00000000dee0fba0,0x00000000dee80000)
+  to   space 13312K, 0% used [0x00000000dee80000,0x00000000dee80000,0x00000000dfb80000)
+ ParOldGen       total 86016K, used 18923K [0x0000000082400000, 0x0000000087800000, 0x00000000d6180000)
+  object space 86016K, 22% used [0x0000000082400000,0x000000008367af98,0x0000000087800000)
+ Metaspace       used 20571K, capacity 21166K, committed 21248K, reserved 1069056K
+  class space    used 2349K, capacity 2503K, committed 2560K, reserved 1048576K
+Event: 9.117 GC heap after
+Heap after GC invocations=8 (full 1):
+ PSYoungGen      total 139264K, used 0K [0x00000000d6180000, 0x00000000dfb80000, 0x0000000100000000)
+  eden space 125952K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000ddc80000)
+  from space 13312K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000dee80000)
+  to   space 13312K, 0% used [0x00000000dee80000,0x00000000dee80000,0x00000000dfb80000)
+ ParOldGen       total 79360K, used 23622K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 29% used [0x0000000082400000,0x0000000083b11bd0,0x0000000087180000)
+ Metaspace       used 20571K, capacity 21166K, committed 21248K, reserved 1069056K
+  class space    used 2349K, capacity 2503K, committed 2560K, reserved 1048576K
+}
+Event: 11.105 GC heap before
+{Heap before GC invocations=9 (full 1):
+ PSYoungGen      total 139264K, used 125952K [0x00000000d6180000, 0x00000000dfb80000, 0x0000000100000000)
+  eden space 125952K, 100% used [0x00000000d6180000,0x00000000ddc80000,0x00000000ddc80000)
+  from space 13312K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000dee80000)
+  to   space 13312K, 0% used [0x00000000dee80000,0x00000000dee80000,0x00000000dfb80000)
+ ParOldGen       total 79360K, used 23622K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 29% used [0x0000000082400000,0x0000000083b11bd0,0x0000000087180000)
+ Metaspace       used 21009K, capacity 21658K, committed 21760K, reserved 1069056K
+  class space    used 2398K, capacity 2537K, committed 2560K, reserved 1048576K
+Event: 11.117 GC heap after
+Heap after GC invocations=9 (full 1):
+ PSYoungGen      total 139264K, used 12704K [0x00000000d6180000, 0x00000000dfb80000, 0x0000000100000000)
+  eden space 125952K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000ddc80000)
+  from space 13312K, 95% used [0x00000000dee80000,0x00000000dfae8040,0x00000000dfb80000)
+  to   space 13312K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000dee80000)
+ ParOldGen       total 79360K, used 23630K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 29% used [0x0000000082400000,0x0000000083b13bd0,0x0000000087180000)
+ Metaspace       used 21009K, capacity 21658K, committed 21760K, reserved 1069056K
+  class space    used 2398K, capacity 2537K, committed 2560K, reserved 1048576K
+}
+Event: 12.378 GC heap before
+{Heap before GC invocations=10 (full 1):
+ PSYoungGen      total 139264K, used 138656K [0x00000000d6180000, 0x00000000dfb80000, 0x0000000100000000)
+  eden space 125952K, 100% used [0x00000000d6180000,0x00000000ddc80000,0x00000000ddc80000)
+  from space 13312K, 95% used [0x00000000dee80000,0x00000000dfae8040,0x00000000dfb80000)
+  to   space 13312K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000dee80000)
+ ParOldGen       total 79360K, used 23630K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 29% used [0x0000000082400000,0x0000000083b13bd0,0x0000000087180000)
+ Metaspace       used 21361K, capacity 21958K, committed 22144K, reserved 1069056K
+  class space    used 2409K, capacity 2571K, committed 2688K, reserved 1048576K
+Event: 12.389 GC heap after
+Heap after GC invocations=10 (full 1):
+ PSYoungGen      total 144384K, used 13280K [0x00000000d6180000, 0x00000000e2780000, 0x0000000100000000)
+  eden space 131072K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de180000)
+  from space 13312K, 99% used [0x00000000de180000,0x00000000dee78020,0x00000000dee80000)
+  to   space 17920K, 0% used [0x00000000e1600000,0x00000000e1600000,0x00000000e2780000)
+ ParOldGen       total 79360K, used 25854K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 32% used [0x0000000082400000,0x0000000083d3f850,0x0000000087180000)
+ Metaspace       used 21361K, capacity 21958K, committed 22144K, reserved 1069056K
+  class space    used 2409K, capacity 2571K, committed 2688K, reserved 1048576K
+}
+Event: 13.478 GC heap before
+{Heap before GC invocations=11 (full 1):
+ PSYoungGen      total 144384K, used 144352K [0x00000000d6180000, 0x00000000e2780000, 0x0000000100000000)
+  eden space 131072K, 100% used [0x00000000d6180000,0x00000000de180000,0x00000000de180000)
+  from space 13312K, 99% used [0x00000000de180000,0x00000000dee78020,0x00000000dee80000)
+  to   space 17920K, 0% used [0x00000000e1600000,0x00000000e1600000,0x00000000e2780000)
+ ParOldGen       total 79360K, used 25854K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 32% used [0x0000000082400000,0x0000000083d3f850,0x0000000087180000)
+ Metaspace       used 21451K, capacity 22150K, committed 22400K, reserved 1069056K
+  class space    used 2415K, capacity 2571K, committed 2688K, reserved 1048576K
+Event: 13.491 GC heap after
+Heap after GC invocations=11 (full 1):
+ PSYoungGen      total 148992K, used 5520K [0x00000000d6180000, 0x00000000e2780000, 0x0000000100000000)
+  eden space 131072K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de180000)
+  from space 17920K, 30% used [0x00000000e1600000,0x00000000e1b64010,0x00000000e2780000)
+  to   space 13312K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000dee80000)
+ ParOldGen       total 79360K, used 35773K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 45% used [0x0000000082400000,0x00000000846ef700,0x0000000087180000)
+ Metaspace       used 21451K, capacity 22150K, committed 22400K, reserved 1069056K
+  class space    used 2415K, capacity 2571K, committed 2688K, reserved 1048576K
+}
+Event: 13.775 GC heap before
+{Heap before GC invocations=12 (full 1):
+ PSYoungGen      total 148992K, used 136592K [0x00000000d6180000, 0x00000000e2780000, 0x0000000100000000)
+  eden space 131072K, 100% used [0x00000000d6180000,0x00000000de180000,0x00000000de180000)
+  from space 17920K, 30% used [0x00000000e1600000,0x00000000e1b64010,0x00000000e2780000)
+  to   space 13312K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000dee80000)
+ ParOldGen       total 79360K, used 35773K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 45% used [0x0000000082400000,0x00000000846ef700,0x0000000087180000)
+ Metaspace       used 21461K, capacity 22150K, committed 22400K, reserved 1069056K
+  class space    used 2415K, capacity 2571K, committed 2688K, reserved 1048576K
+Event: 13.779 GC heap after
+Heap after GC invocations=12 (full 1):
+ PSYoungGen      total 144384K, used 128K [0x00000000d6180000, 0x00000000e3300000, 0x0000000100000000)
+  eden space 131072K, 0% used [0x00000000d6180000,0x00000000d6180000,0x00000000de180000)
+  from space 13312K, 0% used [0x00000000de180000,0x00000000de1a0020,0x00000000dee80000)
+  to   space 18944K, 0% used [0x00000000e2080000,0x00000000e2080000,0x00000000e3300000)
+ ParOldGen       total 79360K, used 40917K [0x0000000082400000, 0x0000000087180000, 0x00000000d6180000)
+  object space 79360K, 51% used [0x0000000082400000,0x0000000084bf5770,0x0000000087180000)
+ Metaspace       used 21461K, capacity 22150K, committed 22400K, reserved 1069056K
+  class space    used 2415K, capacity 2571K, committed 2688K, reserved 1048576K
+}
+
+Deoptimization events (10 events):
+Event: 12.503 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000042b243c method=org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(Lorg/apache/maven/model/Exclusion;)V @ 17
+Event: 12.957 Thread 0x0000000003412800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000040f8f88 method=org.apache.maven.model.Plugin.clone()Lorg/apache/maven/model/Plugin; @ 94
+Event: 13.349 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004363718 method=org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read()I @ 277
+Event: 13.349 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000432ad54 method=java.io.Reader.skip(J)J @ 37
+Event: 13.352 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004488e10 method=java.lang.CharacterData.of(I)Ljava/lang/CharacterData; @ 4
+Event: 13.355 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000436cde4 method=sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; @ 166
+Event: 13.355 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004350080 method=sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; @ 166
+Event: 13.429 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003a8be74 method=org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read()I @ 529
+Event: 14.047 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003b6809c method=java.util.Hashtable.get(Ljava/lang/Object;)Ljava/lang/Object; @ 48
+Event: 14.047 Thread 0x0000000003412800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003b6292c method=java.util.Hashtable.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; @ 63
+
+Classes redefined (0 events):
+No events
+
+Internal exceptions (10 events):
+Event: 3.731 Thread 0x0000000003412800 Implicit null exception at 0x0000000003e723ae to 0x0000000003e7494d
+Event: 5.200 Thread 0x0000000003412800 Implicit null exception at 0x0000000003912315 to 0x00000000039124e5
+Event: 5.202 Thread 0x0000000003412800 Implicit null exception at 0x0000000003905b2f to 0x0000000003905b99
+Event: 6.542 Thread 0x0000000003412800 Implicit null exception at 0x0000000003d7d7bd to 0x0000000003d7dbe5
+Event: 8.345 Thread 0x0000000003412800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000d81d5ba8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 10.698 Thread 0x0000000003412800 Implicit null exception at 0x000000000425872b to 0x000000000425cc61
+Event: 11.739 Thread 0x0000000003412800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000d938d9d8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 12.278 Thread 0x0000000003412800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000dc65c5f8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+Event: 12.376 Thread 0x0000000003412800 Implicit null exception at 0x00000000042c4396 to 0x00000000042c823d
+Event: 12.953 Thread 0x0000000003412800 Exception <a 'java/lang/NoSuchMethodError': org.apache.maven.execution.MavenExecutionRequest.getFailureBehavior()Ljava/lang/String;> (0x00000000d833c248) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\interpr
+
+Events (10 events):
+Event: 13.989 Thread 0x000000001a3dd800 flushing nmethod 0x000000000433b0d0
+Event: 13.989 Thread 0x000000001a3dd800 flushing nmethod 0x0000000004341250
+Event: 14.047 Thread 0x0000000003412800 Uncommon trap: trap_request=0xffffff65 fr.pc=0x0000000003b6809c
+Event: 14.047 Executing VM operation: RevokeBias
+Event: 14.047 Executing VM operation: RevokeBias done
+Event: 14.047 Thread 0x0000000003412800 DEOPT PACKING pc=0x0000000003b6809c sp=0x00000000031bdb00
+Event: 14.047 Thread 0x0000000003412800 DEOPT UNPACKING pc=0x000000000355583b sp=0x00000000031bdaa8 mode 2
+Event: 14.047 Thread 0x0000000003412800 Uncommon trap: trap_request=0xffffff65 fr.pc=0x0000000003b6292c
+Event: 14.047 Thread 0x0000000003412800 DEOPT PACKING pc=0x0000000003b6292c sp=0x00000000031bdac0
+Event: 14.047 Thread 0x0000000003412800 DEOPT UNPACKING pc=0x000000000355583b sp=0x00000000031bda98 mode 2
+
+
+Dynamic libraries:
+0x00007ff64e620000 - 0x00007ff64e657000 	C:\Program Files\Java\jdk1.8.0_181\bin\java.exe
+0x00007ffec2c50000 - 0x00007ffec2e45000 	C:\WINDOWS\SYSTEM32\ntdll.dll
+0x00007ffec0ca0000 - 0x00007ffec0d5e000 	C:\WINDOWS\System32\KERNEL32.DLL
+0x00007ffec0370000 - 0x00007ffec0638000 	C:\WINDOWS\System32\KERNELBASE.dll
+0x00007ffec21a0000 - 0x00007ffec224c000 	C:\WINDOWS\System32\ADVAPI32.dll
+0x00007ffec1ff0000 - 0x00007ffec208e000 	C:\WINDOWS\System32\msvcrt.dll
+0x00007ffec24d0000 - 0x00007ffec256b000 	C:\WINDOWS\System32\sechost.dll
+0x00007ffec2a50000 - 0x00007ffec2b7a000 	C:\WINDOWS\System32\RPCRT4.dll
+0x00007ffec10b0000 - 0x00007ffec1251000 	C:\WINDOWS\System32\USER32.dll
+0x00007ffec08d0000 - 0x00007ffec08f2000 	C:\WINDOWS\System32\win32u.dll
+0x00007ffec0f30000 - 0x00007ffec0f5b000 	C:\WINDOWS\System32\GDI32.dll
+0x00007ffec0b90000 - 0x00007ffec0c9b000 	C:\WINDOWS\System32\gdi32full.dll
+0x00007ffec0830000 - 0x00007ffec08cd000 	C:\WINDOWS\System32\msvcp_win.dll
+0x00007ffec0730000 - 0x00007ffec0830000 	C:\WINDOWS\System32\ucrtbase.dll
+0x00007ffeab420000 - 0x00007ffeab6ba000 	C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
+0x00007ffec2090000 - 0x00007ffec20c0000 	C:\WINDOWS\System32\IMM32.DLL
+0x000000005f2a0000 - 0x000000005f372000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\msvcr100.dll
+0x000000005e9f0000 - 0x000000005f292000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\server\jvm.dll
+0x00007ffec17f0000 - 0x00007ffec17f8000 	C:\WINDOWS\System32\PSAPI.DLL
+0x00007ffeabfd0000 - 0x00007ffeabff7000 	C:\WINDOWS\SYSTEM32\WINMM.dll
+0x00007ffeb8be0000 - 0x00007ffeb8bea000 	C:\WINDOWS\SYSTEM32\VERSION.dll
+0x00007ffeaafb0000 - 0x00007ffeaafb9000 	C:\WINDOWS\SYSTEM32\WSOCK32.dll
+0x00007ffec2250000 - 0x00007ffec22bb000 	C:\WINDOWS\System32\WS2_32.dll
+0x000000005e9e0000 - 0x000000005e9ef000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\verify.dll
+0x000000005e9b0000 - 0x000000005e9d9000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\java.dll
+0x000000005dba0000 - 0x000000005dbc3000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\instrument.dll
+0x000000005e990000 - 0x000000005e9a6000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\zip.dll
+0x00007ffec1800000 - 0x00007ffec1f3f000 	C:\WINDOWS\System32\SHELL32.dll
+0x00007ffebe450000 - 0x00007ffebebe0000 	C:\WINDOWS\SYSTEM32\windows.storage.dll
+0x00007ffec12e0000 - 0x00007ffec1635000 	C:\WINDOWS\System32\combase.dll
+0x00007ffebfdc0000 - 0x00007ffebfdee000 	C:\WINDOWS\SYSTEM32\Wldp.dll
+0x00007ffec0e80000 - 0x00007ffec0f2d000 	C:\WINDOWS\System32\SHCORE.dll
+0x00007ffec1050000 - 0x00007ffec10a5000 	C:\WINDOWS\System32\shlwapi.dll
+0x00007ffec02b0000 - 0x00007ffec02cf000 	C:\WINDOWS\SYSTEM32\profapi.dll
+0x00007ffeb86b0000 - 0x00007ffeb86ca000 	C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin\breakgen64.dll
+0x000000005e970000 - 0x000000005e98a000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\net.dll
+0x00007ffebfb20000 - 0x00007ffebfb8a000 	C:\WINDOWS\system32\mswsock.dll
+0x00007ffebfd10000 - 0x00007ffebfd28000 	C:\WINDOWS\SYSTEM32\CRYPTSP.dll
+0x00007ffebf430000 - 0x00007ffebf464000 	C:\WINDOWS\system32\rsaenh.dll
+0x00007ffec0a60000 - 0x00007ffec0a87000 	C:\WINDOWS\System32\bcrypt.dll
+0x00007ffec0230000 - 0x00007ffec025e000 	C:\WINDOWS\SYSTEM32\USERENV.dll
+0x00007ffec06a0000 - 0x00007ffec0723000 	C:\WINDOWS\System32\bcryptprimitives.dll
+0x00007ffebfd30000 - 0x00007ffebfd3c000 	C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
+0x00007ffebf7c0000 - 0x00007ffebf7fb000 	C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
+0x00007ffec20c0000 - 0x00007ffec20c8000 	C:\WINDOWS\System32\NSI.dll
+0x00007ffeb6fc0000 - 0x00007ffeb6fd7000 	C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
+0x00007ffeb7a00000 - 0x00007ffeb7a1d000 	C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
+0x00007ffebf800000 - 0x00007ffebf8cb000 	C:\WINDOWS\SYSTEM32\DNSAPI.dll
+0x000000005e950000 - 0x000000005e961000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\nio.dll
+0x00007ffeb8ba0000 - 0x00007ffeb8baa000 	C:\Users\LZP\AppData\Local\Temp\jansi-1.17.1-1881479413661745238.dll
+0x00007ffeb8a00000 - 0x00007ffeb8a0a000 	C:\Users\LZP\AppData\Local\Temp\jansi-1.17.1-3671270815371608676.dll
+0x000000005db90000 - 0x000000005db9d000 	C:\Program Files\Java\jdk1.8.0_181\jre\bin\management.dll
+0x00007ffea74d0000 - 0x00007ffea74e7000 	C:\WINDOWS\system32\napinsp.dll
+0x00007ffea74b0000 - 0x00007ffea74cb000 	C:\WINDOWS\system32\pnrpnsp.dll
+0x00007ffeb9f60000 - 0x00007ffeb9f75000 	C:\WINDOWS\system32\wshbth.dll
+0x00007ffeb7f50000 - 0x00007ffeb7f6d000 	C:\WINDOWS\system32\NLAapi.dll
+0x00007ffea6ce0000 - 0x00007ffea6cf2000 	C:\WINDOWS\System32\winrnr.dll
+0x00007ffeb5090000 - 0x00007ffeb509a000 	C:\Windows\System32\rasadhlp.dll
+0x00007ffeb5180000 - 0x00007ffeb51ff000 	C:\WINDOWS\System32\fwpuclnt.dll
+
+VM Arguments:
+jvm_args: -Dmaven.multiModuleProjectDirectory=D:\porject\GEKE_SERVICE -Dmaven.home=D:\apache-maven-3.6.3\apache-maven-3.6.3 -Dclassworlds.conf=D:\apache-maven-3.6.3\apache-maven-3.6.3\bin\m2.conf -Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\plugins\maven\lib\maven-event-listener.jar -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=64133:C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin -Dfile.encoding=UTF-8 
+java_command: org.codehaus.classworlds.Launcher -Didea.version=2021.1.3 -s D:\apache-maven-3.6.3\apache-maven-3.6.3\conf\settings.xml -Dmaven.repo.local=D:\repository\maven-repository package
+java_class_path (initial): D:\apache-maven-3.6.3\apache-maven-3.6.3\boot\plexus-classworlds-2.6.0.jar;D:\apache-maven-3.6.3\apache-maven-3.6.3\boot\plexus-classworlds.license;C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
+CLASSPATH=.;C:\Program Files\Java\jdk1.8.0_181\lib;C:\Program Files\Java\jdk1.8.0_181\lib\tools.jar
+PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Java\jdk1.8.0_181\bin;C:\Program Files\Java\jdk1.8.0_181\jre\bin;D:\apache-maven-3.6.3\apache-maven-3.6.3\bin;%CATALINA_HOME%\bin;C:\Program Files\Git\cmd;D:\node\;C:\Program Files\TortoiseGit\bin;C:\Users\LZP\AppData\Local\Microsoft\WindowsApps;C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin;;D:\node\node_global;
+USERNAME=LZP
+OS=Windows_NT
+PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 10, GenuineIntel
+
+
+
+---------------  S Y S T E M  ---------------
+
+OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1348)
+
+CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
+
+Memory: 4k page, physical 8234996k(576600k free), swap 21342192k(4176k free)
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (25.181-b13) for windows-amd64 JRE (1.8.0_181-b13), built on Jul  7 2018 04:01:33 by "java_re" with MS VC++ 10.0 (VS2010)
+
+time: Wed Dec 01 10:50:11 2021
+elapsed time: 14 seconds (0d 0h 0m 14s)
+

+ 15 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/entity/Attendance.java

@@ -43,6 +43,13 @@ public class Attendance {
     @ApiModelProperty(value = "用户签到时间")
 	private java.util.Date userDate;
 
+	/**用户签到时间*/
+	@Excel(name = "标准时间", width = 20, format = "HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "HH:mm:ss")
+	@DateTimeFormat(pattern="HH:mm:ss")
+	@ApiModelProperty(value = "标准时间")
+	private java.util.Date crUserDate;
+
 	private  String checkinType;//打卡类型
 
 	private  String exceptionType;//打卡异常类型
@@ -55,6 +62,14 @@ public class Attendance {
 	/**用户签到时间*/
 	private  String userDates;
 
+	public Date getCrUserDate() {
+		return crUserDate;
+	}
+
+	public void setCrUserDate(Date crUserDate) {
+		this.crUserDate = crUserDate;
+	}
+
 	public String getId() {
 		return id;
 	}

+ 8 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/mapper/AttendanceMapper.java

@@ -23,5 +23,13 @@ public interface AttendanceMapper extends BaseMapper<Attendance> {
     public Attendance getOne(@Param("userId")String userId,@Param("date")String date);
 
 
+    /**
+     * 根据时间和id删除用户考勤信息
+     * @param startDate
+     * @param EndDate
+     * @param userid
+     * @return
+     */
+    int DeleteDateAttendance(@Param("StartDate")String StartDate,@Param("EndDate")String EndDate,@Param("userid")String userid);
 
 }

+ 16 - 2
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/mapper/xml/AttendanceMapper.xml

@@ -1,13 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.geke.attendance.mapper.AttendanceMapper">
+    <delete id="DeleteDateAttendance">
+        delete from geke_attendance where 1=1
+        <if test="StartDate!=null and ''!=StartDate">
+            and  date_format(user_date,'%Y-%m-%d')>=date_format(#{StartDate},'%Y-%m-%d')
+        </if>
+        <if test="EndDate!=null and ''!=EndDate">
+            and  date_format(user_date,'%Y-%m-%d')&lt;=date_format(#{EndDate},'%Y-%m-%d')
+        </if>
+        <if test="userid!=null and ''!=userid">
+        and user_id=#{userid}
+            </if>
+
+    </delete>
 
 
     <select id="queryList" resultType="org.jeecg.modules.geke.attendance.entity.Attendance">
         SELECT
         date_format(d.user_date,'%H:%i:%s') as 'userDate',
         d.user_date as'usDate',
-        d.checkin_type as 'checkinType'
+        d.checkin_type as 'checkinType',
+        d.exception_type as 'exceptionType'
          from geke_attendance d
 where 1=1
 <if test="userid!=null and ''!=userid">
@@ -16,7 +30,7 @@ where 1=1
 <if test="date!=null and ''!=date">
     and  date_format(d.user_date,'%Y-%m-%d')=date_format(#{date},'%Y-%m-%d')
 </if>
-    and exception_type !='未打卡'
+    and d.exception_type !='未打卡'
      order by d.user_date asc
     </select>
     <select id="queryList2" resultType="org.jeecg.modules.geke.attendance.entity.Attendance">

+ 3 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/service/IAttendanceService.java

@@ -23,4 +23,7 @@ public interface IAttendanceService extends IService<Attendance> {
     public String  querymoth(String userid,String date) throws ParseException;
 
     public Boolean saveAcctend(Attendance attendance);
+
+    int DeleteDateAttendance(String startDate,String EndDate,String userid);
+
 }

+ 137 - 101
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.geke.attendance.service.impl;
 import org.jeecg.modules.geke.attendance.entity.Attendance;
 import org.jeecg.modules.geke.attendance.mapper.AttendanceMapper;
 import org.jeecg.modules.geke.attendance.service.IAttendanceService;
+import org.jeecg.modules.geke.userShift.mapper.UserShiftMapper;
 import org.jeecg.modules.geke.vacation.entity.Vacation;
 import org.jeecg.modules.geke.vacation.mapper.VacationMapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,44 +31,76 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
     @Autowired
     private VacationMapper vacationMapper;
 
+    @Autowired
+    private UserShiftMapper userShiftMapper;
+
     @Override
     public Map<String,Object> queryList(String userid, String date) throws ParseException {
         Map<String,Object> map=new HashMap<>();
         List<Attendance>lit=new ArrayList<>();
-        List<Attendance> attendances = attendanceMapper.queryList(userid, date);//查询当前用户的打卡时间
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(sdf.parse(date));
-        int year = calendar.get(calendar.YEAR);//年份
-        int month = calendar.get(calendar.MONTH) + 1;//月份
-        int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
-        String cont="";
-        if (attendances.size()<2){//判断用户当前时间的打卡记录是否正常
-            cont="1";//1 代表异常 2代表正常
-        }else {
-            //使用工具方法判断当前用户的考勤时间是否正常
-            String utils = utils(attendances.get(0).getUsDate(), attendances.get(attendances.size() - 1).getUsDate());
-            cont=utils;
+        Map<String, Object> oneUserShift = userShiftMapper.getOneUserShift(userid, date);
+            List<Attendance> attendances = attendanceMapper.queryList(userid, date);//查询当前用户的打卡时间
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            SimpleDateFormat sd = new SimpleDateFormat("HH:mm:ss");
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(sdf.parse(date));
+            int year = calendar.get(calendar.YEAR);//年份
+            int month = calendar.get(calendar.MONTH) + 1;//月份
+            int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
+            String cont = "2";
+            String excption="";
+            String excption2="";
+        if (oneUserShift!=null&&oneUserShift.size()>0) {
+                if (attendances.size() < 2) {//判断用户当前时间的打卡记录是否正常
+                    if (attendances!=null&&attendances.size()>0){
+                        attendances.get(0).setCheckinType("上班打卡");
+                        if (attendances.get(0).getUsDate().getTime()>sd.parse(oneUserShift.get("startDate").toString()).getTime()){
+                            excption="时间异常";
+                        }
+                        attendances.get(0).setExceptionType(excption);
+                    }
+                    cont = "1";//1 代表异常 2代表正常
+                } else {
+                    attendances.get(0).setCheckinType("上班打卡");
+                    attendances.get(attendances.size()-1).setCheckinType("下班打卡");
+                    //判断当前用户的考勤时间是否正常
+                    if (sd.parse(sd.format(attendances.get(0).getUsDate())).getTime()>sd.parse(oneUserShift.get("startDate").toString()).getTime()){
+                        excption="时间异常";
+                        cont="1";
+                    }if (sd.parse(sd.format(attendances.get(attendances.size()-1).getUsDate())).getTime()<sd.parse(oneUserShift.get("endDate").toString()).getTime()){
+                        excption2="时间异常";
+                        cont="1";
+                    }
+                    attendances.get(0).setExceptionType(excption);
+                    attendances.get(attendances.size()-1).setExceptionType(excption2);
+                }
+
         }
-        for (int i = 1; i <= actualMaximum; i++) {//循环获取时间月份的总天数
-            Attendance at=new Attendance();
-            at.setIss(i+"");//获取所有天数,前端js需要绑定的数据
-            String aDate = String.valueOf(year)+"-"+month+"-"+i;//循环拼接所有天数进行查询是否正常
-            List<Attendance> ac = attendanceMapper.queryList(userid,aDate);
-            if (ac.size()>=2){//判断当前时间段的考勤是否异常
-                String ut = utils(ac.get(0).getUsDate(), ac.get(ac.size() - 1).getUsDate());
-                if (ut=="2"){//2代表正常 1代表异常
+        //----------------------------------------------------------------下面是获取当前月份所有天数的考勤-------------------------------------------------
+            for (int i = 1; i <= actualMaximum; i++) {//循环获取时间月份的总天数
+                Attendance at = new Attendance();
+                at.setIss(i + "");//获取所有天数,前端js需要绑定的数据
+                String aDate = String.valueOf(year) + "-" + month + "-" + i;//循环拼接所有天数进行查询是否正常
+                Map<String, Object> oneUserShifts = userShiftMapper.getOneUserShift(userid, aDate);
+                List<Attendance> ac = attendanceMapper.queryList(userid, aDate);
+                if (oneUserShifts!=null&&oneUserShifts.size()>0){
+                    if (ac.size() >= 2) {//判断当前时间段的考勤是否异常
+                        if (sd.parse(sd.format(ac.get(0).getUsDate())).getTime()>sd.parse(oneUserShifts.get("startDate").toString()).getTime()){
+                            at.setIs("1");
+                        }if (sd.parse(sd.format(ac.get(ac.size()-1).getUsDate())).getTime()<sd.parse(oneUserShifts.get("endDate").toString()).getTime()){
+                            at.setIs("1");
+                        }else {
+                            at.setIs("2");
+                        }
+                    } else {
+                        at.setIs("1");
+                    }
+                }else {
                     at.setIs("2");
-                }else{
-                    at.setIs("1");
                 }
-            }else{
-                at.setIs("1");
+                lit.add(at);
             }
-            lit.add(at);
-        }
-
-        Vacation vacation = vacationMapper.vacation(userid, date);//获取当前用户的假期数据
+            Vacation vacation = vacationMapper.vacation(userid, date);//获取当前用户的假期数据
         map.put("date",attendances);
         map.put("data",vacation);
         map.put("day",lit);
@@ -82,107 +115,89 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
 
     @Override
     public String querymoth(String userid,String date) throws ParseException {
-        String sum="";//用来判断按月份查询考勤情况的字符串
-        int count=0;
-        int count2=0;
-        List<String>list=new ArrayList<>();
+        String sum="2";//用来判断按月份查询考勤情况的字符串
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(sdf.parse(date));
         int year = calendar.get(calendar.YEAR);//年份
         int month = calendar.get(calendar.MONTH) + 1;//月份
         int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
-       /* List<Integer>days=new ArrayList<>();*/
         SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM");
+        SimpleDateFormat sdt = new SimpleDateFormat("HH:mm:ss");
         Calendar newDate = Calendar.getInstance();
         String format = sd.format(newDate.getTime());
         Date sd1=sd.parse(format);//获取系统当前时间
         Date sd2=sd.parse(date);//获取前端传过来的时间
 
-        if (sd2.getTime()<sd1.getTime()){//判断前端传过来的时间是否小于系统当前时间
-            for (int i = 1; i <= actualMaximum; i++){
-                String aDate = String.valueOf(year)+"-"+month+"-"+i;
-                calendar.setTime(sdf.parse(aDate));
-                int week  = calendar.get(Calendar.DAY_OF_WEEK);
-                if (week!=1&&week!=7){//循环判断当前日期是否是休息日
-                    count2++;
+            if (sd2.getTime()<sd1.getTime()){//判断前端传过来的时间是否小于系统当前时间
+                for (int i = 1; i <= actualMaximum; i++){
+                    String aDate = String.valueOf(year)+"-"+month+"-"+i;
+                    Map<String, Object> oneUserShift = userShiftMapper.getOneUserShift(userid, aDate);
                     List<Attendance> attendances = attendanceMapper.queryList(userid, aDate);
-                    if (attendances.size()>1){//判断当前时间段的考勤是否正常
-                        String utils = utils(attendances.get(0).getUsDate(), attendances.get(attendances.size() - 1).getUsDate());
-                        if (utils=="2" ){
-                            count++;
-                        }
-                    }
-                }
-            }
-
-            if (count<count2){//判断当前月的正常考勤天数是否小于当前月需要考勤天数
-                sum="1";
-            }else{
-                sum="2";
-            /*for (int i = 0; i < days.size(); i++) {
-                String aDate = String.valueOf(year)+"-"+month+"-"+days.get(i);
-                calendar.setTime(sdf.parse(aDate));
-                int week  = calendar.get(Calendar.DAY_OF_WEEK);
-                if (week!=1&&week!=7){
-                    List<Attendance> attendances = attendanceMapper.queryList(userid,aDate );
-                    if (attendances.size()>1){
-                        String utils = utils(attendances.get(0).getUsDate(), attendances.get(attendances.size() - 1).getUsDate());
-                        if (utils!="2"){
+                    if (oneUserShift!=null&&oneUserShift.size()>0){
+                        if (attendances.size()>1){//判断当前时间段的考勤是否正常
+                            if (sdt.parse(sdt.format(attendances.get(0).getUsDate())).getTime()>sd.parse(oneUserShift.get("startDate").toString()).getTime()){
+                                sum="1";
+                                break;
+                            }if (sdt.parse(sdt.format(attendances.get(attendances.size()-1).getUsDate())).getTime()<sd.parse(oneUserShift.get("endDate").toString()).getTime()){
+                                sum="1";
+                                break;
+                            }
+
+                        }else {
                             sum="1";
                             break;
-                        }if (utils=="2" &&i==days.size()-1){
-                            sum="2";
                         }
                     }
-
                 }
-
-            }*/
-            }
-        }else {
-            //如果前端传过来的时间正好是当前系统的年月时间则不需要查询当月所有需考勤时间
-            for (int i = 1; i <= actualMaximum; i++){
-                String aDate = String.valueOf(year)+"-"+month+"-"+i;
-                calendar.setTime(sdf.parse(aDate));
-                int week  = calendar.get(Calendar.DAY_OF_WEEK);
-                int day1 = newDate.get(Calendar.DAY_OF_MONTH);
-                if (week!=1&&week!=7&&i<day1){//判断当前时间是否为休息日并且日期要小于系统当前时间,(因为当月当日的考勤时间不算做当月考勤范围内)
-                    count2++;
-                    List<Attendance> attendances = attendanceMapper.queryList(userid, aDate);
-                    if (attendances.size()>1){//判断考勤是否异常
-                        String utils = utils(attendances.get(0).getUsDate(), attendances.get(attendances.size() - 1).getUsDate());
-                        if (utils=="2" ){
-                            count++;
+            } else {
+                //如果前端传过来的时间正好是当前系统的年月时间则不需要查询当月所有需考勤时间
+                for (int i = 1; i <= actualMaximum; i++){
+                    String aDate = String.valueOf(year)+"-"+month+"-"+i;
+                    calendar.setTime(sdf.parse(aDate));;
+                    int day1 = newDate.get(Calendar.DAY_OF_MONTH);
+                    if (i<day1){//判断当前时间是否小于系统当前时间,(因为当月当日的考勤时间不算做当月考勤范围内)
+                        Map<String, Object> oneUserShift = userShiftMapper.getOneUserShift(userid, aDate);
+                        List<Attendance> attendances = attendanceMapper.queryList(userid, aDate);
+                        if (oneUserShift!=null&&oneUserShift.size()>0){
+                            if (attendances.size()>1){//判断当前时间段的考勤是否正常
+                                if (sdt.parse(sdt.format(attendances.get(0).getUsDate())).getTime()>sd.parse(oneUserShift.get("startDate").toString()).getTime()){
+                                    sum="1";
+                                    break;
+                                }if (sdt.parse(sdt.format(attendances.get(attendances.size()-1).getUsDate())).getTime()<sd.parse(oneUserShift.get("endDate").toString()).getTime()){
+                                    sum="1";
+                                    break;
+                                }
+
+                            }else {
+                                sum="1";
+                                break;
+                            }
                         }
                     }
                 }
-            }
-            if (count>=count2){
-                sum="2";
-            }else {
-                sum="1";
-            }
-        }
-
-
 
+            }
         return sum;
     }
 
     @Override
     public Boolean saveAcctend(Attendance attendance) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String format = sdf.format(attendance.getUserDate());
-        Attendance one = attendanceMapper.getOne(attendance.getUserId(),format);
-        if (one==null){
-            return super.save(attendance);
-        }else {
-            attendance.setId(one.getId());
-            return super.updateById(attendance);
+        Boolean f;
 
+        try {
+            f= super.save(attendance);
+        }catch (Exception e){
+            f=false;
         }
 
+        return f;
+
+    }
+
+    @Override
+    public int DeleteDateAttendance(String startDate, String EndDate, String userid) {
+        return attendanceMapper.DeleteDateAttendance(startDate,EndDate,userid);
     }
 
 
@@ -199,5 +214,26 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
         }
     }
 
+    public String exitprio(List<Attendance>ls){
+        Attendance attendance = ls.get(0);
+        Attendance attendance1 = ls.get(ls.size() - 1);
+        if (attendance.getExceptionType()!=null &&attendance1.getExceptionType()!=null){
+            return "1";
+        }else {
+            return "2";
+        }
+    }
+
+    public Boolean exitTime(String startDate,String endDate) throws ParseException {
+        Boolean b;
+        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
+        if (sdf.parse(endDate).getTime()<sdf.parse(startDate).getTime()){
+            b=true;
+        }else {
+            b=false;
+        }
+        return b;
+    }
+
 
 }

+ 173 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/controller/ShiftController.java

@@ -0,0 +1,173 @@
+package org.jeecg.modules.geke.shift.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.geke.shift.entity.Shift;
+import org.jeecg.modules.geke.shift.service.IShiftService;
+import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 班次档案
+ * @Author: jeecg-boot
+ * @Date:   2021-11-25
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="班次档案")
+@RestController
+@RequestMapping("/shift/shift")
+public class ShiftController extends JeecgController<Shift, IShiftService> {
+	@Autowired
+	private IShiftService shiftService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param shift
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "班次档案-分页列表查询")
+	@ApiOperation(value="班次档案-分页列表查询", notes="班次档案-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(Shift shift,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<Shift> queryWrapper = QueryGenerator.initQueryWrapper(shift, req.getParameterMap());
+		Page<Shift> page = new Page<Shift>(pageNo, pageSize);
+		IPage<Shift> pageList = shiftService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+
+	public Result<?> addUserShift(String shift,String userids){
+
+
+	return 	Result.OK("添加成功!");
+	}
+	/**
+	 * 添加
+	 *
+	 * @param shift
+	 * @return
+	 */
+	@AutoLog(value = "班次档案-添加")
+	@ApiOperation(value="班次档案-添加", notes="班次档案-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody Shift shift) {
+		shiftService.save(shift);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param shift
+	 * @return
+	 */
+	@AutoLog(value = "班次档案-编辑")
+	@ApiOperation(value="班次档案-编辑", notes="班次档案-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody Shift shift) {
+		shiftService.updateById(shift);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "班次档案-通过id删除")
+	@ApiOperation(value="班次档案-通过id删除", notes="班次档案-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		shiftService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "班次档案-批量删除")
+	@ApiOperation(value="班次档案-批量删除", notes="班次档案-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.shiftService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "班次档案-通过id查询")
+	@ApiOperation(value="班次档案-通过id查询", notes="班次档案-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		Shift shift = shiftService.getById(id);
+		return Result.OK(shift);
+	}
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param shift
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, Shift shift) {
+      return super.exportXls(request, shift, Shift.class, "班次档案");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, Shift.class);
+  }
+
+}

+ 75 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/entity/Shift.java

@@ -0,0 +1,75 @@
+package org.jeecg.modules.geke.shift.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 班次档案
+ * @Author: jeecg-boot
+ * @Date:   2021-11-25
+ * @Version: V1.0
+ */
+@Data
+@TableName("geke_Shift")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="geke_Shift对象", description="班次档案")
+public class Shift {
+    
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+	private java.lang.String id;
+	/**名称*/
+	@Excel(name = "名称", width = 15)
+    @ApiModelProperty(value = "名称")
+	private java.lang.String name;
+	/**上班时间*/
+	@Excel(name = "上班时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "上班时间")
+	private java.util.Date startDate;
+	/**下班时间*/
+	@Excel(name = "下班时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "下班时间")
+	private java.util.Date endDate;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+	private java.util.Date createTime;
+	/**修改时间*/
+	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "修改时间")
+	private java.util.Date updateTime;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**修改人*/
+	@Excel(name = "修改人", width = 15)
+    @ApiModelProperty(value = "修改人")
+	private java.lang.String updateBy;
+	/**删除标记*/
+	@Excel(name = "删除标记", width = 15)
+    @ApiModelProperty(value = "删除标记")
+	private java.lang.String delFlag;
+}

+ 17 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/mapper/ShiftMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.geke.shift.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.shift.entity.Shift;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 班次档案
+ * @Author: jeecg-boot
+ * @Date:   2021-11-25
+ * @Version: V1.0
+ */
+public interface ShiftMapper extends BaseMapper<Shift> {
+
+}

+ 5 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/mapper/xml/ShiftMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.geke.shift.mapper.ShiftMapper">
+
+</mapper>

+ 16 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/service/IShiftService.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.geke.shift.service;
+
+import org.jeecg.modules.geke.shift.entity.Shift;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 班次档案
+ * @Author: jeecg-boot
+ * @Date:   2021-11-25
+ * @Version: V1.0
+ */
+public interface IShiftService extends IService<Shift> {
+
+
+
+}

+ 19 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/service/impl/ShiftServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.geke.shift.service.impl;
+
+import org.jeecg.modules.geke.shift.entity.Shift;
+import org.jeecg.modules.geke.shift.mapper.ShiftMapper;
+import org.jeecg.modules.geke.shift.service.IShiftService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 班次档案
+ * @Author: jeecg-boot
+ * @Date:   2021-11-25
+ * @Version: V1.0
+ */
+@Service
+public class ShiftServiceImpl extends ServiceImpl<ShiftMapper, Shift> implements IShiftService {
+
+}

+ 186 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/controller/UserShiftController.java

@@ -0,0 +1,186 @@
+package org.jeecg.modules.geke.userShift.controller;
+
+import java.util.*;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.geke.userShift.entity.UserShift;
+import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
+import org.jeecg.modules.geke.userShift.service.IUserShiftService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 员工排班
+ * @Author: jeecg-boot
+ * @Date:   2021-11-26
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="员工排班")
+@RestController
+@RequestMapping("/userShift/userShift")
+public class UserShiftController extends JeecgController<UserShift, IUserShiftService> {
+	@Autowired
+	private IUserShiftService userShiftService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param userShift
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "员工排班-分页列表查询")
+	@ApiOperation(value="员工排班-分页列表查询", notes="员工排班-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(UserShift userShift,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<UserShift> queryWrapper = QueryGenerator.initQueryWrapper(userShift, req.getParameterMap());
+		Page<UserShift> page = new Page<UserShift>(pageNo, pageSize);
+		IPage<UserShift> pageList = userShiftService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	 @RequestMapping(value = "/lists", method = RequestMethod.GET)
+	 public Result<?> queryPageLists(UserShiftVo shiftVo,
+													@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													HttpServletRequest req) {
+		 QueryWrapper<UserShiftVo> queryWrapper = QueryGenerator.initQueryWrapper(shiftVo, req.getParameterMap());
+
+		 Page<UserShiftVo> page = new Page<UserShiftVo>(pageNo,pageSize);
+		 IPage<UserShiftVo> pageList = userShiftService.queryUserShift(page,shiftVo.getUserName());
+
+
+		 return Result.OK(pageList);
+	 }
+	/**
+	 * 添加
+	 *
+	 * @param userShift
+	 * @return
+	 */
+	@AutoLog(value = "员工排班-添加")
+	@ApiOperation(value="员工排班-添加", notes="员工排班-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody UserShift userShift) {
+		userShiftService.save(userShift);
+		return Result.OK("添加成功!");
+	}
+
+
+	 @AutoLog(value = "员工排班-添加批量")
+	 @ApiOperation(value="员工排班-添加批量", notes="员工排班-添加批量")
+	 @PostMapping(value = "/addUserShift")
+	 public Result<?> addUserShift(@RequestBody UserShift userShift) {
+		 userShiftService.addUserShift(userShift.getShiftId(),userShift.getUserId());
+		 return Result.OK("添加成功!");
+	 }
+	/**
+	 * 编辑
+	 *
+	 * @param userShift
+	 * @return
+	 */
+	@AutoLog(value = "员工排班-编辑")
+	@ApiOperation(value="员工排班-编辑", notes="员工排班-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody UserShift userShift) {
+		userShiftService.updateById(userShift);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "员工排班-通过id删除")
+	@ApiOperation(value="员工排班-通过id删除", notes="员工排班-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		userShiftService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "员工排班-批量删除")
+	@ApiOperation(value="员工排班-批量删除", notes="员工排班-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.userShiftService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "员工排班-通过id查询")
+	@ApiOperation(value="员工排班-通过id查询", notes="员工排班-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		UserShift userShift = userShiftService.getById(id);
+		return Result.OK(userShift);
+	}
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param userShift
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, UserShift userShift) {
+      return super.exportXls(request, userShift, UserShift.class, "员工排班");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, UserShift.class);
+  }
+
+}

+ 9 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/entity/UserDept.java

@@ -0,0 +1,9 @@
+package org.jeecg.modules.geke.userShift.entity;
+
+import lombok.Data;
+
+@Data
+public class UserDept {
+    private String userId;
+    private String departName;
+}

+ 69 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/entity/UserShift.java

@@ -0,0 +1,69 @@
+package org.jeecg.modules.geke.userShift.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 员工排班
+ * @Author: jeecg-boot
+ * @Date:   2021-11-26
+ * @Version: V1.0
+ */
+@Data
+@TableName("geke_user_shift")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="geke_user_shift对象", description="员工排班")
+public class UserShift {
+    
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+	private java.lang.String id;
+	/**用户id*/
+	@Excel(name = "用户id", width = 15)
+    @ApiModelProperty(value = "用户id")
+	private java.lang.String userId;
+	/**班次id*/
+	@Excel(name = "班次id", width = 15)
+    @ApiModelProperty(value = "班次id")
+	private java.lang.String shiftId;
+	/**排班时间*/
+	@Excel(name = "排班时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "排班时间")
+	private java.util.Date shiftDate;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+	private java.util.Date createTime;
+	/**修改人*/
+	@Excel(name = "修改人", width = 15)
+    @ApiModelProperty(value = "修改人")
+	private java.lang.String updateBy;
+	/**修改时间*/
+	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "修改时间")
+	private java.util.Date updateTime;
+}

+ 126 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/entity/UserShiftVo.java

@@ -0,0 +1,126 @@
+package org.jeecg.modules.geke.userShift.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+public class UserShiftVo {
+    private  String id;
+    private  String userId;
+    private  String shiftId;
+    private  String userName;
+    private  String deptName;
+    private  String shiftName;
+    /**排班时间*/
+    @Excel(name = "排班时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "上班时间")
+    private  java.util.Date startDate;
+    /**排班时间*/
+    @Excel(name = "排班时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "下班时间")
+    private  java.util.Date endDate;
+    /**排班时间*/
+    @Excel(name = "排班时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "排班时间")
+    private java.util.Date shiftDate;
+    private  Integer sex;
+    private  String phone;
+
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getShiftId() {
+        return shiftId;
+    }
+
+    public void setShiftId(String shiftId) {
+        this.shiftId = shiftId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public String getShiftName() {
+        return shiftName;
+    }
+
+    public void setShiftName(String shiftName) {
+        this.shiftName = shiftName;
+    }
+
+    public Date getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(Date startDate) {
+        this.startDate = startDate;
+    }
+
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
+
+    public Date getShiftDate() {
+        return shiftDate;
+    }
+
+    public void setShiftDate(Date shiftDate) {
+        this.shiftDate = shiftDate;
+    }
+
+    public Integer getSex() {
+        return sex;
+    }
+
+    public void setSex(Integer sex) {
+        this.sex = sex;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+}

+ 40 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.java

@@ -0,0 +1,40 @@
+package org.jeecg.modules.geke.userShift.mapper;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.userShift.entity.UserDept;
+import org.jeecg.modules.geke.userShift.entity.UserShift;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
+
+/**
+ * @Description: 员工排班
+ * @Author: jeecg-boot
+ * @Date:   2021-11-26
+ * @Version: V1.0
+ */
+public interface UserShiftMapper extends BaseMapper<UserShift> {
+
+    List<UserShiftVo>queryUserShift(Page<UserShiftVo> page,@Param("username")String username);
+
+    List<UserDept> getDepNamesByUserIds(@Param("userIds")List<String> userIds);
+
+    /**
+     * 根据用户id和时间查询用户当天是否排班
+     * @param userid
+     * @return
+     */
+    Map<String,Object> getOneUserShift(@Param("userid")String userid, @Param("date")String date);
+
+    /**
+     * 根据用户id和时间查询用户当月排班次数
+     * @param userid
+     * @param date
+     * @return
+     */
+    List<String>getMothUserShift(@Param("userid")String userid, @Param("date")String date);
+
+}

+ 46 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.geke.userShift.mapper.UserShiftMapper">
+
+    <select id="queryUserShift" resultType="org.jeecg.modules.geke.userShift.entity.UserShiftVo">
+        select c.realname as 'userName',b.name as 'shiftName',a.shift_date as 'shiftDate' ,
+            b.start_date as 'startDate',b.end_date as 'endDate',c.id as 'userId',b.id as 'shiftId',
+            a.id as 'id',c.sex as 'sex',c.phone as 'phone'
+            from geke_user_shift a
+            left join geke_shift b on a.shift_id=b.id
+            left join sys_user c on a.user_id=c.id
+            where c.del_flag='0'
+<if test="username!=null and ''!=username">
+  and    c.realname=#{username}
+</if>
+order by a.shift_date desc
+    </select>
+    <select id="getDepNamesByUserIds" resultType="org.jeecg.modules.geke.userShift.entity.UserDept">
+        select d.depart_name,ud.user_id from sys_user_depart ud,sys_depart d where d.id = ud.dep_id and ud.user_id in
+        <foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+    <select id="getOneUserShift" resultType="java.util.Map">
+        select a.user_id as 'userid', b.name,date_format(b.start_date,'%H:%i:%s') as 'startDate',date_format(b.end_date,'%H:%i:%s') as 'endDate',date_format(a.shift_date,'%Y-%m-%d') as 'shiftDate'
+        from geke_user_shift a left join geke_shift b on a.shift_id=b.id
+        where 1=1
+        <if test="userid!=null and ''!=userid">
+          and   a.user_id=#{userid}
+        </if>
+<if test="date!=null and ''!=date">
+    and  date_format(a.shift_date,'%Y-%m-%d')=date_format(#{date},'%Y-%m-%d')
+</if>
+    </select>
+    <select id="getMothUserShift" resultType="java.lang.String">
+        select b.name from geke_user_shift a left join geke_shift b on a.shift_id=b.id
+        where 1=1
+        <if test="userid!=null and ''!=userid">
+            and   a.user_id=#{userid}
+        </if>
+        <if test="date!=null and ''!=date">
+            and  date_format(a.shift_date,'%Y-%m')=date_format(#{date},'%Y-%m')
+        </if>
+    </select>
+
+</mapper>

+ 27 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/IUserShiftService.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.geke.userShift.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.userShift.entity.UserShift;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 员工排班
+ * @Author: jeecg-boot
+ * @Date:   2021-11-26
+ * @Version: V1.0
+ */
+public interface IUserShiftService extends IService<UserShift> {
+    public boolean addUserShift(String shift,String userids);
+
+    //用户排班数据
+    public Page<UserShiftVo>  queryUserShift(Page<UserShiftVo> page,String username);
+
+    //获取用户部门
+    public Map<String,String> getDepNamesByUserIds(List<String> userIds);
+
+}

+ 81 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.java

@@ -0,0 +1,81 @@
+package org.jeecg.modules.geke.userShift.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.modules.geke.userShift.entity.UserDept;
+import org.jeecg.modules.geke.userShift.entity.UserShift;
+import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
+import org.jeecg.modules.geke.userShift.mapper.UserShiftMapper;
+import org.jeecg.modules.geke.userShift.service.IUserShiftService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.lang.ref.PhantomReference;
+import java.util.*;
+
+/**
+ * @Description: 员工排班
+ * @Author: jeecg-boot
+ * @Date:   2021-11-26
+ * @Version: V1.0
+ */
+@Service
+public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift> implements IUserShiftService {
+
+    @Autowired
+    private  UserShiftMapper userShiftMapper;
+
+
+    @Override
+    public boolean addUserShift(String shift, String userids) {
+        List<UserShift>list=new ArrayList<>();
+        if (userids.length()>0){
+            UserShift userShift;
+            String[] split = userids.split(",");
+            if (split.length>0){
+                for (String id:split){
+                    userShift=new UserShift();
+                    userShift.setUserId(id);
+                    userShift.setShiftId(shift);
+                    userShift.setShiftDate(new Date());
+                    list.add(userShift);
+                }
+            }
+
+        }
+        return super.saveBatch(list);
+    }
+
+    @Override
+    public Page<UserShiftVo> queryUserShift(Page<UserShiftVo> page, String username) {
+        List<UserShiftVo> userShiftVos = userShiftMapper.queryUserShift(page, username);
+        List<String>userids=new ArrayList<>();
+        for (UserShiftVo ls:userShiftVos){
+            userids.add(ls.getUserId());
+        }
+        if(userids.size()>0){
+            Map<String,String> useDepNames = this.getDepNamesByUserIds(userids);
+            userShiftVos.forEach(item->{
+                item.setDeptName(useDepNames.get(item.getUserId()));
+            });
+        }
+        return page.setRecords(userShiftVos);
+    }
+
+    @Override
+    public Map<String, String> getDepNamesByUserIds(List<String> userIds) {
+        List<UserDept> list = this.baseMapper.getDepNamesByUserIds(userIds);
+
+        Map<String, String> res = new HashMap<String, String>();
+        list.forEach(item -> {
+                    if (res.get(item.getUserId()) == null) {
+                        res.put(item.getUserId(), item.getDepartName());
+                    } else {
+                        res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getDepartName());
+                    }
+                }
+        );
+        return res;
+    }
+}

+ 7 - 9
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/vacation/mapper/xml/VacationMapper.xml

@@ -12,8 +12,6 @@
     </update>
 
 
-
-
     <select id="queryList" resultType="org.jeecg.modules.geke.vacation.entity.Vacation">
         select
          a.user_id as 'userId',
@@ -31,18 +29,17 @@
     <select id="vacation" resultType="org.jeecg.modules.geke.vacation.entity.Vacation">
         select
         b.holiday_type as 'holidayType',
-        b.holiday_count as 'holidayCount'
-        from geke_vacation_header a
-        left join geke_vacation_body b
-        on a.id=b.header_id
+        b.holiday_count as 'holidayCount',
+        b.start_date as 'startDates',
+        b.end_date as 'endDates'
+        from  geke_vacation_body b
         where 1=1
         <if test="userid!=null and ''!=userid">
-            and   a.user_id=#{userid}
+            and   b.user_id=#{userid}
         </if>
         <if test="date!=null and ''!=date">
           and  date_format(#{date},'%Y-%m-%d') BETWEEN date_format(b.start_date,'%Y-%m-%d') AND date_format(b.end_date,'%Y-%m-%d')
         </if>
-     and   b.state='2'
     </select>
     <select id="getOne" resultType="org.jeecg.modules.geke.vacation.entity.Vacation">
         select *from geke_vacation_body
@@ -73,7 +70,8 @@
         <if test="userid!=null and ''!=userid">
             and user_id=#{userid}
         </if>
-       and holiday_type='1'
+
+       and holiday_type='年假'
         <if test="date!=null and ''!=date">
             and  date_format(start_date,'%Y')=date_format(#{date},'%Y')
         </if>

BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/entity/Attendance.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/mapper/AttendanceMapper.class


+ 16 - 2
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/mapper/xml/AttendanceMapper.xml

@@ -1,13 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.geke.attendance.mapper.AttendanceMapper">
+    <delete id="DeleteDateAttendance">
+        delete from geke_attendance where 1=1
+        <if test="StartDate!=null and ''!=StartDate">
+            and  date_format(user_date,'%Y-%m-%d')>=date_format(#{StartDate},'%Y-%m-%d')
+        </if>
+        <if test="EndDate!=null and ''!=EndDate">
+            and  date_format(user_date,'%Y-%m-%d')&lt;=date_format(#{EndDate},'%Y-%m-%d')
+        </if>
+        <if test="userid!=null and ''!=userid">
+        and user_id=#{userid}
+            </if>
+
+    </delete>
 
 
     <select id="queryList" resultType="org.jeecg.modules.geke.attendance.entity.Attendance">
         SELECT
         date_format(d.user_date,'%H:%i:%s') as 'userDate',
         d.user_date as'usDate',
-        d.checkin_type as 'checkinType'
+        d.checkin_type as 'checkinType',
+        d.exception_type as 'exceptionType'
          from geke_attendance d
 where 1=1
 <if test="userid!=null and ''!=userid">
@@ -16,7 +30,7 @@ where 1=1
 <if test="date!=null and ''!=date">
     and  date_format(d.user_date,'%Y-%m-%d')=date_format(#{date},'%Y-%m-%d')
 </if>
-    and exception_type !='未打卡'
+    and d.exception_type !='未打卡'
      order by d.user_date asc
     </select>
     <select id="queryList2" resultType="org.jeecg.modules.geke.attendance.entity.Attendance">

BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/service/IAttendanceService.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/controller/ShiftController.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/entity/Shift.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/mapper/ShiftMapper.class


+ 5 - 0
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/mapper/xml/ShiftMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.geke.shift.mapper.ShiftMapper">
+
+</mapper>

BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/service/IShiftService.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/service/impl/ShiftServiceImpl.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/controller/UserShiftController.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/entity/UserDept.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/entity/UserShift.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/entity/UserShiftVo.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.class


+ 46 - 0
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.geke.userShift.mapper.UserShiftMapper">
+
+    <select id="queryUserShift" resultType="org.jeecg.modules.geke.userShift.entity.UserShiftVo">
+        select c.realname as 'userName',b.name as 'shiftName',a.shift_date as 'shiftDate' ,
+            b.start_date as 'startDate',b.end_date as 'endDate',c.id as 'userId',b.id as 'shiftId',
+            a.id as 'id',c.sex as 'sex',c.phone as 'phone'
+            from geke_user_shift a
+            left join geke_shift b on a.shift_id=b.id
+            left join sys_user c on a.user_id=c.id
+            where c.del_flag='0'
+<if test="username!=null and ''!=username">
+  and    c.realname=#{username}
+</if>
+order by a.shift_date desc
+    </select>
+    <select id="getDepNamesByUserIds" resultType="org.jeecg.modules.geke.userShift.entity.UserDept">
+        select d.depart_name,ud.user_id from sys_user_depart ud,sys_depart d where d.id = ud.dep_id and ud.user_id in
+        <foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+    <select id="getOneUserShift" resultType="java.util.Map">
+        select a.user_id as 'userid', b.name,date_format(b.start_date,'%H:%i:%s') as 'startDate',date_format(b.end_date,'%H:%i:%s') as 'endDate',date_format(a.shift_date,'%Y-%m-%d') as 'shiftDate'
+        from geke_user_shift a left join geke_shift b on a.shift_id=b.id
+        where 1=1
+        <if test="userid!=null and ''!=userid">
+          and   a.user_id=#{userid}
+        </if>
+<if test="date!=null and ''!=date">
+    and  date_format(a.shift_date,'%Y-%m-%d')=date_format(#{date},'%Y-%m-%d')
+</if>
+    </select>
+    <select id="getMothUserShift" resultType="java.lang.String">
+        select b.name from geke_user_shift a left join geke_shift b on a.shift_id=b.id
+        where 1=1
+        <if test="userid!=null and ''!=userid">
+            and   a.user_id=#{userid}
+        </if>
+        <if test="date!=null and ''!=date">
+            and  date_format(a.shift_date,'%Y-%m')=date_format(#{date},'%Y-%m')
+        </if>
+    </select>
+
+</mapper>

BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/service/IUserShiftService.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.class


+ 7 - 9
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/vacation/mapper/xml/VacationMapper.xml

@@ -12,8 +12,6 @@
     </update>
 
 
-
-
     <select id="queryList" resultType="org.jeecg.modules.geke.vacation.entity.Vacation">
         select
          a.user_id as 'userId',
@@ -31,18 +29,17 @@
     <select id="vacation" resultType="org.jeecg.modules.geke.vacation.entity.Vacation">
         select
         b.holiday_type as 'holidayType',
-        b.holiday_count as 'holidayCount'
-        from geke_vacation_header a
-        left join geke_vacation_body b
-        on a.id=b.header_id
+        b.holiday_count as 'holidayCount',
+        b.start_date as 'startDates',
+        b.end_date as 'endDates'
+        from  geke_vacation_body b
         where 1=1
         <if test="userid!=null and ''!=userid">
-            and   a.user_id=#{userid}
+            and   b.user_id=#{userid}
         </if>
         <if test="date!=null and ''!=date">
           and  date_format(#{date},'%Y-%m-%d') BETWEEN date_format(b.start_date,'%Y-%m-%d') AND date_format(b.end_date,'%Y-%m-%d')
         </if>
-     and   b.state='2'
     </select>
     <select id="getOne" resultType="org.jeecg.modules.geke.vacation.entity.Vacation">
         select *from geke_vacation_body
@@ -73,7 +70,8 @@
         <if test="userid!=null and ''!=userid">
             and user_id=#{userid}
         </if>
-       and holiday_type='1'
+
+       and holiday_type='年假'
         <if test="date!=null and ''!=date">
             and  date_format(start_date,'%Y')=date_format(#{date},'%Y')
         </if>

+ 1639 - 0
jeecg-boot-module-system/logs/jeecgboot-2021-12-01.0.html

@@ -0,0 +1,1639 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+  <head>
+    <title>Logback Log Messages</title>
+<style  type="text/css">
+table { margin-left: 2em; margin-right: 2em; border-left: 2px solid #AAA; }
+TR.even { background: #FFFFFF; }
+TR.odd { background: #EAEAEA; }
+TR.warn TD.Level, TR.error TD.Level, TR.fatal TD.Level {font-weight: bold; color: #FF4040 }
+TD { padding-right: 1ex; padding-left: 1ex; border-right: 2px solid #AAA; }
+TD.Time, TD.Date { text-align: right; font-family: courier, monospace; font-size: smaller; }
+TD.Thread { text-align: left; }
+TD.Level { text-align: right; }
+TD.Logger { text-align: left; }
+TR.header { background: #596ED5; color: #FFF; font-weight: bold; font-size: larger; }
+TD.Exception { background: #A2AEE8; font-family: courier, monospace;}
+</style>
+
+  </head>
+<body>
+<hr/>
+<p>Log session start time Wed Dec 01 10:48:30 CST 2021</p><p></p>
+
+<table cellspacing="0">
+<tr class="header">
+<td class="Level">Level</td>
+<td class="Date">Date</td>
+<td class="Message">Message</td>
+<td class="MethodOfCaller">MethodOfCaller</td>
+<td class="FileOfCaller">FileOfCaller</td>
+<td class="LineOfCaller">LineOfCaller</td>
+</tr>
+
+
+<tr class="warn even">
+<td class="Level">WARN</td>
+<td class="Date">2021-12-01 10:48:30,384</td>
+<td class="Message">For Jackson Kotlin classes support please add &quot;com.fasterxml.jackson.module:jackson-module-kotlin&quot; to the classpath</td>
+<td class="MethodOfCaller">warn</td>
+<td class="FileOfCaller">CompositeLog.java</td>
+<td class="LineOfCaller">127</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:30,477</td>
+<td class="Message">Starting JeecgSystemApplication v2.4.2 on DESKTOP-4V3SAD1 with PID 41152 (D:\porject\GEKE_SERVICE\jeecg-boot-module-system\target\jeecg-boot-module-system-2.4.2.jar started by LZP in D:\porject\GEKE_SERVICE\jeecg-boot-module-system\target)</td>
+<td class="MethodOfCaller">logStarting</td>
+<td class="FileOfCaller">StartupInfoLogger.java</td>
+<td class="LineOfCaller">50</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:30,478</td>
+<td class="Message">The following profiles are active: dev</td>
+<td class="MethodOfCaller">logStartupProfileInfo</td>
+<td class="FileOfCaller">SpringApplication.java</td>
+<td class="LineOfCaller">679</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,114</td>
+<td class="Message">Multiple Spring Data modules found, entering strict repository configuration mode!</td>
+<td class="MethodOfCaller">multipleStoresDetected</td>
+<td class="FileOfCaller">RepositoryConfigurationDelegate.java</td>
+<td class="LineOfCaller">244</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,126</td>
+<td class="Message">Bootstrapping Spring Data repositories in DEFAULT mode.</td>
+<td class="MethodOfCaller">registerRepositoriesIn</td>
+<td class="FileOfCaller">RepositoryConfigurationDelegate.java</td>
+<td class="LineOfCaller">126</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,286</td>
+<td class="Message">Finished Spring Data repository scanning in 130ms. Found 0 repository interfaces.</td>
+<td class="MethodOfCaller">registerRepositoriesIn</td>
+<td class="FileOfCaller">RepositoryConfigurationDelegate.java</td>
+<td class="LineOfCaller">182</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,756</td>
+<td class="Message"> ******************* init miniDao config [ begin ] *********************** </td>
+<td class="MethodOfCaller">miniDaoBeanScannerConfigurer</td>
+<td class="FileOfCaller">MinidaoAutoConfiguration.java</td>
+<td class="LineOfCaller">25</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,757</td>
+<td class="Message"> ------ minidao.base-package ------- org.jeecg.modules.jmreport.desreport.*</td>
+<td class="MethodOfCaller">miniDaoBeanScannerConfigurer</td>
+<td class="FileOfCaller">MinidaoAutoConfiguration.java</td>
+<td class="LineOfCaller">27</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,757</td>
+<td class="Message"> ------ minidao.db-type ------------ mysql</td>
+<td class="MethodOfCaller">miniDaoBeanScannerConfigurer</td>
+<td class="FileOfCaller">MinidaoAutoConfiguration.java</td>
+<td class="LineOfCaller">28</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,761</td>
+<td class="Message"> ------ minidao Set Interceptor  ------- </td>
+<td class="MethodOfCaller">miniDaoBeanScannerConfigurer</td>
+<td class="FileOfCaller">MinidaoAutoConfiguration.java</td>
+<td class="LineOfCaller">39</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,762</td>
+<td class="Message"> *******************  init miniDao config  [ end ] *********************** </td>
+<td class="MethodOfCaller">miniDaoBeanScannerConfigurer</td>
+<td class="FileOfCaller">MinidaoAutoConfiguration.java</td>
+<td class="LineOfCaller">50</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,834</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,835</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDataSourceDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,840</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,840</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbFieldDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,841</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbParamDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,841</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDictDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,841</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDictItemDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,841</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportLinkDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,842</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportMapDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:34,842</td>
+<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportShareDao }</td>
+<td class="MethodOfCaller">doScan</td>
+<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
+<td class="LineOfCaller">48</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,368</td>
+<td class="Message">Bean &#39;spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties&#39; of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,373</td>
+<td class="Message">Bean &#39;com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration&#39; of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$56801547] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,405</td>
+<td class="Message">Bean &#39;com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceCreatorAutoConfiguration&#39; of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceCreatorAutoConfiguration$$EnhancerBySpringCGLIB$$7c53d551] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,472</td>
+<td class="Message">Bean &#39;basicDataSourceCreator&#39; of type [com.baomidou.dynamic.datasource.creator.BasicDataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,477</td>
+<td class="Message">Bean &#39;jndiDataSourceCreator&#39; of type [com.baomidou.dynamic.datasource.creator.JndiDataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,480</td>
+<td class="Message">Bean &#39;druidDataSourceCreator&#39; of type [com.baomidou.dynamic.datasource.creator.DruidDataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,482</td>
+<td class="Message">Bean &#39;hikariDataSourceCreator&#39; of type [com.baomidou.dynamic.datasource.creator.HikariDataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,483</td>
+<td class="Message">Bean &#39;dataSourceCreator&#39; of type [com.baomidou.dynamic.datasource.creator.DataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:35,486</td>
+<td class="Message">Bean &#39;dynamicDataSourceProvider&#39; of type [com.baomidou.dynamic.datasource.provider.YmlDynamicDataSourceProvider] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,330</td>
+<td class="Message">{dataSource-1,master} inited</td>
+<td class="MethodOfCaller">init</td>
+<td class="FileOfCaller">DruidDataSource.java</td>
+<td class="LineOfCaller">994</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,337</td>
+<td class="Message">dynamic-datasource - load a datasource named [master] success</td>
+<td class="MethodOfCaller">addDataSource</td>
+<td class="FileOfCaller">DynamicRoutingDataSource.java</td>
+<td class="LineOfCaller">132</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,338</td>
+<td class="Message">dynamic-datasource initial loaded [1] datasource,primary datasource named [master]</td>
+<td class="MethodOfCaller">afterPropertiesSet</td>
+<td class="FileOfCaller">DynamicRoutingDataSource.java</td>
+<td class="LineOfCaller">237</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,340</td>
+<td class="Message">Bean &#39;dataSource&#39; of type [com.baomidou.dynamic.datasource.DynamicRoutingDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,353</td>
+<td class="Message">Bean &#39;spring.jdbc-org.springframework.boot.autoconfigure.jdbc.JdbcProperties&#39; of type [org.springframework.boot.autoconfigure.jdbc.JdbcProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,355</td>
+<td class="Message">Bean &#39;org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration$JdbcTemplateConfiguration&#39; of type [org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration$JdbcTemplateConfiguration$$EnhancerBySpringCGLIB$$57cd2e3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,379</td>
+<td class="Message">Bean &#39;jdbcTemplate&#39; of type [org.springframework.jdbc.core.JdbcTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,383</td>
+<td class="Message">Bean &#39;org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration$NamedParameterJdbcTemplateConfiguration&#39; of type [org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration$NamedParameterJdbcTemplateConfiguration$$EnhancerBySpringCGLIB$$f75dca13] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,395</td>
+<td class="Message">Bean &#39;namedParameterJdbcTemplate&#39; of type [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,405</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#9&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,416</td>
+<td class="Message">Bean &#39;jimuReportShareDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,419</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#8&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,421</td>
+<td class="Message">Bean &#39;jimuReportMapDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,425</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#7&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,427</td>
+<td class="Message">Bean &#39;jimuReportLinkDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,430</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#6&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,433</td>
+<td class="Message">Bean &#39;jimuReportDictItemDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,436</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#5&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,438</td>
+<td class="Message">Bean &#39;jimuReportDictDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,443</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#4&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,445</td>
+<td class="Message">Bean &#39;jimuReportDbParamDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,449</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#3&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,450</td>
+<td class="Message">Bean &#39;jimuReportDbFieldDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,453</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#2&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,455</td>
+<td class="Message">Bean &#39;jimuReportDbDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,458</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3#1&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,460</td>
+<td class="Message">Bean &#39;jimuReportDataSourceDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,464</td>
+<td class="Message">Bean &#39;(inner bean)#4fd4cae3&#39; of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,466</td>
+<td class="Message">Bean &#39;jimuReportDao&#39; of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,488</td>
+<td class="Message">Bean &#39;spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties&#39; of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,498</td>
+<td class="Message">Bean &#39;org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration&#39; of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration$$EnhancerBySpringCGLIB$$20b62c0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:36,823</td>
+<td class="Message">Bean &#39;lettuceClientResources&#39; of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:38,206</td>
+<td class="Message">Bean &#39;redisConnectionFactory&#39; of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:38,225</td>
+<td class="Message">Bean &#39;shiroConfig&#39; of type [org.jeecg.config.shiro.ShiroConfig$$EnhancerBySpringCGLIB$$4c2dec6f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:38,543</td>
+<td class="Message">Bean &#39;shiroRealm&#39; of type [org.jeecg.config.shiro.ShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:39,589</td>
+<td class="Message">===============(1)创建缓存管理器RedisCacheManager</td>
+<td class="MethodOfCaller">redisCacheManager</td>
+<td class="FileOfCaller">ShiroConfig.java</td>
+<td class="LineOfCaller">212</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:39,592</td>
+<td class="Message">===============(2)创建RedisManager,连接Redis..</td>
+<td class="MethodOfCaller">redisManager</td>
+<td class="FileOfCaller">ShiroConfig.java</td>
+<td class="LineOfCaller">230</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:39,596</td>
+<td class="Message">Bean &#39;redisManager&#39; of type [org.crazycake.shiro.RedisManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:39,600</td>
+<td class="Message">Bean &#39;securityManager&#39; of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:39,685</td>
+<td class="Message">Bean &#39;authorizationAttributeSourceAdvisor&#39; of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:39,813</td>
+<td class="Message">Bean &#39;org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration&#39; of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$ecf1a476] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,047</td>
+<td class="Message">Bean &#39;dsProcessor&#39; of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,066</td>
+<td class="Message">Bean &#39;redisConfig&#39; of type [org.jeecg.config.redis.RedisConfig$$EnhancerBySpringCGLIB$$c316db83] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,125</td>
+<td class="Message">Bean &#39;org.apache.shiro.spring.boot.autoconfigure.ShiroBeanAutoConfiguration&#39; of type [org.apache.shiro.spring.boot.autoconfigure.ShiroBeanAutoConfiguration$$EnhancerBySpringCGLIB$$a8226] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,133</td>
+<td class="Message">Bean &#39;eventBus&#39; of type [org.apache.shiro.event.support.DefaultEventBus] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)</td>
+<td class="MethodOfCaller">postProcessAfterInitialization</td>
+<td class="FileOfCaller">PostProcessorRegistrationDelegate.java</td>
+<td class="LineOfCaller">330</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,693</td>
+<td class="Message">Tomcat initialized with port(s): 8101 (http)</td>
+<td class="MethodOfCaller">initialize</td>
+<td class="FileOfCaller">TomcatWebServer.java</td>
+<td class="LineOfCaller">90</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,720</td>
+<td class="Message">Initializing ProtocolHandler [&quot;http-nio-8101&quot;]</td>
+<td class="MethodOfCaller">log</td>
+<td class="FileOfCaller">DirectJDKLog.java</td>
+<td class="LineOfCaller">173</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,733</td>
+<td class="Message">Starting service [Tomcat]</td>
+<td class="MethodOfCaller">log</td>
+<td class="FileOfCaller">DirectJDKLog.java</td>
+<td class="LineOfCaller">173</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,733</td>
+<td class="Message">Starting Servlet engine: [Apache Tomcat/9.0.19]</td>
+<td class="MethodOfCaller">log</td>
+<td class="FileOfCaller">DirectJDKLog.java</td>
+<td class="LineOfCaller">173</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,904</td>
+<td class="Message">Initializing Spring embedded WebApplicationContext</td>
+<td class="MethodOfCaller">log</td>
+<td class="FileOfCaller">DirectJDKLog.java</td>
+<td class="LineOfCaller">173</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:40,905</td>
+<td class="Message">Root WebApplicationContext: initialization completed in 10340 ms</td>
+<td class="MethodOfCaller">prepareWebApplicationContext</td>
+<td class="FileOfCaller">ServletWebServerApplicationContext.java</td>
+<td class="LineOfCaller">296</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:45,290</td>
+<td class="Message"> --- redis config init --- </td>
+<td class="MethodOfCaller">starterRedisTemplate</td>
+<td class="FileOfCaller">RedisConfiguration.java</td>
+<td class="LineOfCaller">45</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:45,336</td>
+<td class="Message"> --- redis config init --- </td>
+<td class="MethodOfCaller">redisTemplate</td>
+<td class="FileOfCaller">RedisConfig.java</td>
+<td class="LineOfCaller">66</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,662</td>
+<td class="Message">Using default implementation for ThreadExecutor</td>
+<td class="MethodOfCaller">instantiate</td>
+<td class="FileOfCaller">StdSchedulerFactory.java</td>
+<td class="LineOfCaller">1208</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,667</td>
+<td class="Message">Job execution threads will use class loader of thread: main</td>
+<td class="MethodOfCaller">initialize</td>
+<td class="FileOfCaller">SimpleThreadPool.java</td>
+<td class="LineOfCaller">268</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,684</td>
+<td class="Message">Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl</td>
+<td class="MethodOfCaller">&lt;init&gt;</td>
+<td class="FileOfCaller">SchedulerSignalerImpl.java</td>
+<td class="LineOfCaller">61</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,685</td>
+<td class="Message">Quartz Scheduler v.2.3.1 created.</td>
+<td class="MethodOfCaller">&lt;init&gt;</td>
+<td class="FileOfCaller">QuartzScheduler.java</td>
+<td class="LineOfCaller">229</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,694</td>
+<td class="Message">Using db table-based data access locking (synchronization).</td>
+<td class="MethodOfCaller">initialize</td>
+<td class="FileOfCaller">JobStoreSupport.java</td>
+<td class="LineOfCaller">672</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,697</td>
+<td class="Message">JobStoreCMT initialized.</td>
+<td class="MethodOfCaller">initialize</td>
+<td class="FileOfCaller">JobStoreCMT.java</td>
+<td class="LineOfCaller">145</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,698</td>
+<td class="Message">Scheduler meta-data: Quartz Scheduler (v2.3.1) &#39;MyScheduler&#39; with instanceId &#39;DESKTOP-4V3SAD11638326927666&#39;
+  Scheduler class: &#39;org.quartz.core.QuartzScheduler&#39; - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool &#39;org.quartz.simpl.SimpleThreadPool&#39; - with 10 threads.
+  Using job-store &#39;org.springframework.scheduling.quartz.LocalDataSourceJobStore&#39; - which supports persistence. and is clustered.
+</td>
+<td class="MethodOfCaller">initialize</td>
+<td class="FileOfCaller">QuartzScheduler.java</td>
+<td class="LineOfCaller">294</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,699</td>
+<td class="Message">Quartz scheduler &#39;MyScheduler&#39; initialized from an externally provided properties instance.</td>
+<td class="MethodOfCaller">instantiate</td>
+<td class="FileOfCaller">StdSchedulerFactory.java</td>
+<td class="LineOfCaller">1362</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,699</td>
+<td class="Message">Quartz scheduler version: 2.3.1</td>
+<td class="MethodOfCaller">instantiate</td>
+<td class="FileOfCaller">StdSchedulerFactory.java</td>
+<td class="LineOfCaller">1366</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:47,699</td>
+<td class="Message">JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@c808207</td>
+<td class="MethodOfCaller">setJobFactory</td>
+<td class="FileOfCaller">QuartzScheduler.java</td>
+<td class="LineOfCaller">2293</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:48,900</td>
+<td class="Message"> --- Init JimuReport Config --- </td>
+<td class="MethodOfCaller">afterPropertiesSet</td>
+<td class="FileOfCaller">JimuReportConfiguration.java</td>
+<td class="LineOfCaller">53</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:50,147</td>
+<td class="Message">Exposing 2 endpoint(s) beneath base path &#39;/actuator&#39;</td>
+<td class="MethodOfCaller">&lt;init&gt;</td>
+<td class="FileOfCaller">EndpointLinksResolver.java</td>
+<td class="LineOfCaller">59</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:50,331</td>
+<td class="Message">Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity&lt;springfox.documentation.spring.web.json.Json&gt; springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]</td>
+<td class="MethodOfCaller">initHandlerMethods</td>
+<td class="FileOfCaller">PropertySourcedRequestMappingHandlerMapping.java</td>
+<td class="LineOfCaller">69</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:50,408</td>
+<td class="Message">---创建线程池---</td>
+<td class="MethodOfCaller">asyncServiceExecutor</td>
+<td class="FileOfCaller">JmReportExecutorConfig.java</td>
+<td class="LineOfCaller">21</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:50,412</td>
+<td class="Message">Initializing ExecutorService</td>
+<td class="MethodOfCaller">initialize</td>
+<td class="FileOfCaller">ExecutorConfigurationSupport.java</td>
+<td class="LineOfCaller">171</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:50,414</td>
+<td class="Message">Initializing ExecutorService &#39;jmReportTaskExecutor&#39;</td>
+<td class="MethodOfCaller">initialize</td>
+<td class="FileOfCaller">ExecutorConfigurationSupport.java</td>
+<td class="LineOfCaller">171</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:51,810</td>
+<td class="Message">Context refreshed</td>
+<td class="MethodOfCaller">start</td>
+<td class="FileOfCaller">DocumentationPluginsBootstrapper.java</td>
+<td class="LineOfCaller">160</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:51,838</td>
+<td class="Message">Found 1 custom documentation plugin(s)</td>
+<td class="MethodOfCaller">start</td>
+<td class="FileOfCaller">DocumentationPluginsBootstrapper.java</td>
+<td class="LineOfCaller">163</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:51,903</td>
+<td class="Message">Scanning for api listing references</td>
+<td class="MethodOfCaller">scan</td>
+<td class="FileOfCaller">ApiListingReferenceScanner.java</td>
+<td class="LineOfCaller">41</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,332</td>
+<td class="Message">Generating unique operation named: addUsingPOST_1</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,335</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_1</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,338</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_1</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,340</td>
+<td class="Message">Generating unique operation named: editUsingPUT_1</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,361</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_1</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,421</td>
+<td class="Message">Generating unique operation named: addUsingPOST_2</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,423</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_2</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,455</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_2</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,457</td>
+<td class="Message">Generating unique operation named: editUsingPUT_2</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,459</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_2</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,467</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_1</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,481</td>
+<td class="Message">Generating unique operation named: addUsingPOST_3</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,484</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_3</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,486</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_3</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,488</td>
+<td class="Message">Generating unique operation named: editUsingPUT_3</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,491</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_3</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,499</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_2</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,508</td>
+<td class="Message">Generating unique operation named: addUsingPOST_4</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,511</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_4</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,513</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_4</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,515</td>
+<td class="Message">Generating unique operation named: editUsingPUT_4</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,517</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_4</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,525</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_3</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,535</td>
+<td class="Message">Generating unique operation named: addUsingPOST_5</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,537</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_5</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,540</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_5</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,543</td>
+<td class="Message">Generating unique operation named: editUsingPUT_5</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,546</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_5</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,554</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_4</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,560</td>
+<td class="Message">Generating unique operation named: addUsingPOST_6</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,562</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_6</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,565</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_6</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,567</td>
+<td class="Message">Generating unique operation named: editUsingPUT_6</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,569</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_6</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,575</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_5</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,583</td>
+<td class="Message">Generating unique operation named: addUsingPOST_7</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,586</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_7</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,589</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_7</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,591</td>
+<td class="Message">Generating unique operation named: editUsingPUT_7</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,593</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_7</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,599</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_6</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,611</td>
+<td class="Message">Generating unique operation named: addUsingPOST_8</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,613</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_8</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,615</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_8</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,617</td>
+<td class="Message">Generating unique operation named: editUsingPUT_8</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,621</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_8</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,627</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_7</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,638</td>
+<td class="Message">Generating unique operation named: addUsingPOST_9</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,640</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_9</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,643</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_9</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,646</td>
+<td class="Message">Generating unique operation named: editUsingPUT_9</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,651</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_9</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,662</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_8</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,669</td>
+<td class="Message">Generating unique operation named: addUsingPOST_10</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,673</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_10</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,676</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_10</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,677</td>
+<td class="Message">Generating unique operation named: editUsingPUT_10</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,679</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_10</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,687</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_9</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,698</td>
+<td class="Message">Generating unique operation named: addUsingPOST_11</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,701</td>
+<td class="Message">Generating unique operation named: deleteUsingDELETE_11</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,704</td>
+<td class="Message">Generating unique operation named: deleteBatchUsingDELETE_11</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,706</td>
+<td class="Message">Generating unique operation named: editUsingPUT_11</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,708</td>
+<td class="Message">Generating unique operation named: queryByIdUsingGET_11</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,715</td>
+<td class="Message">Generating unique operation named: queryPageListUsingGET_10</td>
+<td class="MethodOfCaller">startingWith</td>
+<td class="FileOfCaller">CachingOperationNameGenerator.java</td>
+<td class="LineOfCaller">40</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,966</td>
+<td class="Message">Starting without optional epoll library</td>
+<td class="MethodOfCaller">&lt;clinit&gt;</td>
+<td class="FileOfCaller">EpollProvider.java</td>
+<td class="LineOfCaller">68</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:52,969</td>
+<td class="Message">Starting without optional kqueue library</td>
+<td class="MethodOfCaller">&lt;clinit&gt;</td>
+<td class="FileOfCaller">KqueueProvider.java</td>
+<td class="LineOfCaller">70</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:53,871</td>
+<td class="Message">Starting Quartz Scheduler now</td>
+<td class="MethodOfCaller">startScheduler</td>
+<td class="FileOfCaller">SchedulerFactoryBean.java</td>
+<td class="LineOfCaller">726</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:54,230</td>
+<td class="Message">ClusterManager: detected 1 failed or restarted instances.</td>
+<td class="MethodOfCaller">logWarnIfNonZero</td>
+<td class="FileOfCaller">JobStoreSupport.java</td>
+<td class="LineOfCaller">3644</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:54,231</td>
+<td class="Message">ClusterManager: Scanning for instance &quot;DESKTOP-4V3SAD11638259352825&quot;&#39;s failed in-progress jobs.</td>
+<td class="MethodOfCaller">clusterRecover</td>
+<td class="FileOfCaller">JobStoreSupport.java</td>
+<td class="LineOfCaller">3503</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:54,244</td>
+<td class="Message">Scheduler MyScheduler_$_DESKTOP-4V3SAD11638326927666 started.</td>
+<td class="MethodOfCaller">start</td>
+<td class="FileOfCaller">QuartzScheduler.java</td>
+<td class="LineOfCaller">547</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:54,294</td>
+<td class="Message">Starting ProtocolHandler [&quot;http-nio-8101&quot;]</td>
+<td class="MethodOfCaller">log</td>
+<td class="FileOfCaller">DirectJDKLog.java</td>
+<td class="LineOfCaller">173</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:54,325</td>
+<td class="Message">Tomcat started on port(s): 8101 (http) with context path &#39;/jeecg-boot&#39;</td>
+<td class="MethodOfCaller">start</td>
+<td class="FileOfCaller">TomcatWebServer.java</td>
+<td class="LineOfCaller">204</td>
+</tr>
+
+<tr class="info odd">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:54,330</td>
+<td class="Message">Started JeecgSystemApplication in 25.454 seconds (JVM running for 26.536)</td>
+<td class="MethodOfCaller">logStarted</td>
+<td class="FileOfCaller">StartupInfoLogger.java</td>
+<td class="LineOfCaller">59</td>
+</tr>
+
+<tr class="info even">
+<td class="Level">INFO</td>
+<td class="Date">2021-12-01 10:48:54,364</td>
+<td class="Message">
+----------------------------------------------------------
+	Application Jeecg-Boot is running! Access URLs:
+	Local: 		http://localhost:8101/jeecg-boot/
+	External: 	http://10.0.0.94:8101/jeecg-boot/
+	Swagger文档: 	http://10.0.0.94:8101/jeecg-boot/doc.html
+----------------------------------------------------------</td>
+<td class="MethodOfCaller">main</td>
+<td class="FileOfCaller">JeecgSystemApplication.java</td>
+<td class="LineOfCaller">37</td>
+</tr>

+ 190 - 0
jeecg-boot-module-system/logs/jeecgboot-2021-12-01.0.log

@@ -0,0 +1,190 @@
+2021-12-01 10:48:30.384 [background-preinit] WARN  o.s.h.converter.json.Jackson2ObjectMapperBuilder:127 - For Jackson Kotlin classes support please add "com.fasterxml.jackson.module:jackson-module-kotlin" to the classpath
+2021-12-01 10:48:30.477 [main] INFO  org.jeecg.JeecgSystemApplication:50 - Starting JeecgSystemApplication v2.4.2 on DESKTOP-4V3SAD1 with PID 41152 (D:\porject\GEKE_SERVICE\jeecg-boot-module-system\target\jeecg-boot-module-system-2.4.2.jar started by LZP in D:\porject\GEKE_SERVICE\jeecg-boot-module-system\target)
+2021-12-01 10:48:30.478 [main] INFO  org.jeecg.JeecgSystemApplication:679 - The following profiles are active: dev
+2021-12-01 10:48:34.114 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate:244 - Multiple Spring Data modules found, entering strict repository configuration mode!
+2021-12-01 10:48:34.126 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate:126 - Bootstrapping Spring Data repositories in DEFAULT mode.
+2021-12-01 10:48:34.286 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate:182 - Finished Spring Data repository scanning in 130ms. Found 0 repository interfaces.
+2021-12-01 10:48:34.756 [main] INFO  o.j.minidao.auto.MinidaoAutoConfiguration:25 -  ******************* init miniDao config [ begin ] *********************** 
+2021-12-01 10:48:34.757 [main] INFO  o.j.minidao.auto.MinidaoAutoConfiguration:27 -  ------ minidao.base-package ------- org.jeecg.modules.jmreport.desreport.*
+2021-12-01 10:48:34.757 [main] INFO  o.j.minidao.auto.MinidaoAutoConfiguration:28 -  ------ minidao.db-type ------------ mysql
+2021-12-01 10:48:34.761 [main] INFO  o.j.minidao.auto.MinidaoAutoConfiguration:39 -  ------ minidao Set Interceptor  ------- 
+2021-12-01 10:48:34.762 [main] INFO  o.j.minidao.auto.MinidaoAutoConfiguration:50 -  *******************  init miniDao config  [ end ] *********************** 
+2021-12-01 10:48:34.834 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDao }
+2021-12-01 10:48:34.835 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDataSourceDao }
+2021-12-01 10:48:34.840 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbDao }
+2021-12-01 10:48:34.840 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbFieldDao }
+2021-12-01 10:48:34.841 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbParamDao }
+2021-12-01 10:48:34.841 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDictDao }
+2021-12-01 10:48:34.841 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDictItemDao }
+2021-12-01 10:48:34.841 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportLinkDao }
+2021-12-01 10:48:34.842 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportMapDao }
+2021-12-01 10:48:34.842 [main] INFO  o.j.minidao.factory.MiniDaoClassPathMapperScanner:48 - register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportShareDao }
+2021-12-01 10:48:35.368 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:35.373 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$56801547] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:35.405 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceCreatorAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceCreatorAutoConfiguration$$EnhancerBySpringCGLIB$$7c53d551] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:35.472 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'basicDataSourceCreator' of type [com.baomidou.dynamic.datasource.creator.BasicDataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:35.477 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jndiDataSourceCreator' of type [com.baomidou.dynamic.datasource.creator.JndiDataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:35.480 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'druidDataSourceCreator' of type [com.baomidou.dynamic.datasource.creator.DruidDataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:35.482 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'hikariDataSourceCreator' of type [com.baomidou.dynamic.datasource.creator.HikariDataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:35.483 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'dataSourceCreator' of type [com.baomidou.dynamic.datasource.creator.DataSourceCreator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:35.486 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'dynamicDataSourceProvider' of type [com.baomidou.dynamic.datasource.provider.YmlDynamicDataSourceProvider] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.330 [main] INFO  com.alibaba.druid.pool.DruidDataSource:994 - {dataSource-1,master} inited
+2021-12-01 10:48:36.337 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource:132 - dynamic-datasource - load a datasource named [master] success
+2021-12-01 10:48:36.338 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource:237 - dynamic-datasource initial loaded [1] datasource,primary datasource named [master]
+2021-12-01 10:48:36.340 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'dataSource' of type [com.baomidou.dynamic.datasource.DynamicRoutingDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.353 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'spring.jdbc-org.springframework.boot.autoconfigure.jdbc.JdbcProperties' of type [org.springframework.boot.autoconfigure.jdbc.JdbcProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.355 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration$JdbcTemplateConfiguration' of type [org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration$JdbcTemplateConfiguration$$EnhancerBySpringCGLIB$$57cd2e3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.379 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jdbcTemplate' of type [org.springframework.jdbc.core.JdbcTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.383 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration$NamedParameterJdbcTemplateConfiguration' of type [org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration$NamedParameterJdbcTemplateConfiguration$$EnhancerBySpringCGLIB$$f75dca13] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.395 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'namedParameterJdbcTemplate' of type [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.405 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#9' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.416 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportShareDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.419 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#8' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.421 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportMapDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.425 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#7' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.427 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportLinkDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.430 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#6' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.433 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportDictItemDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.436 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#5' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.438 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportDictDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.443 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#4' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.445 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportDbParamDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.449 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#3' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.450 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportDbFieldDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.453 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#2' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.455 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportDbDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.458 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3#1' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.460 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportDataSourceDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.464 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean '(inner bean)#4fd4cae3' of type [org.jeecgframework.minidao.aop.MiniDaoHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.466 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'jimuReportDao' of type [org.jeecgframework.minidao.factory.MiniDaoBeanFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.488 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.498 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration$$EnhancerBySpringCGLIB$$20b62c0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:36.823 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:38.206 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:38.225 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'shiroConfig' of type [org.jeecg.config.shiro.ShiroConfig$$EnhancerBySpringCGLIB$$4c2dec6f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:38.543 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'shiroRealm' of type [org.jeecg.config.shiro.ShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:39.589 [main] INFO  org.jeecg.config.shiro.ShiroConfig:212 - ===============(1)创建缓存管理器RedisCacheManager
+2021-12-01 10:48:39.592 [main] INFO  org.jeecg.config.shiro.ShiroConfig:230 - ===============(2)创建RedisManager,连接Redis..
+2021-12-01 10:48:39.596 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'redisManager' of type [org.crazycake.shiro.RedisManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:39.600 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:39.685 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:39.813 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$ecf1a476] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:40.047 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:40.066 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'redisConfig' of type [org.jeecg.config.redis.RedisConfig$$EnhancerBySpringCGLIB$$c316db83] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:40.125 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.apache.shiro.spring.boot.autoconfigure.ShiroBeanAutoConfiguration' of type [org.apache.shiro.spring.boot.autoconfigure.ShiroBeanAutoConfiguration$$EnhancerBySpringCGLIB$$a8226] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:40.133 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'eventBus' of type [org.apache.shiro.event.support.DefaultEventBus] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2021-12-01 10:48:40.693 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer:90 - Tomcat initialized with port(s): 8101 (http)
+2021-12-01 10:48:40.720 [main] INFO  org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-8101"]
+2021-12-01 10:48:40.733 [main] INFO  org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
+2021-12-01 10:48:40.733 [main] INFO  org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.19]
+2021-12-01 10:48:40.904 [main] INFO  o.a.c.c.C.[Tomcat].[localhost].[/jeecg-boot]:173 - Initializing Spring embedded WebApplicationContext
+2021-12-01 10:48:40.905 [main] INFO  org.springframework.web.context.ContextLoader:296 - Root WebApplicationContext: initialization completed in 10340 ms
+2021-12-01 10:48:45.290 [main] INFO  o.j.boot.starter.redis.config.RedisConfiguration:45 -  --- redis config init --- 
+2021-12-01 10:48:45.336 [main] INFO  org.jeecg.config.redis.RedisConfig:66 -  --- redis config init --- 
+2021-12-01 10:48:47.662 [main] INFO  org.quartz.impl.StdSchedulerFactory:1208 - Using default implementation for ThreadExecutor
+2021-12-01 10:48:47.667 [main] INFO  org.quartz.simpl.SimpleThreadPool:268 - Job execution threads will use class loader of thread: main
+2021-12-01 10:48:47.684 [main] INFO  org.quartz.core.SchedulerSignalerImpl:61 - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
+2021-12-01 10:48:47.685 [main] INFO  org.quartz.core.QuartzScheduler:229 - Quartz Scheduler v.2.3.1 created.
+2021-12-01 10:48:47.694 [main] INFO  o.s.scheduling.quartz.LocalDataSourceJobStore:672 - Using db table-based data access locking (synchronization).
+2021-12-01 10:48:47.697 [main] INFO  o.s.scheduling.quartz.LocalDataSourceJobStore:145 - JobStoreCMT initialized.
+2021-12-01 10:48:47.698 [main] INFO  org.quartz.core.QuartzScheduler:294 - Scheduler meta-data: Quartz Scheduler (v2.3.1) 'MyScheduler' with instanceId 'DESKTOP-4V3SAD11638326927666'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is clustered.
+
+2021-12-01 10:48:47.699 [main] INFO  org.quartz.impl.StdSchedulerFactory:1362 - Quartz scheduler 'MyScheduler' initialized from an externally provided properties instance.
+2021-12-01 10:48:47.699 [main] INFO  org.quartz.impl.StdSchedulerFactory:1366 - Quartz scheduler version: 2.3.1
+2021-12-01 10:48:47.699 [main] INFO  org.quartz.core.QuartzScheduler:2293 - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@c808207
+2021-12-01 10:48:48.900 [main] INFO  o.j.m.jmreport.config.JimuReportConfiguration:53 -  --- Init JimuReport Config --- 
+2021-12-01 10:48:50.147 [main] INFO  o.s.b.actuate.endpoint.web.EndpointLinksResolver:59 - Exposing 2 endpoint(s) beneath base path '/actuator'
+2021-12-01 10:48:50.331 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping:69 - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
+2021-12-01 10:48:50.408 [main] INFO  o.j.modules.jmreport.config.JmReportExecutorConfig:21 - ---创建线程池---
+2021-12-01 10:48:50.412 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor:171 - Initializing ExecutorService
+2021-12-01 10:48:50.414 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor:171 - Initializing ExecutorService 'jmReportTaskExecutor'
+2021-12-01 10:48:51.810 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper:160 - Context refreshed
+2021-12-01 10:48:51.838 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper:163 - Found 1 custom documentation plugin(s)
+2021-12-01 10:48:51.903 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner:41 - Scanning for api listing references
+2021-12-01 10:48:52.332 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_1
+2021-12-01 10:48:52.335 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_1
+2021-12-01 10:48:52.338 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_1
+2021-12-01 10:48:52.340 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_1
+2021-12-01 10:48:52.361 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_1
+2021-12-01 10:48:52.421 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_2
+2021-12-01 10:48:52.423 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_2
+2021-12-01 10:48:52.455 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_2
+2021-12-01 10:48:52.457 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_2
+2021-12-01 10:48:52.459 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_2
+2021-12-01 10:48:52.467 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_1
+2021-12-01 10:48:52.481 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_3
+2021-12-01 10:48:52.484 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_3
+2021-12-01 10:48:52.486 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_3
+2021-12-01 10:48:52.488 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_3
+2021-12-01 10:48:52.491 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_3
+2021-12-01 10:48:52.499 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_2
+2021-12-01 10:48:52.508 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_4
+2021-12-01 10:48:52.511 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_4
+2021-12-01 10:48:52.513 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_4
+2021-12-01 10:48:52.515 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_4
+2021-12-01 10:48:52.517 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_4
+2021-12-01 10:48:52.525 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_3
+2021-12-01 10:48:52.535 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_5
+2021-12-01 10:48:52.537 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_5
+2021-12-01 10:48:52.540 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_5
+2021-12-01 10:48:52.543 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_5
+2021-12-01 10:48:52.546 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_5
+2021-12-01 10:48:52.554 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_4
+2021-12-01 10:48:52.560 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_6
+2021-12-01 10:48:52.562 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_6
+2021-12-01 10:48:52.565 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_6
+2021-12-01 10:48:52.567 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_6
+2021-12-01 10:48:52.569 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_6
+2021-12-01 10:48:52.575 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_5
+2021-12-01 10:48:52.583 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_7
+2021-12-01 10:48:52.586 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_7
+2021-12-01 10:48:52.589 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_7
+2021-12-01 10:48:52.591 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_7
+2021-12-01 10:48:52.593 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_7
+2021-12-01 10:48:52.599 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_6
+2021-12-01 10:48:52.611 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_8
+2021-12-01 10:48:52.613 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_8
+2021-12-01 10:48:52.615 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_8
+2021-12-01 10:48:52.617 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_8
+2021-12-01 10:48:52.621 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_8
+2021-12-01 10:48:52.627 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_7
+2021-12-01 10:48:52.638 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_9
+2021-12-01 10:48:52.640 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_9
+2021-12-01 10:48:52.643 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_9
+2021-12-01 10:48:52.646 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_9
+2021-12-01 10:48:52.651 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_9
+2021-12-01 10:48:52.662 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_8
+2021-12-01 10:48:52.669 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_10
+2021-12-01 10:48:52.673 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_10
+2021-12-01 10:48:52.676 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_10
+2021-12-01 10:48:52.677 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_10
+2021-12-01 10:48:52.679 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_10
+2021-12-01 10:48:52.687 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_9
+2021-12-01 10:48:52.698 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addUsingPOST_11
+2021-12-01 10:48:52.701 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteUsingDELETE_11
+2021-12-01 10:48:52.704 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteBatchUsingDELETE_11
+2021-12-01 10:48:52.706 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: editUsingPUT_11
+2021-12-01 10:48:52.708 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryByIdUsingGET_11
+2021-12-01 10:48:52.715 [main] INFO  s.d.s.w.r.operation.CachingOperationNameGenerator:40 - Generating unique operation named: queryPageListUsingGET_10
+2021-12-01 10:48:52.966 [redisContainer-1] INFO  io.lettuce.core.EpollProvider:68 - Starting without optional epoll library
+2021-12-01 10:48:52.969 [redisContainer-1] INFO  io.lettuce.core.KqueueProvider:70 - Starting without optional kqueue library
+2021-12-01 10:48:53.871 [main] INFO  o.s.scheduling.quartz.SchedulerFactoryBean:726 - Starting Quartz Scheduler now
+2021-12-01 10:48:54.230 [main] INFO  o.s.scheduling.quartz.LocalDataSourceJobStore:3644 - ClusterManager: detected 1 failed or restarted instances.
+2021-12-01 10:48:54.231 [main] INFO  o.s.scheduling.quartz.LocalDataSourceJobStore:3503 - ClusterManager: Scanning for instance "DESKTOP-4V3SAD11638259352825"'s failed in-progress jobs.
+2021-12-01 10:48:54.244 [main] INFO  org.quartz.core.QuartzScheduler:547 - Scheduler MyScheduler_$_DESKTOP-4V3SAD11638326927666 started.
+2021-12-01 10:48:54.294 [main] INFO  org.apache.coyote.http11.Http11NioProtocol:173 - Starting ProtocolHandler ["http-nio-8101"]
+2021-12-01 10:48:54.325 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer:204 - Tomcat started on port(s): 8101 (http) with context path '/jeecg-boot'
+2021-12-01 10:48:54.330 [main] INFO  org.jeecg.JeecgSystemApplication:59 - Started JeecgSystemApplication in 25.454 seconds (JVM running for 26.536)
+2021-12-01 10:48:54.364 [main] INFO  org.jeecg.JeecgSystemApplication:37 - 
+----------------------------------------------------------
+	Application Jeecg-Boot is running! Access URLs:
+	Local: 		http://localhost:8101/jeecg-boot/
+	External: 	http://10.0.0.94:8101/jeecg-boot/
+	Swagger文档: 	http://10.0.0.94:8101/jeecg-boot/doc.html
+----------------------------------------------------------

+ 11 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java

@@ -804,4 +804,15 @@ public class SysPermissionController {
 		}
 		return result;
 	}
+
+	/**
+	 * H5菜单节点查询
+	 * @param username
+	 * @return
+	 */
+	@RequestMapping(value = "/qeryPerssion")
+	public List<Map<String,Object>>qeryPerssion(String userid){
+		List<Map<String, Object>> maps = sysPermissionService.queryH5ByUsername(userid);
+		return maps;
+	}
 }

+ 44 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -31,6 +31,7 @@ import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.*;
 import org.jeecg.modules.geke.attendance.service.IAttendanceService;
+import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
 import org.jeecg.modules.geke.vacation.entity.Vacation;
 import org.jeecg.modules.geke.vacation.mapper.VacationMapper;
 import org.jeecg.modules.geke.vacation.service.IVacationService;
@@ -158,11 +159,11 @@ public class SysUserController {
      */
     @PermissionData(pageComponent = "system/UserLists")
     @RequestMapping(value = "/lists", method = RequestMethod.GET)
-    public  List<SysUser> queryPageList(String username,String date) throws ParseException {
+    public  List<SysUser> queryPageList(String username,String date,String depid) throws ParseException {
         Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
 
 
-        List<SysUser> sysUsers = sysUserService.queryUsers(username);
+        List<SysUser> sysUsers = sysUserService.queryUsers(username,depid);
         List<String>userids=new ArrayList<>();
         if (sysUsers.size()!=0){
             for (SysUser u:sysUsers){
@@ -186,7 +187,6 @@ public class SysUserController {
 
 
 
-
     /**
      * 获取工资方法情况人事部门
      * @param user
@@ -197,9 +197,9 @@ public class SysUserController {
      */
 
     @RequestMapping(value = "/querywagesList", method = RequestMethod.GET)
-    public  List<SysUser> querywagesList(String username){
+    public  List<SysUser> querywagesList(String username,String depid,String date){
         Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
-        List<SysUser> sysUsers = sysUserService.queryUsers(username);
+        List<SysUser> sysUsers = sysUserService.queryUsers(username,depid);
         List<String>userids=new ArrayList<>();
         if (sysUsers.size()!=0){
             for (SysUser u:sysUsers){
@@ -246,7 +246,10 @@ public class SysUserController {
             Map<String,String>  useDepNames = sysUserService.getDepNamesByUserIds(userIds);
             pageList.getRecords().forEach(item->{
                 item.setOrgCodeTxt(useDepNames.get(item.getId()));
-                item.setOrgText(sysUserService.getOrgName(item.getId()).get(0));
+                List<String> orgName = sysUserService.getOrgName(item.getId());
+                if (orgName!=null&&orgName.size()>0){
+                    item.setOrgText(sysUserService.getOrgName(item.getId()).get(0));
+                }
             });
         }
 		result.setSuccess(true);
@@ -321,6 +324,30 @@ public class SysUserController {
 		return Result.ok("删除用户成功");
 	}
 
+
+
+    @RequestMapping(value = "/queryLeaveList", method = RequestMethod.GET)
+    public  List<SysUser> queryLeaveList(String username,String depid,String date){
+        Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
+        List<SysUser> sysUsers = sysUserService.queryEmpByLeave(username,depid);
+        List<String>userids=new ArrayList<>();
+        if (sysUsers.size()!=0){
+            for (SysUser u:sysUsers){
+                userids.add(u.getId());
+            }
+        }
+        //批量查询用户的所属部门
+        //step.1 先拿到全部的 useids
+        //step.2 通过 useids,一次性查询用户的所属部门名字
+        if(userids.size()>0){
+            Map<String,String>  useDepNames = sysUserService.getDepNamesByUserIds(userids);
+            sysUsers.forEach(item->{
+                item.setOrgCodeTxt(useDepNames.get(item.getId()));
+            });
+        }
+
+        return sysUsers;
+    }
 	/**
 	 * 批量删除用户
 	 */
@@ -1587,4 +1614,15 @@ public class SysUserController {
         sysUser.setPassword(password);
         return sysUserService.changePassword(sysUser);
     }
+
+    @RequestMapping(value = "/userShiftList", method = RequestMethod.GET)
+    public Result<?> userShiftList(SysUser sysUser,
+                                    @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                    @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                    HttpServletRequest req) {
+        QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(sysUser, req.getParameterMap());
+        Page<SysUser> page = new Page<>(pageNo,pageSize);
+        IPage<SysUser> pageList = sysUserService.queryUserShift(page,sysUser.getUsername(),sysUser.getDepartId(),sysUser.getId());
+        return Result.OK(pageList);
+    }
 }

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysWeixinController.java

@@ -63,6 +63,7 @@ public class SysWeixinController {
      */
     @RequestMapping("/synchronizationWeixin")
     public Map<String, Object> synchronizationWeixin(String id,String type,String typeGo) throws IOException, InterruptedException {
+        UrlData.getToken();
         return weixinUserService.synchronizationWeixin(id,type,typeGo);
     }
 

+ 10 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java

@@ -209,4 +209,14 @@ public class SysUser implements Serializable {
 
     /**用户所属组织**/
     private  transient  String orgText;
+    /**用户所属组织**/
+    private transient  String del2;
+    /**用户所属组织**/
+    private  transient String del3;
+    /**用户所属组织**/
+    private transient  String del4;
+    /**用户所属组织**/
+    private transient  String del5;
+
+
 }

+ 8 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysPermissionMapper.java

@@ -1,7 +1,9 @@
 package org.jeecg.modules.system.mapper;
 
 import java.util.List;
+import java.util.Map;
 
+import okhttp3.internal.platform.OpenJSSEPlatform;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
@@ -52,6 +54,10 @@ public interface SysPermissionMapper extends BaseMapper<SysPermission> {
 	 */
 	public int queryCountByUsername(@Param("username") String username, @Param("permission") SysPermission sysPermission);
 
-
-
+	/**
+	 * H5根据用户账号查询菜单权限
+	 * @param username
+	 * @return
+	 */
+	public  List<Map<String,Object>>queryH5ByUsername(@Param("username")String username);
 }

+ 15 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -145,7 +145,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	List<SysUser> queryByDepIds(@Param("departIds")List<String> departIds,@Param("username") String username);
 
 	//根据真实姓名查询
-	List<SysUser>queryUsers(@Param("username") String username);
+	List<SysUser>queryUsers(@Param("username") String username,@Param("depid")String depid);
 
 
 	public  SysUser sysusers(@Param("id") String id);
@@ -185,4 +185,18 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
 	 //根据用户id删除部门中间表数据
 	 int delUserByUserID(@Param("userid")String userid);
+
+	/**
+	 * H5查询部门用户假期
+	 * @param username
+	 * @param depid
+	 * @return
+	 */
+	 List<SysUser>queryEmpByLeave(@Param("username")String username,@Param("depid")String depid);
+
+
+	List<String>getUserIds(@Param("date")String date);
+
+	List<SysUser> queryUserShift(Page<SysUser> page,@Param("username") String username,@Param("userids")List<String>userids,@Param("deptid")String deptid,@Param("userid")String userid);
+
 }

+ 15 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml

@@ -103,6 +103,20 @@
 			</if>
 		) temp
 	</select>
-	
+    <select id="queryH5ByUsername" resultType="java.util.Map">
+
+		SELECT p.name,p.component,p.icon
+		FROM sys_permission p
+		WHERE (exists(
+				SELECT a.id
+				FROM sys_role_permission a join sys_role b
+												ON a.role_id = b.id join sys_user_role c
+																		 ON c.role_id = b.id join sys_user d
+																								  ON d.id = c.user_id
+				WHERE p.id = a.permission_id
+
+				  AND d.id =#{username} )) and p.del_flag = 0
+	</select>
+
 
 </mapper>

+ 42 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -180,10 +180,15 @@
 		</if>
 	</select>
     <select id="queryUsers" resultType="org.jeecg.modules.system.entity.SysUser">
-		select *from sys_user where 1=1
+		select a.* from sys_user a left join sys_user_depart b on b.user_id=a.id
+		where 1=1
 		<if test="username!=null and ''!=username">
-		 and 	realname like concat(concat('%',#{username}),'%')
+		 and 	a.realname like concat(concat('%',#{username}),'%')
+		</if>
+		<if test="depid!=null and ''!=depid">
+			and b.dep_id=#{depid}
 		</if>
+
 	</select>
 
 	<select id="sysusers" resultType="org.jeecg.modules.system.entity.SysUser">
@@ -273,4 +278,39 @@ on a.depart_name=b.orgCodeTxt
 		 and 	id=#{id}
 		</if>
 	</select>
+	<select id="queryEmpByLeave" resultType="org.jeecg.modules.system.entity.SysUser">
+		select  a.realname,a.id,a.avatar,ifnull(d.year_day,0) as 'del2',ifnull(d.available_day,0) as 'del3' from sys_user a left join sys_user_depart b on a.id =b.user_id left join sys_depart  c on b.dep_id=c.id
+											   left join geke_vacation_header d on a.id=d.user_id
+		where 1=1
+		<if test="depid!=null and ''!=depid">
+			and  c.id=#{depid}
+		</if>
+		<if test="username!=null and ''!=username">
+			and a.realname like concat(concat('%',#{username}),'%')
+		</if>
+	</select>
+	<select id="getUserIds" resultType="java.lang.String">
+		select user_id from geke_user_shift
+		<if test="date!=null and ''!=date">
+			where date_format(shift_date,'%Y-%m-%d')=date_format(#{date},'%Y-%m-%d')
+		</if>
+	</select>
+	<select id="queryUserShift" resultType="org.jeecg.modules.system.entity.SysUser">
+		select DISTINCT a.*from sys_user a left join sys_user_depart b on a.id=b.user_id   where a.del_flag='0'
+		<if test="userids!=null and userids.size() > 0">
+			and a.id not in
+			<foreach collection="userids" index="index" item="id" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+		</if>
+		<if test="username!=null and ''!=username">
+			and a.realname like concat(concat('%',#{username}),'%')
+		</if>
+		<if test="deptid!=null and ''!=deptid">
+			and b.dep_id=#{deptid}
+		</if>
+		<if test="userid!=null and ''!=userid">
+			and a.id=#{userid}
+		</if>
+	</select>
 </mapper>

+ 10 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysPermissionService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.system.service;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.common.exception.JeecgBootException;
@@ -61,4 +62,13 @@ public interface ISysPermissionService extends IService<SysPermission> {
 	 * @return
 	 */
 	public boolean hasPermission(String username, String url);
+
+
+	/**
+	 * H5用户菜单
+	 * @param username
+	 * @return
+	 */
+	public  List<Map<String,Object>>queryH5ByUsername(String username);
+
 }

+ 12 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -29,9 +29,15 @@ import org.springframework.transaction.annotation.Transactional;
  */
 public interface ISysUserService extends IService<SysUser> {
 
+	/**
+	 * H5部门考勤
+	 * @param username
+	 * @param depid
+	 * @return
+	 */
+	List<SysUser>queryEmpByLeave(String username,String depid);
 
-
-	List<SysUser>queryUsers( String username);
+	List<SysUser>queryUsers( String username,String depid);
 
 	/**
 	 * 重置密码
@@ -288,4 +294,8 @@ List<String>  departIds(String userid);
 	//根据用户id删除部门中间表数据
 	int delUserByUserID(String userid);
 
+
+	Page<SysUser>queryUserShift(Page<SysUser> page,String username,String deptid,String userid);
+
+
 }

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java

@@ -263,4 +263,9 @@ public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, S
 		}
 	}
 
+	@Override
+	public List<Map<String, Object>> queryH5ByUsername(String username) {
+		return sysPermissionMapper.queryH5ByUsername(username);
+	}
+
 }

+ 33 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -32,6 +32,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -72,8 +73,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	private ITeamsService teamsService;
 
 	@Override
-	public List<SysUser> queryUsers(String username) {
-		return userMapper.queryUsers(username);
+	public List<SysUser> queryEmpByLeave(String username, String depid) {
+		return userMapper.queryEmpByLeave(username,depid);
+	}
+
+	@Override
+	public List<SysUser> queryUsers(String username,String depid) {
+		return userMapper.queryUsers(username,depid);
 	}
 
 	@Override
@@ -541,5 +547,30 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		return userMapper.delUserByUserID(userid);
 	}
 
+	@Override
+	public Page<SysUser> queryUserShift(Page<SysUser> page, String username,String deptid,String userid) {
+		List<String> userIds=new ArrayList<>();
+		if (userid==null||userid.equals("")) {
+			Date date = new Date();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+			userIds = userMapper.getUserIds(sdf.format(date));
+		}
+		List<SysUser> sysUsers = userMapper.queryUserShift(page, username, userIds,deptid,userid);
+		List<String>ids=new ArrayList<>();
+		if (sysUsers!=null&&sysUsers.size()>0) {
+			for (SysUser ls : sysUsers) {
+				ids.add(ls.getId());
+			}
+		}
+		if(ids!=null && ids.size()>0){
+			Map<String,String>  useDepNames = this.getDepNamesByUserIds(ids);
+			sysUsers.forEach(item->{
+				item.setOrgCodeTxt(useDepNames.get(item.getId()));
+			});
+		}
+
+		return page.setRecords(sysUsers);
+	}
+
 
 }

+ 431 - 472
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/WeixinUserImpl.java

@@ -34,6 +34,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -77,139 +80,196 @@ public class WeixinUserImpl implements IWeixinUserService{
 
     @Override
     public Map<String, Object> pullData() throws IOException {
-        int userCount = 0;//拉取企业微信用户数据成功的数量
-        int userErrCount = 0;//拉取企业微信用户数据失败的数量
-        String msg = "";//返回结果码
-        Map<String, Object> map = Maps.newHashMap();
-        Map<String, Object> headers = Maps.newHashMap();//设置请求头
-        headers.put("Content-Type", "application/json; charset=utf-8");
-        String createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token=" + UrlData.getToken();//获取token带入路径中
-        Map<String, Object> params = Maps.newHashMap();
-        String s = MyHttpUtils.httpPutRequestWithJson(createDeptUrl, headers, null);//get请求方法
-        Map mapTypes = null;
-        mapTypes = JSON.parseObject(s);//json格式转换为自定义对象
-        ObjectMapper mapper = new ObjectMapper();//定义 org.codehaus.jackson
-        String errcode = "";
-        errcode = mapTypes.get("errcode").toString();//获取请求返回的结果码
-        if (errcode.equals("0")) {
-            String department = mapTypes.get("department").toString();//获取部门结果集的字符串
-            List<WeixinDepart> list = mapper.readValue(department, new TypeReference<List<WeixinDepart>>() {
-            });//将部门字符串转换为集合
-            if (list.size() > 0) {
-                String depid = "";
+        Map<String, Object>maps=new HashMap<>();
+        String msg = "ok";//返回结果码
+        ObjectMapper mapper = new ObjectMapper();
+        try {
+            Map<String, Object> map = WeixinDept();
+            if (map.get("code").equals("0")) {
+                Object deptlist = map.get("deptlist");
+                List<WeixinDepart> list = mapper.readValue(deptlist.toString(), new TypeReference<List<WeixinDepart>>() {
+                });//将部门字符串转换为集合
                 for (WeixinDepart ls : list) {
-                    SysDepart sysDepart = new SysDepart();
-                    sysDepart.setId(ls.getId());
-                    sysDepart.setDepartName(ls.getName());
-                    sysDepart.setDepartNameEn(ls.getName_en());
-                    if (!ls.getParentid().equals("0")) {
-                        depid = ls.getParentid();
-                    }
-                    sysDepart.setParentId(depid);
-                    String pid = "";
-                    if (!ls.getParentid().equals("0")) {
-                        pid = ls.getParentid();
+                    Boolean deptsave = deptsave(ls);
+                }
+            }
+
+            Map<String, Object> m = WeixinUser();
+            if (m.get("code").equals("0")) {
+                List<WeixinUser> list = mapper.readValue(m.get("userlist").toString(), new TypeReference<List<WeixinUser>>() {
+                });//将用户字符串转换为集合
+
+                if (list.size() > 0) {
+                    for (WeixinUser ls : list) {
+                        Boolean aBoolean = userSave(ls);
                     }
-                    JSONObject formData = new JSONObject();
-                    formData.put("parentId", pid);
-                    String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.DEPART, formData);
-                    //update-end--Author:baihailong  Date:20191209 for:部门编码规则生成器做成公用配置
-                    sysDepart.setOrgCode(codeArray[0]);
-                    String orgType = codeArray[1];
-                    sysDepart.setOrgType(String.valueOf(orgType));
-                    sysDepart.setCreateTime(new Date());
-                    sysDepart.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
-                    Boolean aBoolean = sysDepartService.saveDepart(sysDepart);
                 }
             }
-            msg = errcode;
-        } else {
-            msg = errcode;
+        }catch (Exception e){
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
         }
+        maps.put("msg", msg);
+        return maps;
+    }
 
-        createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=" + UrlData.getToken() + "&department_id=1&fetch_child=1";
-        String res = MyHttpUtils.httpPutRequestWithJson(createDeptUrl, headers, null);//get请求方法
-        mapTypes = JSON.parseObject(res);
-        errcode = mapTypes.get("errcode").toString();
-        if (errcode.equals("0")) {
-            String userlist = mapTypes.get("userlist").toString();//获取所有用户的结果集字符串
-            List<WeixinUser> list = mapper.readValue(userlist, new TypeReference<List<WeixinUser>>() {
-            });//将用户字符串转换为集合
-            if (list.size() > 0) {
-                for (WeixinUser ls : list) {
-                    String depids="";
-                    SysUser sysUser = new SysUser();
-                    sysUser.setId(ls.getUserid());
-                    sysUser.setRealname(ls.getName());
-                    sysUser.setSex(Integer.parseInt(ls.getGender()));
-                    sysUser.setEmail(ls.getEmail());
-                    sysUser.setPhone(ls.getMobile());
-                    sysUser.setDelFlag(Integer.parseInt(CommonConstant.DEL_FLAG_0.toString()));
-                    sysUser.setStatus(1);
-                    sysUser.setCreateTime(new Date());
-                    if (!"".equals(ls.getPosition())&&ls.getPosition()!=null){
-                        String one = positionService.getOne(ls.getPosition());
-                        if (!"".equals(one)&&one!=null){
-                            sysUser.setPost(one);
-                        }
-                    }
-                    String userIden="1";
-                    if (ls.getIs_leader_in_dept()!=null&&ls.getIs_leader_in_dept().length>0){
-                        if (ls.getIs_leader_in_dept()[0].equals("1")||ls.getIs_leader_in_dept()[0]=="1"){
-                            userIden="2";
-                        }
-                    }
-                    sysUser.setUserIdentity(Integer.parseInt(userIden));
-                    String[] department = ls.getDepartment();
-                    if (department.length > 0) {
-                        sysUserService.delUserByUserID(ls.getUserid());
-                        for (String depId : department) {
-                            SysUserDepart sysUserDepart = new SysUserDepart();
-                            sysUserDepart.setUserId(ls.getUserid());
-                            sysUserDepart.setDepId(depId);
-                            depids+=depId+",";
-                            Boolean aBoolean = sysUserDepartService.saveUserDepart(sysUserDepart);
-                        }
-                    }
-                    sysUser.setDepartIds(depids);
-                    Boolean add = sysUserService.add(sysUser);
-                    depids="";
-                    if (add) {
-                        userCount++;
-                    } else {
-                        userErrCount++;
-                    }
+    /**
+     * 保存微信用户
+     * @param ls
+     * @return
+     */
+    public Boolean userSave(WeixinUser ls){
+        String depids="";
+        SysUser sysUser = new SysUser();
+        Boolean b;
+        try {
+            sysUser.setId(ls.getUserid());
+            sysUser.setRealname(ls.getName());
+            sysUser.setSex(Integer.parseInt(ls.getGender()));
+            sysUser.setEmail(ls.getEmail());
+            sysUser.setPhone(ls.getMobile());
+            sysUser.setDelFlag(Integer.parseInt(CommonConstant.DEL_FLAG_0.toString()));
+            sysUser.setStatus(1);
+            sysUser.setCreateTime(new Date());
+            if (!"".equals(ls.getPosition()) && ls.getPosition() != null) {
+                String one = positionService.getOne(ls.getPosition());
+                if (!"".equals(one) && one != null) {
+                    sysUser.setPost(one);
+                }
+            }
+            String userIden = "1";
+            if (ls.getIs_leader_in_dept() != null && ls.getIs_leader_in_dept().length > 0) {
+                if (ls.getIs_leader_in_dept()[0].equals("1") || ls.getIs_leader_in_dept()[0] == "1") {
+                    userIden = "2";
                 }
             }
-            msg = errcode;
+            sysUser.setUserIdentity(Integer.parseInt(userIden));
+            String[] department = ls.getDepartment();
+            if (department.length > 0) {
+                sysUserService.delUserByUserID(ls.getUserid());
+                for (String depId : department) {
+                    SysUserDepart sysUserDepart = new SysUserDepart();
+                    sysUserDepart.setUserId(ls.getUserid());
+                    sysUserDepart.setDepId(depId);
+                    depids += depId + ",";
+                    Boolean aBoolean = sysUserDepartService.saveUserDepart(sysUserDepart);
+                }
+            }
+            sysUser.setDepartIds(depids);
+            Boolean add = sysUserService.add(sysUser);
+            b=true;
+        }catch (Exception e){
+            e.printStackTrace();
+            b=false;
+        }
+        return b;
+    }
+
 
-        } else {
-            msg = errcode;
+
+
+    /**
+     * 获取微信用户
+     * @return
+     * @throws IOException
+     */
+    public Map<String,Object>WeixinUser() throws IOException {
+        Map mapTypes = null;
+        String errcode = "";
+        Map<String, Object> headers = Maps.newHashMap();//设置请求头
+        Map<String, Object> map = Maps.newHashMap();
+        headers.put("Content-Type", "application/json; charset=utf-8");
+        try {
+            String createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=" + UrlData.token + "&department_id=1&fetch_child=1";
+            String res = MyHttpUtils.httpPutRequestWithJson(createDeptUrl, headers, null);//get请求方法
+            mapTypes = JSON.parseObject(res);
+            errcode = mapTypes.get("errcode").toString();
+            map.put("code",errcode);
+            map.put("userlist",mapTypes.get("userlist"));
+        }catch (Exception e){
+            e.printStackTrace();
+            map.put("code","1");
         }
+        return map;
+    }
+
 
-        map.put("userCount", userCount);
-        map.put("userErrCount", userErrCount);
-        map.put("errCode", errcode);
+    /**
+     * 获取微信部门信息
+     * @return
+     */
+    public Map<String,Object>WeixinDept() throws IOException {
+        Map<String, Object> map = Maps.newHashMap();
+        Map<String, Object> headers = Maps.newHashMap();//设置请求头
+        headers.put("Content-Type", "application/json; charset=utf-8");
+        try {
+            String createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token=" + UrlData.token;//获取token带入路径中
+            Map<String, Object> params = Maps.newHashMap();
+            String s = MyHttpUtils.httpPutRequestWithJson(createDeptUrl, headers, null);//get请求方法
+            Map mapTypes = null;
+            mapTypes = JSON.parseObject(s);//json格式转换为自定义对象
+            ObjectMapper mapper = new ObjectMapper();//定义 org.codehaus.jackson
+            String errcode = "";
+            errcode = mapTypes.get("errcode").toString();//获取请求返回的结果码
+            map.put("code",errcode);
+            map.put("deptlist",mapTypes.get("department"));
+        }catch (Exception e){
+            e.printStackTrace();
+            map.put("code","1");
+        }
         return map;
     }
 
+    /**
+     * 部门保存或修改
+     * @param ls
+     * @return
+     */
+    public Boolean deptsave(WeixinDepart ls){
+        SysDepart sysDepart = new SysDepart();
+        JSONObject formData = new JSONObject();
+        Boolean b;
+        try {
+            sysDepart.setId(ls.getId());
+            sysDepart.setDepartName(ls.getName());
+            sysDepart.setDepartNameEn(ls.getName_en());
+            String depid = "";
+            if (!ls.getParentid().equals("0")) {
+                depid = ls.getParentid();
+            }
+            sysDepart.setParentId(depid);
+            String pid = "";
+            if (!ls.getParentid().equals("0")) {
+                pid = ls.getParentid();
+            }
+            formData.put("parentId", pid);
+            String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.DEPART, formData);
+            //update-end--Author:baihailong  Date:20191209 for:部门编码规则生成器做成公用配置
+            sysDepart.setOrgCode(codeArray[0]);
+            String orgType = codeArray[1];
+            sysDepart.setOrgType(String.valueOf(orgType));
+            sysDepart.setCreateTime(new Date());
+            sysDepart.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
+            Boolean aBoolean = sysDepartService.saveDepart(sysDepart);
+            b=true;
+        }catch (Exception e){
+            e.printStackTrace();
+            b=false;
+        }
+        return b;
+    }
+
     @Override
     public Map<String, Object> synchronizationWeixin(String id, String type, String typeGo) throws IOException, InterruptedException {
-        long startTime = System.currentTimeMillis(); // 获取开始时间
-        //int count = 0;//同步到企业微信数据成功的数量
-       // int errCount = 0;//同步到企业微信数据失败的数量
-        String msg="";
+        String msg="ok";
         Map<String, Object> map = Maps.newHashMap();
         try{
             SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
-            String token = UrlData.getToken();
-            Map<String, Object> headers = Maps.newHashMap();
-            headers.put("Content-Type", "application/json; charset=utf-8");
             Map<String, Object> params = Maps.newHashMap();
             List<SysUser> list = sysUserService.list();
             List<String>idents=new ArrayList<>();
-            List<Future> resultList = new ArrayList<>();
-            CountDownLatch c = new CountDownLatch(list.size());
             if (list.size() > 0) {
                 for (SysUser ls : list) {
            List<String> userDepart = sysUserDepartService.getUserDepart(ls.getId());
@@ -220,14 +280,11 @@ public class WeixinUserImpl implements IWeixinUserService{
                         if (ls.getUserIdentity() == 2){
                             userIdent = "1";
                         }
-
                     }
                     idents.add(userIdent);
                 }
             }
-//                    resultList.add(es.submit(new FatureTest(sysUserService,ls.getId(),ls.getRealname(),ls.getEgName(),ls.getPhone(),userDepart,ls.getPost(),ls.getSex().toString(),ls.getEmail(),ls.getTelephone(),ls.getStatus().toString(),idents,c)));
-//                    idents=new ArrayList<>();
-               String postName = "";
+            String postName = "";
             if (ls.getPost() != null&&!ls.getPost().equals("")) {
                 postName = sysUserService.getPostName(ls.getPost());
             }
@@ -242,72 +299,75 @@ public class WeixinUserImpl implements IWeixinUserService{
             params.put("telephone", ls.getTelephone());
             params.put("enable", ls.getStatus());
             params.put("is_leader_in_dept", idents);
-            String createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=" + token + "&userid=" + ls.getId();
+            String s = WeixinUser(params);
+            idents=new ArrayList<>();
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
+
+        }
+        map.put("msg", msg);
+        return map;
+
+    }
+
+
+    /**
+     * 同步到微信
+     * @param params
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    public String WeixinUser(Map<String, Object> params) throws UnsupportedEncodingException {
+        Map<String, Object> headers = Maps.newHashMap();
+        headers.put("Content-Type", "application/json; charset=utf-8");
+        Map mapTypes = null;
+        String errcode = "";
+        String createDeptUrl="";
+        try {
+            createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=" + UrlData.token + "&userid=" + params.get("userid").toString();
             String res = MyHttpUtils.httpPutRequestWithJson(createDeptUrl, headers, null);
-            Map mapTypes = null;
             mapTypes = JSON.parseObject(res);
-            String errcode = "";
             errcode = mapTypes.get("errcode").toString();
             if (errcode.equals("0")) {
-                createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=" + token + "";
+                createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=" + UrlData.token + "";
 
             } else {
-                createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=" + token + "";
+                createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=" + UrlData.token + "";
             }
 
             String s = MyHttpUtils.httpPostRequestWithJson(createDeptUrl, headers, params);
-            idents=new ArrayList<>();
             mapTypes = JSON.parseObject(s);
             errcode = mapTypes.get("errcode").toString();
-        }
-            }
-            msg="ok";
         }catch (Exception e){
-            msg="err";
             e.printStackTrace();
-
+            errcode="1";
         }
-        long endTime = System.currentTimeMillis(); // 获取结束时间
-        Double st = (endTime - startTime) / 1000.0;
-        String s = st.toString();
-        Datatb datatb = new Datatb();
-        String state = "1";
-        if (msg.equals("ok")) {
-            state = "0";
-        }
-        datatb.setState(state);
-        datatb.setId(id);
-        datatb.setType(type);
-        datatb.setTypeGo(typeGo);
-        datatb.setDate(new Date());
-        datatb.setTime(s);
-        datatbService.saveData(datatb);
-        System.out.println("程序总运行时间: " + (endTime - startTime) / 1000.0 + "s" + (endTime - startTime));
-        map.put("msg", msg);
-        return map;
-
+        return errcode;
     }
 
-    @Override
-    public Map<String, Object> synchronizationSign(String date, String id, String type, String typeGo) throws IOException, ParseException {
-        long startTime = System.currentTimeMillis(); // 获取开始时间
-        int count = 0;
-        int errCount = 0;
-        Map<String, Object> map = Maps.newHashMap();
-        String token = UrlData.getToken();
+
+    /**
+     * 批量获取微信用户id
+     * @return
+     * @throws IOException
+     */
+    public List<String>WeixinUserIdList() throws IOException {
         Map<String, Object> headers = Maps.newHashMap();
+        List<String> userIds = new ArrayList<>();
+        ObjectMapper mapper = new ObjectMapper();
         headers.put("Content-Type", "application/json; charset=utf-8");
+        Map mapTypes = null;
+        String errcode = "";
         try {
-            Map<String, Object> params = Maps.newHashMap();
-            List<WeixinSign> wxls = new ArrayList<>();
-            String createtUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=" + token + "&department_id=1&fetch_child=1";//获取token带入路径中
+            String createtUrl = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=" + UrlData.token + "&department_id=1&fetch_child=1";//获取token带入路径中
             String res = MyHttpUtils.httpPutRequestWithJson(createtUrl, headers, null);
-            Map mapTypes = null;
             mapTypes = JSON.parseObject(res);
-            String errcode = "";
-            ObjectMapper mapper = new ObjectMapper();
             errcode = mapTypes.get("errcode").toString();
-            List<String> userIds = new ArrayList<>();
             if (errcode.equals("0")) {
                 String userlist = mapTypes.get("userlist").toString();//获取用户结果集的字符串
                 List<WeixinUser> list = mapper.readValue(userlist, new TypeReference<List<WeixinUser>>() {
@@ -318,75 +378,94 @@ public class WeixinUserImpl implements IWeixinUserService{
                     }
                 }
             }
-            Calendar calendar = Calendar.getInstance();
-            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            calendar.setTime(simpleDateFormat.parse(date));
-       /* int year = calendar.get(calendar.YEAR);//年份
-        int month = calendar.get(calendar.MONTH) + 1;//月份*/
-            int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
-            if (actualMaximum >= 30) {
-                String sDate = "";
-                String eDate = "";
-                Date stDate = null;
-                Date enDate = null;
-                long startDate;
-                long endDate;
-                sDate = date + "-01 00:00:00";
-                eDate = date + "-29 23:59:59";
-                stDate = sdf.parse(sDate);
-                enDate = sdf.parse(eDate);
-                startDate = stDate.getTime() / 1000;
-                endDate = enDate.getTime() / 1000;
-
-                createtUrl = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=" + UrlData.getSignToken();
-                params.put("opencheckindatatype", "3");
-                params.put("starttime", startDate);
-                params.put("endtime", endDate);
-                params.put("useridlist", userIds);
-                String rows = MyHttpUtils.httpPostRequestWithJson(createtUrl, headers, params);
-                mapTypes = JSON.parseObject(rows);
-                errcode = mapTypes.get("errcode").toString();
-                if (errcode.equals("0")) {
-                    String checkindata = mapTypes.get("checkindata").toString();//获取考勤结果集的字符串
-                    List<WeixinSign> list = mapper.readValue(checkindata, new TypeReference<List<WeixinSign>>() {
-                    });
-                    if (list.size() > 0) {
-                        for (WeixinSign ls : list) {
-                            wxls.add(ls);
-                        }
-                    }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return userIds;
+    }
 
-                }
+    /**
+     * 获取用户考勤信息
+     * @param startDate
+     * @param endDate
+     * @param userIds
+     * @return
+     * @throws IOException
+     */
+    public List<WeixinSign>WeixinSignList(String startDate,String endDate,List<String> userIds) throws IOException {
+        Map<String, Object> params = Maps.newHashMap();
+        Map<String, Object> headers = Maps.newHashMap();
+        ObjectMapper mapper = new ObjectMapper();
+        List<WeixinSign> ls=null;
+        headers.put("Content-Type", "application/json; charset=utf-8");
+        Map mapTypes = null;
+        String errcode = "";
+        String createtUrl;
+        try {
+            createtUrl = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=" + UrlData.SignToken;
+            params.put("opencheckindatatype", "3");
+            params.put("starttime", startDate);
+            params.put("endtime", endDate);
+            params.put("useridlist", userIds);
+            String rows = MyHttpUtils.httpPostRequestWithJson(createtUrl, headers, params);
+            mapTypes = JSON.parseObject(rows);
+            errcode = mapTypes.get("errcode").toString();
+            if (errcode.equals("0")) {
+                String checkindata = mapTypes.get("checkindata").toString();//获取考勤结果集的字符串
+                List<WeixinSign> list = mapper.readValue(checkindata, new TypeReference<List<WeixinSign>>() {
+                });
+                ls = list;
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return ls;
+    }
 
-                sDate = date + "-30 00:00:00";
-                eDate = date + "-" + actualMaximum + " 23:59:59";
-                stDate = sdf.parse(sDate);
-                enDate = sdf.parse(eDate);
-                startDate = stDate.getTime() / 1000;
-                endDate = enDate.getTime() / 1000;
-
-                createtUrl = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=" + UrlData.getSignToken();
-                params.put("opencheckindatatype", "3");
-                params.put("starttime", startDate);
-                params.put("endtime", endDate);
-                params.put("useridlist", userIds);
-                String data = MyHttpUtils.httpPostRequestWithJson(createtUrl, headers, params);
-                mapTypes = JSON.parseObject(data);
-                errcode = mapTypes.get("errcode").toString();
-                if (errcode.equals("0")) {
-                    String checkindata = mapTypes.get("checkindata").toString();//获取考勤结果集的字符串
-                    List<WeixinSign> list = mapper.readValue(checkindata, new TypeReference<List<WeixinSign>>() {
-                    });
-                    if (list.size() > 0) {
-                        for (WeixinSign ls : list) {
-                            wxls.add(ls);
-                        }
-                    }
+    /**
+     * 同步考勤信息到中间平台
+     * @param date
+     * @param id
+     * @param type
+     * @param typeGo
+     * @return
+     * @throws IOException
+     * @throws ParseException
+     */
+    @Override
+    public Map<String, Object> synchronizationSign(String date, String id, String type, String typeGo) throws IOException, ParseException {
+        Map<String,Object>map=new HashMap<>();
+        String msg="ok";
+        Calendar calendar = Calendar.getInstance();//获取系统时间实列
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");//日期格式化
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        calendar.setTime(simpleDateFormat.parse(date));
+        int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
+        String sDate = "";
+        String eDate = "";
+        Date stDate = null;
+        Date enDate = null;
+        long startDate;
+        long endDate;
+        sDate = date + "-01 00:00:00";
+        eDate = date + "-" + actualMaximum + " 23:59:59";
+        stDate = sdf.parse(sDate);
+        enDate = sdf.parse(eDate);
+        startDate = stDate.getTime() / 1000;
+        endDate = enDate.getTime() / 1000;
+        try {
+            UrlData.getSignToken();
+            UrlData.getToken();
+            List<String> list = WeixinUserIdList();
+            if (list != null && list.size() > 0) {
+                for (String i : list) {
+                    Date d = new Date(Long.valueOf("1635835671") * 1000);
+                    Date a = new Date(Long.valueOf("1637717895") * 1000);
+                    attendanceService.DeleteDateAttendance(sdf.format(stDate), sdf.format(enDate), i);
                 }
-
-                if (wxls.size() > 0) {
-                    for (WeixinSign wxlist : wxls) {
+                List<WeixinSign> weixinSigns = WeixinSignList(String.valueOf(startDate), String.valueOf(endDate), list);
+                if (weixinSigns != null && weixinSigns.size() > 0) {
+                    for (WeixinSign wxlist : weixinSigns) {
                         Attendance attendance = new Attendance();
                         attendance.setUserId(wxlist.getUserid());
                         attendance.setCheckinType(wxlist.getCheckin_type());
@@ -394,57 +473,63 @@ public class WeixinUserImpl implements IWeixinUserService{
                         attendance.setLocationDetail(wxlist.getLocation_detail());
                         attendance.setNotes(wxlist.getNotes());
                         long lt = new Long(wxlist.getCheckin_time());
+                        if (wxlist.getSch_checkin_time() != null) {
+                            long gt = new Long(wxlist.getSch_checkin_time());
+                            Date da = new Date(gt * 1000);
+                            attendance.setCrUserDate(da);
+                        }
                         Date dat = new Date(lt * 1000);
                         attendance.setUserDate(dat);
                         Boolean aBoolean = attendanceService.saveAcctend(attendance);
-                        if (aBoolean) {
-                            count++;
-                        } else {
-                            errCount++;
-                        }
                     }
                 }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
+        }
+        map.put("msg",msg);
+        return map;
+    }
 
+    /**
+     * 获取微信审批实列id
+     * @param startDate
+     * @param endDate
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    public List<String>WeixinVacationList(String startDate,String endDate) throws UnsupportedEncodingException {
+        Map<String, Object> headers = Maps.newHashMap();//请求头集合
+        List<String>lt=new ArrayList<>();
+        List<Map<String,Object>>ps=new ArrayList<>();
+        Map<String,Object>map=new HashMap<>();
+        String cursor="0";
+        headers.put("Content-Type", "application/json; charset=utf-8");
+        ObjectMapper mapper = new ObjectMapper();//json转换实列
+        Map<String, Object> params = Maps.newHashMap();//企业微信审批号请求的参数集合
+        try {
+            String createUrl = "https://qyapi.weixin.qq.com/cgi-bin/oa/getapprovalinfo?access_token=" + UrlData.VacationToken;//调用企业微信审批号接口
+            params.put("starttime", startDate);//开始时间参数
+            params.put("endtime", endDate);//结束时间参数
+            params.put("cursor", cursor);//游标,数据超过100条通过返回的next_cursor字段值进行递归拉取
+            params.put("size", 100);//获取数据大小最大100
+            map.put("key", "record_type");
+            map.put("value", "1");
+            ps.add(map);
+           // params.put("filters", ps);
+            while (!cursor.equals("")&&cursor!=null) {
+                String data = MyHttpUtils.httpPostRequestWithJson(createUrl, headers, params);
+                WeixinApp weixinApp = JSONArray.parseObject(data, WeixinApp.class);//json格式转换实体
+                if (weixinApp.getErrcode().equals("0")) {
+                    lt.addAll(weixinApp.getSp_no_list());
+                    if (weixinApp.getNext_cursor() != null) {
+                        cursor = weixinApp.getNext_cursor();
 
-            } else {
-                String sDate = date + "-01 00:00:00";
-                String eDate = date + "-" + actualMaximum + " 23:59:59";
-                Date stDate = sdf.parse(sDate);
-                Date enDate = sdf.parse(eDate);
-                long startDate = stDate.getTime();
-                long endDate = enDate.getTime();
-
-                createtUrl = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=" + UrlData.getSignToken();
-                params.put("opencheckindatatype", "3");
-                params.put("starttime", startDate);
-                params.put("endtime", endDate);
-                params.put("useridlist", userIds);
-
-                String rows = MyHttpUtils.httpPostRequestWithJson(createtUrl, headers, params);
-                mapTypes = JSON.parseObject(rows);
-                errcode = mapTypes.get("errcode").toString();
-                if (errcode.equals("0")) {
-                    String checkindata = mapTypes.get("checkindata").toString();//获取考勤结果集的字符串
-                    List<WeixinSign> list = mapper.readValue(checkindata, new TypeReference<List<WeixinSign>>() {
-                    });
-                    if (list.size() > 0) {
-                        for (WeixinSign ls : list) {
-                            Attendance attendance = new Attendance();
-                            attendance.setUserId(ls.getUserid());
-                            attendance.setCheckinType(ls.getCheckin_type());
-                            attendance.setExceptionType(ls.getException_type());
-                            attendance.setLocationDetail(ls.getLocation_detail());
-                            attendance.setNotes(ls.getNotes());
-                            long lt = new Long(ls.getCheckin_time());
-                            Date dat = new Date(lt);
-                            attendance.setUserDate(dat);
-                            Boolean aBoolean = attendanceService.saveAcctend(attendance);
-                            if (aBoolean) {
-                                count++;
-                            } else {
-                                errCount++;
-                            }
-                        }
+                    } else {
+                        cursor = "";
                     }
 
                 }
@@ -452,91 +537,86 @@ public class WeixinUserImpl implements IWeixinUserService{
         }catch (Exception e){
             e.printStackTrace();
         }
-
-
-        long endTime = System.currentTimeMillis(); // 获取结束时间
-        Double st = (endTime - startTime) / 1000.0;
-        String s = st.toString();
-        Datatb datatb = new Datatb();
-        String state = "1";
-        datatb.setId(id);
-        if (errCount == 0) {
-            state = "0";
-        }
-        datatb.setState(state);
-        datatb.setType(type);
-        datatb.setTypeGo(typeGo);
-        datatb.setDate(new Date());
-        datatb.setTime(s);
-        datatbService.saveData(datatb);
-
-        map.put("count", count);
-        map.put("errCount", errCount);
-
-
-        return map;
+        return lt;
     }
 
-    @Override
-    public Map<String, Object> synchronizationVacation(String date,String id,String type,String typeGo) throws ParseException, IOException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, NoSuchFieldException {
-        long startTime = System.currentTimeMillis(); // 获取开始时间
-        int count=0;//同步成功的数量
-       int errCount=0;//同步失败的数量
+    /**
+     * 获取微信审批实列
+     * @param ls
+     * @return
+     * @throws IOException
+     */
+    public  Vacation WeixinVacationdetail(String ls) throws IOException {
         Map<String, Object> headers = Maps.newHashMap();//请求头集合
-        Map<String, Object> map = Maps.newHashMap();//返回的集合
-        List<String> list = new ArrayList<>();//获取企业微信审批结果集的集合
-        Map<String, Object> par = new HashMap<>();//假期审批的参数集合
         headers.put("Content-Type", "application/json; charset=utf-8");
-        Map<String, Object> params = Maps.newHashMap();//企业微信审批号请求的参数集合
         ObjectMapper mapper = new ObjectMapper();//json转换实列
-        Map mapTypes = null;
+        Map<String, Object> params = Maps.newHashMap();
+        Vacation vacation=new Vacation();
         String errcode = "";
+        Map mapTypes = null;
         try {
-            String createUrl="https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token="+UrlData.getToken()+"&department_id=1&fetch_child=1";
-            String user= MyHttpUtils.httpPutRequestWithJson(createUrl,headers,null);
-            mapTypes=JSON.parseObject(user);
-            errcode= mapTypes.get("errcode").toString();
-            if (errcode.equals("0")){
-                List<WeixinUser> tl = mapper.readValue(mapTypes.get("userlist").toString(), new TypeReference<List<WeixinUser>>() {});
-                if (tl.size()>0){
-                    createUrl="https://qyapi.weixin.qq.com/cgi-bin/oa/vacation/getuservacationquota?access_token="+UrlData.getVacationToken();
-                    Map<String,Object>ps=new HashMap<>();
-                    for (WeixinUser ts:tl){
-                        ps.put("userid",ts.getUserid());
-                        String vac= MyHttpUtils.httpPostRequestWithJson(createUrl,headers,ps);
-                        mapTypes=JSON.parseObject(vac);
-                        errcode= mapTypes.get("errcode").toString();
-                        if (errcode.equals("0")){
-                            List<ObjetVo> lts = mapper.readValue(mapTypes.get("lists").toString(), new TypeReference<List<ObjetVo>>() {});
-                            if (lts.size()>0){
-                                for (ObjetVo ls:lts){
-                                    if (ls.getId().equals("1")||ls.getId().equals("4")){
-                                    long sumDays = 0;
-                                    long avDays=0;
-                                    if (!ls.getAssignduration().equals("0")){
-                                        long sumDay=new Long(ls.getAssignduration());
-                                        sumDays=sumDay/3600;
-                                    }
-                                    if (!ls.getLeftduration().equals("0")){
-                                        long avDay=new Long(ls.getLeftduration());
-                                        avDays=avDay/3600;
-                                    }
-
-                                    Boolean f= vacationService.saveVacationHead(UUID.randomUUID().toString().replace("-", ""),ls.getVacationname(),ts.getUserid(),sumDays+"",avDays+"",ls.getId());
-                                    if (f){
-                                        count++;
-                                    }else {
-                                        errCount++;
-                                    }
-                                    }
-                                }
-                            }
+            String createUrl = "https://qyapi.weixin.qq.com/cgi-bin/oa/getapprovaldetail?access_token=" + UrlData.VacationToken;//调用企业微信审批详情接口
+            params.put("sp_no", ls);//审批id参数
+            String res = MyHttpUtils.httpPostRequestWithJson(createUrl, headers, params);//发送请求
+            mapTypes = JSON.parseObject(res);//json格式转换为map集合
+            errcode = mapTypes.get("errcode").toString();//获取接口返回的状态码
+            if (errcode.equals("0")) {//判断接口是否请求成功
+                WeixinApproval weixinApproval = JSONArray.parseObject(mapTypes.get("info").toString(), WeixinApproval.class);//字符串转实体类
+                if (weixinApproval != null) {//获取数据库字段所需的数据
+                    vacation.setId(weixinApproval.getSp_no());
+                    vacation.setState(weixinApproval.getSp_status());
+                    String us = weixinApproval.getApplyer().toString();
+                    mapTypes = JSON.parseObject(us);
+                    vacation.setUserId(mapTypes.get("userid").toString());
+                    List<Object> apply_data = weixinApproval.getApply_data();
+                    String o = apply_data.get(0).toString();
+                    mapTypes = JSON.parseObject(o);
+                    String contents = mapTypes.get("contents").toString();
+                    List<Map<String, Object>> tl = mapper.readValue(contents, new TypeReference<List<Map<String, Object>>>() {
+                    });
+                    for (Map ll : tl) {
+                        Object s = ll.get("control");
+                        if (s.equals("Vacation")) {
+                            Map value = null;
+                            Map types = null;
+                            value = (Map) ll.get("value");
+                            value = (Map) value.get("vacation");
+                            types = (Map) value.get("selector");
+                            List<Map> ty = (List<Map>) types.get("options");
+                            ty = (List<Map>) ty.get(0).get("value");
+                            vacation.setHolidayType(ty.get(0).get("text").toString());
+                            value = (Map) value.get("attendance");
+                            value = (Map) value.get("date_range");
+                            long lt = new Long(value.get("new_begin").toString());
+                            Date beginDate = new Date(lt * 1000);
+
+                            long ltt = new Long(value.get("new_end").toString());
+                            Date EndDate = new Date(ltt * 1000);
+                            vacation.setStartDate(beginDate);
+                            vacation.setEndDate(EndDate);
+                            //计算天数
+                            long countD = new Long(value.get("new_duration").toString());
+                            long countDa = countD / 3600;
+
+                            vacation.setHolidayCount(countDa + "");
+                       /* String oneVacationHead = vacationMapper.getOneVacationHead(vacation.getHolidayType(), vacation.getUserId());
+                        if (!"".equals(oneVacationHead)&&oneVacationHead!=null){
+                            vacation.setHeaderId(oneVacationHead);
+                        }*/
                         }
                     }
                 }
-
             }
-
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return vacation;
+    }
+    @Override
+    public Map<String, Object> synchronizationVacation(String date,String id,String type,String typeGo) throws ParseException, IOException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, NoSuchFieldException {
+      Map<String,Object>map=new HashMap<>();
+      String msg="ok";
+        try {
             Calendar calendar = Calendar.getInstance();//获取系统时间实列
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");//日期格式化
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -554,144 +634,23 @@ public class WeixinUserImpl implements IWeixinUserService{
             enDate = sdf.parse(eDate);
             startDate = stDate.getTime() / 1000;
             endDate = enDate.getTime() / 1000;
-            createUrl = "https://qyapi.weixin.qq.com/cgi-bin/oa/getapprovalinfo?access_token="+UrlData.getVacationToken();//调用企业微信审批号接口
-            params.put("starttime", startDate);//开始时间参数
-            params.put("endtime", endDate);//结束时间参数
-            params.put("cursor", 0);//游标,数据超过100条通过返回的next_cursor字段值进行递归拉取
-            params.put("size", 100);//获取数据大小最大100
-            String data = MyHttpUtils.httpPostRequestWithJson(createUrl, headers, params);
-            WeixinApp weixinApp = JSONArray.parseObject(data, WeixinApp.class);//json格式转换实体
-            if (weixinApp.getErrcode().equals("0")){//判断请求是否成功
-                if (weixinApp.getSp_no_list().length>0){
-                    for (String ret:weixinApp.getSp_no_list()){
-                        list.add(ret);
-                    }
-
-                    if (!"".equals(weixinApp.getNext_cursor()) &&weixinApp.getNext_cursor()!=null){
-                        list = dg(weixinApp.getNext_cursor(), params, list, createUrl);
-                    }
-
+            UrlData.getVacationToken();
+            List<String> list = WeixinVacationList(String.valueOf(startDate), String.valueOf(endDate));
                     for (String ls:list){//循环审批id
-                        createUrl="https://qyapi.weixin.qq.com/cgi-bin/oa/getapprovaldetail?access_token="+ UrlData.getVacationToken();//调用企业微信审批详情接口
-                        par.put("sp_no",ls);//审批id参数
-                        String res = MyHttpUtils.httpPostRequestWithJson(createUrl, headers, par);//发送请求
-                        mapTypes = JSON.parseObject(res);//json格式转换为map集合
-                        errcode = mapTypes.get("errcode").toString();//获取接口返回的状态码
-                        if (errcode.equals("0")){//判断接口是否请求成功
-                            Vacation vacation=new Vacation();
-                            WeixinApproval weixinApproval = JSONArray.parseObject(mapTypes.get("info").toString(), WeixinApproval.class);//字符串转实体类
-                            if (weixinApproval!=null){//获取数据库字段所需的数据
-                                vacation.setId(weixinApproval.getSp_no());
-                                vacation.setState(weixinApproval.getSp_status());
-                                String us = weixinApproval.getApplyer().toString();
-                                mapTypes = JSON.parseObject(us);
-                                vacation.setUserId(mapTypes.get("userid").toString());
-                                List<Object> apply_data = weixinApproval.getApply_data();
-                                String o = apply_data.get(0).toString();
-                                mapTypes = JSON.parseObject(o);
-                                String contents = mapTypes.get("contents").toString();
-                                List<Map<String,Object>> tl = mapper.readValue(contents, new TypeReference<List<Map<String,Object>>>() {});
-                                for (Map ll:tl){
-                                    Object s = ll.get("control");
-                                    if (s.equals("Vacation")){
-                                        Map value =null;
-                                        Map types=null;
-                                        value =(Map) ll.get("value");
-                                        value=(Map) value.get("vacation");
-                                        types=(Map)  value.get("selector");
-                                        List<Map> ty=( List<Map>) types.get("options");
-                                        vacation.setHolidayType(ty.get(0).get("key").toString());
-                                        value=(Map) value.get("attendance");
-                                        value=(Map) value.get("date_range");
-                                        long lt = new Long(value.get("new_begin").toString());
-                                        Date beginDate = new Date(lt*1000);
-
-                                        long ltt = new Long(value.get("new_end").toString());
-                                        Date EndDate = new Date(ltt*1000);
-                                        vacation.setStartDate(beginDate);
-                                        vacation.setEndDate(EndDate);
-                                        //计算天数
-                                        long countD = new Long(value.get("new_duration").toString());
-                                        long countDa= countD/3600;
-
-                                        vacation.setHolidayCount(countDa+"");
-                                        String oneVacationHead = vacationMapper.getOneVacationHead(vacation.getHolidayType(), vacation.getUserId());
-                                        if (!"".equals(oneVacationHead)&&oneVacationHead!=null){
-                                            vacation.setHeaderId(oneVacationHead);
-                                        }
-                                        Boolean t= vacationService.saveVacation(vacation);
-                                        if (t){
-                                            count++;
-                                        }else {
-                                            errCount++;
-                                        }
-                                    }
-                                }
-
-                            }
-
-                        }
-
-                    }
-
-                }
-
+                        Vacation vacation = WeixinVacationdetail(ls);
+                    //    Boolean t= vacationService.saveVacation(vacation);
             }
         }catch (Exception e){
             e.printStackTrace();
-        }
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
 
-        long endTime = System.currentTimeMillis(); // 获取结束时间
-        Double st = (endTime - startTime) / 1000.0;
-        String s = st.toString();
-        Datatb datatb = new Datatb();
-        String state = "1";
-        datatb.setId(id);
-        if (errCount == 0) {
-            state = "0";
         }
-        datatb.setState(state);
-        datatb.setType(type);
-        datatb.setTypeGo(typeGo);
-        datatb.setDate(new Date());
-        datatb.setTime(s);
-        datatbService.saveData(datatb);
-
-        map.put("count",count);
-        map.put("errCount",errCount);
+        map.put("msg",msg);
         return map;
     }
 
-    //递归
-    public List<String> dg(String next_cursor, Map<String, Object> params, List<String> list, String createUrl) throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        Map<String, Object> headers = Maps.newHashMap();
-        headers.put("Content-Type", "application/json; charset=utf-8");
-        if (!"".equals(next_cursor)) {
-            params.put("cursor", next_cursor);
-            String res = MyHttpUtils.httpPostRequestWithJson(createUrl, headers, params);
-            WeixinApp weixinApp = JSONArray.parseObject(res, WeixinApp.class);//json格式转换实体
-            if (weixinApp.getErrcode().equals("0")) {
-
-                if (weixinApp.getSp_no_list().length> 0) {
-                   for (String ls:weixinApp.getSp_no_list()){
-                       list.add(ls);
-                   }
-                   if (!"".equals(weixinApp.getNext_cursor()) && weixinApp.getNext_cursor()!=null){
-                       dg(weixinApp.getNext_cursor(), params, list, createUrl);
-                   }else {
-                       return list;
-                   }
-
-                }
-            }
-
-        }
-
-        return  list;
-    }
-
-
     public  Map<String, Object> getKeyAndValue(Object obj) {
         Map<String, Object> map = new HashMap<String, Object>();
         // 得到类对象

+ 14 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/util/UrlData.java

@@ -17,6 +17,7 @@ import org.apache.http.util.EntityUtils;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
+import javax.xml.soap.SAAJResult;
 import java.io.IOException;
 import java.util.Map;
 
@@ -30,6 +31,13 @@ public class UrlData {
     //获取ToKen的请求
     String Get_Token_Url;
 
+
+    public  static  String token="";
+
+    public static String SignToken="";
+
+    public static String VacationToken="";
+
     private static Gson gson = new Gson();
 
     public String getCorpid() {
@@ -55,35 +63,35 @@ public class UrlData {
      * 获取toAuth(String Get_Token_Url)返回结果中键值对中access_token键的值
      * @param
      */
-    public  static   String getToken() throws IOException {
+    public  static   void getToken() throws IOException {
         UrlData uData = new UrlData();
         uData.setGet_Token_Url("wwd372e7740b9b586f","LBe5M9E8M2y1IOSB5rLAlSbW6etVnPXJSCx0X5i9l8Q");
         String resp = toAuth(uData.getGet_Token_Url());
         Map<String, Object> map = gson.fromJson(resp,
                 new TypeToken<Map<String, Object>>() {
                 }.getType());
-        return map.get("access_token").toString();
+        token=map.get("access_token").toString();
     }
 
     //考勤token
-    public  static   String getSignToken() throws IOException {
+    public  static  void getSignToken() throws IOException {
         UrlData uData = new UrlData();
         uData.setGet_Token_Url("wwd372e7740b9b586f","PBLuEss-arZGOAEjVj9G9wwprYLF4gejgJ1EcYI659I");
         String resp = toAuth(uData.getGet_Token_Url());
         Map<String, Object> map = gson.fromJson(resp,
                 new TypeToken<Map<String, Object>>() {
                 }.getType());
-        return map.get("access_token").toString();
+        SignToken= map.get("access_token").toString();
     }
     //假期token
-    public  static   String getVacationToken() throws IOException {
+    public  static   void getVacationToken() throws IOException {
         UrlData uData = new UrlData();
         uData.setGet_Token_Url("wwd372e7740b9b586f","zYJoGDlBQUroYvHtsqPybXOJseUpkaHFkW-_9UGzNNA");
         String resp = toAuth(uData.getGet_Token_Url());
         Map<String, Object> map = gson.fromJson(resp,
                 new TypeToken<Map<String, Object>>() {
                 }.getType());
-        return map.get("access_token").toString();
+        VacationToken= map.get("access_token").toString();
     }
     //获取返回的结果集并把access_token取出来
     protected static String toAuth(String Get_Token_Url) throws IOException {

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/FatureTest.java

@@ -66,7 +66,7 @@ public class FatureTest implements Callable{
             public Object call() {
                 try {
                     String count="0";
-                    String token = UrlData.getToken();
+                    String token = UrlData.token;
                     Map<String, Object> headers = Maps.newHashMap();
                     headers.put("Content-Type", "application/json; charset=utf-8");
                     Map<String, Object> params = Maps.newHashMap();

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/Test.java

@@ -111,7 +111,7 @@ return count;
         int count=0;
         int errCount=0;
 
-        String token = UrlData.getToken();
+        String token = UrlData.token;
         Map<String, Object> headers = Maps.newHashMap();
         headers.put("Content-Type", "application/json; charset=utf-8");
         Map<String, Object> params = Maps.newHashMap();

+ 5 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/WeixinApp.java

@@ -1,11 +1,13 @@
 package org.jeecg.modules.system.vo;
 
+import java.util.List;
+
 public class WeixinApp {
     private  String errcode;
 
     private  String errmsg;
 
-    private  String [] sp_no_list;
+    private List<String> sp_no_list;
 
     private  String next_cursor;
 
@@ -25,11 +27,11 @@ public class WeixinApp {
         this.errmsg = errmsg;
     }
 
-    public String[] getSp_no_list() {
+    public List<String> getSp_no_list() {
         return sp_no_list;
     }
 
-    public void setSp_no_list(String[] sp_no_list) {
+    public void setSp_no_list(List<String> sp_no_list) {
         this.sp_no_list = sp_no_list;
     }
 

BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/SysPermissionController.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/SysUserController.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/SysWeixinController.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/entity/SysUser.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/SysPermissionMapper.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/SysUserMapper.class


+ 15 - 1
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml

@@ -103,6 +103,20 @@
 			</if>
 		) temp
 	</select>
-	
+    <select id="queryH5ByUsername" resultType="java.util.Map">
+
+		SELECT p.name,p.component,p.icon
+		FROM sys_permission p
+		WHERE (exists(
+				SELECT a.id
+				FROM sys_role_permission a join sys_role b
+												ON a.role_id = b.id join sys_user_role c
+																		 ON c.role_id = b.id join sys_user d
+																								  ON d.id = c.user_id
+				WHERE p.id = a.permission_id
+
+				  AND d.id =#{username} )) and p.del_flag = 0
+	</select>
+
 
 </mapper>

+ 42 - 2
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -180,10 +180,15 @@
 		</if>
 	</select>
     <select id="queryUsers" resultType="org.jeecg.modules.system.entity.SysUser">
-		select *from sys_user where 1=1
+		select a.* from sys_user a left join sys_user_depart b on b.user_id=a.id
+		where 1=1
 		<if test="username!=null and ''!=username">
-		 and 	realname like concat(concat('%',#{username}),'%')
+		 and 	a.realname like concat(concat('%',#{username}),'%')
+		</if>
+		<if test="depid!=null and ''!=depid">
+			and b.dep_id=#{depid}
 		</if>
+
 	</select>
 
 	<select id="sysusers" resultType="org.jeecg.modules.system.entity.SysUser">
@@ -273,4 +278,39 @@ on a.depart_name=b.orgCodeTxt
 		 and 	id=#{id}
 		</if>
 	</select>
+	<select id="queryEmpByLeave" resultType="org.jeecg.modules.system.entity.SysUser">
+		select  a.realname,a.id,a.avatar,ifnull(d.year_day,0) as 'del2',ifnull(d.available_day,0) as 'del3' from sys_user a left join sys_user_depart b on a.id =b.user_id left join sys_depart  c on b.dep_id=c.id
+											   left join geke_vacation_header d on a.id=d.user_id
+		where 1=1
+		<if test="depid!=null and ''!=depid">
+			and  c.id=#{depid}
+		</if>
+		<if test="username!=null and ''!=username">
+			and a.realname like concat(concat('%',#{username}),'%')
+		</if>
+	</select>
+	<select id="getUserIds" resultType="java.lang.String">
+		select user_id from geke_user_shift
+		<if test="date!=null and ''!=date">
+			where date_format(shift_date,'%Y-%m-%d')=date_format(#{date},'%Y-%m-%d')
+		</if>
+	</select>
+	<select id="queryUserShift" resultType="org.jeecg.modules.system.entity.SysUser">
+		select DISTINCT a.*from sys_user a left join sys_user_depart b on a.id=b.user_id   where a.del_flag='0'
+		<if test="userids!=null and userids.size() > 0">
+			and a.id not in
+			<foreach collection="userids" index="index" item="id" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+		</if>
+		<if test="username!=null and ''!=username">
+			and a.realname like concat(concat('%',#{username}),'%')
+		</if>
+		<if test="deptid!=null and ''!=deptid">
+			and b.dep_id=#{deptid}
+		</if>
+		<if test="userid!=null and ''!=userid">
+			and a.id=#{userid}
+		</if>
+	</select>
 </mapper>

BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysPermissionService.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysUserService.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysUserServiceImpl.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$1.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$2.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$3.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$4.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$5.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$6.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$7.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$8.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$9.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/util/UrlData$1.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/util/UrlData$2.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/util/UrlData$3.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/util/UrlData.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/FatureTest.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/Test.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/WeixinApp.class


Разница между файлами не показана из-за своего большого размера
+ 177 - 0
replay_pid22568.log


Разница между файлами не показана из-за своего большого размера
+ 235 - 0
replay_pid24800.log


Разница между файлами не показана из-за своего большого размера
+ 139 - 0
replay_pid47936.log


Некоторые файлы не были показаны из-за большого количества измененных файлов