溪鸭夏 2 jaren geleden
bovenliggende
commit
fabcc5fc56
39 gewijzigde bestanden met toevoegingen van 1365 en 734 verwijderingen
  1. 94 79
      .idea/workspace.xml
  2. 11 0
      src/main/java/com/template/api/SmartAttendanceControllerAPI.java
  3. 19 0
      src/main/java/com/template/api/SmartScoreControllerAPI.java
  4. 11 2
      src/main/java/com/template/api/SmartUserControllerAPI.java
  5. 68 17
      src/main/java/com/template/controller/DriverStockController.java
  6. 6 1
      src/main/java/com/template/controller/HikvisionController.java
  7. 59 0
      src/main/java/com/template/controller/SmartAttendanceController.java
  8. 67 0
      src/main/java/com/template/controller/SmartScoreController.java
  9. 16 0
      src/main/java/com/template/controller/SmartSemesterController.java
  10. 37 0
      src/main/java/com/template/controller/SmartUserController.java
  11. 2 1
      src/main/java/com/template/mapper/DriverStockMapper.java
  12. 4 0
      src/main/java/com/template/mapper/SmartAttendanceMapper.java
  13. 7 0
      src/main/java/com/template/mapper/SmartScoreMapper.java
  14. 2 0
      src/main/java/com/template/mapper/SmartUserMapper.java
  15. 32 1
      src/main/java/com/template/model/tongji/userPage.java
  16. 11 0
      src/main/java/com/template/model/vo/AverageScoreVo.java
  17. 18 0
      src/main/java/com/template/model/vo/HistoricalAttendanceVo.java
  18. 12 0
      src/main/java/com/template/model/vo/HistoricalExamVo.java
  19. 17 0
      src/main/java/com/template/model/vo/StudentExamNameVo.java
  20. 14 0
      src/main/java/com/template/model/vo/VisitorTjVo.java
  21. 2 1
      src/main/java/com/template/services/DriverStockService.java
  22. 5 0
      src/main/java/com/template/services/SmartAttendanceService.java
  23. 7 0
      src/main/java/com/template/services/SmartEvaluateStudentService.java
  24. 15 0
      src/main/java/com/template/services/SmartScoreService.java
  25. 7 0
      src/main/java/com/template/services/SmartSemesterService.java
  26. 22 0
      src/main/java/com/template/services/SmartUserService.java
  27. 3 2
      src/main/java/com/template/services/impl/DriverStockServiceImpl.java
  28. 17 0
      src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java
  29. 11 0
      src/main/java/com/template/services/impl/SmartEvaluateStudentServiceImpl.java
  30. 20 0
      src/main/java/com/template/services/impl/SmartScoreServiceImpl.java
  31. 26 0
      src/main/java/com/template/services/impl/SmartSemesterServiceImpl.java
  32. 25 0
      src/main/java/com/template/services/impl/SmartUserServiceImpl.java
  33. 2 2
      src/main/resources/mapper/template/DriverStockMapper.xml
  34. 8 0
      src/main/resources/mapper/template/SmartAttendanceMapper.xml
  35. 38 0
      src/main/resources/mapper/template/SmartScoreMapper.xml
  36. 8 0
      src/main/resources/mapper/template/SmartUserMapper.xml
  37. 8 0
      target/classes/mapper/template/SmartUserMapper.xml
  38. 3 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  39. 631 628
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

+ 94 - 79
.idea/workspace.xml

@@ -1,14 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
 <project version="4">
+  <component name="AutoImportSettings">
+    <option name="autoReloadType" value="SELECTIVE" />
+  </component>
   <component name="ChangeListManager">
   <component name="ChangeListManager">
     <list default="true" id="981dbcd1-a700-4015-8567-2ccff8e76f0a" name="Default Changelist" comment="">
     <list default="true" id="981dbcd1-a700-4015-8567-2ccff8e76f0a" name="Default Changelist" comment="">
+<<<<<<< HEAD
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/LoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/LoginController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/LoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/LoginController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/core/JwtAuthenticationInterceptor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/core/JwtAuthenticationInterceptor.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/core/JwtAuthenticationInterceptor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/core/JwtAuthenticationInterceptor.java" afterDir="false" />
+=======
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/HistoricalExamVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/StudentExamNameVo.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartScoreControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartScoreControllerAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartScoreMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartScoreMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/tongji/userPage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/tongji/userPage.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartScoreService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartScoreService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/DriverStockMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/DriverStockMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartScoreMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartScoreMapper.xml" afterDir="false" />
+>>>>>>> 648b6318fecc84d4fbcef327bae672abc74a4db8
       <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
     </list>
     </list>
-    <ignored path="$PROJECT_DIR$/classes/" />
-    <ignored path="$PROJECT_DIR$/target/" />
-    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -17,6 +31,7 @@
   <component name="DefaultGradleProjectSettings">
   <component name="DefaultGradleProjectSettings">
     <option name="isMigrated" value="true" />
     <option name="isMigrated" value="true" />
   </component>
   </component>
+<<<<<<< HEAD
   <component name="FileEditorManager">
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
       <file pinned="false" current-in-tab="false">
       <file pinned="false" current-in-tab="false">
@@ -111,6 +126,8 @@
       </file>
       </file>
     </leaf>
     </leaf>
   </component>
   </component>
+=======
+>>>>>>> 648b6318fecc84d4fbcef327bae672abc74a4db8
   <component name="FileTemplateManagerImpl">
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
     <option name="RECENT_TEMPLATES">
       <list>
       <list>
@@ -219,12 +236,15 @@
       </list>
       </list>
     </option>
     </option>
   </component>
   </component>
+  <component name="MarkdownSettingsMigration">
+    <option name="stateVersion" value="1" />
+  </component>
   <component name="MavenImportPreferences">
   <component name="MavenImportPreferences">
     <option name="generalSettings">
     <option name="generalSettings">
       <MavenGeneralSettings>
       <MavenGeneralSettings>
-        <option name="localRepository" value="D:\Software\Develop\Maven\repository" />
-        <option name="mavenHome" value="D:/Software/Develop/Maven/apache-maven-3.3.9" />
-        <option name="userSettingsFile" value="D:\Software\Develop\Maven\apache-maven-3.3.9\conf\settings.xml" />
+        <option name="mavenHome" value="D:/soft/maven/apache-maven-3.8.6" />
+        <option name="useMavenConfig" value="true" />
+        <option name="userSettingsFile" value="D:\soft\maven\apache-maven-3.8.6\conf\settings.xml" />
       </MavenGeneralSettings>
       </MavenGeneralSettings>
     </option>
     </option>
   </component>
   </component>
@@ -252,6 +272,7 @@
     <option name="width" value="958" />
     <option name="width" value="958" />
     <option name="height" value="1039" />
     <option name="height" value="1039" />
   </component>
   </component>
+  <component name="ProjectId" id="2gOThA61fILRHASRGC3x7YhJqeK" />
   <component name="ProjectView">
   <component name="ProjectView">
     <navigator proportions="" version="1">
     <navigator proportions="" version="1">
       <foldersAlwaysOnTop value="true" />
       <foldersAlwaysOnTop value="true" />
@@ -384,6 +405,7 @@
       </pane>
       </pane>
     </panes>
     </panes>
   </component>
   </component>
+<<<<<<< HEAD
   <component name="PropertiesComponent">
   <component name="PropertiesComponent">
     <property name="RequestMappingsPanelOrder0" value="0" />
     <property name="RequestMappingsPanelOrder0" value="0" />
     <property name="RequestMappingsPanelOrder1" value="1" />
     <property name="RequestMappingsPanelOrder1" value="1" />
@@ -395,7 +417,29 @@
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
     <property name="nodejs_npm_path_reset_for_default_project" value="true" />
     <property name="nodejs_npm_path_reset_for_default_project" value="true" />
     <property name="settings.editor.selected.configurable" value="MavenSettings" />
     <property name="settings.editor.selected.configurable" value="MavenSettings" />
+=======
+  <component name="ProjectViewState">
+    <option name="showExcludedFiles" value="false" />
+    <option name="showLibraryContents" value="true" />
+>>>>>>> 648b6318fecc84d4fbcef327bae672abc74a4db8
   </component>
   </component>
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "RequestMappingsPanelOrder0": "0",
+    "RequestMappingsPanelOrder1": "1",
+    "RequestMappingsPanelWidth0": "75",
+    "RequestMappingsPanelWidth1": "75",
+    "RunOnceActivity.OpenProjectViewOnStart": "true",
+    "RunOnceActivity.ShowReadmeOnStart": "true",
+    "WebServerToolWindowFactoryState": "false",
+    "node.js.detected.package.eslint": "true",
+    "node.js.detected.package.tslint": "true",
+    "node.js.selected.package.eslint": "(autodetect)",
+    "node.js.selected.package.tslint": "(autodetect)",
+    "nodejs_package_manager_path": "npm",
+    "settings.editor.selected.configurable": "MavenSettings"
+  }
+}]]></component>
   <component name="RebelAgentSelection">
   <component name="RebelAgentSelection">
     <selection>jr</selection>
     <selection>jr</selection>
   </component>
   </component>
@@ -403,11 +447,15 @@
     <key name="MoveFile.RECENT_KEYS">
     <key name="MoveFile.RECENT_KEYS">
       <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\resources\mapper\template" />
       <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\resources\mapper\template" />
     </key>
     </key>
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\resources\mapper\template" />
+    </key>
     <key name="CopyClassDialog.RECENTS_KEY">
     <key name="CopyClassDialog.RECENTS_KEY">
       <recent name="com.template.model.enumModel" />
       <recent name="com.template.model.enumModel" />
       <recent name="com.template.model.request" />
       <recent name="com.template.model.request" />
       <recent name="com.template.model.vo" />
       <recent name="com.template.model.vo" />
     </key>
     </key>
+<<<<<<< HEAD
     <key name="CopyFile.RECENT_KEYS">
     <key name="CopyFile.RECENT_KEYS">
       <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\resources" />
       <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\resources" />
       <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo" />
       <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo" />
@@ -424,6 +472,8 @@
         </RuleState>
         </RuleState>
       </list>
       </list>
     </option>
     </option>
+=======
+>>>>>>> 648b6318fecc84d4fbcef327bae672abc74a4db8
   </component>
   </component>
   <component name="RunManager" selected="Spring Boot.MybatisPlusApplication">
   <component name="RunManager" selected="Spring Boot.MybatisPlusApplication">
     <configuration name="AutoCode" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
     <configuration name="AutoCode" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
@@ -439,12 +489,12 @@
         <option name="Make" enabled="true" />
         <option name="Make" enabled="true" />
       </method>
       </method>
     </configuration>
     </configuration>
-    <configuration name="TimeExchange" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.template.common.utils.TimeExchange" />
+    <configuration name="DriverStockController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.template.controller.DriverStockController" />
       <module name="mybatis_plus" />
       <module name="mybatis_plus" />
       <extension name="coverage">
       <extension name="coverage">
         <pattern>
         <pattern>
-          <option name="PATTERN" value="com.template.common.utils.*" />
+          <option name="PATTERN" value="com.template.controller.*" />
           <option name="ENABLED" value="true" />
           <option name="ENABLED" value="true" />
         </pattern>
         </pattern>
       </extension>
       </extension>
@@ -459,13 +509,22 @@
         <option name="Make" enabled="true" />
         <option name="Make" enabled="true" />
       </method>
       </method>
     </configuration>
     </configuration>
+    <list>
+      <item itemvalue="Application.DriverStockController" />
+      <item itemvalue="Application.AutoCode" />
+      <item itemvalue="Spring Boot.MybatisPlusApplication" />
+    </list>
     <recent_temporary>
     <recent_temporary>
       <list>
       <list>
-        <item itemvalue="Application.TimeExchange" />
+        <item itemvalue="Application.DriverStockController" />
         <item itemvalue="Application.AutoCode" />
         <item itemvalue="Application.AutoCode" />
       </list>
       </list>
     </recent_temporary>
     </recent_temporary>
   </component>
   </component>
+  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
+  <component name="SshConsoleOptionsProvider">
+    <option name="myEncoding" value="UTF-8" />
+  </component>
   <component name="SvnConfiguration">
   <component name="SvnConfiguration">
     <configuration />
     <configuration />
   </component>
   </component>
@@ -498,9 +557,13 @@
       <workItem from="1715410926468" duration="801000" />
       <workItem from="1715410926468" duration="801000" />
       <workItem from="1715412104079" duration="1298000" />
       <workItem from="1715412104079" duration="1298000" />
       <workItem from="1715415419191" duration="619000" />
       <workItem from="1715415419191" duration="619000" />
+<<<<<<< HEAD
       <workItem from="1715416431626" duration="496000" />
       <workItem from="1715416431626" duration="496000" />
       <workItem from="1715417002885" duration="6793000" />
       <workItem from="1715417002885" duration="6793000" />
       <workItem from="1715589727625" duration="3474000" />
       <workItem from="1715589727625" duration="3474000" />
+=======
+      <workItem from="1715567741475" duration="28743000" />
+>>>>>>> 648b6318fecc84d4fbcef327bae672abc74a4db8
     </task>
     </task>
     <servers />
     <servers />
   </component>
   </component>
@@ -599,82 +662,31 @@
     </layout-to-restore>
     </layout-to-restore>
   </component>
   </component>
   <component name="TypeScriptGeneratedFilesManager">
   <component name="TypeScriptGeneratedFilesManager">
-    <option name="version" value="1" />
+    <option name="version" value="3" />
+  </component>
+  <component name="Vcs.Log.Tabs.Properties">
+    <option name="TAB_STATES">
+      <map>
+        <entry key="MAIN">
+          <value>
+            <State />
+          </value>
+        </entry>
+      </map>
+    </option>
   </component>
   </component>
   <component name="XDebuggerManager">
   <component name="XDebuggerManager">
     <breakpoint-manager>
     <breakpoint-manager>
       <breakpoints>
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java</url>
-          <line>83</line>
-          <properties />
-          <option name="timeStamp" value="58" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java</url>
-          <line>314</line>
-          <properties />
-          <option name="timeStamp" value="113" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java</url>
-          <line>303</line>
-          <properties />
-          <option name="timeStamp" value="117" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java</url>
-          <line>844</line>
-          <properties />
-          <option name="timeStamp" value="125" />
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartEvaluateStudentController2.java</url>
+          <line>210</line>
+          <option name="timeStamp" value="14" />
         </line-breakpoint>
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java</url>
-          <line>678</line>
-          <properties />
-          <option name="timeStamp" value="126" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3952</line>
-          <properties />
-          <option name="timeStamp" value="137" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3566</line>
-          <properties />
-          <option name="timeStamp" value="159" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3763</line>
-          <properties />
-          <option name="timeStamp" value="173" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java</url>
-          <line>458</line>
-          <properties />
-          <option name="timeStamp" value="177" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java</url>
-          <line>154</line>
-          <properties />
-          <option name="timeStamp" value="178" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange2.java</url>
-          <line>528</line>
-          <properties />
-          <option name="timeStamp" value="180" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java</url>
-          <line>253</line>
-          <properties />
-          <option name="timeStamp" value="222" />
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartEvaluateStudentController2.java</url>
+          <line>216</line>
+          <option name="timeStamp" value="15" />
         </line-breakpoint>
         </line-breakpoint>
       </breakpoints>
       </breakpoints>
     </breakpoint-manager>
     </breakpoint-manager>
@@ -683,6 +695,9 @@
     <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
     <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
     <option name="FILTER_TARGETS" value="false" />
     <option name="FILTER_TARGETS" value="false" />
   </component>
   </component>
+  <component name="com.intellij.coverage.CoverageDataManagerImpl">
+    <SUITE FILE_PATH="coverage/mybatis_plus$MybatisPlusApplication.ic" NAME="MybatisPlusApplication Coverage Results" MODIFIED="1709618808702" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
+  </component>
   <component name="editorHistoryManager">
   <component name="editorHistoryManager">
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java">
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
       <provider selected="true" editor-type-id="text-editor">

+ 11 - 0
src/main/java/com/template/api/SmartAttendanceControllerAPI.java

@@ -61,4 +61,15 @@ public interface SmartAttendanceControllerAPI {
     @PostMapping(value = "/askForLeave")
     @PostMapping(value = "/askForLeave")
     @ApiOperation(value = "百胜学生请假接口", notes = "百胜学生请假接口", httpMethod = "POST")
     @ApiOperation(value = "百胜学生请假接口", notes = "百胜学生请假接口", httpMethod = "POST")
     CommonResult askForLeave(@Validated @RequestBody askForLeaveRequest request, BindingResult bindingResult) throws Exception;
     CommonResult askForLeave(@Validated @RequestBody askForLeaveRequest request, BindingResult bindingResult) throws Exception;
+
+    /**
+     * 领导驾驶舱——学生个人画像——历史出勤
+     * @param userId
+     * @param dateTime
+     * @return
+     */
+    @GetMapping(value = "/historicalAttendance")
+    @ApiOperation(value = "历史出勤", notes = "历史出勤", httpMethod = "GET")
+    CommonResult historicalAttendance(@RequestParam int userId,@RequestParam String dateTime);
+
 }
 }

+ 19 - 0
src/main/java/com/template/api/SmartScoreControllerAPI.java

@@ -106,4 +106,23 @@ public interface SmartScoreControllerAPI {
     @GetMapping(value = "/downloadScoreExcel")
     @GetMapping(value = "/downloadScoreExcel")
     @ApiOperation(value = "导出成绩Excel模板", notes = "导出成绩Excel模板", httpMethod = "GET")
     @ApiOperation(value = "导出成绩Excel模板", notes = "导出成绩Excel模板", httpMethod = "GET")
     CommonResult downloadScoreExcel();
     CommonResult downloadScoreExcel();
+
+    @GetMapping(value = "/averageScore")
+    @ApiOperation(value = "各科成绩的平均分", notes = "各科成绩的平均分", httpMethod = "GET")
+    CommonResult averageScore(@RequestParam int userId);
+
+    @GetMapping(value = "/teacherMessage")
+    @ApiOperation(value = "老师寄语", notes = "老师寄语", httpMethod = "GET")
+    CommonResult teacherMessage(@RequestParam String cardNo);
+
+    @GetMapping(value = "/studentExamName")
+    @ApiOperation(value = "学生考试名称分组", notes = "学生考试名称分组", httpMethod = "GET")
+    CommonResult studentExamName();
+
+
+    @GetMapping(value = "/historicalExam")
+    @ApiOperation(value = "历史成绩统计", notes = "历史成绩统计", httpMethod = "GET")
+    CommonResult historicalExam(@RequestParam int userId,@RequestParam int semesterId,@RequestParam int examTypeId);
+
+
 }
 }

+ 11 - 2
src/main/java/com/template/api/SmartUserControllerAPI.java

@@ -216,8 +216,6 @@ public interface SmartUserControllerAPI {
     CommonResult queryUserDeletePage(@RequestParam int currentPage, @RequestParam int pageCount);
     CommonResult queryUserDeletePage(@RequestParam int currentPage, @RequestParam int pageCount);
 
 
 
 
-
-
     /**
     /**
      * 获取班级下的学生
      * 获取班级下的学生
      */
      */
@@ -233,4 +231,15 @@ public interface SmartUserControllerAPI {
     @ApiOperation(value = "批量设置学生时间组", notes = "批量设置学生时间组", httpMethod = "POST")
     @ApiOperation(value = "批量设置学生时间组", notes = "批量设置学生时间组", httpMethod = "POST")
     CommonResult setUserTimeGroup(@Validated @RequestBody setUserTimeGroupRequest isur, BindingResult bindingResult) throws Exception;
     CommonResult setUserTimeGroup(@Validated @RequestBody setUserTimeGroupRequest isur, BindingResult bindingResult) throws Exception;
 
 
+
+    @GetMapping(value = "/getPhoneUser")
+    @ApiOperation(value = "大屏——通过手机号找到对应的人", notes = "大屏——通过手机号找到对应的人", httpMethod = "GET")
+    CommonResult getPhoneUser(@RequestParam String phone);
+
+
+    @GetMapping(value = "/getPhoneAffiliate")
+    @ApiOperation(value = "大屏——通过手机号找到对应的关联人", notes = "大屏——通过手机号找到对应的关联人", httpMethod = "GET")
+    CommonResult getPhoneAffiliate(@RequestParam String phone);
+
+
 }
 }

+ 68 - 17
src/main/java/com/template/controller/DriverStockController.java

@@ -1,10 +1,8 @@
 package com.template.controller;
 package com.template.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
 import com.template.annotation.DESRespondSecret;
 import com.template.annotation.DESRespondSecret;
@@ -16,15 +14,16 @@ import com.template.model.pojo.SmartWarning;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 import com.template.model.tongji.*;
 import com.template.model.tongji.*;
+import com.template.model.vo.VisitorTjVo;
 import com.template.services.DriverStockService;
 import com.template.services.DriverStockService;
 import com.template.services.SmartUserService;
 import com.template.services.SmartUserService;
 import com.template.services.SmartWarningService;
 import com.template.services.SmartWarningService;
-import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestBody;
 
 
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Calendar;
 import java.util.List;
 import java.util.List;
@@ -51,8 +50,60 @@ public class DriverStockController implements DriverStockControllerAPI {
     @PassToken
     @PassToken
     @DESRespondSecret(validated = false)
     @DESRespondSecret(validated = false)
     public CommonResult getVisitorTj() {
     public CommonResult getVisitorTj() {
-        List<Tj> list = driverStockService.getVisitorTj();
-        return CommonResult.ok(list);
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM");
+        ArrayList<VisitorTjVo> visitorTjVos = new ArrayList<>();
+//  近1年数据
+        LocalDateTime localDateTime = LocalDateTime.now().withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).plusMonths(1);
+        ArrayList<Tj> tjs = new ArrayList<>();
+        Tj tj2 = new Tj();
+        tj2.setName("家长");
+        tj2.setNum(0);
+        tjs.add(tj2);
+        Tj tj3 = new Tj();
+        tj3.setName("其他");
+        tj3.setNum(0);
+        tjs.add(tj3);
+        for (int i = 0; i < 12; i++) {
+            VisitorTjVo visitorTjVo = new VisitorTjVo();
+            LocalDateTime start = localDateTime.minusMonths(i + 1);
+            LocalDateTime end = localDateTime.minusMonths(i);
+            String dataTime = start.format(dateTimeFormatter);
+            List<Tj> list = driverStockService.getVisitorTj(start, end);
+            if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {
+                if (list.size()<2) {
+                    ArrayList<Tj> tjs2 = new ArrayList<>();
+                    for (Tj tj : list) {
+                        tjs2.add(tj);
+                        String name = tj.getName();
+                        if ("家长".equals(name)) {
+                            tjs2.add(tj3);
+                        }else {
+                            tjs2.add(tj2);
+                        }
+                    }
+                    visitorTjVo.setTjs(tjs2);
+                }else {
+                    visitorTjVo.setTjs(list);
+                }
+            } else {
+                visitorTjVo.setTjs(tjs);
+            }
+
+            visitorTjVo.setDataTime(dataTime);
+            visitorTjVos.add(visitorTjVo);
+        }
+        return CommonResult.ok(visitorTjVos);
+    }
+
+    public static void main(String[] args) {
+        LocalDateTime start = LocalDateTime.now().withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0);
+        int year = start.getYear();
+        System.out.println("year = " + year);
+        int monthValue = start.getMonthValue();
+        System.out.println("monthValue = " + monthValue);
+        DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM");
+        String format = start.format(dateTimeFormatter2);
+        System.out.println("format = " + format);
     }
     }
 
 
     @Override
     @Override
@@ -81,7 +132,7 @@ public class DriverStockController implements DriverStockControllerAPI {
         queryWrapper.eq("deleted", 0);
         queryWrapper.eq("deleted", 0);
         Integer userNum = smartUserService.list(queryWrapper).size();
         Integer userNum = smartUserService.list(queryWrapper).size();
         for (int i = 0; i < list.size(); i++) {
         for (int i = 0; i < list.size(); i++) {
-            list.get(i).setNum(list.get(i).getNum()/userNum);
+            list.get(i).setNum(list.get(i).getNum() / userNum);
         }
         }
         return CommonResult.ok(list);
         return CommonResult.ok(list);
     }
     }
@@ -92,11 +143,11 @@ public class DriverStockController implements DriverStockControllerAPI {
     public CommonResult getEnergyMonth(Integer type) {
     public CommonResult getEnergyMonth(Integer type) {
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
         List<JSONObject> jList = new ArrayList<>();
         List<JSONObject> jList = new ArrayList<>();
-        for (int i=-5; i<=0; i++) {
+        for (int i = -5; i <= 0; i++) {
             Calendar calendar = Calendar.getInstance();
             Calendar calendar = Calendar.getInstance();
             calendar.add(Calendar.MONTH, i);
             calendar.add(Calendar.MONTH, i);
             String date = simpleDateFormat.format(calendar.getTime());
             String date = simpleDateFormat.format(calendar.getTime());
-            List<TjFloat> list = driverStockService.getEnergyMonth(date,type);
+            List<TjFloat> list = driverStockService.getEnergyMonth(date, type);
             JSONObject jsonObject = new JSONObject();
             JSONObject jsonObject = new JSONObject();
             jsonObject.put("month", date);
             jsonObject.put("month", date);
             jsonObject.put("data", list);
             jsonObject.put("data", list);
@@ -108,7 +159,7 @@ public class DriverStockController implements DriverStockControllerAPI {
     @Override
     @Override
     @PassToken
     @PassToken
     @DESRespondSecret(validated = false)
     @DESRespondSecret(validated = false)
-    public CommonResult getDeviceT(){
+    public CommonResult getDeviceT() {
         List<JSONObject> list = new ArrayList<>();
         List<JSONObject> list = new ArrayList<>();
         JSONObject jsonObject1 = new JSONObject();
         JSONObject jsonObject1 = new JSONObject();
         List<TjFloat> allList = driverStockService.getTotalDevice();
         List<TjFloat> allList = driverStockService.getTotalDevice();
@@ -126,7 +177,7 @@ public class DriverStockController implements DriverStockControllerAPI {
     @Override
     @Override
     @PassToken
     @PassToken
     @DESRespondSecret(validated = false)
     @DESRespondSecret(validated = false)
-    public CommonResult getMeterPage(int currentPage, int pageCount,Integer meterType) {
+    public CommonResult getMeterPage(int currentPage, int pageCount, Integer meterType) {
         PageHelper.startPage(currentPage, pageCount);
         PageHelper.startPage(currentPage, pageCount);
         PageInfo<MeterPage> list = driverStockService.getMeterDetail(meterType);
         PageInfo<MeterPage> list = driverStockService.getMeterDetail(meterType);
         return CommonResult.ok(list);
         return CommonResult.ok(list);
@@ -143,24 +194,24 @@ public class DriverStockController implements DriverStockControllerAPI {
     @Override
     @Override
     @PassToken
     @PassToken
     @DESRespondSecret(validated = false)
     @DESRespondSecret(validated = false)
-    public CommonResult getUserPage(int currentPage, int pageCount,String key,Integer identityId){
+    public CommonResult getUserPage(int currentPage, int pageCount, String key, Integer identityId) {
         PageHelper.startPage(currentPage, pageCount);
         PageHelper.startPage(currentPage, pageCount);
-        PageInfo<userPage> list = driverStockService.getUserPage(key,identityId);
+        PageInfo<userPage> list = driverStockService.getUserPage(key, identityId);
         return CommonResult.ok(list);
         return CommonResult.ok(list);
     }
     }
 
 
     @Override
     @Override
     @PassToken
     @PassToken
     @DESRespondSecret(validated = false)
     @DESRespondSecret(validated = false)
-    public CommonResult getScorePer(String examName,String updateUser){
-        List<Tj> list = driverStockService.getScorePer(examName,updateUser);
+    public CommonResult getScorePer(String examName, String updateUser) {
+        List<Tj> list = driverStockService.getScorePer(examName, updateUser);
         return CommonResult.ok(list);
         return CommonResult.ok(list);
     }
     }
 
 
     @Override
     @Override
     @PassToken
     @PassToken
     @DESRespondSecret(validated = false)
     @DESRespondSecret(validated = false)
-    public CommonResult getExamName(){
+    public CommonResult getExamName() {
         List<Tj> list = driverStockService.getExamName();
         List<Tj> list = driverStockService.getExamName();
         return CommonResult.ok(list);
         return CommonResult.ok(list);
     }
     }
@@ -168,7 +219,7 @@ public class DriverStockController implements DriverStockControllerAPI {
     @Override
     @Override
     @PassToken
     @PassToken
     @DESRespondSecret(validated = false)
     @DESRespondSecret(validated = false)
-    public CommonResult getTeacherExam(String cardNo){
+    public CommonResult getTeacherExam(String cardNo) {
         Tj list = driverStockService.getTeacherExam(cardNo);
         Tj list = driverStockService.getTeacherExam(cardNo);
         return CommonResult.ok(list);
         return CommonResult.ok(list);
     }
     }

+ 6 - 1
src/main/java/com/template/controller/HikvisionController.java

@@ -45,6 +45,7 @@ public class HikvisionController implements HikvisionAPI {
     SmartNotificationService smartNotificationService;
     SmartNotificationService smartNotificationService;
 
 
 
 
+
     /**
     /**
      * 事件订阅
      * 事件订阅
      *
      *
@@ -237,7 +238,11 @@ public class HikvisionController implements HikvisionAPI {
                     String name = reserve_field.getString("name");
                     String name = reserve_field.getString("name");
                     smartFaceDiscern.setName(name);
                     smartFaceDiscern.setName(name);
 
 
-//                  todo  通过身份证查询是谁
+//                   通过身份证,学号查询是谁
+                    SmartUser one = smartUserService.getCard(certificateNumber);
+                    if (ObjectUtils.isNotEmpty(one)) {
+                        smartFaceDiscern.setUserId(one.getId());
+                    }
 
 
                     smartFaceDiscernService.save(smartFaceDiscern);
                     smartFaceDiscernService.save(smartFaceDiscern);
 
 

+ 59 - 0
src/main/java/com/template/controller/SmartAttendanceController.java

@@ -1,7 +1,9 @@
 package com.template.controller;
 package com.template.controller;
 
 
 
 
+import com.alibaba.druid.sql.visitor.functions.If;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.seewo.open.sdk.DefaultSeewoClient;
 import com.seewo.open.sdk.DefaultSeewoClient;
 import com.seewo.open.sdk.SeewoClient;
 import com.seewo.open.sdk.SeewoClient;
@@ -14,6 +16,7 @@ import com.template.config.SeewoConfig;
 import com.template.model.enumModel.eAttendanceStatu;
 import com.template.model.enumModel.eAttendanceStatu;
 import com.template.model.enumModel.eIdentityStatu;
 import com.template.model.enumModel.eIdentityStatu;
 import com.template.model.enumModel.eXwApproveStatu;
 import com.template.model.enumModel.eXwApproveStatu;
+import com.template.model.evaluate.student.SmartEvaluateStudent;
 import com.template.model.pojo.*;
 import com.template.model.pojo.*;
 import com.template.model.request.askForLeaveRequest;
 import com.template.model.request.askForLeaveRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
@@ -22,6 +25,8 @@ import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsRequest;
 import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsResult;
 import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsResult;
 import com.template.model.vo.*;
 import com.template.model.vo.*;
 import com.template.services.SmartAttendanceService;
 import com.template.services.SmartAttendanceService;
+import com.template.services.SmartEvaluateStudentService;
+import com.template.services.SmartSemesterService;
 import com.template.services.SmartUserService;
 import com.template.services.SmartUserService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
@@ -33,6 +38,8 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.net.URLDecoder;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.net.URLEncoder;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
@@ -63,6 +70,8 @@ public class SmartAttendanceController implements SmartAttendanceControllerAPI {
     private SmartUserService smartUserService;
     private SmartUserService smartUserService;
     @Autowired
     @Autowired
     private SmartAttendanceService smartAttendanceService;
     private SmartAttendanceService smartAttendanceService;
+    @Autowired
+    SmartSemesterService smartSemesterService;
 
 
 
 
     @Override
     @Override
@@ -273,6 +282,56 @@ public class SmartAttendanceController implements SmartAttendanceControllerAPI {
 
 
     }
     }
 
 
+    @Override
+    public CommonResult historicalAttendance(int userId, String dateTime) {
+
+        LocalDateTime now = LocalDateTime.now();
+        Date startTime = null;
+        Date endTime= null;
+        HistoricalAttendanceVo historicalAttendanceVo = new HistoricalAttendanceVo();
+        if ("1".equals(dateTime)) {
+//        本学期
+            SmartSemester smartSemester = smartSemesterService.getSemester(now);
+            if (ObjectUtils.isEmpty(smartSemester)) {
+                return CommonResult.ok(historicalAttendanceVo);
+            }
+            startTime = smartSemester.getStartTime();
+            endTime = smartSemester.getEndTime();
+            System.out.println("smartSemester = " + smartSemester);
+
+        } else if ("2".equals(dateTime)) {
+//        近1个月
+            LocalDateTime localDateTime = now.minusMonths(1);
+            startTime = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
+            endTime = Date.from(now.atZone(ZoneId.systemDefault()).toInstant());
+
+        } else if ("3".equals(dateTime)) {
+//        近一周
+            LocalDateTime localDateTime = now.minusDays(7);
+            startTime = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
+            endTime = Date.from(now.atZone(ZoneId.systemDefault()).toInstant());
+        }
+
+         List<Integer> statusList=smartAttendanceService.getGroup();
+
+        for (Integer status : statusList) {
+            List<SmartAttendance> smartAttendances =smartAttendanceService.getHistoricalAttendance(userId,status,startTime,endTime);
+            if (0==status) {
+                historicalAttendanceVo.setPunctuality(smartAttendances.size());
+            }else if (1==status){
+                historicalAttendanceVo.setBeLate(smartAttendances.size());
+            }else if (3==status){
+                historicalAttendanceVo.setNotClockingIn(smartAttendances.size());
+            }else if (6==status){
+                historicalAttendanceVo.setAskForLeave(smartAttendances.size());
+            }else if (7==status){
+                historicalAttendanceVo.setClockOut(smartAttendances.size());
+            }
+        }
+
+        return CommonResult.ok(historicalAttendanceVo);
+    }
+
     public PersonalLeaveListSchoolPeriodRecordsResult getXwAttendance(String startDate, String endDate, Integer currentPage, Integer pageSize) {
     public PersonalLeaveListSchoolPeriodRecordsResult getXwAttendance(String startDate, String endDate, Integer currentPage, Integer pageSize) {
         //初始化客户端
         //初始化客户端
         SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
         SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));

+ 67 - 0
src/main/java/com/template/controller/SmartScoreController.java

@@ -1,12 +1,15 @@
 package com.template.controller;
 package com.template.controller;
 
 
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.annotation.DESRespondSecret;
 import com.template.annotation.DESRespondSecret;
 import com.template.api.SmartScoreControllerAPI;
 import com.template.api.SmartScoreControllerAPI;
 import com.template.common.utils.AesUtils;
 import com.template.common.utils.AesUtils;
 import com.template.common.utils.ExcelUtils;
 import com.template.common.utils.ExcelUtils;
 import com.template.common.utils.paramUtils;
 import com.template.common.utils.paramUtils;
 import com.template.model.enumModel.*;
 import com.template.model.enumModel.*;
+import com.template.model.evaluate.student.SmartEvaluateStudent;
 import com.template.model.pojo.*;
 import com.template.model.pojo.*;
 import com.template.model.request.deleteSmartScoreRequest;
 import com.template.model.request.deleteSmartScoreRequest;
 import com.template.model.request.insertScoreRequest;
 import com.template.model.request.insertScoreRequest;
@@ -34,6 +37,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -74,6 +78,8 @@ public class SmartScoreController implements SmartScoreControllerAPI {
     @Autowired
     @Autowired
     private SmartAuthorGroupService smartAuthorGroupService;
     private SmartAuthorGroupService smartAuthorGroupService;
 
 
+    @Autowired
+    public SmartEvaluateStudentService smartEvaluateStudentService;
 
 
     @Override
     @Override
     @DESRespondSecret(validated = true)
     @DESRespondSecret(validated = true)
@@ -625,6 +631,67 @@ public class SmartScoreController implements SmartScoreControllerAPI {
         return CommonResult.ok("200", "操作成功", "https://wanzai-1306339220.cos.ap-shanghai.myqcloud.com/excelModel/成绩信息表.xlsx");
         return CommonResult.ok("200", "操作成功", "https://wanzai-1306339220.cos.ap-shanghai.myqcloud.com/excelModel/成绩信息表.xlsx");
     }
     }
 
 
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult averageScore(int userId) {
+        LocalDateTime now = LocalDateTime.now();
+        SmartSemester smartSemester = smartSemesterService.getSemester(now);
+        if (ObjectUtils.isEmpty(smartSemester)) {
+            return CommonResult.ok("当前时间不属于任何学期");
+        }
+        Integer semesterId = smartSemester.getId();
+//        获取所有学科
+        List<SmartSubject> list = smartSubjectService.list(new LambdaQueryWrapper<>());
+        ArrayList<AverageScoreVo> averageScoreVos = new ArrayList<>();
+        for (SmartSubject smartSubject : list) {
+            AverageScoreVo averageScoreVo = new AverageScoreVo();
+            Integer smartSemesterId = smartSemester.getId();
+            Double score =smartScoreService.getAverageScore(userId,semesterId,smartSemesterId);
+            averageScoreVo.setSubjectName(smartSubject.getName());
+            if (ObjectUtils.isNotEmpty(score)) {
+                averageScoreVo.setScore(score);
+            }else {
+                averageScoreVo.setScore(0.0);
+            }
+
+            averageScoreVos.add(averageScoreVo);
+        }
+        return CommonResult.ok(averageScoreVos);
+    }
+
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult teacherMessage(String cardNo) {
+        LocalDateTime now = LocalDateTime.now();
+        SmartSemester smartSemester = smartSemesterService.getSemester(now);
+        if (ObjectUtils.isEmpty(smartSemester)) {
+            return CommonResult.ok("当前时间不属于任何学期");
+        }
+        String name = smartSemester.getName();
+        SmartEvaluateStudent smartEvaluateStudent =smartEvaluateStudentService.getTeacherMessage(cardNo,name);
+        HashMap<String, String> map = new HashMap<>();
+        if (ObjectUtils.isNotEmpty(smartEvaluateStudent)) {
+            String scoreComment = smartEvaluateStudent.getScoreComment();
+            map.put("teacherMessage",scoreComment);
+        }else {
+            map.put("teacherMessage","暂无");
+        }
+        return CommonResult.ok(map);
+    }
+
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult studentExamName() {
+       List<StudentExamNameVo> vos =smartScoreService.getstudentExamName();
+       return CommonResult.ok(vos);
+    }
+
+    @Override
+    public CommonResult historicalExam(int userId, int semesterId, int examTypeId) {
+        List<HistoricalExamVo> list = smartScoreService.getHistoricalExam(userId,semesterId,examTypeId);
+        return CommonResult.ok(list);
+    }
+
     /**
     /**
      * 导入Xls文件方法
      * 导入Xls文件方法
      *
      *

+ 16 - 0
src/main/java/com/template/controller/SmartSemesterController.java

@@ -12,6 +12,7 @@ import com.template.model.result.PageUtils;
 import com.template.model.vo.SemesterVo;
 import com.template.model.vo.SemesterVo;
 import com.template.services.SmartIdentityService;
 import com.template.services.SmartIdentityService;
 import com.template.services.SmartSemesterService;
 import com.template.services.SmartSemesterService;
+import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.BindingResult;
@@ -20,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -53,6 +55,13 @@ public class SmartSemesterController implements SmartSemesterControllerAPI {
             String st = paramUtils.getParamError(bindingResult);
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
             return CommonResult.fail(st);
         }
         }
+        Date startTime = smartApply.getStartTime();
+        Date endTime = smartApply.getEndTime();
+//        一天里不能是多个学期
+        List<SmartSemester> list=smartSemesterService.getSemesterTime(startTime,endTime);
+        if (ObjectUtils.isNotEmpty(list)&&list.size()>0) {
+            return CommonResult.fail("该时间段已包含其他学期");
+        }
 
 
         int result = smartSemesterService.insertSmartSemester(smartApply);
         int result = smartSemesterService.insertSmartSemester(smartApply);
 
 
@@ -73,6 +82,13 @@ public class SmartSemesterController implements SmartSemesterControllerAPI {
             String st = paramUtils.getParamError(bindingResult);
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
             return CommonResult.fail(st);
         }
         }
+        Date startTime = sa.getStartTime();
+        Date endTime = sa.getEndTime();
+        //        一天里不能是多个学期
+        List<SmartSemester> list=smartSemesterService.getSemesterTime(startTime,endTime);
+        if (ObjectUtils.isNotEmpty(list)&&list.size()>0) {
+            return CommonResult.fail("该时间段已包含其他学期");
+        }
 
 
         int result = smartSemesterService.updateSmartSemester(sa);
         int result = smartSemesterService.updateSmartSemester(sa);
         return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败");
         return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败");

+ 37 - 0
src/main/java/com/template/controller/SmartUserController.java

@@ -5247,6 +5247,43 @@ public class SmartUserController implements SmartUserControllerAPI {
 
 
         return updateBatch ? CommonResult.ok("批量同步成功") : CommonResult.fail("批量同步失败");
         return updateBatch ? CommonResult.ok("批量同步成功") : CommonResult.fail("批量同步失败");
     }
     }
+
+
+
+    @Override
+    public CommonResult getPhoneUser(String phone) {
+
+        if (ObjectUtils.isEmpty(phone)) {
+            return CommonResult.fail("参数异常");
+        }
+//        通过手机号找到对应用户
+        SmartUser smartUser = smartUserService.getPhoneUser(phone);
+
+        return CommonResult.ok(smartUser);
+    }
+
+
+    @Override
+    public CommonResult getPhoneAffiliate(String phone) {
+        if (ObjectUtils.isEmpty(phone)) {
+            return CommonResult.fail("参数异常");
+        }
+
+        SmartUser smartUser = smartUserService.getPhoneUser(phone);
+
+//        用户id,多个就用逗号隔开
+        String affiliate = smartUser.getAffiliate();
+        if (ObjectUtils.isEmpty(affiliate)) {
+            return CommonResult.fail("未关联学生");
+        }
+
+//        通过关联人找到对应用户
+        List<SmartUser> smartUsers=smartUserService.getAffiliateUser(affiliate);
+
+
+        return CommonResult.ok(smartUsers);
+    }
+
     //endregion
     //endregion
 
 
     //region 查询时间组编号
     //region 查询时间组编号

+ 2 - 1
src/main/java/com/template/mapper/DriverStockMapper.java

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.poi.ss.formula.functions.T;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.List;
 
 
 @Repository
 @Repository
@@ -16,7 +17,7 @@ public interface DriverStockMapper extends BaseMapper<T> {
     public List<Tj> getClassTj();
     public List<Tj> getClassTj();
 
 
     // 访客统计
     // 访客统计
-    public List<Tj> getVisitorTj();
+    public List<Tj> getVisitorTj(@Param("start") LocalDateTime start,@Param("end") LocalDateTime end);
 
 
     // 能耗总量统计
     // 能耗总量统计
     public List<TjFloat> getEnergyTj();
     public List<TjFloat> getEnergyTj();

+ 4 - 0
src/main/java/com/template/mapper/SmartAttendanceMapper.java

@@ -4,6 +4,8 @@ import com.template.model.pojo.SmartAttendance;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 楼栋表 Mapper 接口
  * 楼栋表 Mapper 接口
@@ -15,4 +17,6 @@ import org.springframework.stereotype.Repository;
 @Repository
 @Repository
 public interface SmartAttendanceMapper extends BaseMapper<SmartAttendance> {
 public interface SmartAttendanceMapper extends BaseMapper<SmartAttendance> {
 
 
+    List<Integer> getGroup();
+
 }
 }

+ 7 - 0
src/main/java/com/template/mapper/SmartScoreMapper.java

@@ -3,7 +3,9 @@ package com.template.mapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.template.model.pojo.SmartScore;
 import com.template.model.pojo.SmartScore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.HistoricalExamVo;
 import com.template.model.vo.ScorePageVo;
 import com.template.model.vo.ScorePageVo;
+import com.template.model.vo.StudentExamNameVo;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
@@ -23,4 +25,9 @@ public interface SmartScoreMapper extends BaseMapper<SmartScore> {
 
 
     List<ScorePageVo> querySmartScores(@Param("name") String name,@Param("semester") String semester, @Param("grade") String grade,@Param("schoolClass") String schoolClass,@Param("subject") Integer subject,@Param("examType") Integer examType,@Param("MinScore") Double MinScore,@Param("MaxScore") Double MaxScore);
     List<ScorePageVo> querySmartScores(@Param("name") String name,@Param("semester") String semester, @Param("grade") String grade,@Param("schoolClass") String schoolClass,@Param("subject") Integer subject,@Param("examType") Integer examType,@Param("MinScore") Double MinScore,@Param("MaxScore") Double MaxScore);
 
 
+    Double getAverageScore(@Param("userId") int userId,@Param("semesterId") Integer semesterId,@Param("smartSemesterId") Integer smartSemesterId);
+
+    List<StudentExamNameVo> getStudentExamName();
+
+    List<HistoricalExamVo> getHistoricalExam(@Param("userId") int userId,@Param("semesterId") int semesterId,@Param("examTypeId") int examTypeId);
 }
 }

+ 2 - 0
src/main/java/com/template/mapper/SmartUserMapper.java

@@ -44,4 +44,6 @@ public interface SmartUserMapper extends BaseMapper<SmartUser> {
     int deleteUserBatch(@Param("list") List<deleteUserVo> list);
     int deleteUserBatch(@Param("list") List<deleteUserVo> list);
 
 
     SmartStudentVo querySmartStudentById(@Param("userId") Integer userId);
     SmartStudentVo querySmartStudentById(@Param("userId") Integer userId);
+
+    List<SmartUser> getAffiliateUser(@Param("affiliate") String affiliate);
 }
 }

+ 32 - 1
src/main/java/com/template/model/tongji/userPage.java

@@ -1,11 +1,18 @@
 package com.template.model.tongji;
 package com.template.model.tongji;
 
 
-public class userPage {
+import lombok.Data;
 
 
+@Data
+public class userPage {
+    public Integer id;
     public String name;
     public String name;
     public String cardNo;
     public String cardNo;
     public String departMent;
     public String departMent;
 
 
+    public Integer sexId;
+
+    public String headImage;
+
     public String getName() {
     public String getName() {
         return name;
         return name;
     }
     }
@@ -29,4 +36,28 @@ public class userPage {
     public void setDepartMent(String departMent) {
     public void setDepartMent(String departMent) {
         this.departMent = departMent;
         this.departMent = departMent;
     }
     }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getSexId() {
+        return sexId;
+    }
+
+    public void setSexId(Integer sexId) {
+        this.sexId = sexId;
+    }
+
+    public String getHeadImage() {
+        return headImage;
+    }
+
+    public void setHeadImage(String headImage) {
+        this.headImage = headImage;
+    }
 }
 }

+ 11 - 0
src/main/java/com/template/model/vo/AverageScoreVo.java

@@ -0,0 +1,11 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class AverageScoreVo {
+    private String subjectName;
+
+    private Double score;
+
+}

+ 18 - 0
src/main/java/com/template/model/vo/HistoricalAttendanceVo.java

@@ -0,0 +1,18 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class HistoricalAttendanceVo {
+    //  准时
+    private Integer punctuality;
+    //    请假
+    private Integer askForLeave;
+    //    迟到
+    private Integer beLate;
+    //   超时打卡
+    private Integer clockOut;
+    //    未打卡
+    private Integer notClockingIn;
+
+}

+ 12 - 0
src/main/java/com/template/model/vo/HistoricalExamVo.java

@@ -0,0 +1,12 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class HistoricalExamVo {
+//    学科名称
+    private  String subjectName;
+//    分数
+    private Double score;
+
+}

+ 17 - 0
src/main/java/com/template/model/vo/StudentExamNameVo.java

@@ -0,0 +1,17 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class StudentExamNameVo {
+//    学期ID
+    private Integer semesterId;
+//      学期
+    private String semester;
+//      考试类型Id
+    private Integer examTypeId;
+//    考试类型名称
+    private String examTypeName;
+//    总名称——学期+考试名称
+    private String totalName;
+}

+ 14 - 0
src/main/java/com/template/model/vo/VisitorTjVo.java

@@ -0,0 +1,14 @@
+package com.template.model.vo;
+
+import com.template.model.tongji.Tj;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class VisitorTjVo {
+    private List<Tj> tjs;
+
+   private String dataTime;
+
+}

+ 2 - 1
src/main/java/com/template/services/DriverStockService.java

@@ -7,6 +7,7 @@ import com.template.model.tongji.TjFloat;
 import com.template.model.tongji.userPage;
 import com.template.model.tongji.userPage;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.List;
 
 
 public interface DriverStockService {
 public interface DriverStockService {
@@ -15,7 +16,7 @@ public interface DriverStockService {
     public List<Tj> getClassTj();
     public List<Tj> getClassTj();
 
 
     // 访客统计
     // 访客统计
-    public List<Tj> getVisitorTj();
+    public List<Tj> getVisitorTj(LocalDateTime start,LocalDateTime end);
 
 
     // 能耗总量统计
     // 能耗总量统计
     public List<TjFloat> getEnergyTj();
     public List<TjFloat> getEnergyTj();

+ 5 - 0
src/main/java/com/template/services/SmartAttendanceService.java

@@ -23,4 +23,9 @@ public interface SmartAttendanceService extends IService<SmartAttendance> {
     boolean insertAttendanceBatch(List<SmartAttendance> attendances);
     boolean insertAttendanceBatch(List<SmartAttendance> attendances);
 
 
     List<SmartAttendance> queryAttendanceList(Date startMonth, Date endMonth);
     List<SmartAttendance> queryAttendanceList(Date startMonth, Date endMonth);
+
+    List<SmartAttendance> getHistoricalAttendance(Integer userId,Integer status,Date startTime, Date endTime);
+
+    List<Integer> getGroup();
+
 }
 }

+ 7 - 0
src/main/java/com/template/services/SmartEvaluateStudentService.java

@@ -31,4 +31,11 @@ public interface SmartEvaluateStudentService extends IService<SmartEvaluateStude
 
 
     public List<SmartEvaluateStudent> getSmartEvaluateStudentByKey(QueryWrapper<SmartEvaluateStudent> queryWrapper);
     public List<SmartEvaluateStudent> getSmartEvaluateStudentByKey(QueryWrapper<SmartEvaluateStudent> queryWrapper);
 
 
+    /**
+     * 通过学期和卡号找到当前评语
+     * @param cardNo
+     * @param name
+     * @return
+     */
+    SmartEvaluateStudent getTeacherMessage(String cardNo, String name);
 }
 }

+ 15 - 0
src/main/java/com/template/services/SmartScoreService.java

@@ -4,7 +4,9 @@ import com.template.model.pojo.SmartScore;
 import com.template.model.pojo.SmartScore;
 import com.template.model.pojo.SmartScore;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.HistoricalExamVo;
 import com.template.model.vo.ScorePageVo;
 import com.template.model.vo.ScorePageVo;
+import com.template.model.vo.StudentExamNameVo;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -32,4 +34,17 @@ public interface SmartScoreService extends IService<SmartScore> {
     PageUtils<ScorePageVo> querySmartScorePage(int currentPage, int pageCount, String name, String semester, String grade, String schoolClass, Integer subject, Integer examType, Double MinScore, Double MaxScore, Integer userGradeId, Integer userSchoolClass);
     PageUtils<ScorePageVo> querySmartScorePage(int currentPage, int pageCount, String name, String semester, String grade, String schoolClass, Integer subject, Integer examType, Double MinScore, Double MaxScore, Integer userGradeId, Integer userSchoolClass);
 
 
     List<ScorePageVo> querySmartScores(String name, String semester, String grade, String schoolClass, Integer subject, Integer examType, Double MinScore, Double MaxScore);
     List<ScorePageVo> querySmartScores(String name, String semester, String grade, String schoolClass, Integer subject, Integer examType, Double MinScore, Double MaxScore);
+
+    /**
+     * 获取该学期单个学生的单科总平均分
+     * @param userId
+     * @param semesterId
+     * @param smartSemesterId
+     * @return
+     */
+    Double getAverageScore(int userId, Integer semesterId, Integer smartSemesterId);
+
+    List<StudentExamNameVo> getstudentExamName();
+
+    List<HistoricalExamVo> getHistoricalExam(int userId, int semesterId, int examTypeId);
 }
 }

+ 7 - 0
src/main/java/com/template/services/SmartSemesterService.java

@@ -5,6 +5,8 @@ import com.template.model.pojo.SmartSemester;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 
 
+import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -29,4 +31,9 @@ public interface SmartSemesterService extends IService<SmartSemester> {
     SmartSemester getSmartById(int id);
     SmartSemester getSmartById(int id);
 
 
     List<SmartSemester> queryAppletSemesters();
     List<SmartSemester> queryAppletSemesters();
+
+    SmartSemester getSemester(LocalDateTime now);
+
+    List<SmartSemester> getSemesterTime(Date startTime, Date endTime);
+
 }
 }

+ 22 - 0
src/main/java/com/template/services/SmartUserService.java

@@ -99,4 +99,26 @@ public interface SmartUserService extends IService<SmartUser> {
     List<SmartUser> queryUsersByClass(Integer schoolClass);
     List<SmartUser> queryUsersByClass(Integer schoolClass);
 
 
     List<SmartUser> getListUser();
     List<SmartUser> getListUser();
+
+    /**
+     * 通过手机号找到对应的人
+     * @param phone
+     * @return
+     */
+    SmartUser getPhoneUser(String phone);
+
+    /**
+     * 通过关联人找到对应用户
+     * @param affiliate
+     * @return
+     */
+    List<SmartUser> getAffiliateUser(String affiliate);
+
+    /**
+     * 通过身份证号和学号查询对应的人
+     * @param certificateNumber
+     * @return
+     */
+    SmartUser getCard(String certificateNumber);
+
 }
 }

+ 3 - 2
src/main/java/com/template/services/impl/DriverStockServiceImpl.java

@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.List;
 
 
 @Service
 @Service
@@ -23,8 +24,8 @@ public class DriverStockServiceImpl implements DriverStockService {
     }
     }
 
 
     // 访客统计
     // 访客统计
-    public List<Tj> getVisitorTj(){
-        return driverStockMapper.getVisitorTj();
+    public List<Tj> getVisitorTj(LocalDateTime start, LocalDateTime end){
+        return driverStockMapper.getVisitorTj(start,end);
     }
     }
 
 
     // 能耗总量统计
     // 能耗总量统计

+ 17 - 0
src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java

@@ -1,5 +1,6 @@
 package com.template.services.impl;
 package com.template.services.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.template.mapper.SmartAuthorGroupMapper;
 import com.template.mapper.SmartAuthorGroupMapper;
 import com.template.model.enumModel.eAttendanceStatu;
 import com.template.model.enumModel.eAttendanceStatu;
@@ -66,4 +67,20 @@ public class SmartAttendanceServiceImpl extends ServiceImpl<SmartAttendanceMappe
         List<SmartAttendance> result = smartAttendanceMapper.selectList(queryWrapper);
         List<SmartAttendance> result = smartAttendanceMapper.selectList(queryWrapper);
         return result;
         return result;
     }
     }
+
+    @Override
+    public List<SmartAttendance> getHistoricalAttendance(Integer userId,Integer status,Date startTime, Date endTime) {
+        LambdaQueryWrapper<SmartAttendance> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.between(SmartAttendance::getAttendTime,startTime,endTime);
+        queryWrapper.eq(SmartAttendance::getStatus,status);
+        queryWrapper.eq(SmartAttendance::getUserId,userId);
+        List<SmartAttendance> result = smartAttendanceMapper.selectList(queryWrapper);
+
+        return result;
+    }
+
+    @Override
+    public List<Integer> getGroup() {
+        return smartAttendanceMapper.getGroup();
+    }
 }
 }

+ 11 - 0
src/main/java/com/template/services/impl/SmartEvaluateStudentServiceImpl.java

@@ -1,5 +1,7 @@
 package com.template.services.impl;
 package com.template.services.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -72,4 +74,13 @@ public class SmartEvaluateStudentServiceImpl extends ServiceImpl<SmartEvaluateSt
         return result;
         return result;
     }
     }
 
 
+    @Override
+    public SmartEvaluateStudent getTeacherMessage(String cardNo, String name) {
+        LambdaQueryWrapper<SmartEvaluateStudent> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(SmartEvaluateStudent::getTerm,name)
+                .eq(SmartEvaluateStudent::getCardNo,cardNo);
+        SmartEvaluateStudent ses = this.getOne(wrapper);
+        return ses;
+    }
+
 }
 }

+ 20 - 0
src/main/java/com/template/services/impl/SmartScoreServiceImpl.java

@@ -1,5 +1,7 @@
 package com.template.services.impl;
 package com.template.services.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -8,7 +10,9 @@ import com.template.model.pojo.SmartScore;
 import com.template.model.pojo.SmartScore;
 import com.template.model.pojo.SmartScore;
 import com.template.mapper.SmartScoreMapper;
 import com.template.mapper.SmartScoreMapper;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.HistoricalExamVo;
 import com.template.model.vo.ScorePageVo;
 import com.template.model.vo.ScorePageVo;
+import com.template.model.vo.StudentExamNameVo;
 import com.template.services.SmartScoreService;
 import com.template.services.SmartScoreService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -82,4 +86,20 @@ public class SmartScoreServiceImpl extends ServiceImpl<SmartScoreMapper, SmartSc
         return result;
         return result;
     }
     }
 
 
+    @Override
+    public Double getAverageScore(int userId, Integer semesterId, Integer smartSemesterId) {
+        return smartScoreMapper.getAverageScore(userId,semesterId,smartSemesterId);
+    }
+
+    @Override
+    public List<StudentExamNameVo> getstudentExamName() {
+        return smartScoreMapper.getStudentExamName();
+    }
+
+    @Override
+    public  List<HistoricalExamVo> getHistoricalExam(int userId, int semesterId, int examTypeId) {
+        List<HistoricalExamVo> list = smartScoreMapper.getHistoricalExam(userId,semesterId,examTypeId);
+        return list;
+    }
+
 }
 }

+ 26 - 0
src/main/java/com/template/services/impl/SmartSemesterServiceImpl.java

@@ -1,5 +1,7 @@
 package com.template.services.impl;
 package com.template.services.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -14,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 
 
+import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -77,4 +81,26 @@ public class SmartSemesterServiceImpl extends ServiceImpl<SmartSemesterMapper, S
         List<SmartSemester> result = smartSemesterMapper.selectList(queryWrapper);
         List<SmartSemester> result = smartSemesterMapper.selectList(queryWrapper);
         return result;
         return result;
     }
     }
+
+    @Override
+    public SmartSemester getSemester(LocalDateTime now) {
+        LambdaQueryWrapper<SmartSemester> wrapper=new LambdaQueryWrapper<>();
+        wrapper.le(SmartSemester::getStartTime,now)
+                .ge(SmartSemester::getEndTime,now);
+        List<SmartSemester> list = this.list(wrapper);
+        if (list.size()>0) {
+            return list.get(0);
+        }
+        return null;
+    }
+
+    @Override
+    public List<SmartSemester> getSemesterTime(Date startTime, Date endTime) {
+        LambdaQueryWrapper<SmartSemester> wrapper=new LambdaQueryWrapper<>();
+        wrapper.between(SmartSemester::getStartTime,startTime,endTime)
+                .or()
+                .between(SmartSemester::getEndTime,startTime,endTime);
+        List<SmartSemester> list = this.list(wrapper);
+        return list;
+    }
 }
 }

+ 25 - 0
src/main/java/com/template/services/impl/SmartUserServiceImpl.java

@@ -302,4 +302,29 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
         return smartUserList;
         return smartUserList;
     }
     }
 
 
+    @Override
+    public SmartUser getPhoneUser(String phone) {
+        LambdaQueryWrapper<SmartUser> wrapper=new LambdaQueryWrapper<>();
+        SmartUser smartUser = this.getOne(wrapper);
+        return smartUser;
+    }
+
+
+    @Override
+    public List<SmartUser> getAffiliateUser(String affiliate) {
+        return smartUserMapper.getAffiliateUser(affiliate);
+    }
+
+    @Override
+    public SmartUser getCard(String certificateNumber) {
+        LambdaQueryWrapper<SmartUser> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(SmartUser::getIdCard,certificateNumber)
+                .or()
+                .eq(SmartUser::getCardNo,certificateNumber);
+        SmartUser one = this.getOne(wrapper);
+
+        return one;
+    }
+
+
 }
 }

+ 2 - 2
src/main/resources/mapper/template/DriverStockMapper.xml

@@ -34,7 +34,7 @@
     <!--访客统计-->
     <!--访客统计-->
     <select id="getVisitorTj" resultMap="Tj">
     <select id="getVisitorTj" resultMap="Tj">
         select case visitor_type when '1' then '家长' when '2' then '其他'
         select case visitor_type when '1' then '家长' when '2' then '其他'
-            end as `name`,COUNT(*) as num from `smart_visitor` group by visitor_type
+            end as `name`, COUNT(*) as num from `smart_visitor` WHERE visitor_time>#{start} and #{end}>visitor_time  group by visitor_type
     </select>
     </select>
 
 
     <!--能耗总量统计-->
     <!--能耗总量统计-->
@@ -83,7 +83,7 @@
 
 
     <!--用户汇总学生-->
     <!--用户汇总学生-->
     <select id="getUserPage" resultMap="userPage">
     <select id="getUserPage" resultMap="userPage">
-        select a.name,a.`card_no`,b.`name` as depart_ment from `smart_user` a
+        select a.id,a.sex_id as sexId,a.head_image as headImage,  a.name,a.`card_no`,b.`name`  as depart_ment from `smart_user` a
              left join `smart_department` b on a.`department_id`=b.id
              left join `smart_department` b on a.`department_id`=b.id
              where a.`deleted`=0 and a.identity_id=#{identityId}
              where a.`deleted`=0 and a.identity_id=#{identityId}
         <if test="key != null and key != ''">
         <if test="key != null and key != ''">

+ 8 - 0
src/main/resources/mapper/template/SmartAttendanceMapper.xml

@@ -2,4 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.SmartAttendanceMapper">
 <mapper namespace="com.template.mapper.SmartAttendanceMapper">
 
 
+    <select id="getGroup" resultType="java.lang.Integer">
+        SELECT
+            `status`
+        FROM
+            `smart_attendance`
+        GROUP BY
+            `status`
+    </select>
 </mapper>
 </mapper>

+ 38 - 0
src/main/resources/mapper/template/SmartScoreMapper.xml

@@ -87,5 +87,43 @@
         </if>
         </if>
     </select>
     </select>
 
 
+    <select id="getAverageScore" resultType="java.lang.Double">
+        SELECT ROUND(AVG(score), 2) as score
+        FROM `smart_score`
+        WHERE user_id = #{userId}
+          AND subject_id = #{smartSemesterId}
+          AND semester_id = #{semesterId} AND deleted=0
+
+    </select>
+
+    <select id="getStudentExamName" resultType="com.template.model.vo.StudentExamNameVo">
+        SELECT
+            ss.semester_id as semesterId,
+            ss.semester as semester,
+            ss.exam_type as examTypeId,
+            me.`name` as examTypeName ,
+            CONCAT(ss.semester,me.`name`) as totalName
+        FROM
+            `smart_score` ss
+                LEFT JOIN smart_examtype me ON ss.exam_type = me.id
+        where  ss.deleted=0
+        GROUP BY
+            ss.semester_id,
+            ss.exam_type
+    </select>
+    <select id="getHistoricalExam" resultType="com.template.model.vo.HistoricalExamVo">
+        SELECT
+            ss.score,
+            s.`name` as subjectName
+        FROM
+            `smart_score` ss
+                LEFT JOIN smart_subject s ON ss.subject_id = s.id
+        WHERE
+            user_id = #{userId}
+          AND semester_id = #{semesterId}
+          AND exam_type = #{examTypeId}
+          AND deleted=0
+    </select>
+
 
 
 </mapper>
 </mapper>

+ 8 - 0
src/main/resources/mapper/template/SmartUserMapper.xml

@@ -236,4 +236,12 @@
         </if>
         </if>
     </select>
     </select>
 
 
+    <select id="getAffiliateUser" resultType="com.template.model.pojo.SmartUser">
+        SELECT * FROM `smart_user`
+        where deleted = 0 and is_cancel=0
+        <if test="affiliate != null and affiliate != ''">
+            and FIND_IN_SET(id,#{affiliate})
+        </if>
+    </select>
+
 </mapper>
 </mapper>

+ 8 - 0
target/classes/mapper/template/SmartUserMapper.xml

@@ -236,4 +236,12 @@
         </if>
         </if>
     </select>
     </select>
 
 
+    <select id="getAffiliateUser" resultType="com.template.model.pojo.SmartUser">
+        SELECT * FROM `smart_user`
+        where deleted = 0 and is_cancel=0
+        <if test="affiliate != null and affiliate != ''">
+            and FIND_IN_SET(id,#{affiliate})
+        </if>
+    </select>
+
 </mapper>
 </mapper>

+ 3 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -146,6 +146,7 @@ com\template\model\weixin\AuthorAndGroup2.class
 com\template\mapper\SmartIdentityMapper.class
 com\template\mapper\SmartIdentityMapper.class
 com\template\common\utils\TimeExchange.class
 com\template\common\utils\TimeExchange.class
 com\template\model\seewo\ClassServiceBatchSaveClassParam$JSONRequestBody$JSONRequestBodyBuilder.class
 com\template\model\seewo\ClassServiceBatchSaveClassParam$JSONRequestBody$JSONRequestBodyBuilder.class
+com\template\model\vo\AverageScoreVo.class
 com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullParam$JSONRequestBody$JSONRequestBodyBuilder.class
 com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullParam$JSONRequestBody$JSONRequestBodyBuilder.class
 com\template\services\SmartUploadService.class
 com\template\services\SmartUploadService.class
 com\template\model\seewo\PhotoServiceSavePhotosParam$PhotoServiceSavePhotosParamBuilder.class
 com\template\model\seewo\PhotoServiceSavePhotosParam$PhotoServiceSavePhotosParamBuilder.class
@@ -245,6 +246,7 @@ com\template\model\seewo\StudentServiceUpdateStudentInfoParam$RequestBody$Reques
 com\template\model\vo\AffiliateUserVo.class
 com\template\model\vo\AffiliateUserVo.class
 com\template\services\impl\SmartApplyServiceImpl.class
 com\template\services\impl\SmartApplyServiceImpl.class
 com\template\model\vo\UserDeleteVo.class
 com\template\model\vo\UserDeleteVo.class
+com\template\model\vo\VisitorTjVo.class
 com\template\model\enumModel\eSubjectStatu.class
 com\template\model\enumModel\eSubjectStatu.class
 com\template\model\seewo\TeacherServiceBatchSaveOrUpdateTeacherParam.class
 com\template\model\seewo\TeacherServiceBatchSaveOrUpdateTeacherParam.class
 com\template\api\ExcelControllerAPI.class
 com\template\api\ExcelControllerAPI.class
@@ -707,6 +709,7 @@ com\template\mapper\SmartNotificationMapper.class
 com\template\services\impl\SmartSemesterServiceImpl.class
 com\template\services\impl\SmartSemesterServiceImpl.class
 com\template\common\utils\JWTUtil.class
 com\template\common\utils\JWTUtil.class
 com\template\model\enumModel\eLogOff.class
 com\template\model\enumModel\eLogOff.class
+com\template\model\vo\HistoricalAttendanceVo.class
 com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam$RequestBody.class
 com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam$RequestBody.class
 com\template\model\evaluate\teacher\SmartEvaluateTdetailList.class
 com\template\model\evaluate\teacher\SmartEvaluateTdetailList.class
 com\template\model\pojo\SmartSubject.class
 com\template\model\pojo\SmartSubject.class

File diff suppressed because it is too large
+ 631 - 628
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst