linzhijie
2021-03-24 b23f8cd1438c2b3c6f7e334502de619ffbb7fdc7
报告邮件标题跟随语言变换
9个文件已修改
328 ■■■■ 已修改文件
.idea/workspace.xml 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jar/tai-ots-framework.jar 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dev.yml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-local.yml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/exam/EntDemographyInfoMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/workspace.xml
@@ -19,20 +19,19 @@
    <select />
  </component>
  <component name="ChangeListManager">
    <list default="true" id="cd72c5cc-17e9-4269-9d87-e1dc29ad79ec" name="Default Changelist" comment="">
      <change afterPath="$PROJECT_DIR$/jar/tai-ots-framework.jar" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/src/main/resources/application-dev.yml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/src/main/resources/application-local.yml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/src/main/resources/application-online.yml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/src/main/resources/application-prod.yml" afterDir="false" />
    <list default="true" id="cd72c5cc-17e9-4269-9d87-e1dc29ad79ec" name="Default Changelist" comment="补充环境配置">
      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/java/com/ots/OtsApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ots/OtsApplication.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/jar/tai-ots-framework.jar" beforeDir="false" afterPath="$PROJECT_DIR$/jar/tai-ots-framework.jar" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/resources/application-sand.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-sand.yml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/resources/logback.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/logback.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/resources/mailConfig.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mailConfig.properties" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/resources/application-dev.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-dev.yml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/resources/application-local.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-local.yml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/resources/mybatis/exam/EntDemographyInfoMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mybatis/exam/EntDemographyInfoMapper.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/src/main/resources/static/ots/js/ry-ui.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/ots/js/ry-ui.js" afterDir="false" />
    </list>
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -40,6 +39,11 @@
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="Git.Settings">
    <option name="RECENT_BRANCH_BY_REPOSITORY">
      <map>
        <entry key="$PROJECT_DIR$" value="tai-ots-master-20210316" />
      </map>
    </option>
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="MavenImportPreferences">
@@ -68,12 +72,12 @@
    <property name="WebServerToolWindowFactoryState" value="false" />
    <property name="aspect.path.notification.shown" value="true" />
    <property name="ignore_missing_gitignore" value="true" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$/../tai-ots-framework" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$/../../Project/estage" />
    <property name="nodejs_package_manager_path" value="npm" />
    <property name="project.structure.last.edited" value="Project" />
    <property name="project.structure.proportion" value="0.0" />
    <property name="project.structure.side.proportion" value="0.0" />
    <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
    <property name="settings.editor.selected.configurable" value="File.Encoding" />
    <property name="vue.rearranger.settings.migration" value="true" />
  </component>
  <component name="RecentsManager">
@@ -91,7 +95,7 @@
    </option>
  </component>
  <component name="RunManager">
    <configuration name="OtsApplication (1)" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" temporary="true" nameIsGenerated="true">
    <configuration name="OtsApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" temporary="true">
      <module name="tai-ots-master" />
      <extension name="coverage">
        <pattern>
@@ -100,13 +104,14 @@
        </pattern>
      </extension>
      <option name="SPRING_BOOT_MAIN_CLASS" value="com.ots.OtsApplication" />
      <option name="ALTERNATIVE_JRE_PATH" />
      <method v="2">
        <option name="Make" enabled="true" />
      </method>
    </configuration>
    <recent_temporary>
      <list>
        <item itemvalue="Spring Boot.OtsApplication (1)" />
        <item itemvalue="Spring Boot.OtsApplication" />
      </list>
    </recent_temporary>
  </component>
@@ -134,7 +139,20 @@
      <workItem from="1615646368004" duration="3950000" />
      <workItem from="1615687698610" duration="24365000" />
      <workItem from="1615790694638" duration="12801000" />
      <workItem from="1615859554413" duration="19554000" />
      <workItem from="1615859554413" duration="23461000" />
      <workItem from="1615949826156" duration="724000" />
      <workItem from="1615964487389" duration="3807000" />
      <workItem from="1616054060031" duration="2110000" />
      <workItem from="1616073767415" duration="1939000" />
      <workItem from="1616135952000" duration="9944000" />
      <workItem from="1616165344652" duration="6093000" />
      <workItem from="1616212921235" duration="14207000" />
      <workItem from="1616232933711" duration="4578000" />
      <workItem from="1616255840849" duration="1053000" />
      <workItem from="1616311845452" duration="4534000" />
      <workItem from="1616341817344" duration="977000" />
      <workItem from="1616379322437" duration="2089000" />
      <workItem from="1616384832741" duration="4189000" />
    </task>
    <task id="LOCAL-00001" summary="测评项目最新代码">
      <created>1615212708854</created>
@@ -150,7 +168,14 @@
      <option name="project" value="LOCAL" />
      <updated>1615460723307</updated>
    </task>
    <option name="localTasksCounter" value="3" />
    <task id="LOCAL-00003" summary="补充环境配置">
      <created>1615895844574</created>
      <option name="number" value="00003" />
      <option name="presentableId" value="LOCAL-00003" />
      <option name="project" value="LOCAL" />
      <updated>1615895844574</updated>
    </task>
    <option name="localTasksCounter" value="4" />
    <servers />
  </component>
  <component name="TypeScriptGeneratedFilesManager">
@@ -196,7 +221,8 @@
  <component name="VcsManagerConfiguration">
    <MESSAGE value="测评项目最新代码" />
    <MESSAGE value="测评系统外部代码" />
    <option name="LAST_COMMIT_MESSAGE" value="测评系统外部代码" />
    <MESSAGE value="补充环境配置" />
    <option name="LAST_COMMIT_MESSAGE" value="补充环境配置" />
  </component>
  <component name="WindowStateProjectService">
    <state x="590" y="113" key="#OtsApplication" timestamp="1615515366491">
@@ -207,110 +233,114 @@
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="440" y="94" key="#Project_Structure/0.0.1920.1040@0.0.1920.1040" timestamp="1615515318160" />
    <state x="414" y="174" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1615688571928">
    <state x="414" y="174" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1615896285345">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="414" y="174" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1615688571928" />
    <state x="456" y="74" key="CommitChangelistDialog2" timestamp="1615460721590">
    <state x="414" y="174" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1615896285345" />
    <state x="765" y="225" key="#com.intellij.ide.util.MemberChooser" timestamp="1616236596670">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="456" y="74" key="CommitChangelistDialog2/0.0.1920.1040@0.0.1920.1040" timestamp="1615460721590" />
    <state x="135" y="145" width="1736" height="856" key="DiffContextDialog" timestamp="1615732620930">
    <state x="765" y="225" key="#com.intellij.ide.util.MemberChooser/0.0.1920.1040@0.0.1920.1040" timestamp="1616236596670" />
    <state x="533" y="147" key="CommitChangelistDialog2" timestamp="1616311985460">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="135" y="145" width="1736" height="856" key="DiffContextDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1615732620930" />
    <state x="740" y="274" key="FileChooserDialogImpl" timestamp="1615860106593">
    <state x="533" y="147" key="CommitChangelistDialog2/0.0.1920.1040@0.0.1920.1040" timestamp="1616311985460" />
    <state x="135" y="208" width="1736" height="793" key="DiffContextDialog" timestamp="1616311978717">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="740" y="274" key="FileChooserDialogImpl/0.0.1920.1040@0.0.1920.1040" timestamp="1615860106593" />
    <state width="267" height="357" key="Git.Branch.Popup" timestamp="1615460729320">
    <state x="135" y="208" width="1736" height="793" key="DiffContextDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1616311978717" />
    <state x="740" y="274" key="FileChooserDialogImpl" timestamp="1616397949799">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="267" height="357" key="Git.Branch.Popup/0.0.1920.1040@0.0.1920.1040" timestamp="1615460729320" />
    <state width="1877" height="385" key="GridCell.Tab.0.bottom" timestamp="1615889667308">
    <state x="740" y="274" key="FileChooserDialogImpl/0.0.1920.1040@0.0.1920.1040" timestamp="1616397949799" />
    <state width="289" height="379" key="Git.Branch.Popup" timestamp="1616217406445">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.0.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1615889667308" />
    <state width="1877" height="385" key="GridCell.Tab.0.center" timestamp="1615889667308">
    <state width="289" height="379" key="Git.Branch.Popup/0.0.1920.1040@0.0.1920.1040" timestamp="1616217406445" />
    <state width="1877" height="322" key="GridCell.Tab.0.bottom" timestamp="1616397952636">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.0.center/0.0.1920.1040@0.0.1920.1040" timestamp="1615889667308" />
    <state width="1877" height="385" key="GridCell.Tab.0.left" timestamp="1615889667308">
    <state width="1877" height="322" key="GridCell.Tab.0.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1616397952636" />
    <state width="1877" height="322" key="GridCell.Tab.0.center" timestamp="1616397952636">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.0.left/0.0.1920.1040@0.0.1920.1040" timestamp="1615889667308" />
    <state width="1877" height="385" key="GridCell.Tab.0.right" timestamp="1615889667308">
    <state width="1877" height="322" key="GridCell.Tab.0.center/0.0.1920.1040@0.0.1920.1040" timestamp="1616397952636" />
    <state width="1877" height="322" key="GridCell.Tab.0.left" timestamp="1616397952636">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.0.right/0.0.1920.1040@0.0.1920.1040" timestamp="1615889667308" />
    <state width="1877" height="385" key="GridCell.Tab.1.bottom" timestamp="1615889660605">
    <state width="1877" height="322" key="GridCell.Tab.0.left/0.0.1920.1040@0.0.1920.1040" timestamp="1616397952636" />
    <state width="1877" height="322" key="GridCell.Tab.0.right" timestamp="1616397952636">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.1.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1615889660605" />
    <state width="1877" height="385" key="GridCell.Tab.1.center" timestamp="1615889660605">
    <state width="1877" height="322" key="GridCell.Tab.0.right/0.0.1920.1040@0.0.1920.1040" timestamp="1616397952636" />
    <state width="1877" height="322" key="GridCell.Tab.1.bottom" timestamp="1616342796612">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.1.center/0.0.1920.1040@0.0.1920.1040" timestamp="1615889660605" />
    <state width="1877" height="385" key="GridCell.Tab.1.left" timestamp="1615889660605">
    <state width="1877" height="322" key="GridCell.Tab.1.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1616342796612" />
    <state width="1877" height="322" key="GridCell.Tab.1.center" timestamp="1616342796612">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.1.left/0.0.1920.1040@0.0.1920.1040" timestamp="1615889660605" />
    <state width="1877" height="385" key="GridCell.Tab.1.right" timestamp="1615889660605">
    <state width="1877" height="322" key="GridCell.Tab.1.center/0.0.1920.1040@0.0.1920.1040" timestamp="1616342796612" />
    <state width="1877" height="322" key="GridCell.Tab.1.left" timestamp="1616342796612">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.1.right/0.0.1920.1040@0.0.1920.1040" timestamp="1615889660605" />
    <state width="1877" height="385" key="GridCell.Tab.2.bottom" timestamp="1615889660606">
    <state width="1877" height="322" key="GridCell.Tab.1.left/0.0.1920.1040@0.0.1920.1040" timestamp="1616342796612" />
    <state width="1877" height="322" key="GridCell.Tab.1.right" timestamp="1616342796612">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.2.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1615889660606" />
    <state width="1877" height="385" key="GridCell.Tab.2.center" timestamp="1615889660605">
    <state width="1877" height="322" key="GridCell.Tab.1.right/0.0.1920.1040@0.0.1920.1040" timestamp="1616342796612" />
    <state width="1877" height="285" key="GridCell.Tab.2.bottom" timestamp="1616256896660">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.2.center/0.0.1920.1040@0.0.1920.1040" timestamp="1615889660605" />
    <state width="1877" height="385" key="GridCell.Tab.2.left" timestamp="1615889660605">
    <state width="1877" height="285" key="GridCell.Tab.2.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1616256896660" />
    <state width="1877" height="285" key="GridCell.Tab.2.center" timestamp="1616256896660">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.2.left/0.0.1920.1040@0.0.1920.1040" timestamp="1615889660605" />
    <state width="1877" height="385" key="GridCell.Tab.2.right" timestamp="1615889660605">
    <state width="1877" height="285" key="GridCell.Tab.2.center/0.0.1920.1040@0.0.1920.1040" timestamp="1616256896660" />
    <state width="1877" height="285" key="GridCell.Tab.2.left" timestamp="1616256896660">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="385" key="GridCell.Tab.2.right/0.0.1920.1040@0.0.1920.1040" timestamp="1615889660605" />
    <state width="1877" height="285" key="GridCell.Tab.2.left/0.0.1920.1040@0.0.1920.1040" timestamp="1616256896660" />
    <state width="1877" height="285" key="GridCell.Tab.2.right" timestamp="1616256896660">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="1877" height="285" key="GridCell.Tab.2.right/0.0.1920.1040@0.0.1920.1040" timestamp="1616256896660" />
    <state x="490" y="174" key="Maven.ArtifactSearchDialog" timestamp="1615427932582">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="490" y="174" key="Maven.ArtifactSearchDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1615427932582" />
    <state x="461" y="164" key="SettingsEditor" timestamp="1615431876749">
    <state x="461" y="164" key="SettingsEditor" timestamp="1616142353333">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="461" y="164" key="SettingsEditor/0.0.1920.1040@0.0.1920.1040" timestamp="1615431876749" />
    <state x="552" y="252" key="Vcs.Push.Dialog.v2" timestamp="1615460743690">
    <state x="461" y="164" key="SettingsEditor/0.0.1920.1040@0.0.1920.1040" timestamp="1616142353333" />
    <state x="552" y="252" key="Vcs.Push.Dialog.v2" timestamp="1616217407848">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="552" y="252" key="Vcs.Push.Dialog.v2/0.0.1920.1040@0.0.1920.1040" timestamp="1615460743690" />
    <state width="968" height="528" key="XDebugger.FullValuePopup" timestamp="1615866063087">
    <state x="552" y="252" key="Vcs.Push.Dialog.v2/0.0.1920.1040@0.0.1920.1040" timestamp="1616217407848" />
    <state width="968" height="528" key="XDebugger.FullValuePopup" timestamp="1616223565788">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state width="968" height="528" key="XDebugger.FullValuePopup/0.0.1920.1040@0.0.1920.1040" timestamp="1615866063087" />
    <state x="754" y="432" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1615427969273">
    <state width="968" height="528" key="XDebugger.FullValuePopup/0.0.1920.1040@0.0.1920.1040" timestamp="1616223565788" />
    <state x="754" y="432" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1616217352314">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="754" y="432" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/0.0.1920.1040@0.0.1920.1040" timestamp="1615427969273" />
    <state x="1083" y="283" width="603" height="748" key="find.popup" timestamp="1615866113491">
    <state x="754" y="432" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/0.0.1920.1040@0.0.1920.1040" timestamp="1616217352314" />
    <state x="967" y="100" width="719" height="931" key="find.popup" timestamp="1616396725972">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="1083" y="283" width="603" height="748" key="find.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1615866113491" />
    <state x="967" y="100" width="719" height="931" key="find.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1616396725972" />
    <state x="761" y="426" key="git4idea.remote.GitConfigureRemotesDialog" timestamp="1615460537318">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="761" y="426" key="git4idea.remote.GitConfigureRemotesDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1615460537318" />
    <state x="616" y="240" width="672" height="677" key="run.anything.popup" timestamp="1615795422622">
    <state x="616" y="240" width="672" height="677" key="run.anything.popup" timestamp="1616386192087">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="616" y="240" width="672" height="677" key="run.anything.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1615795422622" />
    <state x="623" y="225" width="672" height="678" key="search.everywhere.popup" timestamp="1615864418427">
    <state x="616" y="240" width="672" height="677" key="run.anything.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1616386192087" />
    <state x="623" y="225" width="672" height="678" key="search.everywhere.popup" timestamp="1616396723231">
      <screen x="0" y="0" width="1920" height="1040" />
    </state>
    <state x="623" y="225" width="672" height="678" key="search.everywhere.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1615864418427" />
    <state x="623" y="225" width="672" height="678" key="search.everywhere.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1616396723231" />
  </component>
  <component name="XDebuggerManager">
    <breakpoint-manager>
@@ -337,17 +367,17 @@
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java</url>
          <line>851</line>
          <line>854</line>
          <option name="timeStamp" value="22" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java</url>
          <line>700</line>
          <line>706</line>
          <option name="timeStamp" value="23" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java</url>
          <line>679</line>
          <line>685</line>
          <option name="timeStamp" value="25" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
@@ -357,7 +387,7 @@
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java</url>
          <line>339</line>
          <line>345</line>
          <option name="timeStamp" value="27" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
@@ -367,7 +397,7 @@
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java</url>
          <line>300</line>
          <line>306</line>
          <option name="timeStamp" value="31" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
@@ -407,12 +437,12 @@
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java</url>
          <line>486</line>
          <line>492</line>
          <option name="timeStamp" value="41" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java</url>
          <line>555</line>
          <line>561</line>
          <option name="timeStamp" value="42" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
@@ -422,7 +452,7 @@
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java</url>
          <line>507</line>
          <line>513</line>
          <option name="timeStamp" value="44" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
@@ -436,14 +466,39 @@
          <option name="timeStamp" value="49" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java</url>
          <line>619</line>
          <option name="timeStamp" value="50" />
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java</url>
          <line>1259</line>
          <option name="timeStamp" value="52" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>jar://$PROJECT_DIR$/jar/tai-ots-framework.jar!/com/ots/project/tool/exam/ImageUtil.class</url>
          <line>135</line>
          <option name="timeStamp" value="51" />
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java</url>
          <line>180</line>
          <option name="timeStamp" value="53" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java</url>
          <line>285</line>
          <option name="timeStamp" value="54" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/controller/TExamPaperController.java</url>
          <line>377</line>
          <option name="timeStamp" value="57" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java</url>
          <line>80</line>
          <option name="timeStamp" value="63" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="java-line">
          <url>file://$PROJECT_DIR$/src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java</url>
          <line>514</line>
          <option name="timeStamp" value="64" />
        </line-breakpoint>
        <line-breakpoint enabled="true" type="javascript">
          <url>file://$PROJECT_DIR$/src/main/resources/static/ots/js/ry-ui.js</url>
          <line>750</line>
          <option name="timeStamp" value="61" />
        </line-breakpoint>
      </breakpoints>
    </breakpoint-manager>
jar/tai-ots-framework.jar
Binary files differ
src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java
@@ -60,4 +60,11 @@
     * @return 结果
     */
    int deleteEntDemographyInfoByIds(String[] infoIds);
    /**
     * 获取问卷语言
     * @param memberId
     * @return
     */
    String getlangType(Long memberId);
}
src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java
@@ -60,4 +60,11 @@
     * @return 结果
     */
    int deleteEntDemographyInfoById(Long infoId);
    /***
     * 获取填写语言
     * @param memberId
     * @return
     */
    String getlangType(Long memberId);
}
src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java
@@ -92,4 +92,14 @@
    public int deleteEntDemographyInfoById(Long infoId) {
        return entDemographyInfoMapper.deleteEntDemographyInfoById(infoId);
    }
    /**
     * 获取问卷语言
     * @param memberId
     * @return
     */
    @Override
    public String getlangType(Long memberId) {
        return entDemographyInfoMapper.getlangType(memberId);
    }
}
src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java
@@ -3,6 +3,8 @@
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ots.common.enums.LangTypeEnum;
import com.ots.common.enums.ReportTitle;
import com.ots.common.enums.SenderCode;
import com.ots.common.enums.UserTypeEnum;
import com.ots.common.utils.DateUtils;
@@ -32,6 +34,7 @@
import com.ots.project.tool.report.reportCalculation.request.*;
import com.ots.project.tool.report.reportCalculation.response.ReportAPIResult;
import lombok.extern.slf4j.Slf4j;
import org.apache.velocity.runtime.directive.Foreach;
import org.modelmapper.ModelMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -859,7 +862,11 @@
        }
        // 调用发送程序发给用户
        String title = tExamReportResult.getMemberName() + MessageUtils.message("jsp.exam.quesiton.reportTilte");
        //String title = tExamReportResult.getMemberName() + MessageUtils.message("jsp.exam.quesiton.reportTilte");
        String title = getTitle(tExamReportResult);
        log.error("报告标题:{}",title);
        String content = tExamReportResult.getMailContent();
        StringBuilder remark = new StringBuilder();
        remark.append("失败邮箱:");
@@ -1246,4 +1253,40 @@
    }
    /***
     * 获取报告填写语言,返回标题
     */
    private String getTitle(TExamReport tExamReportResult){
        String title = tExamReportResult.getMemberName() + MessageUtils.message("jsp.exam.quesiton.reportTilte");
        //报告内容跟测试产品名称不为空
        if(StringUtils.isNotEmpty(tExamReportResult.getContent()) && StringUtils.isNotEmpty(tExamReportResult.getProductName())){
            JSONArray content = JSONObject.parseArray(tExamReportResult.getContent());
            //获取语言
            String langType = content.getJSONObject(0).getString("langType");
            String field = ReportTitle.getField(langType);
            String name = "";
            for (int i = 0; i < content.size(); i++) {
                JSONObject jsonObject = content.getJSONObject(i);
                if(StringUtils.isNotEmpty(field) && field.equals(jsonObject.getString("field"))){
                    name = jsonObject.getString("value");
                    break;
                }
            }
            //获取产品名称
            JSONObject productNameObj = JSONObject.parseObject(tExamReportResult.getProductName());
            String productName = productNameObj.getString(langType);
            if(StringUtils.isNotEmpty(name) && StringUtils.isNotEmpty(productName) && StringUtils.isNotEmpty(langType)){
                //泰文是先报告名称后姓名 其他相反
                if(langType.equals(LangTypeEnum.Thai.getCode())){
                    title = String.format(ReportTitle.getReportTitle(langType),productName,name);
                }else{
                    title = String.format(ReportTitle.getReportTitle(langType),name,productName);
                }
            }
        }
        return title;
    }
}
src/main/resources/application-dev.yml
@@ -9,15 +9,15 @@
    # 实例演示开关
    demoEnabled: false
    # 文件路径 示例( Windows配置D:/ots/uploadPath,Linux配置 /home/data/ots/uploadPath)
    profile: D:/测评系统/home/uploadPath
    profile: /home/data/ots/uploadPath
    # 图片的url,如:vue端读http://139.199.11.114/images地址
    imagePath: http://127.0.0.1:8090/profile/images
    imagePath: http://47.114.179.216:8090/profile/images
    # 获取ip地址开关
    addressEnabled: true
    # 报告模版地址
    reportTemplates: D:/测评系统/home/reportTemplates/
    reportTemplates: /home/data/ots/reportTemplates/
    # http profile
    httpProfilePath: http://127.0.0.1:8090/profile
    httpProfilePath: http://47.114.179.216:8090/profile
# 数据源配置
spring:
    datasource:
@@ -26,9 +26,9 @@
        druid:
            # 主库数据源
            master:
                url: jdbc:mysql://192.168.21.252:3306/ots-sand?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                url: jdbc:mysql://47.114.179.216:3306/ots-sand?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: root
                password: Cc19970921
                password: TAI@2019#Zjun
            # 从库数据源
            slave:
                # 从数据源开关/默认关闭
@@ -80,11 +80,11 @@
# VUE端访问地址
vue:
    url: http://192.168.21.252:8080/exam-stu/#/ots/{0}/login
    url: http://47.114.179.216/exam-stu/#/ots/{0}/login
# 远程泰国计算服务
ATSTai:
    host: 192.168.21.252
    host: 127.0.0.1
    port: 9123
jasypt:
    encryptor:
src/main/resources/application-local.yml
@@ -7,13 +7,17 @@
    # 版权年份
    copyrightYear: 2020
    # 实例演示开关
    demoEnabled: true
    demoEnabled: false
    # 文件路径 示例( Windows配置D:/ots/uploadPath,Linux配置 /home/data/ots/uploadPath)
    profile: /home/data/ots/uploadPath
    profile: D:/测评系统/home/uploadPath
    # 图片的url,如:vue端读http://139.199.11.114/images地址
    imagePath: http://localhost:8090/profile/images
    imagePath: http://127.0.0.1:8090/profile/images
    # 获取ip地址开关
    addressEnabled: true
    # 报告模版地址
    reportTemplates: D:/测评系统/home/reportTemplates/
    # http profile
    httpProfilePath: http://127.0.0.1:8090/profile
# 数据源配置
spring:
    datasource:
@@ -22,10 +26,9 @@
        druid:
            # 主库数据源
            master:
                url: jdbc:mysql://127.0.0.1:3306/ess_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
#                url: jdbc:mysql://192.168.77.29:3306/ess?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                url: jdbc:mysql://192.168.8.171:3306/ots-sand?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: root
                password: perfect
                password: Cc19970921
            # 从库数据源
            slave:
                # 从数据源开关/默认关闭
@@ -77,9 +80,13 @@
# VUE端访问地址
vue:
    url: http://139.199.11.114/exam-stu/#/ots/{0}/login
    url: http://localhost:82/#/ots/{0}/login
# 远程泰国计算服务
ATSTai:
    host: 120.24.39.179
    host: 192.168.8.171
    port: 9123
jasypt:
    encryptor:
        password: 5ciqxnka5s02w9qu
        algorithm: PBEWithMD5AndDES
src/main/resources/mybatis/exam/EntDemographyInfoMapper.xml
@@ -115,5 +115,8 @@
        </where>
        order by info_id
    </select>
    <select id="getlangType" resultType="java.lang.String">
        SELECT lang_type FROM ent_demography_info where member_id = #{memberId} LIMIT 0,1
    </select>
    
</mapper>