From 5e873863bc7324894c89b0a0fc77a6202c91cd64 Mon Sep 17 00:00:00 2001 From: wzp <516075396@qq.com> Date: 星期二, 06 四月 2021 10:35:42 +0800 Subject: [PATCH] 20210406 --- src/main/java/com/ots/project/exam/mapper/TExamPaperMapper.java | 59 src/main/java/com/ots/project/exam/dto/DataReport.java | 4 src/main/java/com/ots/project/exam/dto/QuestionContent.java | 5 src/main/resources/mybatis/exam/EntTestMemberMapper.xml | 6 src/main/java/com/ots/project/exam/dto/BaseExamPage.java | 6 src/main/java/com/ots/project/exam/service/ITExamPaperService.java | 82 src/main/java/com/ots/project/exam/service/ITSubjectService.java | 64 src/main/resources/templates/exam/question/add-intelligence.html | 7 src/main/java/com/ots/project/exam/service/impl/EntTestMemberBackstageServiceImpl.java | 56 src/main/resources/static/i18n/messages_th_TH.properties | 10 src/main/java/com/ots/project/exam/dto/JAQPersons.java | 4 src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMailMapper.java | 55 src/main/java/com/ots/project/exam/domain/TExamReport.java | 147 src/main/java/com/ots/project/exam/mapper/QuestionMapper.java | 12 src/main/java/com/ots/project/monitor/job/task/HrEmailTask.java | 13 src/main/java/com/ots/project/exam/controller/EntTestPackageController.java | 113 src/main/java/com/ots/project/exam/service/impl/EntDemographyParamServiceImpl.java | 59 src/main/java/com/ots/project/exam/service/impl/EntTestDetailServiceImpl.java | 8 src/main/java/com/ots/project/exam/service/impl/TTextContentServiceImpl.java | 66 src/main/java/com/ots/project/exam/dto/ExamPaperAnswerUpdate.java | 2 src/main/java/com/ots/project/exam/mapper/EntTestPackageMapper.java | 58 src/main/java/com/ots/project/exam/service/IExamPaperService.java | 13 src/main/java/com/ots/project/exam/dto/Member.java | 7 src/main/java/com/ots/project/exam/dto/QuestionPart.java | 6 src/main/java/com/ots/project/exam/service/IEntTestMemberService.java | 99 src/main/java/com/ots/project/exam/controller/TExamReportController.java | 606 +- src/main/java/com/ots/project/exam/domain/TExamPaperQuestion.java | 18 src/main/java/com/ots/project/exam/service/IEntTestSendtaskService.java | 56 src/main/resources/templates/exam/enterprise/add.html | 2 src/main/java/com/ots/project/exam/service/UserEventLogService.java | 6 src/main/java/com/ots/project/exam/domain/comparator/TimeSpentComparator.java | 6 src/main/java/com/ots/project/exam/viewmodel/QuestionEditItemVM.java | 2 src/main/java/com/ots/project/exam/domain/TTextContent.java | 32 src/main/java/com/ots/project/exam/dto/ExamPaperTitleItemObject.java | 13 src/main/java/com/ots/project/demo/controller/DemoTableController.java | 162 src/main/java/com/ots/project/exam/domain/Question.java | 43 src/main/java/com/ots/project/exam/domain/EntTestSendtask.java | 94 src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java | 57 src/main/java/com/ots/project/exam/mapper/BaseExamMapper.java | 7 src/main/java/com/ots/project/exam/dto/ExamPaperQuestionItemObject.java | 2 src/main/java/com/ots/project/exam/dto/ParamDefine.java | 47 pom.xml | 86 src/main/java/com/ots/project/tool/gen/service/IExamUtilServiceImpl.java | 27 src/main/java/com/ots/project/exam/service/IBaseExamService.java | 52 src/main/java/com/ots/project/exam/mapper/EntOperLogMapper.java | 55 src/main/java/com/ots/project/exam/dto/SendTask.java | 48 src/main/java/com/ots/project/exam/dto/RelatedParty.java | 88 src/main/java/com/ots/project/exam/dto/PaperFilter.java | 3 src/main/java/com/ots/project/exam/viewmodel/ExamItemOrderAndContent.java | 2 src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageResponseVM.java | 11 src/main/java/com/ots/project/monitor/job/task/SenderTask.java | 39 src/main/java/com/ots/project/exam/dto/ExamPaperQuestion.java | 5 src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageResponseVM.java | 14 src/main/java/com/ots/project/exam/controller/EntTestDetailController.java | 29 src/main/java/com/ots/project/exam/domain/EntTestSendtaskMail.java | 65 src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageVM.java | 5 src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java | 267 src/main/java/com/ots/project/exam/controller/EntDemographyInfoController.java | 45 src/main/resources/templates/exam/librarycode/librarycode.html | 25 src/main/java/com/ots/project/common/CommonController.java | 73 src/main/java/com/ots/project/exam/listener/UserLogListener.java | 7 src/main/java/com/ots/project/exam/dto/QuestionObject.java | 8 src/main/java/com/ots/project/exam/service/ISysUserExtendService.java | 64 src/main/resources/application.yml | 2 src/main/java/com/ots/project/exam/service/impl/EntOperLogServiceImpl.java | 57 src/main/resources/templates/exam/testMember/testMember.html | 14 src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java | 206 src/main/java/com/ots/project/exam/mapper/UserEventLogMapper.java | 13 src/main/resources/templates/main.html | 296 - src/main/resources/templates/exam/demographyParam/demographyParam.html | 27 src/main/resources/templates/exam/testMember/add.html | 2 src/main/java/com/ots/project/exam/service/impl/BaseServiceImpl.java | 9 src/main/java/com/ots/project/exam/domain/EntTestPackage.java | 149 src/main/java/com/ots/project/exam/viewmodel/ExamPaperReadVM.java | 2 src/main/java/com/ots/project/exam/mapper/SysUserExtendMapper.java | 55 src/main/java/com/ots/project/demo/controller/DemoDialogController.java | 41 src/main/java/com/ots/project/exam/controller/TReportTemplateController.java | 45 src/main/java/com/ots/project/exam/mapper/EntDemographyParamMapper.java | 56 src/main/java/com/ots/project/exam/restcontroller/MemberControllerImpl.java | 44 src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitVM.java | 42 src/main/java/com/ots/project/exam/domain/TExamPaper.java | 122 src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java | 56 src/main/java/com/ots/project/exam/viewmodel/PaperInfoVM.java | 2 src/main/java/com/ots/project/exam/viewmodel/QuestionEditRequestVM.java | 14 src/main/resources/templates/system/dict/data/data.html | 27 src/main/java/com/ots/project/tool/gen/service/IExamUtilService.java | 13 src/main/java/com/ots/project/monitor/job/task/SenderEmailReportTask.java | 66 src/main/java/com/ots/project/exam/dto/SignalObject.java | 2 src/main/java/com/ots/project/exam/domain/TExamLevel.java | 28 src/main/java/com/ots/project/exam/controller/SysUserPaperController.java | 97 src/main/java/com/ots/project/exam/service/ReportCalculationServices.java | 12 src/main/java/com/ots/project/exam/domain/ExamPaperAnswer.java | 48 src/main/resources/templates/system/role/role.html | 10 src/main/java/com/ots/project/exam/viewmodel/BaseVM.java | 7 src/main/resources/static/i18n/messages_en_US.properties | 29 src/main/resources/templates/system/user/usermanager.html | 11 src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageRequestVM.java | 3 src/main/java/com/ots/project/exam/domain/ExamUser.java | 22 src/main/java/com/ots/project/exam/service/IEntTestDetailService.java | 6 src/main/java/com/ots/project/exam/dto/QuestionAnswer.java | 4 src/main/java/com/ots/project/exam/mapper/SubjectMapper.java | 11 src/main/resources/templates/system/dept/dept.html | 4 src/main/java/com/ots/project/exam/service/IEntTestSendtaskMailService.java | 54 src/main/java/com/ots/framework/web/controller/BaseController.java | 115 src/main/resources/static/downloadTemplates/ReportTemplates/waterDropDarkBlue_V2.png | 0 src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java | 316 - src/main/java/com/ots/project/exam/mapper/TExamReportMapper.java | 81 src/main/java/com/ots/project/exam/service/ITQuestionService.java | 75 src/main/java/com/ots/project/exam/domain/TSubject.java | 45 src/main/java/com/ots/project/exam/dto/TaskItemObject.java | 2 src/main/java/com/ots/project/exam/dto/DataReportHead.java | 15 src/main/java/com/ots/project/exam/dto/ParamsInfo.java | 33 src/main/resources/templates/monitor/operlog/operlog.html | 5 src/main/java/com/ots/project/exam/domain/EntDemographyInfo.java | 44 src/main/java/com/ots/project/exam/domain/Subject.java | 21 src/main/java/com/ots/project/exam/domain/ExamPaperQuestionCustomerAnswer.java | 48 src/main/java/com/ots/project/exam/dto/QuestionReport.java | 6 src/main/java/com/ots/project/exam/controller/DistributorController.java | 37 src/main/java/com/ots/project/exam/listener/UserEvent.java | 5 src/main/resources/static/i18n/messages_zh_CN.properties | 15 src/main/java/com/ots/project/exam/domain/EntDemographyParam.java | 60 src/main/java/com/ots/OtsServletInitializer.java | 6 src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java | 86 src/main/java/com/ots/project/exam/dto/RestResponse.java | 31 src/main/java/com/ots/project/exam/viewmodel/TaskItemPaperVm.java | 2 src/main/java/com/ots/project/exam/controller/EntDemographyParamController.java | 63 src/main/java/com/ots/project/exam/controller/TExamLevelController.java | 48 src/main/java/com/ots/project/exam/service/ExamPaperAnswerService.java | 41 src/main/java/com/ots/project/exam/service/impl/TSubjectServiceImpl.java | 60 src/main/java/com/ots/project/exam/mapper/ExamPaperQuestionCustomerAnswerMapper.java | 15 src/main/java/com/ots/project/exam/service/MemberService.java | 35 src/main/java/com/ots/project/exam/mapper/TSubjectMapper.java | 59 src/main/java/com/ots/project/exam/viewmodel/QuestionPageStudentRequestVM.java | 2 src/main/resources/templates/exam/test_package/test_package.html | 18 src/main/java/com/ots/project/exam/dto/TaskItemAnswerObject.java | 5 src/main/java/com/ots/project/exam/controller/TLibraryCodeController.java | 53 src/main/java/com/ots/project/exam/service/TaskExamCustomerAnswerService.java | 8 src/main/java/com/ots/project/exam/service/impl/TExamLevelServiceImpl.java | 69 src/main/java/com/ots/project/exam/dto/DemographyDto.java | 3 src/main/java/com/ots/project/exam/restcontroller/DashboardController.java | 9 src/main/java/com/ots/project/exam/dto/ExamPaperAnswerInfo.java | 3 src/main/java/com/ots/project/exam/service/BaseService.java | 52 src/main/resources/templates/exam/level/level.html | 10 src/main/java/com/ots/project/exam/service/ISysUserPaperService.java | 55 src/main/java/com/ots/project/exam/domain/EntTestDetail.java | 8 src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java | 28 src/main/java/com/ots/project/tool/report/JAQ/JAQReport.java | 39 src/main/resources/mailConfig.properties | 4 src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageVM.java | 3 src/main/resources/templates/exam/product/product.html | 3 src/main/java/com/ots/project/exam/domain/TextContent.java | 15 src/main/resources/templates/monitor/job/jobLog.html | 3 src/main/java/com/ots/project/exam/service/ITExamReportService.java | 105 src/main/java/com/ots/project/exam/mapper/TExamPaperQuestionMapper.java | 54 src/main/java/com/ots/project/exam/mapper/EntTestMemberBackstageMapper.java | 54 src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerCompleteEvent.java | 10 src/main/java/com/ots/project/exam/viewmodel/ExamPaperTitleItemVM.java | 20 src/main/java/com/ots/project/exam/viewmodel/QuestionPageRequestVM.java | 3 src/main/java/com/ots/project/exam/service/impl/MemberServiceImpl.java | 28 src/main/java/com/ots/project/exam/service/IEntTestMemberBackstageService.java | 55 src/main/resources/templates/system/dict/type/type.html | 10 src/main/resources/templates/exam/template/template.html | 27 src/main/resources/application-sand.yml | 2 src/main/java/com/ots/project/exam/controller/SysUserExtendController.java | 42 src/main/resources/mybatis/exam/TExamReportMapper.xml | 60 src/main/java/com/ots/project/exam/domain/WebContext.java | 7 src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskMailServiceImpl.java | 55 src/main/java/com/ots/project/exam/service/ITReportTemplateService.java | 76 src/main/java/com/ots/project/exam/viewmodel/IndexVM.java | 3 src/main/java/com/ots/project/exam/mapper/TQuestionMapper.java | 63 src/main/java/com/ots/project/exam/domain/NumberOfUsersByPackage.java | 29 src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java | 56 src/main/java/com/ots/project/demo/controller/DemoOperateController.java | 83 src/main/java/com/ots/project/exam/restcontroller/ExamUserController.java | 12 src/main/java/com/ots/project/exam/controller/EnterpriseController.java | 58 src/main/java/com/ots/project/exam/service/ExamPaperService.java | 12 src/main/java/com/ots/project/exam/dto/InterfaceContent.java | 3 src/main/java/com/ots/project/exam/service/QuestionService.java | 10 src/main/java/com/ots/project/exam/mapper/ExamPaperAnswerMapper.java | 14 src/main/java/com/ots/project/exam/service/impl/BaseExamServiceImpl.java | 9 src/main/resources/templates/include.html | 2 src/main/java/com/ots/project/exam/service/IEntTestPackageService.java | 80 src/main/java/com/ots/project/exam/service/impl/TaskExamCustomerAnswerImpl.java | 10 src/main/java/com/ots/project/exam/domain/comparator/IdComparator.java | 5 src/main/java/com/ots/project/exam/dto/ExamPaperTitleItem.java | 22 src/main/java/com/ots/project/exam/service/impl/EntTestPackageServiceImpl.java | 68 src/main/resources/templates/exam/distributor/distributor.html | 12 src/main/java/com/ots/project/exam/dto/PaperInfo.java | 3 src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskServiceImpl.java | 69 src/main/resources/static/downloadTemplates/ReportTemplates/Bar1_V2.png | 0 src/main/java/com/ots/project/exam/domain/ExamPaper.java | 21 src/main/java/com/ots/project/exam/mapper/SysUserPaperMapper.java | 55 src/main/java/com/ots/project/common/BaseApiController.java | 5 src/main/java/com/ots/project/exam/dto/DictItemDto.java | 11 src/main/java/com/ots/project/exam/service/ITTextContentService.java | 83 src/main/resources/static/downloadTemplates/ReportTemplates/Bar2_V2.png | 0 src/main/java/com/ots/project/demo/controller/DemoFormController.java | 132 src/main/java/com/ots/project/exam/service/IEntDemographyParamService.java | 56 src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java | 34 src/main/java/com/ots/project/exam/service/impl/SubjectServiceImpl.java | 12 src/main/java/com/ots/project/exam/controller/TSubjectController.java | 45 src/main/java/com/ots/project/demo/domain/UserOperateModel.java | 35 src/main/java/com/ots/project/exam/service/IEntOperLogService.java | 63 src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMapper.java | 55 src/main/java/com/ots/project/exam/restcontroller/MemberController.java | 39 src/main/java/com/ots/project/demo/controller/DemoIconController.java | 16 src/main/java/com/ots/project/exam/dto/BasePage.java | 7 src/main/java/com/ots/project/exam/domain/SysUserPaper.java | 38 src/main/java/com/ots/project/exam/service/impl/SysUserPaperServiceImpl.java | 56 src/main/java/com/ots/project/exam/dto/SubmitReport.java | 2 src/main/java/com/ots/project/exam/mapper/TReportTemplateMapper.java | 56 src/main/resources/templates/exam/question/question.html | 6 src/main/java/com/ots/project/exam/service/impl/SysUserExtendServiceImpl.java | 70 src/main/java/com/ots/OtsApplication.java | 10 src/main/java/com/ots/project/exam/viewmodel/UserResponseVM.java | 21 src/main/resources/templates/exam/testMember/edit.html | 2 src/main/java/com/ots/project/exam/mapper/TaskExamCustomerAnswerMapper.java | 10 src/main/java/com/ots/project/exam/service/impl/ExamPaperAnswerServiceImpl.java | 137 src/main/java/com/ots/project/exam/service/impl/UserEventLogServiceImpl.java | 10 src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitItemVM.java | 15 src/main/java/com/ots/project/exam/mapper/ExamPaperMapper.java | 17 src/main/java/com/ots/project/exam/viewmodel/UserEventPageRequestVM.java | 8 src/main/resources/templates/exam/userpaper/userPaper.html | 2 src/main/java/com/ots/project/exam/dto/DemographyDataReportDto.java | 2 src/main/resources/templates/exam/enterprise/enterprise.html | 14 src/main/java/com/ots/project/exam/viewmodel/ExamResultRequestVM.java | 5 src/main/java/com/ots/project/exam/service/ExamPaperQuestionCustomerAnswerService.java | 24 src/main/java/com/ots/project/exam/viewmodel/SubjectPageRequestVM.java | 2 src/main/java/com/ots/project/exam/service/SubjectService.java | 7 src/main/java/com/ots/project/exam/dto/ExamLogin.java | 3 src/main/resources/templates/monitor/job/job.html | 6 src/main/java/com/ots/project/exam/domain/EntTestMember.java | 108 src/main/java/com/ots/project/exam/service/impl/EntTestMemberServiceImpl.java | 95 src/main/resources/templates/exam/userpaper/edit.html | 91 src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js | 615 ++ src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java | 463 - src/main/java/com/ots/project/exam/domain/TTextContentAndQuestion.java | 24 src/main/java/com/ots/project/exam/dto/KeyValue.java | 4 src/main/java/com/ots/project/exam/mapper/EntTestMemberMapper.java | 65 src/main/java/com/ots/project/exam/service/ITExamLevelService.java | 59 src/main/java/com/ots/project/exam/controller/TQuestionController.java | 110 src/main/java/com/ots/project/exam/service/impl/ExamPaperQuestionCustomerAnswerServiceImpl.java | 16 src/main/java/com/ots/project/exam/domain/TaskExamCustomerAnswer.java | 18 src/main/java/com/ots/project/exam/domain/UserEventLog.java | 25 src/main/resources/templates/system/user/profile/profile.html | 22 src/main/resources/static/ots/js/common.js | 14 src/main/java/com/ots/project/exam/controller/EntOperLogController.java | 44 src/main/java/com/ots/project/exam/controller/EntTestMemberController.java | 128 src/main/java/com/ots/project/exam/domain/NumberOfUsersByCompany.java | 26 src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java | 25 src/main/java/com/ots/project/demo/controller/DemoReportController.java | 26 src/main/java/com/ots/project/exam/viewmodel/TaskItemVm.java | 3 src/main/java/com/ots/project/exam/viewmodel/ExamPaperEditRequestVM.java | 20 src/main/java/com/ots/project/exam/domain/EntOperLog.java | 38 src/main/java/com/ots/project/exam/domain/SysUserExtend.java | 167 src/main/java/com/ots/project/exam/domain/EntTestMemberOther.java | 102 src/main/java/com/ots/project/exam/dto/ParamDefineDictData.java | 21 src/main/java/com/ots/project/exam/mapper/TExamLevelMapper.java | 61 src/main/java/com/ots/project/exam/service/impl/TQuestionServiceImpl.java | 335 - src/main/java/com/ots/project/exam/controller/EntTestSendtaskController.java | 46 src/main/java/com/ots/project/exam/service/CountCalculateService.java | 14 src/main/java/com/ots/project/exam/controller/MainIndexController.java | 33 src/main/java/com/ots/project/monitor/job/task/DeleteSensitiveInformationTesk.java | 21 src/main/java/com/ots/project/exam/controller/EntTestSendtaskMailController.java | 44 src/main/java/com/ots/project/exam/domain/EntTestMemberBackstage.java | 74 src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java | 14 src/main/java/com/ots/project/exam/mapper/TTextContentMapper.java | 63 src/main/java/com/ots/project/monitor/job/task/RecoverTask.java | 38 src/main/resources/static/ots.jpg | 0 src/main/java/com/ots/project/exam/controller/TExamPaperController.java | 193 src/main/java/com/ots/project/exam/mapper/BaseMapper.java | 7 271 files changed, 3,031 insertions(+), 9,263 deletions(-) diff --git a/pom.xml b/pom.xml index 278c0b1..d737afd 100644 --- a/pom.xml +++ b/pom.xml @@ -354,96 +354,12 @@ <version>13.0</version> <scope>compile</scope> </dependency> - <dependency> <groupId>com.ots</groupId> <artifactId>tai-ots-framework</artifactId> <version>1.0</version> - <scope>system</scope> - <systemPath>${project.basedir}/jar/tai-ots-framework-1.0.jar</systemPath> </dependency> - </dependencies> - -<!-- <build>--> -<!-- <finalName>${project.artifactId}</finalName>--> -<!-- <plugins>--> -<!-- <plugin>--> -<!-- <groupId>org.springframework.boot</groupId>--> -<!-- <artifactId>spring-boot-maven-plugin</artifactId>--> -<!-- <configuration>--> -<!-- <fork>true</fork> <!– 濡傛灉娌℃湁璇ラ厤缃紝devtools涓嶄細鐢熸晥 –>--> -<!-- </configuration>--> -<!-- </plugin>--> -<!-- </plugins>--> -<!-- </build>--> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>1.8</source> - <target>1.8</target> - <encoding>utf-8</encoding> - </configuration> - </plugin> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <configuration> - <mainClass>com.ots.OtsApplication</mainClass> - <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments> - <fork>true</fork> <!-- 濡傛灉娌℃湁璇ラ厤缃紝devtools涓嶄細鐢熸晥 --> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <configuration> - <finalName>${project.artifactId}</finalName> - <descriptors> - <descriptor>src/main/assembly/assembly.xml</descriptor> - </descriptors> - </configuration> - <executions> - <execution> - <id>make-assembly</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>public</id> - <name>aliyun nexus</name> - <url>http://maven.aliyun.com/nexus/content/groups/public/</url> - <releases> - <enabled>true</enabled> - </releases> - </repository> - </repositories> - - <pluginRepositories> - <pluginRepository> - <id>public</id> - <name>aliyun nexus</name> - <url>http://maven.aliyun.com/nexus/content/groups/public/</url> - <releases> - <enabled>true</enabled> - </releases> - <snapshots> - <enabled>false</enabled> - </snapshots> - </pluginRepository> - </pluginRepositories> + </dependencies> </project> \ No newline at end of file diff --git a/src/main/java/com/ots/OtsApplication.java b/src/main/java/com/ots/OtsApplication.java index 38d48e2..c74e789 100644 --- a/src/main/java/com/ots/OtsApplication.java +++ b/src/main/java/com/ots/OtsApplication.java @@ -1,18 +1,12 @@ package com.ots; - import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -/** - * 鍚姩绋嬪簭 - * - * @author ots - */ @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) public class OtsApplication { public static void main(String[] args) { - // System.setProperty("spring.devtools.restart.enabled", "false"); + SpringApplication.run(OtsApplication.class, args); StringBuilder builder = new StringBuilder(); builder.append("********************************************************************\n"); @@ -23,4 +17,4 @@ builder.append("********************************************************************\n"); System.out.println(builder.toString()); } -} \ No newline at end of file +} diff --git a/src/main/java/com/ots/OtsServletInitializer.java b/src/main/java/com/ots/OtsServletInitializer.java index 5e0bfcc..db8b846 100644 --- a/src/main/java/com/ots/OtsServletInitializer.java +++ b/src/main/java/com/ots/OtsServletInitializer.java @@ -1,13 +1,7 @@ package com.ots; - import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; -/** - * web瀹瑰櫒涓繘琛岄儴缃� - * - * @author ots - */ public class OtsServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { diff --git a/src/main/java/com/ots/framework/web/controller/BaseController.java b/src/main/java/com/ots/framework/web/controller/BaseController.java new file mode 100644 index 0000000..7f88ce7 --- /dev/null +++ b/src/main/java/com/ots/framework/web/controller/BaseController.java @@ -0,0 +1,115 @@ +package com.ots.framework.web.controller; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.ots.common.utils.DateUtils; +import com.ots.common.utils.StringUtils; +import com.ots.common.utils.security.ShiroUtils; +import com.ots.common.utils.sql.SqlUtil; +import com.ots.framework.web.domain.AjaxResult; +import com.ots.framework.web.domain.AjaxResult.Type; +import com.ots.framework.web.page.PageDomain; +import com.ots.framework.web.page.TableDataInfo; +import com.ots.framework.web.page.TableSupport; +import com.ots.project.system.user.domain.User; +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.InitBinder; +import java.beans.PropertyEditorSupport; +import java.util.Date; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class BaseController { + + @InitBinder + public void initBinder(WebDataBinder binder) { + + binder.registerCustomEditor(Date.class, new PropertyEditorSupport() { + @Override + public void setAsText(String text) { + setValue(DateUtils.parseDate(text)); + } + }); + } + + protected void startPage() { + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { + String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); + PageHelper.startPage(pageNum, pageSize, orderBy); + } + } + + @SuppressWarnings({"rawtypes", "unchecked"}) + protected TableDataInfo getDataTable(List<?> list) { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(0); + rspData.setRows(list); + rspData.setTotal(new PageInfo(list).getTotal()); + return rspData; + } + + protected AjaxResult toAjax(int rows) { + return rows > 0 ? success() : error(); + } + + protected AjaxResult toAjax(boolean result) { + return result ? success() : error(); + } + + public AjaxResult success() { + return AjaxResult.success(); + } + + public AjaxResult error() { + return AjaxResult.error(); + } + + public AjaxResult success(String message) { + return AjaxResult.success(message); + } + + public AjaxResult error(String message) { + return AjaxResult.error(message); + } + + public AjaxResult error(Type type, String message) { + return new AjaxResult(type, message); + } + + public String redirect(String url) { + return StringUtils.format("redirect:{}", url); + } + public User getSysUser() { + return ShiroUtils.getSysUser(); + } + public void setSysUser(User user) { + ShiroUtils.setSysUser(user); + } + public Long getUserId() { + return getSysUser().getUserId(); + } + public String getLoginName() { + return getSysUser().getLoginName(); + } + public static void main(String[] args) { + String line = "xxxxx"; + System.out.println(getJson(line, "time_slot_list")); + } + public static String getJson(String json, String key) { + String pattern = key + "\": \\{[^}]*\\}"; + + Pattern r = Pattern.compile(pattern); + + Matcher m = r.matcher(json); + if (m.find()) { + String group = m.group(0); + group = group.replace(key + "\":", key + "\":["); + group += "]"; + return json.replaceAll(pattern, group); + } + return json; + } +} diff --git a/src/main/java/com/ots/project/common/BaseApiController.java b/src/main/java/com/ots/project/common/BaseApiController.java index 3bfe895..91c5cf2 100644 --- a/src/main/java/com/ots/project/common/BaseApiController.java +++ b/src/main/java/com/ots/project/common/BaseApiController.java @@ -1,20 +1,15 @@ package com.ots.project.common; - import com.ots.project.exam.domain.ExamUser; import com.ots.project.exam.domain.WebContext; import com.ots.project.tool.exam.ModelMapperSingle; import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; -/** - * @author ots - */ public class BaseApiController { protected final static String DEFAULT_PAGE_SIZE = "10"; protected final static ModelMapper modelMapper = ModelMapperSingle.Instance(); @Autowired protected WebContext webContext; - protected ExamUser getCurrentUser() { return webContext.getCurrentUser(); } diff --git a/src/main/java/com/ots/project/common/CommonController.java b/src/main/java/com/ots/project/common/CommonController.java index 18163f0..fdbe8a0 100644 --- a/src/main/java/com/ots/project/common/CommonController.java +++ b/src/main/java/com/ots/project/common/CommonController.java @@ -1,5 +1,4 @@ package com.ots.project.common; - import com.ots.common.utils.file.FileUploadUtils; import com.ots.common.utils.file.FileUtils; import com.ots.framework.config.EssConfig; @@ -13,38 +12,24 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -/** - * 閫氱敤璇锋眰澶勭悊 - * - * @author ots - */ @Controller public class CommonController { private static final Logger log = LoggerFactory.getLogger(CommonController.class); - @Autowired private ServerConfig serverConfig; - - /** - * 閫氱敤涓嬭浇璇锋眰 - * - * @param fileName 鏂囦欢鍚嶇О - * @param delete 鏄惁鍒犻櫎 - */ + @GetMapping("common/download") public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) { try { - //鍏堟敞閲婃帀鐪嬬湅锛屽洜涓烘病鏈夊彂鍏堟湰绯荤粺鐨勪笟鍔$殑浠讳綍鎰忎箟 -// if (!FileUtils.isValidFilename(fileName)) { -// throw new Exception(StringUtils.format("鏂囦欢鍚嶇О({})闈炴硶锛屼笉鍏佽涓嬭浇銆� ", fileName)); -// } + + + + String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1); String filePath = EssConfig.getDownloadPath() + fileName; - response.setCharacterEncoding("utf-8"); response.setContentType("multipart/form-data"); response.setHeader("Content-Disposition", @@ -57,17 +42,14 @@ log.error("涓嬭浇鏂囦欢澶辫触", e); } } - - /** - * 閫氱敤涓婁紶璇锋眰 - */ + @PostMapping("/common/upload") @ResponseBody public AjaxResult uploadFile(MultipartFile file) throws Exception { try { - // 涓婁紶鏂囦欢璺緞 + String filePath = EssConfig.getUploadPath(); - // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О + String fileName = FileUploadUtils.upload(filePath, file); String url = serverConfig.getUrl() + fileName; AjaxResult ajax = AjaxResult.success(); @@ -78,36 +60,31 @@ return AjaxResult.error(e.getMessage()); } } - /** - * 涓婁紶鍥剧墖鏈嶅姟鍣� - * /common/images 杩欓噷璇锋眰鐨勮繛鎺ユ槸images锛屼綘鐨勬枃浠跺す涔熻鍙玦mages - */ + @PostMapping("/common/images") @ResponseBody public AjaxResult upImage(MultipartFile file) throws Exception { try { - // 涓婁紶鏂囦欢璺緞 + String filePath = EssConfig.getUploadImagePath(); - // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О + String fileName = FileUploadUtils.upload(filePath, file); - //String url = serverConfig.getUrl() + fileName; + String url = fileName.replaceFirst("/profile/images", EssConfig.getImagePath()); + + + - //1銆佸厛鍘嬬缉鍑轰竴涓柊鐨� - // filePath = "/Users/shawnli/Downloads/images" - // fileName = "/profile/images/2019/12/19/aba5e2f850edf254a9e5b2a35c50089a.png" -// // url = "http://localhost:8090/profile/images/2019/12/19/aba5e2f850edf254a9e5b2a35c50089a.png" -// String filePathOriginal = fileName.replaceFirst("/profile/images", filePath); -// String fileNew = filePathOriginal + "."+filePathOriginal.substring(filePathOriginal.lastIndexOf(".") + 1); -// PicUtils.commpressPicForScale(filePathOriginal, fileNew, 20, 0.5); -// -// //2銆佸垹闄ゆ棫鐨� -// File fileOper = new File(filePathOriginal); -// fileOper.delete(); -// -// //3銆佸懡鍚嶆柊鐨勪负鏃х殑鍚嶅瓧 -// File fileNewOper = new File(fileNew); -// fileNewOper.renameTo(new File(filePathOriginal)); + + + + + + + + + + AjaxResult ajax = AjaxResult.success(); ajax.put("fileName", fileName); diff --git a/src/main/java/com/ots/project/demo/controller/DemoDialogController.java b/src/main/java/com/ots/project/demo/controller/DemoDialogController.java index cf79a9e..8719887 100644 --- a/src/main/java/com/ots/project/demo/controller/DemoDialogController.java +++ b/src/main/java/com/ots/project/demo/controller/DemoDialogController.java @@ -1,70 +1,43 @@ package com.ots.project.demo.controller; - import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -/** - * 妯℃�佺獥鍙� - * - * @author ots - */ @Controller @RequestMapping("/demo/modal") public class DemoDialogController { private String prefix = "demo/modal"; - - /** - * 妯℃�佺獥鍙� - */ + @GetMapping("/dialog") public String dialog() { return prefix + "/dialog"; } - - /** - * 寮瑰眰缁勪欢 - */ + @GetMapping("/layer") public String layer() { return prefix + "/layer"; } - - /** - * 琛ㄥ崟 - */ + @GetMapping("/form") public String form() { return prefix + "/form"; } - - /** - * 琛ㄦ牸 - */ + @GetMapping("/table") public String table() { return prefix + "/table"; } - - /** - * 琛ㄦ牸check - */ + @GetMapping("/check") public String check() { return prefix + "/table/check"; } - - /** - * 琛ㄦ牸radio - */ + @GetMapping("/radio") public String radio() { return prefix + "/table/radio"; } - - /** - * 琛ㄦ牸鍥炰紶鐖剁獥浣� - */ + @GetMapping("/parent") public String parent() { return prefix + "/table/parent"; diff --git a/src/main/java/com/ots/project/demo/controller/DemoFormController.java b/src/main/java/com/ots/project/demo/controller/DemoFormController.java index 37e3d77..70e06e5 100644 --- a/src/main/java/com/ots/project/demo/controller/DemoFormController.java +++ b/src/main/java/com/ots/project/demo/controller/DemoFormController.java @@ -1,27 +1,18 @@ package com.ots.project.demo.controller; - import com.ots.common.utils.file.FileUploadUtils; import com.ots.framework.config.EssConfig; import com.ots.framework.web.domain.AjaxResult; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import java.util.ArrayList; import java.util.List; -/** - * 琛ㄥ崟鐩稿叧 - * - * @author ots - */ @Controller @RequestMapping("/demo/form") public class DemoFormController { private String prefix = "demo/form"; - private final static List<UserFormModel> users = new ArrayList<UserFormModel>(); - { users.add(new UserFormModel(1, "1000001", "娴嬭瘯1", "15888888888")); users.add(new UserFormModel(2, "1000002", "娴嬭瘯2", "15666666666")); @@ -29,82 +20,52 @@ users.add(new UserFormModel(4, "1000004", "娴嬭瘯4", "15666666666")); users.add(new UserFormModel(5, "1000005", "娴嬭瘯5", "15666666666")); } - - /** - * 鎸夐挳椤� - */ + @GetMapping("/button") public String button() { return prefix + "/button"; } - - /** - * 涓嬫媺妗� - */ + @GetMapping("/select") public String select() { return prefix + "/select"; } - - /** - * 琛ㄥ崟鏍¢獙 - */ + @GetMapping("/validate") public String validate() { return prefix + "/validate"; } - - /** - * 鍔熻兘鎵╁睍锛堝寘鍚枃浠朵笂浼狅級 - */ + @GetMapping("/jasny") public String jasny() { return prefix + "/jasny"; } - - /** - * 鎷栧姩鎺掑簭 - */ + @GetMapping("/sortable") public String sortable() { return prefix + "/sortable"; } - - /** - * 閫夐」鍗� & 闈㈡澘 - */ + @GetMapping("/tabs_panels") public String tabs_panels() { return prefix + "/tabs_panels"; } - - /** - * 鏍呮牸 - */ + @GetMapping("/grid") public String grid() { return prefix + "/grid"; } - - /** - * 琛ㄥ崟鍚戝 - */ + @GetMapping("/wizard") public String wizard() { return prefix + "/wizard"; } - - /** - * 鏂囦欢涓婁紶 - */ + @GetMapping("/upload") public String upload() { return prefix + "/upload"; } - - /** - * 鏂囦欢涓婁紶 - */ + @PostMapping("/uploadp") @ResponseBody public AjaxResult upload(@RequestParam("filep") MultipartFile file) { @@ -118,71 +79,46 @@ return AjaxResult.error(e.getMessage()); } } - - /** - * 鏃ユ湡鍜屾椂闂撮〉 - */ + @GetMapping("/datetime") public String datetime() { return prefix + "/datetime"; } - - /** - * 宸﹀彸浜掗�夌粍浠� - */ + @GetMapping("/duallistbox") public String duallistbox() { return prefix + "/duallistbox"; } - - /** - * 鍩烘湰琛ㄥ崟 - */ + @GetMapping("/basic") public String basic() { return prefix + "/basic"; } - - /** - * 鍗$墖鍒楄〃 - */ + @GetMapping("/cards") public String cards() { return prefix + "/cards"; } - - /** - * summernote 瀵屾枃鏈紪杈戝櫒 - */ + @GetMapping("/summernote") public String summernote() { return prefix + "/summernote"; } - - /** - * 鎼滅储鑷姩琛ュ叏 - */ + @GetMapping("/autocomplete") public String autocomplete() { return prefix + "/autocomplete"; } - - /** - * 鑾峰彇鐢ㄦ埛鏁版嵁 - */ + @GetMapping("/userModel") @ResponseBody public AjaxResult userModel() { AjaxResult ajax = new AjaxResult(); - ajax.put("code", 200); ajax.put("value", users); return ajax; } - - /** - * 鑾峰彇鏁版嵁闆嗗悎 - */ + @GetMapping("/collection") @ResponseBody public AjaxResult collection() { @@ -192,69 +128,45 @@ return ajax; } } - class UserFormModel { - /** - * 鐢ㄦ埛ID - */ + private int userId; - - /** - * 鐢ㄦ埛缂栧彿 - */ + private String userCode; - - /** - * 鐢ㄦ埛濮撳悕 - */ + private String userName; - - /** - * 鐢ㄦ埛鎵嬫満 - */ + private String userPhone; - public UserFormModel() { - } - public UserFormModel(int userId, String userCode, String userName, String userPhone) { this.userId = userId; this.userCode = userCode; this.userName = userName; this.userPhone = userPhone; } - public int getUserId() { return userId; } - public void setUserId(int userId) { this.userId = userId; } - public String getUserCode() { return userCode; } - public void setUserCode(String userCode) { this.userCode = userCode; } - public String getUserName() { return userName; } - public void setUserName(String userName) { this.userName = userName; } - public String getUserPhone() { return userPhone; } - public void setUserPhone(String userPhone) { this.userPhone = userPhone; } - } diff --git a/src/main/java/com/ots/project/demo/controller/DemoIconController.java b/src/main/java/com/ots/project/demo/controller/DemoIconController.java index 4134579..2ab7a84 100644 --- a/src/main/java/com/ots/project/demo/controller/DemoIconController.java +++ b/src/main/java/com/ots/project/demo/controller/DemoIconController.java @@ -1,30 +1,18 @@ package com.ots.project.demo.controller; - import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -/** - * 鍥炬爣鐩稿叧 - * - * @author ots - */ @Controller @RequestMapping("/demo/icon") public class DemoIconController { private String prefix = "demo/icon"; - - /** - * FontAwesome鍥炬爣 - */ + @GetMapping("/fontawesome") public String fontAwesome() { return prefix + "/fontawesome"; } - - /** - * Glyphicons鍥炬爣 - */ + @GetMapping("/glyphicons") public String glyphicons() { return prefix + "/glyphicons"; diff --git a/src/main/java/com/ots/project/demo/controller/DemoOperateController.java b/src/main/java/com/ots/project/demo/controller/DemoOperateController.java index 69e7369..ae320d2 100644 --- a/src/main/java/com/ots/project/demo/controller/DemoOperateController.java +++ b/src/main/java/com/ots/project/demo/controller/DemoOperateController.java @@ -1,5 +1,4 @@ package com.ots.project.demo.controller; - import com.ots.common.exception.BusinessException; import com.ots.common.utils.StringUtils; import com.ots.common.utils.poi.ExcelUtil; @@ -14,24 +13,16 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -/** - * 鎿嶄綔鎺у埗 - * - * @author ots - */ @Controller @RequestMapping("/demo/operate") public class DemoOperateController extends BaseController { private String prefix = "demo/operate"; - private final static Map<Integer, UserOperateModel> users = new LinkedHashMap<Integer, UserOperateModel>(); - { users.put(1, new UserOperateModel(1, "1000001", "娴嬭瘯1", "0", "15888888888", "ry@qq.com", 150.0, "0")); users.put(2, new UserOperateModel(2, "1000002", "娴嬭瘯2", "1", "15666666666", "ry@qq.com", 180.0, "1")); @@ -60,32 +51,23 @@ users.put(25, new UserOperateModel(25, "1000025", "娴嬭瘯25", "1", "15666666666", "ry@qq.com", 250.0, "1")); users.put(26, new UserOperateModel(26, "1000026", "娴嬭瘯26", "1", "15666666666", "ry@qq.com", 250.0, "1")); } - - /** - * 琛ㄦ牸 - */ + @GetMapping("/table") public String table() { return prefix + "/table"; } - - /** - * 鍏朵粬 - */ + @GetMapping("/other") public String other() { return prefix + "/other"; } - - /** - * 鏌ヨ鏁版嵁 - */ + @PostMapping("/list") @ResponseBody public TableDataInfo list(UserOperateModel userModel) { TableDataInfo rspData = new TableDataInfo(); List<UserOperateModel> userList = new ArrayList<UserOperateModel>(users.values()); - // 鏌ヨ鏉′欢杩囨护 + if (StringUtils.isNotEmpty(userModel.getSearchValue())) { userList.clear(); for (Map.Entry<Integer, UserOperateModel> entry : users.entrySet()) { @@ -109,18 +91,12 @@ rspData.setTotal(userList.size()); return rspData; } - - /** - * 鏂板鐢ㄦ埛 - */ + @GetMapping("/add") public String add(ModelMap mmap) { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨鐢ㄦ埛 - */ + @PostMapping("/add") @ResponseBody public AjaxResult addSave(UserOperateModel user) { @@ -128,28 +104,19 @@ user.setUserId(userId); return AjaxResult.success(users.put(userId, user)); } - - /** - * 淇敼鐢ㄦ埛 - */ + @GetMapping("/edit/{userId}") public String edit(@PathVariable("userId") Integer userId, ModelMap mmap) { mmap.put("user", users.get(userId)); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨鐢ㄦ埛 - */ + @PostMapping("/edit") @ResponseBody public AjaxResult editSave(UserOperateModel user) { return AjaxResult.success(users.put(user.getUserId(), user)); } - - /** - * 瀵煎嚭 - */ + @PostMapping("/export") @ResponseBody public AjaxResult export(UserOperateModel user) { @@ -157,20 +124,14 @@ ExcelUtil<UserOperateModel> util = new ExcelUtil<UserOperateModel>(UserOperateModel.class); return util.exportExcel(list, "鐢ㄦ埛鏁版嵁"); } - - /** - * 涓嬭浇妯℃澘 - */ + @GetMapping("/importTemplate") @ResponseBody public AjaxResult importTemplate() { ExcelUtil<UserOperateModel> util = new ExcelUtil<UserOperateModel>(UserOperateModel.class); return util.importTemplateExcel("鐢ㄦ埛鏁版嵁"); } - - /** - * 瀵煎叆鏁版嵁 - */ + @PostMapping("/importData") @ResponseBody public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { @@ -179,10 +140,7 @@ String message = importUser(userList, updateSupport); return AjaxResult.success(message); } - - /** - * 鍒犻櫎鐢ㄦ埛 - */ + @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { @@ -192,30 +150,19 @@ } return AjaxResult.success(); } - - /** - * 鏌ョ湅璇︾粏 - */ + @GetMapping("/detail/{userId}") public String detail(@PathVariable("userId") Integer userId, ModelMap mmap) { mmap.put("user", users.get(userId)); return prefix + "/detail"; } - @PostMapping("/clean") @ResponseBody public AjaxResult clean() { users.clear(); return success(); } - - /** - * 瀵煎叆鐢ㄦ埛鏁版嵁 - * - * @param userList 鐢ㄦ埛鏁版嵁鍒楄〃 - * @param isUpdateSupport 鏄惁鏇存柊鏀寔锛屽鏋滃凡瀛樺湪锛屽垯杩涜鏇存柊鏁版嵁 - * @return 缁撴灉 - */ + public String importUser(List<UserOperateModel> userList, Boolean isUpdateSupport) { if (StringUtils.isNull(userList) || userList.size() == 0) { throw new BusinessException("Import user data cannot be empty锛�"); @@ -226,7 +173,7 @@ StringBuilder failureMsg = new StringBuilder(); for (UserOperateModel user : userList) { try { - // 楠岃瘉鏄惁瀛樺湪杩欎釜鐢ㄦ埛 + boolean userFlag = false; for (Map.Entry<Integer, UserOperateModel> entry : users.entrySet()) { if (entry.getValue().getUserName().equals(user.getUserName())) { diff --git a/src/main/java/com/ots/project/demo/controller/DemoReportController.java b/src/main/java/com/ots/project/demo/controller/DemoReportController.java index d47c6e0..6619706 100644 --- a/src/main/java/com/ots/project/demo/controller/DemoReportController.java +++ b/src/main/java/com/ots/project/demo/controller/DemoReportController.java @@ -1,46 +1,28 @@ package com.ots.project.demo.controller; - import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -/** - * 鎶ヨ〃 - * - * @author ots - */ @Controller @RequestMapping("/demo/report") public class DemoReportController { private String prefix = "demo/report"; - - /** - * 鐧惧害ECharts - */ + @GetMapping("/echarts") public String echarts() { return prefix + "/echarts"; } - - /** - * 鍥捐〃鎻掍欢 - */ + @GetMapping("/peity") public String peity() { return prefix + "/peity"; } - - /** - * 绾跨姸鍥炬彃浠� - */ + @GetMapping("/sparkline") public String sparkline() { return prefix + "/sparkline"; } - - /** - * 鍥捐〃缁勫悎 - */ + @GetMapping("/metrics") public String metrics() { return prefix + "/metrics"; diff --git a/src/main/java/com/ots/project/demo/controller/DemoTableController.java b/src/main/java/com/ots/project/demo/controller/DemoTableController.java index 189955b..97f968d 100644 --- a/src/main/java/com/ots/project/demo/controller/DemoTableController.java +++ b/src/main/java/com/ots/project/demo/controller/DemoTableController.java @@ -1,5 +1,4 @@ package com.ots.project.demo.controller; - import com.fasterxml.jackson.annotation.JsonFormat; import com.ots.common.utils.DateUtils; import com.ots.common.utils.StringUtils; @@ -12,21 +11,13 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; - import java.util.*; -/** - * 琛ㄦ牸鐩稿叧 - * - * @author ots - */ @Controller @RequestMapping("/demo/table") public class DemoTableController extends BaseController { private String prefix = "demo/table"; - private final static List<UserTableModel> users = new ArrayList<UserTableModel>(); - { users.add(new UserTableModel(1, "1000001", "娴嬭瘯1", "0", "15888888888", "ry@qq.com", 150.0, "0")); users.add(new UserTableModel(2, "1000002", "娴嬭瘯2", "1", "15666666666", "ry@qq.com", 180.0, "1")); @@ -55,145 +46,94 @@ users.add(new UserTableModel(25, "1000025", "娴嬭瘯25", "1", "15666666666", "ry@qq.com", 250.0, "1")); users.add(new UserTableModel(26, "1000026", "娴嬭瘯26", "1", "15666666666", "ry@qq.com", 250.0, "1")); } - - /** - * 鎼滅储鐩稿叧 - */ + @GetMapping("/search") public String search() { return prefix + "/search"; } - - /** - * 鏁版嵁姹囨�� - */ + @GetMapping("/footer") public String footer() { return prefix + "/footer"; } - - /** - * 缁勫悎琛ㄥご - */ + @GetMapping("/groupHeader") public String groupHeader() { return prefix + "/groupHeader"; } - - /** - * 琛ㄦ牸瀵煎嚭 - */ + @GetMapping("/export") public String export() { return prefix + "/export"; } - - /** - * 缈婚〉璁颁綇閫夋嫨 - */ + @GetMapping("/remember") public String remember() { return prefix + "/remember"; } - - /** - * 璺宠浆鑷虫寚瀹氶〉 - */ + @GetMapping("/pageGo") public String pageGo() { return prefix + "/pageGo"; } - - /** - * 鑷畾涔夋煡璇㈠弬鏁� - */ + @GetMapping("/params") public String params() { return prefix + "/params"; } - - /** - * 澶氳〃鏍� - */ + @GetMapping("/multi") public String multi() { return prefix + "/multi"; } - - /** - * 鐐瑰嚮鎸夐挳鍔犺浇琛ㄦ牸 - */ + @GetMapping("/button") public String button() { return prefix + "/button"; } - - /** - * 琛ㄦ牸鍐荤粨鍒� - */ + @GetMapping("/fixedColumns") public String fixedColumns() { return prefix + "/fixedColumns"; } - - /** - * 鑷畾涔夎Е鍙戜簨浠� - */ + @GetMapping("/event") public String event() { return prefix + "/event"; } - - /** - * 琛ㄦ牸缁嗚妭瑙嗗浘 - */ + @GetMapping("/detail") public String detail() { return prefix + "/detail"; } - - /** - * 琛ㄦ牸鍥剧墖棰勮 - */ + @GetMapping("/image") public String image() { return prefix + "/image"; } - - /** - * 鍔ㄦ�佸鍒犳敼鏌� - */ + @GetMapping("/curd") public String curd() { return prefix + "/curd"; } - - /** - * 琛ㄦ牸鎷栨嫿鎿嶄綔 - */ + @GetMapping("/reorder") public String reorder() { return prefix + "/reorder"; } - - /** - * 琛ㄦ牸鍏朵粬鎿嶄綔 - */ + @GetMapping("/other") public String other() { return prefix + "/other"; } - - /** - * 鏌ヨ鏁版嵁 - */ + @PostMapping("/list") @ResponseBody public TableDataInfo list(UserTableModel userModel) { TableDataInfo rspData = new TableDataInfo(); List<UserTableModel> userList = new ArrayList<UserTableModel>(Arrays.asList(new UserTableModel[users.size()])); Collections.copy(userList, users); - // 鏌ヨ鏉′欢杩囨护 + if (StringUtils.isNotEmpty(userModel.getUserName())) { userList.clear(); for (UserTableModel user : users) { @@ -218,58 +158,28 @@ return rspData; } } - class UserTableModel { - /** - * 鐢ㄦ埛ID - */ + private int userId; - - /** - * 鐢ㄦ埛缂栧彿 - */ + private String userCode; - - /** - * 鐢ㄦ埛濮撳悕 - */ + private String userName; - - /** - * 鐢ㄦ埛鎬у埆 - */ + private String userSex; - - /** - * 鐢ㄦ埛鎵嬫満 - */ + private String userPhone; - - /** - * 鐢ㄦ埛閭 - */ + private String userEmail; - - /** - * 鐢ㄦ埛浣欓 - */ + private double userBalance; - - /** - * 鐢ㄦ埛鐘舵�侊紙0姝e父 1鍋滅敤锛� - */ + private String status; - - /** - * 鍒涘缓鏃堕棿 - */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; - public UserTableModel() { - } - public UserTableModel(int userId, String userCode, String userName, String userSex, String userPhone, String userEmail, double userBalance, String status) { this.userId = userId; @@ -282,75 +192,57 @@ this.status = status; this.createTime = DateUtils.getNowDate(); } - public int getUserId() { return userId; } - public void setUserId(int userId) { this.userId = userId; } - public String getUserCode() { return userCode; } - public void setUserCode(String userCode) { this.userCode = userCode; } - public String getUserName() { return userName; } - public void setUserName(String userName) { this.userName = userName; } - public String getUserSex() { return userSex; } - public void setUserSex(String userSex) { this.userSex = userSex; } - public String getUserPhone() { return userPhone; } - public void setUserPhone(String userPhone) { this.userPhone = userPhone; } - public String getUserEmail() { return userEmail; } - public void setUserEmail(String userEmail) { this.userEmail = userEmail; } - public double getUserBalance() { return userBalance; } - public void setUserBalance(double userBalance) { this.userBalance = userBalance; } - public String getStatus() { return status; } - public void setStatus(String status) { this.status = status; } - public Date getCreateTime() { return createTime; } - public void setCreateTime(Date createTime) { this.createTime = createTime; } diff --git a/src/main/java/com/ots/project/demo/domain/UserOperateModel.java b/src/main/java/com/ots/project/demo/domain/UserOperateModel.java index 7e86f3c..f84fa7e 100644 --- a/src/main/java/com/ots/project/demo/domain/UserOperateModel.java +++ b/src/main/java/com/ots/project/demo/domain/UserOperateModel.java @@ -1,45 +1,30 @@ package com.ots.project.demo.domain; - import com.ots.common.utils.DateUtils; import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.aspectj.lang.annotation.Excel.Type; import com.ots.framework.web.domain.BaseEntity; - import java.util.Date; - public class UserOperateModel extends BaseEntity { private static final long serialVersionUID = 1L; - private int userId; - @Excel(name = "鐢ㄦ埛缂栧彿") private String userCode; - @Excel(name = "鐢ㄦ埛濮撳悕") private String userName; - @Excel(name = "鐢ㄦ埛鎬у埆", readConverterExp = "0=鐢�,1=濂�,2=鏈煡") private String userSex; - @Excel(name = "鐢ㄦ埛鎵嬫満") private String userPhone; - @Excel(name = "鐢ㄦ埛閭") private String userEmail; - @Excel(name = "鐢ㄦ埛浣欓") private double userBalance; - @Excel(name = "鐢ㄦ埛鐘舵��", readConverterExp = "0=姝e父,1=鍋滅敤") private String status; - @Excel(name = "鍒涘缓鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) private Date createTime; - public UserOperateModel() { - } - public UserOperateModel(int userId, String userCode, String userName, String userSex, String userPhone, String userEmail, double userBalance, String status) { this.userId = userId; @@ -52,76 +37,58 @@ this.status = status; this.createTime = DateUtils.getNowDate(); } - public int getUserId() { return userId; } - public void setUserId(int userId) { this.userId = userId; } - public String getUserCode() { return userCode; } - public void setUserCode(String userCode) { this.userCode = userCode; } - public String getUserName() { return userName; } - public void setUserName(String userName) { this.userName = userName; } - public String getUserSex() { return userSex; } - public void setUserSex(String userSex) { this.userSex = userSex; } - public String getUserPhone() { return userPhone; } - public void setUserPhone(String userPhone) { this.userPhone = userPhone; } - public String getUserEmail() { return userEmail; } - public void setUserEmail(String userEmail) { this.userEmail = userEmail; } - public double getUserBalance() { return userBalance; } - public void setUserBalance(double userBalance) { this.userBalance = userBalance; } - public String getStatus() { return status; } - public void setStatus(String status) { this.status = status; } - public Date getCreateTime() { return createTime; } - public void setCreateTime(Date createTime) { this.createTime = createTime; } -} \ No newline at end of file +} diff --git a/src/main/java/com/ots/project/exam/controller/DistributorController.java b/src/main/java/com/ots/project/exam/controller/DistributorController.java index f0b32ad..ed47e97 100644 --- a/src/main/java/com/ots/project/exam/controller/DistributorController.java +++ b/src/main/java/com/ots/project/exam/controller/DistributorController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.StringUtils; import com.ots.common.utils.security.ShiroUtils; @@ -18,36 +17,22 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; - import java.util.List; import java.util.Objects; - import static com.ots.common.enums.UserTypeEnum.DIS_USER; -/** - * @Created with IntelliJ IDEA. - * @User: liguosheng - * @Date: 2019/11/22 - * @Time: 10:40 - * @description: 鍒嗛攢鍟� - */ @Controller @RequestMapping("/exam/distributor") public class DistributorController extends BaseController { - private String prefix = "exam/distributor"; @Autowired private ISysUserExtendService sysUserExtendService; - @RequiresPermissions("exam:distributor:view") @GetMapping() public String distributor() { return prefix + "/distributor"; } - - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍鍒楄〃 - */ + @PostMapping("/list") @ResponseBody public TableDataInfo list(SysUserExtend sysUserExtend) { @@ -61,20 +46,16 @@ List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); return getDataTable(list); } - - /** - * 鏂板鐢ㄦ埛淇℃伅鎵╁睍 - */ + @GetMapping("/add") public String add(ModelMap mmap) { List<SysUserExtend> list = getSysUserExtends(); mmap.put("us", list); return prefix + "/add"; } - List<SysUserExtend> getSysUserExtends() { User sysUser = ShiroUtils.getSysUser(); - //濡傛灉鏄郴缁熺敤鎴疯繑鍥炴墍鏈夌郴缁熺敤鎴峰拰涓嬪睘涓�绾у垎閿�鍟� + SysUserExtend sysUserExtend = new SysUserExtend(); if (Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType())) { sysUserExtend.setParentUserId(sysUser.getUserId()); @@ -82,9 +63,8 @@ sysUserExtend.setUserId(sysUser.getUserId()); } sysUserExtend.setFirstLevel("1"); - //濡傛灉鏄竴绾у垎閿�鍟嗭紝杩斿洖鑷繁 + List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); - if (Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType())) { SysUserExtend userExtend = new SysUserExtend(); userExtend.setUserId(sysUser.getUserId()); @@ -93,10 +73,7 @@ } return list; } - - /** - * 淇敼鐢ㄦ埛淇℃伅鎵╁睍 - */ + @GetMapping("/edit/{userId}") public String edit(@PathVariable("userId") Long userId, ModelMap mmap) { SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(userId); @@ -108,15 +85,13 @@ mmap.put("us", list); return prefix + "/edit"; } - @RequiresPermissions("exam:distributor:remove") @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(sysUserExtendService.deleteSysUserExtendByIds(ids)); } - - // 鍏嶅瘑鐧诲綍 + @RequiresPermissions("exam:distributor:freelogin") @PostMapping("/freelogin") @ResponseBody diff --git a/src/main/java/com/ots/project/exam/controller/EntDemographyInfoController.java b/src/main/java/com/ots/project/exam/controller/EntDemographyInfoController.java index 3032586..db24ed7 100644 --- a/src/main/java/com/ots/project/exam/controller/EntDemographyInfoController.java +++ b/src/main/java/com/ots/project/exam/controller/EntDemographyInfoController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.poi.ExcelUtil; import com.ots.common.utils.security.ShiroUtils; @@ -17,25 +16,16 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; - import java.util.HashMap; import java.util.List; import java.util.Objects; -/** - * 浜哄彛瀛︿俊鎭疌ontroller - * - * @author ots - * @date 2019-12-15 - */ @Controller @RequestMapping("/exam/info") public class EntDemographyInfoController extends BaseController { private String prefix = "exam/info"; - @Autowired private IEntDemographyInfoService entDemographyInfoService; - @RequiresPermissions("exam:info:view") @GetMapping() public ModelAndView info() { @@ -48,10 +38,7 @@ } return new ModelAndView(prefix + "/info", new HashMap<>()); } - - /** - * 鏌ヨ浜哄彛瀛︿俊鎭垪琛� - */ + @RequiresPermissions("exam:info:list") @PostMapping("/list") @ResponseBody @@ -60,10 +47,7 @@ List<EntDemographyInfo> list = entDemographyInfoService.selectEntDemographyInfoList(entDemographyInfo); return getDataTable(list); } - - /** - * 瀵煎嚭浜哄彛瀛︿俊鎭垪琛� - */ + @RequiresPermissions("exam:info:export") @PostMapping("/export") @ResponseBody @@ -72,18 +56,12 @@ ExcelUtil<EntDemographyInfo> util = new ExcelUtil<EntDemographyInfo>(EntDemographyInfo.class); return util.exportExcel(list, "info"); } - - /** - * 鏂板浜哄彛瀛︿俊鎭� - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨浜哄彛瀛︿俊鎭� - */ + @RequiresPermissions("exam:info:add") @Log(title = "浜哄彛瀛︿俊鎭�", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -91,20 +69,14 @@ public AjaxResult addSave(EntDemographyInfo entDemographyInfo) { return toAjax(entDemographyInfoService.insertEntDemographyInfo(entDemographyInfo)); } - - /** - * 淇敼浜哄彛瀛︿俊鎭� - */ + @GetMapping("/edit/{infoId}") public String edit(@PathVariable("infoId") Long infoId, ModelMap mmap) { EntDemographyInfo entDemographyInfo = entDemographyInfoService.selectEntDemographyInfoById(infoId); mmap.put("entDemographyInfo", entDemographyInfo); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨浜哄彛瀛︿俊鎭� - */ + @RequiresPermissions("exam:info:edit") @Log(title = "浜哄彛瀛︿俊鎭�", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -112,10 +84,7 @@ public AjaxResult editSave(EntDemographyInfo entDemographyInfo) { return toAjax(entDemographyInfoService.updateEntDemographyInfo(entDemographyInfo)); } - - /** - * 鍒犻櫎浜哄彛瀛︿俊鎭� - */ + @RequiresPermissions("exam:info:remove") @Log(title = "浜哄彛瀛︿俊鎭�", businessType = BusinessType.DELETE) @PostMapping("/remove") diff --git a/src/main/java/com/ots/project/exam/controller/EntDemographyParamController.java b/src/main/java/com/ots/project/exam/controller/EntDemographyParamController.java index be327ff..cd4ad4d 100644 --- a/src/main/java/com/ots/project/exam/controller/EntDemographyParamController.java +++ b/src/main/java/com/ots/project/exam/controller/EntDemographyParamController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.poi.ExcelUtil; import com.ots.common.utils.security.ShiroUtils; @@ -18,34 +17,22 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; - import java.util.ArrayList; import java.util.List; import java.util.Objects; -/** - * 浜哄彛瀛﹀彉閲忓畾涔塁ontroller - * - * @author ots - * @date 2019-12-11 - */ @Controller @RequestMapping("/exam/demographyParam") public class EntDemographyParamController extends BaseController { private String prefix = "exam/demographyParam"; - @Autowired private IEntDemographyParamService entDemographyParamService; - @RequiresPermissions("exam:demographyParam:view") @GetMapping() public String demographyParam() { return prefix + "/demographyParam"; } - - /** - * 鏌ヨ浜哄彛瀛﹀彉閲忓畾涔夊垪琛� - */ + @RequiresPermissions("exam:demographyParam:list") @PostMapping("/list") @ResponseBody @@ -55,17 +42,14 @@ if (Objects.isNull(entDemographyParam.getUserId()) && !Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType())) { entDemographyParam.setUserId(sysUser.getUserId()); } - //浜哄彛瀛︿笉鍖哄垎鐢ㄦ埛 - //宸茬粡淇敼涓轰紒涓氱敤鎴风殑浜哄彛瀛︿笉鑳借缃紝鍙湁涓�浠戒汉鍙e銆傜鐞嗗憳鍜屼唬鐞嗗晢鍙互淇敼銆傦紙褰撳墠闇�姹傦級锛岃�屼唬鐞嗗晢涓�у寲浜哄彛瀛︼紝涓嶆敮鎸併�� - //涓�浠界鐞嗗憳锛屾敼鎴愪竴浠介�氱敤 + + + entDemographyParam.setUserId(null); List<EntDemographyParam> list = entDemographyParamService.selectEntDemographyParamList(entDemographyParam); return getDataTable(list); } - - /** - * 鏌ヨ浜哄彛瀛﹀璇█鍒楄〃 - */ + @RequiresPermissions("exam:demographyParam:list") @PostMapping("/listCodes") @ResponseBody @@ -80,20 +64,14 @@ List<DemographyDto> list = JsonUtil.toJsonListObject(langCodes, DemographyDto.class); return getDataTable(list); } - - /** - * 鏌ヨ浜哄彛瀛﹀璇█鍒楄〃 - */ + @RequiresPermissions("exam:demographyParam:list") @PostMapping("/addListCodes") @ResponseBody public TableDataInfo addListCodes(EntDemographyParam entDemographyParam) { return getDataTable(new ArrayList<EntDemographyParam>()); } - - /** - * 瀵煎嚭浜哄彛瀛﹀彉閲忓畾涔夊垪琛� - */ + @RequiresPermissions("exam:demographyParam:export") @PostMapping("/export") @ResponseBody @@ -102,31 +80,23 @@ ExcelUtil<EntDemographyParam> util = new ExcelUtil<EntDemographyParam>(EntDemographyParam.class); return util.exportExcel(list, "demographyParam"); } - - /** - * 鏂板浜哄彛瀛﹀彉閲忓畾涔� - */ + @GetMapping("/add") public String add(ModelMap mmap) { User sysUser = ShiroUtils.getSysUser(); mmap.put("sysUser", sysUser); return prefix + "/add"; } - - /** - * 鏂板淇濆瓨浜哄彛瀛﹀彉閲忓畾涔� - */ + @RequiresPermissions("exam:demographyParam:add") @Log(title = "浜哄彛瀛﹀彉閲忓畾涔�", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(EntDemographyParam entDemographyParam) { - User sysUser = ShiroUtils.getSysUser(); if (!Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType())) { return error("鍙湁绯荤粺鐢ㄦ埛鎵嶅厑璁告坊鍔犱汉鍙e鍙橀噺锛�"); } - EntDemographyParam param = new EntDemographyParam(); param.setParamCode(entDemographyParam.getParamCode()); List<EntDemographyParam> entDemographyParams = entDemographyParamService.selectEntDemographyParamList(param); @@ -135,20 +105,14 @@ } return toAjax(entDemographyParamService.insertEntDemographyParam(entDemographyParam)); } - - /** - * 淇敼浜哄彛瀛﹀彉閲忓畾涔� - */ + @GetMapping("/edit/{paramId}") public String edit(@PathVariable("paramId") Long paramId, ModelMap mmap) { EntDemographyParam entDemographyParam = entDemographyParamService.selectEntDemographyParamById(paramId); mmap.put("entDemographyParam", entDemographyParam); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨浜哄彛瀛﹀彉閲忓畾涔� - */ + @RequiresPermissions("exam:demographyParam:edit") @Log(title = "浜哄彛瀛﹀彉閲忓畾涔�", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -156,10 +120,7 @@ public AjaxResult editSave(EntDemographyParam entDemographyParam) { return toAjax(entDemographyParamService.updateEntDemographyParam(entDemographyParam)); } - - /** - * 鍒犻櫎浜哄彛瀛﹀彉閲忓畾涔� - */ + @RequiresPermissions("exam:demographyParam:remove") @Log(title = "浜哄彛瀛﹀彉閲忓畾涔�", businessType = BusinessType.DELETE) @PostMapping("/remove") diff --git a/src/main/java/com/ots/project/exam/controller/EntOperLogController.java b/src/main/java/com/ots/project/exam/controller/EntOperLogController.java index c171a43..94880c9 100644 --- a/src/main/java/com/ots/project/exam/controller/EntOperLogController.java +++ b/src/main/java/com/ots/project/exam/controller/EntOperLogController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; @@ -19,31 +18,20 @@ import com.ots.framework.web.page.TableDataInfo; import org.springframework.stereotype.Controller; -/** - * 浣跨敤娆℃暟鎿嶄綔璁板綍Controller - * - * @author ots - * @date 2020-01-19 - */ @Controller @RequestMapping("/exam/entOperLog") public class EntOperLogController extends BaseController { private String prefix = "exam/entOperLog"; - @Autowired private IEntOperLogService entOperLogService; - @RequiresPermissions("exam:entOperLog:view") @GetMapping() public String entOperLog() { return prefix + "/entOperLog"; } - - /** - * 鏌ヨ浣跨敤娆℃暟鎿嶄綔璁板綍鍒楄〃 - */ + @RequiresPermissions("exam:entOperLog:list") @PostMapping("/list") @ResponseBody @@ -53,10 +41,7 @@ List<EntOperLog> list = entOperLogService.selectEntOperLogList(entOperLog); return getDataTable(list); } - - /** - * 瀵煎嚭浣跨敤娆℃暟鎿嶄綔璁板綍鍒楄〃 - */ + @RequiresPermissions("exam:entOperLog:export") @PostMapping("/export") @ResponseBody @@ -66,19 +51,13 @@ ExcelUtil<EntOperLog> util = new ExcelUtil<EntOperLog>(EntOperLog.class); return util.exportExcel(list, "entOperLog"); } - - /** - * 鏂板浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + @RequiresPermissions("exam:entOperLog:add") @Log(title = "浣跨敤娆℃暟鎿嶄綔璁板綍", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -87,10 +66,7 @@ { return toAjax(entOperLogService.insertEntOperLog(entOperLog)); } - - /** - * 淇敼浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + @GetMapping("/edit/{logId}") public String edit(@PathVariable("logId") Long logId, ModelMap mmap) { @@ -98,10 +74,7 @@ mmap.put("entOperLog", entOperLog); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + @RequiresPermissions("exam:entOperLog:edit") @Log(title = "浣跨敤娆℃暟鎿嶄綔璁板綍", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -110,10 +83,7 @@ { return toAjax(entOperLogService.updateEntOperLog(entOperLog)); } - - /** - * 鍒犻櫎浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + @RequiresPermissions("exam:entOperLog:remove") @Log(title = "浣跨敤娆℃暟鎿嶄綔璁板綍", businessType = BusinessType.DELETE) @PostMapping( "/remove") diff --git a/src/main/java/com/ots/project/exam/controller/EntTestDetailController.java b/src/main/java/com/ots/project/exam/controller/EntTestDetailController.java index b1d8521..cb97ecb 100644 --- a/src/main/java/com/ots/project/exam/controller/EntTestDetailController.java +++ b/src/main/java/com/ots/project/exam/controller/EntTestDetailController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.security.ShiroUtils; import com.ots.framework.web.controller.BaseController; @@ -18,28 +17,19 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; - import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -/** - * entTestDetailController - * - * @author ots - * @date 2020-03-01 - */ @Controller @RequestMapping("/exam/entTestDetail") public class EntTestDetailController extends BaseController { private String prefix = "exam/entTestDetail"; - @Autowired private ITExamReportService examReportService; - @GetMapping("/testDetail/{tokens}") - // @RequiresPermissions("exam:entTestDetail:list") + public String entTestDetail(@PathVariable List<String> tokens, ModelMap mmap) { EntTestDetail entTestDetail = new EntTestDetail(); entTestDetail.setToken(JsonUtil.toJsonStr(tokens)); @@ -48,11 +38,8 @@ mmap.put("entTestDetail", entTestDetail); return prefix + "/entTestDetail"; } + - /** - * 鏌ヨentTestDetail鍒楄〃 - */ -// @RequiresPermissions("exam:entTestDetail:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(EntTestDetail entTestDetail) { @@ -68,8 +55,7 @@ if (ExamUtil.isListEmpty(questionReportList)) { continue; } - - // 閬嶅巻鍑烘瘡涓�涓猺eport + for (QuestionReport questionReport : questionReportList) { EntTestDetail entTestDetailTemp = new EntTestDetail(); entTestDetailTemp.setPermanentId(questionReport.getPermanentId()); @@ -83,7 +69,7 @@ entTestDetailList.add(entTestDetailTemp); } } - //鎸夌収鑰楁椂闄嶅簭鎺掑垪 timeSpent + if (Objects.equals("TimeSpent",entTestDetail.getSortType())) { Collections.sort(entTestDetailList, new TimeSpentComparator()); }else { @@ -91,14 +77,9 @@ } return getDataTable(entTestDetailList); } - - - /** - * 鏂板entTestDetail - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - } diff --git a/src/main/java/com/ots/project/exam/controller/EntTestMemberController.java b/src/main/java/com/ots/project/exam/controller/EntTestMemberController.java index d9aecec..51373fd 100644 --- a/src/main/java/com/ots/project/exam/controller/EntTestMemberController.java +++ b/src/main/java/com/ots/project/exam/controller/EntTestMemberController.java @@ -1,7 +1,7 @@ package com.ots.project.exam.controller; - import com.ots.common.constant.UserConstants; import com.ots.common.enums.SenderType; +import com.ots.common.enums.TestMemberStatusEnum; import com.ots.common.enums.TestPackageStatusEnum; import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.MessageUtils; @@ -26,93 +26,73 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; - +import static com.ots.common.enums.TestMemberStatusEnum.*; import static com.ots.common.enums.UserTypeEnum.SYS_USER; -/** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟Controller - * - * @author Shawn - * @date 2019-11-22 - */ @Controller @RequestMapping("/exam/testMember") @Slf4j public class EntTestMemberController extends BaseController { private String prefix = "exam/testMember"; - @Autowired private IEntTestMemberService entTestMemberService; - @Autowired private IEntTestPackageService entTestPackageService; - @Autowired private IEntTestSendtaskService iEntTestSendtaskService; - @Autowired private ISysUserExtendService sysUserExtendService; - @Autowired private ITExamPaperService itExamPaperService; @Autowired private VueConfig vueConfig; - @RequiresPermissions("exam:testMember:view") @GetMapping() public String testMember(ModelMap mmap) { memberParam(null, mmap); return prefix + "/testMember"; } - @GetMapping("/memberQuery") public String testMemberQuery(String queryType, String queryValue, ModelMap mmap) { memberParam(null, mmap); if (Objects.nonNull(queryType)) { if (Objects.nonNull(queryValue)) { - if (Objects.equals("2", queryType)) {//鎸夊鍚嶆悳绱㈡祴璇曠敤鎴� + if (Objects.equals("2", queryType)) { mmap.put("memberNameSend", queryValue); - } else if (Objects.equals("3", queryType)) {//鎸夐偖绠辨悳绱㈡祴璇曠敤鎴� + } else if (Objects.equals("3", queryType)) { mmap.put("memberEmailSend", queryValue); - } else if (Objects.equals("4", queryType)) {//鎸夋墜鏈哄彿鐮佹悳绱㈡祴璇曠敤鎴� + } else if (Objects.equals("4", queryType)) { mmap.put("memberPhoneSend", queryValue); - } else if (Objects.equals("5", queryType)) {//鎸夊瘑鐮佹悳绱㈡祴璇曠敤鎴� + } else if (Objects.equals("5", queryType)) { mmap.put("tokenSend", queryValue); } } } return prefix + "/testMemberQuery"; } - - @GetMapping("/memberDetailVerify/{testId}") @ResponseBody public AjaxResult memberDetailVerify(@PathVariable Long testId) { EntTestPackage entTestPackage = entTestPackageService.selectEntTestPackageById(testId); TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(entTestPackage.getProdId()); if (Objects.isNull(tExamPaper)) { - // 鏃犳晥鐨勪骇鍝佸寘锛岃閲嶆柊閫夋嫨娴嬭瘯鍖呯殑浜у搧鍖� + return AjaxResult.error(MessageUtils.message("jsp.exam.member.invalidProductPackage")); } return AjaxResult.success(); } - - /** - * 鏌ヨ璇勬祴浜哄憳璇︽儏 - */ + @GetMapping("/memberDetail/{testId}") public String testMemberDetail(@PathVariable Long testId, ModelMap mmap) { memberParam(testId, mmap); return prefix + "/testMember"; } - public void memberParam(Long testId, ModelMap mmap) { User sysUser = ShiroUtils.getSysUser(); Long userId = sysUser.getUserId(); @@ -129,10 +109,7 @@ String[] status = {TestPackageStatusEnum.enable.getCode(), TestPackageStatusEnum.pause.getCode(), TestPackageStatusEnum.ending.getCode(), TestPackageStatusEnum.invalid.getCode()}; mmap.put("testPackages", entTestPackageService.selectEntTestPackageListByIdAndStatusIn(userId, Arrays.asList(status))); } - - /** - * 鏌ヨ鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟鍒楄〃 - */ + @RequiresPermissions("exam:testMember:list") @PostMapping("/list") @ResponseBody @@ -154,7 +131,6 @@ List<EntTestMember> list = entTestMemberService.selectEntTestMemberList(entTestMember); return getDataTable(list); } - @PostMapping("/listTopAnswering") @ResponseBody public TableDataInfo listTopAnswering(EntTestMember entTestMember) { @@ -163,20 +139,31 @@ if (!SYS_USER.getUserType().equals(sysUser.getUserType())) { entTestMember.setUserId(sysUser.getUserId()); } + List<String> recyclingStatus = Arrays.asList( TestMemberStatusEnum.completed.getCode(), timeOut.getCode()); + entTestMember.setStatusList(recyclingStatus); return getDataTable(entTestMemberService.selectEntTestMemberTopList(entTestMember)); } - + @PostMapping("/listTopAnswering2") + @ResponseBody + public TableDataInfo listTopAnswering2(EntTestMember entTestMember) { + startPage(); + User sysUser = ShiroUtils.getSysUser(); + if (!SYS_USER.getUserType().equals(sysUser.getUserType())) { + entTestMember.setUserId(sysUser.getUserId()); + } + List<String> recyclingStatus = Arrays.asList( answering.getCode()); + entTestMember.setStatusList(recyclingStatus); + return getDataTable(entTestMemberService.selectEntTestMemberTopList(entTestMember)); + } @PostMapping("/queryList") @ResponseBody public TableDataInfo queryList(EntTestMember entTestMember) { startPage(); - User sysUser = ShiroUtils.getSysUser(); String userType = sysUser.getUserType(); - List<Long> userIds = new ArrayList<>(); userIds.add(sysUser.getUserId()); - //鍒嗛攢鍟嗗彲浠ョ湅鍒板垎閿�鍟嗕笅鐨勪紒涓氫俊鎭� + if (UserTypeEnum.DIS_USER.getUserType().equals(userType)) { SysUserExtend sysUserExtend = new SysUserExtend(); sysUserExtend.setParentUserId(sysUser.getUserId()); @@ -186,7 +173,6 @@ userIds.add(extend.getUserId()); } } - List<EntTestMember> list; if (!SYS_USER.getUserType().equals(userType)) { entTestMember.setUserList(userIds); @@ -194,10 +180,7 @@ list = entTestMemberService.selectEntTestMemberQueryList(entTestMember); return getDataTable(list); } - - /** - * 瀵煎嚭鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟鍒楄〃 - */ + @RequiresPermissions("exam:testMember:export") @PostMapping("/export") @ResponseBody @@ -206,10 +189,7 @@ ExcelUtil<EntTestMember> util = new ExcelUtil<EntTestMember>(EntTestMember.class); return util.exportExcel(list, "娴嬭瘯鐢ㄦ埛閾炬帴锛圱est Taker URLs锛�"); } - - /** - * 涓�閿鍑烘祴璇曞寘閲屾墍鏈夋垚鍛樼殑娴嬭瘯杩炴帴 - */ + @RequiresPermissions("exam:testMember:export") @PostMapping("/exportLinkTest") @ResponseBody @@ -227,10 +207,7 @@ ExcelUtil<EntTestMemberOther> util = new ExcelUtil<>(EntTestMemberOther.class); return util.exportExcel(collect, "娴嬭瘯鐢ㄦ埛閾炬帴锛圱est Taker URLs锛�"); } - - /** - * 鏂板鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:testMember:batchimport") @GetMapping("/add/{testId}") public String add(@PathVariable Long testId, ModelMap mmap) { @@ -241,10 +218,7 @@ mmap.put("testpkg", value); return prefix + "/add"; } - - /** - * 鏂板淇濆瓨鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:testMember:add") @Log(title = "鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -252,10 +226,7 @@ public AjaxResult addSave(EntTestMember entTestMember) { return toAjax(entTestMemberService.insertEntTestMember(entTestMember)); } - - /** - * 鏂板閭�璇风敤鎴烽偖浠跺彂閫佸垪琛� - */ + @RequiresPermissions("exam:testMember:add") @Log(title = "璁板綍閭�璇风敤鎴峰彂閫佸垪琛�", businessType = BusinessType.INSERT) @PostMapping("/addSendTask") @@ -263,17 +234,13 @@ public AjaxResult addSaveEmail(SendTask sendTask) { return toAjax(iEntTestSendtaskService.insertEntTestSendtaskFromMemberIds(sendTask)); } - - /** - * 淇敼鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @GetMapping("/edit/{memberId}") public String edit(@PathVariable("memberId") Long memberId, ModelMap mmap) { EntTestMember entTestMember = entTestMemberService.selectEntTestMemberById(memberId); mmap.put("entTestMember", entTestMember); return prefix + "/edit"; } - @GetMapping("/send/sendSms/{memberIds}/{testId}") public String sendSms(@PathVariable("memberIds") String memberIds, @PathVariable("testId") Long testId, ModelMap mmap) { StringBuilder builder = new StringBuilder(); @@ -291,47 +258,37 @@ processParams(memberIds, testId, mmap, builder.toString(), type); return prefix + "/sendSms"; } - @GetMapping("/send/sendEmail/{memberIds}/{testId}") public String sendEmail(@PathVariable("memberIds") String memberIds, @PathVariable("testId") Long testId, ModelMap mmap) { -// String defaultTemplate = "娆㈣繋鎮ㄥ弬鍔犫�滃伐浣滆涓洪棶鍗凤紒鈥濋摼鎺ュ湴鍧�锛� <a href='{url}' target='_blank'>{url}</a>\n濡傛灉涓嶈兘鐩存帴璁块棶锛岃澶嶅埗鍦板潃鍒版祻瑙堝櫒涓洿鎺ユ墦寮�銆傚鏈夌枒闂紝璇峰拰XX鑱旂郴銆�"; + String langType = LocaleContextHolder.getLocale().toString(); StringBuilder builder = new StringBuilder(); - builder.append("浜茬埍鐨剓FullName},").append("\n<br>"); builder.append("Dear {FullName},").append("\n<br>"); builder.append("喙�喔`傅喔⑧笝 {FullName},").append("\n<br>"); builder.append("\n<br>"); - builder.append("{Company} 閭�璇锋偍瀹屾垚涓�浠芥祴璇曪紝澶ф闇�瑕�20-25鍒嗛挓鏃堕棿銆傛偍鍙互鐩存帴鐐瑰嚮涓嬮潰鐨勯摼鎺ュ紑濮嬭娴嬭瘯銆傚鏋滀笉鑳界洿鎺ヨ闂紝璇峰鍒跺湴鍧�鍒版祻瑙堝櫒涓洿鎺ユ墦寮�銆�").append("\n<br>"); builder.append("You've been invited to take an assessment by {Company}, which shall take about 20-25 minutes to complete. Please click the link below, or copy the link to your browser, to begin the assessment.").append("\n<br>"); builder.append("喔勦父喔撪箘喔斷箟喔`副喔氞箑喔娻复喔嵿箖喔箟喔椸赋喙佮笟喔氞笡喔`赴喙�喔∴复喔權笀喔侧竵 {Company} 喔佮福喔膏笓喔侧箖喔娻箟喔ム复喔囙竸喙屶笖喙夃覆喔權弗喙堗覆喔囙箑喔炧阜喙堗腑喙�喔`复喙堗浮喔斷赋喙�喔權复喔權竵喔侧福 喙傕笖喔⑧竸喔膏笓喔覆喔∴覆喔`笘喔勦弗喔脆竵喔椸傅喙堗弗喔脆竾喔勦箤喔斷箟喔侧笝喔ム箞喔侧竾喙傕笖喔⑧笗喔`竾 喔福喔粪腑喔堗赴喔勦副喔斷弗喔竵喙佮弗喙夃抚喔權赋喔ム复喔囙竸喙屶箘喔涏抚喔侧竾喔氞笝喙�喔氞福喔侧抚喙屶箑喔嬥腑喔`箤喔傕腑喔囙竸喔膏笓喔佮箛喙勦笖喙�").append("\n<br>"); - - builder.append("閾炬帴鍦板潃鏄細").append("\n<br>"); builder.append("The link is:").append("\n<br>"); builder.append("喔曕覆喔∴弗喔脆竾喔勦箤喔權傅喙�:").append("\n<br>"); builder.append("<a href='{url}' target='_blank'>{url}</a>").append("\n<br>"); builder.append("\n<br>"); - builder.append("濡傛湁鐤戦棶锛岃涓庡鏈嶈仈绯伙紝閭鏄細support@tai-online.com銆�").append("\n<br>"); builder.append("Should you have problem assessing the above link, please contact our customer service at support@tai-online.com.").append("\n<br>"); builder.append("喔覆喔佮竸喔膏笓喔∴傅喔涏副喔嵿斧喔侧箖喔權竵喔侧福喙�喔傕箟喔侧釜喔灌箞喔ム复喔囙竸喙屶競喙夃覆喔囙笗喙夃笝 喙傕笡喔`笖喔曕复喔斷笗喙堗腑喔澿箞喔侧涪喔氞福喔脆竵喔侧福喔ム腹喔佮竸喙夃覆喔傕腑喔囙箑喔`覆喔椸傅喙� support@tai-online.com").append("\n<br>"); builder.append("\n<br>"); builder.append("\n<br>"); - builder.append("璋㈣阿锛�").append("\n<br>"); builder.append("All the best,").append("\n<br>"); builder.append("喔斷箟喔о涪喔勦抚喔侧浮喙�喔勦覆喔`笧").append("\n<br>"); builder.append("\n<br>"); - builder.append("{Company}").append("\n<br>"); - String type = SenderType.email.getType(); processParams(memberIds, testId, mmap, builder.toString(), type); return prefix + "/sendEmail"; } - private void processParams(@PathVariable("memberIds") String memberIds, @PathVariable("testId") Long testId, ModelMap mmap, String defaultTemplate, String type) { mmap.put("memberIds", memberIds); mmap.put("size", memberIds.split(",").length); @@ -345,11 +302,7 @@ } mmap.put("testName", entTestPackage.getTestName() + "閭�璇烽偖浠�"); } - - - /** - * 淇敼淇濆瓨鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:testMember:edit") @Log(title = "鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -357,10 +310,7 @@ public AjaxResult editSave(EntTestMember entTestMember) { return toAjax(entTestMemberService.updateEntTestMember(entTestMember)); } - - /** - * 鍒犻櫎鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:testMember:remove") @Log(title = "鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟", businessType = BusinessType.DELETE) @PostMapping("/remove") @@ -368,11 +318,8 @@ public AjaxResult remove(String ids) { return toAjax(entTestMemberService.deleteEntTestMemberByIds(ids)); } + - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ -// @RequiresPermissions("enterprise:testMember:import") @PostMapping("/importData/{testId}") @ResponseBody public AjaxResult importData(MultipartFile file, boolean updateSupport, @PathVariable Long testId) throws Exception { @@ -384,16 +331,11 @@ String message = entTestMemberService.importEntTestMember(entTestMemberList, updateSupport); return AjaxResult.success(message); } - - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟妯℃澘涓嬭浇 - */ + @GetMapping("/importTemplate") @ResponseBody public AjaxResult importTemplate() { ExcelUtil<EntTestMember> util = new ExcelUtil<EntTestMember>(EntTestMember.class); return util.importTemplateExcel("娴嬭瘯鐢ㄦ埛锛圱est-Takers锛�"); } - } diff --git a/src/main/java/com/ots/project/exam/controller/EntTestPackageController.java b/src/main/java/com/ots/project/exam/controller/EntTestPackageController.java index b8b107b..cb71242 100644 --- a/src/main/java/com/ots/project/exam/controller/EntTestPackageController.java +++ b/src/main/java/com/ots/project/exam/controller/EntTestPackageController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.MessageUtils; import com.ots.common.utils.StringUtils; @@ -11,6 +10,7 @@ import com.ots.framework.web.domain.AjaxResult; import com.ots.framework.web.page.TableDataInfo; import com.ots.project.exam.domain.EntDemographyParam; +import com.ots.project.exam.domain.EntTestMember; import com.ots.project.exam.domain.EntTestPackage; import com.ots.project.exam.domain.SysUserExtend; import com.ots.project.exam.service.IEntDemographyParamService; @@ -28,46 +28,31 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; - +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; - import static com.ots.common.enums.UserTypeEnum.SYS_USER; -/** - * 娴嬭瘯鍖呯鐞咰ontroller - * - * @author ots - * @date 2019-11-27 - */ @Controller @RequestMapping("/exam/test_package") public class EntTestPackageController extends BaseController { private String prefix = "exam/test_package"; - @Autowired private IEntTestPackageService entTestPackageService; - @Autowired private IEntDemographyParamService entDemographyParamService; - @Autowired private ISysUserExtendService sysUserExtendService; - @Autowired private ITReportTemplateService reportTemplateService; - @RequiresPermissions("exam:test_package:view") @GetMapping() public String test_package() { return prefix + "/test_package"; } - - /** - * 鏌ヨ娴嬭瘯鍖呯鐞嗗垪琛� - */ + @RequiresPermissions("exam:test_package:list") @PostMapping("/list") @ResponseBody @@ -79,7 +64,7 @@ if (UserTypeEnum.ENT_USER.getUserType().equals(userType)) { entTestPackage.setUserId(sysUser.getUserId()); } - //鍒嗛攢鍟嗗彲浠ョ湅鍒板垎閿�鍟嗕笅鐨勪紒涓氫俊鎭� + if (UserTypeEnum.DIS_USER.getUserType().equals(userType)) { SysUserExtend sysUserExtend = new SysUserExtend(); sysUserExtend.setParentUserId(sysUser.getUserId()); @@ -91,11 +76,7 @@ } return getDataTable(entTestPackageService.selectEntTestPackageList(entTestPackage)); } - - - /** - * 鏌ヨ娴嬭瘯鍖呯鐞嗗垪琛� - */ + @PostMapping("/listTopTestPackage") @ResponseBody public TableDataInfo listTopTestPackage(EntTestPackage entTestPackage) { @@ -104,43 +85,53 @@ if (!SYS_USER.getUserType().equals(sysUser.getUserType())) { entTestPackage.setUserId(sysUser.getUserId()); } - return getDataTable(entTestPackageService.selectEntTestPackageMainList(entTestPackage)); - } - /** - * 瀵煎嚭娴嬭瘯鍖呯鐞嗗垪琛� - */ + return getDataTable(entTestPackageService.selectEntTestPackageList(entTestPackage)); + } + @RequiresPermissions("exam:test_package:export") @PostMapping("/export") @ResponseBody public AjaxResult export(EntTestPackage entTestPackage) { + User sysUser = ShiroUtils.getSysUser(); + String userType = sysUser.getUserType(); + List<Long> userIds = new ArrayList<>(); + userIds.add(sysUser.getUserId()); + + if (UserTypeEnum.DIS_USER.getUserType().equals(userType)) { + SysUserExtend sysUserExtend = new SysUserExtend(); + sysUserExtend.setParentUserId(sysUser.getUserId()); + List<SysUserExtend> sysUserExtends = sysUserExtendService.selectSysUserExtendList(sysUserExtend); + for (int i = 0; i < sysUserExtends.size(); i++) { + SysUserExtend extend = sysUserExtends.get(i); + userIds.add(extend.getUserId()); + } + } List<EntTestPackage> list = entTestPackageService.selectEntTestPackageList(entTestPackage); + if (!SYS_USER.getUserType().equals(userType)) { + + list = list.stream().filter(p -> userIds.contains(p.getUserId())).collect(Collectors.toList()); + } ExcelUtil<EntTestPackage> util = new ExcelUtil<EntTestPackage>(EntTestPackage.class); return util.exportExcel(list, "test_package"); } - - /** - * 鍥炴敹浜烘锛堝洖鏀跺瘑鐮侊級 - */ + @RequiresPermissions("exam:test_package:recover") @PostMapping("/recover/{testId}") @ResponseBody public AjaxResult recover(@PathVariable Long testId) { return toAjax(entTestPackageService.recover(testId)); } - - /** - * 鏂板娴嬭瘯鍖呯鐞� - */ + @GetMapping("/add") public String add(ModelMap mmap) { - //澶氳瑷�閫夋嫨 + EntDemographyParam entDemographyParam = new EntDemographyParam(); entDemographyParam.setParamStatus("1"); List<EntDemographyParam> list = entDemographyParamService.selectEntDemographyParamList(entDemographyParam); mmap.put("roles", list); - //鎶ュ憡妯℃澘缂栫爜 t_report_template -// mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); + + mmap.put("template", getTemplate()); SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(ShiroUtils.getUserId()); String mailContent = sysUserExtend.getMailContent(); @@ -150,7 +141,6 @@ mmap.put("hrTemplate", mailContent); return prefix + "/add"; } - @NotNull private String getHrTemplate() { String template = "浜茬埍鐨剓Company}浜哄姏璧勬簮閮紝\n" + @@ -176,7 +166,6 @@ "喔澿箞喔侧涪喔氞福喔脆竵喔侧福喔ム腹喔佮竸喙夃覆喔副喔∴笧喔编笝喔樴箤喔氞福喔脆俯喔� TAI"; return template; } - @NotNull private String getTemplate() { String template = "浜茬埍鐨剓FullName},\n" + @@ -203,19 +192,13 @@ "<br>"; return template; } - - /** - * 鏍规嵁浜у搧鍖匢D鑾峰彇妯℃澘缂栫爜 - */ + @PostMapping("/prodTemplate") @ResponseBody public AjaxResult changeTemplate(Long prodId) { return AjaxResult.success(MessageUtils.message("basis.successfulOperation"), reportTemplateService.getReportTemplates(ShiroUtils.getSysUser(), prodId)); } - - /** - * 鏂板淇濆瓨娴嬭瘯鍖呯鐞� - */ + @RequiresPermissions("exam:test_package:add") @Log(title = "娴嬭瘯鍖呯鐞�", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -223,22 +206,15 @@ public AjaxResult addSave(EntTestPackage entTestPackage) { return toAjax(entTestPackageService.insertEntTestPackage(entTestPackage)); } - - /** - * 淇敼娴嬭瘯鍖呯鐞� - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { EntTestPackage entTestPackage = entTestPackageService.selectEntTestPackageById(id); mmap.put("entTestPackage", entTestPackage); - EntDemographyParam entDemographyParam = new EntDemographyParam(); List<EntDemographyParam> list = entDemographyParamService.selectEntDemographyParamList(entDemographyParam); - String paramCodes = entTestPackage.getParamCodes(); - /** - * 榛樿鍏ㄩ儴涓篺alse - */ + if (Objects.nonNull(paramCodes)) { String[] split = paramCodes.split(","); list.forEach(p -> { @@ -247,9 +223,7 @@ }); }); } - /** - * 瀛樺湪鏁版嵁鍒欐洿鏂颁负true - */ + if (Objects.nonNull(paramCodes)) { String[] split = paramCodes.split(","); list.forEach(p -> { @@ -261,15 +235,11 @@ }); } mmap.put("roles", list); - - //鎶ュ憡妯℃澘缂栫爜 t_report_template + mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser(), entTestPackage.getProdId())); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨娴嬭瘯鍖呯鐞� - */ + @RequiresPermissions("exam:test_package:edit") @Log(title = "娴嬭瘯鍖呯鐞�", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -277,10 +247,7 @@ public AjaxResult editSave(EntTestPackage entTestPackage) { return toAjax(entTestPackageService.updateEntTestPackage(entTestPackage)); } - - /** - * 鍒犻櫎娴嬭瘯鍖呯鐞� - */ + @RequiresPermissions("exam:test_package:remove") @Log(title = "娴嬭瘯鍖呯鐞�", businessType = BusinessType.DELETE) @PostMapping("/remove") @@ -288,6 +255,4 @@ public AjaxResult remove(String ids) { return toAjax(entTestPackageService.deleteEntTestPackageByIds(ids)); } - - } diff --git a/src/main/java/com/ots/project/exam/controller/EntTestSendtaskController.java b/src/main/java/com/ots/project/exam/controller/EntTestSendtaskController.java index f0c7d6e..29f293a 100644 --- a/src/main/java/com/ots/project/exam/controller/EntTestSendtaskController.java +++ b/src/main/java/com/ots/project/exam/controller/EntTestSendtaskController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.poi.ExcelUtil; import com.ots.common.utils.security.ShiroUtils; @@ -16,39 +15,26 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; - import java.util.List; import java.util.Objects; -/** - * 璇勬祴閭�璇峰彂閫佷换鍔ontroller - * - * @author ots - * @date 2019-12-19 - */ @Controller @RequestMapping("/exam/sendtask") public class EntTestSendtaskController extends BaseController { private String prefix = "exam/sendtask"; - @Autowired private IEntTestSendtaskService entTestSendtaskService; - @RequiresPermissions("exam:sendtask:view") @GetMapping() public String sendtask() { return prefix + "/sendtask"; } - @GetMapping("/condition/{testId}") public String hrSendlog(@PathVariable Long testId,ModelMap mmap) { mmap.put("testId",testId); return prefix + "/sendtask"; } - - /** - * 鏌ヨ璇勬祴閭�璇峰彂閫佷换鍔″垪琛� - */ + @RequiresPermissions("exam:sendtask:list") @PostMapping("/list") @ResponseBody @@ -64,10 +50,7 @@ List<EntTestSendtask> list = entTestSendtaskService.selectEntTestSendtaskList(entTestSendtask); return getDataTable(list); } - - /** - * 瀵煎嚭璇勬祴閭�璇峰彂閫佷换鍔″垪琛� - */ + @RequiresPermissions("exam:sendtask:export") @PostMapping("/export") @ResponseBody @@ -76,18 +59,12 @@ ExcelUtil<EntTestSendtask> util = new ExcelUtil<EntTestSendtask>(EntTestSendtask.class); return util.exportExcel(list, "sendtask"); } - - /** - * 鏂板璇勬祴閭�璇峰彂閫佷换鍔� - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨璇勬祴閭�璇峰彂閫佷换鍔� - */ + @RequiresPermissions("exam:sendtask:add") @Log(title = "璇勬祴閭�璇峰彂閫佷换鍔�", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -95,20 +72,14 @@ public AjaxResult addSave(EntTestSendtask entTestSendtask) { return toAjax(entTestSendtaskService.insertEntTestSendtask(entTestSendtask)); } - - /** - * 淇敼璇勬祴閭�璇峰彂閫佷换鍔� - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { EntTestSendtask entTestSendtask = entTestSendtaskService.selectEntTestSendtaskById(id); mmap.put("entTestSendtask", entTestSendtask); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨璇勬祴閭�璇峰彂閫佷换鍔� - */ + @RequiresPermissions("exam:sendtask:edit") @Log(title = "璇勬祴閭�璇峰彂閫佷换鍔�", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -116,10 +87,7 @@ public AjaxResult editSave(EntTestSendtask entTestSendtask) { return toAjax(entTestSendtaskService.updateEntTestSendtask(entTestSendtask)); } - - /** - * 鍒犻櫎璇勬祴閭�璇峰彂閫佷换鍔� - */ + @RequiresPermissions("exam:sendtask:remove") @Log(title = "璇勬祴閭�璇峰彂閫佷换鍔�", businessType = BusinessType.DELETE) @PostMapping("/remove") diff --git a/src/main/java/com/ots/project/exam/controller/EntTestSendtaskMailController.java b/src/main/java/com/ots/project/exam/controller/EntTestSendtaskMailController.java index daca0fb..50a3e5c 100644 --- a/src/main/java/com/ots/project/exam/controller/EntTestSendtaskMailController.java +++ b/src/main/java/com/ots/project/exam/controller/EntTestSendtaskMailController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; @@ -19,31 +18,20 @@ import com.ots.framework.web.page.TableDataInfo; import org.springframework.stereotype.Controller; -/** - * 閭閫�淇¤褰旵ontroller - * - * @author ots - * @date 2020-03-09 - */ @Controller @RequestMapping("/exam/mail") public class EntTestSendtaskMailController extends BaseController { private String prefix = "exam/mail"; - @Autowired private IEntTestSendtaskMailService entTestSendtaskMailService; - @RequiresPermissions("exam:mail:view") @GetMapping() public String mail() { return prefix + "/mail"; } - - /** - * 鏌ヨ閭閫�淇¤褰曞垪琛� - */ + @RequiresPermissions("exam:mail:list") @PostMapping("/list") @ResponseBody @@ -53,10 +41,7 @@ List<EntTestSendtaskMail> list = entTestSendtaskMailService.selectEntTestSendtaskMailList(entTestSendtaskMail); return getDataTable(list); } - - /** - * 瀵煎嚭閭閫�淇¤褰曞垪琛� - */ + @RequiresPermissions("exam:mail:export") @PostMapping("/export") @ResponseBody @@ -66,19 +51,13 @@ ExcelUtil<EntTestSendtaskMail> util = new ExcelUtil<EntTestSendtaskMail>(EntTestSendtaskMail.class); return util.exportExcel(list, "mail"); } - - /** - * 鏂板閭閫�淇¤褰� - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨閭閫�淇¤褰� - */ + @RequiresPermissions("exam:mail:add") @Log(title = "閭閫�淇¤褰�", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -87,10 +66,7 @@ { return toAjax(entTestSendtaskMailService.insertEntTestSendtaskMail(entTestSendtaskMail)); } - - /** - * 淇敼閭閫�淇¤褰� - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { @@ -98,10 +74,7 @@ mmap.put("entTestSendtaskMail", entTestSendtaskMail); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨閭閫�淇¤褰� - */ + @RequiresPermissions("exam:mail:edit") @Log(title = "閭閫�淇¤褰�", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -110,10 +83,7 @@ { return toAjax(entTestSendtaskMailService.updateEntTestSendtaskMail(entTestSendtaskMail)); } - - /** - * 鍒犻櫎閭閫�淇¤褰� - */ + @RequiresPermissions("exam:mail:remove") @Log(title = "閭閫�淇¤褰�", businessType = BusinessType.DELETE) @PostMapping( "/remove") diff --git a/src/main/java/com/ots/project/exam/controller/EnterpriseController.java b/src/main/java/com/ots/project/exam/controller/EnterpriseController.java index ac5a52a..95afff2 100644 --- a/src/main/java/com/ots/project/exam/controller/EnterpriseController.java +++ b/src/main/java/com/ots/project/exam/controller/EnterpriseController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.utils.StringUtils; import com.ots.common.utils.security.ShiroUtils; import com.ots.framework.aspectj.lang.annotation.Log; @@ -23,30 +22,19 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; - import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; -/** - * @Created with IntelliJ IDEA. - * @User: liguosheng - * @Date: 2019/11/22 - * @Time: 10:40 - * @description: 浼佷笟鐢ㄦ埛 - */ @Controller @RequestMapping("/exam/enterprise") public class EnterpriseController extends BaseController { - private String prefix = "exam/enterprise"; @Autowired private ISysUserExtendService sysUserExtendService; - @Autowired private CountCalculateService calculate; - @RequiresPermissions("exam:enterprise:view") @GetMapping() public String enterprise(String parentUserId, String userName, ModelMap mmap) { @@ -61,16 +49,11 @@ if (Objects.nonNull(userName)) { mmap.put("userNameSend", userName); } - List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); - mmap.put("us", list); return prefix + "/enterprise"; } - - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍鍒楄〃 - */ + @RequiresPermissions("exam:enterprise:list") @PostMapping("/list") @ResponseBody @@ -85,10 +68,7 @@ List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); return getDataTable(list); } - - /** - * 鏂板鐢ㄦ埛淇℃伅鎵╁睍 - */ + @GetMapping("/add") public String add(ModelMap mmap) { User sysUser = ShiroUtils.getSysUser(); @@ -102,10 +82,7 @@ mmap.put("us", list); return prefix + "/add"; } - - /** - * 淇敼鐢ㄦ埛淇℃伅鎵╁睍 - */ + @GetMapping("/edit/{userId}") public String edit(@PathVariable("userId") Long userId, ModelMap mmap) { SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(userId); @@ -121,10 +98,7 @@ mmap.put("us", list); return prefix + "/edit"; } - - /** - * 娴嬭瘯浜烘暟璁剧疆 - */ + @RequiresPermissions("exam:enterprise:editUserTimes") @GetMapping("/operUseTimes/{userId}") public String operUseTimes(@PathVariable("userId") Long userId, ModelMap mmap) { @@ -142,15 +116,11 @@ }); systemScore = list.stream().mapToInt(p -> p.intValue()).sum(); } - mmap.put("totalNumberOfTesters", systemScore); -// 鏄剧ず璇ヤ紒涓氬彲鐢ㄦ祴璇曚汉鏁帮紝鎬绘祴璇曚汉鏁� + return prefix + "/operUseTimes"; } - - /** - * 鍏呭�兼祴璇曚汉鏁� - */ + @RequiresPermissions("exam:enterprise:editUserTimes") @Log(title = "鍏呭�兼祴璇曚汉鏁�", businessType = BusinessType.UPDATE) @PostMapping("/operUseTimes/edit/{userId}/{addNum}") @@ -158,15 +128,23 @@ public AjaxResult editSave(@PathVariable("userId") Long userId, @PathVariable("addNum") Long addNum) { return toAjax(sysUserExtendService.updateTestNum(userId, addNum)); } - + @PostMapping("/checkUser") + @ResponseBody + public AjaxResult checkUser() { + User sysUser = ShiroUtils.getSysUser(); + int result = 0; + if ("02".equals(sysUser.getUserType())) { + result = 1; + } + return toAjax(result); + } @RequiresPermissions("exam:enterprise:remove") @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(sysUserExtendService.deleteSysUserExtendByIds(ids)); } - - // 鍏嶅瘑鐧诲綍 + @RequiresPermissions("exam:enterprise:freelogin") @PostMapping("/freelogin") @ResponseBody @@ -185,7 +163,6 @@ return error(msg); } } - @PostMapping("/freeloginback") @ResponseBody public AjaxResult freeLoginBack(Long userId) { @@ -204,7 +181,6 @@ } } -// @RequiresPermissions("exam:extend:resetpwd") @Log(title = "鐢ㄦ埛閲嶇疆瀵嗙爜", businessType = BusinessType.UPDATE) @PostMapping("/resetpwd") @ResponseBody diff --git a/src/main/java/com/ots/project/exam/controller/MainIndexController.java b/src/main/java/com/ots/project/exam/controller/MainIndexController.java index d7524da..f02e75f 100644 --- a/src/main/java/com/ots/project/exam/controller/MainIndexController.java +++ b/src/main/java/com/ots/project/exam/controller/MainIndexController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.utils.security.ShiroUtils; import com.ots.framework.web.controller.BaseController; import com.ots.framework.web.page.TableDataInfo; @@ -9,22 +8,12 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; - import java.util.Objects; -/** - * 棣栭〉灞曠ず鍐呭 - */ @Controller @RequestMapping("/mail/index") public class MainIndexController extends BaseController { - - /** - * 鏈�杩�50涓畬鎴愭祴璇曡褰� - * - * @param sysUserExtend - * @return - */ + @PostMapping("/listCompleteTestRecord") @ResponseBody public TableDataInfo listCompleteTestRecord(SysUserExtend sysUserExtend) { @@ -38,14 +27,10 @@ if (Objects.nonNull(sysUserExtend.getParentUserTempId())) { sysUserExtend.setParentUserId(sysUserExtend.getParentUserTempId()); } -// List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); + return getDataTable(null); } - - /** - * @param sysUserExtend - * @return - */ + @PostMapping("/listAnsweringTestRecord") @ResponseBody public TableDataInfo listAnsweringTestRecord(SysUserExtend sysUserExtend) { @@ -59,16 +44,10 @@ if (Objects.nonNull(sysUserExtend.getParentUserTempId())) { sysUserExtend.setParentUserId(sysUserExtend.getParentUserTempId()); } -// List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); + return getDataTable(null); } - - /** - * 鏈�杩戝垱寤虹殑20涓祴璇曞寘 - * - * @param sysUserExtend - * @return - */ + @PostMapping("/listRecentlyCreatedTestPackage") @ResponseBody public TableDataInfo listRecentlyCreatedTestPackage(SysUserExtend sysUserExtend) { @@ -82,7 +61,7 @@ if (Objects.nonNull(sysUserExtend.getParentUserTempId())) { sysUserExtend.setParentUserId(sysUserExtend.getParentUserTempId()); } -// List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); + return getDataTable(null); } } diff --git a/src/main/java/com/ots/project/exam/controller/SysUserExtendController.java b/src/main/java/com/ots/project/exam/controller/SysUserExtendController.java index ed81f52..ede4716 100644 --- a/src/main/java/com/ots/project/exam/controller/SysUserExtendController.java +++ b/src/main/java/com/ots/project/exam/controller/SysUserExtendController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.constant.UserConstants; import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.MessageUtils; @@ -22,29 +21,19 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; - import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; -/** - * 鐢ㄦ埛淇℃伅鎵╁睍Controller - * - * @author ots - * @date 2019-11-20 - */ @Controller @RequestMapping("/exam/extend") public class SysUserExtendController extends BaseController { private String prefix = "exam/extend"; - @Autowired private IUserService userService; - @Autowired private ISysUserExtendService sysUserExtendService; - @RequiresPermissions("exam:extend:view") @GetMapping() public ModelAndView extend() { @@ -61,28 +50,19 @@ map.put("sysUserExtend", sysUserExtend == null ? new SysUserExtend() : sysUserExtend); return new ModelAndView(prefix + "/extend", map); } - - /** - * 灞�閮ㄥ埛鏂� - * - * @param model - * @return - */ + @RequestMapping("/refresh") public String localRefresh(Model model) { User user = ShiroUtils.getSysUser(); SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); model.addAttribute("user", user); model.addAttribute("sysUserExtend", sysUserExtend); - // "test"鏄痶est.html鐨勫悕锛� - // "table_refresh"鏄痶est.html涓渶瑕佸埛鏂扮殑閮ㄥ垎鏍囧織, - // 鍦ㄦ爣绛鹃噷鍔犲叆锛歵h:fragment="table_refresh" + + + return prefix + "/extend::table_refresh"; } - - /** - * 淇敼淇濆瓨鐢ㄦ埛淇℃伅鎵╁睍 - */ + @RequiresPermissions("exam:extend:edit") @Log(title = "鐢ㄦ埛淇℃伅鎵╁睍", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -90,11 +70,7 @@ public AjaxResult editSave(SysUserExtend sysUserExtend) { return toAjax(sysUserExtendService.updateSysUserExtend(sysUserExtend)); } - - - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍鍒楄〃 - */ + @RequiresPermissions("exam:extend:list") @PostMapping("/list") @ResponseBody @@ -112,7 +88,6 @@ List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); return getDataTable(list); } - @PostMapping("/list2") @ResponseBody public TableDataInfo list2(SysUserExtend sysUserExtend) { @@ -129,10 +104,7 @@ List<SysUserExtend> list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); return getDataTable(list); } - - /** - * 鏂板淇濆瓨鐢ㄦ埛淇℃伅鎵╁睍 - */ + @RequiresPermissions("exam:extend:add") @Log(title = "鐢ㄦ埛淇℃伅鎵╁睍", businessType = BusinessType.INSERT) @PostMapping("/add") diff --git a/src/main/java/com/ots/project/exam/controller/SysUserPaperController.java b/src/main/java/com/ots/project/exam/controller/SysUserPaperController.java index 48eeade..2f113d3 100644 --- a/src/main/java/com/ots/project/exam/controller/SysUserPaperController.java +++ b/src/main/java/com/ots/project/exam/controller/SysUserPaperController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.security.ShiroUtils; import com.ots.framework.web.controller.BaseController; @@ -21,66 +20,48 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; -/** - * 鐢ㄦ埛浜у搧Controller - * - * @author ots - * @date 2020-03-19 - */ @Controller @RequestMapping("/exam/paper") public class SysUserPaperController extends BaseController { private String prefix = "exam/userpaper"; - @Autowired private IUserService userService; - @Autowired private ISysUserPaperService userPaperService; - @Autowired private ITExamPaperService tExamPaperService; - @Autowired private ISysUserExtendService sysUserExtendService; - @Autowired private IExamUtilService examUtilService; - @Autowired private ITReportTemplateService reportTemplateService; - @Autowired private ITReportTemplateService itReportTemplateService; - @GetMapping("/dis") public String dispaper() { return prefix + "/userPaper"; } - @PostMapping("/list") @ResponseBody public TableDataInfo list(User user) { User sysUser = ShiroUtils.getSysUser(); - //鏌ユ壘鎵�鏈夌殑闄や簡绠$悊鍛樼殑鐢ㄦ埛 + user.setStatus("0"); List<User> users = new ArrayList<User>(); - - // 绯荤粺鐢ㄦ埛杩斿洖鎵�鏈夌敤鎴� + if (Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType())) { startPage(); user.setUserTypes(Arrays.asList(UserTypeEnum.DIS_USER.getUserType(), UserTypeEnum.ENT_USER.getUserType())); users = userService.selectUserList(user); } - - //濡傛灉鏄垎閿�鍟嗙敤鎴凤紝杩斿洖鍒嗛攢鍟嗕笅鎵�灞炰紒涓氱敤鎴� + if (Objects.equals(UserTypeEnum.DIS_USER.getUserType(), sysUser.getUserType())) { user.setUserTypes(Arrays.asList(UserTypeEnum.DIS_USER.getUserType(), UserTypeEnum.ENT_USER.getUserType())); SysUserExtend sysUserExtend = new SysUserExtend(); @@ -95,7 +76,21 @@ } return getDataTable(users); } - + @PostMapping("/reportTemplateText/{arr}") + @ResponseBody + public String reportTemplateText(@PathVariable String arr) { + String[] split = arr.split(","); + List<String> templateIds = Arrays.asList(split); + List<TReportTemplate> reportTemplates = reportTemplateService.getReportTemplates(ShiroUtils.getSysUser()); + StringBuilder reportTemplateText = new StringBuilder(); + for (int i = 0; i < reportTemplates.size(); i++) { + TReportTemplate tReportTemplate = reportTemplates.get(i); + if (templateIds.contains(String.valueOf(tReportTemplate.getId()))) { + reportTemplateText.append(tReportTemplate.getReportType()).append(","); + } + } + return reportTemplateText.substring(0,reportTemplateText.length()-1); + } @PostMapping("/listCodes") @ResponseBody public TableDataInfo listCodes(User user) { @@ -107,7 +102,7 @@ SysUserPaper sysUserPaper = new SysUserPaper(); sysUserPaper.setUserId(user.getUserId()); List<SysUserPaper> sysUserPapers = userPaperService.selectSysUserPaperList(sysUserPaper); - //鍙栫湡瀹炲悕绉� + sysUserPapers.stream().forEach(p -> { p.setProdName(examUtilService.getLangOrLocalLangString("", p.getProdName())); List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(p.getReportTemplateId()); @@ -118,14 +113,11 @@ } } ); -// //鎶ュ憡妯℃澘缂栫爜 t_report_template -// mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); + + return getDataTable(sysUserPapers); } - - /** - * 淇敼淇濆瓨浜哄彛瀛﹀彉閲忓畾涔� - */ + @PostMapping("/edit") @ResponseBody public AjaxResult editSave(SysUserPaper sysUserPaper) { @@ -137,20 +129,53 @@ }); return toAjax(1); } - - /** - * 淇敼鐢ㄦ埛 - */ + @GetMapping("/edit/{userId}") public String edit(@PathVariable("userId") Long userId, ModelMap mmap) { List<TExamPaper> list = tExamPaperService.getUserPapers(); - //鍙栫湡瀹炲悕绉� + list.stream().forEach(p -> p.setName(examUtilService.getLangOrLocalLangString("", p.getName())) ); mmap.put("userId", userId); mmap.put("userProds", list); - mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); + List<TReportTemplate> reportTemplates = reportTemplateService.getReportTemplates(ShiroUtils.getSysUser()); + List<TReportTemplate> collect = reportTemplates.stream().filter(v -> { + String reportType = v.getReportType(); + String[] split = reportType.split("-"); + List<String> strings = Arrays.asList(split); + TExamPaper tExamPaper = list.get(0); + String name = tExamPaper.getName(); + if (Objects.equals("鐫块偦", name)) { + name = "RuiLin"; + } + if (strings.contains(name)) { + return true; + } + return false; + }).collect(Collectors.toList()); + mmap.put("templateList", collect); + mmap.put("templateListAll", reportTemplates); return prefix + "/edit"; } + + @RequestMapping("/filterTemplate/{prodName}") + @ResponseBody + public List<TReportTemplate> filterTemplate(@PathVariable("prodName") String prodName) { + if (Objects.equals("鐫块偦", prodName)) { + prodName = "RuiLin"; + } + List<String> prods = Arrays.asList(prodName); + List<TReportTemplate> reportTemplates = reportTemplateService.getReportTemplates(ShiroUtils.getSysUser()); + List<TReportTemplate> collect = reportTemplates.stream().filter(v -> { + String reportType = v.getReportType(); + String[] split = reportType.split("-"); + List<String> strings = Arrays.asList(split); + if (strings.contains(prods.get(0))) { + return true; + } + return false; + }).collect(Collectors.toList()); + return collect; + } } diff --git a/src/main/java/com/ots/project/exam/controller/TExamLevelController.java b/src/main/java/com/ots/project/exam/controller/TExamLevelController.java index 3e8e1f0..169950d 100644 --- a/src/main/java/com/ots/project/exam/controller/TExamLevelController.java +++ b/src/main/java/com/ots/project/exam/controller/TExamLevelController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.utils.StringUtils; import com.ots.common.utils.poi.ExcelUtil; import com.ots.framework.aspectj.lang.annotation.Log; @@ -20,44 +19,31 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; - import java.util.List; import java.util.Map; import java.util.stream.Collectors; -/** - * 闂嵎绫诲瀷Controller - * - * @author ots - * @date 2019-12-15 - */ @Controller @RequestMapping("/exam/level") public class TExamLevelController extends BaseController { private String prefix = "exam/level"; - @Autowired private ITExamLevelService tExamLevelService; - @Autowired private DictService dictService; - @RequiresPermissions("exam:level:view") @GetMapping() public String level() { return prefix + "/level"; } - - /** - * 鏌ヨ闂嵎绫诲瀷鍒楄〃 - */ + @RequiresPermissions("exam:level:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(TExamLevel tExamLevel) { startPage(); List<TExamLevel> list = tExamLevelService.selectTExamLevelList(tExamLevel); - // 缈昏瘧涓�涓� Item Template + List<DictData> questionnaireTemplate = dictService.getType("questionnaire_template"); Map<String, String> dictMap = questionnaireTemplate.stream().collect(Collectors.toMap(DictData::getDictValue, DictData::getDictLabel)); list.stream().forEach(t -> { @@ -65,10 +51,7 @@ }); return getDataTable(list); } - - /** - * 瀵煎嚭闂嵎绫诲瀷鍒楄〃 - */ + @RequiresPermissions("exam:level:export") @PostMapping("/export") @ResponseBody @@ -77,10 +60,7 @@ ExcelUtil<TExamLevel> util = new ExcelUtil<TExamLevel>(TExamLevel.class); return util.exportExcel(list, "level"); } - - /** - * 鏂板闂嵎绫诲瀷 - */ + @GetMapping("/add") public String add(String uuid,ModelMap mmap) { if(StringUtils.isNotBlank(uuid)){ @@ -90,10 +70,7 @@ } return prefix + "/add"; } - - /** - * 鏂板淇濆瓨闂嵎绫诲瀷 - */ + @RequiresPermissions("exam:level:add") @Log(title = "闂嵎绫诲瀷", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -105,20 +82,14 @@ } return toAjax(tExamLevelService.insertTExamLevel(tExamLevel)); } - - /** - * 淇敼闂嵎绫诲瀷 - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { TExamLevel tExamLevel = tExamLevelService.selectTExamLevelById(id); mmap.put("tExamLevel", tExamLevel); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨闂嵎绫诲瀷 - */ + @RequiresPermissions("exam:level:edit") @Log(title = "闂嵎绫诲瀷", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -126,10 +97,7 @@ public AjaxResult editSave(TExamLevel tExamLevel) { return toAjax(tExamLevelService.updateTExamLevel(tExamLevel)); } - - /** - * 鍒犻櫎闂嵎绫诲瀷 - */ + @RequiresPermissions("exam:level:remove") @Log(title = "闂嵎绫诲瀷", businessType = BusinessType.DELETE) @PostMapping("/remove") diff --git a/src/main/java/com/ots/project/exam/controller/TExamPaperController.java b/src/main/java/com/ots/project/exam/controller/TExamPaperController.java index 3fe7a04..96b2286 100644 --- a/src/main/java/com/ots/project/exam/controller/TExamPaperController.java +++ b/src/main/java/com/ots/project/exam/controller/TExamPaperController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.alibaba.fastjson.JSONArray; import com.ots.common.utils.StringUtils; import com.ots.common.utils.bean.BeanUtils; @@ -39,7 +38,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -47,46 +45,29 @@ import java.util.Objects; import java.util.stream.Collectors; -/** - * 浜у搧鍖呭垪琛–ontroller - * - * @author ots - * @date 2019-11-20 - */ @Controller @RequestMapping("/exam/product") public class TExamPaperController extends BaseController { private String prefix = "exam/product"; - @Autowired private ITExamPaperService tExamPaperService; - @Autowired private ITTextContentService tTextContentService; - @Autowired private ITExamLevelService itExamLevelService; - @Autowired private IDictDataService dictDataService; - @Autowired private IExamUtilService examUtilService; - @Autowired private ITReportTemplateService reportTemplateService; - protected final static ModelMapper modelMapper = ModelMapperSingle.Instance(); - @RequiresPermissions("exam:product:view") @GetMapping() public String product() { return prefix + "/product"; } - - /** - * 鏌ヨ浜у搧鍖呭垪琛ㄥ垪琛� - */ + @RequiresPermissions("exam:product:list") @PostMapping("/list") @ResponseBody @@ -95,10 +76,7 @@ List<TExamPaper> list = tExamPaperService.selectTExamPaperList(tExamPaper); return getDataTable(list); } - - /** - * 瀵煎嚭浜у搧鍖呭垪琛ㄥ垪琛� - */ + @RequiresPermissions("exam:product:export") @PostMapping("/export") @ResponseBody @@ -107,23 +85,17 @@ ExcelUtil<TExamPaper> util = new ExcelUtil<TExamPaper>(TExamPaper.class); return util.exportExcel(list, "product"); } - - /** - * 鏂板浜у搧鍖呭垪琛� - */ + @GetMapping("/add/{id}") public String add(@PathVariable("id") Long id, ModelMap mmap) { - // 杩欏彞浠g爜涓轰簡鎻愮ず浼犺繃鏉ョ殑id鏄痩evelId + Long levelId = id; TExamLevel tExamLevel = itExamLevelService.selectTExamLevelById(levelId); mmap.put("tExamLevel", tExamLevel); mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); return prefix + "/add-" + tExamLevel.getQuestionTemplateId(); } - - /** - * 鏂板淇濆瓨浜у搧鍖呭垪琛� - */ + @RequiresPermissions("exam:product:add") @Log(title = "浜у搧鍖呭垪琛�", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -131,27 +103,21 @@ public AjaxResult addSave(TExamPaper tExamPaper) { return toAjax(tExamPaperService.insertTExamPaper(tExamPaper)); } - - /** - * 淇敼浜у搧鍖呭垪琛� - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { TExamPaper tExamPaper = tExamPaperService.selectTExamPaperById(id); - //鑾峰彇棰樼洰鐨勫唴瀹瑰睍绀� + List<ExamPaperTitleItem> examPaperTitleItemList = tExamPaperService.getExamPaperTitleContent(tExamPaper); mmap.put("examPaperTitleItemList", examPaperTitleItemList); mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); mmap.put("tExamPaper", tExamPaper); - // 璺冲埌鍏蜂綋鐨勯〉闈� + TExamLevel tExamLevel = itExamLevelService.selectTExamLevelById(tExamPaper.getLevelId()); mmap.put("tExamLevel", tExamLevel); return prefix + "/edit-" + tExamLevel.getQuestionTemplateId(); } - - /** - * 淇敼淇濆瓨浜у搧鍖呭垪琛� - */ + @RequiresPermissions("exam:product:edit") @Log(title = "浜у搧鍖呭垪琛�", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -159,10 +125,7 @@ public AjaxResult editSave(TExamPaper tExamPaper) { return toAjax(tExamPaperService.updateTExamPaper(tExamPaper)); } - - /** - * 鍒犻櫎浜у搧鍖呭垪琛� - */ + @RequiresPermissions("exam:product:remove") @Log(title = "浜у搧鍖呭垪琛�", businessType = BusinessType.DELETE) @PostMapping("/remove") @@ -170,17 +133,13 @@ public AjaxResult remove(String ids) { return toAjax(tExamPaperService.deleteTExamPaperByIds(ids)); } - - /** - * 閫夐鐩紝ABCD鐨勯鐩� - */ + @GetMapping("/addQuestion/{levelId}/{langType}") public String addQuestion(@PathVariable("levelId") Long levelId, @PathVariable("langType") String langType, ModelMap mmap) { mmap.put("level", levelId); mmap.put("langType", langType); return prefix + "/add_question"; } - @GetMapping("/addIntelligenceTitleQuestion/{levelId}/{langType}") public String addIntelligenceTitleQuestion(@PathVariable("levelId") Long levelId, @PathVariable("langType") String langType, ModelMap mmap) { mmap.put("level", levelId); @@ -188,7 +147,6 @@ mmap.put("template", "intelligence_title"); return prefix + "/add_question"; } - @GetMapping("/addIntelligenceQuestion/{levelId}/{langType}") public String addIntelligenceQuestion(@PathVariable("levelId") Long levelId, @PathVariable("langType") String langType, ModelMap mmap) { mmap.put("level", levelId); @@ -196,78 +154,57 @@ mmap.put("template", "intelligence"); return prefix + "/add_question"; } - - /** - * 閫夐鐩紝ABCD鐨勯鐩� - */ + @GetMapping("/addTitle/{questionTemplateId}/{langType}") public String addTitle(@PathVariable("questionTemplateId") String questionTemplateId, @PathVariable("langType") String langType, ModelMap mmap) { mmap.put("questionTemplateId", questionTemplateId); mmap.put("langType", langType); return prefix + "/add_title"; } - - /** - * 鏂板娴嬭瘯鍖呯鐞� - */ + @GetMapping("/getProdList") public String getProdList(String langType,String testType,ModelMap mmap) { mmap.put("langType", langType); mmap.put("testType", testType); return prefix + "/prodtree"; } - - /** - * 鍔犺浇瀛楀吀鍒楄〃鏍� - */ + @GetMapping("/treeData/{langType}/{testType}") @ResponseBody public List<Ztree> treeData(@PathVariable("langType") String langType,@PathVariable("testType") String testType) { System.out.println(langType); List<Ztree> ztrees = tExamPaperService.selectProdTree(testType); - // 澶氳瑷�缈昏瘧 + ztrees.stream().forEach(ztree -> { ztree.setName(ExamUtil.getLangString(langType, ztree.getName())); }); return ztrees; } - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:product:import") @PostMapping("/importJobData/{langType}/{levelId}/{levelName}") @ResponseBody public AjaxResult importJobData(MultipartFile file, @PathVariable("langType") String langType, @PathVariable("levelId") Long levelId, @PathVariable("levelName") String leveltName, boolean updateSupport) throws Exception { ExcelUtil<QuestionJobImport> util = new ExcelUtil<>(QuestionJobImport.class); QuestionJobImport questionJobImport = util.importJobExcel(file.getInputStream(),levelId, leveltName, langType); - List<TQuestion> questionList = questionJobImport.getQuestionList(); - - // 澶ч鐩job_title + for (TQuestion tQuestion : questionList) { tQuestion.setTemplate("job_title"); } - // 缈昏瘧澶氳瑷� - // 鏇存柊銆佸叆搴撻�昏緫, 澶氳瑷� + + updateBatchImportData(langType, JsonUtil.toJsonStr(questionJobImport.getMultilingualList()), questionList); - if (StringUtils.isEmpty(questionJobImport.getLangType())) { return AjaxResult.success(questionJobImport); } - if (Objects.isNull(questionJobImport) || Objects.isNull(questionJobImport.getQuestionList()) || questionJobImport.getQuestionList().isEmpty()) { return AjaxResult.error("瀵煎叆澶辫触"); } - - // 缈昏瘧澶氳瑷� + return AjaxResult.success(questionJobImport); } - - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟妯℃澘涓嬭浇 - */ + @RequiresPermissions("exam:product:view") @GetMapping("/importTemplate") @ResponseBody @@ -275,10 +212,7 @@ ExcelUtil<QuestionJobImport> util = new ExcelUtil<>(QuestionJobImport.class); return util.importTemplateQuestionExcel("JAQ棰樼洰妯℃澘.xlsx"); } - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟妯℃澘涓嬭浇 - */ + @RequiresPermissions("exam:product:view") @GetMapping("/importMAQTemplate") @ResponseBody @@ -286,10 +220,7 @@ ExcelUtil<QuestionPersonalityImport> util = new ExcelUtil<>(QuestionPersonalityImport.class); return util.importTemplateQuestionExcel("MAQ棰樼洰妯℃澘.xlsx"); } - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:product:import") @PostMapping("/importMAQData/{langType}") @ResponseBody @@ -299,23 +230,18 @@ if (StringUtils.isEmpty(questionPersonalityImport.getLangType())) { return AjaxResult.success(questionPersonalityImport); } - List<TQuestion> questionList = questionPersonalityImport.getQuestionList(); - - // 鏍¢獙鏈夋晥鎬� + if (Objects.isNull(questionPersonalityImport) || Objects.isNull(questionList) || questionList.isEmpty()) { return AjaxResult.error("瀵煎叆澶辫触"); } - // 鏇存柊銆佸叆搴撻�昏緫, 澶氳瑷� + updateBatchImportData(langType, JsonUtil.toJsonStr(questionPersonalityImport.getMultilingualList()), questionList); - return AjaxResult.success(questionPersonalityImport); } - - // 鏇存柊銆佸叆搴撻�昏緫, 澶氳瑷� + private void updateBatchImportData(@PathVariable String langType, String multilinguag, List<TQuestion> questionList) { tExamPaperService.updateInsertQuestion(questionList, multilinguag); - for (TQuestion tQuestion : questionList) { tQuestion.setTitle(examUtilService.getLangOrLocalLangString(langType, tQuestion.getTitle())); List<String> selectInput = tQuestion.getSelectInput(); @@ -328,23 +254,14 @@ } } } - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟妯℃澘涓嬭浇 - */ + @RequiresPermissions("exam:product:changeDeleted") @PostMapping("/changeDeleted") @ResponseBody public AjaxResult changeDeleted(TExamPaper tExamPaper) { return toAjax(tExamPaperService.updateDeleted(tExamPaper)); } - - /** - * 浜у搧鍖呮柊澧炶瑷�鍏ュ彛锛屼骇鍝佸寘澶氳瑷�娣诲姞鍏ュ彛 - * @param uuid - * @param mmap - * @return - */ + @GetMapping("/addLang/{uuid}/{langType}") public String addLang(@PathVariable("uuid") Long uuid, @PathVariable("langType") String langType, ModelMap mmap) { TExamPaper tExamPaper = tExamPaperService.selectTExamPaperById(uuid); @@ -352,27 +269,21 @@ tExamPaper.setLangName(getDitcByType("lang_type", langType)); tExamPaper.setUuid(uuid); tExamPaper.setOperatingLanguage("addLang"); - - //鑾峰彇棰樼洰鐨勫唴瀹瑰睍绀� + List<ExamPaperTitleItem> examPaperTitleItemList = getExamPaperTitleItems(mmap, tExamPaper); - mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); mmap.put("tExamPaper", tExamPaper); - // 璺冲埌鍏蜂綋鐨勯〉闈� + TExamLevel tExamLevel = itExamLevelService.selectTExamLevelById(tExamPaper.getLevelId()); mmap.put("tExamLevel", tExamLevel); - // 鎵归噺瀵煎叆鐨勬椂鍊欏睍绀洪鐩殑缁村害锛孞ob鎵嶉渶瑕侊紝缁村害閮芥槸涓�鏍风殑 + nmapPutQuestionItem(mmap, examPaperTitleItemList); - // 澶氳瑷�娓呯悊鏁版嵁 + tExamPaper.setName(""); tExamPaper.setGuide(""); - return prefix + "/edit-" + tExamLevel.getQuestionTemplateId(); } - - /** - * 鏍规嵁璇█淇敼棰樼洰, 椤甸潰涓婄殑鏂板璇█璋冪敤锛屼骇鍝佸寘淇敼澶氳瑷�棰樼洰鍏ュ彛 - */ + @GetMapping("/editLang/{uuid}/{langType}") public String editLang(@PathVariable("uuid") Long uuid, @PathVariable("langType") String langType, ModelMap mmap) { TExamPaper tExamPaper = tExamPaperService.selectTExamPaperById(uuid); @@ -380,44 +291,33 @@ tExamPaper.setId(uuid); tExamPaper.setLangType(langType); tExamPaper.setOperatingLanguage("editLang"); - - // 澶氳瑷� + tExamPaper.setName(ExamUtil.getStringByLang(tExamPaper.getLangType(), tExamPaper.getName())); - tExamPaper.setGuide(ExamUtil.getStringByLang(tExamPaper.getLangType(), tExamPaper.getGuide())); - tExamPaper.setLangName(getDitcByType("lang_type", langType)); List<ExamPaperTitleItem> examPaperTitleItemList = getExamPaperTitleItems(mmap, tExamPaper); - - // 鎵归噺瀵煎叆鐨勬椂鍊欏睍绀洪鐩殑缁村害锛孞ob鎵嶉渶瑕侊紝缁村害閮芥槸涓�鏍风殑 + nmapPutQuestionItem(mmap, examPaperTitleItemList); - - // 澶氳瑷� + mmap.put("tExamPaper", tExamPaper); mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); - // 璺冲埌鍏蜂綋鐨勯〉闈� + TExamLevel tExamLevel = itExamLevelService.selectTExamLevelById(tExamPaper.getLevelId()); mmap.put("tExamLevel", tExamLevel); - return prefix + "/edit-" + tExamLevel.getQuestionTemplateId(); } - private List<ExamPaperTitleItem> getExamPaperTitleItems(ModelMap mmap, TExamPaper tExamPaper) { - //鑾峰彇棰樼洰鐨勫唴瀹瑰睍绀� + List<ExamPaperTitleItem> examPaperTitleItemList = tExamPaperService.getExamPaperTitleContent(tExamPaper); - // begin 閲嶅棰樼洰 + List<ExamPaperTitleItem> contentOriginalList = getExamDuplicateTitleItems(tExamPaper, examPaperTitleItemList); - // end 閲嶅棰樼洰 + mmap.put("examPaperTitleItemList", contentOriginalList); - nmapPutQuestionItem(mmap, examPaperTitleItemList); - return examPaperTitleItemList; } - private List<ExamPaperTitleItem> getExamDuplicateTitleItems(TExamPaper tExamPaper, List<ExamPaperTitleItem> examPaperTitleItemList) { List<ExamPaperTitleItem> contentOriginalList = JSONArray.parseArray(tExamPaper.getContent(), ExamPaperTitleItem.class); - Map<Integer, QuestionItem> questionItemMap = new HashMap<>(); for (ExamPaperTitleItem examPaperTitleItem : examPaperTitleItemList) { List<QuestionItem> questionItems = examPaperTitleItem.getQuestionItems(); @@ -425,12 +325,11 @@ questionItemMap.put(questionItem.getQuestionId(), questionItem); } } - for (ExamPaperTitleItem examPaperTitleItem : contentOriginalList) { List<QuestionItem> questionItems = examPaperTitleItem.getQuestionItems(); for (QuestionItem questionItem : questionItems) { Integer partOrder = questionItem.getPartOrder(); - // 澶嶅埗棰樼洰閲岄潰涓嶅瓨鍦ㄧ殑灞炴�у悗鍐嶅鍒� + QuestionItem questionItemSource = questionItemMap.get(questionItem.getId()); questionItemSource.setTemplate(questionItem.getTemplate()); questionItemSource.setParentQuestionId(questionItem.getParentQuestionId()); @@ -440,30 +339,26 @@ } return contentOriginalList; } - private void nmapPutQuestionItem(ModelMap mmap, List<ExamPaperTitleItem> examPaperTitleItemList) { - // 鎵归噺瀵煎叆鐨勬椂鍊欏睍绀洪鐩殑缁村害锛孞ob鎵嶉渶瑕侊紝缁村害閮芥槸涓�鏍风殑 + List<QuestionItem> questionItems = examPaperTitleItemList.get(0).getQuestionItems(); mmap.put("questionItems", questionItems); mmap.put("parts", JsonUtil.toJsonStr(examPaperTitleItemList.get(0).getParts())); } - @GetMapping("/deleteLang/{uuid}/{langType}") @ResponseBody public AjaxResult deleteLang(@PathVariable("uuid") Long uuid, @PathVariable("langType") String langType) { - // 澶氳瑷�鐨勬椂鍊檜uid灏辨槸id + TExamPaper tExamPaper = tExamPaperService.selectTExamPaperById(uuid); tExamPaper.setLangType(langType); return toAjax(tExamPaperService.deleteProductContent(tExamPaper)); } - private String getDitcByType(String type, String dictType) { List<DictData> langTypeList = dictDataService.selectDictDataByType(type); Map<String, String> lanTypeMap = langTypeList.stream().collect(Collectors.toMap(DictData::getDictValue, DictData::getDictLabel)); return lanTypeMap.get(dictType); } - - // 寮瑰嚭璇█ + @GetMapping("/langType/{id}") public String getLangType(@PathVariable("id") Long id, ModelMap mmap) { List<DictData> dictDataList = tExamPaperService.getType(id); diff --git a/src/main/java/com/ots/project/exam/controller/TExamReportController.java b/src/main/java/com/ots/project/exam/controller/TExamReportController.java index 320f3df..ce1df23 100644 --- a/src/main/java/com/ots/project/exam/controller/TExamReportController.java +++ b/src/main/java/com/ots/project/exam/controller/TExamReportController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import cn.hutool.core.collection.CollUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ArrayUtil; @@ -64,6 +63,7 @@ import org.apache.commons.collections.map.HashedMap; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; @@ -77,7 +77,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; - import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; @@ -94,15 +93,8 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; - import static com.ots.project.tool.report.reportCalculation.request.CalculationTypeEnum.JAQ; -/** - * 璇勬祴鎶ュ憡Controller - * - * @author ots - * @date 2019-12-26 - */ @Controller @RequestMapping("/exam/report") public class TExamReportController extends BaseController { @@ -122,63 +114,46 @@ private IExamUtilService iExamUtilService; @Autowired private IEntTestPackageService entTestPackageService; - @Autowired private ITExamPaperService itExamPaperService; - @Autowired private IEntDemographyInfoService entDemographyInfoService; - @Autowired ReportCalculationServices calculationServices; - @Autowired MemberService memberService; - @Autowired ITQuestionService itQuestionService; - @Autowired private TExamPaperServiceImpl examPaperService; - @Autowired private ISysUserExtendService sysUserExtendService; - /** - * 浼佷笟鎶ュ憡鎺堟潈锛屽鎵规姤琛� - * - * @return - */ + @RequiresPermissions("exam:report:viewVerify") @GetMapping("/viewVerify") public String reportVerify() { return prefix + "/verifyReport"; } - - /** - * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃 - */ + @RequiresPermissions("exam:report:viewVerify") @PostMapping("/verifyList") @ResponseBody public TableDataInfo verifyList(TExamReport tExamReport) { startPage(); - tExamReport.setStatus("1");//娴嬭瘯鍖呯姸鎬� + tExamReport.setStatus("1"); List<TExamReport> list = tExamReportService.selectTExamReportList(tExamReport); - // 澶氳瑷� + String langType = dictService.getLangType(LocaleContextHolder.getLocale().toString()); for (TExamReport tExamReportTemp : list) { tExamReportTemp.setProductName(ExamUtil.getLangString(langType, tExamReportTemp.getProductName())); } return getDataTable(list); } - - @RequiresPermissions("exam:report:view") @GetMapping() public String report() { return prefix + "/report"; } - @RequiresPermissions("exam:test_package:testreport") @GetMapping("/reportView/{testId}/{prodId}") public String reportView(@PathVariable String testId, @PathVariable String prodId, ModelMap mmap) { @@ -186,7 +161,6 @@ mmap.put("testId", testId); return prefix + "/report"; } - @RequiresPermissions("exam:test_package:testreport") @GetMapping("/member/reportView/{testId}/{memberId}") public String memberReportView(@PathVariable Long testId, @PathVariable String memberId, ModelMap mmap) { @@ -196,10 +170,7 @@ mmap.put("memberId", memberId); return prefix + "/report"; } - - /** - * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃(澶撮儴) - */ + @RequiresPermissions("exam:hrEmailReport:view") @PostMapping("/hrLog") @ResponseBody @@ -208,10 +179,7 @@ List<TExamReport> tExamReports = tExamReportService.selectTExamReportList(tExamReport); return getDataTable(tExamReports); } - - /** - * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃(澶撮儴) - */ + @RequiresPermissions("exam:report:list") @PostMapping("/list") @ResponseBody @@ -221,15 +189,12 @@ if (Objects.isNull(tExamReport.getProductId())) { return getDataTable(list); } - - // 澶氳瑷�鍙栨湰鍦伴偅绉� + String langType = dictService.getLangType(LocaleContextHolder.getLocale().toString()); list = tExamReportService.selectTExamReportList(tExamReport); - if (Objects.isNull(list) || list.isEmpty()) { return getDataTable(list); } - Map<String, String> filed = JSON.parseObject(list.get(0).getContent(), LinkedHashMap.class); Map<String, String> title = new LinkedHashMap<>(); int i = 0; @@ -248,18 +213,11 @@ } title.put("娴嬭瘯鍖呯紪鐮�", String.valueOf(i++)); title.put("绛斿嵎缂栫爜", String.valueOf(i++)); - List<Map<String, String>> filedList = new ArrayList<>(); filedList.add(title); return getDataTable(filedList); } - - /** - * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃(鏁版嵁鍒�) - * - * @param tExamReport - * @return - */ + @RequiresPermissions("exam:report:list") @PostMapping("/listData") @ResponseBody @@ -269,20 +227,16 @@ return getDataTable(list); } startPage(); - // 瀹屾垚鐨� + tExamReport.setFinish(1); list = tExamReportService.selectViewReportList(tExamReport); - // 澶氳瑷�缈昏瘧 + for (TExamReport tExamReportTemp : list) { tExamReportTemp.setProductName(examUtilService.getLangOrLocalLangString("", tExamReportTemp.getProductName())); } - return getDataTable(list); } - - /** - * 瀵煎嚭璇勬祴鎶ュ憡鍒楄〃 - */ + @RequiresPermissions("exam:report:export") @PostMapping("/export") @ResponseBody @@ -291,172 +245,148 @@ ExcelUtil<TExamReport> util = new ExcelUtil<TExamReport>(TExamReport.class); return util.exportExcel(list, "report"); } + - /** - * 瀵煎嚭璇勬祴浜哄憳鐢ㄦ埛绛旈璁板綍 - * - * @param tExamReport - * @return - */ -// @RequiresPermissions("exam:report:export") -// @PostMapping("/exportReport") -// @ResponseBody -// public AjaxResult exportReport(TExamReport tExamReport) { -// DataMap<Integer, Object[]> dataMap = new DataMap<>(); -// List<TExamReport> list = tExamReportService.selectTExamReportList(tExamReport); -// -// // 鎷兼帴鐢熸垚report鐨勯敭鍊煎 -// User sysUser = ShiroUtils.getSysUser(); -// boolean isRight = Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType()); -// -// int keyPosition = -1; -// int keySize = 0; -// List<DataMap> reportList = new ArrayList<>(); -// List<DataMap> reportTaiList = new ArrayList<>(); -// List<DataMap> reportLocalList = new ArrayList<>(); -// Map<String, String> mapPara = new HashedMap(); -// Set<String> langTypeSet = new HashSet<>(); -// for (TExamReport it : list) { -// List<DataReport> dataReportList = new ArrayList<>(); -// -// // 璇诲嚭浜哄彛瀛﹀彉閲� -// setLocalDataReportByParamId(mapPara, it, dataReportList); -// -// // 寰楀埌浜哄彛瀛︽湁澶氬皯绉嶈瑷� -// setDataReportLangSet(mapPara, langTypeSet); -// -// // 鍙栨渶澶氬�奸偅涓� -// if (dataReportList.size() > keySize) { -// keySize = dataReportList.size(); -// keyPosition++; -// } -// -// DataMap<String, String> dataReportMap = new DataMap<>(); -// -// // 闈炴嘲鍥藉洟闃熺殑鍐呭 -// setContentMap(it, dataReportList, dataReportMap, reportLocalList); -// -// // 娉板浗鍥㈤槦鐨勫唴瀹� -// setTaiInterfaceContentMap(it, dataReportMap, isRight, reportTaiList); -// -// reportList.add(dataReportMap); -// } -// -// // 鍙杒ey鏈�澶氱殑锛岄槻姝㈡墦涔� -// Object[] keys = reportTaiList.get(keyPosition).getKeys().toArray(); -// -// Object[] keysAll = reportList.get(keyPosition).getKeys().toArray(); -// -// List<Object[]> keyDemography = new ArrayList<>(); -// -// // 3琛岋紝3绉嶈瑷� -// setAllLangLocalDataValue(keyPosition, reportLocalList, mapPara, langTypeSet, keyDemography); -// -// int position = 0; -// for (;position < keyDemography.size(); position++) { -// // 琛ㄥご鍙﹀鐨勪笢瑗匡紝绛旈涓嶄竴鑷寸瓑绛夛紝濡備腑鏂囪嚜澶竉T1 -// setExtracHead(dataMap, keys, keyDemography, position); -// } -// -// for (int i = 0; i < reportList.size(); i++) { -// DataMap<String,String> valueDataMap = reportList.get(i); -// List<String> valueList = new ArrayList<>(); -// for (Object key : keysAll) { -// valueList.add(valueDataMap.get(key.toString())); -// } -// dataMap.put(i + position, valueList.toArray()); -// } -// -// ExcelUtil<DataMap> util = new ExcelUtil<DataMap>(DataMap.class); -// // 瀵煎嚭鏁版嵁鎶ュ憡鍙�変竴涓祴璇曞寘 -// return util.exportExcelByDataMap(dataMap, examUtilService.getLangOrLocalLangString("", list.get(0).getProductName()) + "_DateReport"); -// } - // 瀵煎嚭鏁版嵁鎶ュ憡 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @RequiresPermissions("exam:report:export") @PostMapping("/exportDataReport/{ids}") @ResponseBody public AjaxResult exportReport(TExamReport tExamReport, @PathVariable("ids") String[] ids) throws IOException { List<TExamReport> tExamReportList = tExamReportService.selectTExamReportByIds(ids); - - // 鎷兼帴鐢熸垚report鐨勯敭鍊煎 + User sysUser = ShiroUtils.getSysUser(); boolean isRight = Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType()); - // 浜哄彛瀛﹀彉閲� - // 涓夎 + + DataReportHead dataReportHead = new DataReportHead(); String fileNameResult = EssConfig.getDownloadPath() + examUtilService.getLangOrLocalLangString("", tExamReportList.get(0).getProductName()) + "_DateReport.xlsx"; - - // 鎶妔heet鏀惧湪map閲岄潰 + Map<String, List<List<Object>>> reportResultMap = new HashMap<>(); - Map<String, Map<String, String>> demograpyMap = new HashMap<>(); - - // 浜哄彛瀛� + setDemograyMap(tExamReportList, dataReportHead, demograpyMap); - - // 鎶ュ憡绫诲瀷 + String reportType = getReportType(tExamReport); - - // 妯$増鐨勫唴瀹� + setDataReportHeader(dataReportHead, reportResultMap, reportType, isRight); - - // Map<sheet鍚�, Map<濮撳悕, Map<key, value>>> 鏁版嵁 + Map<String, Map<String, Map<String, String>>> sheetExcelMap = new HashMap<>(); - - // 濡傛灉鏄疛AQ瑕佽皟鐢ㄦ嘲鍥藉洟闃熺殑鎺ュ彛锛屽鏋滀笉鏄紝鍘昏〃閲岄潰鎵� + setDealTaiData(ids, tExamReportList, reportType, sheetExcelMap); - - // 鏋勯�犲�� + setRportListValue(reportResultMap, demograpyMap, sheetExcelMap, reportType); - - // 寮勬垚鍜屼粬浠師鏉ヤ竴鏍� + setSysHeadToEnglish(tExamReportList, reportResultMap, reportType); - - // 鍐欐枃浠� - writeFile(fileNameResult, reportResultMap); - - // 杩斿洖涓嬭浇 + + + writeMutiFile(fileNameResult, reportResultMap); + return AjaxResult.success(examUtilService.getLangOrLocalLangString("", tExamReportList.get(0).getProductName()) + "_DateReport.xlsx"); } - private void setDealTaiData(@PathVariable("ids") String[] ids, List<TExamReport> tExamReportList, String reportType, Map<String, Map<String, Map<String, String>>> sheetExcelMap) throws IOException { if (Objects.equals(reportType, ReportTypeEnum.JAQ.getCode())) { - // 瑕佸垹闄ょ殑鏂囦欢 + List<TExamReport> tExamReports = tExamReportService.selectTExamReportByIds(ids); Map<String, TExamReport> tokenReportMap = new HashMap<>(); for (TExamReport tExamReport : tExamReports) { tokenReportMap.put(tExamReport.getTokenId(), tExamReport); } - - // JAQ 璋冪敤娉板浗鍥㈤槦鏁版嵁 + ReportAPIResult reportAPIResult = getThaiJAQData(tExamReports); - - // 娉板浗鏁版嵁 - // JAQ Output Data + + Map<String, String> thaiData = reportAPIResult.getData(); Map<String, Map<String, String>> excelOutPutMap = new HashMap<>(); excelOutPutMap.put("JAQ", thaiData); sheetExcelMap.put("JAQ Output Data", excelOutPutMap); - - // JAQ Input Data + Map<String, Map<String, String>> excelInputMap = new HashMap<>(); List<JAQPersons> persons = (List<JAQPersons>) reportAPIResult.getAnswerData().get("persons"); for (JAQPersons jaqPersons : persons) { Map<String, String> personInfo = jaqPersons.getPersonInfo(); Map<String, String> personPoints = jaqPersons.getPersonPoints(); String name = personInfo.get("fullName"); - Map<String, String> excelValueMap = new HashMap<>(); excelValueMap.putAll(personInfo); excelValueMap.putAll(personPoints); excelValueMap.put("Name", name); excelInputMap.put(name, excelValueMap); tExamReportService.setExcelMapextraValue(tokenReportMap.get(excelValueMap.get("accessCode")), excelValueMap); - tExamReportService.setExcelMapextraValue(tokenReportMap.get(excelValueMap.get("accessCode")), thaiData); // 涓烘柟渚垮紑鍙戯紝涓嶇鎬ц兘 + tExamReportService.setExcelMapextraValue(tokenReportMap.get(excelValueMap.get("accessCode")), thaiData); } - - // 杈撳嚭sheet鐨勯澶栧�� + sheetExcelMap.put("JAQ Input Data", excelInputMap); } else { Map<String, Map<String, String>> excelMap = new HashMap<>(); @@ -464,21 +394,19 @@ sheetExcelMap.put("Sheet1", excelMap); } } - private void setSysHeadToEnglish(List<TExamReport> tExamReportList, Map<String, List<List<Object>>> reportResultMap, String reportType) { Set<String> heavyDischargeDemography = new HashSet<>(); Map<String, String> systemEnglisMap = new HashMap<>(); for (TExamReport tExamReportIt : tExamReportList) { - // 璇诲嚭浜哄彛瀛﹀彉閲�,闄嶇淮 + List<DemographyDataReportDto> demographyDataReportDtoList = setLocalDataReportByParamId(tExamReportIt); for (DemographyDataReportDto demographyDataReportDto : demographyDataReportDtoList) { - // 鎺掗噸鐢� + if (heavyDischargeDemography.contains(demographyDataReportDto.getParamId())) { continue; } else { heavyDischargeDemography.add(demographyDataReportDto.getParamId()); } - List<DemographyDto> demographyDtoList = JsonUtil.parseArray(demographyDataReportDto.getLangCode(), DemographyDto.class); for (DemographyDto demographyDto : demographyDtoList) { if (Objects.equals(demographyDto.getLangType(), "English")) { @@ -487,7 +415,6 @@ } } } - for (Map.Entry<String, List<List<Object>>> entryReport : reportResultMap.entrySet()) { List<Object> headSystem = entryReport.getValue().get(0); for (int i = 0; i < headSystem.size(); i++) { @@ -497,13 +424,11 @@ } } } - private void setRportListValue(Map<String, List<List<Object>>> reportResultMap, Map<String, Map<String, String>> demograpyMap, Map<String, Map<String, Map<String, String>>> sheetExcelMap, String reportType) { for (Map.Entry<String, Map<String, Map<String, String>>> sheetEntry : sheetExcelMap.entrySet()) { for (Map.Entry<String, Map<String, String>> entry : sheetEntry.getValue().entrySet()) { - // 鎺ュ彛 + ReportResultData resultData = getReportResultData(reportType, entry); - Map<String, Object> textMap = new HashMap<>(); textMap.putAll(resultData.getTextMap()); textMap.putAll(demograpyMap.get(textMap.get("reportId"))); @@ -511,20 +436,36 @@ } } } - private void writeFile(String fileNameResult, Map<String, List<List<Object>>> reportResultMap) { for (Map.Entry<String, List<List<Object>>> entryReport : reportResultMap.entrySet()) { - ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(fileNameResult, entryReport.getKey()); + ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getBigWriter(fileNameResult, entryReport.getKey()); StyleSet styleSet = writer.getStyleSet(); styleSet.setBorder(BorderStyle.NONE, IndexedColors.OLIVE_GREEN); writer.write(entryReport.getValue(), true); + SXSSFSheet sheet = (SXSSFSheet) writer.getSheet(); + sheet.trackAllColumnsForAutoSizing(); + writer.autoSizeColumnAll(); writer.close(); } - } - + private void writeMutiFile(String fileNameResult, Map<String, List<List<Object>>> reportResultMap) { + FileUtil.del(fileNameResult); + ExcelWriter writer = null; + for (Map.Entry<String, List<List<Object>>> entryReport : reportResultMap.entrySet()) { + if (Objects.isNull(writer)) { + writer = new ExcelWriter(fileNameResult,entryReport.getKey()); + } + writer.setSheet(entryReport.getKey()); + StyleSet styleSet = writer.getStyleSet(); + styleSet.setBorder(BorderStyle.NONE, IndexedColors.OLIVE_GREEN); + writer.write(entryReport.getValue(), true); + writer.autoSizeColumnAll(); + writer.setSheet(entryReport.getKey()); + } + writer.close(); + } private void setReportResultList(List<Object> demographyHeadSystem, List<List<Object>> reportResultList, Map<String, Object> textMap) { - // 寮�濮嬪彇鍊� + List<Object> reportValue = new ArrayList<>(); for (Object key : demographyHeadSystem) { Object value = textMap.get(key.toString().trim().replace("%", "")); @@ -534,17 +475,14 @@ reportValue.add(""); } } - reportResultList.add(reportValue); } - private ReportResultData getReportResultData(String reportType, Map.Entry<String, Map<String, String>> entry) { TExamReport tExamQueryReport = new TExamReport(); String langType = examUtilService.getLocalLangType(""); ReportResultData resultData = tExamReportService.getReportResultData(reportType, langType, entry, tExamQueryReport); return resultData; } - private Map<String, LangTypeEnum> getStringLangTypeEnumMap() { Map<String, LangTypeEnum> langTypeEnumMap = new HashMap<>(); for (LangTypeEnum langTypeEnumTemp : LangTypeEnum.values()) { @@ -552,30 +490,28 @@ } return langTypeEnumMap; } - private String getReportType(TExamReport tExamReport) { String reportType = ReportTypeEnum.RuiLin.getCode(); TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(tExamReport.getProductId()); + tExamPaper.getName(); + if (tExamPaper.getName().indexOf("鐫块偦")>0 || tExamPaper.getName().indexOf("RuiLin")>0 ) { + return reportType; + } List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(tExamPaper.getReportTemplateId()); for (TReportTemplate tReportTemplate : tReportTemplateList) { if (Objects.isNull(tReportTemplate.getReportType())) { continue; } - - // 鍙栫涓�涓ā鐗堢殑閰嶇疆 + reportType = ReportTypeEnum.valueOf(tReportTemplate.getReportType()).getCode(); - - // 濡傛灉鏄疭AQ璧癝AQ鐨勬ā鐗� + if (Objects.equals(tReportTemplate.getTemplateType(), "SAQ")) { reportType = ReportTypeEnum.valueOf(tReportTemplate.getTemplateType()).getCode(); } - break; - } return reportType; } - private void setDataReportHeader(DataReportHead dataReportHead, Map<String, List<List<Object>>> reportResultMap, String reportType, boolean isRight) { if (Objects.equals(reportType, ReportTypeEnum.RuiLin.getCode())) { setDataReportHeaderRuilin(dataReportHead, reportResultMap, isRight); @@ -589,7 +525,6 @@ setDataReportHeadMaq(dataReportHead, reportResultMap, isRight); } } - private void setDataReportHeadMaq(DataReportHead dataReportHead, Map<String, List<List<Object>>> reportResultMap, boolean isRight) { ExcelReader reader = cn.hutool.poi.excel.ExcelUtil.getReader(FileUtil.file(EssConfig.getReportTemplates() + "MAQHead.xlsx")); List<String> sheetNames = reader.getSheetNames(); @@ -610,7 +545,6 @@ deleteNoRightKeys(dataReportHead, isRight, readList, i); } } - private void setDataReportHeadSaq(DataReportHead dataReportHead, Map<String, List<List<Object>>> reportResultMap, boolean isRight) { ExcelReader reader = cn.hutool.poi.excel.ExcelUtil.getReader(FileUtil.file(EssConfig.getReportTemplates() + "SAQHead.xlsx")); List<String> sheetNames = reader.getSheetNames(); @@ -631,20 +565,18 @@ deleteNoRightKeys(dataReportHead, isRight, readList, i); } } - private void setDataReportHeadJaq(DataReportHead dataReportHead, Map<String, List<List<Object>>> reportResultMap) { ExcelReader reader = cn.hutool.poi.excel.ExcelUtil.getReader(FileUtil.file(EssConfig.getReportTemplates() + "JAQHead.xlsx")); List<String> sheetNames = reader.getSheetNames(); - // JAQ涓嶈浜哄彛瀛︼紝鎵�浠ヨclear + List<Object> headSystem = dataReportHead.getHeadSystem(); List<Object> headEnglish = dataReportHead.getHeadEnglish(); for (String sheetName : sheetNames) { ExcelReader readerSheet = cn.hutool.poi.excel.ExcelUtil.getReader(FileUtil.file(EssConfig.getReportTemplates() + "JAQHead.xlsx"), sheetName); List<List<Object>> readList = readerSheet.read(); if (Objects.equals("JAQ Input Data", sheetName)) { - List<Object> head = readList.get(0); - // Name AccessCode Phone Department + 浜哄彛瀛� + String[] heads = {"Name", "AccessCode", "Phone", "Department"}; List<Object> headList = CollUtil.toList(heads); Set headExtends = new HashSet(headList); @@ -653,7 +585,6 @@ headList.add(headSystem.get(i)); } } - head.addAll(0, headList); } List<List<Object>> reportResultList = new ArrayList<>(); @@ -662,17 +593,14 @@ reportResultList.add(readList.get(i++)); } } - private void setDataReportHeadCaq(DataReportHead dataReportHead, Map<String, List<List<Object>>> reportResultMap, boolean isRight) { ExcelReader reader = cn.hutool.poi.excel.ExcelUtil.getReader(FileUtil.file(EssConfig.getReportTemplates() + "CAQHead.xlsx")); - List<String> sheetNames = reader.getSheetNames(); for (String sheetName : sheetNames) { ExcelReader readerSheet = cn.hutool.poi.excel.ExcelUtil.getReader(FileUtil.file(EssConfig.getReportTemplates() + "CAQHead.xlsx"), sheetName); List<List<Object>> readList = readerSheet.read(); List<List<Object>> reportResultList = new ArrayList<>(); reportResultMap.put(sheetName, reportResultList); - int i = 0; dataReportHead.getHeadSystem().addAll(readList.get(i++)); reportResultList.add(dataReportHead.getHeadSystem()); @@ -683,7 +611,6 @@ deleteNoRightKeys(dataReportHead, isRight, readList, i); } } - private void setDataReportHeaderRuilin(DataReportHead dataReportHead, Map<String, List<List<Object>>> reportResultMap, boolean isRight) { ExcelReader reader = cn.hutool.poi.excel.ExcelUtil.getReader(FileUtil.file(EssConfig.getReportTemplates() + "RuiLinHead.xlsx")); List<String> sheetNames = reader.getSheetNames(); @@ -699,14 +626,11 @@ deleteNoRightKeys(dataReportHead, isRight, readList, i); reportResultMap.put(sheetName, reportResultList); } - - } - private void deleteNoRightKeys(DataReportHead dataReportHead, boolean isRight, List<List<Object>> readList, int i) { if (!isRight) { -// if (true) { - // 闇�瑕佸墧闄ょ殑琛� + + Set<Object> rightSet = new HashSet(); for (; i < readList.size(); i++) { List<Object> objects = readList.get(i); @@ -720,7 +644,6 @@ deleteNoRight(rightSet, dataReportHead.getHeadThai()); } } - private void deleteNoRight(Set<Object> rightSet, List<Object> headSystem) { if (CollUtil.isEmpty(headSystem)) { return; @@ -732,32 +655,27 @@ } } } - private void setDemograyMap(List<TExamReport> tExamReportList, DataReportHead dataReportHead, Map<String, Map<String, String>> demograpyMap) { Set<String> heavyDischargeDemography = new HashSet<>(); for (TExamReport tExamReportIt : tExamReportList) { - // 璇诲嚭浜哄彛瀛﹀彉閲�,闄嶇淮 + List<DemographyDataReportDto> demographyDataReportDtoList = setLocalDataReportByParamId(tExamReportIt); Map<String, String> demograpyValueMap = new HashMap<>(); for (DemographyDataReportDto demographyDataReportDto : demographyDataReportDtoList) { demograpyValueMap.put(demographyDataReportDto.getParamId(), demographyDataReportDto.getParamValue()); - - // 鎺掗噸鐢� + if (heavyDischargeDemography.contains(demographyDataReportDto.getParamId())) { continue; } else { heavyDischargeDemography.add(demographyDataReportDto.getParamId()); } - - // 娣诲姞鍚勭璇█鐨勮〃澶� + setDataReportDemography(dataReportHead, demographyDataReportDto); } - - // 浜哄彛瀛﹂敭鍜屽�� + demograpyMap.put(tExamReportIt.getId().toString(), demograpyValueMap); } } - private void setDataReportDemography(DataReportHead dataReportHead, DemographyDataReportDto demographyDataReportDto) { dataReportHead.getHeadSystem().add(demographyDataReportDto.getParamId()); List<DemographyDto> demographyDtoList = JsonUtil.parseArray(demographyDataReportDto.getLangCode(), DemographyDto.class); @@ -765,9 +683,8 @@ findLandCode(dataReportHead.getHeadEnglish(), demographyDtoList, "English"); findLandCode(dataReportHead.getHeadThai(), demographyDtoList, "Thai"); } - private void findLandCode(List<Object> demographyHeadLang, List<DemographyDto> demographyDtoList, String lang) { - // 鎵惧嚭涓枃鐨� + boolean isLang = false; for (DemographyDto demographyDto : demographyDtoList) { if (Objects.equals(demographyDto.getLangType(), lang)) { @@ -775,20 +692,17 @@ isLang = true; } } - if (!isLang) { demographyHeadLang.add(""); } } - private void setExtracHead(DataMap<Integer, Object[]> dataMap, Object[] keys, List<Object[]> keyDemography, int position) { - // ISP_T1 IM_T1 Inconsistency_T1 + if (position == 1) { keys[0] = "ISP_T1"; keys[1] = "IM_T1"; keys[2] = "Inconsistency_T1"; } - if (position == 2) { keys[0] = "鑷じ_T1"; keys[1] = "鍗拌薄绠$悊_T1"; @@ -797,18 +711,15 @@ } dataMap.put(position, ArrayUtil.addAll(keyDemography.get(position), keys)); } - private void setAllLangLocalDataValue(int keyPosition, List<DataMap> reportLocalList, Map<String, String> mapPara, Set<String> langTypeSet, List<Object[]> keyDemography) { - // 绯荤粺鍙橀噺鍚嶅摢涓�琛�,绗竴琛� + setAllLangLocalRowValue(keyPosition, reportLocalList, mapPara, keyDemography, langTypeSet.iterator().next(), "绯荤粺鍐呭彉閲忓悕"); - Map<String, Map<String, String>> multiLanguageMap = new HashedMap(); setLangSystemV(multiLanguageMap); for (String langType : langTypeSet) { setAllLangLocalRowValue(keyPosition, reportLocalList, mapPara, keyDemography, langType, multiLanguageMap.get("Chinese").get(langType)); } } - private void setLangSystemV(Map<String, Map<String, String>> multiLanguageMap) { Map<String, String> langTypeChineseMap = new HashedMap(); langTypeChineseMap.put("English", "瀵煎嚭鍚庡彉閲忓悕锛堣嫳鏂囷級"); @@ -816,25 +727,22 @@ langTypeChineseMap.put("Thai", "瀵煎嚭鍚庡彉閲忓悕锛堟嘲鏂囷級"); multiLanguageMap.put("Chinese", langTypeChineseMap); } - private void setClientV(Map<String, String> langTypeChineseMap) { langTypeChineseMap.put("English", "Client"); langTypeChineseMap.put("Chinese", "浼佷笟瀹㈡埛鍚嶇О"); langTypeChineseMap.put("Thai", "Client"); } - private void setAllLangLocalRowValue(int keyPosition, List<DataMap> reportLocalList, Map<String, String> mapPara, List<Object[]> keyDemography, String langType, String systemVariable) { DataMap<String, String> reportLocalMap = reportLocalList.get(keyPosition); - // 涓�琛�,琛岀殑paramid + List<String> rowList = reportLocalMap.getKeys(); List<String> rowValues = new ArrayList<>(); - // rowValues.add("绯荤粺鍙橀噺"); + rowValues.add(systemVariable); - for (String row : rowList) { - // json涓� + String rows = mapPara.get(row); - // 鍋氭垚map + List<Map<String, String>> langMapList = JsonUtil.parseObject(rows, ArrayList.class); String langCode = ""; for (Map<String, String> langMap : langMapList) { @@ -844,14 +752,12 @@ } rowValues.add(langCode); } - - // 浼佷笟鐢ㄦ埛 + Map<String, String> clientLangMap = new HashedMap(); setClientV(clientLangMap); rowValues.add(clientLangMap.get(langType)); keyDemography.add(rowValues.toArray()); } - private void setDataReportLangSet(Map<String, String> mapPara, Set<String> langTypeSet) { for (Map.Entry<String, String> entry : mapPara.entrySet()) { List<Map<String, String>> langMapList = JsonUtil.parseObject(entry.getValue(), ArrayList.class); @@ -860,7 +766,6 @@ } } } - private List<DemographyDataReportDto> setLocalDataReportByParamId(TExamReport it) { EntDemographyInfo entDemographyInfoAsParam = new EntDemographyInfo(); entDemographyInfoAsParam.setMemberId(it.getMemberId().longValue()); @@ -876,32 +781,25 @@ } return demographyDataReportDtoList; } - private void setTaiInterfaceContentMap(TExamReport it, DataMap<String, String> dataReportMap, boolean isRight, List<DataMap> reportTaiList) { try { DataMap<String, String> dataReportTaiMap = new DataMap<>(); List<ReportAPIResult> reportAPIResultList = JsonUtil.parseArray(it.getInterfaceContent(), ReportAPIResult.class); DataReport dataReportTai = new DataReport(); - - // 绗竴娈� + set1PartDataReport(dataReportMap, dataReportTaiMap, isRight, reportAPIResultList, dataReportTai); - - // 绗簩娈�,涓嶈鏉冮檺, + setNoRightPart(dataReportMap, dataReportTaiMap, reportAPIResultList, dataReportTai); - - // 绗簩娈�,瑕佹潈闄� + set2PartDataReport(dataReportMap, dataReportTaiMap, isRight, reportAPIResultList, dataReportTai); - - // 瑕佹潈闄�,鏈�鍚庨偅涓�鐐筊eport + setEndPartDataReport(dataReportMap, dataReportTaiMap, reportAPIResultList, dataReportTai, isRight); - - // 娉板浗鍥㈤槦鐨勬暟鎹� + reportTaiList.add(dataReportTaiMap); } catch (Exception e) { logger.error(" id:" + it.getId() + " memberName" + it.getMemberName() + " " + it.getInterfaceContent()); } } - private void setEndPartDataReport(DataMap<String, String> dataReportMap, DataMap<String, String> dataReportTaiMap, List<ReportAPIResult> reportAPIResultList, DataReport dataReportTai, boolean isRight) { if (!isRight) { return; @@ -916,7 +814,6 @@ setDataReportValueMap(dataReportTaiMap, dataReportTai); } } - private void set2PartDataReport(DataMap<String, String> dataReportMap, DataMap<String, String> dataReportTaiMap, boolean isRight, List<ReportAPIResult> reportAPIResultList, DataReport dataReportTai) { if (isRight) { List<String> keepPartOrderList = new ArrayList<>(); @@ -928,7 +825,7 @@ setDataReportValueMap(dataReportMap, dataReportTai); setDataReportValueMap(dataReportTaiMap, dataReportTai); } - // 鐒跺悗棰樼洰 + Map<String, String> answerDataMap = new LinkedHashMap<>(); Map<String, String> answerDataNoOrder = reportAPIResultList.get(1).getAnswerData(); answerDataNoOrder.entrySet().stream().sorted(Map.Entry.comparingByKey()) @@ -941,7 +838,6 @@ } } } - private void setNoRightPart(DataMap<String, String> dataReportMap, DataMap<String, String> dataReportTaiMap, List<ReportAPIResult> reportAPIResultList, DataReport dataReportTai) { List<String> keepPartOrderList = new ArrayList<>(); keepPartOrderList.addAll(Arrays.asList("P_Flex01,P_Creat02,P_Analyt03,P_Indep04,P_Achiev05,P_Initi06,P_Persis07,P_Thorou08,P_Depend09,P_Plan10,P_Integr11,P_Energy12,P_Social13,P_Lead14,P_Influ15,P_Team16,P_Empath17,P_Polite18,P_Regula19,P_ManStr,P_Confid21,P_Mind22,P_SDE23,P_IM24,P_INCON25,P_Open26,P_Consci27,P_Extro28,P_Agree29,P_EmSt30,P_Task31,P_People32,P_Judg33,STDA,DA,SLDA,SLAG,AG,STAG".split(","))); @@ -953,22 +849,20 @@ setDataReportValueMap(dataReportTaiMap, dataReportTai); } } - private void set1PartDataReport(DataMap<String, String> dataReportMap, DataMap<String, String> dataReportTaiMap, boolean isRight, List<ReportAPIResult> reportAPIResultList, DataReport dataReportTai) { if (isRight) { - // 瑕佹潈闄愶紝绗竴娈� + List<String> keepPartOrderList = new ArrayList<>(); keepPartOrderList.addAll(Arrays.asList("P_SDE_T1,P_IM_T1,P_INCON_T1,Signal,INC1T1,INC2T1,INC3T1,INC4T1,INC5T1,INC6T1,INC7T1,INC8T1".split(","))); Map<String, String> taiDataMap = reportAPIResultList.get(0).getData(); taiDataMap.put("Signal", reportAPIResultList.get(0).getSignal()); - // 绗竴娈电殑娉板浗杩斿洖 + for (String keepPartOrder : keepPartOrderList) { dataReportTai.setField(keepPartOrder); dataReportTai.setValue(taiDataMap.get(keepPartOrder)); setDataReportValueMap(dataReportMap, dataReportTai); setDataReportValueMap(dataReportTaiMap, dataReportTai); } - Map<String, String> answerDataMap = new LinkedHashMap<>(); Map<String, String> answerDataNoOrder = reportAPIResultList.get(0).getAnswerData(); answerDataNoOrder.entrySet().stream().sorted( @@ -977,11 +871,10 @@ public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) { int key1 = Integer.valueOf(o1.getKey().substring(3)); int key2 = Integer.valueOf(o2.getKey().substring(3)); - return key1 - key2; // 闄嶅簭鎺掑簭锛屽鏋滄兂鍗囧簭灏卞弽杩囨潵 + return key1 - key2; } } ).forEachOrdered(x -> answerDataMap.put(x.getKey(), x.getValue())); - for (Map.Entry<String, String> entry : answerDataMap.entrySet()) { dataReportTai.setField(entry.getKey()); dataReportTai.setValue(entry.getValue()); @@ -990,52 +883,43 @@ } } } - private void setContentMap(TExamReport it, List<DataReport> dataReportList, DataMap<String, String> dataReportMap, List<DataMap> reportLocalList) { DataMap<String, String> dataReportLocalMap = new DataMap<>(); - // 绯荤粺鍙橀噺 + dataReportMap.put("variableNamesInTheSystem", ""); dataReportList.stream().forEach(dataReport -> { - // 鍒ゆ柇鏉冮檺 + if (StringUtils.isNotEmpty(dataReport.getRight())) { if (StringUtils.equals((UserTypeEnum.SYS_USER.getUserType()), dataReport.getRight())) { setDataReportMap(dataReportMap, dataReport); setDataReportMap(dataReportLocalMap, dataReport); - } } else { setDataReportMap(dataReportMap, dataReport); setDataReportMap(dataReportLocalMap, dataReport); } }); - dataReportMap.put("Client", it.getUserName()); reportLocalList.add(dataReportLocalMap); } - private void setDataReportMap(DataMap<String, String> filed, DataReport dataReport) { filed.put(dataReport.getField(), iExamUtilService.getLangOrLocalLangString(dataReport.getLangType(), dataReport.getValue())); } - private void setDataReportValueMap(DataMap<String, String> filed, DataReport dataReport) { filed.put(dataReport.getField(), dataReport.getValue()); } - - // 绠�鍗曟姤鍛� + @RequiresPermissions("exam:report:basisExport") @PostMapping("/exportBasisReport/{ids}/{langType}") @ResponseBody public AjaxResult exportBasisReport(@PathVariable("ids") String[] ids, @PathVariable("langType") String langType) { List<TExamReport> tExamReportList = tExamReportService.selectTExamReportByIds(ids); - List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(tExamReportList.get(0).getReportTemplateId()); - Map<String, ReportTypeEnum> reportTypeEnumMap = new HashMap<>(); for (com.ots.common.enums.ReportTypeEnum reportTypeEnumTemp : ReportTypeEnum.values()) { reportTypeEnumMap.put(reportTypeEnumTemp.getCode(), reportTypeEnumTemp); } - - // 瀵煎嚭鍩虹鐗堟湰 + String questionTemplateId = tExamReportList.get(0).getQuestionTemplateId(); String templateType = "Brief"; String reportType = ""; @@ -1043,7 +927,7 @@ String fileName = ""; TReportTemplate tReportTemplate = tExamReportService.getReportTemplate(questionTemplateId, langType, templateType); try { - // 澶勭悊鐫块偦 + for (TReportTemplate tReportTemplateTemp : tReportTemplateList) { if (Objects.equals(tReportTemplateTemp.getReportType(), "RuiLin")) { tReportTemplate = tReportTemplateTemp; @@ -1052,7 +936,6 @@ break; } } - reportType = tReportTemplate.getReportType(); path = itReportTemplateService.selectTReportTemplateFilePath(tReportTemplate); if (StringUtils.isEmpty(path)) { @@ -1062,7 +945,6 @@ e.printStackTrace(); return AjaxResult.error(MessageUtils.message("jsp.exam.report.noTemplate")); } - List<String> deleteFileStrList = new ArrayList<>(); List<String> deleteStrList = new ArrayList<>(); List<String> fileNameList = new ArrayList<>(); @@ -1070,8 +952,7 @@ tExamReportService.setExportBaseOrDetailReportData(tExamReportList, deleteStrList, fileNameList, tReportTemplate); return wordUtil.exportBaseOrDetailReport(path, deleteFileStrList, fileNameList); } - - // 璇︾粏鎶ュ憡 + @RequiresPermissions("exam:report:detailReportexport") @PostMapping("/exportDetailedReport/{ids}/{langType}") @ResponseBody @@ -1082,47 +963,39 @@ tExamReport.setId(Long.valueOf(id)); tExamReportList.add(tExamReport); } - - - // 闄勪欢鐨勪綅缃�,鍏蜂綋閭欢闄勪欢鐨勪綅缃� + List<String> fileNameResult = new ArrayList<>(); - // 瑕佸垹闄ょ殑鏂囦欢 + List<String> deleteStrList = new ArrayList<>(); - List<String> exportFileList = new ArrayList<>(); - List<TExamReport> tExamReports = tExamReportService.selectTExamReportByIds(ids); TExamReport tExamReport = tExamReports.get(0); String reportType = getReportType(tExamReport); if (Objects.equals("JAQ", reportType)) { dealJAQReport(deleteStrList, exportFileList, tExamReports); } else { - // MAQ,SAQ,CAQ + dealReprotFile(tExamReportList, fileNameResult, deleteStrList, exportFileList, reportType); } - WordUtil wordUtil = new WordUtil(); return wordUtil.exportBaseOrDetailReport("DataReport", deleteStrList, exportFileList); } - - // jaq鎶ュ憡 dealJAQReport + private void dealJAQReport(List<String> deleteStrList, List<String> exportFileList, List<TExamReport> tExamReports) throws IOException { TExamReport tExamReport = tExamReports.get(0); ReportAPIResult reportAPIResult = getThaiJAQData(tExamReports); - // 娉板浗鏁版嵁 + Map<String, String> thaiData = reportAPIResult.getData(); - - // 鐢熸垚JAQ鎶ュ憡 + List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(tExamReport.getReportTemplateId()); Map<String, Object> textMap = new HashMap<>(); - - // 鏋勯�犺〃 + textMap.putAll(thaiData); WordUtil wordUtil = new WordUtil(); textMap.put("sendEmailFileName", "JAQ"); RelatedParty relatedParty = memberService.queryProdidByToken(tExamReport.getTokenId()); for (TReportTemplate tReportTemplate : tReportTemplateList) { - // 瀵圭涓�寮犺〃鐨勬枃瀛楄繘琛岀炕璇� + Map<String, String> jaqMap = getJaqQuestionByPermanentIdMap(tReportTemplate, tExamReport); changTable1(textMap, tReportTemplate, thaiData); changTable2(textMap, tReportTemplate, thaiData); @@ -1135,14 +1008,12 @@ textMap.put("superiorPosition", relatedParty.getSuperiorPosition()); String zipFileName = wordUtil.makeReportFile(tReportTemplate.getLocation(), tReportTemplate, textMap, null, deleteStrList); exportFileList.add(zipFileName); - - // 鍒犻櫎瑕佸垹鐨� + wordUtil.deleteFileByStr(deleteStrList); } } - private void changTable4(Map<String, Object> textMap, TReportTemplate tReportTemplate, Map<String, String> jaqMap, Map<String, String> thaiData) { - // 鏇挎崲鍊� + for (Integer i = 1; i <= 3; i++) { textMap.put("T4com1item" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), jaqMap.get(thaiData.get("T4com1item" + i.toString())))); textMap.put("T4com2item" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), jaqMap.get(thaiData.get("T4com2item" + i.toString())))); @@ -1153,32 +1024,25 @@ textMap.put("T4com7item" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), jaqMap.get(thaiData.get("T4com7item" + i.toString())))); textMap.put("T4com8item" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), jaqMap.get(thaiData.get("T4com8item" + i.toString())))); } - Map<String, String> tagMap = getTranslationCapability(); - - // 鏇挎崲鍊� + for (Integer i = 1; i <= 12; i++) { textMap.put("T4com" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), tagMap.get(thaiData.get("T4com" + i.toString())))); } } - private void changTable3(Map<String, Object> textMap, TReportTemplate tReportTemplate, Map<String, String> jaqMap, Map<String, String> thaiData) { - - // 鏇挎崲鍊� + for (Integer i = 1; i <= 25; i++) { textMap.put("T3item" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), jaqMap.get(thaiData.get("T3item" + i.toString())))); } - WordUtil.changeJAQStyle(textMap, 2, 25, "T3Line"); - - // 鑳滀换鍔涢偅涓�鍒楁浛鎹� + Map<String, String> tagMap = getTranslationCapability(); - // 鏇挎崲鍊� + for (Integer i = 1; i <= 25; i++) { textMap.put("T3com" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), tagMap.get(thaiData.get("T3com" + i.toString())))); } } - @NotNull private Map<String, String> getJaqQuestionByPermanentIdMap(TReportTemplate tReportTemplate, TExamReport tExamReport) { List<QuestionReport> questionReports = JsonUtil.toJsonListObject(tExamReport.getQuestionReport(), QuestionReport.class); @@ -1186,27 +1050,22 @@ for (QuestionReport questionReport : questionReports) { jaqMap.put(questionReport.getPermanentId(), questionReport.getQuestionTitle()); } - - // 鍙栫壒瀹氱殑閭g璇█鐢熸垚鎶ュ憡 + List<TQuestion> tQuestions = itQuestionService.selectTQuestionByPermanentIds(new ArrayList<>(jaqMap.keySet())); - for (TQuestion tQuestion : tQuestions) { QuestionObject questionObject = JsonUtil.parseObject(tQuestion.getContent(), QuestionObject.class); jaqMap.put(tQuestion.getPermanentId(), ExamUtil.getLangString(tReportTemplate.getLangType(), questionObject.getTitleContent())); } return jaqMap; } - private void changTable1(Map<String, Object> textMap, TReportTemplate tReportTemplate, Map<String, String> thaiData) { Map<String, String> tagMap = getTranslationCapability(); - - // 鏇挎崲鍊� + for (Integer i = 1; i <= 12; i++) { String textValue = thaiData.get("T1com" + i.toString()); textMap.put("T1com" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), tagMap.get(textValue))); } } - private Map<String, String> getTranslationCapability() { ExcelReader reader = cn.hutool.poi.excel.ExcelUtil.getReader(FileUtil.file(EssConfig.getReportTemplates() + "JAQTable1Tag.xlsx")); List<List<Object>> readList = reader.read(); @@ -1221,37 +1080,30 @@ } return tagMap; } - private void changTable2(Map<String, Object> textMap, TReportTemplate tReportTemplate, Map<String, String> thaiData) { Map<String, String> tagMap = getTranslationCapability(); - - //JAQ涓婇鑹� + WordUtil.changeJAQStyle(textMap, 1, 12, "T2Line"); - - // 鏇挎崲鍊� + for (Integer i = 1; i <= 12; i++) { textMap.put("T2com" + i.toString(), ExamUtil.getLangString(tReportTemplate.getLangType(), tagMap.get(thaiData.get("T2com" + i.toString())))); } } - private ReportAPIResult getThaiJAQData(List<TExamReport> tExamReports) { List<JAQPersons> persons = new ArrayList<>(); Integer personCout = 0; for (TExamReport tExamReport : tExamReports) { - // 浜虹殑淇℃伅 + Map<String, String> personInfo = new LinkedHashMap<>(); personInfo.put("accessCode", tExamReport.getTokenId()); personInfo.put("fullName", tExamReport.getMemberName()); - // 绛旈鐨勪汉 + JAQPersons person = new JAQPersons(); person.setPersonInfo(personInfo); - - // 绛旈鐨勯�夐」 + Map<String, String> personPoints = new LinkedHashMap<>(); person.setPersonPoints(personPoints); - - // 閫犳暟鎹�,璁板緱灞忚斀锛岄�爅aq鏁版嵁 -// makeJAQData(personPoints); + List<QuestionReport> questionReportList = JsonUtil.parseArray(tExamReport.getQuestionReport(), QuestionReport.class); for (QuestionReport questionReport : questionReportList) { @@ -1263,7 +1115,6 @@ persons.add(person); personCout++; } - Map<String, List<JAQPersons>> data = new LinkedHashMap<>(); data.put("persons", persons); HolderInfo info = new HolderInfo(); @@ -1283,7 +1134,6 @@ reportAPIResult.setAnswerData(data); return reportAPIResult; } - private void makeJAQData(Map<String, String> personPoints) { String topics = "JAQ0001a,JAQ0001b,JAQ0002a,JAQ0002b,JAQ0003a,JAQ0003b,JAQ0004a,JAQ0004b,JAQ0005a,JAQ0005b,JAQ0006a,JAQ0006b,JAQ0007a,JAQ0007b,JAQ0008a,JAQ0008b,JAQ0009a,JAQ0009b,JAQ0010a,JAQ0010b,JAQ0011a,JAQ0011b,JAQ0012a,JAQ0012b,JAQ0013a,JAQ0013b,JAQ0014a,JAQ0014b,JAQ0015a,JAQ0015b,JAQ0016a,JAQ0016b,JAQ0017a,JAQ0017b,JAQ0018a,JAQ0018b,JAQ0019a,JAQ0019b,JAQ0020a,JAQ0020b,JAQ0021a,JAQ0021b,JAQ0022a,JAQ0022b,JAQ0023a,JAQ0023b,JAQ0024a,JAQ0024b,JAQ0025a,JAQ0025b,JAQ0026a,JAQ0026b,JAQ0027a,JAQ0027b,JAQ0028a,JAQ0028b,JAQ0029a,JAQ0029b,JAQ0030a,JAQ0030b,JAQ0031a,JAQ0031b,JAQ0032a,JAQ0032b,JAQ0033a,JAQ0033b,JAQ0034a,JAQ0034b,JAQ0035a,JAQ0035b,JAQ0036a,JAQ0036b,JAQ0037a,JAQ0037b,JAQ0038a,JAQ0038b,JAQ0039a,JAQ0039b,JAQ0040a,JAQ0040b,JAQ0041a,JAQ0041b,JAQ0042a,JAQ0042b,JAQ0043a,JAQ0043b,JAQ0044a,JAQ0044b,JAQ0045a,JAQ0045b,JAQ0046a,JAQ0046b,JAQ0047a,JAQ0047b,JAQ0048a,JAQ0048b,JAQ0049a,JAQ0049b,JAQ0050a,JAQ0050b,JAQ0051a,JAQ0051b,JAQ0052a,JAQ0052b,JAQ0053a,JAQ0053b,JAQ0054a,JAQ0054b,JAQ0055a,JAQ0055b,JAQ0056a,JAQ0056b,JAQ0057a,JAQ0057b,JAQ0058a,JAQ0058b,JAQ0059a,JAQ0059b,JAQ0060a,JAQ0060b,JAQ0061a,JAQ0061b,JAQ0062a,JAQ0062b,JAQ0063a,JAQ0063b,JAQ0064a,JAQ0064b,JAQ0065a,JAQ0065b,JAQ0066a,JAQ0066b,JAQ0067a,JAQ0067b,JAQ0068a,JAQ0068b,JAQ0069a,JAQ0069b,JAQ0070a,JAQ0070b,JAQ0071a,JAQ0071b,JAQ0072a,JAQ0072b,JAQ0073a,JAQ0073b,JAQ0074a,JAQ0074b,JAQ0075a,JAQ0075b,JAQ0076a,JAQ0076b,JAQ0077a,JAQ0077b,JAQ0078a,JAQ0078b,JAQ0079a,JAQ0079b,JAQ0080a,JAQ0080b,JAQ0081a,JAQ0081b,JAQ0082a,JAQ0082b,JAQ0083a,JAQ0083b,JAQ0084a,JAQ0084b,JAQ0085a,JAQ0085b,JAQ0086a,JAQ0086b,JAQ0087a,JAQ0087b,JAQ0088a,JAQ0088b,JAQ0089a,JAQ0089b,JAQ0090a,JAQ0090b,JAQ0091a,JAQ0091b,JAQ0092a,JAQ0092b,JAQ0093a,JAQ0093b,JAQ0094a,JAQ0094b,JAQ0095a,JAQ0095b,JAQ0096a,JAQ0096b,JAQ0097a,JAQ0097b,JAQ0098a,JAQ0098b,JAQ0099a,JAQ0099b,JAQ0100a,JAQ0100b,JAQ0101a,JAQ0101b,JAQ0102a,JAQ0102b,JAQ0103a,JAQ0103b,JAQ0104a,JAQ0104b,JAQ0105a,JAQ0105b,JAQ0106a,JAQ0106b,JAQ0107a,JAQ0107b,JAQ0108a,JAQ0108b,JAQ0109a,JAQ0109b,JAQ0110a,JAQ0110b,JAQ0111a,JAQ0111b,JAQ0112a,JAQ0112b,JAQ0113a,JAQ0113b,JAQ0114a,JAQ0114b,JAQ0115a,JAQ0115b,JAQ0116a,JAQ0116b,JAQ0117a,JAQ0117b,JAQ0118a,JAQ0118b,JAQ0119a,JAQ0119b,JAQ0120a,JAQ0120b,JAQ0121a,JAQ0121b,JAQ0122a,JAQ0122b,JAQ0123a,JAQ0123b,JAQ0124a,JAQ0124b,JAQ0125a,JAQ0125b,JAQ0126a,JAQ0126b,JAQ0127a,JAQ0127b,JAQ0128a,JAQ0128b,JAQ0129a,JAQ0129b,JAQ0130a,JAQ0130b,JAQ0131a,JAQ0131b,JAQ0132a,JAQ0132b,JAQ0133a,JAQ0133b,JAQ0134a,JAQ0134b,JAQ0135a,JAQ0135b"; String[] split = topics.split(","); @@ -1291,17 +1141,14 @@ personPoints.put(item, "2"); }); } - private void dealReprotFile(List<TExamReport> tExamReportList, List<String> fileNameResult, List<String> deleteStrList, List<String> exportFileList, String reportType) { for (TExamReport tExamReport : tExamReportList) { fileNameResult.clear(); - // 閲嶆柊璋冪敤娉板浗鍥㈤槦鐨勬帴鍙o紝閲岄潰浼氭洿鏂版暟鎹簱 + TExamReport tExamReportComplete = tExamReportService.selectTExamReportById(tExamReport.getId()); itExamPaperService.recallThaiInterface(tExamReportComplete, reportType); - - // 寮�濮嬬敓鎴愭姤鍛� + TExamReport tExamReportResult = tExamReportService.getReportFromTemplate(tExamReport, fileNameResult, deleteStrList); - if (tExamReportResult == null) { continue; } @@ -1309,41 +1156,31 @@ String[] exportFiles = exportFile.split("/"); exportFileList.add(exportFiles[exportFiles.length - 1]); } - - // 鏇存柊鍘嗗彶鍦板潃 + updateHisReportAddress(fileNameResult, deleteStrList, tExamReportResult); } } - private void updateHisReportAddress(List<String> fileNameResult, List<String> deleteStrList, TExamReport tExamReportResult) { - // 涓嬭浇鍘嗗彶鏂囦欢 + if (StringUtils.isEmpty(tExamReportResult.getReportAddress())) { return; } - TExamReport tExamReportUpdate = new TExamReport(); tExamReportUpdate.setId(tExamReportResult.getId()); tExamReportUpdate.setReportAddress(JsonUtil.toJSONString(fileNameResult)); tExamReportUpdate.setReportAddressNew(JsonUtil.toJSONString(fileNameResult)); tExamReportService.updateTExamReport(tExamReportUpdate); } - private Map<String, Map<String, String>> getDataFromExcel() { ExcelUtil<String> excelUtil = new ExcelUtil<>(String.class); return excelUtil.getMAQFromExcel(); } - - /** - * 鏂板璇勬祴鎶ュ憡 - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨璇勬祴鎶ュ憡 - */ + @RequiresPermissions("exam:report:add") @Log(title = "璇勬祴鎶ュ憡", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -1351,20 +1188,14 @@ public AjaxResult addSave(TExamReport tExamReport) { return toAjax(tExamReportService.insertTExamReport(tExamReport)); } - - /** - * 淇敼璇勬祴鎶ュ憡 - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { TExamReport tExamReport = tExamReportService.selectTExamReportById(id); mmap.put("tExamReport", tExamReport); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨璇勬祴鎶ュ憡 - */ + @RequiresPermissions("exam:report:edit") @Log(title = "璇勬祴鎶ュ憡", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -1372,10 +1203,7 @@ public AjaxResult editSave(TExamReport tExamReport) { return toAjax(tExamReportService.updateTExamReport(tExamReport)); } - - /** - * 鍒犻櫎璇勬祴鎶ュ憡 - */ + @RequiresPermissions("exam:report:remove") @Log(title = "璇勬祴鎶ュ憡", businessType = BusinessType.DELETE) @PostMapping("/remove") @@ -1383,10 +1211,7 @@ public AjaxResult remove(String ids) { return toAjax(tExamReportService.deleteTExamReportByIds(ids)); } - - /** - * 瀹℃壒鐘舵�佷慨鏀� - */ + @Log(title = "浼佷笟鐢ㄦ埛瀹℃壒", businessType = BusinessType.UPDATE) @RequiresPermissions("exam:report:edit") @PostMapping("/changeStatus") @@ -1394,10 +1219,7 @@ public AjaxResult changeStatus(TExamReport tExamReport) { return toAjax(tExamReportService.changeStatus(tExamReport)); } - - /** - * 鎵归噺鏇存柊瀹℃壒鐘舵�� - */ + @RequiresPermissions("exam:report:edit") @Log(title = "鎵归噺鏇存柊瀹℃壒鐘舵��", businessType = BusinessType.DELETE) @PostMapping("/batchVerify") @@ -1405,14 +1227,13 @@ public AjaxResult batchVerify(String ids) { return toAjax(tExamReportService.updateTexamReportByIds(ids, "1")); } - @GetMapping("/langType/{userIds}/{productId}") public String getLangType(@PathVariable("userIds") Long[] userIds, @PathVariable("productId") Long productId, ModelMap mmap) { List<DictData> dictDataList = tExamReportService.getType(userIds[0]); try { TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(productId); List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(tExamPaper.getReportTemplateId()); - // 鐫块偦鐨勫彧鏈変腑鏂� + for (TReportTemplate tReportTemplate : tReportTemplateList) { if ("RuiLin".equals(tReportTemplate.getReportType())) { for (DictData dictData : dictDataList) { @@ -1426,39 +1247,31 @@ } } } catch (Exception e) { - } - mmap.put("dictDatas", dictDataList); return prefix + "/report::langTypeDiv"; } - @PostMapping("/testerReport/{memberId}") @ResponseBody public AjaxResult getTesterReport(@PathVariable Integer memberId) { TExamReport tExamReport = new TExamReport(); tExamReport.setMemberId(memberId); - // 闄勪欢鐨勪綅缃�,鍏蜂綋閭欢闄勪欢鐨勪綅缃� + List<String> fileNameResult = new ArrayList<>(); - // 瑕佸垹闄ょ殑鏂囦欢 + List<String> deleteStrList = new ArrayList<>(); - WordUtil wordUtil = new WordUtil(); - TExamReport tExamReportResult = tExamReportService.getReportFromTemplate(tExamReport, fileNameResult, deleteStrList); if (tExamReportResult == null) { return AjaxResult.success("绛旈鏈畬鎴愶紒"); } - List<String> exportFileList = new ArrayList<>(); for (String exportFile : fileNameResult) { String[] exportFiles = exportFile.split("/"); exportFileList.add(exportFiles[exportFiles.length - 1]); } - return wordUtil.exportBaseOrDetailReport(tExamReportResult.getMemberName(), deleteStrList, exportFileList); } - @PostMapping("/exportSendedReport/{ids}") @ResponseBody public AjaxResult getTesterReport(@PathVariable String[] ids) { @@ -1473,7 +1286,6 @@ fileNameList.add(addresses[addresses.length - 1]); } } - return wordUtil.exportZipKeepFiles(MessageUtils.message("jsp.exam.report.sendedReport"), new ArrayList<>(), fileNameList); } catch (FileNotFoundException e) { e.printStackTrace(); @@ -1482,10 +1294,7 @@ } return AjaxResult.error(MessageUtils.message("jsp.exam.report.noHisReport")); } - - /** - * 鏌ヨ璇勬祴閭�璇峰彂閫佷换鍔″垪琛� - */ + @RequiresPermissions("exam:hrEmailReport:view") @PostMapping("/hrSendlogList") @ResponseBody @@ -1493,13 +1302,12 @@ startPage(); tExamReport.setFinish(1); tExamReport.setSendHrStatusList(Arrays.asList(1, 3)); - User sysUser = ShiroUtils.getSysUser(); String userType = sysUser.getUserType(); if (UserTypeEnum.ENT_USER.getUserType().equals(userType)) { tExamReport.setUserId(sysUser.getUserId()); } - //鍒嗛攢鍟嗗彲浠ョ湅鍒板垎閿�鍟嗕笅鐨勪紒涓氫俊鎭� + if (UserTypeEnum.DIS_USER.getUserType().equals(userType)) { SysUserExtend sysUserExtend = new SysUserExtend(); sysUserExtend.setParentUserId(sysUser.getUserId()); @@ -1511,14 +1319,12 @@ List<TExamReport> list = tExamReportService.selectTExamReportList(tExamReport); return getDataTable(list); } - @RequiresPermissions("exam:hrEmailReport:view") @GetMapping("/hrSendlog/{testId}") public String hrSendlog(@PathVariable Long testId,ModelMap mmap) { mmap.put("testId",testId); return "exam/hrSendlog/hrSendlog"; } - @RequiresPermissions("exam:hremail:reissue") @GetMapping("/sendEmail/{id}") @ResponseBody diff --git a/src/main/java/com/ots/project/exam/controller/TLibraryCodeController.java b/src/main/java/com/ots/project/exam/controller/TLibraryCodeController.java index 9cd2c97..83ba114 100644 --- a/src/main/java/com/ots/project/exam/controller/TLibraryCodeController.java +++ b/src/main/java/com/ots/project/exam/controller/TLibraryCodeController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.utils.file.FileUploadUtils; import com.ots.common.utils.poi.ExcelUtil; import com.ots.framework.aspectj.lang.annotation.Log; @@ -23,43 +22,31 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; - import java.io.IOException; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; -/** - * 鎶ュ憡瀛楀吀Controller - * - * @author ots - * @date 2020-03-24 - */ @Controller @Slf4j @RequestMapping("/exam/librarycode") public class TLibraryCodeController extends BaseController { private String prefix = "exam/librarycode"; - @Autowired private ITLibraryCodeService tLibraryCodeService; - @RequiresPermissions("exam:librarycode:view") @GetMapping() public String librarycode() { return prefix + "/librarycode"; } - - /** - * 鏌ヨ鎶ュ憡瀛楀吀鍒楄〃 - */ + @RequiresPermissions("exam:librarycode:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(TLibraryCode tLibraryCode) { startPage(); List<TLibraryCode> list = tLibraryCodeService.selectTLibraryCodeList(tLibraryCode); - // 灞曠ず鍥剧墖 + for (TLibraryCode tLibraryCodeTemp : list) { if (StringUtils.isNotEmpty(tLibraryCodeTemp.getIcon())) { tLibraryCodeTemp.setIcon(EssConfig.getHttpProfilePath() +"/upload" + tLibraryCodeTemp.getIcon()); @@ -67,10 +54,7 @@ } return getDataTable(list); } - - /** - * 瀵煎嚭鎶ュ憡瀛楀吀鍒楄〃 - */ + @RequiresPermissions("exam:librarycode:export") @PostMapping("/export") @ResponseBody @@ -79,18 +63,12 @@ ExcelUtil<TLibraryCode> util = new ExcelUtil<TLibraryCode>(TLibraryCode.class); return util.exportExcel(list, "librarycode"); } - - /** - * 鏂板鎶ュ憡瀛楀吀 - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨鎶ュ憡瀛楀吀 - */ + @RequiresPermissions("exam:librarycode:add") @Log(title = "鎶ュ憡瀛楀吀", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -104,10 +82,7 @@ CacheServiceFactory.getInstance().reLoad(); return result; } - - /** - * 淇敼鎶ュ憡瀛楀吀 - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { TLibraryCode tLibraryCode = tLibraryCodeService.selectTLibraryCodeById(id); @@ -115,10 +90,7 @@ mmap.put("tLibraryCode", tLibraryCode); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨鎶ュ憡瀛楀吀 - */ + @RequiresPermissions("exam:librarycode:edit") @Log(title = "鎶ュ憡瀛楀吀", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -128,15 +100,11 @@ String ufi = FileUploadUtils.upload(EssConfig.getUploadPath(), tLibraryCode.getIconFile()); tLibraryCode.setIcon(ufi.split("profile/upload")[1]); } - AjaxResult result = toAjax(tLibraryCodeService.updateTLibraryCode(tLibraryCode)); CacheServiceFactory.getInstance().reLoad(); return result; } - - /** - * 鍒犻櫎鎶ュ憡瀛楀吀 - */ + @RequiresPermissions("exam:librarycode:remove") @Log(title = "鎶ュ憡瀛楀吀", businessType = BusinessType.DELETE) @PostMapping("/remove") @@ -144,7 +112,6 @@ public AjaxResult remove(String ids) { return toAjax(tLibraryCodeService.deleteTLibraryCodeByIds(ids)); } - @Log(title = "鎶ュ憡瀛楀吀瀵煎叆", businessType = BusinessType.IMPORT) @RequiresPermissions("exam:librarycode:import") @PostMapping("/importData") @@ -167,18 +134,16 @@ List<TLibraryCode> list = libraryCodes.stream().filter(item -> { return StringUtils.isNotBlank(item.getLibraryCode()); }).collect(Collectors.toList()); - String message = tLibraryCodeService.importLibraryCodes(list, updateSupport); CacheServiceFactory.getInstance().reLoad(); return AjaxResult.success(message); } - @RequiresPermissions("exam:librarycode:import") @GetMapping("/importTemplate") @ResponseBody public AjaxResult importTemplate() { ExcelUtil<TLibraryCode> util = new ExcelUtil<>(TLibraryCode.class); - AjaxResult result = util.importTemplateExcel("鎶ュ憡瀛楀吀鏁版嵁"); + AjaxResult result = util.importTemplateExcel("鎶ュ憡瀛楀吀鍐呭(Report Library Entries)"); CacheServiceFactory.getInstance().reLoad(); return result; } diff --git a/src/main/java/com/ots/project/exam/controller/TQuestionController.java b/src/main/java/com/ots/project/exam/controller/TQuestionController.java index e0f66aa..871d918 100644 --- a/src/main/java/com/ots/project/exam/controller/TQuestionController.java +++ b/src/main/java/com/ots/project/exam/controller/TQuestionController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.alibaba.fastjson.JSONObject; import com.ots.common.utils.MessageUtils; import com.ots.common.utils.StringUtils; @@ -34,53 +33,35 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; - import static com.ots.common.enums.ExamPaperQuestion.permanentIdDuplicate; -/** - * 棰樼洰鍒楄〃Controller - * - * @author Shawn - * @date 2019-11-20 - */ @Controller @RequestMapping("/exam/question") public class TQuestionController extends BaseController { private static final Logger log = LoggerFactory.getLogger(TQuestionController.class); private String prefix = "exam/question"; - @Autowired private ITQuestionService tQuestionService; - @Autowired private ITSubjectService subjectService; - @Autowired private ITExamLevelService itExamLevelService; - @Autowired private IDictDataService dictDataService; - @Autowired private DictService dictService; - - @RequiresPermissions("exam:question:view") @GetMapping() public String question() { return prefix + "/question"; } - - /** - * 鏌ヨ棰樼洰鍒楄〃鍒楄〃 - */ + @RequiresPermissions("exam:question:list") @PostMapping("/list") @ResponseBody @@ -89,11 +70,7 @@ List<TQuestion> list = tQuestionService.selectTQuestionList(tQuestion); return getDataTable(list); } - - - /** - * 涓撻棬涓簆roduct鐨刟dd_question.html 椤甸潰鎻愪緵鏌ヨ - */ + @RequiresPermissions("exam:question:list") @PostMapping("/listForProductAddQuestion") @ResponseBody @@ -105,30 +82,20 @@ List<TQuestion> list = tQuestionService.selectTQuestionsForProductAddQuestion(tQuestion); return getDataTable(list); } - - /** - * 鏂板棰樼洰鍒楄〃 - * 鍙傛暟 id鏄� t_subject 琛ㄧ殑id - */ + @GetMapping("/add/{id}") public String add(@PathVariable("id") Long id, ModelMap mmap) { - // 杩欏彞浠g爜涓轰簡鎻愮ず浼犺繃鏉ョ殑id鏄痩evelid - /* - * 鍘绘帀棰樼洰缁村害t_subject鍚庡彧鏌ヨt_exam_level 琛紝寰楀埌瀛楀吀閲岄潰鐨�3绫婚棶鍗锋ā鏉匡紝鍒嗗埆璺宠浆鍒�3涓笉鍚岀殑妯℃澘椤甸潰锛屽垎鍒槸 - * add-job.html,add-personality.html,add-intelligence.html - */ - // 杩欏彞浠g爜涓轰簡鎻愮ず浼犺繃鏉ョ殑id鏄痩evelId + + + Long levelId = id; TExamLevel tExamLevel = itExamLevelService.selectTExamLevelById(levelId); - // 璇█閫夐」鏄剧ず褰撳墠鍥介檯鍖栫殑閭g + mmap.put("tExamLevel", tExamLevel); mmap.put("langType", dictService.getLangType(LocaleContextHolder.getLocale().toString())); return prefix + "/add-" + tExamLevel.getQuestionTemplateId(); } - - /** - * 鏂板淇濆瓨棰樼洰鍒楄〃 - */ + @RequiresPermissions("exam:question:add") @Log(title = "棰樼洰鍒楄〃", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -140,10 +107,7 @@ } return toAjax(resultNum); } - - /** - * 淇敼棰樼洰鍒楄〃 - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { TQuestion tQuestion = tQuestionService.selectTQuestionById(id); @@ -153,45 +117,35 @@ tQuestion.setLangName(lanTypeMap.get(tQuestion.getLangType())); return prefix + "/edit-" + tExamLevel.getQuestionTemplateId(); } - private TExamLevel getEditQuestion(ModelMap mmap, TQuestion tQuestion) { QuestionObject questionObject = JSONObject.parseObject(tQuestion.getContent(), QuestionObject.class); - if (ExamUtil.isListNotEmpty(questionObject.getQuestionItemObjects())) { setChioceAndSelectInput(tQuestion, questionObject); } - tQuestion.setAnalyze(questionObject.getAnalyze()); - // 澶氳瑷�鐗堟湰 + Map<String, String> titleMap = JsonUtil.toJsonObject(questionObject.getTitleContent(), HashMap.class); tQuestion.setTitle(titleMap.get(tQuestion.getLangType())); - TExamLevel tExamLevel = itExamLevelService.selectTExamLevelById(tQuestion.getLevelId()); mmap.put("tExamLevel", tExamLevel); mmap.put("tQuestion", tQuestion); return tExamLevel; } - private void setChioceAndSelectInput(TQuestion tQuestion, QuestionObject questionObject) { - //閫夐」鐨勭涓�涓緭鍏ユ鐨勫唴瀹� + List<String> choiceInputList = questionObject.getQuestionItemObjects().stream().map(i -> { return i.getPrefix(); }).collect(Collectors.toList()); - - //閫夐」鐨勭浜屼釜杈撳叆妗嗙殑鍐呭 + List<String> selectInput = questionObject.getQuestionItemObjects().stream().map(i -> { - // 澶氳瑷�鐗堟湰灞曠ず + Map<String, String> content = JsonUtil.toJsonObject(i.getContent(), HashMap.class); return content.get(tQuestion.getLangType()); }).collect(Collectors.toList()); - tQuestion.setChoiceInput(choiceInputList); tQuestion.setSelectInput(selectInput); } - - /** - * 淇敼淇濆瓨棰樼洰鍒楄〃 - */ + @RequiresPermissions("exam:question:edit") @Log(title = "棰樼洰鍒楄〃", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -199,10 +153,7 @@ public AjaxResult editSave(TQuestion tQuestion) { return toAjax(tQuestionService.updateTQuestion(tQuestion)); } - - /** - * 鍒犻櫎棰樼洰鍒楄〃 - */ + @RequiresPermissions("exam:question:remove") @Log(title = "棰樼洰鍒楄〃", businessType = BusinessType.DELETE) @PostMapping("/remove") @@ -210,10 +161,7 @@ public AjaxResult remove(String ids) { return toAjax(tQuestionService.deleteTQuestionByIds(ids)); } - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("enterprise:question:import") @PostMapping("/importData") @ResponseBody @@ -226,11 +174,7 @@ String message = tQuestionService.insertImportQuestion(excelList); return AjaxResult.success(message); } - - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟妯℃澘涓嬭浇 - */ + @RequiresPermissions("enterprise:question:view") @GetMapping("/importTemplate") @ResponseBody @@ -238,18 +182,16 @@ ExcelUtil<QuestionJobImport> util = new ExcelUtil<QuestionJobImport>(QuestionJobImport.class); return util.importTemplateExcel("棰樼洰妯$増"); } - @GetMapping("/addLang/{uuid}") public String addLang(@PathVariable("uuid") Long uuid, ModelMap mmap) { - // 澶氳瑷�鐨勬椂鍊檜uid灏辨槸id + TQuestion tQuestion = tQuestionService.selectTQuestionById(uuid); tQuestion.setUuid(uuid); TExamLevel tExamLevel = getEditQuestion(mmap, tQuestion); - - // 璋冪敤鐨勬槸淇敼椤甸潰杩涜淇敼锛屾墍浠ヤ笉闇�瑕佸~鍐欎富瑕佺殑閫夐」 + tQuestion.setTitle(""); List<String> selectInputList = tQuestion.getSelectInput(); - // job宸ヤ綔鍒嗘瀽闂嵎娌℃湁input + if (ExamUtil.isListNotEmpty(selectInputList)) { List<String> selectInputs = new ArrayList<>(); for (String selectInput : selectInputList) { @@ -259,15 +201,12 @@ } return prefix + "/edit-" + tExamLevel.getQuestionTemplateId(); } - - /** - * 鏍规嵁璇█淇敼棰樼洰, 椤甸潰涓婄殑鏂板璇█璋冪敤 - */ + @GetMapping("/editLang/{uuid}/{langType}") public String editLang(@PathVariable("uuid") Long uuid, @PathVariable("langType") String langType,ModelMap mmap) { - // 澶氳瑷�鐨勬椂鍊檜uid灏辨槸id + TQuestion tQuestion = tQuestionService.selectTQuestionById(uuid); - // 澶氳瑷�鐗堟湰 + tQuestion.setUuid(uuid); tQuestion.setLangType(langType); TExamLevel tExamLevel = getEditQuestion(mmap, tQuestion); @@ -276,11 +215,10 @@ tQuestion.setLangName(lanTypeMap.get(langType)); return prefix + "/edit-" + tExamLevel.getQuestionTemplateId(); } - @GetMapping("/deleteLang/{uuid}/{langType}") @ResponseBody public AjaxResult deleteLang(@PathVariable("uuid") Long uuid, @PathVariable("langType") String langType) { - // 澶氳瑷�鐨勬椂鍊檜uid灏辨槸id + TQuestion tQuestion = tQuestionService.selectTQuestionById(uuid); tQuestion.setLangType(langType); return toAjax(tQuestionService.deleteQuestionContent(tQuestion)); diff --git a/src/main/java/com/ots/project/exam/controller/TReportTemplateController.java b/src/main/java/com/ots/project/exam/controller/TReportTemplateController.java index 7085583..bd6dca2 100644 --- a/src/main/java/com/ots/project/exam/controller/TReportTemplateController.java +++ b/src/main/java/com/ots/project/exam/controller/TReportTemplateController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.utils.poi.ExcelUtil; import com.ots.framework.aspectj.lang.annotation.Log; import com.ots.framework.aspectj.lang.enums.BusinessType; @@ -13,33 +12,21 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; - import java.util.List; import java.util.Objects; -/** - * 鎶ュ憡妯℃澘閰嶇疆Controller - * - * @author ots - * @date 2020-03-24 - */ @Controller @RequestMapping("/exam/template") public class TReportTemplateController extends BaseController { private String prefix = "exam/template"; - @Autowired private ITReportTemplateService tReportTemplateService; - @RequiresPermissions("exam:template:view") @GetMapping() public String template() { return prefix + "/template"; } - - /** - * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆鍒楄〃 - */ + @RequiresPermissions("exam:template:list") @PostMapping("/list") @ResponseBody @@ -48,10 +35,7 @@ List<TReportTemplate> list = tReportTemplateService.selectTReportTemplateList(tReportTemplate); return getDataTable(list); } - - /** - * 瀵煎嚭鎶ュ憡妯℃澘閰嶇疆鍒楄〃 - */ + @RequiresPermissions("exam:template:export") @PostMapping("/export") @ResponseBody @@ -60,18 +44,12 @@ ExcelUtil<TReportTemplate> util = new ExcelUtil<TReportTemplate>(TReportTemplate.class); return util.exportExcel(list, "template"); } - - /** - * 鏂板鎶ュ憡妯℃澘閰嶇疆 - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨鎶ュ憡妯℃澘閰嶇疆 - */ + @RequiresPermissions("exam:template:add") @Log(title = "鎶ュ憡妯℃澘閰嶇疆", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -83,20 +61,14 @@ } return toAjax(tReportTemplateService.insertTReportTemplate(tReportTemplate)); } - - /** - * 淇敼鎶ュ憡妯℃澘閰嶇疆 - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { TReportTemplate tReportTemplate = tReportTemplateService.selectTReportTemplateById(id); mmap.put("tReportTemplate", tReportTemplate); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨鎶ュ憡妯℃澘閰嶇疆 - */ + @RequiresPermissions("exam:template:edit") @Log(title = "鎶ュ憡妯℃澘閰嶇疆", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -104,10 +76,7 @@ public AjaxResult editSave(TReportTemplate tReportTemplate) { return toAjax(tReportTemplateService.updateTReportTemplate(tReportTemplate)); } - - /** - * 鍒犻櫎鎶ュ憡妯℃澘閰嶇疆 - */ + @RequiresPermissions("exam:template:remove") @Log(title = "鎶ュ憡妯℃澘閰嶇疆", businessType = BusinessType.DELETE) @PostMapping("/remove") diff --git a/src/main/java/com/ots/project/exam/controller/TSubjectController.java b/src/main/java/com/ots/project/exam/controller/TSubjectController.java index 878c023..35434bf 100644 --- a/src/main/java/com/ots/project/exam/controller/TSubjectController.java +++ b/src/main/java/com/ots/project/exam/controller/TSubjectController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.controller; - import com.ots.common.utils.poi.ExcelUtil; import com.ots.framework.aspectj.lang.annotation.Log; import com.ots.framework.aspectj.lang.enums.BusinessType; @@ -13,32 +12,20 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; - import java.util.List; -/** - * 缁村害琛–ontroller - * - * @author ots - * @date 2019-12-09 - */ @Controller @RequestMapping("/exam/subject") public class TSubjectController extends BaseController { private String prefix = "exam/subject"; - @Autowired private ITSubjectService tSubjectService; - @RequiresPermissions("exam:subject:view") @GetMapping() public String subject() { return prefix + "/subject"; } - - /** - * 鏌ヨ缁村害琛ㄥ垪琛� - */ + @RequiresPermissions("exam:subject:list") @PostMapping("/list") @ResponseBody @@ -47,10 +34,7 @@ List<TSubject> list = tSubjectService.selectTSubjectList(tSubject); return getDataTable(list); } - - /** - * 瀵煎嚭缁村害琛ㄥ垪琛� - */ + @RequiresPermissions("exam:subject:export") @PostMapping("/export") @ResponseBody @@ -59,18 +43,12 @@ ExcelUtil<TSubject> util = new ExcelUtil<TSubject>(TSubject.class); return util.exportExcel(list, "subject"); } - - /** - * 鏂板缁村害琛� - */ + @GetMapping("/add") public String add() { return prefix + "/add"; } - - /** - * 鏂板淇濆瓨缁村害琛� - */ + @RequiresPermissions("exam:subject:add") @Log(title = "缁村害琛�", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -78,20 +56,14 @@ public AjaxResult addSave(TSubject tSubject) { return toAjax(tSubjectService.insertTSubject(tSubject)); } - - /** - * 淇敼缁村害琛� - */ + @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { TSubject tSubject = tSubjectService.selectTSubjectById(id); mmap.put("tSubject", tSubject); return prefix + "/edit"; } - - /** - * 淇敼淇濆瓨缁村害琛� - */ + @RequiresPermissions("exam:subject:edit") @Log(title = "缁村害琛�", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -99,10 +71,7 @@ public AjaxResult editSave(TSubject tSubject) { return toAjax(tSubjectService.updateTSubject(tSubject)); } - - /** - * 鍒犻櫎缁村害琛� - */ + @RequiresPermissions("exam:subject:remove") @Log(title = "缁村害琛�", businessType = BusinessType.DELETE) @PostMapping("/remove") diff --git a/src/main/java/com/ots/project/exam/domain/EntDemographyInfo.java b/src/main/java/com/ots/project/exam/domain/EntDemographyInfo.java index aa8e3ff..f99dd21 100644 --- a/src/main/java/com/ots/project/exam/domain/EntDemographyInfo.java +++ b/src/main/java/com/ots/project/exam/domain/EntDemographyInfo.java @@ -1,5 +1,4 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; @@ -7,59 +6,30 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -/** - * 浜哄彛瀛︿俊鎭璞� ent_demography_info - * - * @author ots - * @date 2019-12-15 - */ @Getter @Setter public class EntDemographyInfo extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 淇℃伅缂栫爜 - */ + private Long infoId; - - /** - * 鎵�灞炰紒涓� - */ + @Excel(name = "鎵�灞炰紒涓�") private Long userId; - - /** - * 鐢ㄦ埛缂栫爜 - */ + @Excel(name = "鐢ㄦ埛缂栫爜") private Long memberId; - - /** - * 鍙傛暟缂栫爜 - */ + @Excel(name = "鍙傛暟缂栫爜") private String paramId; - - /** - * 鍙傛暟鍚嶇О - */ + @Excel(name = "鍙傛暟鍚嶇О") private String paramName; - - /** - * 绛旈鐨勮瑷� - */ + private String langType; - - /** - * 鍙傛暟鍊� - */ + @Excel(name = "鍙傛暟鍊�") private String paramValue; - private String langCodes; - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/EntDemographyParam.java b/src/main/java/com/ots/project/exam/domain/EntDemographyParam.java index cf19042..78d1290 100644 --- a/src/main/java/com/ots/project/exam/domain/EntDemographyParam.java +++ b/src/main/java/com/ots/project/exam/domain/EntDemographyParam.java @@ -1,5 +1,4 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; @@ -7,78 +6,39 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -/** - * 浜哄彛瀛﹀彉閲忓畾涔夊璞� ent_demography_param - * - * @author ots - * @date 2019-12-11 - */ @Getter @Setter public class EntDemographyParam extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 鍙橀噺缂栫爜 - */ + private Long paramId; - - /** - * 浜哄彛瀛︾紪鐮� - */ + @Excel(name = "浜哄彛瀛︾紪鐮�") private String paramCode; - - /** - * 浜哄彛瀛︾紪鐮佸璇█ - */ + private String langCodes; - - /** - * 浼佷笟鐢ㄦ埛ID - */ + @Excel(name = "浼佷笟鐢ㄦ埛ID") private Long userId; - @Excel(name = "浼佷笟鐢ㄦ埛ID") private String userName; - - /** - * 鍙橀噺鐘舵�侊紙1姝e父 0鍏抽棴锛� - */ + @Excel(name = "鍙橀噺鐘舵��", readConverterExp = "1=姝e父,0=鍏抽棴") private String paramStatus; - - /** - * 鎺т欢绫诲瀷 - */ + @Excel(name = "鎺т欢绫诲瀷") private String types; - - /** - * 鏄惁蹇呭~锛�1鏄級 - */ + @Excel(name = "蹇呭~") private String isRequired; - - /** - * 瀛楀吀绫诲瀷 - */ + @Excel(name = "瀛楀吀绫诲瀷") private String dicttype; - - /** - * 鎺掑簭 - */ + @Excel(name = "鎺掑簭") private Integer sort; - - /** - * 娴嬭瘯鍖呮槸鍚﹂粯璁ら�夋嫨浜� - */ + private boolean flag = false; - - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/EntOperLog.java b/src/main/java/com/ots/project/exam/domain/EntOperLog.java index 9a48117..a8684db 100644 --- a/src/main/java/com/ots/project/exam/domain/EntOperLog.java +++ b/src/main/java/com/ots/project/exam/domain/EntOperLog.java @@ -1,5 +1,4 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; @@ -7,52 +6,27 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -/** - * 浣跨敤娆℃暟鎿嶄綔璁板綍瀵硅薄 ent_oper_log - * - * @author ots - * @date 2020-01-19 - */ @Getter @Setter public class EntOperLog extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 鏃ュ織缂栫爜 - */ + private Long logId; - - /** - * 浼佷笟鐢ㄦ埛 - */ + @Excel(name = "浼佷笟鐢ㄦ埛") private Long userId; - - /** - * 浼佷笟鐢ㄦ埛 - */ + @Excel(name = "浼佷笟鐢ㄦ埛") private String userName; - - /** - * 浼佷笟鐢ㄦ埛 - */ + @Excel(name = "鍒涘缓鐢ㄦ埛") private String createName; - - /** - * 鍙戠敓娆℃暟 - */ + @Excel(name = "鍙戠敓娆℃暟") private Long testNum; - - /** - * 鎿嶄綔绫诲瀷 - */ + @Excel(name = "鎿嶄綔绫诲瀷") private String opertype; - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/EntTestDetail.java b/src/main/java/com/ots/project/exam/domain/EntTestDetail.java index f0e5ce0..ac42bd6 100644 --- a/src/main/java/com/ots/project/exam/domain/EntTestDetail.java +++ b/src/main/java/com/ots/project/exam/domain/EntTestDetail.java @@ -1,18 +1,10 @@ package com.ots.project.exam.domain; - import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; import lombok.Setter; - import java.util.Comparator; import java.util.Date; -/** - * entTestDetail瀵硅薄 ent_test_detail - * - * @author ots - * @date 2020-03-01 - */ @Getter @Setter public class EntTestDetail extends BaseEntity { diff --git a/src/main/java/com/ots/project/exam/domain/EntTestMember.java b/src/main/java/com/ots/project/exam/domain/EntTestMember.java index 22e8ba1..4beed96 100644 --- a/src/main/java/com/ots/project/exam/domain/EntTestMember.java +++ b/src/main/java/com/ots/project/exam/domain/EntTestMember.java @@ -1,141 +1,69 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import java.util.Date; import java.util.List; -/** - * 娴嬭瘎浜哄憳鍚嶅崟瀵硅薄 ent_test_member - * - * @author ots - * @date 2019-12-15 - */ @Getter @Setter public class EntTestMember extends BaseEntity { private static final long serialVersionUID = 1L; - /** - * 璇勬祴浜哄憳缂栫爜 - */ + private Long memberId; - private String langType; - private String prodName; - - /** - * 鍚嶇О - */ + @Excel(name = "濮撳悕锛團ull Name锛�") private String memberName; - - /** - * 閮ㄩ棬 - */ + @Excel(name = "閮ㄩ棬锛圖epartment锛�") private String memberDept; - - /** - * 閭 - */ + @Excel(name = "閭锛圗mail锛�") private String memberEmail; - - /** - * 鎵嬫満鍙风爜 - */ + @Excel(name = "鎵嬫満鍙风爜锛圕ell Phone锛�") private String memberPhone; - - /** - * 娴嬭瘯鍖呯紪鐮� - */ + private Long testId; - - /** - * 娴嬭瘯code - */ + private String token; - - /** - * 绛旈鏃堕棿 - */ + private Date startTime; - private Date endTime; - - /** - * 鐭俊鐘舵�� - */ + private String smsStatus; - - /** - * 鐭俊鏃堕棿 - */ + private Date smsTime; - - /** - * 閭欢鐘舵�� - */ + private String emailStatus; - - /** - * 閭欢鏃堕棿 - */ + private Date emailTime; - - /** - * 鐘舵�� - */ + private String status; - - + private List<String> statusList; private String firstName; - private String lastName; - private String userName; - private String testName; - private Long userId; - private List<Long> userList; - private Integer sendHrEmail; - - /** - * 鎶ュ憡鍦板潃 - */ + private String reportAddress; - - /** - * 鎶ュ憡缂栫爜 - */ + private Long reportId; - - /** - * HR閭欢鐘舵�� - */ + private String hrEmailStatus; - - /** - * HR閭欢鏃堕棿 - */ + private Date hrEmailTime; - private String queryValue; - private String queryType; - private int showNum; - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/EntTestMemberBackstage.java b/src/main/java/com/ots/project/exam/domain/EntTestMemberBackstage.java index ee045a0..c6a3f2d 100644 --- a/src/main/java/com/ots/project/exam/domain/EntTestMemberBackstage.java +++ b/src/main/java/com/ots/project/exam/domain/EntTestMemberBackstage.java @@ -1,90 +1,64 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import com.ots.framework.web.domain.BaseEntity; import java.util.Date; -/** - * EntTestMemberBackstage瀵硅薄 ent_test_member_backstage - * - * @author ots - * @date 2020-02-29 - */ public class EntTestMemberBackstage extends BaseEntity { private static final long serialVersionUID = 1L; - - /** 璇勬祴浜哄憳缂栫爜 */ + private Long memberId; - - /** 鍚嶇О */ + @Excel(name = "鍚嶇О") private String memberName; - - /** 閮ㄩ棬 */ + @Excel(name = "閮ㄩ棬") private String memberDept; - - /** 閭 */ + @Excel(name = "閭") private String memberEmail; - - /** 鎵嬫満鍙风爜 */ + @Excel(name = "鎵嬫満鍙风爜") private String memberPhone; - - /** 娴嬭瘯鍖呯紪鐮� */ + @Excel(name = "娴嬭瘯鍖呯紪鐮�") private Long testId; - - /** 娴嬭瘯code */ + @Excel(name = "娴嬭瘯code") private String token; - - /** 寮�濮嬬瓟棰樻椂闂� */ + @Excel(name = "寮�濮嬬瓟棰樻椂闂�", width = 30, dateFormat = "yyyy-MM-dd") private Date startTime; - - /** null */ + @Excel(name = "null", width = 30, dateFormat = "yyyy-MM-dd") private Date endTime; - - /** 鐭伅鍙戦�佺姸鎬侊紙0鏈鐞� 1宸插彂閫� 2鍙戦�佷腑 3鍙戦�佸け璐� 4閫�淇★級 */ + @Excel(name = "鐭伅鍙戦�佺姸鎬�", readConverterExp = "0=鏈鐞�,1=宸插彂閫�,2=鍙戦�佷腑,3=鍙戦�佸け璐�,4=閫�淇�") private String smsStatus; - - /** 鐭俊鍙戦�佹椂闂� */ + @Excel(name = "鐭俊鍙戦�佹椂闂�", width = 30, dateFormat = "yyyy-MM-dd") private Date smsTime; - - /** 閭欢鍙戦�佺姸鎬� (0鏈鐞� 1宸插彂閫� 2鍙戦�佷腑 3鍙戦�佸け璐� 4閫�淇�) */ + @Excel(name = "閭欢鍙戦�佺姸鎬� (0鏈鐞� 1宸插彂閫� 2鍙戦�佷腑 3鍙戦�佸け璐� 4閫�淇�)") private String emailStatus; - - /** 閭欢鍙戦�佹椂闂� */ + @Excel(name = "閭欢鍙戦�佹椂闂�", width = 30, dateFormat = "yyyy-MM-dd") private Date emailTime; - - /** 0鏈鐞� 1宸插畬鎴� 2绛旈涓� 3浣滃簾 */ + @Excel(name = "0鏈鐞� 1宸插畬鎴� 2绛旈涓� 3浣滃簾") private String status; - - /** null */ + @Excel(name = "null") private String firstname; - - /** null */ + @Excel(name = "null") private String lastname; - public void setMemberId(Long memberId) { this.memberId = memberId; } - public Long getMemberId() { return memberId; @@ -93,7 +67,6 @@ { this.memberName = memberName; } - public String getMemberName() { return memberName; @@ -102,7 +75,6 @@ { this.memberDept = memberDept; } - public String getMemberDept() { return memberDept; @@ -111,7 +83,6 @@ { this.memberEmail = memberEmail; } - public String getMemberEmail() { return memberEmail; @@ -120,7 +91,6 @@ { this.memberPhone = memberPhone; } - public String getMemberPhone() { return memberPhone; @@ -129,7 +99,6 @@ { this.testId = testId; } - public Long getTestId() { return testId; @@ -138,7 +107,6 @@ { this.token = token; } - public String getToken() { return token; @@ -147,7 +115,6 @@ { this.startTime = startTime; } - public Date getStartTime() { return startTime; @@ -156,7 +123,6 @@ { this.endTime = endTime; } - public Date getEndTime() { return endTime; @@ -165,7 +131,6 @@ { this.smsStatus = smsStatus; } - public String getSmsStatus() { return smsStatus; @@ -174,7 +139,6 @@ { this.smsTime = smsTime; } - public Date getSmsTime() { return smsTime; @@ -183,7 +147,6 @@ { this.emailStatus = emailStatus; } - public String getEmailStatus() { return emailStatus; @@ -192,7 +155,6 @@ { this.emailTime = emailTime; } - public Date getEmailTime() { return emailTime; @@ -201,7 +163,6 @@ { this.status = status; } - public String getStatus() { return status; @@ -210,7 +171,6 @@ { this.firstname = firstname; } - public String getFirstname() { return firstname; @@ -219,12 +179,10 @@ { this.lastname = lastname; } - public String getLastname() { return lastname; } - @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/EntTestMemberOther.java b/src/main/java/com/ots/project/exam/domain/EntTestMemberOther.java index 81a5326..8745a32 100644 --- a/src/main/java/com/ots/project/exam/domain/EntTestMemberOther.java +++ b/src/main/java/com/ots/project/exam/domain/EntTestMemberOther.java @@ -1,129 +1,61 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import java.util.Date; import java.util.List; -/** - * 娴嬭瘎浜哄憳鍚嶅崟瀵硅薄 ent_test_member - * - * @author ots - * @date 2019-12-15 - */ @Getter @Setter public class EntTestMemberOther extends BaseEntity { private static final long serialVersionUID = 1L; - /** - * 璇勬祴浜哄憳缂栫爜 - */ + private Long memberId; - - /** - * 鍚嶇О - */ + @Excel(name = "濮撳悕锛團ull Name锛�") private String memberName; - @Excel(name = "娴嬭瘯閾炬帴锛圱est Url锛�") private String testUrl; - - /** - * 閮ㄩ棬 - */ + private String memberDept; - - /** - * 閭 - */ + private String memberEmail; - - /** - * 鎵嬫満鍙风爜 - */ + private String memberPhone; - - /** - * 娴嬭瘯鍖呯紪鐮� - */ + private Long testId; - - /** - * 娴嬭瘯code - */ + private String token; - - /** - * 绛旈鏃堕棿 - */ + private Date startTime; - private Date endTime; - - /** - * 鐭俊鐘舵�� - */ + private String smsStatus; - - /** - * 鐭俊鏃堕棿 - */ + private Date smsTime; - - /** - * 閭欢鐘舵�� - */ + private String emailStatus; - - /** - * 閭欢鏃堕棿 - */ + private Date emailTime; - - /** - * 鐘舵�� - */ + private String status; - - private String firstName; - private String lastName; - private String userName; - private String testName; - private Long userId; - private List<Long> userList; - private Integer sendHrEmail; - - /** - * 鎶ュ憡鍦板潃 - */ + private String reportAddress; - - /** - * 鎶ュ憡缂栫爜 - */ + private Long reportId; - - /** - * HR閭欢鐘舵�� - */ + private String hrEmailStatus; - - /** - * HR閭欢鏃堕棿 - */ + private Date hrEmailTime; @Override public String toString() { diff --git a/src/main/java/com/ots/project/exam/domain/EntTestPackage.java b/src/main/java/com/ots/project/exam/domain/EntTestPackage.java index 3350027..1cb8678 100644 --- a/src/main/java/com/ots/project/exam/domain/EntTestPackage.java +++ b/src/main/java/com/ots/project/exam/domain/EntTestPackage.java @@ -1,180 +1,85 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import java.util.Date; import java.util.List; -/** - * 娴嬭瘯鍖呯鐞嗗璞� ent_test_package - * - * @author ots - * @date 2019-11-27 - */ @Getter @Setter public class EntTestPackage extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 娴嬭瘯鍖呯紪鐮� - */ + private Long id; - - /** - * 浼佷笟鐢ㄦ埛ID - */ + @Excel(name = "浼佷笟鐢ㄦ埛ID") private Long userId; - - /** - * - */ + @Excel(name = "浼佷笟鍚嶇О") private String userName; - - /** - * 浜у搧缂栫爜 - */ + @Excel(name = "浜у搧缂栫爜") private Long prodId; - - /** - * 娴嬭瘯鍖呭悕绉� - */ + @Excel(name = "娴嬭瘯鍖呭悕绉�") private String testName; - - /** - * 浜у搧鍖呭悕绉� - */ + @Excel(name = "浜у搧鍖呭悕绉�") private String prodName; - - /** - * 娴嬭瘯鍖呯被鍨� - */ + @Excel(name = "娴嬭瘯鍖呯被鍨�") private String testType; - - /** - * 鍖哄煙 - */ + @Excel(name = "鍖哄煙") private String testArea; - - /** - * 璇 - */ + @Excel(name = "璇") private String langType; - - /** - * 閭�璇峰唴瀹� - */ + @Excel(name = "閭�璇峰唴瀹�") private String template; - - /** - * 閫氱煡閭锛岄偖绠遍�氳繃閫楀彿鍒嗛殧 - */ + @Excel(name = "閫氱煡閭锛岄偖绠遍�氳繃閫楀彿鍒嗛殧") private String testEmail; - - /** - * 浠诲姟妗嗘灦 鍐呭涓篔SON - */ + @Excel(name = "浠诲姟妗嗘灦 鍐呭涓篔SON") private Long frameTextContentId; - - /** - * 鏈夋晥鏈� - */ + @Excel(name = "鏈夋晥鏈�", width = 30, dateFormat = "yyyy-MM-dd") private Date invalidTime; - - /** - * 鐘舵�侊紙鍚敤銆佹殏鍋溿�佺户缁�佺粨鏉燂級 - */ + @Excel(name = "鐘舵��", readConverterExp = "鍚�=鐢ㄣ�佹殏鍋溿�佺户缁�佺粨鏉�") private String status; - - /** - * 娴嬭瘯浜烘暟 - */ + private Long testNum; - - /** - * 宸叉祴浜烘暟 - */ + private Long finishNum; - - /** - * 娴嬭瘯涓汉鏁� - */ + private Long testingNum; - - /** - * 鏈祴浜烘暟 - */ + private Long unTestNum; - - /** - * 浜哄彛瀛︾紪鐮佺粍鍚� - */ + private String paramCodes; - - /** - * 鐢ㄦ埛鍒楄〃 - */ + private List<Long> userIds; - - /** - * 鏄惁鑷姩缁欐祴璇曡�呭彂閫佹祴璇曟姤鍛� - */ + private boolean autoSendReport; - - /** - * 鎶ュ憡妯℃澘缂栫爜 - */ + private String reportTemplateId; - - /** - * 鎶ュ憡妯℃澘灞曠ず鍐呭 锛坮eportType-templateType-langType锛� - */ + private String reportTemplateShowValue; - - /** - * 鍙戦�佺粰HR閭欢妯℃澘鍐呭 - */ + private String hrTemplate; - - /** - * 宀椾綅 - */ + private String position; - - /** - * 鑱屼笟澶х被 - */ + private String professionalCategory; - - /** - * 涓婄骇宀椾綅 - * - */ + private String superiorPosition; - private String phonenumber; - - - - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/EntTestSendtask.java b/src/main/java/com/ots/project/exam/domain/EntTestSendtask.java index ede76d6..3e361a8 100644 --- a/src/main/java/com/ots/project/exam/domain/EntTestSendtask.java +++ b/src/main/java/com/ots/project/exam/domain/EntTestSendtask.java @@ -1,5 +1,4 @@ package com.ots.project.exam.domain; - import com.fasterxml.jackson.annotation.JsonFormat; import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; @@ -7,114 +6,55 @@ import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import java.util.Date; -/** - * 璇勬祴閭�璇峰彂閫佷换鍔″璞� ent_test_sendtask - * - * @author ots - * @date 2019-12-19 - */ @Getter @Setter public class EntTestSendtask extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 缂栫爜 - */ + private Long id; - - /** - * 鐢ㄦ埛ID - */ + private Long userId; - - /** - * 娴嬭瘯鍖呯紪鐮� - */ + private Long testId; - - /** - * 璇勬祴浜哄憳缂栫爜 - */ + private Long memberId; - - /** - * 鍙戜欢浜� - */ + private String fromAddressee; - - /** - * 鏀朵欢浜� - */ + @Excel(name = "鏀朵欢浜�") private String addressee; - - /** - * 鍙戦�佺被鍨� - */ + @Excel(name = "鍙戦�佺被鍨�") private String type; - - /** - * 鍙戦�佸钩鍙� - */ + @Excel(name = "鍙戦�佸钩鍙�") private String platform; - - /** - * 鏍囬 - */ + @Excel(name = "鏍囬") private String title; - - /** - * 鍐呭 - */ + @Excel(name = "鍐呭") private String content; - - /** - * 鐭俊鏉℃暟 - */ + @Excel(name = "鐭俊鏉℃暟") private Long number; - - /** - * 鐘舵�� - */ + @Excel(name = "鐘舵��") private String status; - - /** - * 杩囩▼淇℃伅 - */ + @Excel(name = "杩囩▼淇℃伅") private String message; - - /** - * 鐭俊骞冲彴浠诲姟缂栫爜 - */ + private String taskId; - - /** - * 閭欢骞冲彴浠诲姟缂栫爜 - */ + private String rushtaskid; - - /** - * 鍙戦�佹椂闂� - */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date sendTime; - - /** - * 寤堕暱鐨勫彂閫佹椂闂� - */ + private String sendExtendTime; - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/EntTestSendtaskMail.java b/src/main/java/com/ots/project/exam/domain/EntTestSendtaskMail.java index e787f67..201109e 100644 --- a/src/main/java/com/ots/project/exam/domain/EntTestSendtaskMail.java +++ b/src/main/java/com/ots/project/exam/domain/EntTestSendtaskMail.java @@ -1,132 +1,83 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import java.util.Date; -/** - * 閭閫�淇¤褰曞璞� ent_test_sendtask_mail - * - * @author ots - * @date 2020-03-09 - */ public class EntTestSendtaskMail extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 缂栧彿 - */ + private Long id; - - /** - * 鍙戦�佹椂闂� - */ + @Excel(name = "鍙戦�佹椂闂�", width = 30, dateFormat = "yyyy-MM-dd") private Date senddate; - - /** - * 鍙戦�佷汉 - */ + @Excel(name = "鍙戦�佷汉") private String sender; - - /** - * 鏀朵欢浜� - */ + @Excel(name = "鏀朵欢浜�") private String receiveaddress; - - /** - * 鏍囬 - */ + @Excel(name = "鏍囬") private String title; - - /** - * 鐢熸垚妯″潡鍚� - */ + @Excel(name = "鐢熸垚妯″潡鍚�") private String content; - - /** - * 閫�淇¢偖绠卞湴鍧� - */ + @Excel(name = "閫�淇¢偖绠卞湴鍧�") private String realsender; - - /** - * 閫�淇″師鍥� - */ + @Excel(name = "閫�淇″師鍥�") private String reason; - public Long getId() { return id; } - public void setId(Long id) { this.id = id; } - public Date getSenddate() { return senddate; } - public void setSenddate(Date senddate) { this.senddate = senddate; } - public String getSender() { return sender; } - public void setSender(String sender) { this.sender = sender; } - public String getReceiveaddress() { return receiveaddress; } - public void setReceiveaddress(String receiveaddress) { this.receiveaddress = receiveaddress; } - public String getTitle() { return title; } - public void setTitle(String title) { this.title = title; } - public String getContent() { return content; } - public void setContent(String content) { this.content = content; } - public String getRealsender() { return realsender; } - public void setRealsender(String realsender) { this.realsender = realsender; } - public String getReason() { return reason; } - public void setReason(String reason) { this.reason = reason; } - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/ExamPaper.java b/src/main/java/com/ots/project/exam/domain/ExamPaper.java index 5b9ed70..aa31813 100644 --- a/src/main/java/com/ots/project/exam/domain/ExamPaper.java +++ b/src/main/java/com/ots/project/exam/domain/ExamPaper.java @@ -1,48 +1,27 @@ package com.ots.project.exam.domain; - import lombok.Getter; import lombok.Setter; - import java.io.Serializable; import java.util.Date; - @Getter @Setter public class ExamPaper implements Serializable { - private static final long serialVersionUID = 8509645224550501395L; - private Integer id; - private String name; - private Integer subjectId; - private Integer paperType; - private Integer gradeLevel; - private Integer score; - private Integer questionCount; - private Integer suggestTime; - private Date limitStartTime; - private Date limitEndTime; - private Integer frameTextContentId; - private Integer createUser; - private Date createTime; - private Boolean deleted; - private Integer taskExamId; - private String guide; - private String langType; } diff --git a/src/main/java/com/ots/project/exam/domain/ExamPaperAnswer.java b/src/main/java/com/ots/project/exam/domain/ExamPaperAnswer.java index 92bda93..2ae2336 100644 --- a/src/main/java/com/ots/project/exam/domain/ExamPaperAnswer.java +++ b/src/main/java/com/ots/project/exam/domain/ExamPaperAnswer.java @@ -1,158 +1,110 @@ package com.ots.project.exam.domain; - import java.io.Serializable; import java.util.Date; - public class ExamPaperAnswer implements Serializable { - private static final long serialVersionUID = -2143539181805283910L; - private Integer id; - private Integer examPaperId; - private String paperName; - private Integer paperType; - private Integer subjectId; - private Integer systemScore; - private Integer userScore; - private Integer paperScore; - private Integer questionCorrect; - private Integer questionCount; - private Integer doTime; - private Integer status; - private Integer createUser; - private Date createTime; - private Integer taskExamId; - public Integer getId() { return id; } - public void setId(Integer id) { this.id = id; } - public Integer getExamPaperId() { return examPaperId; } - public void setExamPaperId(Integer examPaperId) { this.examPaperId = examPaperId; } - public String getPaperName() { return paperName; } - public void setPaperName(String paperName) { this.paperName = paperName == null ? null : paperName.trim(); } - public Integer getPaperType() { return paperType; } - public void setPaperType(Integer paperType) { this.paperType = paperType; } - public Integer getSubjectId() { return subjectId; } - public void setSubjectId(Integer subjectId) { this.subjectId = subjectId; } - public Integer getSystemScore() { return systemScore; } - public void setSystemScore(Integer systemScore) { this.systemScore = systemScore; } - public Integer getUserScore() { return userScore; } - public void setUserScore(Integer userScore) { this.userScore = userScore; } - public Integer getPaperScore() { return paperScore; } - public void setPaperScore(Integer paperScore) { this.paperScore = paperScore; } - public Integer getQuestionCorrect() { return questionCorrect; } - public void setQuestionCorrect(Integer questionCorrect) { this.questionCorrect = questionCorrect; } - public Integer getQuestionCount() { return questionCount; } - public void setQuestionCount(Integer questionCount) { this.questionCount = questionCount; } - public Integer getDoTime() { return doTime; } - public void setDoTime(Integer doTime) { this.doTime = doTime; } - public Integer getStatus() { return status; } - public void setStatus(Integer status) { this.status = status; } - public Integer getCreateUser() { return createUser; } - public void setCreateUser(Integer createUser) { this.createUser = createUser; } - public Date getCreateTime() { return createTime; } - public void setCreateTime(Date createTime) { this.createTime = createTime; } - public Integer getTaskExamId() { return taskExamId; } - public void setTaskExamId(Integer taskExamId) { this.taskExamId = taskExamId; } diff --git a/src/main/java/com/ots/project/exam/domain/ExamPaperQuestionCustomerAnswer.java b/src/main/java/com/ots/project/exam/domain/ExamPaperQuestionCustomerAnswer.java index 1c3a221..58c4da2 100644 --- a/src/main/java/com/ots/project/exam/domain/ExamPaperQuestionCustomerAnswer.java +++ b/src/main/java/com/ots/project/exam/domain/ExamPaperQuestionCustomerAnswer.java @@ -1,158 +1,110 @@ package com.ots.project.exam.domain; - import java.io.Serializable; import java.util.Date; - public class ExamPaperQuestionCustomerAnswer implements Serializable { - private static final long serialVersionUID = 3389482731220342366L; - private Integer id; - private Integer questionId; - private Integer examPaperId; - private Integer examPaperAnswerId; - private Integer questionType; - private Integer subjectId; - private Integer customerScore; - private Integer questionScore; - private Integer questionTextContentId; - private String answer; - private Integer textContentId; - private Boolean doRight; - private Integer createUser; - private Date createTime; - private Integer itemOrder; - public Integer getId() { return id; } - public void setId(Integer id) { this.id = id; } - public Integer getQuestionId() { return questionId; } - public void setQuestionId(Integer questionId) { this.questionId = questionId; } - public Integer getExamPaperId() { return examPaperId; } - public void setExamPaperId(Integer examPaperId) { this.examPaperId = examPaperId; } - public Integer getExamPaperAnswerId() { return examPaperAnswerId; } - public void setExamPaperAnswerId(Integer examPaperAnswerId) { this.examPaperAnswerId = examPaperAnswerId; } - public Integer getQuestionType() { return questionType; } - public void setQuestionType(Integer questionType) { this.questionType = questionType; } - public Integer getSubjectId() { return subjectId; } - public void setSubjectId(Integer subjectId) { this.subjectId = subjectId; } - public Integer getCustomerScore() { return customerScore; } - public void setCustomerScore(Integer customerScore) { this.customerScore = customerScore; } - public Integer getQuestionScore() { return questionScore; } - public void setQuestionScore(Integer questionScore) { this.questionScore = questionScore; } - public Integer getQuestionTextContentId() { return questionTextContentId; } - public void setQuestionTextContentId(Integer questionTextContentId) { this.questionTextContentId = questionTextContentId; } - public String getAnswer() { return answer; } - public void setAnswer(String answer) { this.answer = answer == null ? null : answer.trim(); } - public Integer getTextContentId() { return textContentId; } - public void setTextContentId(Integer textContentId) { this.textContentId = textContentId; } - public Boolean getDoRight() { return doRight; } - public void setDoRight(Boolean doRight) { this.doRight = doRight; } - public Integer getCreateUser() { return createUser; } - public void setCreateUser(Integer createUser) { this.createUser = createUser; } - public Date getCreateTime() { return createTime; } - public void setCreateTime(Date createTime) { this.createTime = createTime; } - public Integer getItemOrder() { return itemOrder; } - public void setItemOrder(Integer itemOrder) { this.itemOrder = itemOrder; } diff --git a/src/main/java/com/ots/project/exam/domain/ExamUser.java b/src/main/java/com/ots/project/exam/domain/ExamUser.java index 85dc50d..066444c 100644 --- a/src/main/java/com/ots/project/exam/domain/ExamUser.java +++ b/src/main/java/com/ots/project/exam/domain/ExamUser.java @@ -1,50 +1,28 @@ package com.ots.project.exam.domain; - import lombok.Getter; import lombok.Setter; - import java.io.Serializable; import java.util.Date; - @Getter @Setter public class ExamUser implements Serializable { - private static final long serialVersionUID = -7797183521247423117L; - private Integer id; - private String userUuid; - private String userName; - private String password; - private String realName; - private Integer age; - private Integer sex; - private Date birthDay; - private Integer userLevel; - private String phone; - private Integer role; - private Integer status; - private String imagePath; - private Date createTime; - private Date modifyTime; - private Date lastActiveTime; - private Boolean deleted; - private String wxOpenId; } diff --git a/src/main/java/com/ots/project/exam/domain/NumberOfUsersByCompany.java b/src/main/java/com/ots/project/exam/domain/NumberOfUsersByCompany.java index 903e2e7..0b926dc 100644 --- a/src/main/java/com/ots/project/exam/domain/NumberOfUsersByCompany.java +++ b/src/main/java/com/ots/project/exam/domain/NumberOfUsersByCompany.java @@ -1,39 +1,21 @@ package com.ots.project.exam.domain; - import lombok.Getter; import lombok.Setter; - import java.util.Map; -/** - * 浼佷笟鐢ㄦ埛浣跨敤娆℃暟缁熻绫� - */ @Getter @Setter public class NumberOfUsersByCompany { - public NumberOfUsersByCompany() { this.usedTimes = 0; this.testNum = 0; } - - /** - * 浼佷笟鐢ㄦ埛缂栫爜 - */ + private long userId; - - /** - * 宸蹭娇鐢ㄦ鏁� - */ + private int usedTimes; - - /** - * 鍙敤娆℃暟,浼佷笟鐢ㄦ埛灞炴�estNum瀹氫箟 - */ + private int testNum; - - /** - * 姣忎釜娴嬭瘯鍖呯殑娆℃暟璁$畻 - */ + private Map<Long, NumberOfUsersByPackage> testPackageUsageTimesMap; } diff --git a/src/main/java/com/ots/project/exam/domain/NumberOfUsersByPackage.java b/src/main/java/com/ots/project/exam/domain/NumberOfUsersByPackage.java index aaed119..8060c17 100644 --- a/src/main/java/com/ots/project/exam/domain/NumberOfUsersByPackage.java +++ b/src/main/java/com/ots/project/exam/domain/NumberOfUsersByPackage.java @@ -1,37 +1,18 @@ package com.ots.project.exam.domain; - import lombok.Getter; import lombok.Setter; -/** - * 娴嬭瘯鍖呰绠楁鏁� - */ @Getter @Setter public class NumberOfUsersByPackage { - - /** - * 娴嬭瘯鍖呯紪鐮� - */ + private Long testId; - - /** - * 娴嬭瘯浜烘暟 - */ + private Long testNum; - - /** - * 宸叉祴浜烘暟 - */ + private Long finishNum; - - /** - * 娴嬭瘯涓汉鏁� - */ + private Long testingNum; - - /** - * 鏈祴浜烘暟 - */ + private Long unTestNum; } diff --git a/src/main/java/com/ots/project/exam/domain/Question.java b/src/main/java/com/ots/project/exam/domain/Question.java index 93d7013..3eccf53 100644 --- a/src/main/java/com/ots/project/exam/domain/Question.java +++ b/src/main/java/com/ots/project/exam/domain/Question.java @@ -1,138 +1,95 @@ package com.ots.project.exam.domain; - - import com.ots.common.enums.QuestionTypeEnum; import com.ots.project.tool.exam.ExamUtil; - import java.io.Serializable; import java.util.Date; import java.util.List; - public class Question implements Serializable { - private static final long serialVersionUID = 8826266720383164363L; - private Integer id; - private Integer questionType; - private Integer subjectId; - private Integer score; - private Integer gradeLevel; - private Integer difficult; - private String correct; - private Integer infoTextContentId; - private Integer createUser; - private Integer status; - private Date createTime; - private Boolean deleted; - public Integer getId() { return id; } - public void setId(Integer id) { this.id = id; } - public Integer getQuestionType() { return questionType; } - public void setQuestionType(Integer questionType) { this.questionType = questionType; } - public Integer getSubjectId() { return subjectId; } - public void setSubjectId(Integer subjectId) { this.subjectId = subjectId; } - public Integer getScore() { return score; } - public void setScore(Integer score) { this.score = score; } - public Integer getGradeLevel() { return gradeLevel; } - public void setGradeLevel(Integer gradeLevel) { this.gradeLevel = gradeLevel; } - public Integer getDifficult() { return difficult; } - public void setDifficult(Integer difficult) { this.difficult = difficult; } - public String getCorrect() { return correct; } - public void setCorrect(String correct) { this.correct = correct == null ? null : correct.trim(); } - public Integer getInfoTextContentId() { return infoTextContentId; } - public void setInfoTextContentId(Integer infoTextContentId) { this.infoTextContentId = infoTextContentId; } - public Integer getCreateUser() { return createUser; } - public void setCreateUser(Integer createUser) { this.createUser = createUser; } - public Integer getStatus() { return status; } - public void setStatus(Integer status) { this.status = status; } - public Date getCreateTime() { return createTime; } - public void setCreateTime(Date createTime) { this.createTime = createTime; } - public Boolean getDeleted() { return deleted; } - public void setDeleted(Boolean deleted) { this.deleted = deleted; } - - public void setCorrectFromVM(String correct, List<String> correctArray) { int qType = this.getQuestionType(); if (qType == QuestionTypeEnum.MultipleChoice.getCode()) { diff --git a/src/main/java/com/ots/project/exam/domain/Subject.java b/src/main/java/com/ots/project/exam/domain/Subject.java index e224a82..26755ca 100644 --- a/src/main/java/com/ots/project/exam/domain/Subject.java +++ b/src/main/java/com/ots/project/exam/domain/Subject.java @@ -1,67 +1,46 @@ package com.ots.project.exam.domain; - import java.io.Serializable; - public class Subject implements Serializable { - private static final long serialVersionUID = 8058095034457106501L; - private Integer id; - private String name; - private Integer level; - private String levelName; - private Integer itemOrder; - private Boolean deleted; - public Integer getId() { return id; } - public void setId(Integer id) { this.id = id; } - public String getName() { return name; } - public void setName(String name) { this.name = name == null ? null : name.trim(); } - public Integer getLevel() { return level; } - public void setLevel(Integer level) { this.level = level; } - public String getLevelName() { return levelName; } - public void setLevelName(String levelName) { this.levelName = levelName == null ? null : levelName.trim(); } - public Integer getItemOrder() { return itemOrder; } - public void setItemOrder(Integer itemOrder) { this.itemOrder = itemOrder; } - public Boolean getDeleted() { return deleted; } - public void setDeleted(Boolean deleted) { this.deleted = deleted; } diff --git a/src/main/java/com/ots/project/exam/domain/SysUserExtend.java b/src/main/java/com/ots/project/exam/domain/SysUserExtend.java index d449279..c45a177 100644 --- a/src/main/java/com/ots/project/exam/domain/SysUserExtend.java +++ b/src/main/java/com/ots/project/exam/domain/SysUserExtend.java @@ -1,134 +1,69 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import org.springframework.web.multipart.MultipartFile; - import java.util.Date; -/** - * 鐢ㄦ埛淇℃伅鎵╁睍瀵硅薄 sys_user_extend - * - * @author ots - * @date 2019-11-20 - */ public class SysUserExtend extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 鐢ㄦ埛缂栫爜 - */ + private Long userId; - - /** - * 鍒嗛攢鍟嗙紪鐮� - */ + private Long parentUserId; - private Long parentUserTempId; - - /** - * 娉曚汉 - */ + @Excel(name = "娉曚汉") private String legalPerson; - - /** - * 鑱旂郴鍦板潃 - */ + @Excel(name = "鑱旂郴鍦板潃") private String address; - - /** - * 鍚堝悓鍦板潃 - */ + @Excel(name = "鍚堝悓鍦板潃") private String contractText; - - /** - * 鍚堝悓鑼冨洿 - */ + @Excel(name = "鍚堝悓鑼冨洿") private String contractScope; - - /** - * 鐢熸晥鏃堕棿 - */ + @Excel(name = "鐢熸晥鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd") private Date effectTime; - - /** - * 鍚堜綔鏈熼檺 - */ + @Excel(name = "鍚堜綔鏈熼檺", width = 30, dateFormat = "yyyy-MM-dd") private Date invalidTime; - - /** - * 鍏徃瑙勬ā - */ + @Excel(name = "鍏徃瑙勬ā") private Long companySize; - - /** - * 钀ヤ笟鎵х収淇℃伅 - */ + @Excel(name = "钀ヤ笟鎵х収淇℃伅") private String businessLicense; - - /** - * 涓氬姟缁忕悊 - */ + @Excel(name = "涓氬姟缁忕悊") private String businessManager; - - /** - * 浼佷笟LOGO - */ + @Excel(name = "浼佷笟LOGO") private String businessLogo; - - /** - * 鍙敤娴嬭瘯浜烘暟 - */ + @Excel(name = "鍙敤娴嬭瘯浜烘暟") private Long testNum; - - /** - * HR閭 - */ + @Excel(name = "HR閭") private String hrEmail; - - /** - * 娴嬭瘯鑰呮槸鍚︽敹鍒版姤鍛婏紙0鍚� 1鏄級 - */ + @Excel(name = "娴嬭瘯鑰呮槸鍚︽敹鍒版姤鍛�", readConverterExp = "0=鍚�,1=鏄�") private String sendReport; - - /** - * 閭欢鍐呭 - */ + @Excel(name = "閭欢鍐呭") private String mailContent; - - /** - * HR鎺ュ彈鎶ュ憡绫诲瀷 - */ + @Excel(name = "HR鎺ュ彈鎶ュ憡绫诲瀷") private String hrReportType; - - /** - * 璇█绫诲瀷 - */ + @Excel(name = "鎶ュ憡璇█绫诲瀷") private String langType; - private MultipartFile businessLicenseFile; private MultipartFile contractTextFile; private MultipartFile businessLogoFile; - private String userType; private String userName; private String loginName; @@ -136,252 +71,188 @@ private String phonenumber; private String contactPerson; private String contactEmail; - public String getContactPerson() { return contactPerson; } - public void setContactPerson(String contactPerson) { this.contactPerson = contactPerson; } - public String getContactEmail() { return contactEmail; } - public void setContactEmail(String contactEmail) { this.contactEmail = contactEmail; } - public Long getParentUserTempId() { return parentUserTempId; } - public void setParentUserTempId(Long parentUserTempId) { this.parentUserTempId = parentUserTempId; } - - /** - * 鏄惁涓轰竴绾т緵搴斿晢 - */ + private String firstLevel; - public String getFirstLevel() { return firstLevel; } - public void setFirstLevel(String firstLevel) { this.firstLevel = firstLevel; } - public String getPhonenumber() { return phonenumber; } - public void setPhonenumber(String phonenumber) { this.phonenumber = phonenumber; } - public String getUserType() { return userType; } - public void setUserType(String userType) { this.userType = userType; } - public String getUserName() { return userName; } - public void setUserName(String userName) { this.userName = userName; } - public String getLoginName() { return loginName; } - public void setLoginName(String loginName) { this.loginName = loginName; } - public String getPassword() { return password; } - public void setPassword(String password) { this.password = password; } - public void setUserId(Long userId) { this.userId = userId; } - public Long getUserId() { return userId; } - public void setLegalPerson(String legalPerson) { this.legalPerson = legalPerson; } - public String getLegalPerson() { return legalPerson; } - public void setAddress(String address) { this.address = address; } - public String getAddress() { return address; } - public void setContractText(String contractText) { this.contractText = contractText; } - public String getContractText() { return contractText; } - public void setContractScope(String contractScope) { this.contractScope = contractScope; } - public String getContractScope() { return contractScope; } - public void setEffectTime(Date effectTime) { this.effectTime = effectTime; } - public Date getEffectTime() { return effectTime; } - public void setInvalidTime(Date invalidTime) { this.invalidTime = invalidTime; } - public Date getInvalidTime() { return invalidTime; } - public void setCompanySize(Long companySize) { this.companySize = companySize; } - public Long getCompanySize() { return companySize; } - public void setBusinessLicense(String businessLicense) { this.businessLicense = businessLicense; } - public String getBusinessLicense() { return businessLicense; } - public void setBusinessManager(String businessManager) { this.businessManager = businessManager; } - public String getBusinessManager() { return businessManager; } - public void setBusinessLogo(String businessLogo) { this.businessLogo = businessLogo; } - public String getBusinessLogo() { return businessLogo; } - public void setTestNum(Long testNum) { this.testNum = testNum; } - public Long getTestNum() { return testNum; } - public void setHrEmail(String hrEmail) { this.hrEmail = hrEmail; } - public String getHrEmail() { return hrEmail; } - public void setSendReport(String sendReport) { this.sendReport = sendReport; } - public String getSendReport() { return sendReport; } - public void setMailContent(String mailContent) { this.mailContent = mailContent; } - public String getMailContent() { return mailContent; } - public void setHrReportType(String hrReportType) { this.hrReportType = hrReportType; } - public String getHrReportType() { return hrReportType; } - public void setLangType(String langType) { this.langType = langType; } - public String getLangType() { return langType; } - public MultipartFile getBusinessLicenseFile() { return businessLicenseFile; } - public void setBusinessLicenseFile(MultipartFile businessLicenseFile) { this.businessLicenseFile = businessLicenseFile; } - public Long getParentUserId() { return parentUserId; } - public void setParentUserId(Long parentUserId) { this.parentUserId = parentUserId; } - public MultipartFile getContractTextFile() { return contractTextFile; } - public void setContractTextFile(MultipartFile contractTextFile) { this.contractTextFile = contractTextFile; } - public MultipartFile getBusinessLogoFile() { return businessLogoFile; } - public void setBusinessLogoFile(MultipartFile businessLogoFile) { this.businessLogoFile = businessLogoFile; } - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/SysUserPaper.java b/src/main/java/com/ots/project/exam/domain/SysUserPaper.java index 3561a6c..3e2976c 100644 --- a/src/main/java/com/ots/project/exam/domain/SysUserPaper.java +++ b/src/main/java/com/ots/project/exam/domain/SysUserPaper.java @@ -1,52 +1,26 @@ package com.ots.project.exam.domain; - import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -/** - * 鐢ㄦ埛浜у搧瀵硅薄 sys_user_paper - * - * @author ots - * @date 2020-03-22 - */ @Getter @Setter public class SysUserPaper extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 鐢ㄦ埛ID - */ + private Long userId; - - /** - * 浜у搧鍖匢D - */ + private Long prodId; - - /** - * 浜у搧鍖呭悕绉� - */ + private String prodName; - - /** - * 鐢ㄦ埛浜у搧 - */ + private String prodCodes; - - /** - * 鏀寔鐨勬姤鍛婄紪鐮� - */ + private String reportTemplateId; - - /** - * 鏀寔妯℃澘鏄剧ず - */ + private String reportTemplateText; - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/TExamLevel.java b/src/main/java/com/ots/project/exam/domain/TExamLevel.java index ae0cab8..6f4c8e8 100644 --- a/src/main/java/com/ots/project/exam/domain/TExamLevel.java +++ b/src/main/java/com/ots/project/exam/domain/TExamLevel.java @@ -1,51 +1,33 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import com.ots.framework.web.domain.BaseEntity; -/** - * 闂嵎绫诲瀷瀵硅薄 t_exam_level - * - * @author ots - * @date 2019-12-15 - */ @Getter @Setter public class TExamLevel extends BaseEntity { private static final long serialVersionUID = 1L; - - /** 闂嵎缂栫爜 */ + private Long id; - - /** 闂嵎鍚嶇О */ + @Excel(name = "闂嵎鍚嶇О") private String levelName; - private String langType; - @Excel(name = "澶囨敞") private String remark; - - // 棰樼洰缁村害Id + private Integer subjectId; - - /**棰樼洰妯℃澘id*/ + private String questionTemplateId; - - /**棰樼洰妯℃澘鍚嶇О*/ + @Excel(name = "棰樼洰妯℃澘") private String questionTemplateName; - private String uuid; - private Integer type; - @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/TExamPaper.java b/src/main/java/com/ots/project/exam/domain/TExamPaper.java index 68babc7..5603a34 100644 --- a/src/main/java/com/ots/project/exam/domain/TExamPaper.java +++ b/src/main/java/com/ots/project/exam/domain/TExamPaper.java @@ -1,5 +1,4 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import com.ots.project.exam.dto.ExamPaperTitleItem; @@ -7,146 +6,75 @@ import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import java.util.Date; import java.util.List; -/** - * 浜у搧鍖呭垪琛ㄥ璞� t_exam_paper - * - * @author ots - * @date 2019-11-20 - */ @Getter @Setter public class TExamPaper extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 浜у搧鍖呯紪鐮� - */ + private Long id; - - /** - * 浜у搧鍖呭悕绉� - */ + @Excel(name = "浜у搧鍖呭悕绉�") private String name; - - /** - * 缁村害 - */ + @Excel(name = "缁村害") private Long subjectId; - private String subjectName; - - /** - * 璇曞嵎绫诲瀷( 1鍥哄畾璇曞嵎 2涓存椂璇曞嵎 3鐝骇璇曞嵎 4.鏃舵璇曞嵎 5.鎺ㄩ�佽瘯鍗�) - */ + private Long paperType; - - /** - * 绾у埆 - */ + private Long gradeLevel; - - /** - * 璇曞嵎鎬诲垎(鍗冨垎鍒�) - */ + private Long score; - - /** - * 棰樼洰鏁伴噺 - */ + private Long questionCount; - - /** - * 寤鸿鏃堕暱(鍒嗛挓) - */ + private Long suggestTime; - - /** - * 鏃舵璇曞嵎 寮�濮嬫椂闂� - */ + private Date limitStartTime; - - /** - * 鏃舵璇曞嵎 缁撴潫鏃堕棿 - */ + private Date limitEndTime; - - /** - * 璇曞嵎妗嗘灦 鍐呭涓篔SON - */ + private Long frameTextContentId; - - /** - * null - */ + private Long createUser; - - /** - * null - */ + private Long deleted; - - /** - * null - */ + private Long taskExamId; - - /*鏍囬閲岄潰鐨勯鐩紝鐜板湪鍦ㄥ墠鍙版嫾鎴恓son*/ + private String questions; - private String guide; - private Long levelId; - private String levelName; - private String questionTemplateId; - private String questionTemplateName; - - // 浠庨偅涓骇鍝佸寘鏇存柊杩囨潵 + private Long lastId; - - /*鎶婃爣棰樻暟鎹紶缁欑紪杈戠殑鍓嶅彴*/ + private ExamPaperTitleItem examPaperTitleItem; - - /** 鏍规嵁棰樼洰鍚嶇О鏌ヨ*/ + private String content; - - // 澶氳瑷� + private Long uuid; private String langType; private String langName; private String multilingual; private List<String> multilinguals; - - // 鎸夐鐩煡璇骇鍝佸寘鐨勯檮鍔犲瓧娈� + private String questionContent; - - // 瀹氫箟鏄柊澧炶瑷�杩樻槸淇敼璇█鐨勫姩浣� + private String operatingLanguage; - - // 淇敼鐨勬椂鍊欎竴涓増鏈彿锛孷1,V2 + private String version; - - // 鍒涘缓鏂扮増鏈� + private boolean create = false; - - // 鍖哄垎涓嶅悓鐗堟湰鐨勭紪鍙� + private String versionId; - - /** - * 鎶ュ憡妯℃澘缂栫爜 - */ + private String reportTemplateId; - - - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/TExamPaperQuestion.java b/src/main/java/com/ots/project/exam/domain/TExamPaperQuestion.java index 7a1920a..0bef9a7 100644 --- a/src/main/java/com/ots/project/exam/domain/TExamPaperQuestion.java +++ b/src/main/java/com/ots/project/exam/domain/TExamPaperQuestion.java @@ -1,27 +1,17 @@ package com.ots.project.exam.domain; - import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; import lombok.Setter; -/** - * 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮忓璞� t_exam_paper_question - * - * @author ots - * @date 2020-03-03 - */ + @Getter @Setter public class TExamPaperQuestion extends BaseEntity { private static final long serialVersionUID = 1L; - - /** t_exam_paper鐨刬d */ + private Long paperId; - - /** 棰樼洰鐨勭紪鍙� */ - + private Integer questionId; - - /** 棰樼洰鐨勬案涔呯紪鍙� */ + private String permanentId; } diff --git a/src/main/java/com/ots/project/exam/domain/TExamReport.java b/src/main/java/com/ots/project/exam/domain/TExamReport.java index 3e415d2..be7520a 100644 --- a/src/main/java/com/ots/project/exam/domain/TExamReport.java +++ b/src/main/java/com/ots/project/exam/domain/TExamReport.java @@ -1,5 +1,4 @@ package com.ots.project.exam.domain; - import com.fasterxml.jackson.annotation.JsonFormat; import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; @@ -7,187 +6,91 @@ import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import java.util.Date; import java.util.List; -/** - * 璇勬祴鎶ュ憡瀵硅薄 t_exam_report - * - * @author ots - * @date 2019-12-26 - */ @Getter @Setter public class TExamReport extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 鎶ュ憡缂栫爜 - */ + private Long id; - - /** - * 浜у搧缂栫爜 - */ + @Excel(name = "浜у搧缂栫爜") private Long productId; - - /** - * 娴嬭瘯鍖呯紪鐮� - */ + private Long testId; - - /** - * 娴嬭瘯鍖呭悕绉� - */ + private String testName; - - /** - * 浜у搧鍚嶇О - */ + @Excel(name = "浜у搧鍚嶇О") private String productName; - - /** - * 鎶ュ憡鍐呭json涓� - */ + private String content; - - /** - * tokenid - */ + @Excel(name = "tokenid") private String tokenId; - - /** - * 1锛氭湁鏁堬紝0锛氭棤鏁� - */ + private String states; - private String lastContent; - private String choice; - private Integer doTime; - private Integer questionCount; - private Integer memberId; - private String memberName; - private Long userId; - private String userName; - private Long parentId; - private String questionOrder; - - /** - * 璇︾粏鎶ュ憡涓嬭浇鐘舵�� 0:涓嶅厑璁镐笅杞斤紝1锛氬厑璁镐笅杞斤紝2锛氫笅杞藉鏍镐腑 - */ + private Integer downloadTimes; - - // 瀵瑰簲鏋氫妇绫诲瀷鐨凾estMemberStatusEnum + private Integer verifyStatus; - - //鏄惁宸茬粡瀹屾垚 + private Integer finish; - - // 璇勬祴鎶ュ憡鐨勫瓧娈� + private String questionReport; - - // 棰樼洰绫诲瀷锛岃蛋妯$増锛孞OB锛孧AQ锛孲AQ + private String questionTemplateId; - - // 淇濈暀璋冪敤鎺ュ彛杩斿洖鐨勬暟鎹� + private String interfaceContent; - - // 鏈�鍚庝竴娆$瓟棰樼殑璇█绫诲瀷 + private String langType; - - /** - * 娴嬭瘯鍖呯殑鐘舵�� - */ + private String status; - - /** - * 鎶ュ憡鍦板潃 - */ + private String reportAddress; - - /** - * 鎶ュ憡绫诲瀷 - */ + private String reportTemplateId; - - /** - * 鍙戦�乭r鐨勭姸鎬� - */ + private Integer sendHrStatus; - - /** - * 鍙戦�佹祴璇曡�呯殑鐘舵�� - */ + private Integer sendTesterStatus; - - /** - * 娴嬭瘯浜哄憳鐨勯偖绠� - */ + private String memberEmail; - - /** - * Hr鐨勯偖绠� - */ + private String testEmail; - private Integer autoSendReport; - private String hrEmail; - private String mailContent; - private String remark; - private String optionOrder; - private String remainPartTime; - private String ids; - private String reportAddressNew; - private String memberDept; - private String hrReportEmail; - private String hrTitle; - private List sendHrStatusList; - - /** - * 鐢ㄦ埛鍒楄〃 - */ + private List<Long> userIds; - - /** - * hr鍙戦�佹椂闂� - */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date hrSendTime; - - /** - * Hr鏇存柊鏃堕棿 - */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date hrUpdateTime; - private Integer retriesTime; - - - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/TSubject.java b/src/main/java/com/ots/project/exam/domain/TSubject.java index 3a1d337..a84ea1c 100644 --- a/src/main/java/com/ots/project/exam/domain/TSubject.java +++ b/src/main/java/com/ots/project/exam/domain/TSubject.java @@ -1,5 +1,4 @@ package com.ots.project.exam.domain; - import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; import lombok.Getter; @@ -7,57 +6,27 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -/** - * 缁村害琛ㄥ璞� t_subject - * - * @author ots - * @date 2019-12-09 - */ @Getter @Setter public class TSubject extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * 缁村害缂栫爜 - */ + private Long id; - - /** - * 缁村害鍚嶇О - */ + @Excel(name = "缁村害鍚嶇О") private String name; - - /** - * - */ + private Long level; - - /** - * 璇█绫诲瀷 - */ + private String langType; - - /** - * - */ + private String levelName; - - /** - * 鎺掑簭 - */ + private Long itemOrder; - - /** - * null - */ + private Long deleted; - private String questionTemplateId; - private String questionTemplateName; - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/src/main/java/com/ots/project/exam/domain/TTextContent.java b/src/main/java/com/ots/project/exam/domain/TTextContent.java index 1c84e7d..f48b5b1 100644 --- a/src/main/java/com/ots/project/exam/domain/TTextContent.java +++ b/src/main/java/com/ots/project/exam/domain/TTextContent.java @@ -1,5 +1,4 @@ package com.ots.project.exam.domain; - import com.fasterxml.jackson.annotation.JsonFormat; import com.ots.framework.aspectj.lang.annotation.Excel; import com.ots.framework.web.domain.BaseEntity; @@ -7,50 +6,27 @@ import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; - import java.util.Date; -/** - * 棰樼洰鐨勫唴瀹瑰璞� t_text_content - * - * @author ots - * @date 2019-11-24 - */ @Getter @Setter public class TTextContent extends BaseEntity { private static final long serialVersionUID = 1L; - - /** - * null - */ + private Long id; - - /** - * null - */ + @Excel(name = "null") private String content; - - - /** - * 鏇存柊鏃堕棿 - */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; - private Date createTime; - - public TTextContent() { } - - public TTextContent(String content, Date createTime) { this.content = content; this.createTime = createTime; } - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) @@ -59,12 +35,10 @@ .append("createTime", getCreateTime()) .toString(); } - @Override public Date getCreateTime() { return createTime; } - @Override public void setCreateTime(Date createTime) { this.createTime = createTime; diff --git a/src/main/java/com/ots/project/exam/domain/TTextContentAndQuestion.java b/src/main/java/com/ots/project/exam/domain/TTextContentAndQuestion.java index a710a92..90d44ff 100644 --- a/src/main/java/com/ots/project/exam/domain/TTextContentAndQuestion.java +++ b/src/main/java/com/ots/project/exam/domain/TTextContentAndQuestion.java @@ -1,54 +1,32 @@ package com.ots.project.exam.domain; - import com.fasterxml.jackson.annotation.JsonFormat; import com.ots.framework.aspectj.lang.annotation.Excel; import lombok.Getter; import lombok.Setter; - import java.util.Date; -/** - * t_text_content 鍜� T_question - * - * @author ots - * @date 2019-12-12 - */ @Setter @Getter public class TTextContentAndQuestion { private static final long serialVersionUID = 1L; private Long id; - @Excel(name = "null") private String content; - private Long questionId; - private Integer itemOrder; - private String permanentId; - - /** - * 鏇存柊鏃堕棿 - */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; - public void setContent(String content) { this.content = content; } - private Date createTime; - public String getContent() { return content; } - - public TTextContentAndQuestion() { } - - public TTextContentAndQuestion(String content, Date createTime) { this.content = content; this.createTime = createTime; diff --git a/src/main/java/com/ots/project/exam/domain/TaskExamCustomerAnswer.java b/src/main/java/com/ots/project/exam/domain/TaskExamCustomerAnswer.java index d8168f4..55cf688 100644 --- a/src/main/java/com/ots/project/exam/domain/TaskExamCustomerAnswer.java +++ b/src/main/java/com/ots/project/exam/domain/TaskExamCustomerAnswer.java @@ -1,58 +1,40 @@ package com.ots.project.exam.domain; - import java.io.Serializable; import java.util.Date; - public class TaskExamCustomerAnswer implements Serializable { - private static final long serialVersionUID = -556842372977600137L; - private Integer id; - private Integer taskExamId; - private Integer createUser; - private Date createTime; - private Integer textContentId; - public Integer getId() { return id; } - public void setId(Integer id) { this.id = id; } - public Integer getTaskExamId() { return taskExamId; } - public void setTaskExamId(Integer taskExamId) { this.taskExamId = taskExamId; } - public Integer getCreateUser() { return createUser; } - public void setCreateUser(Integer createUser) { this.createUser = createUser; } - public Date getCreateTime() { return createTime; } - public void setCreateTime(Date createTime) { this.createTime = createTime; } - public Integer getTextContentId() { return textContentId; } - public void setTextContentId(Integer textContentId) { this.textContentId = textContentId; } diff --git a/src/main/java/com/ots/project/exam/domain/TextContent.java b/src/main/java/com/ots/project/exam/domain/TextContent.java index 7d7287e..8895699 100644 --- a/src/main/java/com/ots/project/exam/domain/TextContent.java +++ b/src/main/java/com/ots/project/exam/domain/TextContent.java @@ -1,47 +1,32 @@ package com.ots.project.exam.domain; - import java.io.Serializable; import java.util.Date; - public class TextContent implements Serializable { - private static final long serialVersionUID = -1279530310964668131L; - public TextContent() { - } - public TextContent(String content, Date createTime) { this.content = content; this.createTime = createTime; } - private Integer id; - private String content; - private Date createTime; - public Integer getId() { return id; } - public void setId(Integer id) { this.id = id; } - public String getContent() { return content; } - public void setContent(String content) { this.content = content == null ? null : content.trim(); } - public Date getCreateTime() { return createTime; } - public void setCreateTime(Date createTime) { this.createTime = createTime; } diff --git a/src/main/java/com/ots/project/exam/domain/UserEventLog.java b/src/main/java/com/ots/project/exam/domain/UserEventLog.java index a19ba5c..1c4f383 100644 --- a/src/main/java/com/ots/project/exam/domain/UserEventLog.java +++ b/src/main/java/com/ots/project/exam/domain/UserEventLog.java @@ -1,80 +1,55 @@ package com.ots.project.exam.domain; - import java.io.Serializable; import java.util.Date; - public class UserEventLog implements Serializable { - private static final long serialVersionUID = -3951198127152024633L; - - public UserEventLog() { - } - public UserEventLog(Integer userId, String userName, String realName, Date createTime) { this.userId = userId; this.userName = userName; this.realName = realName; this.createTime = createTime; } - private Integer id; - private Integer userId; - private String userName; - private String realName; - private String content; - private Date createTime; - public Integer getId() { return id; } - public void setId(Integer id) { this.id = id; } - public Integer getUserId() { return userId; } - public void setUserId(Integer userId) { this.userId = userId; } - public String getUserName() { return userName; } - public void setUserName(String userName) { this.userName = userName == null ? null : userName.trim(); } - public String getRealName() { return realName; } - public void setRealName(String realName) { this.realName = realName == null ? null : realName.trim(); } - public String getContent() { return content; } - public void setContent(String content) { this.content = content == null ? null : content.trim(); } - public Date getCreateTime() { return createTime; } - public void setCreateTime(Date createTime) { this.createTime = createTime; } diff --git a/src/main/java/com/ots/project/exam/domain/WebContext.java b/src/main/java/com/ots/project/exam/domain/WebContext.java index 12c7360..b4ba393 100644 --- a/src/main/java/com/ots/project/exam/domain/WebContext.java +++ b/src/main/java/com/ots/project/exam/domain/WebContext.java @@ -1,18 +1,13 @@ package com.ots.project.exam.domain; - import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; - @Component @AllArgsConstructor public class WebContext { - private final static ThreadLocal<ExamUser> USER_THREAD_LOCAL = new ThreadLocal<>(); - - public ExamUser getCurrentUser() { ExamUser user = new ExamUser(); - //涓轰簡璋冭瘯閫氳繃锛屼复鏃惰缃� + user.setId(3); user.setUserName("guobiao"); user.setUserUuid("dd6837e2-3662-4062-86c7-8ece0f4ef75f"); diff --git a/src/main/java/com/ots/project/exam/domain/comparator/IdComparator.java b/src/main/java/com/ots/project/exam/domain/comparator/IdComparator.java index 80a8871..4177d14 100644 --- a/src/main/java/com/ots/project/exam/domain/comparator/IdComparator.java +++ b/src/main/java/com/ots/project/exam/domain/comparator/IdComparator.java @@ -1,12 +1,9 @@ package com.ots.project.exam.domain.comparator; - import com.ots.project.exam.domain.EntTestDetail; - import java.util.Comparator; - public class IdComparator implements Comparator<EntTestDetail> { @Override public int compare(EntTestDetail o1, EntTestDetail o2) { return o1.getId() - o2.getId(); } -} \ No newline at end of file +} diff --git a/src/main/java/com/ots/project/exam/domain/comparator/TimeSpentComparator.java b/src/main/java/com/ots/project/exam/domain/comparator/TimeSpentComparator.java index c389a06..68175aa 100644 --- a/src/main/java/com/ots/project/exam/domain/comparator/TimeSpentComparator.java +++ b/src/main/java/com/ots/project/exam/domain/comparator/TimeSpentComparator.java @@ -1,13 +1,9 @@ package com.ots.project.exam.domain.comparator; - import com.ots.project.exam.domain.EntTestDetail; - import java.util.Comparator; - public class TimeSpentComparator implements Comparator<EntTestDetail> { @Override public int compare(EntTestDetail o1, EntTestDetail o2) { return o2.getTimeSpent().intValue() - o1.getTimeSpent().intValue(); } -} - +} \ No newline at end of file diff --git a/src/main/java/com/ots/project/exam/dto/BaseExamPage.java b/src/main/java/com/ots/project/exam/dto/BaseExamPage.java index ac85ab0..a941bcc 100644 --- a/src/main/java/com/ots/project/exam/dto/BaseExamPage.java +++ b/src/main/java/com/ots/project/exam/dto/BaseExamPage.java @@ -1,16 +1,10 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - -/** - * @author alvis - */ @Getter @Setter public class BaseExamPage { private Integer pageIndex; - private Integer pageSize; } diff --git a/src/main/java/com/ots/project/exam/dto/BasePage.java b/src/main/java/com/ots/project/exam/dto/BasePage.java index d18c7da..6478dcc 100644 --- a/src/main/java/com/ots/project/exam/dto/BasePage.java +++ b/src/main/java/com/ots/project/exam/dto/BasePage.java @@ -1,15 +1,8 @@ package com.ots.project.exam.dto; - import lombok.Data; - -/** - * @author OTS - */ @Data public class BasePage { private Integer pageIndex; - private Integer pageSize; - } diff --git a/src/main/java/com/ots/project/exam/dto/DataReport.java b/src/main/java/com/ots/project/exam/dto/DataReport.java index 266cdf2..d8f1256 100644 --- a/src/main/java/com/ots/project/exam/dto/DataReport.java +++ b/src/main/java/com/ots/project/exam/dto/DataReport.java @@ -1,8 +1,6 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Setter @Getter public class DataReport { @@ -11,9 +9,7 @@ private String right; private String langType; public DataReport() { - } - public DataReport(String field, String value, String right, String langType) { this.field = field; this.value = value; diff --git a/src/main/java/com/ots/project/exam/dto/DataReportHead.java b/src/main/java/com/ots/project/exam/dto/DataReportHead.java index b8ca68e..4e368e8 100644 --- a/src/main/java/com/ots/project/exam/dto/DataReportHead.java +++ b/src/main/java/com/ots/project/exam/dto/DataReportHead.java @@ -1,27 +1,22 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - import java.util.ArrayList; import java.util.List; - @Getter @Setter public class DataReportHead { - private List<Object> headSystem; // 绗竴琛岀殑鍒� - private List<Object> headEnglish; // 绗簩琛岀殑鍒� - private List<Object> headChinese;// 绗笁琛岀殑鍒� - private List<Object> headThai;// 绗笁琛岀殑鍒� - private List<Object> headRight; // 娌℃湁鏉冮檺灏卞幓鎺� - + private List<Object> headSystem; + private List<Object> headEnglish; + private List<Object> headChinese; + private List<Object> headThai; + private List<Object> headRight; public DataReportHead() { headSystem = new ArrayList<>(); headEnglish = new ArrayList<>(); headChinese = new ArrayList<>(); headThai = new ArrayList<>(); headRight = new ArrayList<>(); - headChinese.add("瀵煎嚭鍚庡彉閲忓悕锛堜腑鏂囷級"); headSystem.add("绯荤粺鍐呭彉閲忓悕"); headEnglish.add("瀵煎嚭鍚庡彉閲忓悕锛堣嫳鏂囷級"); diff --git a/src/main/java/com/ots/project/exam/dto/DemographyDataReportDto.java b/src/main/java/com/ots/project/exam/dto/DemographyDataReportDto.java index d5701d9..d71a180 100644 --- a/src/main/java/com/ots/project/exam/dto/DemographyDataReportDto.java +++ b/src/main/java/com/ots/project/exam/dto/DemographyDataReportDto.java @@ -1,8 +1,6 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class DemographyDataReportDto { diff --git a/src/main/java/com/ots/project/exam/dto/DemographyDto.java b/src/main/java/com/ots/project/exam/dto/DemographyDto.java index 2a8f7dc..4ae707e 100644 --- a/src/main/java/com/ots/project/exam/dto/DemographyDto.java +++ b/src/main/java/com/ots/project/exam/dto/DemographyDto.java @@ -1,12 +1,9 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class DemographyDto { private String langType; - private String langCode; } diff --git a/src/main/java/com/ots/project/exam/dto/DictItemDto.java b/src/main/java/com/ots/project/exam/dto/DictItemDto.java index 369bacd..c9957ca 100644 --- a/src/main/java/com/ots/project/exam/dto/DictItemDto.java +++ b/src/main/java/com/ots/project/exam/dto/DictItemDto.java @@ -1,18 +1,11 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class DictItemDto { - /** - * 瀛楀吀鍚嶇О - */ + private String dictLabel; - - /** - * 瀛楀吀鍊� - */ + private String dictValue; } diff --git a/src/main/java/com/ots/project/exam/dto/ExamLogin.java b/src/main/java/com/ots/project/exam/dto/ExamLogin.java index 31038bf..25c111e 100644 --- a/src/main/java/com/ots/project/exam/dto/ExamLogin.java +++ b/src/main/java/com/ots/project/exam/dto/ExamLogin.java @@ -1,8 +1,5 @@ package com.ots.project.exam.dto; - import lombok.Data; - - @Data public class ExamLogin { private String userName; diff --git a/src/main/java/com/ots/project/exam/dto/ExamPaperAnswerInfo.java b/src/main/java/com/ots/project/exam/dto/ExamPaperAnswerInfo.java index b26e3d5..19588b7 100644 --- a/src/main/java/com/ots/project/exam/dto/ExamPaperAnswerInfo.java +++ b/src/main/java/com/ots/project/exam/dto/ExamPaperAnswerInfo.java @@ -1,13 +1,10 @@ package com.ots.project.exam.dto; - import com.ots.project.exam.domain.ExamPaperAnswer; import com.ots.project.exam.domain.ExamPaperQuestionCustomerAnswer; import com.ots.project.exam.domain.TExamPaper; import lombok.Getter; import lombok.Setter; - import java.util.List; - @Getter @Setter public class ExamPaperAnswerInfo { diff --git a/src/main/java/com/ots/project/exam/dto/ExamPaperAnswerUpdate.java b/src/main/java/com/ots/project/exam/dto/ExamPaperAnswerUpdate.java index cde2323..d2e7d13 100644 --- a/src/main/java/com/ots/project/exam/dto/ExamPaperAnswerUpdate.java +++ b/src/main/java/com/ots/project/exam/dto/ExamPaperAnswerUpdate.java @@ -1,7 +1,5 @@ package com.ots.project.exam.dto; - import lombok.Data; - @Data public class ExamPaperAnswerUpdate { private Integer id; diff --git a/src/main/java/com/ots/project/exam/dto/ExamPaperQuestion.java b/src/main/java/com/ots/project/exam/dto/ExamPaperQuestion.java index a29dac6..93a9997 100644 --- a/src/main/java/com/ots/project/exam/dto/ExamPaperQuestion.java +++ b/src/main/java/com/ots/project/exam/dto/ExamPaperQuestion.java @@ -1,13 +1,10 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - - @Getter @Setter public class ExamPaperQuestion { - // 浜у搧鍖卛d瀵瑰簲鐨剄uestion_id鐨勬案涔呮�х紪鍙� + private Long paperId; private Integer questionId; private String permanentId; diff --git a/src/main/java/com/ots/project/exam/dto/ExamPaperQuestionItemObject.java b/src/main/java/com/ots/project/exam/dto/ExamPaperQuestionItemObject.java index d129fb5..424828d 100644 --- a/src/main/java/com/ots/project/exam/dto/ExamPaperQuestionItemObject.java +++ b/src/main/java/com/ots/project/exam/dto/ExamPaperQuestionItemObject.java @@ -1,8 +1,6 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class ExamPaperQuestionItemObject { diff --git a/src/main/java/com/ots/project/exam/dto/ExamPaperTitleItem.java b/src/main/java/com/ots/project/exam/dto/ExamPaperTitleItem.java index d17ef12..2823a8e 100644 --- a/src/main/java/com/ots/project/exam/dto/ExamPaperTitleItem.java +++ b/src/main/java/com/ots/project/exam/dto/ExamPaperTitleItem.java @@ -1,31 +1,21 @@ package com.ots.project.exam.dto; - - import lombok.Getter; import lombok.Setter; - import java.util.List; -// 涓�澶ч锛屼竴澶ф + @Getter @Setter public class ExamPaperTitleItem { - private String guide; - - //@NotBlank(message = "鏍囬鍐呭涓嶈兘涓虹┖") + private String name; - - //澶х殑棰樼洰鎻忚堪 + private String description; - - // 棰樼洰姘镐箙缂栧彿 + private String permanentId; - - //@Size(min = 1,message = "璇锋坊鍔犻鐩�") - //@Valid + + private List<QuestionItem> questionItems; - private List<QuestionPart> parts; - private Integer questionId; } diff --git a/src/main/java/com/ots/project/exam/dto/ExamPaperTitleItemObject.java b/src/main/java/com/ots/project/exam/dto/ExamPaperTitleItemObject.java index 8e5b43f..5088977 100644 --- a/src/main/java/com/ots/project/exam/dto/ExamPaperTitleItemObject.java +++ b/src/main/java/com/ots/project/exam/dto/ExamPaperTitleItemObject.java @@ -1,29 +1,16 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - import java.util.List; -/** - * 涓�澶ф锛屼竴澶ч - */ @Getter @Setter public class ExamPaperTitleItemObject { - private String name; - private String description; - private String guide; - private String permanentId; - private List<ExamPaperQuestionItemObject> questionItems; - List<QuestionPart> parts; - private Integer questionId; - } diff --git a/src/main/java/com/ots/project/exam/dto/InterfaceContent.java b/src/main/java/com/ots/project/exam/dto/InterfaceContent.java index 56997f9..551750f 100644 --- a/src/main/java/com/ots/project/exam/dto/InterfaceContent.java +++ b/src/main/java/com/ots/project/exam/dto/InterfaceContent.java @@ -1,10 +1,7 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - import java.util.List; - @Getter @Setter public class InterfaceContent { diff --git a/src/main/java/com/ots/project/exam/dto/JAQPersons.java b/src/main/java/com/ots/project/exam/dto/JAQPersons.java index f324fc4..66843ab 100644 --- a/src/main/java/com/ots/project/exam/dto/JAQPersons.java +++ b/src/main/java/com/ots/project/exam/dto/JAQPersons.java @@ -1,14 +1,10 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - import java.util.Map; - @Getter @Setter public class JAQPersons { private Map<String, String> personInfo; private Map<String, String> personPoints; - } diff --git a/src/main/java/com/ots/project/exam/dto/KeyValue.java b/src/main/java/com/ots/project/exam/dto/KeyValue.java index 77ae6ec..7a972fd 100644 --- a/src/main/java/com/ots/project/exam/dto/KeyValue.java +++ b/src/main/java/com/ots/project/exam/dto/KeyValue.java @@ -1,11 +1,7 @@ package com.ots.project.exam.dto; - import lombok.Data; - @Data public class KeyValue { - private String name; private Integer value; - } diff --git a/src/main/java/com/ots/project/exam/dto/Member.java b/src/main/java/com/ots/project/exam/dto/Member.java index 9b57e2b..4ac6ecb 100644 --- a/src/main/java/com/ots/project/exam/dto/Member.java +++ b/src/main/java/com/ots/project/exam/dto/Member.java @@ -1,16 +1,11 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - import javax.validation.constraints.NotNull; - @Getter @Setter public class Member { - /** - * 鐢ㄦ埛缂栫爜 - */ + @NotNull private Long memberId; } diff --git a/src/main/java/com/ots/project/exam/dto/PaperFilter.java b/src/main/java/com/ots/project/exam/dto/PaperFilter.java index 63a1195..6a975b3 100644 --- a/src/main/java/com/ots/project/exam/dto/PaperFilter.java +++ b/src/main/java/com/ots/project/exam/dto/PaperFilter.java @@ -1,9 +1,6 @@ package com.ots.project.exam.dto; - import lombok.Data; - import java.util.Date; - @Data public class PaperFilter { private Integer userId; diff --git a/src/main/java/com/ots/project/exam/dto/PaperInfo.java b/src/main/java/com/ots/project/exam/dto/PaperInfo.java index 35fdbe9..e9654a1 100644 --- a/src/main/java/com/ots/project/exam/dto/PaperInfo.java +++ b/src/main/java/com/ots/project/exam/dto/PaperInfo.java @@ -1,9 +1,6 @@ package com.ots.project.exam.dto; - import lombok.Data; - import java.util.Date; - @Data public class PaperInfo { private Integer id; diff --git a/src/main/java/com/ots/project/exam/dto/ParamDefine.java b/src/main/java/com/ots/project/exam/dto/ParamDefine.java index ab53829..648d5a5 100644 --- a/src/main/java/com/ots/project/exam/dto/ParamDefine.java +++ b/src/main/java/com/ots/project/exam/dto/ParamDefine.java @@ -1,55 +1,26 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - import java.util.List; - @Getter @Setter public class ParamDefine { - /** - * 浼佷笟鐢ㄦ埛缂栫爜 - */ + private Long userId; - - /** - * 璇勬祴鐢ㄦ埛缂栫爜 - */ + private Long memberId; - - /** - * 鍙傛暟缂栫爜 - */ + private Long paramId; - - /** - * 鍙傛暟鍚嶇О - */ + private String paramName; - - /** - * 鍙傛暟绫诲瀷 - */ + private String types; - - /** - * 璇 - */ + private String langType; - - /** - * 鏄惁蹇呭~锛�1鏄級 - */ + private String isRequired; - - /** - * 濡傛灉閰嶇疆鏈夊瓧鍏革紝杩斿洖瀛楀吀鍒楄〃 - */ + private List<ParamDefineDictData> dictData; - - /** - * 榛樿鍊� - */ + private String paramValue; } diff --git a/src/main/java/com/ots/project/exam/dto/ParamDefineDictData.java b/src/main/java/com/ots/project/exam/dto/ParamDefineDictData.java index 8ad6965..3236253 100644 --- a/src/main/java/com/ots/project/exam/dto/ParamDefineDictData.java +++ b/src/main/java/com/ots/project/exam/dto/ParamDefineDictData.java @@ -1,28 +1,15 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class ParamDefineDictData { - /** - * 瀛楀吀璇存槑 - */ + private String dictLabel; - - /** - * 瀛楀吀鍊� - */ + private String dictValue; - - /** - * 瀛楀吀绫诲瀷 - */ + private String dictType; - - /** - * 鐘舵�� - */ + private String status; } diff --git a/src/main/java/com/ots/project/exam/dto/ParamsInfo.java b/src/main/java/com/ots/project/exam/dto/ParamsInfo.java index 67d232c..3c64c3e 100644 --- a/src/main/java/com/ots/project/exam/dto/ParamsInfo.java +++ b/src/main/java/com/ots/project/exam/dto/ParamsInfo.java @@ -1,46 +1,25 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - import javax.validation.constraints.NotNull; - @Getter @Setter public class ParamsInfo { - - /** - * 浜哄彛瀛︿俊鎭紪鐮� - */ + private Long infoId; - - /** - * 鎵�灞炰紒涓� - */ + @NotNull private Long userId; - - /** - * 璇勬祴鐢ㄦ埛缂栫爜 - */ + @NotNull private Long memberId; - - /** - * 鍙傛暟缂栫爜 - */ + @NotNull private String paramId; - - /** - * 鍙傛暟鍚嶇О - */ + @NotNull private String paramName; - - /** - * 鍙傛暟鍊� - */ + @NotNull private String paramValue; } diff --git a/src/main/java/com/ots/project/exam/dto/QuestionAnswer.java b/src/main/java/com/ots/project/exam/dto/QuestionAnswer.java index df8a136..410b186 100644 --- a/src/main/java/com/ots/project/exam/dto/QuestionAnswer.java +++ b/src/main/java/com/ots/project/exam/dto/QuestionAnswer.java @@ -1,15 +1,11 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class QuestionAnswer { - private String questionItem; private String answerItem; private String permanentId; private Integer partOrder; - } diff --git a/src/main/java/com/ots/project/exam/dto/QuestionContent.java b/src/main/java/com/ots/project/exam/dto/QuestionContent.java index 64b4b1a..66409e5 100644 --- a/src/main/java/com/ots/project/exam/dto/QuestionContent.java +++ b/src/main/java/com/ots/project/exam/dto/QuestionContent.java @@ -1,13 +1,10 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - - @Getter @Setter public class QuestionContent { - // ID锛屾案涔呴鐩紪鐮侊紝棰樼洰鍚嶇О锛岃�楁椂 + private String permanentId; private String questionTitle; } diff --git a/src/main/java/com/ots/project/exam/dto/QuestionObject.java b/src/main/java/com/ots/project/exam/dto/QuestionObject.java index 610fe1f..1e91ca2 100644 --- a/src/main/java/com/ots/project/exam/dto/QuestionObject.java +++ b/src/main/java/com/ots/project/exam/dto/QuestionObject.java @@ -1,20 +1,12 @@ package com.ots.project.exam.dto; - - import lombok.Getter; import lombok.Setter; - import java.util.List; - @Getter @Setter public class QuestionObject { - private String titleContent; - private String analyze; - private List<QuestionEditItem> questionItemObjects; - private String correct; } diff --git a/src/main/java/com/ots/project/exam/dto/QuestionPart.java b/src/main/java/com/ots/project/exam/dto/QuestionPart.java index b538dc2..41c22b1 100644 --- a/src/main/java/com/ots/project/exam/dto/QuestionPart.java +++ b/src/main/java/com/ots/project/exam/dto/QuestionPart.java @@ -1,10 +1,7 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; import java.util.List; - - @Getter @Setter public class QuestionPart { @@ -12,9 +9,8 @@ private Integer lowestScore; private Integer partOrder; private List<SignalObject> signals; - public QuestionPart() { - // 涓存椂浠g爜锛屽悗闈㈢増鏈幓鎺� + this.lowestScore = 0; this.timeOut = 36000; } diff --git a/src/main/java/com/ots/project/exam/dto/QuestionReport.java b/src/main/java/com/ots/project/exam/dto/QuestionReport.java index ef7185c..a5ed319 100644 --- a/src/main/java/com/ots/project/exam/dto/QuestionReport.java +++ b/src/main/java/com/ots/project/exam/dto/QuestionReport.java @@ -1,16 +1,12 @@ package com.ots.project.exam.dto; - import com.ots.project.exam.viewmodel.QuestionEditRequestVM; import lombok.Getter; import lombok.Setter; - import java.util.List; - - @Getter @Setter public class QuestionReport { - // ID锛屾案涔呴鐩紪鐮侊紝棰樼洰鍚嶇О锛岃�楁椂 + private Integer questionOrder; private Integer Id; private String permanentId; diff --git a/src/main/java/com/ots/project/exam/dto/RelatedParty.java b/src/main/java/com/ots/project/exam/dto/RelatedParty.java index fd80ef8..8ed2ff2 100644 --- a/src/main/java/com/ots/project/exam/dto/RelatedParty.java +++ b/src/main/java/com/ots/project/exam/dto/RelatedParty.java @@ -1,101 +1,43 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - import java.util.Date; -/** - * 涓棿灞傦紝鏍规嵁TOKEN杩斿洖鐩稿叧鑱斿弬鏁� - */ @Getter @Setter public class RelatedParty { - - /** - * 娴嬭瘯鍖呯紪鐮� - */ + private Long testId; - - /** - * 娴嬭瘯鍖呭悕绉� - */ + private String testName; - - /** - * 浜у搧缂栫爜 - */ + private Long prodId; - - - /** - * 浜у搧鍚嶇О - */ + private String prodName; - - /** - * 璇勬祴鐢ㄦ埛缂栫爜 - */ + private Long memberId; - - /** - * 璇勬祴鐢ㄦ埛鍚嶇О - */ + private String memberName; - - /** - * 浼佷笟缂栫爜 - */ + private Long user_id; - - /** - * 浼佷笟鍚嶇О - */ - + private String userName; - - /** - * 鍒嗛攢鍟嗙紪鐮� - */ + private Long user_parent_id; - - /** - * 闂嵎妯$増ID - */ + private String questionTemplateId; - - /** - * 鎶ュ憡妯℃澘缂栫爜锛屼粠EntTestPackage鐨剅eportTemplateId杩囨潵锛岀敤閫楀彿闅斿紑 - */ + private String reportTemplateId; - - /** - * 鏄惁鑷姩鍙戦�佹姤鍛� - */ - + private boolean autoSendReport; - - /** - * 娴嬭瘯鍖呯姸鎬� - */ + private String status; - private String position; - private String professionalCategory; - private String superiorPosition; - private Date startTime; - - /** - * 鎵嬫満鍙风爜 - */ + private String memberPhone; - - /** - * 閮ㄩ棬鍚嶇О - */ + private String memberDept; - } diff --git a/src/main/java/com/ots/project/exam/dto/RestResponse.java b/src/main/java/com/ots/project/exam/dto/RestResponse.java index 871c0fa..daa0510 100644 --- a/src/main/java/com/ots/project/exam/dto/RestResponse.java +++ b/src/main/java/com/ots/project/exam/dto/RestResponse.java @@ -1,51 +1,32 @@ package com.ots.project.exam.dto; - import com.ots.common.enums.ResponseCode; import com.ots.common.enums.SystemCode; import com.ots.project.common.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DuplicateKeyException; -/** - * @author Shawn - */ @Slf4j public class RestResponse<T> { private int code; private String message; private T response; - public RestResponse(int code, String message) { this.code = code; this.message = message; } - public RestResponse(int code, String message, T response) { this.code = code; this.message = message; this.response = response; } - public static RestResponse fail(Integer code, String msg) { return new RestResponse<>(code, msg); } - - /** - * 澧炲姞閿欒缂栫爜缁熶竴澶勭悊 - * - * @param enumCode - * @return - */ + public static RestResponse fail(ResponseCode enumCode) { return new RestResponse<>(enumCode.getCode(), enumCode.getMessage()); } - - /** - * 寮傚父缁撳悎鏋氫妇鏂逛究寮傚父缁熶竴澶勭悊 - * - * @param e - * @return - */ + public static RestResponse fail(Exception e) { if (e instanceof BaseException) { BaseException e1 = (BaseException) e; @@ -57,37 +38,29 @@ return new RestResponse<>(999, e.getMessage()); } } - public static RestResponse ok() { SystemCode systemCode = SystemCode.OK; return new RestResponse<>(systemCode.getCode(), systemCode.getMessage()); } - public static <F> RestResponse<F> ok(F response) { SystemCode systemCode = SystemCode.OK; return new RestResponse<>(systemCode.getCode(), systemCode.getMessage(), response); } - public int getCode() { return code; } - public void setCode(int code) { this.code = code; } - public String getMessage() { return message; } - public void setMessage(String message) { this.message = message; } - public T getResponse() { return response; } - public void setResponse(T response) { this.response = response; } diff --git a/src/main/java/com/ots/project/exam/dto/SendTask.java b/src/main/java/com/ots/project/exam/dto/SendTask.java index ba158c5..474d1a2 100644 --- a/src/main/java/com/ots/project/exam/dto/SendTask.java +++ b/src/main/java/com/ots/project/exam/dto/SendTask.java @@ -1,56 +1,24 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; -/** - * SendTask 鍙戦�佸唴瀹� - * - * @author ots - * @date 2019-12-19 - */ @Getter @Setter public class SendTask { - - /** - * 閭�璇风敤鎴穖emberid鍒楄〃涓� - */ + private String memberIds; - - /** - * 鍙戦�佺被鍨� - */ + private String type; - - /** - * 鍙戜欢浜� - */ + private String fromAddressee; - - /** - * 鏀朵欢浜� - */ + private String addressee; - - /** - * 鍙戦�佸钩鍙� - */ + private String platform; - - /** - * 鏍囬 - */ + private String title; - - /** - * 鍐呭 - */ + private String content; - - /** - * 鏉℃暟 - */ + private Long number; - } diff --git a/src/main/java/com/ots/project/exam/dto/SignalObject.java b/src/main/java/com/ots/project/exam/dto/SignalObject.java index 188874f..3a81ff4 100644 --- a/src/main/java/com/ots/project/exam/dto/SignalObject.java +++ b/src/main/java/com/ots/project/exam/dto/SignalObject.java @@ -1,8 +1,6 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class SignalObject { diff --git a/src/main/java/com/ots/project/exam/dto/SubmitReport.java b/src/main/java/com/ots/project/exam/dto/SubmitReport.java index fc98c00..b781eb3 100644 --- a/src/main/java/com/ots/project/exam/dto/SubmitReport.java +++ b/src/main/java/com/ots/project/exam/dto/SubmitReport.java @@ -1,8 +1,6 @@ package com.ots.project.exam.dto; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class SubmitReport { diff --git a/src/main/java/com/ots/project/exam/dto/TaskItemAnswerObject.java b/src/main/java/com/ots/project/exam/dto/TaskItemAnswerObject.java index 96ad006..308fda2 100644 --- a/src/main/java/com/ots/project/exam/dto/TaskItemAnswerObject.java +++ b/src/main/java/com/ots/project/exam/dto/TaskItemAnswerObject.java @@ -1,17 +1,12 @@ package com.ots.project.exam.dto; - import lombok.Data; - @Data public class TaskItemAnswerObject { private Integer examPaperId; private Integer examPaperAnswerId; private Integer status; - public TaskItemAnswerObject() { - } - public TaskItemAnswerObject(Integer examPaperId, Integer examPaperAnswerId, Integer status) { this.examPaperId = examPaperId; this.examPaperAnswerId = examPaperAnswerId; diff --git a/src/main/java/com/ots/project/exam/dto/TaskItemObject.java b/src/main/java/com/ots/project/exam/dto/TaskItemObject.java index 46d2a86..cc62b64 100644 --- a/src/main/java/com/ots/project/exam/dto/TaskItemObject.java +++ b/src/main/java/com/ots/project/exam/dto/TaskItemObject.java @@ -1,7 +1,5 @@ package com.ots.project.exam.dto; - import lombok.Data; - @Data public class TaskItemObject { private Integer examPaperId; diff --git a/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerCompleteEvent.java b/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerCompleteEvent.java index 8caa839..799ca80 100644 --- a/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerCompleteEvent.java +++ b/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerCompleteEvent.java @@ -1,24 +1,14 @@ package com.ots.project.exam.listener; - import com.ots.project.exam.dto.ExamPaperAnswerInfo; import org.springframework.context.ApplicationEvent; -/** - * @author OTS - */ public class CalculateExamPaperAnswerCompleteEvent extends ApplicationEvent { - - private final ExamPaperAnswerInfo examPaperAnswerInfo; - - public CalculateExamPaperAnswerCompleteEvent(final ExamPaperAnswerInfo examPaperAnswerInfo) { super(examPaperAnswerInfo); this.examPaperAnswerInfo = examPaperAnswerInfo; } - public ExamPaperAnswerInfo getExamPaperAnswerInfo() { return examPaperAnswerInfo; } - } diff --git a/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java b/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java index 11a5dcd..a8169fd 100644 --- a/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java +++ b/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java @@ -1,5 +1,4 @@ package com.ots.project.exam.listener; - import com.ots.common.enums.ExamPaperTypeEnum; import com.ots.common.enums.QuestionTypeEnum; import com.ots.project.exam.domain.ExamPaperAnswer; @@ -16,40 +15,28 @@ import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; - import java.util.Date; import java.util.List; - -/** - * @author OTS - */ @Component @AllArgsConstructor public class CalculateExamPaperAnswerListener implements ApplicationListener<CalculateExamPaperAnswerCompleteEvent> { - @Autowired private ExamPaperAnswerService examPaperAnswerService; - @Autowired private ExamPaperQuestionCustomerAnswerService examPaperQuestionCustomerAnswerService; - @Autowired private ITTextContentService textContentService; - @Autowired private TaskExamCustomerAnswerService examCustomerAnswerService; - @Override @Transactional public void onApplicationEvent(CalculateExamPaperAnswerCompleteEvent calculateExamPaperAnswerCompleteEvent) { Date now = new Date(); - ExamPaperAnswerInfo examPaperAnswerInfo = (ExamPaperAnswerInfo) calculateExamPaperAnswerCompleteEvent.getSource(); TExamPaper examPaper = examPaperAnswerInfo.getExamPaper(); ExamPaperAnswer examPaperAnswer = examPaperAnswerInfo.getExamPaperAnswer(); List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers = examPaperAnswerInfo.getExamPaperQuestionCustomerAnswers(); - examPaperAnswerService.insertByFilter(examPaperAnswer); examPaperQuestionCustomerAnswers.stream().filter(a -> QuestionTypeEnum.needSaveTextContent(a.getQuestionType())).forEach(d -> { TTextContent textContent = new TTextContent(d.getAnswer(), now); @@ -61,7 +48,6 @@ d.setExamPaperAnswerId(examPaperAnswer.getId()); }); examPaperQuestionCustomerAnswerService.insertList(examPaperQuestionCustomerAnswers); - switch (ExamPaperTypeEnum.fromCode(examPaper.getPaperType().intValue())) { case Task: { examCustomerAnswerService.insertOrUpdate(examPaper, examPaperAnswer, now); diff --git a/src/main/java/com/ots/project/exam/listener/UserEvent.java b/src/main/java/com/ots/project/exam/listener/UserEvent.java index 87798e0..7f3292e 100644 --- a/src/main/java/com/ots/project/exam/listener/UserEvent.java +++ b/src/main/java/com/ots/project/exam/listener/UserEvent.java @@ -1,17 +1,12 @@ package com.ots.project.exam.listener; - import com.ots.project.exam.domain.UserEventLog; import org.springframework.context.ApplicationEvent; - public class UserEvent extends ApplicationEvent { - private final UserEventLog userEventLog; - public UserEvent(final UserEventLog userEventLog) { super(userEventLog); this.userEventLog = userEventLog; } - public UserEventLog getUserEventLog() { return userEventLog; } diff --git a/src/main/java/com/ots/project/exam/listener/UserLogListener.java b/src/main/java/com/ots/project/exam/listener/UserLogListener.java index c06076c..a36303e 100644 --- a/src/main/java/com/ots/project/exam/listener/UserLogListener.java +++ b/src/main/java/com/ots/project/exam/listener/UserLogListener.java @@ -1,20 +1,15 @@ package com.ots.project.exam.listener; - import com.ots.project.exam.service.UserEventLogService; import lombok.AllArgsConstructor; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; - @Component @AllArgsConstructor public class UserLogListener implements ApplicationListener<UserEvent> { - - //杩欎釜鍏ュ簱鐨勭敤浠g爜鐢熸垚 + private UserEventLogService userEventLogService; - @Override public void onApplicationEvent(UserEvent userEvent) { userEventLogService.insertByFilter(userEvent.getUserEventLog()); } - } diff --git a/src/main/java/com/ots/project/exam/mapper/BaseExamMapper.java b/src/main/java/com/ots/project/exam/mapper/BaseExamMapper.java index 8a08fad..c1a1540 100644 --- a/src/main/java/com/ots/project/exam/mapper/BaseExamMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/BaseExamMapper.java @@ -1,16 +1,9 @@ package com.ots.project.exam.mapper; - public interface BaseExamMapper<T> { - int deleteByPrimaryKey(Integer id); - int insert(T record); - int insertSelective(T record); - T selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(T record); - int updateByPrimaryKey(T record); } diff --git a/src/main/java/com/ots/project/exam/mapper/BaseMapper.java b/src/main/java/com/ots/project/exam/mapper/BaseMapper.java index 867ba3c..1401d29 100644 --- a/src/main/java/com/ots/project/exam/mapper/BaseMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/BaseMapper.java @@ -1,16 +1,9 @@ package com.ots.project.exam.mapper; - public interface BaseMapper<T> { - int deleteByPrimaryKey(Integer id); - int insert(T record); - int insertSelective(T record); - T selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(T record); - int updateByPrimaryKey(T record); } diff --git a/src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java b/src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java index 50f9824..4b4831f 100644 --- a/src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/EntDemographyInfoMapper.java @@ -1,63 +1,19 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.EntDemographyInfo; - import java.util.List; -/** - * 浜哄彛瀛︿俊鎭疢apper鎺ュ彛 - * - * @author ots - * @date 2019-12-15 - */ public interface EntDemographyInfoMapper { - /** - * 鏌ヨ浜哄彛瀛︿俊鎭� - * - * @param infoId 浜哄彛瀛︿俊鎭疘D - * @return 浜哄彛瀛︿俊鎭� - */ + EntDemographyInfo selectEntDemographyInfoById(Long infoId); - - /** - * 鏌ヨ浜哄彛瀛︿俊鎭垪琛� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 浜哄彛瀛︿俊鎭泦鍚� - */ + List<EntDemographyInfo> selectEntDemographyInfoList(EntDemographyInfo entDemographyInfo); - List<EntDemographyInfo> selectEntDemographyAndParamList(EntDemographyInfo entDemographyInfo); - - /** - * 鏂板浜哄彛瀛︿俊鎭� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 缁撴灉 - */ + int insertEntDemographyInfo(EntDemographyInfo entDemographyInfo); - - /** - * 淇敼浜哄彛瀛︿俊鎭� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 缁撴灉 - */ + int updateEntDemographyInfo(EntDemographyInfo entDemographyInfo); - - /** - * 鍒犻櫎浜哄彛瀛︿俊鎭� - * - * @param infoId 浜哄彛瀛︿俊鎭疘D - * @return 缁撴灉 - */ + int deleteEntDemographyInfoById(Long infoId); - - /** - * 鎵归噺鍒犻櫎浜哄彛瀛︿俊鎭� - * - * @param infoIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntDemographyInfoByIds(String[] infoIds); } diff --git a/src/main/java/com/ots/project/exam/mapper/EntDemographyParamMapper.java b/src/main/java/com/ots/project/exam/mapper/EntDemographyParamMapper.java index 690e42c..d0d2052 100644 --- a/src/main/java/com/ots/project/exam/mapper/EntDemographyParamMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/EntDemographyParamMapper.java @@ -1,64 +1,20 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.EntDemographyParam; - import java.util.List; import java.util.Map; -/** - * 浜哄彛瀛﹀彉閲忓畾涔塎apper鎺ュ彛 - * - * @author ots - * @date 2019-12-11 - */ public interface EntDemographyParamMapper { - /** - * 鏌ヨ浜哄彛瀛﹀彉閲忓畾涔� - * - * @param paramId 浜哄彛瀛﹀彉閲忓畾涔塈D - * @return 浜哄彛瀛﹀彉閲忓畾涔� - */ + EntDemographyParam selectEntDemographyParamById(Long paramId); - - /** - * 鏌ヨ浜哄彛瀛﹀彉閲忓畾涔夊垪琛� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 浜哄彛瀛﹀彉閲忓畾涔夐泦鍚� - */ + List<EntDemographyParam> selectEntDemographyParamList(EntDemographyParam entDemographyParam); - List<EntDemographyParam> selectEntDemographyParamListByParamIn(String[] paramIds); - - /** - * 鏂板浜哄彛瀛﹀彉閲忓畾涔� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 缁撴灉 - */ + int insertEntDemographyParam(EntDemographyParam entDemographyParam); - - /** - * 淇敼浜哄彛瀛﹀彉閲忓畾涔� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 缁撴灉 - */ + int updateEntDemographyParam(EntDemographyParam entDemographyParam); - - /** - * 鍒犻櫎浜哄彛瀛﹀彉閲忓畾涔� - * - * @param paramId 浜哄彛瀛﹀彉閲忓畾涔塈D - * @return 缁撴灉 - */ + int deleteEntDemographyParamById(Long paramId); - - /** - * 鎵归噺鍒犻櫎浜哄彛瀛﹀彉閲忓畾涔� - * - * @param paramIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntDemographyParamByIds(String[] paramIds); } diff --git a/src/main/java/com/ots/project/exam/mapper/EntOperLogMapper.java b/src/main/java/com/ots/project/exam/mapper/EntOperLogMapper.java index 859b9bd..7934ca7 100644 --- a/src/main/java/com/ots/project/exam/mapper/EntOperLogMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/EntOperLogMapper.java @@ -1,61 +1,18 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.EntOperLog; - import java.util.List; -/** - * 浣跨敤娆℃暟鎿嶄綔璁板綍Mapper鎺ュ彛 - * - * @author ots - * @date 2020-01-19 - */ public interface EntOperLogMapper { - /** - * 鏌ヨ浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param logId 浣跨敤娆℃暟鎿嶄綔璁板綍ID - * @return 浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + EntOperLog selectEntOperLogById(Long logId); - - /** - * 鏌ヨ浣跨敤娆℃暟鎿嶄綔璁板綍鍒楄〃 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 浣跨敤娆℃暟鎿嶄綔璁板綍闆嗗悎 - */ + List<EntOperLog> selectEntOperLogList(EntOperLog entOperLog); - - /** - * 鏂板浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 缁撴灉 - */ + int insertEntOperLog(EntOperLog entOperLog); - - /** - * 淇敼浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 缁撴灉 - */ + int updateEntOperLog(EntOperLog entOperLog); - - /** - * 鍒犻櫎浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param logId 浣跨敤娆℃暟鎿嶄綔璁板綍ID - * @return 缁撴灉 - */ + int deleteEntOperLogById(Long logId); - - /** - * 鎵归噺鍒犻櫎浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param logIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntOperLogByIds(String[] logIds); } diff --git a/src/main/java/com/ots/project/exam/mapper/EntTestMemberBackstageMapper.java b/src/main/java/com/ots/project/exam/mapper/EntTestMemberBackstageMapper.java index 4c88e16..c1816d4 100644 --- a/src/main/java/com/ots/project/exam/mapper/EntTestMemberBackstageMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/EntTestMemberBackstageMapper.java @@ -1,61 +1,19 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.EntTestMemberBackstage; import java.util.List; -/** - * EntTestMemberBackstageMapper鎺ュ彛 - * - * @author ots - * @date 2020-02-29 - */ public interface EntTestMemberBackstageMapper { - /** - * 鏌ヨEntTestMemberBackstage - * - * @param memberId EntTestMemberBackstageID - * @return EntTestMemberBackstage - */ + public EntTestMemberBackstage selectEntTestMemberBackstageById(Long memberId); - - /** - * 鏌ヨEntTestMemberBackstage鍒楄〃 - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return EntTestMemberBackstage闆嗗悎 - */ + public List<EntTestMemberBackstage> selectEntTestMemberBackstageList(EntTestMemberBackstage entTestMemberBackstage); - - /** - * 鏂板EntTestMemberBackstage - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return 缁撴灉 - */ + public int insertEntTestMemberBackstage(EntTestMemberBackstage entTestMemberBackstage); - - /** - * 淇敼EntTestMemberBackstage - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return 缁撴灉 - */ + public int updateEntTestMemberBackstage(EntTestMemberBackstage entTestMemberBackstage); - - /** - * 鍒犻櫎EntTestMemberBackstage - * - * @param memberId EntTestMemberBackstageID - * @return 缁撴灉 - */ + public int deleteEntTestMemberBackstageById(Long memberId); - - /** - * 鎵归噺鍒犻櫎EntTestMemberBackstage - * - * @param memberIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteEntTestMemberBackstageByIds(String[] memberIds); } diff --git a/src/main/java/com/ots/project/exam/mapper/EntTestMemberMapper.java b/src/main/java/com/ots/project/exam/mapper/EntTestMemberMapper.java index 6009881..d8d49b2 100644 --- a/src/main/java/com/ots/project/exam/mapper/EntTestMemberMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/EntTestMemberMapper.java @@ -1,75 +1,24 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.EntTestMember; - import java.util.List; import java.util.Map; -/** - * 娴嬭瘎浜哄憳鍚嶅崟Mapper鎺ュ彛 - * - * @author ots - * @date 2019-12-15 - */ public interface EntTestMemberMapper { - /** - * 鏌ヨ娴嬭瘎浜哄憳鍚嶅崟 - * - * @param memberId 娴嬭瘎浜哄憳鍚嶅崟ID - * @return 娴嬭瘎浜哄憳鍚嶅崟 - */ + EntTestMember selectEntTestMemberById(Long memberId); - - /** - * 鏌ヨ娴嬭瘎浜哄憳鍚嶅崟鍒楄〃 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 娴嬭瘎浜哄憳鍚嶅崟闆嗗悎 - */ + List<EntTestMember> selectEntTestMemberList(EntTestMember entTestMember); - List<EntTestMember> selectEntTestMemberTopList(EntTestMember entTestMember); - List<EntTestMember> selectEntTestMemberQueryList(EntTestMember entTestMember); - - /** - * 鑷畾涔夊弬鏁� - * @param params - * @return - */ + List<EntTestMember> selectEntTestMemberListByMap(Map params); - - /** - * 鏂板娴嬭瘎浜哄憳鍚嶅崟 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 缁撴灉 - */ + int insertEntTestMember(EntTestMember entTestMember); - - /** - * 淇敼娴嬭瘎浜哄憳鍚嶅崟 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 缁撴灉 - */ + int updateEntTestMember(EntTestMember entTestMember); - - /** - * 鍒犻櫎娴嬭瘎浜哄憳鍚嶅崟 - * - * @param memberId 娴嬭瘎浜哄憳鍚嶅崟ID - * @return 缁撴灉 - */ + int deleteEntTestMemberById(Long memberId); - - /** - * 鎵归噺鍒犻櫎娴嬭瘎浜哄憳鍚嶅崟 - * - * @param memberIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntTestMemberByIds(String[] memberIds); - EntTestMember findEntTestMember(Map paramMap); } diff --git a/src/main/java/com/ots/project/exam/mapper/EntTestPackageMapper.java b/src/main/java/com/ots/project/exam/mapper/EntTestPackageMapper.java index ee1013f..4d5ba45 100644 --- a/src/main/java/com/ots/project/exam/mapper/EntTestPackageMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/EntTestPackageMapper.java @@ -1,67 +1,21 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.EntTestPackage; - import java.util.List; import java.util.Map; -/** - * 娴嬭瘯鍖呯鐞哅apper鎺ュ彛 - * - * @author ots - * @date 2019-11-27 - */ public interface EntTestPackageMapper { - /** - * 鏌ヨ娴嬭瘯鍖呯鐞� - * - * @param id 娴嬭瘯鍖呯鐞咺D - * @return 娴嬭瘯鍖呯鐞� - */ + EntTestPackage selectEntTestPackageById(Long id); - - /** - * 鏌ヨ娴嬭瘯鍖呯鐞嗗垪琛� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 娴嬭瘯鍖呯鐞嗛泦鍚� - */ + List<EntTestPackage> selectEntTestPackageList(EntTestPackage entTestPackage); - List<EntTestPackage> selectEntTestPackageMainList(EntTestPackage entTestPackage); - - /** - * 鏂板娴嬭瘯鍖呯鐞� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 缁撴灉 - */ + int insertEntTestPackage(EntTestPackage entTestPackage); - - /** - * 淇敼娴嬭瘯鍖呯鐞� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 缁撴灉 - */ + int updateEntTestPackage(EntTestPackage entTestPackage); - - /** - * 鍒犻櫎娴嬭瘯鍖呯鐞� - * - * @param id 娴嬭瘯鍖呯鐞咺D - * @return 缁撴灉 - */ + int deleteEntTestPackageById(Long id); - - /** - * 鎵归噺鍒犻櫎娴嬭瘯鍖呯鐞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntTestPackageByIds(String[] ids); - - List<EntTestPackage> selectEntTestPackageListByIdAndStatusIn(Map paramMap); } diff --git a/src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMailMapper.java b/src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMailMapper.java index de990c1..2a63fa0 100644 --- a/src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMailMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMailMapper.java @@ -1,61 +1,18 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.EntTestSendtaskMail; - import java.util.List; -/** - * 閭閫�淇¤褰昅apper鎺ュ彛 - * - * @author ots - * @date 2020-03-09 - */ public interface EntTestSendtaskMailMapper { - /** - * 鏌ヨ閭閫�淇¤褰� - * - * @param id 閭閫�淇¤褰旾D - * @return 閭閫�淇¤褰� - */ + EntTestSendtaskMail selectEntTestSendtaskMailById(Long id); - - /** - * 鏌ヨ閭閫�淇¤褰曞垪琛� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 閭閫�淇¤褰曢泦鍚� - */ + List<EntTestSendtaskMail> selectEntTestSendtaskMailList(EntTestSendtaskMail entTestSendtaskMail); - - /** - * 鏂板閭閫�淇¤褰� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 缁撴灉 - */ + int insertEntTestSendtaskMail(EntTestSendtaskMail entTestSendtaskMail); - - /** - * 淇敼閭閫�淇¤褰� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 缁撴灉 - */ + int updateEntTestSendtaskMail(EntTestSendtaskMail entTestSendtaskMail); - - /** - * 鍒犻櫎閭閫�淇¤褰� - * - * @param id 閭閫�淇¤褰旾D - * @return 缁撴灉 - */ + int deleteEntTestSendtaskMailById(Long id); - - /** - * 鎵归噺鍒犻櫎閭閫�淇¤褰� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntTestSendtaskMailByIds(String[] ids); } diff --git a/src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMapper.java b/src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMapper.java index 391b3e7..ccaff90 100644 --- a/src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/EntTestSendtaskMapper.java @@ -1,61 +1,18 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.EntTestSendtask; - import java.util.List; -/** - * 璇勬祴閭�璇峰彂閫佷换鍔apper鎺ュ彛 - * - * @author ots - * @date 2019-12-19 - */ public interface EntTestSendtaskMapper { - /** - * 鏌ヨ璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param id 璇勬祴閭�璇峰彂閫佷换鍔D - * @return 璇勬祴閭�璇峰彂閫佷换鍔� - */ + EntTestSendtask selectEntTestSendtaskById(Long id); - - /** - * 鏌ヨ璇勬祴閭�璇峰彂閫佷换鍔″垪琛� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 璇勬祴閭�璇峰彂閫佷换鍔¢泦鍚� - */ + List<EntTestSendtask> selectEntTestSendtaskList(EntTestSendtask entTestSendtask); - - /** - * 鏂板璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 缁撴灉 - */ + int insertEntTestSendtask(EntTestSendtask entTestSendtask); - - /** - * 淇敼璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 缁撴灉 - */ + int updateEntTestSendtask(EntTestSendtask entTestSendtask); - - /** - * 鍒犻櫎璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param id 璇勬祴閭�璇峰彂閫佷换鍔D - * @return 缁撴灉 - */ + int deleteEntTestSendtaskById(Long id); - - /** - * 鎵归噺鍒犻櫎璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntTestSendtaskByIds(String[] ids); } diff --git a/src/main/java/com/ots/project/exam/mapper/ExamPaperAnswerMapper.java b/src/main/java/com/ots/project/exam/mapper/ExamPaperAnswerMapper.java index a0c31ff..bc50a07 100644 --- a/src/main/java/com/ots/project/exam/mapper/ExamPaperAnswerMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/ExamPaperAnswerMapper.java @@ -1,35 +1,21 @@ package com.ots.project.exam.mapper; - - import com.ots.project.exam.domain.ExamPaperAnswer; import com.ots.project.exam.dto.KeyValue; import com.ots.project.exam.viewmodel.ExamPaperAnswerPageVM; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; - import java.util.Date; import java.util.List; - @Mapper public interface ExamPaperAnswerMapper extends BaseMapper<ExamPaperAnswer> { int deleteByPrimaryKey(Integer id); - int insert(ExamPaperAnswer record); - int insertSelective(ExamPaperAnswer record); - ExamPaperAnswer selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(ExamPaperAnswer record); - int updateByPrimaryKey(ExamPaperAnswer record); - List<ExamPaperAnswer> studentPage(ExamPaperAnswerPageVM requestVM); - Integer selectAllCount(); - List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime); - ExamPaperAnswer getByPidUid(@Param("pid") Integer paperId, @Param("uid") Integer uid); - } diff --git a/src/main/java/com/ots/project/exam/mapper/ExamPaperMapper.java b/src/main/java/com/ots/project/exam/mapper/ExamPaperMapper.java index abd2a83..f731e62 100644 --- a/src/main/java/com/ots/project/exam/mapper/ExamPaperMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/ExamPaperMapper.java @@ -1,5 +1,4 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.ExamPaper; import com.ots.project.exam.domain.TExamPaper; import com.ots.project.exam.dto.KeyValue; @@ -9,38 +8,22 @@ import com.ots.project.exam.viewmodel.ExamPaperPageVM; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; - import java.util.Date; import java.util.List; - @Mapper public interface ExamPaperMapper extends BaseExamMapper<ExamPaper> { int deleteByPrimaryKey(Integer id); - int insert(ExamPaper record); - int insertSelective(ExamPaper record); - ExamPaper selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(ExamPaper record); - int updateByPrimaryKey(ExamPaper record); - List<ExamPaper> page(ExamPaperPageRequestVM requestVM); - List<ExamPaper> taskExamPage(ExamPaperPageRequestVM requestVM); - List<ExamPaper> studentPage(ExamPaperPageVM requestVM); - List<PaperInfo> indexPaper(PaperFilter paperFilter); - Integer selectAllCount(); - List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime); - int updateTaskPaper(@Param("taskId") Integer taskId, @Param("paperIds") List<Integer> paperIds); - int clearTaskPaper(@Param("paperIds") List<Integer> paperIds); - } diff --git a/src/main/java/com/ots/project/exam/mapper/ExamPaperQuestionCustomerAnswerMapper.java b/src/main/java/com/ots/project/exam/mapper/ExamPaperQuestionCustomerAnswerMapper.java index f5a0c6e..c8cc1c9 100644 --- a/src/main/java/com/ots/project/exam/mapper/ExamPaperQuestionCustomerAnswerMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/ExamPaperQuestionCustomerAnswerMapper.java @@ -1,39 +1,24 @@ package com.ots.project.exam.mapper; - - import com.ots.project.exam.domain.ExamPaperQuestionCustomerAnswer; import com.ots.project.exam.dto.ExamPaperAnswerUpdate; import com.ots.project.exam.dto.KeyValue; import com.ots.project.exam.viewmodel.QuestionPageStudentRequestVM; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; - import java.util.Date; import java.util.List; - @Mapper public interface ExamPaperQuestionCustomerAnswerMapper extends BaseMapper<ExamPaperQuestionCustomerAnswer> { int deleteByPrimaryKey(Integer id); - int insert(ExamPaperQuestionCustomerAnswer record); - int insertSelective(ExamPaperQuestionCustomerAnswer record); - ExamPaperQuestionCustomerAnswer selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(ExamPaperQuestionCustomerAnswer record); - int updateByPrimaryKey(ExamPaperQuestionCustomerAnswer record); - List<ExamPaperQuestionCustomerAnswer> selectListByPaperAnswerId(Integer id); - List<ExamPaperQuestionCustomerAnswer> studentPage(QuestionPageStudentRequestVM requestVM); - int insertList(List<ExamPaperQuestionCustomerAnswer> list); - Integer selectAllCount(); - List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime); - int updateScore(List<ExamPaperAnswerUpdate> examPaperAnswerUpdates); } diff --git a/src/main/java/com/ots/project/exam/mapper/QuestionMapper.java b/src/main/java/com/ots/project/exam/mapper/QuestionMapper.java index da694b7..dceadca 100644 --- a/src/main/java/com/ots/project/exam/mapper/QuestionMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/QuestionMapper.java @@ -1,33 +1,21 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.Question; import com.ots.project.exam.dto.KeyValue; import com.ots.project.exam.viewmodel.QuestionPageRequestVM; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; - import java.util.Date; import java.util.List; - @Mapper public interface QuestionMapper extends BaseExamMapper<Question> { int deleteByPrimaryKey(Integer id); - int insert(Question record); - int insertSelective(Question record); - Question selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(Question record); - int updateByPrimaryKey(Question record); - List<Question> page(QuestionPageRequestVM requestVM); - List<Question> selectByIds(@Param("ids") List<Integer> ids); - Integer selectAllCount(); - List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime); } diff --git a/src/main/java/com/ots/project/exam/mapper/SubjectMapper.java b/src/main/java/com/ots/project/exam/mapper/SubjectMapper.java index 2f30256..aef22c7 100644 --- a/src/main/java/com/ots/project/exam/mapper/SubjectMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/SubjectMapper.java @@ -1,28 +1,17 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.Subject; import com.ots.project.exam.viewmodel.SubjectPageRequestVM; import org.apache.ibatis.annotations.Mapper; - import java.util.List; - @Mapper public interface SubjectMapper extends BaseMapper<Subject> { int deleteByPrimaryKey(Integer id); - int insert(Subject record); - int insertSelective(Subject record); - Subject selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(Subject record); - int updateByPrimaryKey(Subject record); - List<Subject> getSubjectByLevel(Integer level); - List<Subject> allSubject(); - List<Subject> page(SubjectPageRequestVM requestVM); } diff --git a/src/main/java/com/ots/project/exam/mapper/SysUserExtendMapper.java b/src/main/java/com/ots/project/exam/mapper/SysUserExtendMapper.java index c2aff41..5ea5ae7 100644 --- a/src/main/java/com/ots/project/exam/mapper/SysUserExtendMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/SysUserExtendMapper.java @@ -1,61 +1,18 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.SysUserExtend; - import java.util.List; -/** - * 鐢ㄦ埛淇℃伅鎵╁睍Mapper鎺ュ彛 - * - * @author ots - * @date 2019-11-20 - */ public interface SysUserExtendMapper { - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param userId 鐢ㄦ埛淇℃伅鎵╁睍ID - * @return 鐢ㄦ埛淇℃伅鎵╁睍 - */ + SysUserExtend selectSysUserExtendById(Long userId); - - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍鍒楄〃 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 鐢ㄦ埛淇℃伅鎵╁睍闆嗗悎 - */ + List<SysUserExtend> selectSysUserExtendList(SysUserExtend sysUserExtend); - - /** - * 鏂板鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 缁撴灉 - */ + int insertSysUserExtend(SysUserExtend sysUserExtend); - - /** - * 淇敼鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 缁撴灉 - */ + int updateSysUserExtend(SysUserExtend sysUserExtend); - - /** - * 鍒犻櫎鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param userId 鐢ㄦ埛淇℃伅鎵╁睍ID - * @return 缁撴灉 - */ + int deleteSysUserExtendById(Long userId); - - /** - * 鎵归噺鍒犻櫎鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param userIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteSysUserExtendByIds(String[] userIds); } diff --git a/src/main/java/com/ots/project/exam/mapper/SysUserPaperMapper.java b/src/main/java/com/ots/project/exam/mapper/SysUserPaperMapper.java index aeddd7b..402a7a8 100644 --- a/src/main/java/com/ots/project/exam/mapper/SysUserPaperMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/SysUserPaperMapper.java @@ -1,61 +1,18 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.SysUserPaper; - import java.util.List; -/** - * 鐢ㄦ埛浜у搧Mapper鎺ュ彛 - * - * @author ots - * @date 2020-03-22 - */ public interface SysUserPaperMapper { - /** - * 鏌ヨ鐢ㄦ埛浜у搧 - * - * @param userId 鐢ㄦ埛浜у搧ID - * @return 鐢ㄦ埛浜у搧 - */ + SysUserPaper selectSysUserPaperById(Long userId); - - /** - * 鏌ヨ鐢ㄦ埛浜у搧鍒楄〃 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 鐢ㄦ埛浜у搧闆嗗悎 - */ + List<SysUserPaper> selectSysUserPaperList(SysUserPaper sysUserPaper); - - /** - * 鏂板鐢ㄦ埛浜у搧 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 缁撴灉 - */ + int insertSysUserPaper(SysUserPaper sysUserPaper); - - /** - * 淇敼鐢ㄦ埛浜у搧 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 缁撴灉 - */ + int updateSysUserPaper(SysUserPaper sysUserPaper); - - /** - * 鍒犻櫎鐢ㄦ埛浜у搧 - * - * @param userId 鐢ㄦ埛浜у搧ID - * @return 缁撴灉 - */ + int deleteSysUserPaperById(Long userId); - - /** - * 鎵归噺鍒犻櫎鐢ㄦ埛浜у搧 - * - * @param userIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteSysUserPaperByIds(String[] userIds); } diff --git a/src/main/java/com/ots/project/exam/mapper/TExamLevelMapper.java b/src/main/java/com/ots/project/exam/mapper/TExamLevelMapper.java index 9cbe363..db9427f 100644 --- a/src/main/java/com/ots/project/exam/mapper/TExamLevelMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TExamLevelMapper.java @@ -1,75 +1,26 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TExamLevel; import org.apache.ibatis.annotations.Param; - import java.util.List; -/** - * 闂嵎绫诲瀷Mapper鎺ュ彛 - * - * @author ots - * @date 2019-12-15 - */ public interface TExamLevelMapper { - /** - * 鏌ヨ闂嵎绫诲瀷 - * - * @param id 闂嵎绫诲瀷ID - * @return 闂嵎绫诲瀷 - */ + public TExamLevel selectTExamLevelById(Long id); - - /** - * 鏌ヨ闂嵎绫诲瀷鍒楄〃 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 闂嵎绫诲瀷闆嗗悎 - */ + public List<TExamLevel> selectTExamLevelList(TExamLevel tExamLevel); - public List<TExamLevel> selectTExamLevelList(); - public List<TExamLevel> selectTExamLevelByquestionTemplateIdList(String questionTemplateId); - - /** - * 鏂板闂嵎绫诲瀷 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 缁撴灉 - */ + public int insertTExamLevel(TExamLevel tExamLevel); - - /** - * 淇敼闂嵎绫诲瀷 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 缁撴灉 - */ + public int updateTExamLevel(TExamLevel tExamLevel); - - /** - * 鍒犻櫎闂嵎绫诲瀷 - * - * @param id 闂嵎绫诲瀷ID - * @return 缁撴灉 - */ + public int deleteTExamLevelById(Long id); - - /** - * 鎵归噺鍒犻櫎闂嵎绫诲瀷 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteTExamLevelByIds(String[] ids); - List<TExamLevel> selectTExamLevelAndTSubjectById(Long id); - public TExamLevel selectTExamLevelByUuidLan(@Param("uuid") String uuid, @Param("langType") String langType); - public List<TExamLevel> selectTExamLevelByUuid(@Param("uuid") String uuid); - List<TExamLevel> selectTExamLevelListByType(Integer[] types); } diff --git a/src/main/java/com/ots/project/exam/mapper/TExamPaperMapper.java b/src/main/java/com/ots/project/exam/mapper/TExamPaperMapper.java index 0581e03..a8dd18f 100644 --- a/src/main/java/com/ots/project/exam/mapper/TExamPaperMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TExamPaperMapper.java @@ -1,70 +1,23 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TExamPaper; - import java.util.List; import java.util.Map; -/** - * 浜у搧鍖呭垪琛∕apper鎺ュ彛 - * - * @author ots - * @date 2019-11-20 - */ public interface TExamPaperMapper { - /** - * 鏌ヨ浜у搧鍖呭垪琛� - * - * @param id 浜у搧鍖呭垪琛↖D - * @return 浜у搧鍖呭垪琛� - */ + TExamPaper selectTExamPaperById(Long id); - - /** - * 鏌ヨ浜у搧鍖呭垪琛ㄥ垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 浜у搧鍖呭垪琛ㄩ泦鍚� - */ + List<TExamPaper> selectTExamPaperList(TExamPaper tExamPaper); - - /** - * 鏂板浜у搧鍖呭垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 缁撴灉 - */ + int insertTExamPaper(TExamPaper tExamPaper); - - /** - * 淇敼浜у搧鍖呭垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 缁撴灉 - */ + int updateTExamPaper(TExamPaper tExamPaper); - - /** - * 鍒犻櫎浜у搧鍖呭垪琛� - * - * @param id 浜у搧鍖呭垪琛↖D - * @return 缁撴灉 - */ + int deleteTExamPaperById(Long id); - - /** - * 鎵归噺鍒犻櫎浜у搧鍖呭垪琛� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteTExamPaperByIds(String[] ids); - int updateByDelete(String[] ids); - List<TExamPaper> selectProdByDeleteList(Map params); - String selectEPaperMaxVBypermanentId(TExamPaper tExamPaper); - int updateTExamPaperVersion(TExamPaper tExamPaper); } diff --git a/src/main/java/com/ots/project/exam/mapper/TExamPaperQuestionMapper.java b/src/main/java/com/ots/project/exam/mapper/TExamPaperQuestionMapper.java index 8e2f6f7..87b5c83 100644 --- a/src/main/java/com/ots/project/exam/mapper/TExamPaperQuestionMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TExamPaperQuestionMapper.java @@ -1,61 +1,19 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TExamPaperQuestion; import java.util.List; -/** - * 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮廙apper鎺ュ彛 - * - * @author ots - * @date 2020-03-03 - */ public interface TExamPaperQuestionMapper { - /** - * 鏌ヨ璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - * - * @param paperId 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮廔D - * @return 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - */ + public TExamPaperQuestion selectTExamPaperQuestionById(Long paperId); - - /** - * 鏌ヨ璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮忓垪琛� - * - * @param tExamPaperQuestion 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - * @return 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮忛泦鍚� - */ + public List<TExamPaperQuestion> selectTExamPaperQuestionList(TExamPaperQuestion tExamPaperQuestion); - - /** - * 鏂板璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - * - * @param tExamPaperQuestion 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - * @return 缁撴灉 - */ + public int insertTExamPaperQuestion(TExamPaperQuestion tExamPaperQuestion); - - /** - * 淇敼璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - * - * @param tExamPaperQuestion 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - * @return 缁撴灉 - */ + public int updateTExamPaperQuestion(TExamPaperQuestion tExamPaperQuestion); - - /** - * 鍒犻櫎璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - * - * @param paperId 璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮廔D - * @return 缁撴灉 - */ + public int deleteTExamPaperQuestionById(Long paperId); - - /** - * 鎵归噺鍒犻櫎璁板綍浜у搧鍖呭搴旂殑棰樼洰缂栫爜鏂逛究鍚庨潰鐨勬煡璇㈤渶姹傦紝涓轰簡闃叉杩囧ぇ锛岀敤delete鐨勬柟寮� - * - * @param paperIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteTExamPaperQuestionByIds(String[] paperIds); } diff --git a/src/main/java/com/ots/project/exam/mapper/TExamReportMapper.java b/src/main/java/com/ots/project/exam/mapper/TExamReportMapper.java index 1712e84..54a5d87 100644 --- a/src/main/java/com/ots/project/exam/mapper/TExamReportMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TExamReportMapper.java @@ -1,94 +1,33 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TExamReport; - import java.util.List; import java.util.Map; -/** - * 璇勬祴鎶ュ憡Mapper鎺ュ彛 - * - * @author ots - * @date 2019-12-26 - */ public interface TExamReportMapper { - /** - * 鏌ヨ璇勬祴鎶ュ憡 - * - * @param id 璇勬祴鎶ュ憡ID - * @return 璇勬祴鎶ュ憡 - */ + TExamReport selectTExamReportById(Long id); - - /** - * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 璇勬祴鎶ュ憡闆嗗悎 - */ + List<TExamReport> selectTExamReportList(TExamReport tExamReport); - + List<TExamReport> selectTExamReportNoStatusList(TExamReport tExamReport); List<TExamReport> selectTExamHrEmailiReportList(TExamReport tExamReport); - List<TExamReport> selectViewReportList(TExamReport tExamReport); - List<TExamReport> selectHrResendTask(TExamReport tExamReport); - - /** - * 鏂板璇勬祴鎶ュ憡 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 缁撴灉 - */ + int insertTExamReport(TExamReport tExamReport); - - /** - * 淇敼璇勬祴鎶ュ憡 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 缁撴灉 - */ + int updateTExamReport(TExamReport tExamReport); - int updateTExamReportStatus(TExamReport tExamReport); - int updateTExamReportByTokenId(TExamReport tExamReport); - - /** - * 鍒犻櫎璇勬祴鎶ュ憡 - * - * @param id 璇勬祴鎶ュ憡ID - * @return 缁撴灉 - */ + int deleteTExamReportById(Long id); - - /** - * 鎵归噺鍒犻櫎璇勬祴鎶ュ憡 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteTExamReportByIds(String[] ids); - - /** - * 鎵归噺鏇存柊瀹℃牳鐘舵�� - * - * @param params - * @return - */ + int updateTExamReportByIds(Map params); - - // 缁欐祴璇曞寘鐢ㄦ埛浣跨敤 + List<TExamReport> selectTExamReportByTokenList(String[] tokenIds); - List<TExamReport> selectTExamReportByIds(String[] ids); - - /** - * 鏍规嵁鐢ㄦ埛id鏌ヨ鎶ュ憡 - * @param ids - * @return - */ + List<TExamReport> selectTReportTemplatesByMemberId(String[] ids); - int updateTExamReportDeleteLastOneByTokenId(TExamReport tExamReport); } diff --git a/src/main/java/com/ots/project/exam/mapper/TQuestionMapper.java b/src/main/java/com/ots/project/exam/mapper/TQuestionMapper.java index 9bce59b..3bbfa1b 100644 --- a/src/main/java/com/ots/project/exam/mapper/TQuestionMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TQuestionMapper.java @@ -1,78 +1,27 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TQuestion; import org.apache.ibatis.annotations.Param; - import java.util.List; -/** - * 棰樼洰鍒楄〃Mapper鎺ュ彛 - * - * @author Shawn - * @date 2019-11-20 - */ public interface TQuestionMapper { - /** - * 鏌ヨ棰樼洰鍒楄〃 - * - * @param id 棰樼洰鍒楄〃ID - * @return 棰樼洰鍒楄〃 - */ + TQuestion selectTQuestionById(Long id); - List<TQuestion> selectTQuestionByPermanentId(String permanentId); - List<TQuestion> selectTQuestionByIds(List<Long> ids); - - /** - * 鏌ヨ棰樼洰鍒楄〃鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 棰樼洰鍒楄〃闆嗗悎 - */ + List<TQuestion> selectTQuestionList(TQuestion tQuestion); - List<TQuestion> selectTQuestionsForProductAddQuestion(TQuestion tQuestion); - List<TQuestion> selectTQuestionScore(Integer[] ids); - - /** - * 鏂板棰樼洰鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 缁撴灉 - */ + int insertTQuestion(TQuestion tQuestion); - - /** - * 淇敼棰樼洰鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 缁撴灉 - */ + int updateTQuestion(TQuestion tQuestion); - int updateTQuestionByPermanentId(TQuestion tQuestion); - - /** - * 鍒犻櫎棰樼洰鍒楄〃 - * - * @param id 棰樼洰鍒楄〃ID - * @return 缁撴灉 - */ + int deleteTQuestionById(Long id); - - /** - * 鎵归噺鍒犻櫎棰樼洰鍒楄〃 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteTQuestionByIds(String[] ids); - int updateQuetionByDelete(String[] ids); - List<TQuestion> selectByIds(@Param("ids") List<Integer> ids); - List<TQuestion> selectTQuestionByPermanentIds( List<String> permanentIds); } diff --git a/src/main/java/com/ots/project/exam/mapper/TReportTemplateMapper.java b/src/main/java/com/ots/project/exam/mapper/TReportTemplateMapper.java index bdbcaa0..fd64d6f 100644 --- a/src/main/java/com/ots/project/exam/mapper/TReportTemplateMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TReportTemplateMapper.java @@ -1,65 +1,21 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TReportTemplate; import java.util.List; -/** - * 鎶ュ憡妯℃澘閰嶇疆Mapper鎺ュ彛 - * - * @author ots - * @date 2020-03-24 - */ public interface TReportTemplateMapper { - /** - * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆 - * - * @param id 鎶ュ憡妯℃澘閰嶇疆ID - * @return 鎶ュ憡妯℃澘閰嶇疆 - */ + public TReportTemplate selectTReportTemplateById(Long id); - - /** - * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆鍒楄〃 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 鎶ュ憡妯℃澘閰嶇疆闆嗗悎 - */ + public List<TReportTemplate> selectTReportTemplateList(TReportTemplate tReportTemplate); - public List<TReportTemplate> selectTReportTemplates(String[] ids); - TReportTemplate selectTReportTemplate(TReportTemplate tReportTemplate); - - /** - * 鏂板鎶ュ憡妯℃澘閰嶇疆 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 缁撴灉 - */ + public int insertTReportTemplate(TReportTemplate tReportTemplate); - - /** - * 淇敼鎶ュ憡妯℃澘閰嶇疆 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 缁撴灉 - */ + public int updateTReportTemplate(TReportTemplate tReportTemplate); - - /** - * 鍒犻櫎鎶ュ憡妯℃澘閰嶇疆 - * - * @param id 鎶ュ憡妯℃澘閰嶇疆ID - * @return 缁撴灉 - */ + public int deleteTReportTemplateById(Long id); - - /** - * 鎵归噺鍒犻櫎鎶ュ憡妯℃澘閰嶇疆 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteTReportTemplateByIds(String[] ids); } diff --git a/src/main/java/com/ots/project/exam/mapper/TSubjectMapper.java b/src/main/java/com/ots/project/exam/mapper/TSubjectMapper.java index fdf272d..eb6722d 100644 --- a/src/main/java/com/ots/project/exam/mapper/TSubjectMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TSubjectMapper.java @@ -1,68 +1,21 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TSubject; - import java.util.List; -/** - * 缁村害琛∕apper鎺ュ彛 - * - * @author ots - * @date 2019-12-09 - */ public interface TSubjectMapper { - /** - * 鏌ヨ缁村害琛� - * - * @param id 缁村害琛↖D - * @return 缁村害琛� - */ + TSubject selectTSubjectById(Long id); - - /** - * 鏌ヨ缁村害琛ㄥ垪琛� - * - * @param tSubject 缁村害琛� - * @return 缁村害琛ㄩ泦鍚� - */ + List<TSubject> selectTSubjectList(TSubject tSubject); - - List<TSubject> selectTSubjectList(); - - /** - * 鏂板缁村害琛� - * - * @param tSubject 缁村害琛� - * @return 缁撴灉 - */ + int insertTSubject(TSubject tSubject); - - /** - * 淇敼缁村害琛� - * - * @param tSubject 缁村害琛� - * @return 缁撴灉 - */ + int updateTSubject(TSubject tSubject); - - /** - * 鍒犻櫎缁村害琛� - * - * @param id 缁村害琛↖D - * @return 缁撴灉 - */ + int deleteTSubjectById(Long id); - - /** - * 鎵归噺鍒犻櫎缁村害琛� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteTSubjectByIds(String[] ids); - TSubject selectTSubjectAndTLeveById(Long id); - List<TSubject> selectTSubjectAndTLeveByTemplateId(String questionTemplateId); } diff --git a/src/main/java/com/ots/project/exam/mapper/TTextContentMapper.java b/src/main/java/com/ots/project/exam/mapper/TTextContentMapper.java index 420bdb1..5536664 100644 --- a/src/main/java/com/ots/project/exam/mapper/TTextContentMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TTextContentMapper.java @@ -1,70 +1,23 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TTextContent; import com.ots.project.exam.domain.TTextContentAndQuestion; - import java.util.List; -/** - * 棰樼洰鐨勫唴瀹筂apper鎺ュ彛 - * - * @author ots - * @date 2019-11-24 - */ public interface TTextContentMapper { - /** - * 鏌ヨ棰樼洰鐨勫唴瀹� - * - * @param id 棰樼洰鐨勫唴瀹笽D - * @return 棰樼洰鐨勫唴瀹� - */ + public TTextContent selectTTextContentById(Long id); - - //鐢╥n鐨勬柟寮忔煡璇� + public List<TTextContent> selectTTextContentByIds(String[] ids); - - //甯uestionId鐨� + public List<TTextContentAndQuestion> selectTextContentAndQuestion(String[] ids); - - - /** - * 鏌ヨ棰樼洰鐨勫唴瀹瑰垪琛� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 棰樼洰鐨勫唴瀹归泦鍚� - */ + public List<TTextContent> selectTTextContentList(TTextContent tTextContent); - - /** - * 鏂板棰樼洰鐨勫唴瀹� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 缁撴灉 - */ + public int insertTTextContent(TTextContent tTextContent); - - /** - * 淇敼棰樼洰鐨勫唴瀹� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 缁撴灉 - */ + public int updateTTextContent(TTextContent tTextContent); - - /** - * 鍒犻櫎棰樼洰鐨勫唴瀹� - * - * @param id 棰樼洰鐨勫唴瀹笽D - * @return 缁撴灉 - */ + public int deleteTTextContentById(Long id); - - /** - * 鎵归噺鍒犻櫎棰樼洰鐨勫唴瀹� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteTTextContentByIds(String[] ids); - } diff --git a/src/main/java/com/ots/project/exam/mapper/TaskExamCustomerAnswerMapper.java b/src/main/java/com/ots/project/exam/mapper/TaskExamCustomerAnswerMapper.java index 65dbbec..34a07ec 100644 --- a/src/main/java/com/ots/project/exam/mapper/TaskExamCustomerAnswerMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/TaskExamCustomerAnswerMapper.java @@ -1,26 +1,16 @@ package com.ots.project.exam.mapper; - import com.ots.project.exam.domain.TaskExamCustomerAnswer; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; - import java.util.List; - @Mapper public interface TaskExamCustomerAnswerMapper extends BaseMapper<TaskExamCustomerAnswer> { int deleteByPrimaryKey(Integer id); - int insert(TaskExamCustomerAnswer record); - int insertSelective(TaskExamCustomerAnswer record); - TaskExamCustomerAnswer selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(TaskExamCustomerAnswer record); - int updateByPrimaryKey(TaskExamCustomerAnswer record); - TaskExamCustomerAnswer getByTUid(@Param("tid") Integer tid, @Param("uid") Integer uid); - List<TaskExamCustomerAnswer> selectByTUid(@Param("taskIds") List<Integer> taskIds, @Param("uid") Integer uid); } diff --git a/src/main/java/com/ots/project/exam/mapper/UserEventLogMapper.java b/src/main/java/com/ots/project/exam/mapper/UserEventLogMapper.java index 98992ae..69c8218 100644 --- a/src/main/java/com/ots/project/exam/mapper/UserEventLogMapper.java +++ b/src/main/java/com/ots/project/exam/mapper/UserEventLogMapper.java @@ -1,33 +1,20 @@ package com.ots.project.exam.mapper; - - import com.ots.project.exam.domain.UserEventLog; import com.ots.project.exam.dto.KeyValue; import com.ots.project.exam.viewmodel.UserEventPageRequestVM; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; - import java.util.Date; import java.util.List; - @Mapper public interface UserEventLogMapper extends BaseMapper<UserEventLog> { - int deleteByPrimaryKey(Integer id); - int insert(UserEventLog record); - int insertSelective(UserEventLog record); - UserEventLog selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(UserEventLog record); - int updateByPrimaryKey(UserEventLog record); - List<UserEventLog> getUserEventLogByUserId(Integer id); - List<UserEventLog> page(UserEventPageRequestVM requestVM); - List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime); } diff --git a/src/main/java/com/ots/project/exam/restcontroller/DashboardController.java b/src/main/java/com/ots/project/exam/restcontroller/DashboardController.java index ffb8b2b..33b37ef 100644 --- a/src/main/java/com/ots/project/exam/restcontroller/DashboardController.java +++ b/src/main/java/com/ots/project/exam/restcontroller/DashboardController.java @@ -1,5 +1,4 @@ package com.ots.project.exam.restcontroller; - import com.ots.common.enums.ExamPaperTypeEnum; import com.ots.project.common.BaseApiController; import com.ots.project.exam.domain.ExamUser; @@ -16,35 +15,28 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; - import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; - @RestController("StudentDashboardController") @RequestMapping(value = "/api/exam/dashboard") @AllArgsConstructor public class DashboardController extends BaseApiController { - @Autowired private IExamPaperService examPaperService; - @RequestMapping(value = "/index", method = RequestMethod.POST) public RestResponse<IndexVM> index() { IndexVM indexVM = new IndexVM(); ExamUser user = getCurrentUser(); - PaperFilter fixedPaperFilter = new PaperFilter(); fixedPaperFilter.setGradeLevel(user.getUserLevel()); fixedPaperFilter.setExamPaperType(ExamPaperTypeEnum.Fixed.getCode()); indexVM.setFixedPaper(examPaperService.indexPaper(fixedPaperFilter)); - PaperFilter timeLimitPaperFilter = new PaperFilter(); timeLimitPaperFilter.setDateTime(new Date()); timeLimitPaperFilter.setGradeLevel(user.getUserLevel()); timeLimitPaperFilter.setExamPaperType(ExamPaperTypeEnum.TimeLimit.getCode()); - List<PaperInfo> limitPaper = examPaperService.indexPaper(timeLimitPaperFilter); List<PaperInfoVM> paperInfoVMS = limitPaper.stream().map(d -> { PaperInfoVM vm = modelMapper.map(d, PaperInfoVM.class); @@ -55,7 +47,6 @@ indexVM.setTimeLimitPaper(paperInfoVMS); return RestResponse.ok(indexVM); } - @RequestMapping(value = "/task", method = RequestMethod.POST) public RestResponse<List<TaskItemVm>> task() { return RestResponse.ok(new ArrayList<>()); diff --git a/src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java b/src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java index c31249c..68f7f6b 100644 --- a/src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java +++ b/src/main/java/com/ots/project/exam/restcontroller/ExamPaperAnswerController.java @@ -1,6 +1,4 @@ package com.ots.project.exam.restcontroller; - - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ots.common.enums.LangTypeEnum; @@ -28,20 +26,16 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; - import javax.validation.Valid; import java.util.*; import java.util.stream.Collectors; - import static com.ots.common.enums.ReportTypeEnum.Brief; import static com.ots.common.enums.SenderCode.noSend; import static com.ots.common.enums.SenderCode.send; - @RestController("StudentExamPaperAnswerController") @RequestMapping(value = "/api/exam/exampaper/answer") @AllArgsConstructor public class ExamPaperAnswerController extends BaseApiController { - @Autowired private ExamPaperAnswerService examPaperAnswerService; @Autowired @@ -57,53 +51,41 @@ @Autowired private TExamPaperServiceImpl examPaperService; private static final Logger logger = LoggerFactory.getLogger(Threads.class); - - // 绛旈鎻愪氦 + @RequestMapping(value = "/answerSubmit/{tokenId}", method = RequestMethod.POST) public RestResponse answerSubmit(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM, @PathVariable String tokenId) { logger.info("tokenId:" + tokenId); logger.info("itemOrder:" + examPaperSubmitVM.getItemOrder()); - try { - // 1銆佹煡璇㈠嚭鐢ㄦ埛鐨勪俊鎭� + ExamUser user = new ExamUser(); - // testId绛� + RelatedParty relatedParty = memberService.queryProdidByToken(tokenId); - //鍏ヤ汉鍙e鐨勯敭鍊� - // Map<String, String> examInfoMap = getDemographicReport(tokenId, user); - // dataReportList 瀵瑰簲鍩虹鏁版嵁瀵煎嚭content閭d釜瀛楁 + + + List<DataReport> dataReportList = getDemographicDataReport(examPaperSubmitVM, tokenId, user); - - // 3銆佹妸question鍙栧嚭鏉� + Map<Long, QuestionObject> questionObjectMap = getLongQuestionObjectMap(examPaperSubmitVM); - - // 4銆佹祴璇曞寘鍚嶇О銆佷骇鍝佸悕绉般�佹祴璇曞紑濮嬫椂闂淬�佹祴璇曞畬鎴愭椂闂寸殑 - // setReportInfo(examPaperSubmitVM, relatedParty, examInfoMap); + + setReportInfo(examPaperSubmitVM, relatedParty, dataReportList); - examPaperSubmitVM.setInterfaceContentList(new ArrayList<>()); TExamReport tExamReportQuery = new TExamReport(); tExamReportQuery.setTokenId(tokenId); setExamPaperSubTERList(examPaperSubmitVM, tExamReportQuery); - - // 5銆佷繚瀛樿皟鐢ㄦ嘲鍥藉洟闃熺殑鏁版嵁锛岀涓�娈电粨鏉熻皟鐢ㄦ嘲鍥藉洟闃� - // setRemoteCallReport(examPaperSubmitVM, tokenId, relatedParty, dataReportList); - - //6銆佸舰鎴愰鐩�佸洖绛旈�夐」,闇�瑕佹潈闄愮瓑绛� - // setQuestionAndAnswer(examPaperSubmitVM, tokenId, relatedParty, dataReportList, questionObjectMap); - - // 7銆佷笂涓�娆¢�変粈涔� + + + + + Map<String, String> lastContentMap = getLastChioce(examPaperSubmitVM); - - // 8銆佽繖娆¢�変粈涔� + Map<String, String> choiceMap = getThisChioce(examPaperSubmitVM); - - // 9銆佽缃姤琛ㄧ殑鍐呭 + setQuestionReport(examPaperSubmitVM); - - // 10銆侀鐩叆搴� + ExamPaperAnswerInfo examPaperAnswerInfo = answerSubmitResult(examPaperSubmitVM, tokenId, relatedParty, user, dataReportList, lastContentMap, choiceMap); - return RestResponse.ok(examPaperAnswerInfo.getSubmitReport()); } catch (Exception e) { logger.error("{}", e.getMessage(), e); @@ -116,25 +98,21 @@ throw e; } } - private void setExamPaperSubTERList(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReportQuery) { List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReportQuery); if (ExamUtil.isListEmpty(tExamReportList)) { tExamReportList = new ArrayList<>(); } - examPaperSubmitVM.setTExamReportList(tExamReportList); } - private void setRemoteCallReport(ExamPaperSubmitVM examPaperSubmitVM, @PathVariable String tokenId, RelatedParty relatedParty, List<DataReport> dataReportList) { List<InterfaceContent> interfaceContentList = examPaperSubmitVM.getInterfaceContentList(); if (!StringUtils.equals(examPaperSubmitVM.getIsCallTain(), "callTain")) { - // 瑕佸彇鍘熸潵鐨勬暟鎹� + setInterfaceContent(examPaperSubmitVM, interfaceContentList); return; } - - // 妯℃嫙璋冪敤 + Map<String, String> thaiCalculationMap = new HashMap<>(); MAQReport maqReport = new MAQReport(); maqReport.setQuestionnaireTaker(relatedParty.getMemberName()); @@ -151,7 +129,6 @@ thaiCalculationMap.put("P_Creat02", "80"); ReportResultData resultData = maqReport.getTemplateParameters(thaiCalculationMap, Brief, LangTypeEnum.English); Map<String, String> thaiDataMap = resultData.getTextMap(); - InterfaceContent interfaceContent = new InterfaceContent(); interfaceContent.setPartOrder(examPaperSubmitVM.getPartOrder()); interfaceContent.setDataReportList(new ArrayList<>()); @@ -159,13 +136,10 @@ thaiDataMap.forEach((key, value) -> { iterFDataReportList.add(new DataReport(key, value, UserTypeEnum.SYS_USER.getUserType(), examPaperSubmitVM.getLangType())); }); - - // 鎶婃棫鐨剅eport琛ㄦ暟鎹嬁鍑烘潵 + setInterfaceContent(examPaperSubmitVM, interfaceContentList); - interfaceContentList.add(interfaceContent); } - private void setInterfaceContent(ExamPaperSubmitVM examPaperSubmitVM, List<InterfaceContent> interfaceContentList) { if (ExamUtil.isListNotEmpty(examPaperSubmitVM.getTExamReportList())) { List<InterfaceContent> interfaceContentOldList = null; @@ -176,8 +150,7 @@ } } } - - // 娴嬭瘯鍖呭悕绉般�佷骇鍝佸悕绉般�佹祴璇曞紑濮嬫椂闂淬�佹祴璇曞畬鎴愭椂闂寸殑 + private void setReportInfo(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM, RelatedParty relatedParty, List<DataReport> dataReportList) { dataReportList.add(new DataReport("Test Package", relatedParty.getTestName(), "", examPaperSubmitVM.getLangType())); dataReportList.add(new DataReport("Test", relatedParty.getProdName(), "", examPaperSubmitVM.getLangType())); @@ -187,8 +160,7 @@ dataReportList.add(new DataReport("Begin Time", beginTime, "", examPaperSubmitVM.getLangType())); dataReportList.add(new DataReport("End Time", endTime, "", examPaperSubmitVM.getLangType())); } - - // 杩欐閫変粈涔� + private Map<String, String> getThisChioce(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) { Map<String, String> choiceMap = new LinkedHashMap<String, String>(); examPaperSubmitVM.getAnswerItems().stream().forEach(it -> { @@ -196,8 +168,7 @@ }); return choiceMap; } - - // 涓婁竴娆¢�変粈涔� + private Map<String, String> getLastChioce(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) { Map<String, String> lastContentMap = new LinkedHashMap<String, String>(); examPaperSubmitVM.getAnswerItems().stream().forEach(it -> { @@ -205,40 +176,34 @@ }); return lastContentMap; } - - // 4銆佸舰鎴愰鐩�佸洖绛旈�夐」 + private void setQuestionAndAnswer(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM, String tokenId, RelatedParty relatedParty, List<DataReport> dataReportList, Map<Long, QuestionObject> questionObjectMap) { - List<QuestionAnswer> questionAnswers = examPaperSubmitVM.getAnswerItems().stream().map(item -> { - - //棰樺共锛屽洖绛旈」 + QuestionAnswer questionAnswer = new QuestionAnswer(); QuestionObject questionObject = questionObjectMap.get(item.getQuestionId().longValue()); - try { - //1.鍙栭骞� + questionAnswer.setQuestionItem(item.getItemOrder() + "." + ExamUtil.html2Text(questionObject.getTitleContent())); - //2銆佸彇鍥炵瓟鐨勯�夐」 + questionObject.getQuestionItemObjects().stream().forEach(q -> { if (item.getContent().equals(q.getPrefix())) { questionAnswer.setAnswerItem(q.getContent()); } }); - // 3銆侀鐩案涔呯紪鍙� + questionAnswer.setPermanentId(item.getQuestionReport().getPermanentId()); - - // 4銆佹湰棰樼洰鍦ㄩ偅涓�娈� + questionAnswer.setPartOrder(item.getQuestionReport().getPartOrder()); } catch (Exception e) { } return questionAnswer; }).collect(Collectors.toList()); - for (int i = 0; i < questionAnswers.size(); i++) { if (StringUtils.isEmpty(questionAnswers.get(i).getAnswerItem())) { break; } - // 鎻掑叆娉板浗鍥㈤槦杩涙潵鐨勬暟鎹紝閫犳暟鎹紝濡傛灉璺冲埌浜嗕笅涓�娈碉紝閭e氨鎻掑叆娉板浗鍥㈤槦鐨勬暟鎹� + if (i == 0 || questionAnswers.get(i - 1).getPartOrder() != questionAnswers.get(i).getPartOrder()) { if (ExamUtil.isListNotEmpty(examPaperSubmitVM.getInterfaceContentList())) { InterfaceContent interfaceContent = examPaperSubmitVM.getInterfaceContentList().get(0); @@ -248,28 +213,26 @@ dataReportList.add(new DataReport(questionAnswers.get(i).getPermanentId(), questionAnswers.get(i).getAnswerItem(), UserTypeEnum.SYS_USER.getUserType(), examPaperSubmitVM.getLangType())); } } - - // 鎶妐uestion鍙栧嚭鏉� + private Map<Long, QuestionObject> getLongQuestionObjectMap(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) { List<Long> questionIdList = examPaperSubmitVM.getAnswerItems().stream().map(i -> { return i.getQuestionId().longValue(); }).collect(Collectors.toList()); - //鎶妐uesitonId鍙栧嚭鏉� + List<TQuestion> tQuestionList = questionService.selectTQuestionByIds(questionIdList); - //棰樼洰id锛屾妸棰樺共锛岄�夐」涔嬬被鐨勫唴瀹瑰彇鍑烘潵 + Map<Long, QuestionObject> questionObjectMap = new HashMap<Long, QuestionObject>(); tQuestionList.stream().forEach(it -> { questionObjectMap.put(it.getId(), JSONObject.parseObject(it.getContent(), QuestionObject.class)); }); return questionObjectMap; } - - //鍏ヤ汉鍙e鐨勯敭鍊� + private Map<String, String> getDemographicReport(@PathVariable String tokenId, ExamUser user) { Map<String, String> examInfoMap = new LinkedHashMap<String, String>(); try { List<EntDemographyInfo> entDemographyInfoList = memberService.queryDemographyParamInfo(tokenId); - //2銆佽幏鍙栫敤鎴风殑鍊� + EntDemographyInfo entDemographyInfo = entDemographyInfoList.get(0); user.setId(entDemographyInfo.getMemberId().intValue()); entDemographyInfoList.stream().forEach(item -> examInfoMap.put(item.getParamName(), item.getParamValue())); @@ -279,13 +242,12 @@ } return examInfoMap; } - - //鍏ヤ汉鍙e鐨勯敭鍊� + private List<DataReport> getDemographicDataReport(ExamPaperSubmitVM examPaperSubmitVM, @PathVariable String tokenId, ExamUser user) { List<DataReport> dataReportList = new ArrayList<>(); try { List<EntDemographyInfo> entDemographyInfoList = memberService.queryDemographyParamInfo(tokenId); - //2銆佽幏鍙栫敤鎴风殑鍊� + EntDemographyInfo entDemographyInfo = entDemographyInfoList.get(0); user.setId(entDemographyInfo.getMemberId().intValue()); entDemographyInfoList.stream().forEach(item -> { @@ -297,11 +259,10 @@ } return dataReportList; } - private void setQuestionReport(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) { List<ExamPaperTitleItemVM> titleItems = examPaperSubmitVM.getTitleItems(); List<ExamPaperSubmitItemVM> anserItems = examPaperSubmitVM.getAnswerItems(); - // 浜烘牸娴嬭瘯棰橈紝鍙湁涓�娈电殑 + if (Objects.isNull(titleItems)) { if (Objects.isNull(anserItems)) { return; @@ -311,23 +272,22 @@ questionReport.setId(questionReport.getQuestionOrder() + 1); questionReport.setTimeSpent(ExamUtil.timeSpent(DateTimeUtil.parseToOften(questionReport.getStartTime()), DateTimeUtil.parseToOften(questionReport.getEndTime()))); } - // else 宸ヤ綔闂嵎娴嬭瘯棰� + } else { for (ExamPaperTitleItemVM examPaperTitleItemVM : titleItems) { - // 璁板綍JAQ灏忛 + QuestionReport questionReport = examPaperTitleItemVM.getQuestionReport(); questionReport.setId(questionReport.getQuestionOrder() + 1); questionReport.setTimeSpent(ExamUtil.timeSpent(DateTimeUtil.parseToOften(questionReport.getStartTime()), DateTimeUtil.parseToOften(questionReport.getEndTime()))); } } } - private ExamPaperAnswerInfo answerSubmitResult(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM, @PathVariable String tokenId, RelatedParty relatedParty, ExamUser user, List<DataReport> dataReportList, Map<String, String> lastContentMap, Map<String, String> choiceMap) { TExamReport tExamReport = new TExamReport(); TExamReport tExamReportQuery = new TExamReport(); tExamReport.setContent(JSON.toJSON(dataReportList).toString()); tExamReport.setProductId(examPaperSubmitVM.getId().longValue()); - tExamReport.setQuestionReport(getQuestionReportsJson(examPaperSubmitVM));// 鎶ュ憡瀛楁 + tExamReport.setQuestionReport(getQuestionReportsJson(examPaperSubmitVM)); ExamPaperAnswerInfo examPaperAnswerInfo = examPaperAnswerService.calculateExamPaperAnswer(examPaperSubmitVM, user); TExamPaper examPaper = examPaperAnswerInfo.getExamPaper(); tExamReport.setProductName(examPaper.getName()); @@ -337,124 +297,99 @@ tExamReport.setChoice(JSON.toJSON(choiceMap).toString()); tExamReport.setDoTime(examPaperSubmitVM.getDoTime()); tExamReport.setLangType(examPaperSubmitVM.getLangType()); - // 鏄惁鑷姩鍙戦�佺姸鎬佹姤鍛� + setAutoSendReportStatus(relatedParty, tExamReport); BeanUtils.copyBeanProp(tExamReportQuery, tExamReport); - tExamReportQuery.setProductId(null); tExamReportQuery.setProductName(null); List<TExamReport> tExamReportList = examPaperSubmitVM.getTExamReportList(); - // ExamPaperAnswer examPaperAnswer = examPaperAnswerInfo.getExamPaperAnswer(); - // questionCount 鍋氶鏁扮洰 + + tExamReport.setQuestionCount(0); - //member_id + tExamReport.setMemberId(relatedParty.getMemberId().intValue()); - // user_id + tExamReport.setUserId(relatedParty.getUser_id()); - // parent_id + tExamReport.setParentId(relatedParty.getUser_parent_id()); - // test_id + tExamReport.setTestId(relatedParty.getTestId()); - // finish + tExamReport.setFinish(examPaperSubmitVM.getFinish()); setVerifyStatus(examPaperSubmitVM, tExamReport); - - // questionTemplateId + tExamReport.setQuestionTemplateId(relatedParty.getQuestionTemplateId()); - - // 闅忔満棰樼洰缂栧彿 + tExamReport.setQuestionOrder(JSON.toJSONString(examPaperSubmitVM.getQuestionOrder())); - - // 闅忔満鐨勯�夐」缂栧彿 + tExamReport.setOptionOrder(JSON.toJSONString(examPaperSubmitVM.getOptionOrder())); - - // 璁剧疆鎴愬憳鍚嶇О + tExamReport.setMemberName(relatedParty.getMemberName()); - - // 妯$増鍚嶇О + tExamReport.setReportTemplateId(relatedParty.getReportTemplateId()); - - // tExamReport - - // 鐢ㄦ埛绛旈鐨勬椂闂� + + setRemainPartTime(examPaperSubmitVM, tExamReport, tExamReportList); - - // 鏇存柊鎶ュ憡 + updateTExamReport(examPaperSubmitVM, tokenId, relatedParty, tExamReport, tExamReportList); - - // 璋冪敤娉板浗鍥㈤槦 + callThaiInteface(examPaperSubmitVM, tokenId, tExamReport, examPaperAnswerInfo); return examPaperAnswerInfo; } - private void updateTExamReport(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM, @PathVariable String tokenId, RelatedParty relatedParty, TExamReport tExamReport, List<TExamReport> tExamReportList) { - // 寮�濮嬫椂闂存病鏈夋洿鏂板氨鏇存柊涓�涓� + if (Objects.isNull(relatedParty.getStartTime())) { entTestMemberService.updateTestMemberStatus(TestMemberStatusEnum.answering, memberService.queryProdidByToken(tokenId).getMemberId()); } - if (tExamReportList.size() > 0) { - // 鏇存柊鏈鐨勭瓟棰樻椂闂达紝鍏堟妸鍘熸潵鐨勬璇诲嚭鏉� + examReportService.updateTExamReportByTokenId(tExamReport); } else { examReportService.insertTExamReport(tExamReport); } - - //鏇存柊娴嬭瘯鍖呯殑鐘舵�� + if (!Objects.isNull(examPaperSubmitVM.getFinish())) { - - // 鏍¢獙姣忎竴棰樻槸鍚﹂兘绛斾簡锛屾病鏈夋剰涔夛紝鍥犱负鏈夌殑浜轰細鎻愪氦绌虹殑绛旈璁板綍涓婃潵 + checkCaqQuestionItem(tExamReport); - - // MAQ 鏈夌瓟瀹屼笉鏀圭姸鎬佺殑鎯呭喌 + TestMemberStatusEnum testMemberStatusEnum = TestMemberStatusEnum.codeOf(examPaperSubmitVM.getFinish().toString()); if (Objects.equals(Integer.parseInt(TestMemberStatusEnum.completed.getCode()), tExamReport.getVerifyStatus())) { testMemberStatusEnum = TestMemberStatusEnum.completed; } - entTestMemberService.updateTestMemberStatus(testMemberStatusEnum, tExamReport.getMemberId()); } } - private void checkCaqQuestionItem(TExamReport tExamReport) { if (!Objects.equals(tExamReport.getQuestionTemplateId(), "job")) { return; } - List<QuestionReport> questionReportList = JsonUtil.parseArray(tExamReport.getQuestionReport(), QuestionReport.class); for (QuestionReport questionReport : questionReportList) { -// questionReport = null; // 娴嬭瘯鐢� + List<QuestionEditRequestVM> questionItems = questionReport.getQuestionItems(); } - } - private void setVerifyStatus(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReport) { if (Objects.equals(examPaperSubmitVM.getFinish(), 6)) { tExamReport.setVerifyStatus(Integer.parseInt(TestMemberStatusEnum.timeOut.getCode())); } else { - // 鏇存柊鐢ㄦ埛鐨勭瓟棰樼姸鎬� + tExamReport.setVerifyStatus(examPaperSubmitVM.getVerifyStatus()); } } - private void setRemainPartTime(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReport, List<TExamReport> tExamReportList) { if (Objects.isNull(examPaperSubmitVM.getRemainTime())) { return; } - Map<Integer, Integer> remainPartTimeMap = null; - if (tExamReportList.size() > 0) { remainPartTimeMap = JsonUtil.parseObject(tExamReportList.get(0).getRemainPartTime(), HashMap.class); } else { remainPartTimeMap = new HashMap<>(); } - remainPartTimeMap.put(examPaperSubmitVM.getPartOrder(), examPaperSubmitVM.getRemainTime()); tExamReport.setRemainPartTime(JsonUtil.toJSONString(remainPartTimeMap)); } - private void callThaiInteface(ExamPaperSubmitVM examPaperSubmitVM, @PathVariable String tokenId, TExamReport tExamReport, ExamPaperAnswerInfo examPaperAnswerInfo) { if (Objects.equals(examPaperSubmitVM.getIsCallTain(), "CallThai")) { SignalObject signalObject = examPaperService.callTaiData(tokenId, tExamReport.getLangType(), examPaperSubmitVM); @@ -462,10 +397,9 @@ submitReport.setSignalObject(signalObject); } } - - // 鑷姩鍙戦�佺姸鎬佹姤鍛婇渶瑕佸鐞嗙殑鍐呭 + private void setAutoSendReportStatus(RelatedParty relatedParty, TExamReport tExamReport) { - // 0锛氬緟鍙戦�侊紱1锛氬凡鍙戦�侊紱2锛氫笉鍙戦�� + if (relatedParty.isAutoSendReport()) { tExamReport.setSendHrStatus(send.getCode()); tExamReport.setSendTesterStatus(send.getCode()); @@ -475,8 +409,7 @@ tExamReport.setSendTesterStatus(noSend.getCode()); } } - - // 鑾峰緱QuestionReport鍒楄〃鐨凧son瀛楃涓插叆t_exam_roport琛� + private String getQuestionReportsJson(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) { List<ExamPaperTitleItemVM> titleItems = examPaperSubmitVM.getTitleItems(); List<ExamPaperSubmitItemVM> answerItems = examPaperSubmitVM.getAnswerItems(); @@ -495,8 +428,7 @@ } return JsonUtil.toJsonStr(questionReportList); } - - // 鐐瑰嚮寮�濮嬬瓟棰樼殑鏃跺�欙紝鏀规垚绛旈涓紝浠呮墽琛屼竴娆� + @RequestMapping(value = "/updateTestMemberStatus/{tokenId}", method = RequestMethod.POST) public RestResponse updateTestMemberStatus(@PathVariable String tokenId) { entTestMemberService.updateTestMemberStatus(TestMemberStatusEnum.answering, memberService.queryProdidByToken(tokenId).getMemberId()); diff --git a/src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java b/src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java index 98d7ef2..1e71480 100644 --- a/src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java +++ b/src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java @@ -1,6 +1,4 @@ package com.ots.project.exam.restcontroller; - - import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.ots.common.constant.Constants; @@ -37,7 +35,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; - import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -46,35 +43,26 @@ import java.util.Map; import java.util.Objects; import java.util.Set; - @RestController("StudentExamPaperController") @RequestMapping(value = "/api/exam/paper") @AllArgsConstructor @Slf4j public class ExamPaperController extends BaseApiController { - @Autowired private IExamPaperService examPaperService; - @Autowired private TExamPaperServiceImpl itExamPaperService; - @Autowired private ITExamReportService examReportService; - @Autowired MemberService memberService; - private static final Logger logger = LoggerFactory.getLogger(Threads.class); - @RequestMapping(value = "/select/{tokenId}/{langType}", method = RequestMethod.POST) public RestResponse<ExamPaperEditRequestVM> select(@PathVariable String tokenId, @PathVariable String langType) { RelatedParty relatedParty = memberService.queryProdidByToken(tokenId); ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(relatedParty, tokenId, langType); return RestResponse.ok(vm); } - - @RequestMapping(value = "/selectTokenId/{selectTokenId}", method = RequestMethod.POST) public RestResponse<ExamResultRequestVM> selectTokenId(@PathVariable String selectTokenId) { try { @@ -83,33 +71,26 @@ tExamReport.setTokenId(selectTokenId); List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReport); ExamResultRequestVM examResultRequestVM = new ExamResultRequestVM(); - TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(memberService.queryProdidByToken(selectTokenId).getProdId()); - examResultRequestVM.setDoUrl(tExamPaper.getQuestionTemplateId()); examResultRequestVM.setReportTemplateId(tExamPaper.getReportTemplateId()); - RelatedParty relatedParty = memberService.queryProdidByToken(selectTokenId); examResultRequestVM.setStatus(relatedParty.getStatus()); - TExamReport tExamReportResult = null; if (tExamReportList.size() > 0) { tExamReportResult = tExamReportList.get(0); - // 鐩墠鍙煡璇竴涓骇鍝佸寘缁欑敤鎴� + tExamReportTemp = tExamReportResult; examResultRequestVM.setDoTime(tExamReportTemp.getDoTime()); examResultRequestVM.setFinish(tExamReportTemp.getFinish()); - // 鑾峰彇鏈�鍚庝竴涓墿浣欐椂闂淬�傛瘮濡傜幇鍦ㄦ湁2娈碉紝鑾峰彇绗�2娈� + Integer remainTimeResult = getRemainTimeResult(tExamReportTemp); examResultRequestVM.setRemainTime(remainTimeResult); } else { return RestResponse.ok(examResultRequestVM); } - LinkedHashMap<String, String> answerMap = JSON.parseObject(tExamReportTemp.getChoice(), LinkedHashMap.class); - examResultRequestVM.setExamItemOrderAndContentList(new ArrayList<>()); - if (!Objects.isNull(answerMap)) { answerMap.forEach((k, v) -> { ExamItemOrderAndContent examItemOrderAndContent = new ExamItemOrderAndContent(); @@ -118,8 +99,7 @@ examResultRequestVM.getExamItemOrderAndContentList().add(examItemOrderAndContent); }); } - - // 杩斿洖缁欏墠鍙版寚瀵艰 + getSignalObject(examResultRequestVM, tExamPaper, tExamReportResult); return RestResponse.ok(examResultRequestVM); } catch (Exception e) { @@ -127,7 +107,6 @@ return RestResponse.fail(new UserException("jsp.exam.product.noProduct", new String[]{})); } } - private Integer getRemainTimeResult(TExamReport tExamReportTemp) { Map<Integer, Integer> remainPartTimeMap = JsonUtil.parseObject(tExamReportTemp.getRemainPartTime(), HashMap.class); if (Objects.isNull(remainPartTimeMap)) { @@ -138,20 +117,18 @@ Arrays.sort(remainPartTimeKeys); return remainPartTimeMap.get(remainPartTimeKeys[remainPartTimeKeys.length - 1]); } - private void getSignalObject(ExamResultRequestVM examResultRequestVM, TExamPaper tExamPaper, TExamReport tExamReportResult) { List<ExamPaperTitleItem> examPaperTitleItemList = JsonUtil.parseArray(tExamPaper.getContent(), ExamPaperTitleItem.class); List<QuestionPart> parts = examPaperTitleItemList.get(0).getParts(); if (CollUtil.isEmpty(parts)) { return; } - QuestionPart questionPart = parts.get(0); // 鍏堝啓姝� + QuestionPart questionPart = parts.get(0); List<SignalObject> signals = questionPart.getSignals(); List<ReportAPIResult> reportAPIResultList = JsonUtil.parseArray(tExamReportResult.getInterfaceContent(), ReportAPIResult.class); if (Objects.isNull(reportAPIResultList)) { return; } - for (SignalObject signalObject : signals) { if (Objects.equals(reportAPIResultList.get(0).getSignal(), signalObject.getSignal())) { signalObject.setSignalDescription(ExamUtil.getLangString(tExamReportResult.getLangType(), signalObject.getSignalDescription())); @@ -164,8 +141,7 @@ } } } - - // 璁板綍鐧婚檰鏃ュ織 + @RequestMapping(value = "/recordLogininfor/{selectTokenId}", method = RequestMethod.POST) public RestResponse<ExamResultRequestVM> recordLogininfor(@PathVariable String selectTokenId) { AsyncManager.me().execute(AsyncFactory.recordLogininfor(memberService.queryProdidByToken(selectTokenId).getMemberId().toString(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); diff --git a/src/main/java/com/ots/project/exam/restcontroller/ExamUserController.java b/src/main/java/com/ots/project/exam/restcontroller/ExamUserController.java index 31aa137..a668aa1 100644 --- a/src/main/java/com/ots/project/exam/restcontroller/ExamUserController.java +++ b/src/main/java/com/ots/project/exam/restcontroller/ExamUserController.java @@ -1,6 +1,4 @@ package com.ots.project.exam.restcontroller; - - import com.ots.project.common.BaseApiController; import com.ots.project.exam.domain.ExamUser; import com.ots.project.exam.dto.ExamLogin; @@ -11,31 +9,23 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; - import javax.validation.Valid; - -/** - * @author ots - */ @RestController("StudentUserController") @RequestMapping(value = "/api/exam/examUser") @AllArgsConstructor public class ExamUserController extends BaseApiController { - @RequestMapping(value = "/message/unreadCount", method = RequestMethod.POST) public RestResponse unReadCount() { return RestResponse.ok(0); } - @RequestMapping(value = "/current", method = RequestMethod.POST) public RestResponse<UserResponseVM> current() { ExamUser user = getCurrentUser(); UserResponseVM userVm = UserResponseVM.from(user); return RestResponse.ok(userVm); } - - //涓存椂鐧婚檰 + @RequestMapping(value = "/login", method = RequestMethod.POST) public RestResponse answerSubmit(@RequestBody @Valid ExamLogin examLogin) { ExamUser user = getCurrentUser(); diff --git a/src/main/java/com/ots/project/exam/restcontroller/MemberController.java b/src/main/java/com/ots/project/exam/restcontroller/MemberController.java index 20ecd67..9693fd3 100644 --- a/src/main/java/com/ots/project/exam/restcontroller/MemberController.java +++ b/src/main/java/com/ots/project/exam/restcontroller/MemberController.java @@ -1,55 +1,26 @@ package com.ots.project.exam.restcontroller; - import com.ots.project.exam.dto.ParamsInfo; import com.ots.project.exam.dto.RestResponse; import org.springframework.web.bind.annotation.*; - import javax.validation.Valid; import java.util.List; -/** - * 璇勬祴鐢ㄦ埛璁块棶绫� - */ @RestController @RequestMapping(value = "/remote/member") public interface MemberController { - /** - * 鑾峰彇浜哄彛瀛﹀彉閲忎俊鎭� - */ + @RequestMapping(value = "/param/{token}/{lang}", method = RequestMethod.GET) RestResponse getdemographyParam(@PathVariable String token, @PathVariable String lang); - - /** - * 鏌ヨ鐢ㄦ埛鐨勪汉鍙e淇℃伅 - * - * @return - */ + @RequestMapping(value = "/paramInfo/{token}", method = RequestMethod.GET) RestResponse queryDemographyParamInfo(@PathVariable String token); - - /** - * 淇濆瓨浜哄彛瀛︿俊鎭� - * - * @param infos - * @return - */ + @RequestMapping(value = "/save/{token}/{langType}", method = RequestMethod.POST) RestResponse saveDemographyParamInfo(@RequestBody @Valid List<ParamsInfo> infos, @PathVariable String token, @PathVariable String langType); - - /** - * 鐢ㄦ埛閴存潈鎺ュ彛 - * 鐢ㄦ埛閫氳繃token鑾峰彇褰撳墠鍙敤鐨勪护鐗岀敤浜庡悗闈� - * - * @return - */ + @RequestMapping(value = "/auth/{token}", method = RequestMethod.GET) RestResponse memberAuth(@PathVariable String token); - - /** - * 鑾峰彇褰撳墠鏀寔鐨勮瑷�绫诲瀷 - * @param token - * @return - */ + @RequestMapping(value = "/langList/{token}/{reportTemplateId}", method = RequestMethod.GET) RestResponse queryLangList(@PathVariable String token, @PathVariable String reportTemplateId); } diff --git a/src/main/java/com/ots/project/exam/restcontroller/MemberControllerImpl.java b/src/main/java/com/ots/project/exam/restcontroller/MemberControllerImpl.java index 14ae59f..0caaa1e 100644 --- a/src/main/java/com/ots/project/exam/restcontroller/MemberControllerImpl.java +++ b/src/main/java/com/ots/project/exam/restcontroller/MemberControllerImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.restcontroller; - import com.ots.project.exam.domain.EntDemographyInfo; import com.ots.project.exam.domain.EntDemographyParam; import com.ots.project.exam.domain.EntTestMember; @@ -13,50 +12,40 @@ import com.ots.project.exam.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; - import javax.validation.Valid; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; - @RestController public class MemberControllerImpl implements MemberController { - @Autowired private MemberService memberService; - @Autowired private IEntTestMemberService entTestMemberService; - @Autowired IEntDemographyParamService entDemographyParamService; - @Autowired private ITReportTemplateService itReportTemplateService; - @Override public RestResponse getdemographyParam(String token, String lang) { try { List<ParamDefine> collect = memberService.getParamDefines(token, lang); - // 绲﹀鍚嶉粯璁ゅ�� + getMemberNameValue(collect); return RestResponse.ok(collect); } catch (Exception ex) { return RestResponse.fail(ex); } } - private void getMemberNameValue(List<ParamDefine> collect) { EntTestMember entTestMember = entTestMemberService.selectEntTestMemberById(collect.get(0).getMemberId()); String paramIds = collect.stream().map(it -> { return it.getParamId().toString(); }).collect(Collectors.joining(",")); - List<EntDemographyParam> entDemographyParams = entDemographyParamService.selectEntDemographyParamListByParamIn(paramIds); Map<Long, String> entDemographyParamsMap = entDemographyParams.stream().collect( Collectors.toMap(EntDemographyParam::getParamId, EntDemographyParam::getParamCode)); - for (ParamDefine paramDefine : collect) { System.out.println(entDemographyParamsMap.get(paramDefine.getParamId())); if (Objects.equals(entDemographyParamsMap.get(paramDefine.getParamId()), "name")) { @@ -64,7 +53,6 @@ } } } - @Override public RestResponse queryDemographyParamInfo(String token) { try { @@ -74,7 +62,6 @@ return RestResponse.fail(ex); } } - @Override public RestResponse saveDemographyParamInfo(@Valid List<ParamsInfo> infos, String token, String langType) { try { @@ -84,7 +71,6 @@ return RestResponse.fail(ex); } } - @Override public RestResponse memberAuth(String token) { try { @@ -93,25 +79,23 @@ return RestResponse.fail(ex); } } - @Override public RestResponse queryLangList(String token, String reportTemplateId) { try { List<DictItemDto> resluts = memberService.queryLang(token); - // 鐫块偦鍙湁涓枃 -// List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(reportTemplateId); -// // 鐫块偦鐨勫彧鏈変腑鏂� -// for (TReportTemplate tReportTemplate : tReportTemplateList) { -// if ("RuiLin".equals(tReportTemplate.getReportType())) { -// for (DictItemDto dictData : resluts) { -// if ("Chinese".equals(dictData.getDictValue())) { -// List<DictItemDto> reslutChinese = new ArrayList<>(); -// reslutChinese.add(dictData); -// return RestResponse.ok(reslutChinese); -// } -// } -// } -// } + + + + + + + + + + + + + return RestResponse.ok(resluts); } catch (Exception ex) { diff --git a/src/main/java/com/ots/project/exam/service/BaseService.java b/src/main/java/com/ots/project/exam/service/BaseService.java index fd7be4c..ee70d52 100644 --- a/src/main/java/com/ots/project/exam/service/BaseService.java +++ b/src/main/java/com/ots/project/exam/service/BaseService.java @@ -1,56 +1,16 @@ package com.ots.project.exam.service; -/** - * service鎺ュ彛锛屽拰mybatis generator 閰嶅浣跨敤 - * - * @param <T> - */ public interface BaseService<T> { - /** - * 鏍规嵁id鍒犻櫎鏁版嵁锛岀‖鍒犻櫎 - * - * @param id id - * @return int - */ + int deleteById(Integer id); - - /** - * 鎻掑叆鏁版嵁,瀹屾暣鏁版嵁鎻掑叆 - * - * @param record record - * @return int - */ + int insert(T record); - - /** - * 鎻掑叆涓嶄负null鐨勬暟鎹� - * - * @param record - * @return int - */ + int insertByFilter(T record); - - /** - * 鏍规嵁id鏌ヨ鏁版嵁 - * - * @param id - * @return - */ + T selectById(Integer id); - - /** - * 鏇存柊涓嶄负null鐨勬暟鎹� - * - * @param record - * @return int - */ + int updateByIdFilter(T record); - - /** - * 鏇存柊瀹屾暣鐨勬暟鎹� - * - * @param record - * @return int - */ + int updateById(T record); } diff --git a/src/main/java/com/ots/project/exam/service/CountCalculateService.java b/src/main/java/com/ots/project/exam/service/CountCalculateService.java index be4b521..952e610 100644 --- a/src/main/java/com/ots/project/exam/service/CountCalculateService.java +++ b/src/main/java/com/ots/project/exam/service/CountCalculateService.java @@ -1,20 +1,8 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.EntTestPackage; import com.ots.project.exam.domain.NumberOfUsersByCompany; -/** - * 鍙敤娆℃暟璁$畻缁勪欢 - * 涓�涓紒涓氫細鎷ユ湁澶氫釜娴嬭瘯鍖� - * 闇�瑕佽绠楀嚭姣忎釜娴嬭瘯鍖呯殑浣跨敤娆℃暟锛屽苟姹囨�绘祴璇曟�绘暟銆� - */ public interface CountCalculateService { - /** - * 璁$畻浼佷笟涓嬪悇涓骇鍝佸寘浣跨敤娆℃暟 - * - * @param entTestPackage - * @return - */ + NumberOfUsersByCompany calculateProductPackagesMemberCount(EntTestPackage entTestPackage); - } diff --git a/src/main/java/com/ots/project/exam/service/ExamPaperAnswerService.java b/src/main/java/com/ots/project/exam/service/ExamPaperAnswerService.java index e011b72..d9b3365 100644 --- a/src/main/java/com/ots/project/exam/service/ExamPaperAnswerService.java +++ b/src/main/java/com/ots/project/exam/service/ExamPaperAnswerService.java @@ -1,53 +1,20 @@ package com.ots.project.exam.service; - - import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.ExamPaperAnswer; import com.ots.project.exam.domain.ExamUser; import com.ots.project.exam.dto.ExamPaperAnswerInfo; import com.ots.project.exam.viewmodel.ExamPaperAnswerPageVM; import com.ots.project.exam.viewmodel.ExamPaperSubmitVM; - import java.util.List; - public interface ExamPaperAnswerService extends BaseService<ExamPaperAnswer> { - - /** - * 瀛︾敓鑰冭瘯璁板綍鍒嗛〉 - * - * @param requestVM 杩囨护鏉′欢 - * @return PageInfo<ExamPaperAnswer> - */ + PageInfo<ExamPaperAnswer> studentPage(ExamPaperAnswerPageVM requestVM); - - /** - * 璁$畻璇曞嵎鎻愪氦缁撴灉(涓嶅叆搴�) - * - * @param examPaperSubmitVM - * @param user - * @return - */ + ExamPaperAnswerInfo calculateExamPaperAnswer(ExamPaperSubmitVM examPaperSubmitVM, ExamUser user); - - - /** - * 璇曞嵎鎵规敼 - * - * @param examPaperSubmitVM examPaperSubmitVM - * @return String - */ + String judge(ExamPaperSubmitVM examPaperSubmitVM); - - /** - * 璇曞嵎绛旈淇℃伅杞垚ViewModel 浼犵粰鍓嶅彴 - * - * @param id 璇曞嵎id - * @return ExamPaperSubmitVM - */ + ExamPaperSubmitVM examPaperAnswerToVM(Integer id); - - Integer selectAllCount(); - List<Integer> selectMothCount(); } diff --git a/src/main/java/com/ots/project/exam/service/ExamPaperQuestionCustomerAnswerService.java b/src/main/java/com/ots/project/exam/service/ExamPaperQuestionCustomerAnswerService.java index e11544c..5694e85 100644 --- a/src/main/java/com/ots/project/exam/service/ExamPaperQuestionCustomerAnswerService.java +++ b/src/main/java/com/ots/project/exam/service/ExamPaperQuestionCustomerAnswerService.java @@ -1,38 +1,18 @@ package com.ots.project.exam.service; - import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.ExamPaperQuestionCustomerAnswer; import com.ots.project.exam.dto.ExamPaperAnswerUpdate; import com.ots.project.exam.viewmodel.ExamPaperSubmitItemVM; import com.ots.project.exam.viewmodel.QuestionPageStudentRequestVM; - import java.util.List; - public interface ExamPaperQuestionCustomerAnswerService extends BaseService<ExamPaperQuestionCustomerAnswer> { - PageInfo<ExamPaperQuestionCustomerAnswer> studentPage(QuestionPageStudentRequestVM requestVM); - List<ExamPaperQuestionCustomerAnswer> selectListByPaperAnswerId(Integer id); - - /** - * 璇曞嵎鎻愪氦绛旀鍏ュ簱 - * - * @param examPaperQuestionCustomerAnswers List<ExamPaperQuestionCustomerAnswer> - */ + void insertList(List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers); - - /** - * 璇曞嵎闂绛旈淇℃伅杞垚ViewModel 浼犵粰鍓嶅彴 - * - * @param qa ExamPaperQuestionCustomerAnswer - * @return ExamPaperSubmitItemVM - */ + ExamPaperSubmitItemVM examPaperQuestionCustomerAnswerToVM(ExamPaperQuestionCustomerAnswer qa); - - Integer selectAllCount(); - List<Integer> selectMothCount(); - int updateScore(List<ExamPaperAnswerUpdate> examPaperAnswerUpdates); } diff --git a/src/main/java/com/ots/project/exam/service/ExamPaperService.java b/src/main/java/com/ots/project/exam/service/ExamPaperService.java index 18b8817..945dab3 100644 --- a/src/main/java/com/ots/project/exam/service/ExamPaperService.java +++ b/src/main/java/com/ots/project/exam/service/ExamPaperService.java @@ -1,6 +1,4 @@ package com.ots.project.exam.service; - - import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.ExamPaper; import com.ots.project.exam.domain.ExamUser; @@ -9,24 +7,14 @@ import com.ots.project.exam.viewmodel.ExamPaperEditRequestVM; import com.ots.project.exam.viewmodel.ExamPaperPageRequestVM; import com.ots.project.exam.viewmodel.ExamPaperPageVM; - import java.util.List; - public interface ExamPaperService extends BaseService<ExamPaper> { - PageInfo<ExamPaper> page(ExamPaperPageRequestVM requestVM); - PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVM requestVM); - PageInfo<ExamPaper> studentPage(ExamPaperPageVM requestVM); - ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, ExamUser user); - ExamPaperEditRequestVM examPaperToVM(Integer id); - List<PaperInfo> indexPaper(PaperFilter paperFilter); - Integer selectAllCount(); - List<Integer> selectMothCount(); } diff --git a/src/main/java/com/ots/project/exam/service/IBaseExamService.java b/src/main/java/com/ots/project/exam/service/IBaseExamService.java index 4534ac8..4d7be31 100644 --- a/src/main/java/com/ots/project/exam/service/IBaseExamService.java +++ b/src/main/java/com/ots/project/exam/service/IBaseExamService.java @@ -1,56 +1,16 @@ package com.ots.project.exam.service; -/** - * service鎺ュ彛锛屽拰mybatis generator 閰嶅浣跨敤 - * - * @param <T> - */ public interface IBaseExamService<T> { - /** - * 鏍规嵁id鍒犻櫎鏁版嵁锛岀‖鍒犻櫎 - * - * @param id id - * @return int - */ + int deleteById(Integer id); - - /** - * 鎻掑叆鏁版嵁,瀹屾暣鏁版嵁鎻掑叆 - * - * @param record record - * @return int - */ + int insert(T record); - - /** - * 鎻掑叆涓嶄负null鐨勬暟鎹� - * - * @param record - * @return int - */ + int insertByFilter(T record); - - /** - * 鏍规嵁id鏌ヨ鏁版嵁 - * - * @param id - * @return - */ + T selectById(Integer id); - - /** - * 鏇存柊涓嶄负null鐨勬暟鎹� - * - * @param record - * @return int - */ + int updateByIdFilter(T record); - - /** - * 鏇存柊瀹屾暣鐨勬暟鎹� - * - * @param record - * @return int - */ + int updateById(T record); } diff --git a/src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java b/src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java index 405945c..bf31cb0 100644 --- a/src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java +++ b/src/main/java/com/ots/project/exam/service/IEntDemographyInfoService.java @@ -1,63 +1,19 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.EntDemographyInfo; - import java.util.List; -/** - * 浜哄彛瀛︿俊鎭疭ervice鎺ュ彛 - * - * @author ots - * @date 2019-12-15 - */ public interface IEntDemographyInfoService { - /** - * 鏌ヨ浜哄彛瀛︿俊鎭� - * - * @param infoId 浜哄彛瀛︿俊鎭疘D - * @return 浜哄彛瀛︿俊鎭� - */ + EntDemographyInfo selectEntDemographyInfoById(Long infoId); - - /** - * 鏌ヨ浜哄彛瀛︿俊鎭垪琛� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 浜哄彛瀛︿俊鎭泦鍚� - */ + List<EntDemographyInfo> selectEntDemographyInfoList(EntDemographyInfo entDemographyInfo); - List<EntDemographyInfo> selectEntDemographyAndParamList(EntDemographyInfo entDemographyInfo); - - /** - * 鏂板浜哄彛瀛︿俊鎭� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 缁撴灉 - */ + int insertEntDemographyInfo(EntDemographyInfo entDemographyInfo); - - /** - * 淇敼浜哄彛瀛︿俊鎭� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 缁撴灉 - */ + int updateEntDemographyInfo(EntDemographyInfo entDemographyInfo); - - /** - * 鎵归噺鍒犻櫎浜哄彛瀛︿俊鎭� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntDemographyInfoByIds(String ids); - - /** - * 鍒犻櫎浜哄彛瀛︿俊鎭俊鎭� - * - * @param infoId 浜哄彛瀛︿俊鎭疘D - * @return 缁撴灉 - */ + int deleteEntDemographyInfoById(Long infoId); } diff --git a/src/main/java/com/ots/project/exam/service/IEntDemographyParamService.java b/src/main/java/com/ots/project/exam/service/IEntDemographyParamService.java index a8b74a2..6990a03 100644 --- a/src/main/java/com/ots/project/exam/service/IEntDemographyParamService.java +++ b/src/main/java/com/ots/project/exam/service/IEntDemographyParamService.java @@ -1,64 +1,20 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.EntDemographyParam; - import java.util.List; import java.util.Map; -/** - * 浜哄彛瀛﹀彉閲忓畾涔塖ervice鎺ュ彛 - * - * @author ots - * @date 2019-12-11 - */ public interface IEntDemographyParamService { - /** - * 鏌ヨ浜哄彛瀛﹀彉閲忓畾涔� - * - * @param paramId 浜哄彛瀛﹀彉閲忓畾涔塈D - * @return 浜哄彛瀛﹀彉閲忓畾涔� - */ + EntDemographyParam selectEntDemographyParamById(Long paramId); - - /** - * 鏌ヨ浜哄彛瀛﹀彉閲忓畾涔夊垪琛� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 浜哄彛瀛﹀彉閲忓畾涔夐泦鍚� - */ + List<EntDemographyParam> selectEntDemographyParamList(EntDemographyParam entDemographyParam); - List<EntDemographyParam> selectEntDemographyParamListByParamIn(String paramIds); - - /** - * 鏂板浜哄彛瀛﹀彉閲忓畾涔� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 缁撴灉 - */ + int insertEntDemographyParam(EntDemographyParam entDemographyParam); - - /** - * 淇敼浜哄彛瀛﹀彉閲忓畾涔� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 缁撴灉 - */ + int updateEntDemographyParam(EntDemographyParam entDemographyParam); - - /** - * 鎵归噺鍒犻櫎浜哄彛瀛﹀彉閲忓畾涔� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntDemographyParamByIds(String ids); - - /** - * 鍒犻櫎浜哄彛瀛﹀彉閲忓畾涔変俊鎭� - * - * @param paramId 浜哄彛瀛﹀彉閲忓畾涔塈D - * @return 缁撴灉 - */ + int deleteEntDemographyParamById(Long paramId); } diff --git a/src/main/java/com/ots/project/exam/service/IEntOperLogService.java b/src/main/java/com/ots/project/exam/service/IEntOperLogService.java index 121d214..8626133 100644 --- a/src/main/java/com/ots/project/exam/service/IEntOperLogService.java +++ b/src/main/java/com/ots/project/exam/service/IEntOperLogService.java @@ -1,70 +1,21 @@ package com.ots.project.exam.service; - import com.ots.common.enums.OpertypeEnum; import com.ots.project.exam.domain.EntOperLog; - import java.util.List; -/** - * 浣跨敤娆℃暟鎿嶄綔璁板綍Service鎺ュ彛 - * - * @author ots - * @date 2020-01-19 - */ public interface IEntOperLogService { - /** - * 鏌ヨ浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param logId 浣跨敤娆℃暟鎿嶄綔璁板綍ID - * @return 浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + EntOperLog selectEntOperLogById(Long logId); - - /** - * 鏌ヨ浣跨敤娆℃暟鎿嶄綔璁板綍鍒楄〃 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 浣跨敤娆℃暟鎿嶄綔璁板綍闆嗗悎 - */ + List<EntOperLog> selectEntOperLogList(EntOperLog entOperLog); - - /** - * 鏂板浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 缁撴灉 - */ + int insertEntOperLog(EntOperLog entOperLog); - - /** - * 淇敼浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 缁撴灉 - */ + int updateEntOperLog(EntOperLog entOperLog); - - /** - * 鎵归噺鍒犻櫎浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntOperLogByIds(String ids); - - /** - * 鍒犻櫎浣跨敤娆℃暟鎿嶄綔璁板綍淇℃伅 - * - * @param logId 浣跨敤娆℃暟鎿嶄綔璁板綍ID - * @return 缁撴灉 - */ + int deleteEntOperLogById(Long logId); - - /** - * 璁板綍鏃ュ織 - * @param userId - * @param createUserId - * @param addNum - */ + void saveLog(Long userId, String createUserId, OpertypeEnum opertypeEnum, Long addNum); } diff --git a/src/main/java/com/ots/project/exam/service/IEntTestDetailService.java b/src/main/java/com/ots/project/exam/service/IEntTestDetailService.java index f74cfbd..4d2efdc 100644 --- a/src/main/java/com/ots/project/exam/service/IEntTestDetailService.java +++ b/src/main/java/com/ots/project/exam/service/IEntTestDetailService.java @@ -1,11 +1,5 @@ package com.ots.project.exam.service; -/** - * entTestDetailService鎺ュ彛 - * - * @author ots - * @date 2020-03-01 - */ public interface IEntTestDetailService { } diff --git a/src/main/java/com/ots/project/exam/service/IEntTestMemberBackstageService.java b/src/main/java/com/ots/project/exam/service/IEntTestMemberBackstageService.java index e304200..e04438d 100644 --- a/src/main/java/com/ots/project/exam/service/IEntTestMemberBackstageService.java +++ b/src/main/java/com/ots/project/exam/service/IEntTestMemberBackstageService.java @@ -1,61 +1,18 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.EntTestMemberBackstage; - import java.util.List; -/** - * EntTestMemberBackstageService鎺ュ彛 - * - * @author ots - * @date 2020-02-29 - */ public interface IEntTestMemberBackstageService { - /** - * 鏌ヨEntTestMemberBackstage - * - * @param memberId EntTestMemberBackstageID - * @return EntTestMemberBackstage - */ + EntTestMemberBackstage selectEntTestMemberBackstageById(Long memberId); - - /** - * 鏌ヨEntTestMemberBackstage鍒楄〃 - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return EntTestMemberBackstage闆嗗悎 - */ + List<EntTestMemberBackstage> selectEntTestMemberBackstageList(EntTestMemberBackstage entTestMemberBackstage); - - /** - * 鏂板EntTestMemberBackstage - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return 缁撴灉 - */ + int insertEntTestMemberBackstage(EntTestMemberBackstage entTestMemberBackstage); - - /** - * 淇敼EntTestMemberBackstage - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return 缁撴灉 - */ + int updateEntTestMemberBackstage(EntTestMemberBackstage entTestMemberBackstage); - - /** - * 鎵归噺鍒犻櫎EntTestMemberBackstage - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntTestMemberBackstageByIds(String ids); - - /** - * 鍒犻櫎EntTestMemberBackstage淇℃伅 - * - * @param memberId EntTestMemberBackstageID - * @return 缁撴灉 - */ + int deleteEntTestMemberBackstageById(Long memberId); } diff --git a/src/main/java/com/ots/project/exam/service/IEntTestMemberService.java b/src/main/java/com/ots/project/exam/service/IEntTestMemberService.java index 97fb96a..da70b4f 100644 --- a/src/main/java/com/ots/project/exam/service/IEntTestMemberService.java +++ b/src/main/java/com/ots/project/exam/service/IEntTestMemberService.java @@ -1,109 +1,32 @@ package com.ots.project.exam.service; - import com.ots.common.enums.TestMemberStatusEnum; import com.ots.project.exam.domain.EntTestMember; - import java.util.List; import java.util.Map; -/** - * 娴嬭瘎浜哄憳鍚嶅崟Service鎺ュ彛 - * - * @author ots - * @date 2019-12-15 - */ public interface IEntTestMemberService { - /** - * 鏌ヨ娴嬭瘎浜哄憳鍚嶅崟 - * - * @param memberId 娴嬭瘎浜哄憳鍚嶅崟ID - * @return 娴嬭瘎浜哄憳鍚嶅崟 - */ + EntTestMember selectEntTestMemberById(Long memberId); - - /** - * 鏌ヨ娴嬭瘎浜哄憳鍚嶅崟鍒楄〃 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 娴嬭瘎浜哄憳鍚嶅崟闆嗗悎 - */ + List<EntTestMember> selectEntTestMemberList(EntTestMember entTestMember); - List<EntTestMember> selectEntTestMemberTopList(EntTestMember entTestMember); - - List<EntTestMember> selectEntTestMemberQueryList(EntTestMember entTestMember); - - /** - * 鑷畾涔夋潯浠� - * @param params - * @return - */ + List<EntTestMember> selectEntTestMemberList(Map params); - - /** - * 鏂板娴嬭瘎浜哄憳鍚嶅崟 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 缁撴灉 - */ + int insertEntTestMember(EntTestMember entTestMember); - - /** - * 淇敼娴嬭瘎浜哄憳鍚嶅崟 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 缁撴灉 - */ + int updateEntTestMember(EntTestMember entTestMember); - - /** - * 鎵归噺鍒犻櫎娴嬭瘎浜哄憳鍚嶅崟 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntTestMemberByIds(String ids); - - /** - * 鍒犻櫎娴嬭瘎浜哄憳鍚嶅崟淇℃伅 - * - * @param memberId 娴嬭瘎浜哄憳鍚嶅崟ID - * @return 缁撴灉 - */ + int deleteEntTestMemberById(Long memberId); - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - * - * @param entTestMemberList 鐢ㄦ埛鏁版嵁鍒楄〃 - * @param isUpdateSupport 鏄惁鏇存柊鏀寔锛屽鏋滃凡瀛樺湪锛屽垯杩涜鏇存柊鏁版嵁 - * @return 缁撴灉 - */ + String importEntTestMember(List<EntTestMember> entTestMemberList, Boolean isUpdateSupport); - - /** - * 閫氳繃token鏌ヨ娴嬭瘯鐢ㄦ埛淇℃伅 - * @param token - * @param status - * @return - */ + EntTestMember findEntTestMember(String token, List<String> status); - - /** - * 鏇存柊鐢ㄦ埛琛ㄧ姸鎬�,濡傛灉鏄瓟棰樹腑锛屽悓姝ユ洿鏂板仛棰樺紑濮嬫椂闂� - * - * @param statusEnum - * @param memberId - * @return - */ + int updateTestMemberStatus(TestMemberStatusEnum statusEnum, long memberId); - - /** - * 鍒ゆ柇鐢ㄦ埛鏄惁瀹屾垚绛旈骞跺瓨鍦ㄦ姤鍛� - * @param asList - * @param testId - * @return - */ + boolean checkMemberHasReport(List<String> asList, Long testId); } diff --git a/src/main/java/com/ots/project/exam/service/IEntTestPackageService.java b/src/main/java/com/ots/project/exam/service/IEntTestPackageService.java index e104bba..7d0308f 100644 --- a/src/main/java/com/ots/project/exam/service/IEntTestPackageService.java +++ b/src/main/java/com/ots/project/exam/service/IEntTestPackageService.java @@ -1,88 +1,26 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.EntTestPackage; - import java.util.List; import java.util.Map; -/** - * 娴嬭瘯鍖呯鐞哠ervice鎺ュ彛 - * - * @author ots - * @date 2019-11-27 - */ public interface IEntTestPackageService { - /** - * 鏌ヨ娴嬭瘯鍖呯鐞� - * - * @param id 娴嬭瘯鍖呯鐞咺D - * @return 娴嬭瘯鍖呯鐞� - */ + EntTestPackage selectEntTestPackageById(Long id); - - /** - * 鏌ヨ娴嬭瘯鍖呯鐞嗗垪琛� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 娴嬭瘯鍖呯鐞嗛泦鍚� - */ + List<EntTestPackage> selectEntTestPackageList(EntTestPackage entTestPackage); - List<EntTestPackage> selectEntTestPackageMainList(EntTestPackage entTestPackage); - - /** - * 鏂板娴嬭瘯鍖呯鐞� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 缁撴灉 - */ + int insertEntTestPackage(EntTestPackage entTestPackage); - - /** - * 淇敼娴嬭瘯鍖呯鐞� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 缁撴灉 - */ + int updateEntTestPackage(EntTestPackage entTestPackage); - - /** - * 鎵归噺鍒犻櫎娴嬭瘯鍖呯鐞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntTestPackageByIds(String ids); - - /** - * 鍒犻櫎娴嬭瘯鍖呯鐞嗕俊鎭� - * - * @param id 娴嬭瘯鍖呯鐞咺D - * @return 缁撴灉 - */ + int deleteEntTestPackageById(Long id); - - /** - * 娴嬭瘯鍖呭垪琛� - * - * @param userId 浼佷笟缂栫爜 - * @param status 娴嬭瘯鍖呯姸鎬� - * @return - */ + List<EntTestPackage> selectEntTestPackageListByIdAndStatusIn(Long userId, List<String> status); - - /** - * 娴嬭瘯鍖呭垪琛ㄨ嚜瀹氫箟鏌ヨ - * @param paramMap - * @return - */ + List<EntTestPackage> selectEntTestPackageListByIdAndStatusIn(Map paramMap); - - /** - * 鍥炴敹浜烘锛堝洖鏀跺瘑鐮侊級 - * 浼佷笟鐢ㄦ埛鐐瑰嚮鍥炴敹鎸夐挳锛屽皢娴嬭瘯鍖呬腑鏈櫥褰曡繃鐨勪汉鍛樿缃け鏁堬紝浠ュ洖鏀朵娇鐢ㄤ汉娆℃暟銆� - * @param testId - * @return - */ + int recover(Long testId); } diff --git a/src/main/java/com/ots/project/exam/service/IEntTestSendtaskMailService.java b/src/main/java/com/ots/project/exam/service/IEntTestSendtaskMailService.java index ef1fbfc..c0dcb14 100644 --- a/src/main/java/com/ots/project/exam/service/IEntTestSendtaskMailService.java +++ b/src/main/java/com/ots/project/exam/service/IEntTestSendtaskMailService.java @@ -1,61 +1,19 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.EntTestSendtaskMail; import java.util.List; -/** - * 閭閫�淇¤褰昐ervice鎺ュ彛 - * - * @author ots - * @date 2020-03-09 - */ public interface IEntTestSendtaskMailService { - /** - * 鏌ヨ閭閫�淇¤褰� - * - * @param id 閭閫�淇¤褰旾D - * @return 閭閫�淇¤褰� - */ + public EntTestSendtaskMail selectEntTestSendtaskMailById(Long id); - - /** - * 鏌ヨ閭閫�淇¤褰曞垪琛� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 閭閫�淇¤褰曢泦鍚� - */ + public List<EntTestSendtaskMail> selectEntTestSendtaskMailList(EntTestSendtaskMail entTestSendtaskMail); - - /** - * 鏂板閭閫�淇¤褰� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 缁撴灉 - */ + public int insertEntTestSendtaskMail(EntTestSendtaskMail entTestSendtaskMail); - - /** - * 淇敼閭閫�淇¤褰� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 缁撴灉 - */ + public int updateEntTestSendtaskMail(EntTestSendtaskMail entTestSendtaskMail); - - /** - * 鎵归噺鍒犻櫎閭閫�淇¤褰� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteEntTestSendtaskMailByIds(String ids); - - /** - * 鍒犻櫎閭閫�淇¤褰曚俊鎭� - * - * @param id 閭閫�淇¤褰旾D - * @return 缁撴灉 - */ + public int deleteEntTestSendtaskMailById(Long id); } diff --git a/src/main/java/com/ots/project/exam/service/IEntTestSendtaskService.java b/src/main/java/com/ots/project/exam/service/IEntTestSendtaskService.java index c3226e3..796b65e 100644 --- a/src/main/java/com/ots/project/exam/service/IEntTestSendtaskService.java +++ b/src/main/java/com/ots/project/exam/service/IEntTestSendtaskService.java @@ -1,64 +1,20 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.EntTestSendtask; import com.ots.project.exam.dto.SendTask; - import java.util.List; -/** - * 璇勬祴閭�璇峰彂閫佷换鍔ervice鎺ュ彛 - * - * @author ots - * @date 2019-12-19 - */ public interface IEntTestSendtaskService { - /** - * 鏌ヨ璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param id 璇勬祴閭�璇峰彂閫佷换鍔D - * @return 璇勬祴閭�璇峰彂閫佷换鍔� - */ + EntTestSendtask selectEntTestSendtaskById(Long id); - - /** - * 鏌ヨ璇勬祴閭�璇峰彂閫佷换鍔″垪琛� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 璇勬祴閭�璇峰彂閫佷换鍔¢泦鍚� - */ + List<EntTestSendtask> selectEntTestSendtaskList(EntTestSendtask entTestSendtask); - - /** - * 鏂板璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 缁撴灉 - */ + int insertEntTestSendtask(EntTestSendtask entTestSendtask); - - /** - * 淇敼璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 缁撴灉 - */ + int updateEntTestSendtask(EntTestSendtask entTestSendtask); - - /** - * 鎵归噺鍒犻櫎璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteEntTestSendtaskByIds(String ids); - - /** - * 鍒犻櫎璇勬祴閭�璇峰彂閫佷换鍔′俊鎭� - * - * @param id 璇勬祴閭�璇峰彂閫佷换鍔D - * @return 缁撴灉 - */ + int deleteEntTestSendtaskById(Long id); - int insertEntTestSendtaskFromMemberIds(SendTask sendTask); } diff --git a/src/main/java/com/ots/project/exam/service/IExamPaperService.java b/src/main/java/com/ots/project/exam/service/IExamPaperService.java index 44174b3..8e722d0 100644 --- a/src/main/java/com/ots/project/exam/service/IExamPaperService.java +++ b/src/main/java/com/ots/project/exam/service/IExamPaperService.java @@ -1,6 +1,4 @@ package com.ots.project.exam.service; - - import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.ExamPaper; import com.ots.project.exam.domain.ExamUser; @@ -10,26 +8,15 @@ import com.ots.project.exam.viewmodel.ExamPaperEditRequestVM; import com.ots.project.exam.viewmodel.ExamPaperPageRequestVM; import com.ots.project.exam.viewmodel.ExamPaperPageVM; - import java.util.List; - public interface IExamPaperService extends IBaseExamService<ExamPaper> { - PageInfo<ExamPaper> page(ExamPaperPageRequestVM requestVM); - PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVM requestVM); - PageInfo<ExamPaper> studentPage(ExamPaperPageVM requestVM); - ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, ExamUser user); - ExamPaperEditRequestVM examPaperToVM(Integer id, String token_id, String langType); - ExamPaperEditRequestVM examPaperToVM(RelatedParty relatedParty, String token_id, String langType); - List<PaperInfo> indexPaper(PaperFilter paperFilter); - Integer selectAllCount(); - List<Integer> selectMothCount(); } diff --git a/src/main/java/com/ots/project/exam/service/ISysUserExtendService.java b/src/main/java/com/ots/project/exam/service/ISysUserExtendService.java index dcb1b67..0b9e22a 100644 --- a/src/main/java/com/ots/project/exam/service/ISysUserExtendService.java +++ b/src/main/java/com/ots/project/exam/service/ISysUserExtendService.java @@ -1,72 +1,22 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.SysUserExtend; import com.ots.project.system.user.domain.User; - import java.util.List; -/** - * 鐢ㄦ埛淇℃伅鎵╁睍Service鎺ュ彛 - * - * @author ots - * @date 2019-11-20 - */ public interface ISysUserExtendService { - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param userId 鐢ㄦ埛淇℃伅鎵╁睍ID - * @return 鐢ㄦ埛淇℃伅鎵╁睍 - */ + SysUserExtend selectSysUserExtendById(Long userId); - - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍鍒楄〃 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 鐢ㄦ埛淇℃伅鎵╁睍闆嗗悎 - */ + List<SysUserExtend> selectSysUserExtendList(SysUserExtend sysUserExtend); - - /** - * 鏂板鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 缁撴灉 - */ + int insertSysUserExtend(SysUserExtend sysUserExtend); - - /** - * 淇敼鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 缁撴灉 - */ + int updateSysUserExtend(SysUserExtend sysUserExtend); - - /** - * 鎵归噺鍒犻櫎鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteSysUserExtendByIds(String ids); - - /** - * 鍒犻櫎鐢ㄦ埛淇℃伅鎵╁睍淇℃伅 - * - * @param userId 鐢ㄦ埛淇℃伅鎵╁睍ID - * @return 缁撴灉 - */ + int deleteSysUserExtendById(Long userId); - - /** - * 澧炲姞鐢ㄦ埛浣跨敤娆℃暟 - * @param userId - * @param addNum - * @return - */ + int updateTestNum(Long userId, Long addNum); - int resetpwd(User user); } diff --git a/src/main/java/com/ots/project/exam/service/ISysUserPaperService.java b/src/main/java/com/ots/project/exam/service/ISysUserPaperService.java index 1c6a8cb..d0f9e8b 100644 --- a/src/main/java/com/ots/project/exam/service/ISysUserPaperService.java +++ b/src/main/java/com/ots/project/exam/service/ISysUserPaperService.java @@ -1,61 +1,18 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.SysUserPaper; - import java.util.List; -/** - * 鐢ㄦ埛浜у搧Service鎺ュ彛 - * - * @author ots - * @date 2020-03-22 - */ public interface ISysUserPaperService { - /** - * 鏌ヨ鐢ㄦ埛浜у搧 - * - * @param userId 鐢ㄦ埛浜у搧ID - * @return 鐢ㄦ埛浜у搧 - */ + SysUserPaper selectSysUserPaperById(Long userId); - - /** - * 鏌ヨ鐢ㄦ埛浜у搧鍒楄〃 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 鐢ㄦ埛浜у搧闆嗗悎 - */ + List<SysUserPaper> selectSysUserPaperList(SysUserPaper sysUserPaper); - - /** - * 鏂板鐢ㄦ埛浜у搧 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 缁撴灉 - */ + int insertSysUserPaper(SysUserPaper sysUserPaper); - - /** - * 淇敼鐢ㄦ埛浜у搧 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 缁撴灉 - */ + int updateSysUserPaper(SysUserPaper sysUserPaper); - - /** - * 鎵归噺鍒犻櫎鐢ㄦ埛浜у搧 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteSysUserPaperByIds(String ids); - - /** - * 鍒犻櫎鐢ㄦ埛浜у搧淇℃伅 - * - * @param userId 鐢ㄦ埛浜у搧ID - * @return 缁撴灉 - */ + int deleteSysUserPaperById(Long userId); } diff --git a/src/main/java/com/ots/project/exam/service/ITExamLevelService.java b/src/main/java/com/ots/project/exam/service/ITExamLevelService.java index c699062..cd3a9ee 100644 --- a/src/main/java/com/ots/project/exam/service/ITExamLevelService.java +++ b/src/main/java/com/ots/project/exam/service/ITExamLevelService.java @@ -1,72 +1,25 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.TExamLevel; - import java.util.List; -/** - * 闂嵎绫诲瀷Service鎺ュ彛 - * - * @author ots - * @date 2019-12-15 - */ public interface ITExamLevelService { - /** - * 鏌ヨ闂嵎绫诲瀷 - * - * @param id 闂嵎绫诲瀷ID - * @return 闂嵎绫诲瀷 - */ + public TExamLevel selectTExamLevelById(Long id); - public List<TExamLevel> selectTExamLevelByUuid(String Uuid); - public List<TExamLevel> selectTExamLevelAndTSubjectById(Long id); - - /** - * 鏌ヨ闂嵎绫诲瀷鍒楄〃 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 闂嵎绫诲瀷闆嗗悎 - */ + public List<TExamLevel> selectTExamLevelList(TExamLevel tExamLevel); public List<TExamLevel> selectTExamLevelList(); public List<TExamLevel> selectTExamLevelListByType(String type); - public List<TExamLevel> selectTExamLevelByquestionTemplateIdList(String questionTemplateId); - - /** - * 鏂板闂嵎绫诲瀷 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 缁撴灉 - */ + public int insertTExamLevel(TExamLevel tExamLevel); - - /** - * 淇敼闂嵎绫诲瀷 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 缁撴灉 - */ + public int updateTExamLevel(TExamLevel tExamLevel); - - /** - * 鎵归噺鍒犻櫎闂嵎绫诲瀷 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteTExamLevelByIds(String ids); - - /** - * 鍒犻櫎闂嵎绫诲瀷淇℃伅 - * - * @param id 闂嵎绫诲瀷ID - * @return 缁撴灉 - */ + public int deleteTExamLevelById(Long id); - public TExamLevel selectTExamLevelByUuidLan(String uuid,String langType); } diff --git a/src/main/java/com/ots/project/exam/service/ITExamPaperService.java b/src/main/java/com/ots/project/exam/service/ITExamPaperService.java index 7f08c1c..f929947 100644 --- a/src/main/java/com/ots/project/exam/service/ITExamPaperService.java +++ b/src/main/java/com/ots/project/exam/service/ITExamPaperService.java @@ -1,98 +1,36 @@ package com.ots.project.exam.service; - import com.ots.framework.web.domain.Ztree; import com.ots.project.exam.domain.TExamPaper; import com.ots.project.exam.domain.TExamReport; import com.ots.project.exam.domain.TQuestion; import com.ots.project.exam.dto.ExamPaperTitleItem; import com.ots.project.system.dict.domain.DictData; - import java.util.List; -/** - * 浜у搧鍖呭垪琛⊿ervice鎺ュ彛 - * - * @author ots - * @date 2019-11-20 - */ public interface ITExamPaperService { - /** - * 鏌ヨ浜у搧鍖呭垪琛� - * - * @param id 浜у搧鍖呭垪琛↖D - * @return 浜у搧鍖呭垪琛� - */ + TExamPaper selectTExamPaperById(Long id); - - /** - * 鏌ヨ浜у搧鍖呭垪琛ㄥ垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 浜у搧鍖呭垪琛ㄩ泦鍚� - */ + List<TExamPaper> selectTExamPaperList(TExamPaper tExamPaper); - - /** - * 鏂板浜у搧鍖呭垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 缁撴灉 - */ + int insertTExamPaper(TExamPaper tExamPaper); - - /** - * 淇敼浜у搧鍖呭垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 缁撴灉 - */ + int updateTExamPaper(TExamPaper tExamPaper); - - /** - * 鎵归噺鍒犻櫎浜у搧鍖呭垪琛� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteTExamPaperByIds(String ids); - - /** - * 鍒犻櫎浜у搧鍖呭垪琛ㄤ俊鎭� - * - * @param id 浜у搧鍖呭垪琛↖D - * @return 缁撴灉 - */ + int deleteTExamPaperById(Long id); - - /** - * 浜у搧鍖呭垪琛� - * @param deletes - * @return - */ + List<TExamPaper> selectProdByDeleteList(List<Long> deletes); - - /** - * 浜у搧鏍� - * @return - */ + List<Ztree> selectProdTree(String testType); - List<TExamPaper> getUserPapers(); - - /** - * 鏇存柊deleted鐨勭姸鎬� - * @return - */ + int updateDeleted(TExamPaper tExamPaper); - - // 鏇存柊鏃х殑鏁版嵁鐒跺悗鍏ュ簱 + List<TQuestion> updateInsertQuestion(List<TQuestion> questionList, String multilingual); - int deleteProductContent(TExamPaper tExamPaper); - void recallThaiInterface(TExamReport tExamReportResult, String reportType); - List<ExamPaperTitleItem> getExamPaperTitleContent(TExamPaper tExamPaper); - List<DictData> getType(Long id); } diff --git a/src/main/java/com/ots/project/exam/service/ITExamReportService.java b/src/main/java/com/ots/project/exam/service/ITExamReportService.java index 9ba7470..20e076a 100644 --- a/src/main/java/com/ots/project/exam/service/ITExamReportService.java +++ b/src/main/java/com/ots/project/exam/service/ITExamReportService.java @@ -1,133 +1,54 @@ package com.ots.project.exam.service; - import com.ots.common.enums.LangTypeEnum; import com.ots.common.enums.ReportTypeEnum; import com.ots.project.exam.domain.TExamReport; import com.ots.project.exam.domain.TReportTemplate; import com.ots.project.system.dict.domain.DictData; import com.ots.project.tool.report.ReportResultData; - import java.util.List; import java.util.Map; -/** - * 璇勬祴鎶ュ憡Service鎺ュ彛 - * - * @author ots - * @date 2019-12-26 - */ public interface ITExamReportService { - /** - * 鏌ヨ璇勬祴鎶ュ憡 - * - * @param id 璇勬祴鎶ュ憡ID - * @return 璇勬祴鎶ュ憡 - */ + TExamReport selectTExamReportById(Long id); - - /** - * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 璇勬祴鎶ュ憡闆嗗悎 - */ + List<TExamReport> selectTExamReportList(TExamReport tExamReport); - - // 鏍规嵁finish鏌ヨ + List<TExamReport> selectTExamReportNoStatusList(TExamReport tExamReport); + List<TExamReport> selectViewReportList(TExamReport tExamReport); - - /** - * 鏂板璇勬祴鎶ュ憡 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 缁撴灉 - */ + int insertTExamReport(TExamReport tExamReport); - - /** - * 淇敼璇勬祴鎶ュ憡 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 缁撴灉 - */ + int updateTExamReport(TExamReport tExamReport); - int updateTExamReportStatus(TExamReport tExamReport); - int updateTExamReportByTokenId(TExamReport tExamReport); - int updateTExamReportDeleteLastOneByTokenId(TExamReport tExamReport); - - /** - * 鎵归噺鍒犻櫎璇勬祴鎶ュ憡 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteTExamReportByIds(String ids); - - /** - * 鍒犻櫎璇勬祴鎶ュ憡淇℃伅 - * - * @param id 璇勬祴鎶ュ憡ID - * @return 缁撴灉 - */ + int deleteTExamReportById(Long id); - - /** - * 鎶ュ憡瀹℃壒鐘舵�佸彉鏇� - * - * @param tExamReport - * @return - */ + int changeStatus(TExamReport tExamReport); - - /** - * 鎵归噺鏇存柊瀹℃壒鐘舵�� - * - * @param ids - * @return - */ + int updateTexamReportByIds(String ids, String downloadTimes); - - /** - * 鏍规嵁tokenId鎵归噺鏌ヨ - */ - + List<TExamReport> selectTExamReportByTokenList(String[] tokenIds); - - List<TExamReport> selectTExamReportByIds(String[] ids); - - List<DictData> getType(Long id); - TReportTemplate getReportTemplate(String questionTemplateId, String langType, String templateType); - - // 妯℃嫙璋冪敤鎺ュ彛鎶藉彇鍒版湇鍔″眰 + void setTextPicture(TExamReport tExamReport, ReportResultData reportResultData, List<String> deleteStrList, LangTypeEnum langType, Map<String, Object> textMap); - - // 鍙戦�侀檮浠舵帴鍙� + public void setExportBaseOrDetailReportData(List<TExamReport> tExamReportList, List<String> deleteStrList, List<String> fileNameList, TReportTemplate tReportTemplate); - public String getDemographicName(TExamReport tExamReport); - public boolean getBaseAndComleteSendMailFile(List<TExamReport> tExamReportList, TExamReport tExamReportResult, List<String> fileNameResult, List<String> deleteStrList, TReportTemplate tReportTemplate); - public TExamReport getReportFromTemplate(TExamReport tExamReport, List<String> fileNameResult, List<String> deleteStrList); - public void getBaseAndDetailRportDataList(TReportTemplate tReportTemplate, Map<String, Map<String, String>> excelMap, List<ReportResultData> reportResultDataList, List<TExamReport> tExamQueryReportList); - public void dealTaiData(List<TExamReport> tExamReportList, Map<String, Map<String, String>> excelMap); - public ReportResultData getRuilinReportData(String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport); - public ReportResultData getMAQReportData(String langType,ReportTypeEnum reportTypeEnum, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport); - public ReportResultData getCAQReportData(String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport); - public void setTextMap(TExamReport tExamReport, ReportResultData reportResultData, Map<String, Object> textMap); - public ReportResultData getReportResultData(String reportType, String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport); public void setExcelMapextraValue(TExamReport tExamReport, Map dataMap); } diff --git a/src/main/java/com/ots/project/exam/service/ITQuestionService.java b/src/main/java/com/ots/project/exam/service/ITQuestionService.java index 364b295..27c8874 100644 --- a/src/main/java/com/ots/project/exam/service/ITQuestionService.java +++ b/src/main/java/com/ots/project/exam/service/ITQuestionService.java @@ -1,87 +1,28 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.TQuestion; import com.ots.project.exam.viewmodel.QuestionEditRequestVM; - import java.util.List; import java.util.Map; -/** - * 棰樼洰鍒楄〃Service鎺ュ彛 - * - * @author Shawn - * @date 2019-11-20 - */ public interface ITQuestionService { - /** - * 鏌ヨ棰樼洰鍒楄〃 - * - * @param id 棰樼洰鍒楄〃ID - * @return 棰樼洰鍒楄〃 - */ + TQuestion selectTQuestionById(Long id); - List<TQuestion> selectTQuestionByIds(List<Long> ids); - List<TQuestion> selectTQuestionByPermanentIds(List<String> ids); - - /** - * 鏌ヨ棰樼洰鍒楄〃鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 棰樼洰鍒楄〃闆嗗悎 - */ + List<TQuestion> selectTQuestionList(TQuestion tQuestion); - List<TQuestion> selectTQuestionsForProductAddQuestion(TQuestion tQuestion); - - /** - * 鏂板棰樼洰鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 缁撴灉 - */ + int insertTQuestion(TQuestion tQuestion); - - /** - * 淇敼棰樼洰鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 缁撴灉 - */ + int updateTQuestion(TQuestion tQuestion); - - /** - * 鎵归噺鍒犻櫎棰樼洰鍒楄〃 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteTQuestionByIds(String ids); - int deleteQuestionContent(TQuestion tQuestion); - - /** - * 鍒犻櫎棰樼洰鍒楄〃淇℃伅 - * - * @param id 棰樼洰鍒楄〃ID - * @return 缁撴灉 - */ + int deleteTQuestionById(Long id); - - /** - * 杩斿洖缁欑瓟棰榲ue绔殑鏁版嵁 - * - * @param - * @return - */ + QuestionEditRequestVM getQuestionEditRequestVM(TQuestion question); - - /** - * 鎻掑叆瀵煎叆鐨勯鐩� - * - * @param excelList - * @return - */ + String insertImportQuestion(List<Map<Integer, String>> excelList); } diff --git a/src/main/java/com/ots/project/exam/service/ITReportTemplateService.java b/src/main/java/com/ots/project/exam/service/ITReportTemplateService.java index 4731e48..215a7fa 100644 --- a/src/main/java/com/ots/project/exam/service/ITReportTemplateService.java +++ b/src/main/java/com/ots/project/exam/service/ITReportTemplateService.java @@ -1,84 +1,26 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.TReportTemplate; import com.ots.project.system.user.domain.User; - import java.util.List; -/** - * 鎶ュ憡妯℃澘閰嶇疆Service鎺ュ彛 - * - * @author ots - * @date 2020-03-24 - */ public interface ITReportTemplateService { - /** - * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆 - * - * @param id 鎶ュ憡妯℃澘閰嶇疆ID - * @return 鎶ュ憡妯℃澘閰嶇疆 - */ + TReportTemplate selectTReportTemplateById(Long id); - - /** - * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆鍒楄〃 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 鎶ュ憡妯℃澘閰嶇疆闆嗗悎 - */ + List<TReportTemplate> selectTReportTemplateList(TReportTemplate tReportTemplate); - - /** - * 鏌ヨ鐢ㄦ埛鏀寔鐨勪紒涓氭ā鏉� - * @return - */ + List<TReportTemplate> getReportTemplates(User sysUser); - - /** - * 鏌ヨ鐢ㄦ埛鏀寔鐨勪紒涓氭ā鏉�,浜у搧鍖呯紪鐮� - * @return - */ + List<TReportTemplate> getReportTemplates(User sysUser,Long prodid); - - List<TReportTemplate> selectTReportTemplates(String ids); - - /** - * 鏂板鎶ュ憡妯℃澘閰嶇疆 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 缁撴灉 - */ + int insertTReportTemplate(TReportTemplate tReportTemplate); - - /** - * 淇敼鎶ュ憡妯℃澘閰嶇疆 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 缁撴灉 - */ + int updateTReportTemplate(TReportTemplate tReportTemplate); - - /** - * 鎵归噺鍒犻櫎鎶ュ憡妯℃澘閰嶇疆 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + int deleteTReportTemplateByIds(String ids); - - /** - * 鍒犻櫎鎶ュ憡妯℃澘閰嶇疆淇℃伅 - * - * @param id 鎶ュ憡妯℃澘閰嶇疆ID - * @return 缁撴灉 - */ + int deleteTReportTemplateById(Long id); - - /** - * 寰楀埌妯$増鍦板潃,浣嗘槸鍓嶉潰瑕佸姞EssConfig.uploadPath - * @param tReportTemplate - * @return - */ + String selectTReportTemplateFilePath(TReportTemplate tReportTemplate); } diff --git a/src/main/java/com/ots/project/exam/service/ITSubjectService.java b/src/main/java/com/ots/project/exam/service/ITSubjectService.java index 35fd4c6..07138cc 100644 --- a/src/main/java/com/ots/project/exam/service/ITSubjectService.java +++ b/src/main/java/com/ots/project/exam/service/ITSubjectService.java @@ -1,72 +1,22 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.TSubject; - import java.util.List; -/** - * 缁村害琛⊿ervice鎺ュ彛 - * - * @author ots - * @date 2019-12-09 - */ public interface ITSubjectService { - /** - * 鏌ヨ缁村害琛� - * - * @param id 缁村害琛↖D - * @return 缁村害琛� - */ + public TSubject selectTSubjectById(Long id); - public TSubject selectTSubjectAndTLeveById(Long id); - - /** - * 鏌ヨ缁村害琛ㄥ垪琛� - * - * @param tSubject 缁村害琛� - * @return 缁村害琛ㄩ泦鍚� - */ + public List<TSubject> selectTSubjectList(TSubject tSubject); - public List<TSubject> selectTSubjectList(); - - /** - * 鏂板缁村害琛� - * - * @param tSubject 缁村害琛� - * @return 缁撴灉 - */ + public int insertTSubject(TSubject tSubject); - - /** - * 淇敼缁村害琛� - * - * @param tSubject 缁村害琛� - * @return 缁撴灉 - */ + public int updateTSubject(TSubject tSubject); - - /** - * 鎵归噺鍒犻櫎缁村害琛� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteTSubjectByIds(String ids); - - /** - * 鍒犻櫎缁村害琛ㄤ俊鎭� - * - * @param id 缁村害琛↖D - * @return 缁撴灉 - */ + public int deleteTSubjectById(Long id); - - /** - * 鏍规嵁鏂囦欢绫诲瀷鐨勭殑妯℃澘鑾峰緱缁村害瀵瑰簲鐨勭鐩� - */ - + public List<TSubject> selectTSubjectAndTLeveByTemplateId(String questionTemplateId); - } diff --git a/src/main/java/com/ots/project/exam/service/ITTextContentService.java b/src/main/java/com/ots/project/exam/service/ITTextContentService.java index 9406dc3..23b82d8 100644 --- a/src/main/java/com/ots/project/exam/service/ITTextContentService.java +++ b/src/main/java/com/ots/project/exam/service/ITTextContentService.java @@ -1,94 +1,27 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.TTextContent; import com.ots.project.exam.domain.TTextContentAndQuestion; - import java.util.Date; import java.util.List; import java.util.function.Function; -/** - * 棰樼洰鐨勫唴瀹筍ervice鎺ュ彛 - * - * @author ots - * @date 2019-11-24 - */ public interface ITTextContentService { - /** - * 鏌ヨ棰樼洰鐨勫唴瀹� - * - * @param id 棰樼洰鐨勫唴瀹笽D - * @return 棰樼洰鐨勫唴瀹� - */ + public TTextContent selectTTextContentById(Long id); - public List<TTextContent> selectTTextContentByIds(String[] ids); - public List<TTextContentAndQuestion> selectTextContentAndQuestion(String[] ids); - - /** - * 鏌ヨ棰樼洰鐨勫唴瀹瑰垪琛� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 棰樼洰鐨勫唴瀹归泦鍚� - */ + public List<TTextContent> selectTTextContentList(TTextContent tTextContent); - - /** - * 鏂板棰樼洰鐨勫唴瀹� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 缁撴灉 - */ + public int insertTTextContent(TTextContent tTextContent); - - /** - * 淇敼棰樼洰鐨勫唴瀹� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 缁撴灉 - */ + public int updateTTextContent(TTextContent tTextContent); - - /** - * 鎵归噺鍒犻櫎棰樼洰鐨勫唴瀹� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + public int deleteTTextContentByIds(String ids); - - /** - * 鍒犻櫎棰樼洰鐨勫唴瀹逛俊鎭� - * - * @param id 棰樼洰鐨勫唴瀹笽D - * @return 缁撴灉 - */ + public int deleteTTextContentById(Long id); - - - /** - * 鍒涘缓涓�涓猅extContent锛屽皢鍐呭杞寲涓簀son锛屽洖鍐欏埌content涓紝涓嶅叆搴� - * - * @param list - * @param now - * @param mapper - * @param <T> - * @param <R> - * @return - */ + <T, R> TTextContent jsonConvertInsert(List<T> list, Date now, Function<? super T, ? extends R> mapper); - - /** - * 淇敼涓�涓猅extContent锛屽皢鍐呭杞寲涓簀son锛屽洖鍐欏埌content涓紝涓嶅叆搴� - * - * @param textContent - * @param list - * @param mapper - * @param <T> - * @param <R> - * @return - */ + <T, R> TTextContent jsonConvertUpdate(TTextContent textContent, List<T> list, Function<? super T, ? extends R> mapper); - } diff --git a/src/main/java/com/ots/project/exam/service/MemberService.java b/src/main/java/com/ots/project/exam/service/MemberService.java index 8c8c5e7..00c1c1d 100644 --- a/src/main/java/com/ots/project/exam/service/MemberService.java +++ b/src/main/java/com/ots/project/exam/service/MemberService.java @@ -1,46 +1,19 @@ package com.ots.project.exam.service; - import com.ots.project.exam.domain.EntDemographyInfo; import com.ots.project.exam.dto.DictItemDto; import com.ots.project.exam.dto.ParamDefine; import com.ots.project.exam.dto.ParamsInfo; import com.ots.project.exam.dto.RelatedParty; - import java.util.List; -/** - * VUE鐢ㄦ埛鏈嶅姟 - */ public interface MemberService { - - /** - * 鑾峰彇浼佷笟浜哄彛瀛﹀彉閲忓畾涔� - * - * @param token - * @return - * @throws Exception - */ + List<ParamDefine> getParamDefines(String token, String lang); - - /** - * 鑾峰彇鐢ㄦ埛浜哄彛瀛︿俊鎭� - * - * @param token - * @return - */ + List<EntDemographyInfo> queryDemographyParamInfo(String token); - void saveDemographyParamInfo(String token, List<ParamsInfo> infos, String langType); - - /** - * 閫氳繃token鑾峰彇褰撳墠娴嬭瘯鍖呯殑鍏宠仈鐨勪骇鍝佸寘缂栫爜 - * - * @return - */ + RelatedParty queryProdidByToken(String token); - - /** - * 鑾峰彇鏀寔鐨勫璇█ - */ + List<DictItemDto> queryLang(String token); } diff --git a/src/main/java/com/ots/project/exam/service/QuestionService.java b/src/main/java/com/ots/project/exam/service/QuestionService.java index bf7dfff..f6e873d 100644 --- a/src/main/java/com/ots/project/exam/service/QuestionService.java +++ b/src/main/java/com/ots/project/exam/service/QuestionService.java @@ -1,25 +1,15 @@ package com.ots.project.exam.service; - import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.Question; import com.ots.project.exam.viewmodel.QuestionEditRequestVM; import com.ots.project.exam.viewmodel.QuestionPageRequestVM; - import java.util.List; - public interface QuestionService extends IBaseExamService<Question> { - PageInfo<Question> page(QuestionPageRequestVM requestVM); - Question insertFullQuestion(QuestionEditRequestVM model, Integer userId); - Question updateFullQuestion(QuestionEditRequestVM model); - QuestionEditRequestVM getQuestionEditRequestVM(Integer questionId); - QuestionEditRequestVM getQuestionEditRequestVM(Question question); - Integer selectAllCount(); - List<Integer> selectMothCount(); } diff --git a/src/main/java/com/ots/project/exam/service/ReportCalculationServices.java b/src/main/java/com/ots/project/exam/service/ReportCalculationServices.java index 4221ec1..6f18e9b 100644 --- a/src/main/java/com/ots/project/exam/service/ReportCalculationServices.java +++ b/src/main/java/com/ots/project/exam/service/ReportCalculationServices.java @@ -1,17 +1,7 @@ package com.ots.project.exam.service; - import com.ots.project.tool.report.reportCalculation.response.ReportAPIResult; -/** - * 璋冪敤娉板浗鍥㈤槦璁$畻缁勪欢 - */ public interface ReportCalculationServices { - - /** - * 2.1. MAQ-璁$畻鎺ュ彛锛岀澘閭籖UILIN璁$畻鎺ュ彛,CAQ-璁$畻鎺ュ彛 锛圡AQ-computing interface锛� - * - * @param request - * @return - */ + ReportAPIResult stageCalculation(Object request); } diff --git a/src/main/java/com/ots/project/exam/service/SubjectService.java b/src/main/java/com/ots/project/exam/service/SubjectService.java index 8d7f0e5..4b77fa1 100644 --- a/src/main/java/com/ots/project/exam/service/SubjectService.java +++ b/src/main/java/com/ots/project/exam/service/SubjectService.java @@ -1,18 +1,11 @@ package com.ots.project.exam.service; - import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.Subject; import com.ots.project.exam.viewmodel.SubjectPageRequestVM; - import java.util.List; - public interface SubjectService extends BaseService<Subject> { - List<Subject> getSubjectByLevel(Integer level); - List<Subject> allSubject(); - Integer levelBySubjectId(Integer id); - PageInfo<Subject> page(SubjectPageRequestVM requestVM); } diff --git a/src/main/java/com/ots/project/exam/service/TaskExamCustomerAnswerService.java b/src/main/java/com/ots/project/exam/service/TaskExamCustomerAnswerService.java index 740d4f8..2783624 100644 --- a/src/main/java/com/ots/project/exam/service/TaskExamCustomerAnswerService.java +++ b/src/main/java/com/ots/project/exam/service/TaskExamCustomerAnswerService.java @@ -1,21 +1,13 @@ package com.ots.project.exam.service; - - import com.ots.project.exam.domain.ExamPaper; import com.ots.project.exam.domain.ExamPaperAnswer; import com.ots.project.exam.domain.TExamPaper; import com.ots.project.exam.domain.TaskExamCustomerAnswer; - import java.util.Date; import java.util.List; - public interface TaskExamCustomerAnswerService extends BaseService<TaskExamCustomerAnswer> { - void insertOrUpdate(ExamPaper examPaper, ExamPaperAnswer examPaperAnswer, Date now); - void insertOrUpdate(TExamPaper examPaper, ExamPaperAnswer examPaperAnswer, Date now); - TaskExamCustomerAnswer selectByTUid(Integer tid, Integer uid); - List<TaskExamCustomerAnswer> selectByTUid(List<Integer> taskIds, Integer uid); } diff --git a/src/main/java/com/ots/project/exam/service/UserEventLogService.java b/src/main/java/com/ots/project/exam/service/UserEventLogService.java index ad674b7..7e2310b 100644 --- a/src/main/java/com/ots/project/exam/service/UserEventLogService.java +++ b/src/main/java/com/ots/project/exam/service/UserEventLogService.java @@ -1,16 +1,10 @@ package com.ots.project.exam.service; - import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.UserEventLog; import com.ots.project.exam.viewmodel.UserEventPageRequestVM; - import java.util.List; - public interface UserEventLogService extends BaseService<UserEventLog> { - List<UserEventLog> getUserEventLogByUserId(Integer id); - PageInfo<UserEventLog> page(UserEventPageRequestVM requestVM); - List<Integer> selectMothCount(); } diff --git a/src/main/java/com/ots/project/exam/service/impl/BaseExamServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/BaseExamServiceImpl.java index 29a792b..1105240 100644 --- a/src/main/java/com/ots/project/exam/service/impl/BaseExamServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/BaseExamServiceImpl.java @@ -1,39 +1,30 @@ package com.ots.project.exam.service.impl; - import com.ots.project.exam.mapper.BaseExamMapper; import com.ots.project.exam.service.IBaseExamService; import lombok.AllArgsConstructor; - @AllArgsConstructor public abstract class BaseExamServiceImpl<T> implements IBaseExamService<T> { - BaseExamMapper<T> baseMapper; - @Override public int deleteById(Integer id) { return baseMapper.deleteByPrimaryKey(id); } - @Override public int insert(T record) { return baseMapper.insert(record); } - @Override public int insertByFilter(T record) { return baseMapper.insertSelective(record); } - @Override public T selectById(Integer id) { return baseMapper.selectByPrimaryKey(id); } - @Override public int updateByIdFilter(T record) { return baseMapper.updateByPrimaryKeySelective(record); } - @Override public int updateById(T record) { return baseMapper.updateByPrimaryKey(record); diff --git a/src/main/java/com/ots/project/exam/service/impl/BaseServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/BaseServiceImpl.java index 60e4277..514f96f 100644 --- a/src/main/java/com/ots/project/exam/service/impl/BaseServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/BaseServiceImpl.java @@ -1,39 +1,30 @@ package com.ots.project.exam.service.impl; - import com.ots.project.exam.mapper.BaseMapper; import com.ots.project.exam.service.BaseService; import lombok.AllArgsConstructor; - @AllArgsConstructor public abstract class BaseServiceImpl<T> implements BaseService<T> { - BaseMapper<T> baseMapper; - @Override public int deleteById(Integer id) { return baseMapper.deleteByPrimaryKey(id); } - @Override public int insert(T record) { return baseMapper.insert(record); } - @Override public int insertByFilter(T record) { return baseMapper.insertSelective(record); } - @Override public T selectById(Integer id) { return baseMapper.selectByPrimaryKey(id); } - @Override public int updateByIdFilter(T record) { return baseMapper.updateByPrimaryKeySelective(record); } - @Override public int updateById(T record) { return baseMapper.updateByPrimaryKey(record); diff --git a/src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java index 5250508..e05e973 100644 --- a/src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.enums.TestMemberStatusEnum; import com.ots.project.exam.domain.*; import com.ots.project.exam.mapper.EntTestMemberMapper; @@ -8,29 +7,25 @@ import com.ots.project.exam.service.CountCalculateService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import java.util.*; import java.util.stream.Collectors; +import static com.ots.common.enums.TestMemberStatusEnum.answering; +import static com.ots.common.enums.TestMemberStatusEnum.timeOut; -/** - * 娆℃暟璁$畻缁勪欢 - */ @Component public class CountCalculateServiceImpl implements CountCalculateService { - @Autowired private EntTestMemberMapper entTestMemberMapper; @Autowired private EntTestPackageMapper entTestPackageMapper; @Autowired private SysUserExtendMapper sysUserExtendMapper; - @Override public NumberOfUsersByCompany calculateProductPackagesMemberCount(EntTestPackage entTestPackage) { Long userId = entTestPackage.getUserId(); NumberOfUsersByCompany result = new NumberOfUsersByCompany(); if (Objects.nonNull(userId)) { - //1銆佹煡璇紒涓氱敤鎴锋墿灞曞弬鏁� + SysUserExtend sysUserExtend = sysUserExtendMapper.selectSysUserExtendById(userId); if (Objects.isNull(sysUserExtend)) { return result; @@ -42,17 +37,15 @@ result.setTestNum(testNum.intValue()); } List<EntTestPackage> entTestPackages = findEntTestPackages(entTestPackage); - //3銆佹煡璇㈠綋鍓嶆祴璇曞寘涓嬬殑鐢ㄦ埛 + if (Objects.nonNull(entTestPackages) && !entTestPackages.isEmpty()) { result = constructResult(userId, entTestPackages); } return result; } - private List<EntTestPackage> findEntTestPackages(EntTestPackage entTestPackage) { return entTestPackageMapper.selectEntTestPackageList(entTestPackage); } - private NumberOfUsersByCompany constructResult(Long userId, List<EntTestPackage> entTestPackages) { List<Long> collect = entTestPackages.stream().map(p -> p.getId()).collect(Collectors.toList()); List<EntTestMember> entTestMembers = findEntTestMembers(collect); @@ -63,7 +56,7 @@ if (Objects.nonNull(result.getTestNum())) { result.setUsedTimes(entTestMembers.size()); } - //4銆佹瘡涓祴璇曞寘鐨勪娇鐢ㄦ儏鍐� + Map<Long, List<EntTestMember>> testPackageUsageTimesMap = entTestMembers.stream().collect(Collectors.groupingBy(EntTestMember::getTestId)); entTestPackages.stream().forEach(p -> { NumberOfUsersByPackage numberOfUsersByPackage = new NumberOfUsersByPackage(); @@ -75,7 +68,7 @@ if (Objects.nonNull(testMembers)) { total = Long.valueOf(testMembers.size()); finishNum = testMembers.stream().filter(testMember -> TestMemberStatusEnum.completed.getCode().equals(testMember.getStatus())).mapToLong(x -> 1).sum(); - testIngNum = testMembers.stream().filter(testMember -> TestMemberStatusEnum.answering.getCode().equals(testMember.getStatus())).mapToLong(x -> 1).sum(); + testIngNum = testMembers.stream().filter(testMember -> answering.getCode().equals(testMember.getStatus())).mapToLong(x -> 1).sum(); unTestNum = total - testIngNum - finishNum; } numberOfUsersByPackage.setTestNum(total); @@ -89,14 +82,12 @@ }); return result; } - private List<EntTestMember> findEntTestMembers(List<Long> collect) { Map map = new HashMap(); map.put("testIds", collect); - //unprocessed("0", "鏈鐞�"),completed("1", "宸插畬鎴�"),answering("2", "绛旈涓�"), 涓夌鐘舵�佺畻宸茬粡浣跨敤浜嗘鏁� - List<String> recyclingStatus = Arrays.asList(TestMemberStatusEnum.unprocessed.getCode(), TestMemberStatusEnum.completed.getCode(), TestMemberStatusEnum.answering.getCode()); + + List<String> recyclingStatus = Arrays.asList(TestMemberStatusEnum.unprocessed.getCode(), TestMemberStatusEnum.completed.getCode(), answering.getCode(), timeOut.getCode()); map.put("status", recyclingStatus); return entTestMemberMapper.selectEntTestMemberListByMap(map); } - } diff --git a/src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java index 777b6ad..02df770 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntDemographyInfoServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.utils.DateUtils; import com.ots.common.utils.text.Convert; import com.ots.project.exam.domain.EntDemographyInfo; @@ -7,88 +6,44 @@ import com.ots.project.exam.service.IEntDemographyInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.List; -/** - * 浜哄彛瀛︿俊鎭疭ervice涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-12-15 - */ @Service public class EntDemographyInfoServiceImpl implements IEntDemographyInfoService { @Autowired private EntDemographyInfoMapper entDemographyInfoMapper; - - /** - * 鏌ヨ浜哄彛瀛︿俊鎭� - * - * @param infoId 浜哄彛瀛︿俊鎭疘D - * @return 浜哄彛瀛︿俊鎭� - */ + @Override public EntDemographyInfo selectEntDemographyInfoById(Long infoId) { return entDemographyInfoMapper.selectEntDemographyInfoById(infoId); } - - /** - * 鏌ヨ浜哄彛瀛︿俊鎭垪琛� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 浜哄彛瀛︿俊鎭� - */ + @Override public List<EntDemographyInfo> selectEntDemographyInfoList(EntDemographyInfo entDemographyInfo) { return entDemographyInfoMapper.selectEntDemographyInfoList(entDemographyInfo); } - @Override public List<EntDemographyInfo> selectEntDemographyAndParamList(EntDemographyInfo entDemographyInfo) { return entDemographyInfoMapper.selectEntDemographyAndParamList(entDemographyInfo); } - - /** - * 鏂板浜哄彛瀛︿俊鎭� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 缁撴灉 - */ + @Override public int insertEntDemographyInfo(EntDemographyInfo entDemographyInfo) { entDemographyInfo.setCreateTime(DateUtils.getNowDate()); return entDemographyInfoMapper.insertEntDemographyInfo(entDemographyInfo); } - - /** - * 淇敼浜哄彛瀛︿俊鎭� - * - * @param entDemographyInfo 浜哄彛瀛︿俊鎭� - * @return 缁撴灉 - */ + @Override public int updateEntDemographyInfo(EntDemographyInfo entDemographyInfo) { entDemographyInfo.setUpdateTime(DateUtils.getNowDate()); return entDemographyInfoMapper.updateEntDemographyInfo(entDemographyInfo); } - - /** - * 鍒犻櫎浜哄彛瀛︿俊鎭璞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteEntDemographyInfoByIds(String ids) { return entDemographyInfoMapper.deleteEntDemographyInfoByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎浜哄彛瀛︿俊鎭俊鎭� - * - * @param infoId 浜哄彛瀛︿俊鎭疘D - * @return 缁撴灉 - */ + public int deleteEntDemographyInfoById(Long infoId) { return entDemographyInfoMapper.deleteEntDemographyInfoById(infoId); } diff --git a/src/main/java/com/ots/project/exam/service/impl/EntDemographyParamServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntDemographyParamServiceImpl.java index a22da3d..80e093a 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntDemographyParamServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntDemographyParamServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.utils.DateUtils; import com.ots.common.utils.StringUtils; import com.ots.common.utils.text.Convert; @@ -9,70 +8,36 @@ import com.ots.project.system.user.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.List; import java.util.Map; -/** - * 浜哄彛瀛﹀彉閲忓畾涔塖ervice涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-12-11 - */ @Service public class EntDemographyParamServiceImpl implements IEntDemographyParamService { @Autowired private EntDemographyParamMapper entDemographyParamMapper; - @Autowired private UserMapper userMapper; - - - /** - * 鏌ヨ浜哄彛瀛﹀彉閲忓畾涔� - * - * @param paramId 浜哄彛瀛﹀彉閲忓畾涔塈D - * @return 浜哄彛瀛﹀彉閲忓畾涔� - */ + @Override public EntDemographyParam selectEntDemographyParamById(Long paramId) { return entDemographyParamMapper.selectEntDemographyParamById(paramId); } - - /** - * 鏌ヨ浜哄彛瀛﹀彉閲忓畾涔夊垪琛� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 浜哄彛瀛﹀彉閲忓畾涔� - */ + @Override public List<EntDemographyParam> selectEntDemographyParamList(EntDemographyParam entDemographyParam) { return entDemographyParamMapper.selectEntDemographyParamList(entDemographyParam); } - @Override public List<EntDemographyParam> selectEntDemographyParamListByParamIn(String paramIds) { return entDemographyParamMapper.selectEntDemographyParamListByParamIn(Convert.toStrArray(paramIds)); } - - /** - * 鏂板浜哄彛瀛﹀彉閲忓畾涔� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 缁撴灉 - */ + @Override public int insertEntDemographyParam(EntDemographyParam entDemographyParam) { entDemographyParam.setCreateTime(DateUtils.getNowDate()); return entDemographyParamMapper.insertEntDemographyParam(entDemographyParam); } - - /** - * 淇敼浜哄彛瀛﹀彉閲忓畾涔� - * - * @param entDemographyParam 浜哄彛瀛﹀彉閲忓畾涔� - * @return 缁撴灉 - */ + @Override public int updateEntDemographyParam(EntDemographyParam entDemographyParam) { if (StringUtils.isEmpty(entDemographyParam.getIsRequired())) { @@ -81,24 +46,12 @@ entDemographyParam.setUpdateTime(DateUtils.getNowDate()); return entDemographyParamMapper.updateEntDemographyParam(entDemographyParam); } - - /** - * 鍒犻櫎浜哄彛瀛﹀彉閲忓畾涔夊璞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteEntDemographyParamByIds(String ids) { return entDemographyParamMapper.deleteEntDemographyParamByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎浜哄彛瀛﹀彉閲忓畾涔変俊鎭� - * - * @param paramId 浜哄彛瀛﹀彉閲忓畾涔塈D - * @return 缁撴灉 - */ + public int deleteEntDemographyParamById(Long paramId) { return entDemographyParamMapper.deleteEntDemographyParamById(paramId); } diff --git a/src/main/java/com/ots/project/exam/service/impl/EntOperLogServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntOperLogServiceImpl.java index 6cab921..8be1ff6 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntOperLogServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntOperLogServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.enums.OpertypeEnum; import com.ots.common.utils.DateUtils; import com.ots.common.utils.text.Convert; @@ -8,88 +7,44 @@ import com.ots.project.exam.service.IEntOperLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.Date; import java.util.List; -/** - * 浣跨敤娆℃暟鎿嶄綔璁板綍Service涓氬姟灞傚鐞� - * - * @author ots - * @date 2020-01-19 - */ @Service public class EntOperLogServiceImpl implements IEntOperLogService { @Autowired private EntOperLogMapper entOperLogMapper; - - /** - * 鏌ヨ浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param logId 浣跨敤娆℃暟鎿嶄綔璁板綍ID - * @return 浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + @Override public EntOperLog selectEntOperLogById(Long logId) { return entOperLogMapper.selectEntOperLogById(logId); } - - /** - * 鏌ヨ浣跨敤娆℃暟鎿嶄綔璁板綍鍒楄〃 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 浣跨敤娆℃暟鎿嶄綔璁板綍 - */ + @Override public List<EntOperLog> selectEntOperLogList(EntOperLog entOperLog) { return entOperLogMapper.selectEntOperLogList(entOperLog); } - - /** - * 鏂板浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 缁撴灉 - */ + @Override public int insertEntOperLog(EntOperLog entOperLog) { entOperLog.setCreateTime(DateUtils.getNowDate()); return entOperLogMapper.insertEntOperLog(entOperLog); } - - /** - * 淇敼浣跨敤娆℃暟鎿嶄綔璁板綍 - * - * @param entOperLog 浣跨敤娆℃暟鎿嶄綔璁板綍 - * @return 缁撴灉 - */ + @Override public int updateEntOperLog(EntOperLog entOperLog) { entOperLog.setUpdateTime(DateUtils.getNowDate()); return entOperLogMapper.updateEntOperLog(entOperLog); } - - /** - * 鍒犻櫎浣跨敤娆℃暟鎿嶄綔璁板綍瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteEntOperLogByIds(String ids) { return entOperLogMapper.deleteEntOperLogByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎浣跨敤娆℃暟鎿嶄綔璁板綍淇℃伅 - * - * @param logId 浣跨敤娆℃暟鎿嶄綔璁板綍ID - * @return 缁撴灉 - */ + public int deleteEntOperLogById(Long logId) { return entOperLogMapper.deleteEntOperLogById(logId); } - @Override public void saveLog(Long userId, String createUserId, OpertypeEnum opertypeEnum, Long addNum) { EntOperLog entOperLog = new EntOperLog(); diff --git a/src/main/java/com/ots/project/exam/service/impl/EntTestDetailServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntTestDetailServiceImpl.java index 6ca61ab..16aa8a0 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntTestDetailServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntTestDetailServiceImpl.java @@ -1,16 +1,8 @@ package com.ots.project.exam.service.impl; - import com.ots.project.exam.service.IEntTestDetailService; import org.springframework.stereotype.Service; -/** - * entTestDetailService涓氬姟灞傚鐞� - * - * @author ots - * @date 2020-03-01 - */ @Service public class EntTestDetailServiceImpl implements IEntTestDetailService { - } diff --git a/src/main/java/com/ots/project/exam/service/impl/EntTestMemberBackstageServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntTestMemberBackstageServiceImpl.java index 77794f2..0c336fa 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntTestMemberBackstageServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntTestMemberBackstageServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.utils.DateUtils; import com.ots.common.utils.text.Convert; import com.ots.project.exam.domain.EntTestMemberBackstage; @@ -7,83 +6,40 @@ import com.ots.project.exam.service.IEntTestMemberBackstageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.List; -/** - * EntTestMemberBackstageService涓氬姟灞傚鐞� - * - * @author ots - * @date 2020-02-29 - */ @Service public class EntTestMemberBackstageServiceImpl implements IEntTestMemberBackstageService { @Autowired private EntTestMemberBackstageMapper entTestMemberBackstageMapper; - - /** - * 鏌ヨEntTestMemberBackstage - * - * @param memberId EntTestMemberBackstageID - * @return EntTestMemberBackstage - */ + @Override public EntTestMemberBackstage selectEntTestMemberBackstageById(Long memberId) { return entTestMemberBackstageMapper.selectEntTestMemberBackstageById(memberId); } - - /** - * 鏌ヨEntTestMemberBackstage鍒楄〃 - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return EntTestMemberBackstage - */ + @Override public List<EntTestMemberBackstage> selectEntTestMemberBackstageList(EntTestMemberBackstage entTestMemberBackstage) { return entTestMemberBackstageMapper.selectEntTestMemberBackstageList(entTestMemberBackstage); } - - /** - * 鏂板EntTestMemberBackstage - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return 缁撴灉 - */ + @Override public int insertEntTestMemberBackstage(EntTestMemberBackstage entTestMemberBackstage) { entTestMemberBackstage.setCreateTime(DateUtils.getNowDate()); return entTestMemberBackstageMapper.insertEntTestMemberBackstage(entTestMemberBackstage); } - - /** - * 淇敼EntTestMemberBackstage - * - * @param entTestMemberBackstage EntTestMemberBackstage - * @return 缁撴灉 - */ + @Override public int updateEntTestMemberBackstage(EntTestMemberBackstage entTestMemberBackstage) { entTestMemberBackstage.setUpdateTime(DateUtils.getNowDate()); return entTestMemberBackstageMapper.updateEntTestMemberBackstage(entTestMemberBackstage); } - - /** - * 鍒犻櫎EntTestMemberBackstage瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteEntTestMemberBackstageByIds(String ids) { return entTestMemberBackstageMapper.deleteEntTestMemberBackstageByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎EntTestMemberBackstage淇℃伅 - * - * @param memberId EntTestMemberBackstageID - * @return 缁撴灉 - */ + public int deleteEntTestMemberBackstageById(Long memberId) { return entTestMemberBackstageMapper.deleteEntTestMemberBackstageById(memberId); } diff --git a/src/main/java/com/ots/project/exam/service/impl/EntTestMemberServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntTestMemberServiceImpl.java index 7c59115..e6014b0 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntTestMemberServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntTestMemberServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.enums.TestMemberStatusEnum; import com.ots.common.enums.UsageCountEnum; import com.ots.common.exception.BusinessException; @@ -20,65 +19,40 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import java.util.*; import java.util.stream.Collectors; - import static com.ots.common.enums.ResponseCode.*; import static com.ots.common.enums.TestMemberStatusEnum.*; -/** - * 娴嬭瘎浜哄憳鍚嶅崟Service涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-12-15 - */ @Service @Slf4j public class EntTestMemberServiceImpl implements IEntTestMemberService { @Autowired private EntTestMemberMapper entTestMemberMapper; - @Autowired private EntTestPackageMapper entTestPackageMapper; - @Autowired private SysUserExtendMapper sysUserExtendMapper; @Autowired private TExamReportMapper tReportTemplateMapper; - - - /** - * 鏌ヨ娴嬭瘎浜哄憳鍚嶅崟 - * - * @param memberId 娴嬭瘎浜哄憳鍚嶅崟ID - * @return 娴嬭瘎浜哄憳鍚嶅崟 - */ + @Override public EntTestMember selectEntTestMemberById(Long memberId) { return entTestMemberMapper.selectEntTestMemberById(memberId); } - - /** - * 鏌ヨ娴嬭瘎浜哄憳鍚嶅崟鍒楄〃 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 娴嬭瘎浜哄憳鍚嶅崟 - */ + @Override public List<EntTestMember> selectEntTestMemberList(EntTestMember entTestMember) { return entTestMemberMapper.selectEntTestMemberList(entTestMember); } - @Override public List<EntTestMember> selectEntTestMemberTopList(EntTestMember entTestMember) { return entTestMemberMapper.selectEntTestMemberTopList(entTestMember); } - @Override public List<EntTestMember> selectEntTestMemberQueryList(EntTestMember entTestMember) { List<EntTestMember> entTestMembers = entTestMemberMapper.selectEntTestMemberQueryList(entTestMember); - //鏌ヨ鎶ュ憡琛ㄦ槸鍚︾粰HR鍙戦�侀偖浠� + List<String> collect = entTestMembers.stream().map(p -> String.valueOf(p.getMemberId())).collect(Collectors.toList()); if (Objects.isNull(collect)) { return new ArrayList<>(); @@ -87,10 +61,8 @@ if (Objects.isNull(memberIds) || memberIds.length == 0) { return new ArrayList<>(); } - List<TExamReport> tExamReports = tReportTemplateMapper.selectTReportTemplatesByMemberId(memberIds); - - //琛ュ厖repor琛ㄧ殑HR閭鍙戦�佺姸鎬� + Map<String, EntTestMember> map = new HashMap(); for (EntTestMember testMember : entTestMembers) { map.put(String.valueOf(testMember.getMemberId()), testMember); @@ -106,18 +78,11 @@ } return entTestMembers; } - @Override public List<EntTestMember> selectEntTestMemberList(Map params) { return entTestMemberMapper.selectEntTestMemberListByMap(params); } - - /** - * 鏂板娴嬭瘎浜哄憳鍚嶅崟锛屽苟鍑忓幓鍙敤娆℃暟 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 缁撴灉 - */ + @Override @Transactional public int insertEntTestMember(EntTestMember entTestMember) { @@ -127,78 +92,48 @@ usageCount(entTestMember, UsageCountEnum.reduce); return result; } - - /** - * 浣跨敤娆℃暟锛堟牴鎹紶鍏ョ殑绫诲瀷 鍒ゆ柇娆℃暟鏄鍔犺繕鏄噺灏戯級 - * 璋冪敤锛屽鍔犳垨鑰呮墸鍑忎竴娆°�� - * - * @param entTestMember - */ + private void usageCount(EntTestMember entTestMember, UsageCountEnum op) { MISSING_PARAMETERS.assertNotNull(entTestMember.getTestId(), "娴嬭瘯鍖呯紪鐮�"); EntTestPackage entTestPackage = entTestPackageMapper.selectEntTestPackageById(entTestMember.getTestId()); - ERROR_MESSAGE_CHECK.assertNotNull(entTestPackage, "娴嬭瘯鍖呬俊鎭笉瀛樺湪锛�"); SysUserExtend sysUserExtend = sysUserExtendMapper.selectSysUserExtendById(entTestPackage.getUserId()); - ERROR_MESSAGE_CHECK.assertNotNull(sysUserExtend, "鏈厤缃彲浣跨敤娆℃暟锛�"); USR_TIME_ISOVER.assertIsTrue(sysUserExtend.getTestNum() > 0, entTestPackage.getUserId()); sysUserExtend.setTestNum(sysUserExtend.getTestNum() + op.getOp()); - sysUserExtendMapper.updateSysUserExtend(sysUserExtend); } - - /** - * 淇敼娴嬭瘎浜哄憳鍚嶅崟 - * - * @param entTestMember 娴嬭瘎浜哄憳鍚嶅崟 - * @return 缁撴灉 - */ + @Override @Transactional public int updateEntTestMember(EntTestMember entTestMember) { entTestMember.setUpdateTime(DateUtils.getNowDate()); int reslut = entTestMemberMapper.updateEntTestMember(entTestMember); - //鍥炴敹鐘舵�侊紝闇�瑕佸洖鏀舵鏁� + List<String> status = Arrays.asList(TestMemberStatusEnum.recover.getCode(), TestMemberStatusEnum.expiryRecovery.getCode()); if (status.contains(entTestMember.getStatus())) { usageCount(entTestMember, UsageCountEnum.add); } return reslut; } - - /** - * 鍒犻櫎娴嬭瘎浜哄憳鍚嶅崟瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteEntTestMemberByIds(String ids) { return entTestMemberMapper.deleteEntTestMemberByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎娴嬭瘎浜哄憳鍚嶅崟淇℃伅 - * - * @param memberId 娴嬭瘎浜哄憳鍚嶅崟ID - * @return 缁撴灉 - */ + public int deleteEntTestMemberById(Long memberId) { return entTestMemberMapper.deleteEntTestMemberById(memberId); } - @Override public String importEntTestMember(List<EntTestMember> entTestMemberList, Boolean isUpdateSupport) { if (StringUtils.isNull(entTestMemberList) || entTestMemberList.size() == 0) { throw new BusinessException("Import user data cannot be empty锛�"); } - int successNum = 0; int failureNum = 0; StringBuilder successMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder(); - for (EntTestMember entTestMember : entTestMemberList) { try { insertEntTestMember(entTestMember); @@ -213,26 +148,20 @@ successNum++; successMsg.append("<br/>" + successNum + "銆�"+ MessageUtils.message("jsp.testPackage.name") +" " + entTestMember.getMemberName() + MessageUtils.message("imported.successfully")); } - - if (failureNum > 0) { failureMsg.insert(0, MessageUtils.message("import.internationalization.001") + failureNum + MessageUtils.message("import.internationalization.002")); -// throw new BusinessException(failureMsg.toString()); + } else { successMsg.insert(0, MessageUtils.message("import.internationalization.003") + successNum + MessageUtils.message("import.internationalization.004")); } - return successMsg.toString(); } - - public EntTestMember findEntTestMember(String token, List<String> status) { Map paramMap = new HashMap(); paramMap.put("token", token); paramMap.put("status", status); return entTestMemberMapper.findEntTestMember(paramMap); } - @Override public int updateTestMemberStatus(TestMemberStatusEnum statusEnum, long memberId) { EntTestMember member = selectEntTestMemberById(memberId); @@ -242,11 +171,9 @@ } else if (completed == statusEnum || timeOut == statusEnum) { member.setEndTime(new Date()); } - int result = updateEntTestMember(member); return result; } - @Override public boolean checkMemberHasReport(List<String> asList, Long testId) { return false; diff --git a/src/main/java/com/ots/project/exam/service/impl/EntTestPackageServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntTestPackageServiceImpl.java index 0c0e945..b2e0343 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntTestPackageServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntTestPackageServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.enums.TestMemberStatusEnum; import com.ots.common.utils.DateUtils; import com.ots.common.utils.StringUtils; @@ -10,50 +9,28 @@ import com.ots.project.exam.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.*; - import static com.ots.common.enums.OpertypeEnum.DIS_USER; import static com.ots.common.enums.ResponseCode.ERROR_RECOVER; -/** - * 娴嬭瘯鍖呯鐞哠ervice涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-11-27 - */ @Service public class EntTestPackageServiceImpl implements IEntTestPackageService { @Autowired private EntTestPackageMapper entTestPackageMapper; - @Autowired private IEntTestMemberService entTestMemberService; - @Autowired private CountCalculateService calculate; @Autowired private IEntOperLogService entOperLogService; @Autowired private ITReportTemplateService reportTemplateService; - - /** - * 鏌ヨ娴嬭瘯鍖呯鐞� - * - * @param id 娴嬭瘯鍖呯鐞咺D - * @return 娴嬭瘯鍖呯鐞� - */ + @Override public EntTestPackage selectEntTestPackageById(Long id) { return entTestPackageMapper.selectEntTestPackageById(id); } - - /** - * 鏌ヨ娴嬭瘯鍖呯鐞嗗垪琛� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 娴嬭瘯鍖呯鐞� - */ + @Override public List<EntTestPackage> selectEntTestPackageList(EntTestPackage entTestPackage) { List<EntTestPackage> entTestPackages = entTestPackageMapper.selectEntTestPackageList(entTestPackage); @@ -69,7 +46,7 @@ String[] split = reportTemplateId.split(","); Arrays.stream(split).forEach(item -> { TReportTemplate template = reportTemplateService.selectTReportTemplateById(Long.parseLong(item)); - // 濡傛灉鎶ュ憡琚垹闄や簡灏变笉璇诲嚭鏉ヤ簡 + if (Objects.nonNull(template)) { String reportTemplateShowValue = Objects.isNull(p.getReportTemplateShowValue()) ? "" : p.getReportTemplateShowValue(); p.setReportTemplateShowValue(template.getReportType() + "-" + template.getTemplateType() + "-" + template.getLangType() + ";" + reportTemplateShowValue); @@ -79,63 +56,36 @@ }); return entTestPackages; } - - @Override public List<EntTestPackage> selectEntTestPackageMainList(EntTestPackage entTestPackage) { List<EntTestPackage> entTestPackages = entTestPackageMapper.selectEntTestPackageMainList(entTestPackage); return entTestPackages; } - - /** - * 鏂板娴嬭瘯鍖呯鐞� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 缁撴灉 - */ + @Override public int insertEntTestPackage(EntTestPackage entTestPackage) { - // 濡傛灉鐢ㄦ埛缂栫爜涓虹┖锛屾彁鍙栧綋澶╂湁鏁堢櫥褰曠敤鎴� + if (Objects.isNull(entTestPackage.getUserId())) { entTestPackage.setUserId(ShiroUtils.getSysUser().getUserId()); } entTestPackage.setCreateTime(DateUtils.getNowDate()); return entTestPackageMapper.insertEntTestPackage(entTestPackage); } - - /** - * 淇敼娴嬭瘯鍖呯鐞� - * - * @param entTestPackage 娴嬭瘯鍖呯鐞� - * @return 缁撴灉 - */ + @Override public int updateEntTestPackage(EntTestPackage entTestPackage) { entTestPackage.setUpdateTime(DateUtils.getNowDate()); return entTestPackageMapper.updateEntTestPackage(entTestPackage); } - - /** - * 鍒犻櫎娴嬭瘯鍖呯鐞嗗璞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteEntTestPackageByIds(String ids) { return entTestPackageMapper.deleteEntTestPackageByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎娴嬭瘯鍖呯鐞嗕俊鎭� - * - * @param id 娴嬭瘯鍖呯鐞咺D - * @return 缁撴灉 - */ + public int deleteEntTestPackageById(Long id) { return entTestPackageMapper.deleteEntTestPackageById(id); } - @Override public List<EntTestPackage> selectEntTestPackageListByIdAndStatusIn(Long userId, List<String> status) { if (Objects.isNull(userId) && Objects.isNull(status) && status.isEmpty()) { @@ -150,11 +100,9 @@ } return selectEntTestPackageListByIdAndStatusIn(paramMap); } - public List<EntTestPackage> selectEntTestPackageListByIdAndStatusIn(Map paramMap) { return entTestPackageMapper.selectEntTestPackageListByIdAndStatusIn(paramMap); } - @Override public int recover(Long testId) { EntTestMember member = new EntTestMember(); diff --git a/src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskMailServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskMailServiceImpl.java index fce858b..7439099 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskMailServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskMailServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import java.util.List; import com.ots.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -9,86 +8,44 @@ import com.ots.project.exam.service.IEntTestSendtaskMailService; import com.ots.common.utils.text.Convert; -/** - * 閭閫�淇¤褰昐ervice涓氬姟灞傚鐞� - * - * @author ots - * @date 2020-03-09 - */ @Service public class EntTestSendtaskMailServiceImpl implements IEntTestSendtaskMailService { @Autowired private EntTestSendtaskMailMapper entTestSendtaskMailMapper; - - /** - * 鏌ヨ閭閫�淇¤褰� - * - * @param id 閭閫�淇¤褰旾D - * @return 閭閫�淇¤褰� - */ + @Override public EntTestSendtaskMail selectEntTestSendtaskMailById(Long id) { return entTestSendtaskMailMapper.selectEntTestSendtaskMailById(id); } - - /** - * 鏌ヨ閭閫�淇¤褰曞垪琛� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 閭閫�淇¤褰� - */ + @Override public List<EntTestSendtaskMail> selectEntTestSendtaskMailList(EntTestSendtaskMail entTestSendtaskMail) { return entTestSendtaskMailMapper.selectEntTestSendtaskMailList(entTestSendtaskMail); } - - /** - * 鏂板閭閫�淇¤褰� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 缁撴灉 - */ + @Override public int insertEntTestSendtaskMail(EntTestSendtaskMail entTestSendtaskMail) { entTestSendtaskMail.setCreateTime(DateUtils.getNowDate()); return entTestSendtaskMailMapper.insertEntTestSendtaskMail(entTestSendtaskMail); } - - /** - * 淇敼閭閫�淇¤褰� - * - * @param entTestSendtaskMail 閭閫�淇¤褰� - * @return 缁撴灉 - */ + @Override public int updateEntTestSendtaskMail(EntTestSendtaskMail entTestSendtaskMail) { entTestSendtaskMail.setUpdateTime(DateUtils.getNowDate()); return entTestSendtaskMailMapper.updateEntTestSendtaskMail(entTestSendtaskMail); } - - /** - * 鍒犻櫎閭閫�淇¤褰曞璞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteEntTestSendtaskMailByIds(String ids) { return entTestSendtaskMailMapper.deleteEntTestSendtaskMailByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎閭閫�淇¤褰曚俊鎭� - * - * @param id 閭閫�淇¤褰旾D - * @return 缁撴灉 - */ + public int deleteEntTestSendtaskMailById(Long id) { return entTestSendtaskMailMapper.deleteEntTestSendtaskMailById(id); diff --git a/src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskServiceImpl.java index bdea33f..fef244f 100644 --- a/src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/EntTestSendtaskServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.enums.SenderType; import com.ots.common.enums.SendtaskStatus; import com.ots.common.utils.DateUtils; @@ -16,104 +15,56 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.text.MessageFormat; import java.util.Arrays; import java.util.List; import java.util.Objects; - import static com.ots.common.enums.ResponseCode.*; -/** - * 璇勬祴閭�璇峰彂閫佷换鍔ervice涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-12-19 - */ @Service @Slf4j public class EntTestSendtaskServiceImpl implements IEntTestSendtaskService { @Autowired private EntTestSendtaskMapper entTestSendtaskMapper; - @Autowired private EntTestMemberServiceImpl entTestMemberService; - @Autowired private EntTestPackageServiceImpl entTestPackageService; - @Autowired private VueConfig vueConfig; @Autowired private IUserService userService; - - /** - * 鏌ヨ璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param id 璇勬祴閭�璇峰彂閫佷换鍔D - * @return 璇勬祴閭�璇峰彂閫佷换鍔� - */ + @Override public EntTestSendtask selectEntTestSendtaskById(Long id) { return entTestSendtaskMapper.selectEntTestSendtaskById(id); } - - /** - * 鏌ヨ璇勬祴閭�璇峰彂閫佷换鍔″垪琛� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 璇勬祴閭�璇峰彂閫佷换鍔� - */ + @Override public List<EntTestSendtask> selectEntTestSendtaskList(EntTestSendtask entTestSendtask) { return entTestSendtaskMapper.selectEntTestSendtaskList(entTestSendtask); } - - /** - * 鏂板璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 缁撴灉 - */ + @Override public int insertEntTestSendtask(EntTestSendtask entTestSendtask) { entTestSendtask.setCreateTime(DateUtils.getNowDate()); return entTestSendtaskMapper.insertEntTestSendtask(entTestSendtask); } - - /** - * 淇敼璇勬祴閭�璇峰彂閫佷换鍔� - * - * @param entTestSendtask 璇勬祴閭�璇峰彂閫佷换鍔� - * @return 缁撴灉 - */ + @Override public int updateEntTestSendtask(EntTestSendtask entTestSendtask) { entTestSendtask.setUpdateTime(DateUtils.getNowDate()); return entTestSendtaskMapper.updateEntTestSendtask(entTestSendtask); } - - /** - * 鍒犻櫎璇勬祴閭�璇峰彂閫佷换鍔″璞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteEntTestSendtaskByIds(String ids) { return entTestSendtaskMapper.deleteEntTestSendtaskByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎璇勬祴閭�璇峰彂閫佷换鍔′俊鎭� - * - * @param id 璇勬祴閭�璇峰彂閫佷换鍔D - * @return 缁撴灉 - */ + public int deleteEntTestSendtaskById(Long id) { return entTestSendtaskMapper.deleteEntTestSendtaskById(id); } - @Override public int insertEntTestSendtaskFromMemberIds(SendTask sendTask) { String memberIds = sendTask.getMemberIds(); @@ -139,16 +90,16 @@ TEL_IS_NOLL.assertNotNull(entTestMember.getMemberPhone()); entTestSendtask.setAddressee(entTestMember.getMemberPhone()); } - //鐢熸垚閾炬帴涓撳睘鍦板潃 + String url = vueConfig.getUrl(); String token = entTestMember.getToken(); String urlNew = MessageFormat.format(url, token); - //鏇挎崲閾炬帴鍦板潃 + String content = entTestSendtask.getContent(); String replace = content.replace("{url}", urlNew); - //鏇挎崲鍏徃鍚嶇О + String content2 = replace.replace("{Company}",user.getUserName()); - //鏇挎崲鐢ㄦ埛鍚嶇О + String content3 = content2.replace("{FullName}",entTestMember.getMemberName()); entTestSendtask.setContent(content3); entTestSendtask.setCreateTime(DateUtils.getNowDate()); diff --git a/src/main/java/com/ots/project/exam/service/impl/ExamPaperAnswerServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/ExamPaperAnswerServiceImpl.java index 2e84856..de8fd52 100644 --- a/src/main/java/com/ots/project/exam/service/impl/ExamPaperAnswerServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/ExamPaperAnswerServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ots.common.enums.QuestionTypeEnum; @@ -27,18 +26,15 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; - @Service public class ExamPaperAnswerServiceImpl implements ExamPaperAnswerService { private static final Logger log = LoggerFactory.getLogger(ExamPaperAnswerServiceImpl.class); - @Autowired private TExamPaperMapper examPaperMapper; @Autowired @@ -47,7 +43,6 @@ private ITTextContentService textContentService; @Autowired private TQuestionMapper questionMapper; - @Override public ExamPaperAnswerInfo calculateExamPaperAnswer(ExamPaperSubmitVM examPaperSubmitVM, ExamUser user) { ExamPaperAnswerInfo examPaperAnswerInfo = new ExamPaperAnswerInfo(); @@ -57,103 +52,85 @@ List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent, ExamPaperTitleItemObject.class); List<Integer> questionIds = examPaperTitleItemObjects.stream().flatMap(t -> t.getQuestionItems().stream().map(q -> q.getId())).collect(Collectors.toList()); List<TQuestion> questions = questionMapper.selectByIds(questionIds); - - // 鏄惁璺冲埌涓嬩竴娈� + setWhichPart(examPaperSubmitVM, examPaperAnswerInfo, examPaperTitleItemObjects, questions); - examPaperAnswerInfo.setExamPaper(examPaper); - return examPaperAnswerInfo; } - - // 鍒ゆ柇鏄惁璺冲埌涓嬩竴娈� + private void setWhichPart(ExamPaperSubmitVM examPaperSubmitVM, ExamPaperAnswerInfo examPaperAnswerInfo, List<ExamPaperTitleItemObject> examPaperTitleItemObjects, List<TQuestion> questions) { - // 鍒嗙墖涓嶈冻澶氬皯鍒嗕笉鑳界瓟棰�,绛旈鏈簲璇ョ殑鍒嗘暟鏄惁鍒颁簡闃�鍊笺�� + if (Objects.isNull(examPaperSubmitVM.getPartOrder())) { return; } int answerPartOrder = examPaperSubmitVM.getPartOrder(); - SubmitReport submitReport = new SubmitReport(); if (Objects.isNull(answerPartOrder)) { submitReport.setJump("this"); examPaperAnswerInfo.setSubmitReport(submitReport); return; } - - // 璁$畻鏄惁寰楀垎 + List<ExamPaperSubmitItemVM> answerItems = examPaperSubmitVM.getAnswerItems(); - - // 鐢ㄦ埛绛旂殑閫夐」 - // (questionId, content绛旂殑椤�) + + Map<Integer, String> answerContentMap = getAnswerContentMap(answerItems); - - // 鍘熷鍒嗙墖 + Map<Integer, QuestionPart> partMap = getParts(examPaperTitleItemObjects); - - // 閭d竴棰樻槸閭d竴鐗� - // (questionId, partOrder) + + Map<Integer, Integer> questionPartOrdeMap = getQuestionPartOrdeMap(examPaperTitleItemObjects); - // 鐢ㄦ埛绛斿灏戝垎寰楀垎 - // (partOrder, score) + + Map<Integer, Integer> partAnswerScoreMap = new HashMap<>(); - // 鏈鏈潵搴旇寰楀灏戝垎 - // (partOrder, score) + + Map<Integer, Integer> partQuestionScoreMap = new HashMap<>(); - // 鐢ㄦ埛鏈鑰楁椂 + Map<Integer, Integer> partAnswerTimeMap = new HashMap<>(); - setAnswerScoreMap(questions, answerContentMap, questionPartOrdeMap, partAnswerScoreMap, partQuestionScoreMap); + - // 鏈簲寰楀灏戝垎鍒颁簡闃�鍊笺�� -// System.out.println("鏈搴旇寰楀灏戝垎锛�" + partQuestionScoreMap.get(answerPartOrder)); -// System.out.println("鏈鏈�浣庡垎锛�" + partMap.get(answerPartOrder).getLowestScore()); -// System.out.println("鑷繁寰楀垎锛�" + partAnswerScoreMap.get(answerPartOrder)); -// if (Objects.nonNull(answerPartOrder) && partQuestionScoreMap.get(answerPartOrder) >= partMap.get(answerPartOrder).getLowestScore()) { -// if (partAnswerScoreMap.get(answerPartOrder) < partQuestionScoreMap.get(answerPartOrder)) { -// submitReport.setJump("next"); -// } else { -// submitReport.setJump("this"); -// } -// } else { -// submitReport.setJump("this"); -// } + + + + + + + + + + + examPaperAnswerInfo.setSubmitReport(submitReport); - // 鏃堕棿鐨勫垽鏂� - + } - private void setAnswerScoreMap(List<TQuestion> questions, Map<Integer, String> answerContentMap, Map<Integer, Integer> questionPartOrdeMap, Map<Integer, Integer> partAnswerScoreMap, Map<Integer, Integer> partQuestionScoreMap) { for (TQuestion tQuestion : questions) { - // 棰樼洰鐨勬 + int partOrder = questionPartOrdeMap.get(tQuestion.getId().intValue()); - - // 鍒濆鍊奸泦鍚� + if (Objects.isNull(partQuestionScoreMap.get(partOrder))){ partQuestionScoreMap.put(partOrder, 0); } - if (Objects.isNull(partAnswerScoreMap.get(partOrder))) { partAnswerScoreMap.put(partOrder, 0); } - - // 鏈潵搴旇鐨勫灏戝垎 - // 鐢ㄦ埛鑳界瓟澶氬皯鍒嗗緱鍒� + + if (Objects.nonNull(answerContentMap.get(tQuestion.getId().intValue()))) { setAnswerScoreMap(partQuestionScoreMap, tQuestion, partOrder); } + - // 鍒嗘暟鐨勫垽鏂� -// System.out.println("棰樼洰鍙凤細" + tQuestion.getId().intValue()); -// System.out.println("棰樼洰鐨勬纭瓟妗堬細" + tQuestion.getCorrect()); -// System.out.println("鑷繁閫夋嫨锛�" + answerContentMap.get(tQuestion.getId().intValue())); + + if (Objects.equals(tQuestion.getCorrect(), answerContentMap.get(tQuestion.getId().intValue()))) { - // 鐢ㄦ埛鑳界瓟澶氬皯鍒嗗緱鍒� + setAnswerScoreMap(partAnswerScoreMap, tQuestion, partOrder); } } } - private Map<Integer, Integer> getQuestionPartOrdeMap(List<ExamPaperTitleItemObject> examPaperTitleItemObjects) { Map<Integer, Integer> questionPartOrdeMap = new HashMap<>(); for (ExamPaperTitleItemObject examPaperTitleItemObject : examPaperTitleItemObjects) { @@ -164,17 +141,15 @@ } return questionPartOrdeMap; } - private Map<Integer, QuestionPart> getParts(List<ExamPaperTitleItemObject> examPaperTitleItemObjects) { List<QuestionPart> parts = examPaperTitleItemObjects.get(0).getParts(); - // (partOrder, questionPart) + Map<Integer, QuestionPart> partMap = new HashMap<>(); for (QuestionPart questionPart : parts) { partMap.put(questionPart.getPartOrder(), questionPart); } return partMap; } - private Map<Integer, String> getAnswerContentMap(List<ExamPaperSubmitItemVM> answerItems) { Map<Integer, String> answerContentMap = new HashMap<>(); answerItems.stream().forEach(answerItem ->{ @@ -182,7 +157,6 @@ }); return answerContentMap; } - private void setAnswerScoreMap(Map<Integer, Integer> partQuestionScoreMap, TQuestion tQuestion, int partOrder) { int questonScore = Objects.nonNull(tQuestion.getScore()) ? tQuestion.getScore().intValue() : 0; if (Objects.nonNull(partQuestionScoreMap.get(partOrder))) { @@ -192,24 +166,13 @@ partQuestionScoreMap.put(partOrder, questonScore); } } - - /** - * 鐢ㄦ埛鎻愪氦绛旀鐨勮浆鍖栧瓨鍌ㄥ璞� - * - * @param question question - * @param customerQuestionAnswer customerQuestionAnswer - * @param examPaper examPaper - * @param itemOrder itemOrder - * @param user user - * @param now now - * @return ExamPaperQuestionCustomerAnswer - */ + private ExamPaperQuestionCustomerAnswer ExamPaperQuestionCustomerAnswerFromVM(TQuestion question, ExamPaperSubmitItemVM customerQuestionAnswer, TExamPaper examPaper, Integer itemOrder, ExamUser user, Date now) { ExamPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer = new ExamPaperQuestionCustomerAnswer(); examPaperQuestionCustomerAnswer.setQuestionId(question.getId().intValue()); examPaperQuestionCustomerAnswer.setExamPaperId(examPaper.getId().intValue()); - // examPaperQuestionCustomerAnswer.setWhichPart(question.getScore().intValue()); - // examPaperQuestionCustomerAnswer.setSubjectId(examPaper.getSubjectId().intValue()); + + examPaperQuestionCustomerAnswer.setItemOrder(itemOrder); examPaperQuestionCustomerAnswer.setCreateTime(now); examPaperQuestionCustomerAnswer.setCreateUser(user.getId()); @@ -222,14 +185,7 @@ } return examPaperQuestionCustomerAnswer; } - - /** - * 鍒ゆ柇鎻愪氦绛旀鏄惁姝g‘锛屼繚鐣欑敤鎴锋彁浜ょ殑绛旀 - * - * @param examPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer - * @param question question - * @param customerQuestionAnswer customerQuestionAnswer - */ + private void setSpecialFromVM(ExamPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer, TQuestion question, ExamPaperSubmitItemVM customerQuestionAnswer) { QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.fromCode(examPaperQuestionCustomerAnswer.getQuestionType()); switch (questionTypeEnum) { @@ -256,60 +212,47 @@ break; } } - - @Override public PageInfo<ExamPaperAnswer> studentPage(ExamPaperAnswerPageVM requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> examPaperAnswerMapper.studentPage(requestVM)); } - - @Override public String judge(ExamPaperSubmitVM examPaperSubmitVM) { return null; } - @Override public ExamPaperSubmitVM examPaperAnswerToVM(Integer id) { return null; } - @Override public Integer selectAllCount() { return null; } - @Override public List<Integer> selectMothCount() { return null; } - @Override public int deleteById(Integer id) { return 0; } - @Override public int insert(ExamPaperAnswer record) { return examPaperAnswerMapper.insertSelective(record); } - @Override public int insertByFilter(ExamPaperAnswer record) { return examPaperAnswerMapper.insertSelective(record); } - @Override public ExamPaperAnswer selectById(Integer id) { return null; } - @Override public int updateByIdFilter(ExamPaperAnswer record) { return 0; } - @Override public int updateById(ExamPaperAnswer record) { return 0; diff --git a/src/main/java/com/ots/project/exam/service/impl/ExamPaperQuestionCustomerAnswerServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/ExamPaperQuestionCustomerAnswerServiceImpl.java index 80d5ea2..b871e0b 100644 --- a/src/main/java/com/ots/project/exam/service/impl/ExamPaperQuestionCustomerAnswerServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/ExamPaperQuestionCustomerAnswerServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ots.common.enums.QuestionTypeEnum; @@ -17,46 +16,35 @@ import com.ots.project.tool.exam.JsonUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.Date; import java.util.List; import java.util.stream.Collectors; - @Service public class ExamPaperQuestionCustomerAnswerServiceImpl extends BaseServiceImpl<ExamPaperQuestionCustomerAnswer> implements ExamPaperQuestionCustomerAnswerService { - @Autowired private ExamPaperQuestionCustomerAnswerMapper examPaperQuestionCustomerAnswerMapper; - @Autowired private ITTextContentService textContentService; - @Autowired public ExamPaperQuestionCustomerAnswerServiceImpl(ExamPaperQuestionCustomerAnswerMapper examPaperQuestionCustomerAnswerMapper, ITTextContentService textContentService) { super(examPaperQuestionCustomerAnswerMapper); this.examPaperQuestionCustomerAnswerMapper = examPaperQuestionCustomerAnswerMapper; this.textContentService = textContentService; } - - @Override public PageInfo<ExamPaperQuestionCustomerAnswer> studentPage(QuestionPageStudentRequestVM requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> examPaperQuestionCustomerAnswerMapper.studentPage(requestVM) ); } - @Override public List<ExamPaperQuestionCustomerAnswer> selectListByPaperAnswerId(Integer id) { return examPaperQuestionCustomerAnswerMapper.selectListByPaperAnswerId(id); } - - @Override public void insertList(List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers) { examPaperQuestionCustomerAnswerMapper.insertList(examPaperQuestionCustomerAnswers); } - @Override public ExamPaperSubmitItemVM examPaperQuestionCustomerAnswerToVM(ExamPaperQuestionCustomerAnswer qa) { ExamPaperSubmitItemVM examPaperSubmitItemVM = new ExamPaperSubmitItemVM(); @@ -69,12 +57,10 @@ setSpecialToVM(examPaperSubmitItemVM, qa); return examPaperSubmitItemVM; } - @Override public Integer selectAllCount() { return examPaperQuestionCustomerAnswerMapper.selectAllCount(); } - @Override public List<Integer> selectMothCount() { Date startTime = DateTimeUtil.getMonthStartDay(); @@ -86,12 +72,10 @@ return null == keyValue ? 0 : keyValue.getValue(); }).collect(Collectors.toList()); } - @Override public int updateScore(List<ExamPaperAnswerUpdate> examPaperAnswerUpdates) { return examPaperQuestionCustomerAnswerMapper.updateScore(examPaperAnswerUpdates); } - private void setSpecialToVM(ExamPaperSubmitItemVM examPaperSubmitItemVM, ExamPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer) { QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.fromCode(examPaperQuestionCustomerAnswer.getQuestionType()); switch (questionTypeEnum) { diff --git a/src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java index 52264c2..9030e1a 100644 --- a/src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java @@ -1,6 +1,4 @@ package com.ots.project.exam.service.impl; - - import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; @@ -38,7 +36,6 @@ import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -47,93 +44,68 @@ import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; - - @Service public class ExamPaperServiceImpl implements IExamPaperService { - protected final static ModelMapper modelMapper = ModelMapperSingle.Instance(); - @Autowired private ExamPaperMapper examPaperMapper; - @Autowired private ITTextContentService textContentService; - @Autowired private TQuestionMapper questionMapper; - @Autowired private ITQuestionService questionService; - @Autowired private ITExamReportService examReportService; - @Autowired private IExamUtilService examUtilService; - @Autowired private ITExamPaperService itExamPaperService; - - @Override public List<PaperInfo> indexPaper(PaperFilter paperFilter) { return examPaperMapper.indexPaper(paperFilter); } - - @Override public PageInfo<ExamPaper> page(ExamPaperPageRequestVM requestVM) { return null; } - @Override public PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVM requestVM) { return null; } - @Override public PageInfo<ExamPaper> studentPage(ExamPaperPageVM requestVM) { return null; } - @Override public ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, ExamUser user) { return null; } - - // 鍒嗗彂棰樼洰鍒板墠鍙扮殑鏂规硶 + @Override public ExamPaperEditRequestVM examPaperToVM(Integer id, String tokenId, String langType) { TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(id.longValue()); - tExamPaper.setLangType(langType); - ExamPaperEditRequestVM vm = modelMapper.map(tExamPaper, ExamPaperEditRequestVM.class); - // 瑙f瀽鍑洪鐩� + List<ExamPaperTitleItemVM> examPaperTitleItemVMS = resolveToQuestion(tExamPaper, vm); - // 璁剧疆澶ч鐨勪笅鏍噏uestionOrder,宸ヤ綔绫诲瀷闂嵎鍜屾祴璇曢棶鍗烽兘瑕� + setQuestionOrder(examPaperTitleItemVMS); - // 宸ヤ綔闂嵎棰樼洰闅忔満锛岃缃畆eport缁欏墠鍙颁篃鏄湪杩欓噷 + setRandomQuestionOrderAndReport(tokenId, vm, examPaperTitleItemVMS); - - // 浼犲垎娈电殑鏁版嵁缁欏墠鍙� + vm.setParts(examPaperTitleItemVMS.get(0).getParts()); - - // 澶氳瑷�鐨勭炕璇� + multilingualTranslation(langType, vm); - - // 璁剧疆questionReport杩斿洖缁欏墠鍙� + return vm; } - @Override public ExamPaperEditRequestVM examPaperToVM(RelatedParty relatedParty, String token_id, String langType) { ExamPaperEditRequestVM vm = examPaperToVM(relatedParty.getProdId().intValue(), token_id, langType); setExtraReturnValue(relatedParty, vm); return vm; } - private void setExtraReturnValue(RelatedParty relatedParty, ExamPaperEditRequestVM vm) { vm.setQuestionTemplateId(relatedParty.getQuestionTemplateId()); vm.setReportTemplateId(relatedParty.getReportTemplateId()); @@ -146,15 +118,13 @@ vm.setMemberName(relatedParty.getMemberName()); } } - private void setRandomQuestionOrderAndReport(String tokenId, ExamPaperEditRequestVM vm, List<ExamPaperTitleItemVM> examPaperTitleItemVMS) { List<Integer> intList = new ArrayList<>(); - // examPaperTitleItemVMS 涓轰竴涓ぇ棰橈紝涓�涓ぇ娈� + vm.setTitleItems(randomQuestion(examPaperTitleItemVMS, intList, tokenId,vm)); - // 棰樼洰鐨勯『搴� + vm.setQuestionOrder(intList); } - private void setQuestionOrder(List<ExamPaperTitleItemVM> examPaperTitleItemVMS) { int questionOrederNum = 0; int questionItemQONum = 0; @@ -165,41 +135,35 @@ } } } - - // 瑙f瀽寰楀埌棰樼洰 + private List<ExamPaperTitleItemVM> resolveToQuestion(TExamPaper examPaper, ExamPaperEditRequestVM vm) { vm.setLevel(examPaper.getGradeLevel().intValue()); TTextContent frameTextContent = textContentService.selectTTextContentById(examPaper.getFrameTextContentId().longValue()); List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent.getContent(), ExamPaperTitleItemObject.class); - - // titleQuestionIds 鐨勫ぇ棰樼洰 + TExamPaper tExamPaper = new TExamPaper(); BeanUtils.copyProperties(examPaper, tExamPaper); examUtilService.setTitleName(tExamPaper, examPaperTitleItemObjects); - List<Integer> questionIds = examPaperTitleItemObjects.stream() .flatMap(t -> t.getQuestionItems().stream() .map(q -> q.getId())) .collect(Collectors.toList()); List<TQuestion> questions = questionMapper.selectByIds(questionIds); - // vm.setScore(ExamUtil.originalScoreToVM(examPaper.getScore())); + return examPaperTitleItemObjects.stream().map(t -> { ExamPaperTitleItemVM tTitleVM = modelMapper.map(t, ExamPaperTitleItemVM.class); - // 璁剧疆姘镐箙缂栧彿 + tTitleVM.setPermanentId(t.getPermanentId()); - - // 灏忛 + List<QuestionEditRequestVM> questionItemsVM = t.getQuestionItems().stream().map(i -> { try { TQuestion question = questions.stream().filter(q -> q.getId().equals(i.getId().longValue())).findFirst().get(); QuestionEditRequestVM questionEditRequestVM = questionService.getQuestionEditRequestVM(question); questionEditRequestVM.setItemOrder(i.getItemOrder()); - - // 姘镐箙缂栧彿 + if (Objects.isNull(question.getPermanentId())) { question.setPermanentId(i.getPermanentId()); } - questionEditRequestVM.setPermanentId(question.getPermanentId()); questionEditRequestVM.setPartOrder(i.getPartOrder()); questionEditRequestVM.setParentQuestionId(i.getParentQuestionId()); @@ -216,8 +180,7 @@ return tTitleVM; }).collect(Collectors.toList()); } - - // 澶氳瑷�缈昏瘧 + private void multilingualTranslation(String langType, ExamPaperEditRequestVM vm) { vm.setName(ExamUtil.getLangString(langType, vm.getName())); vm.setGuide(ExamUtil.getLangString(langType, vm.getGuide())); @@ -232,42 +195,37 @@ } } } - - // 缈昏瘧鍒嗘 + if (CollUtil.isEmpty(vm.getParts())) { return; } - vm.getParts().stream().forEach(questionPart -> { questionPart.getSignals().stream().forEach(signalObject -> { signalObject.setSignalDescription(ExamUtil.getLangString(langType, signalObject.getSignalDescription())); }); }); } - private List<ExamPaperTitleItemVM> randomQuestion(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, String tokenId, ExamPaperEditRequestVM vm) { - // 鍒ゆ柇鏄惁鏄┖ + if (Objects.isNull(examPaperTitleItemVMS) || examPaperTitleItemVMS.isEmpty()) { return examPaperTitleItemVMS; } - - // 浜烘牸绫诲瀷闂嵎锛屾櫤鍔� + if (Objects.equals(vm.getQuestionTemplateId(), "personality")) { return getExamOnePaperTitleItemVMS(examPaperTitleItemVMS, intList, tokenId); } else if (Objects.equals(vm.getQuestionTemplateId(), "intelligence")) { return getExamPaperIntelligenceQeustionVMS(examPaperTitleItemVMS, intList, tokenId, vm); } else { - // 宸ヤ綔绫诲瀷闂嵎 + return getExamJobPaperTitleItemVMS(examPaperTitleItemVMS, intList, tokenId); } } - private List<ExamPaperTitleItemVM> getExamOnePaperTitleItemVMS(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, String tokenId) { - // 浜烘牸闂嵎鍜屾櫤鍔涢棶鍗烽殢鏈� + TExamReport tExamReportQuery = new TExamReport(); tExamReportQuery.setTokenId(tokenId); List<QuestionEditRequestVM> questionItems = examPaperTitleItemVMS.get(0).getQuestionItems(); - // 鏂板闅忔満鎵撲贡搴忓垪 + List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReportQuery); if (Objects.nonNull(tExamReportList) && tExamReportList.size() > 0) { TExamReport tExamReport = tExamReportList.get(0); @@ -277,41 +235,35 @@ } List<QuestionEditRequestVM> questionItemsNew = new ArrayList<>(); for (int i = 0; i < intList.size(); i++) { - questionItemsNew.add(questionItems.get(intList.get(i)));// 鍙栧埌搴曟槸閭d竴棰� + questionItemsNew.add(questionItems.get(intList.get(i))); } - - // 閲嶆柊鎺掑簭,璁剧疆questionReport缁欏墠绔� + for (int i = 0; i < questionItemsNew.size(); i++) { - questionItemsNew.get(i).setItemOrder(i+1);// itemOrder鏄悗鍙扮粰鐨勫簭鍙� - // 璁剧疆questionReport缁欏墠绔� + questionItemsNew.get(i).setItemOrder(i+1); + setQuestionReportForVM(tExamReportList, questionItemsNew.get(i)); } - examPaperTitleItemVMS.get(0).setQuestionItems(questionItemsNew); return examPaperTitleItemVMS; } - private List<ExamPaperTitleItemVM> getExamPaperIntelligenceQeustionVMS(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, String tokenId, ExamPaperEditRequestVM vm) { - // 鑾峰彇鏅哄姏棰橀噷闈㈢殑棰樼洰 + TExamReport tExamReportQuery = new TExamReport(); tExamReportQuery.setTokenId(tokenId); List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReportQuery); - // map鏄瘡涓�娈� - // 鏂扮殑瑕佸彂缁欏墠鍙扮殑 + + List<QuestionEditRequestVM> questionItemsResulte = new ArrayList<>(); if (Objects.nonNull(tExamReportList) && tExamReportList.size() > 0) { questionItemsResulte = getIntelligenceQuestionOrder(examPaperTitleItemVMS, tExamReportList, vm); } else { initializeIntelligenceQuestion(examPaperTitleItemVMS, intList, questionItemsResulte, vm); } - - // 閲嶆柊鎺掑簭,璁剧疆questionReport缁欏墠绔� + calculationNumber(tExamReportList, questionItemsResulte); - examPaperTitleItemVMS.get(0).setQuestionItems(questionItemsResulte); return examPaperTitleItemVMS; } - private List<QuestionEditRequestVM> getIntelligenceQuestionOrder(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<TExamReport> tExamReportList, ExamPaperEditRequestVM vm) { TExamReport tExamReport = tExamReportList.get(0); List<Integer> intList = JSON.parseObject(tExamReport.getQuestionOrder(), ArrayList.class); @@ -320,57 +272,51 @@ List<QuestionEditRequestVM> questionItemsResulte = new ArrayList<>(); for (int i = 0; i < intList.size(); i++) { int order = intList.get(i); - // 閫夐」鐨勬槧灏� + Map<String, QuestionEditItemVM> itemsMap = new HashMap<>(); List<QuestionEditItemVM> items = questionItems.get(order).getItems(); items.stream().forEach(item-> itemsMap.put(item.getPrefix(), item)); - - // 寰楀埌鏄偅涓�棰樼殑閫夐」 + List<String> itemList = optionIntList.get(i); - - // 鎺掑ソ搴忕殑閫夐」 + List<QuestionEditItemVM> itemsResult = itemList.stream().map(num -> { return itemsMap.get(num); }).collect(Collectors.toList()); questionItems.get(order).setItems(itemsResult); questionItemsResulte.add(questionItems.get(order)); } -// List<QuestionEditRequestVM> questionItemsResulte = intList.stream().map(order-> { -// -// // 閫夐」鐨勬槧灏� -// Map<String, QuestionEditItemVM> itemsMap = new HashMap<>(); -// List<QuestionEditItemVM> items = questionItems.get(order).getItems(); -// items.stream().forEach(item-> itemsMap.put(item.getPrefix(), item)); -// -// // 寰楀埌鏄偅涓�棰樼殑閫夐」 -// List<String> itemList = optionIntList.get(order); -// -// // 鎺掑ソ搴忕殑閫夐」 -// List<QuestionEditItemVM> itemsResult = itemList.stream().map(num -> { -// return itemsMap.get(num); -// }).collect(Collectors.toList()); -// questionItems.get(order).setItems(itemsResult); -// -// return questionItems.get(order); -// }).collect(Collectors.toList()); + + + + + + + + + + + + + + + + + vm.setOptionOrder(optionIntList); return questionItemsResulte; } - private void calculationNumber(List<TExamReport> tExamReportList, List<QuestionEditRequestVM> questionItemsResulte) { Integer intelligenceTitleNum = 0; Integer intelligenceNum = 0; - - // 璁$畻搴忓彿 + Integer itemSize = 0; for (QuestionEditRequestVM questionEditRequestVM : questionItemsResulte) { if (StringUtils.isEmpty(questionEditRequestVM.getParentQuestionId())) { itemSize++; } } - - // 鏍规嵁姣忎竴娈佃绠楀簭鍙�,缁勬垚闆嗗悎partSizeMap锛屽垎寮�璁板綍搴忓彿 + Map<Integer, Integer> partSizeMap = new HashMap<>(); for (QuestionEditRequestVM questionEditRequestVM : questionItemsResulte) { if (StringUtils.isNotEmpty(questionEditRequestVM.getParentQuestionId())) { @@ -383,56 +329,47 @@ partSizeMap.put(partOrder, 1); } } - - Integer partOrder = 0; for (Integer i = 0; i < questionItemsResulte.size(); i++) { QuestionEditRequestVM questionEditRequestVM = questionItemsResulte.get(i); - - // 棰樼洰鐨勫簭鍙疯鍒嗗紑璁帮紝partOrder涓嶄竴鏍峰氨閲嶆柊璁$畻 + if (!Objects.equals(partOrder, questionEditRequestVM.getPartOrder())) { partOrder = questionEditRequestVM.getPartOrder(); intelligenceTitleNum = 0; } - questionEditRequestVM.setItemOrder(i + 1);// itemOrder鏄悗鍙扮粰鐨勫簭鍙� - // 璁剧疆questionReport缁欏墠绔� + questionEditRequestVM.setItemOrder(i + 1); + setQuestionReportForVM(tExamReportList, questionEditRequestVM); - // 缁欏墠绔簭鍙� - if (Objects.equals(questionEditRequestVM.getTemplate(), "intelligence_title")) { // 闂瓟棰� + + if (Objects.equals(questionEditRequestVM.getTemplate(), "intelligence_title")) { questionEditRequestVM.setQuestionNumber(String.valueOf(++intelligenceTitleNum) + "/" + partSizeMap.get(questionEditRequestVM.getPartOrder()).toString()); intelligenceNum = 0; - } else if (StringUtils.isEmpty(questionEditRequestVM.getParentQuestionId())) { //鏅�氶 + } else if (StringUtils.isEmpty(questionEditRequestVM.getParentQuestionId())) { questionEditRequestVM.setQuestionNumber(String.valueOf(++intelligenceTitleNum) + "/" + partSizeMap.get(questionEditRequestVM.getPartOrder()).toString()); - } else { // 闂瓟棰樼殑灏忛 + } else { questionEditRequestVM.setQuestionNumber("(" + ++intelligenceNum + ")"); } } } - private void initializeIntelligenceQuestion(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, List<QuestionEditRequestVM> questionItemsResulte, ExamPaperEditRequestVM vm) { - // 鍘熸潵鐨勯鐩� + List<QuestionEditRequestVM> questionItems = examPaperTitleItemVMS.get(0).getQuestionItems(); - // 閬嶅巻姣忎竴娈电殑棰樼洰 - // 娈碉細棰樼洰棰樼洰鍒楄〃,part:棰樼洰鍒楄〃 + + Map<Integer, List<QuestionEditRequestVM>> questionEditRequestVMSMap = getPartOrderQuestionMap(examPaperTitleItemVMS, questionItems); - - // parentQuestionId : 棰樼洰 + Map<String, List<QuestionEditRequestVM>> parentQuestionIdMap = getParentQuestionIdMap(questionItems); - - // 鎻愬墠鎵撲贡 + for (Map.Entry<String, List<QuestionEditRequestVM>> entry : parentQuestionIdMap.entrySet()) { entry.setValue(getQuestionEditRequestRandVMS(entry.getValue())); } - for (Map.Entry<Integer, List<QuestionEditRequestVM>> entry : questionEditRequestVMSMap.entrySet()) { - // intelligence_title + getIntelligenceTitleResult(entry.getValue(), parentQuestionIdMap, questionItemsResulte); - - // intelligence + getintelligenceResult(entry.getValue(), questionItemsResulte); } - - // 璁剧疆搴忓彿 + vm.setOptionOrder(new ArrayList<>()); for (QuestionEditRequestVM questionEditRequestVM : questionItemsResulte) { intList.add(questionEditRequestVM.getQuestionOrder()); @@ -444,18 +381,16 @@ vm.getOptionOrder().add(prfixList); } } - private void getintelligenceResult(List<QuestionEditRequestVM> questionItems, List<QuestionEditRequestVM> questionItemsResult) { List<QuestionEditRequestVM> intelligenceList = questionItems.stream().filter((QuestionEditRequestVM questionEditRequestVM) -> Objects.equals(questionEditRequestVM.getTemplate(), "intelligence") && StringUtils.isEmpty(questionEditRequestVM.getParentQuestionId())).collect(Collectors.toList()); intelligenceList = getQuestionEditRequestRandVMS(intelligenceList); questionItemsResult.addAll(intelligenceList); } - private void getIntelligenceTitleResult(List<QuestionEditRequestVM> questionItems, Map<String, List<QuestionEditRequestVM>> parentQuestionIdMap, List<QuestionEditRequestVM> questionItemsResult) { - // intelligence_title + List<QuestionEditRequestVM> intelligenceTitleList = questionItems.stream().filter((QuestionEditRequestVM questionEditRequestVM) -> Objects.equals(questionEditRequestVM.getTemplate(), "intelligence_title")).collect(Collectors.toList()); intelligenceTitleList = getQuestionEditRequestRandVMS(intelligenceTitleList); - // 澶ч涓嬮潰鐨勫皬棰樼洰 + List<QuestionEditRequestVM> intelligenceTitleResultList = new ArrayList<>(); for (QuestionEditRequestVM questionEditRequestVM : intelligenceTitleList) { intelligenceTitleResultList.add(questionEditRequestVM); @@ -463,25 +398,22 @@ } questionItemsResult.addAll(intelligenceTitleResultList); } - private Map<String, List<QuestionEditRequestVM>> getParentQuestionIdMap(List<QuestionEditRequestVM> questionItems) { Map<String, List<QuestionEditRequestVM>> parentQuestionIdMap = questionItems.stream().collect(Collectors.groupingBy(QuestionEditRequestVM::getParentQuestionId)); parentQuestionIdMap.remove(""); return parentQuestionIdMap; } - private Map<Integer, List<QuestionEditRequestVM>> getPartOrderQuestionMap(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<QuestionEditRequestVM> questionItems) { List<QuestionPart> parts = examPaperTitleItemVMS.get(0).getParts(); - // Map(partOrder,QuestionEditRequestVMList) + Map<Integer, List<QuestionEditRequestVM>> questionEditRequestVMSMap = new LinkedHashMap<>(); for (QuestionPart questionPart : parts) { - // 濉厖questionEditRequestVMSMap + getPartintelligenceAndTitleMap(questionItems, questionEditRequestVMSMap, questionPart); } return questionEditRequestVMSMap; } - - // 鎵撲贡棰樼洰 + private List<QuestionEditRequestVM> getQuestionEditRequestRandVMS(List<QuestionEditRequestVM> questionEditRequestVM) { List<Integer> randList = new ArrayList<>(); for (int i = 0; i < questionEditRequestVM.size(); i++) { @@ -490,16 +422,15 @@ Collections.shuffle(randList); List<QuestionEditRequestVM> intelligenceTitleListResult = new ArrayList<>(); for (int i : randList) { - // 閲嶆柊鎺掑簭鐨勬椂鍊欐墦涔遍鐩殑姣忎竴涓�夐」 + QuestionEditRequestVM questionEditRequestVMResult = questionEditRequestVM.get(i); - // 鎵撲贡棰樼洰閫夐」鐨勯『搴� + setRandQuestionItems( questionEditRequestVMResult); intelligenceTitleListResult.add(questionEditRequestVMResult); } questionEditRequestVM = intelligenceTitleListResult; return questionEditRequestVM; } - private void setRandQuestionItems( QuestionEditRequestVM questionEditRequestVMDTO) { List<QuestionEditItemVM> items = questionEditRequestVMDTO.getItems(); List<Integer> randItemList = new ArrayList<>(); @@ -508,33 +439,26 @@ for (int j = 0; j < items.size(); j++) { randItemList.add(j); } - Collections.shuffle(randItemList); - for (int k : randItemList) { itemsResult.add(items.get(k)); } - questionEditRequestVMDTO.setItems(itemsResult); } } - private void getPartintelligenceAndTitleMap(List<QuestionEditRequestVM> intelligenceAndTitleList, Map<Integer, List<QuestionEditRequestVM>> questionEditRequestVMSMap, QuestionPart questionPart) { Integer partOrder = questionPart.getPartOrder(); List<QuestionEditRequestVM> questionEditRequestListVMS = new ArrayList<>(); for (QuestionEditRequestVM questionEditRequestVM : intelligenceAndTitleList) { if (Objects.equals(questionEditRequestVM.getPartOrder(), partOrder)) { questionEditRequestListVMS.add(questionEditRequestVM); - } } questionEditRequestVMSMap.put(partOrder, questionEditRequestListVMS); } - - - // 璁剧疆棰樼洰涓嬫爣鐨勯殢鏈� + private void setSubscript(List<Integer> intList, List<QuestionEditRequestVM> questionItems) { - // 濡傛灉棰樼洰鏈夊垎娈� + if (Objects.nonNull(questionItems.get(0).getPartOrder()) && questionItems.get(0).getPartOrder() != 0) { int partOrder = questionItems.get(0).getPartOrder(); List<Integer> partOrderList = new ArrayList<>(); @@ -551,25 +475,21 @@ partOrderList.add(i); } } - - // 鏈�鍚庝竴娆℃墦涔� + Collections.shuffle(partOrderList); for (int partOrderTemp : partOrderList) { intList.add(partOrderTemp); } - } else { for (int i = 0; i < questionItems.size(); i++) { intList.add(i); } - - // 闅忔満鎵撲贡鏁扮粍鐨勯『搴� + Collections.shuffle(intList); } } - private List<ExamPaperTitleItemVM> getExamJobPaperTitleItemVMS(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, String tokenId) { - // 鍒ゆ柇棰樼洰椤哄簭鏄惁宸茬粡闅忔満杩囦簡 + TExamReport tExamReportQuery = new TExamReport(); tExamReportQuery.setTokenId(tokenId); List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReportQuery); @@ -577,25 +497,19 @@ TExamReport tExamReport = tExamReportList.get(0); intList = JSON.parseObject(tExamReport.getQuestionOrder(), ArrayList.class); } else { - // 鏂板闅忔満鎵撲贡搴忓垪 + for (int i = 0; i < examPaperTitleItemVMS.size(); i++) { intList.add(i); } - - // 闅忔満鎵撲贡鏁扮粍鐨勯『搴� + Collections.shuffle(intList); } - - List<ExamPaperTitleItemVM> examPaperTitleItemVMSRandoms = new ArrayList<ExamPaperTitleItemVM>(); - int itemOrder = 0; for (int i = 0; i < intList.size(); i++) { examPaperTitleItemVMSRandoms.add(examPaperTitleItemVMS.get(intList.get(i))); } - - - // 閲嶆柊鎺掑簭閫夐」鐨勯『搴忥紝璁剧疆questionReport缁欏墠绔� + for (ExamPaperTitleItemVM examPaperTitleItemVM : examPaperTitleItemVMSRandoms) { List<QuestionEditRequestVM> questionItems = examPaperTitleItemVM.getQuestionItems(); int suffixIndex = 97; @@ -603,13 +517,12 @@ questionEditRequestVM.setItemOrder(++itemOrder); questionEditRequestVM.setPermanentId(examPaperTitleItemVM.getPermanentId() + (char)suffixIndex++); } - // 璁剧疆questionReport缁欏墠绔� + setQuestionReportForVM(tExamReportList, examPaperTitleItemVM); } return examPaperTitleItemVMSRandoms; } - - // 璁剧疆questionReport缁欏墠绔�,job, 浜烘牸閮藉彲浠ョ敤 + private void setQuestionReportForVM(List<TExamReport> tExamReportList, ExamPaperTitleItemVM examPaperTitleItemVM) { for (TExamReport tExamReport : tExamReportList) { List<QuestionReport> questionReportList = JsonUtil.toJsonListObject(tExamReport.getQuestionReport(), QuestionReport.class); @@ -623,8 +536,7 @@ } } } - - // 璁剧疆questionReport缁欏墠绔�,job, 浜烘牸閮藉彲浠ョ敤 + private void setQuestionReportForVM(List<TExamReport> tExamReportList, QuestionEditRequestVM editRequestVM) { for (TExamReport tExamReport : tExamReportList) { List<QuestionReport> questionReportList = JsonUtil.toJsonListObject(tExamReport.getQuestionReport(), QuestionReport.class); @@ -638,43 +550,34 @@ } } } - @Override public Integer selectAllCount() { return examPaperMapper.selectAllCount(); } - @Override public List<Integer> selectMothCount() { return null; } - - @Override public int deleteById(Integer id) { return 0; } - @Override public int insert(ExamPaper record) { return 0; } - @Override public int insertByFilter(ExamPaper record) { return 0; } - @Override public ExamPaper selectById(Integer id) { return null; } - @Override public int updateByIdFilter(ExamPaper record) { return 0; } - @Override public int updateById(ExamPaper record) { return 0; diff --git a/src/main/java/com/ots/project/exam/service/impl/MemberServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/MemberServiceImpl.java index a61960d..33cd92c 100644 --- a/src/main/java/com/ots/project/exam/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/MemberServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.utils.StringUtils; import com.ots.framework.web.service.DictService; import com.ots.project.exam.domain.EntDemographyInfo; @@ -28,63 +27,48 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; - import static com.ots.common.enums.ResponseCode.TEST_MEMBERINFO_EMPTY; import static com.ots.common.enums.ResponseCode.TEST_URL_FAIL; - @Service @Slf4j public class MemberServiceImpl implements MemberService { - - //0鏈鐞� 1宸插畬鎴� 2绛旈涓� 3浣滃簾 + private static final String UNTREATED_0 = "0"; private static final String DONE_1 = "1"; private static final String ANSWERING_2 = "2"; private static final String TIMEOUT_6 = "6"; - private List<String> status = Arrays.asList(UNTREATED_0, DONE_1, ANSWERING_2, TIMEOUT_6); - @Autowired private IEntTestMemberService entTestMemberService; - @Autowired private IEntDemographyParamService entDemographyParamService; - @Autowired private IEntTestPackageService entTestPackageService; - @Autowired private IEntDemographyInfoService entDemographyInfoService; - @Autowired private DictService dictService; - @Autowired private ISysUserExtendService sysUserExtendService; - @Autowired private ITExamPaperService itExamPaperService; - @Override public List<ParamDefine> getParamDefines(String token, String lang) { EntTestMember entTestMember = entTestMemberService.findEntTestMember(token, status); TEST_URL_FAIL.assertNotNull(entTestMember); Long testId = entTestMember.getTestId(); Long memberId = entTestMember.getMemberId(); - - //鎵惧埌鎵�灞炰紒涓欼D + EntTestPackage entTestPackage = entTestPackageService.selectEntTestPackageById(testId); String paramCodes = entTestPackage.getParamCodes(); if (Objects.isNull(paramCodes)) { return null; } - - //閫氳繃浼佷笟缂栫爜瀵绘壘浜哄彛瀛﹀畾涔� + List<EntDemographyParam> entDemographyParams = entDemographyParamService.selectEntDemographyParamListByParamIn(paramCodes); if (Objects.isNull(entDemographyParams) || entDemographyParams.isEmpty()) { return null; @@ -111,10 +95,9 @@ paramDefine.setMemberId(memberId); return paramDefine; }).collect(Collectors.toList()); - //杩囨护绌哄璞� + return result.stream().filter(a -> Objects.nonNull(a)).collect(Collectors.toList()); } - @Override public List<EntDemographyInfo> queryDemographyParamInfo(String token) { EntTestMember entTestMember = entTestMemberService.findEntTestMember(token, status); @@ -125,7 +108,6 @@ TEST_MEMBERINFO_EMPTY.assertNotEmpty(entDemographyInfos); return entDemographyInfos; } - @Override @Transactional public void saveDemographyParamInfo(String token, List<ParamsInfo> infos, String langType) { @@ -141,7 +123,6 @@ } }); } - @Override public RelatedParty queryProdidByToken(String token) { RelatedParty party = new RelatedParty(); @@ -178,7 +159,6 @@ } return party; } - @Override public List<DictItemDto> queryLang(String token) { EntTestMember entTestMember = entTestMemberService.findEntTestMember(token, status); diff --git a/src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java b/src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java index b16b200..84395b3 100644 --- a/src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java @@ -1,12 +1,10 @@ package com.ots.project.exam.service.impl; - import com.alibaba.fastjson.JSON; import com.ots.project.exam.service.ReportCalculationServices; import com.ots.project.tool.report.reportCalculation.response.ReportAPIResult; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; - import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import java.io.BufferedReader; @@ -15,36 +13,28 @@ import java.io.PrintWriter; import java.net.Socket; import java.util.Objects; - @Service @Slf4j public class ReportCalculationServicesImpl implements ReportCalculationServices { - private Socket socket; - private PrintWriter socketOut; - private BufferedReader socketIn; - @Value("${ATSTai.port}") private int port; - @Value("${ATSTai.host}") private String host; - @PostConstruct private void init() { try { - //棣栧厛鐩存帴鍒涘缓socket,绔彛鍙�1~1023涓虹郴缁熶繚瀛橈紝涓�鑸鍦�1023涔嬪 + socket = new Socket(host, port); - //鍒涘缓涓変釜娴侊紝绯荤粺杈撳叆娴丅ufferedReader systemIn锛宻ocket杈撳叆娴丅ufferedReader socketIn锛宻ocket杈撳嚭娴丳rintWriter socketOut; + socketIn = new BufferedReader(new InputStreamReader(socket.getInputStream())); socketOut = new PrintWriter(socket.getOutputStream()); } catch (Exception ex) { log.error("璋冪敤娉板浗鍥㈤槦缁勪欢杩炴帴澶辫触锛歿}",ex.getMessage(),ex); } } - @PreDestroy private void destory() { if (Objects.nonNull(socketIn)) { @@ -65,22 +55,15 @@ } } } - - /** - * 鍒ゆ柇鏄惁鏂紑杩炴帴锛屾柇寮�杩斿洖true,娌℃湁杩斿洖false - * @param socket - * @return - */ + public Boolean isServerClose(Socket socket){ try{ - socket.sendUrgentData(0xFF);//鍙戦��1涓瓧鑺傜殑绱ф�ユ暟鎹紝榛樿鎯呭喌涓嬶紝鏈嶅姟鍣ㄧ娌℃湁寮�鍚揣鎬ユ暟鎹鐞嗭紝涓嶅奖鍝嶆甯搁�氫俊 + socket.sendUrgentData(0xFF); return false; }catch(Exception se){ return true; } } - - @Override public ReportAPIResult stageCalculation(Object request) { if (isServerClose(socket)) { @@ -104,11 +87,10 @@ } return reportAPIResult; } - private ReportAPIResult getReportAPIResult(Object request) throws IOException { ReportAPIResult reportAPIResult; socketOut.println(JSON.toJSONString(request)); - socketOut.flush();//璧跺揩鍒锋柊浣縎erver鏀跺埌锛屼篃鍙互鎹㈡垚socketOut.println(readline, ture) + socketOut.flush(); String inTemp = socketIn.readLine(); reportAPIResult = JSON.parseObject(inTemp, ReportAPIResult.class); return reportAPIResult; diff --git a/src/main/java/com/ots/project/exam/service/impl/SubjectServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/SubjectServiceImpl.java index 69c444c..64cb3c3 100644 --- a/src/main/java/com/ots/project/exam/service/impl/SubjectServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/SubjectServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.Subject; @@ -10,54 +9,43 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; - import java.util.List; - @Service("examSubject") public class SubjectServiceImpl extends BaseServiceImpl<Subject> implements SubjectService { - private final static String CACHE_NAME = "Subject"; @Autowired private SubjectMapper subjectMapper; - @Autowired public SubjectServiceImpl(SubjectMapper subjectMapper) { super(subjectMapper); this.subjectMapper = subjectMapper; } - @Override @Cacheable(value = CACHE_NAME, key = "#id", unless = "#result == null") public Subject selectById(Integer id) { return super.selectById(id); } - @Override @CacheEvict(value = CACHE_NAME, key = "#record.id") public int updateByIdFilter(Subject record) { return super.updateByIdFilter(record); } - @Override public List<Subject> getSubjectByLevel(Integer level) { return subjectMapper.getSubjectByLevel(level); } - @Override public List<Subject> allSubject() { return subjectMapper.allSubject(); } - @Override public Integer levelBySubjectId(Integer id) { return this.selectById(id).getLevel(); } - @Override public PageInfo<Subject> page(SubjectPageRequestVM requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> subjectMapper.page(requestVM) ); } - } diff --git a/src/main/java/com/ots/project/exam/service/impl/SysUserExtendServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/SysUserExtendServiceImpl.java index 90bf821..686c8d1 100644 --- a/src/main/java/com/ots/project/exam/service/impl/SysUserExtendServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/SysUserExtendServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.enums.OpertypeEnum; import com.ots.common.utils.StringUtils; import com.ots.common.utils.file.FileUploadUtils; @@ -18,24 +17,15 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; - import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Objects; - import static com.ots.common.enums.UserTypeEnum.DIS_USER; import static com.ots.common.enums.UserTypeEnum.SYS_USER; -/** - * 鐢ㄦ埛淇℃伅鎵╁睍Service涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-11-20 - */ @Service public class SysUserExtendServiceImpl implements ISysUserExtendService { - @Autowired private SysUserExtendMapper sysUserExtendMapper; @Autowired @@ -46,38 +36,19 @@ private EntOperLogServiceImpl entOperLogService; @Autowired private PasswordService passwordService; - - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param userId 鐢ㄦ埛淇℃伅鎵╁睍ID - * @return 鐢ㄦ埛淇℃伅鎵╁睍 - */ + @Override public SysUserExtend selectSysUserExtendById(Long userId) { return sysUserExtendMapper.selectSysUserExtendById(userId); } - - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鎵╁睍鍒楄〃 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 鐢ㄦ埛淇℃伅鎵╁睍 - */ + @Override public List<SysUserExtend> selectSysUserExtendList(SysUserExtend sysUserExtend) { return sysUserExtendMapper.selectSysUserExtendList(sysUserExtend); } - - /** - * 鏂板鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 缁撴灉 - */ + @Override public int insertSysUserExtend(SysUserExtend sysUserExtend) { - MultipartFile businessLicenseFile = sysUserExtend.getBusinessLicenseFile(); if (businessLicenseFile != null && !businessLicenseFile.isEmpty()) { try { @@ -96,7 +67,6 @@ e.printStackTrace(); } } - if (StringUtils.isNotBlank(sysUserExtend.getLoginName())) { User user = new User(); user.setLoginName(sysUserExtend.getLoginName()); @@ -130,13 +100,7 @@ } return sysUserExtendMapper.insertSysUserExtend(sysUserExtend); } - - /** - * 淇敼鐢ㄦ埛淇℃伅鎵╁睍 - * - * @param sysUserExtend 鐢ㄦ埛淇℃伅鎵╁睍 - * @return 缁撴灉 - */ + @Override public int updateSysUserExtend(SysUserExtend sysUserExtend) { MultipartFile businessLicenseFile = sysUserExtend.getBusinessLicenseFile(); @@ -176,7 +140,6 @@ user.setPhonenumber(sysUserExtend.getPhonenumber()); this.userMapper.updateUser(user); } - Long userId = sysUserExtend.getUserId(); User user = userMapper.selectUserById(userId); if (user.getUserType().equals(DIS_USER.getUserType()) && !Objects.equals("1",sysUserExtend.getFirstLevel())) { @@ -184,9 +147,8 @@ e.setRoleId(4L); e.setUserId(user.getUserId()); List<UserRole> rs = Arrays.asList(e); - this.userRoleMapper.deleteUserRoleInfo(e);//鍏堝垹闄わ紝鍐嶆柊澧� + this.userRoleMapper.deleteUserRoleInfo(e); this.userRoleMapper.batchUserRole(rs); - UserRole de = new UserRole(); de.setRoleId(6L); de.setUserId(user.getUserId()); @@ -196,39 +158,24 @@ e.setRoleId(6L); e.setUserId(sysUserExtend.getUserId()); List<UserRole> rs = Arrays.asList(e); - this.userRoleMapper.deleteUserRoleInfo(e);//鍏堝垹闄わ紝鍐嶆柊澧� + this.userRoleMapper.deleteUserRoleInfo(e); this.userRoleMapper.batchUserRole(rs); - UserRole de = new UserRole(); de.setRoleId(4L); de.setUserId(user.getUserId()); userRoleMapper.deleteUserRoleInfo(de); } - return sysUserExtendMapper.updateSysUserExtend(sysUserExtend); } - - /** - * 鍒犻櫎鐢ㄦ埛淇℃伅鎵╁睍瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteSysUserExtendByIds(String ids) { return sysUserExtendMapper.deleteSysUserExtendByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎鐢ㄦ埛淇℃伅鎵╁睍淇℃伅 - * - * @param userId 鐢ㄦ埛淇℃伅鎵╁睍ID - * @return 缁撴灉 - */ + public int deleteSysUserExtendById(Long userId) { return sysUserExtendMapper.deleteSysUserExtendById(userId); } - @Override @Transactional public int updateTestNum(Long userId, Long addNum) { @@ -239,7 +186,6 @@ entOperLogService.saveLog(userId, String.valueOf(ShiroUtils.getSysUser().getUserId()), OpertypeEnum.SYS_USER, addNum); return result; } - @Override public int resetpwd(User user) { user.randomSalt(); diff --git a/src/main/java/com/ots/project/exam/service/impl/SysUserPaperServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/SysUserPaperServiceImpl.java index c5e444f..521f4cd 100644 --- a/src/main/java/com/ots/project/exam/service/impl/SysUserPaperServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/SysUserPaperServiceImpl.java @@ -1,86 +1,42 @@ package com.ots.project.exam.service.impl; - import com.ots.common.utils.text.Convert; import com.ots.project.exam.domain.SysUserPaper; import com.ots.project.exam.mapper.SysUserPaperMapper; import com.ots.project.exam.service.ISysUserPaperService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.List; -/** - * 鐢ㄦ埛浜у搧Service涓氬姟灞傚鐞� - * - * @author ots - * @date 2020-03-22 - */ @Service public class SysUserPaperServiceImpl implements ISysUserPaperService { @Autowired private SysUserPaperMapper sysUserPaperMapper; - - /** - * 鏌ヨ鐢ㄦ埛浜у搧 - * - * @param userId 鐢ㄦ埛浜у搧ID - * @return 鐢ㄦ埛浜у搧 - */ + @Override public SysUserPaper selectSysUserPaperById(Long userId) { return sysUserPaperMapper.selectSysUserPaperById(userId); } - - /** - * 鏌ヨ鐢ㄦ埛浜у搧鍒楄〃 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 鐢ㄦ埛浜у搧 - */ + @Override public List<SysUserPaper> selectSysUserPaperList(SysUserPaper sysUserPaper) { return sysUserPaperMapper.selectSysUserPaperList(sysUserPaper); } - - /** - * 鏂板鐢ㄦ埛浜у搧 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 缁撴灉 - */ + @Override public int insertSysUserPaper(SysUserPaper sysUserPaper) { return sysUserPaperMapper.insertSysUserPaper(sysUserPaper); } - - /** - * 淇敼鐢ㄦ埛浜у搧 - * - * @param sysUserPaper 鐢ㄦ埛浜у搧 - * @return 缁撴灉 - */ + @Override public int updateSysUserPaper(SysUserPaper sysUserPaper) { return sysUserPaperMapper.updateSysUserPaper(sysUserPaper); } - - /** - * 鍒犻櫎鐢ㄦ埛浜у搧瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteSysUserPaperByIds(String ids) { return sysUserPaperMapper.deleteSysUserPaperByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎鐢ㄦ埛浜у搧淇℃伅 - * - * @param userId 鐢ㄦ埛浜у搧ID - * @return 缁撴灉 - */ + public int deleteSysUserPaperById(Long userId) { return sysUserPaperMapper.deleteSysUserPaperById(userId); } diff --git a/src/main/java/com/ots/project/exam/service/impl/TExamLevelServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TExamLevelServiceImpl.java index fd0c6db..623f0cb 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TExamLevelServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TExamLevelServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.utils.DateUtils; import com.ots.common.utils.StringUtils; import com.ots.common.utils.text.Convert; @@ -10,64 +9,40 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; - import java.util.ArrayList; import java.util.List; import java.util.UUID; -/** - * 闂嵎绫诲瀷Service涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-12-15 - */ @Service("examLevel") public class TExamLevelServiceImpl implements ITExamLevelService { @Autowired private TExamLevelMapper tExamLevelMapper; - @Autowired private DictService dictService; - - /** - * 鏌ヨ闂嵎绫诲瀷 - * - * @param id 闂嵎绫诲瀷ID - * @return 闂嵎绫诲瀷 - */ + @Override public TExamLevel selectTExamLevelById(Long id) { return tExamLevelMapper.selectTExamLevelById(id); } - @Override public List<TExamLevel> selectTExamLevelByUuid(String uuid) { return tExamLevelMapper.selectTExamLevelByUuid(uuid); } - @Override public TExamLevel selectTExamLevelByUuidLan(String uuid,String langType) { return tExamLevelMapper.selectTExamLevelByUuidLan(uuid,langType); } - @Override public List<TExamLevel> selectTExamLevelAndTSubjectById(Long id) { return tExamLevelMapper.selectTExamLevelAndTSubjectById(id); } - - /** - * 鏌ヨ闂嵎绫诲瀷鍒楄〃 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 闂嵎绫诲瀷 - */ + @Override public List<TExamLevel> selectTExamLevelList(TExamLevel tExamLevel) { - //globalization(tExamLevel); + return tExamLevelMapper.selectTExamLevelList(tExamLevel); } - - // 鍥介檯鍖� + private void globalization(TExamLevel tExamLevel) { if(StringUtils.isNotBlank(tExamLevel.getUuid())){ /*List<DictData> lang_types = this.dictService.getType("lang_type"); @@ -91,13 +66,11 @@ tExamLevel.setLangType(this.dictService.getLangType(LocaleContextHolder.getLocale().toString())); } } - public List<TExamLevel> selectTExamLevelList() { TExamLevel t = new TExamLevel(); t.setLangType(this.dictService.getLangType(LocaleContextHolder.getLocale().toString())); return tExamLevelMapper.selectTExamLevelList(t); } - @Override public List<TExamLevel> selectTExamLevelListByType(String type) { List<Integer> types = new ArrayList<>(); @@ -105,25 +78,17 @@ types.add(1); types.add(3); } - if (StringUtils.equals(type, "questionnaire")) { types.add(1); types.add(2); } return tExamLevelMapper.selectTExamLevelListByType(types.stream().toArray(Integer[]::new)); } - @Override public List<TExamLevel> selectTExamLevelByquestionTemplateIdList(String questionTemplateId) { return tExamLevelMapper.selectTExamLevelByquestionTemplateIdList(questionTemplateId); } - - /** - * 鏂板闂嵎绫诲瀷 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 缁撴灉 - */ + @Override public int insertTExamLevel(TExamLevel tExamLevel) { tExamLevel.setCreateTime(DateUtils.getNowDate()); @@ -133,13 +98,7 @@ } return tExamLevelMapper.insertTExamLevel(tExamLevel); } - - /** - * 淇敼闂嵎绫诲瀷 - * - * @param tExamLevel 闂嵎绫诲瀷 - * @return 缁撴灉 - */ + @Override public int updateTExamLevel(TExamLevel tExamLevel) { tExamLevel.setUpdateTime(DateUtils.getNowDate()); @@ -149,24 +108,12 @@ } return tExamLevelMapper.updateTExamLevel(tExamLevel); } - - /** - * 鍒犻櫎闂嵎绫诲瀷瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteTExamLevelByIds(String ids) { return tExamLevelMapper.deleteTExamLevelByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎闂嵎绫诲瀷淇℃伅 - * - * @param id 闂嵎绫诲瀷ID - * @return 缁撴灉 - */ + public int deleteTExamLevelById(Long id) { return tExamLevelMapper.deleteTExamLevelById(id); } diff --git a/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java index 7a54b0a..f3a50b1 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TExamPaperServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -39,103 +38,62 @@ import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import java.util.*; import java.util.stream.Collectors; - import static com.ots.project.tool.report.reportCalculation.request.CalculationTypeEnum.*; import static com.ots.project.tool.report.reportCalculation.request.ReportTypeEnum.firstPath; import static com.ots.project.tool.report.reportCalculation.request.ReportTypeEnum.secondPath; -/** - * 浜у搧鍖呭垪琛⊿ervice涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-11-20 - */ @Service("examPaper") @Slf4j public class TExamPaperServiceImpl implements ITExamPaperService { @Autowired private TExamPaperMapper tExamPaperMapper; - @Autowired private TTextContentMapper tTextContentMapper; - @Autowired private TExamLevelMapper tExamLevelMapper; - @Autowired private TQuestionMapper questionMapper; - @Autowired private ITQuestionService tQuestionService; - @Autowired private IDictDataService dictDataService; - @Autowired private DictService dictService; - @Autowired private ITTextContentService tTextContentService; - @Autowired private TExamPaperQuestionMapper tExamPaperQuestionMapper; - @Autowired private ITExamPaperService tExamPaperService; - @Autowired private ISysUserPaperService userPaperService; - @Autowired private IExamUtilService examUtilService; - protected final static ModelMapper modelMapper = ModelMapperSingle.Instance(); - @Autowired private ITReportTemplateService itReportTemplateService; - @Autowired private ITExamReportService examReportService; - @Autowired private EntTestMemberMapper entTestMemberMapper; - @Autowired EmailMessage emailMessage; - @Autowired ReportCalculationServices calculationServices; - private static final Logger logger = LoggerFactory.getLogger(Threads.class); - - - /** - * 鏌ヨ浜у搧鍖呭垪琛� - * - * @param id 浜у搧鍖呭垪琛↖D - * @return 浜у搧鍖呭垪琛� - */ + @Override public TExamPaper selectTExamPaperById(Long id) { return tExamPaperMapper.selectTExamPaperById(id); } - - /** - * 鏌ヨ浜у搧鍖呭垪琛ㄥ垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 浜у搧鍖呭垪琛� - */ + @Override public List<TExamPaper> selectTExamPaperList(TExamPaper tExamPaper) { - List<TExamPaper> tExamPaperList = tExamPaperMapper.selectTExamPaperList(tExamPaper); List<TExamPaper> tExamPaperResultList = new ArrayList<>(); - - // 閬嶅巻鍑哄悇绉嶈瑷� + for (TExamPaper tExamPaperTemp : tExamPaperList) { Map<String, String> nameMap = JsonUtil.toJsonObject(tExamPaperTemp.getName(), HashMap.class); if (Objects.isNull(nameMap)) { @@ -157,24 +115,16 @@ }); } } - - // 杩欐牱鎵嶈兘缈婚〉 + tExamPaperList.clear(); tExamPaperList.addAll(tExamPaperResultList); return tExamPaperList; } - - /** - * 鏂板浜у搧鍖呭垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 缁撴灉 - */ + @Override @Transactional public int insertTExamPaper(TExamPaper tExamPaper) { - - // 娣诲姞鐗堟湰鍙� + if (Objects.nonNull(tExamPaper.getVersionId())) { String maxVersion = tExamPaperMapper.selectEPaperMaxVBypermanentId(tExamPaper); if (StringUtils.isEmpty(maxVersion) && StringUtils.isNotEmpty(tExamPaper.getVersionId())) { @@ -189,40 +139,31 @@ } else { setVersion(tExamPaper); } - - // 鎺у埗璇█ + tExamPaper.setLangType(examUtilService.getLocalLangType(tExamPaper.getLangType())); - tExamPaper.setCreateTime(DateUtils.getNowDate()); - - //鎷艰t_text_content锛宼Question鍙傛暟鐨勫睘鎬т篃鏄細鍦ㄦ鏂规硶鍐呴儴淇敼 + TTextContent textContent = new TTextContent(); - - // 璁剧疆浜у搧鍖呭悕绉板拰鎸囧璇� + setInserPerperNameAndGuide(tExamPaper); - - // 璁剧疆浜у搧鍖呯殑content鐨勫唴瀹�,鍏_exam_paper_question琛� + setInsertPaperContent(tExamPaper, textContent); - - //鍏ュ簱t_text_content + tTextContentMapper.insertTTextContent(textContent); tExamPaper.setFrameTextContentId(textContent.getId()); - - //璁$畻璇曞嵎鎬诲垎 - // SetExamPaperAttribute(tExamPaper); + + setQuestionContentJson(tExamPaper); tExamPaperMapper.insertTExamPaper(tExamPaper); - // 鏈�鍚庡叆t_exam_paper_question琛� + return setExamPaperQuestion(tExamPaper); } - private void setVersion(TExamPaper tExamPaper) { tExamPaper.setVersionId(UUID.randomUUID().toString().replaceAll("-", "")); tExamPaper.setVersion("V1"); } - private void setInsertPaperContent(TExamPaper tExamPaper, TTextContent textContent) { - // 澶氳瑷�2銆乧ontent琛ㄩ噷闈㈢殑锛孧ultilingual涓嶄负绌鸿〃绀哄凡缁忓仛浜嗗璇█ + if (StringUtils.isNotEmpty(tExamPaper.getMultilingual())) { String content = tExamPaper.getQuestions(); content = setPartsContent(tExamPaper, content); @@ -238,7 +179,6 @@ textContent.setContent(JsonUtil.toJSONString(examPaperTitleItemList)); } } - private String setPartsContent(TExamPaper tExamPaper, String content) { List<ExamPaperTitleItem> examPaperTitleItemList = JsonUtil.parseArray(content, ExamPaperTitleItem.class); List<QuestionPart> parts = examPaperTitleItemList.get(0).getParts(); @@ -246,8 +186,7 @@ content = JsonUtil.toJSONString(examPaperTitleItemList); return content; } - - // 澶氳瑷� + private void setPartLangsData(TExamPaper tExamPaper, List<QuestionPart> parts) { if (ExamUtil.isListNotEmpty(parts)) { for (QuestionPart questionPart : parts) { @@ -258,7 +197,6 @@ } } } - private int setExamPaperQuestion(TExamPaper tExamPaper) { List<ExamPaperTitleItem> examPaperTitleItemList = JsonUtil.toJsonListObject(tExamPaper.getQuestions(), ExamPaperTitleItem.class); int size = examPaperTitleItemList.size(); @@ -273,22 +211,20 @@ tExamPaperQuestionMapper.insertTExamPaperQuestion(tExamPaperQuestion); }); } - return 1; } - private void setInserPerperNameAndGuide(TExamPaper tExamPaper) { - // 澶氳瑷� - // 澶氳瑷�1銆� 棰樼洰杞寲涓哄璇█,鎵归噺瀵煎叆鐨勪笉杞寲 + + Map<String, String> nameMap = new HashMap<>(); Map<String, String> guideMap = new HashMap<>(); if (StringUtils.isNotEmpty(tExamPaper.getMultilingual())) { - // 鎵归噺瀵煎叆 + setInserPerperBatch(tExamPaper, nameMap, guideMap); - // 鍚嶇О鍜屾寚瀵艰 + setProductNameAndGuide(tExamPaper, nameMap, guideMap); - } else { // 闈炴壒閲忓鍏� - // 濡傛灉鏄彃鍏ョ殑瑕嗙洊 + } else { + if (tExamPaper.isCreate() && Objects.nonNull(tExamPaper.getId())) { TExamPaper tExamPaperLast = tExamPaperMapper.selectTExamPaperById(tExamPaper.getId()); String nameMapJson = ExamUtil.getStringMapJson(tExamPaper.getLangType(), tExamPaper.getName(), tExamPaperLast.getName()); @@ -302,16 +238,15 @@ nameMap.put(tExamPaper.getLangType(), tExamPaper.getName()); guideMap.put(tExamPaper.getLangType(), tExamPaper.getGuide()); } - // 鍚嶇О鍜屾寚瀵艰 + setProductNameAndGuide(tExamPaper, nameMap, guideMap); } } - - // 鎵归噺瀵煎叆鎻掑叆 + private void setInserPerperBatch(TExamPaper tExamPaper, Map<String, String> nameMap, Map<String, String> guideMap) { List<String> multilingualList = JsonUtil.toJsonListObject(tExamPaper.getMultilingual(), String.class); for (int i = 0; i < multilingualList.size(); i++) { - // 濡傛灉閫夋嫨浜嗗璇█鑰屽鍏ョ殑涓嶆槸鏈湴鍥介檯鍖栫殑閭g璇█ + if (StringUtils.equals(tExamPaper.getLangType(), "ALL") && !multilingualList.contains(dictService.getLangType(LocaleContextHolder.getLocale().toString()))) { nameMap.put(multilingualList.get(i), tExamPaper.getName()); guideMap.put(multilingualList.get(i), tExamPaper.getGuide()); @@ -324,14 +259,12 @@ } } } - - // 璁剧疆浜у搧鍖呯殑鍚嶇О鍜屾寚瀵艰 + private void setProductNameAndGuide(TExamPaper tExamPaper, Map<String, String> nameMap, Map<String, String> guideMap) { tExamPaper.setName(JsonUtil.toJsonStr(nameMap)); tExamPaper.setGuide(JsonUtil.toJsonStr(guideMap)); } - - // 娣诲姞鍒皅uesitonContent瀛楁锛屼笓闂ㄤ负棰樼洰鎼滅储锛岀┖闂存崲鏃堕棿锛岃褰曞皬棰橈紝涓嶆槸澶ч + private void setQuestionContentJson(TExamPaper tExamPaper) { String langType = tExamPaper.getLangType(); tExamPaper.setLangType(""); @@ -349,81 +282,61 @@ tExamPaper.setQuestionContent(JsonUtil.toJsonStr(questionContentList)); tExamPaper.setLangType(langType); } - private void SetExamPaperAttribute(TExamPaper tExamPaper) { - // begin 璁$畻鏁翠釜浜у搧鍖呯殑鍒嗘暟 + List<ExamPaperTitleItemObject> examPaperTitleItemObjectList = JSONArray.parseArray(tExamPaper.getQuestions(), ExamPaperTitleItemObject.class); - //灏嗘暟鎹墦妯啀杞琹ist[(1,2,3),(4,5,6)] ->(1,2,3,4,5,6) ->[(1),(2),(3),(4),(5),(6)] + List<Integer> questionIds = examPaperTitleItemObjectList.stream().flatMap(t -> t.getQuestionItems().stream().map(q -> q.getId())).collect(Collectors.toList()); Integer[] ids = questionIds.toArray(new Integer[questionIds.size()]); List<TQuestion> tQuestionList = questionMapper.selectTQuestionScore(ids); - //sql璇彞鏄痵um(),閮芥槸1鏉� - //tExamPaper.setScore(tQuestionList.get(0).getScore()); + + tExamPaper.setScore(0l); - // end 璁$畻鏁翠釜浜у搧鍖呯殑鍒嗘暟 - - //棰樼洰鎬绘暟 + + tExamPaper.setQuestionCount(Long.valueOf(questionIds.size())); } - - /** - * 淇敼浜у搧鍖呭垪琛� - * - * @param tExamPaper 浜у搧鍖呭垪琛� - * @return 缁撴灉 - */ + @Override @Transactional public int updateTExamPaper(TExamPaper tExamPaper) { - // 澶氳瑷�鐨勬儏鍐� + if (StringUtils.isEmpty(tExamPaper.getVersion())) { setVersion(tExamPaper); updateTExamPaperVersion(tExamPaper); } - if (tExamPaper.isCreate()) { insertTExamPaper(tExamPaper); } updateLangProduct(tExamPaper); return setExamPaperQuestion(tExamPaper); } - - // 鏇存柊浜у搧鍖呯殑鐗堟湰 + public int updateTExamPaperVersion(TExamPaper tExamPaper) { return tExamPaperMapper.updateTExamPaperVersion(tExamPaper); } - private int updateLangProduct(TExamPaper tExamPaper) { - // 浜у搧鍖呭悕绉板璇█ + TExamPaper tExamPaperForUpdate = selectTExamPaperById(tExamPaper.getId()); - - // 鏇存柊浜у搧鍖呯殑鍐呭 + setExamPaperInfor(tExamPaper, tExamPaperForUpdate); - - // 澶勭悊content閲岄潰鐨勶紝鏃х殑content鎷兼柊鐨刢ontent + TTextContent textContent = tTextContentMapper.selectTTextContentById(tExamPaperForUpdate.getFrameTextContentId()); - textContent.setContent(tExamPaper.getQuestions()); textContent.setUpdateTime(DateUtils.getNowDate()); tTextContentMapper.updateTTextContent(textContent); tExamPaperForUpdate.setUpdateTime(DateUtils.getNowDate()); return tExamPaperMapper.updateTExamPaper(tExamPaperForUpdate); } - private void setExamPaperInfor(TExamPaper tExamPaper, TExamPaper tExamPaperForUpdate) { tExamPaperForUpdate.setName(ExamUtil.getStringMapJson(tExamPaper.getLangType(), tExamPaper.getName(), tExamPaperForUpdate.getName())); - - // 鎸囧璇璇█ + tExamPaperForUpdate.setGuide(ExamUtil.getStringMapJson(tExamPaper.getLangType(), tExamPaper.getGuide(), tExamPaperForUpdate.getGuide())); - tExamPaperForUpdate.setSuggestTime(tExamPaper.getSuggestTime()); - tExamPaperForUpdate.setReportTemplateId(tExamPaper.getReportTemplateId()); - - // 璁剧疆鍒嗘鐨勫璇█ + setLangsPart(tExamPaper, tExamPaperForUpdate); } - private void setLangsPart(TExamPaper tExamPaper, TExamPaper tExamPaperForUpdate) { try { List<ExamPaperTitleItem> examPaperTitleItemListNew = JsonUtil.parseArray(tExamPaper.getQuestions(), ExamPaperTitleItem.class); @@ -440,39 +353,33 @@ } tExamPaper.setQuestions(JsonUtil.toJSONString(examPaperTitleItemListNew)); } catch (Exception e) { - } } - @Override public int deleteProductContent(TExamPaper tExamPaper) { - // 浜у搧鍖呭悕绉板璇█ + TExamPaper tExamPaperForUpdate = selectTExamPaperById(tExamPaper.getId()); tExamPaperForUpdate.setName(ExamUtil.deleteLangString(tExamPaper.getLangType(), tExamPaperForUpdate.getName())); - - // 鎸囧璇璇█ + tExamPaperForUpdate.setGuide(ExamUtil.deleteLangString(tExamPaper.getLangType(), tExamPaperForUpdate.getGuide())); - - // 澶勭悊content閲岄潰鐨勶紝鏃х殑content鎷兼柊鐨刢ontent + TTextContent textContent = tTextContentMapper.selectTTextContentById(tExamPaperForUpdate.getFrameTextContentId()); List<ExamPaperTitleItem> examPaperTitleItemUpdateList = JsonUtil.toJsonListObject(textContent.getContent(), ExamPaperTitleItem.class); int questionNum = 0; for (ExamPaperTitleItem examPaperTitleItem : examPaperTitleItemUpdateList) { - // 涓洪棶棰樼殑姣忎竴椤规坊鍔犲璇█ + examPaperTitleItem.setName(ExamUtil.deleteLangString(tExamPaper.getLangType(), examPaperTitleItem.getName())); examPaperTitleItem.setGuide(ExamUtil.deleteLangString(tExamPaper.getLangType(), examPaperTitleItem.getGuide())); examPaperTitleItem.setDescription(ExamUtil.deleteLangString(tExamPaper.getLangType(), examPaperTitleItem.getDescription())); } - textContent.setContent(JsonUtil.toJsonStr(examPaperTitleItemUpdateList)); textContent.setUpdateTime(DateUtils.getNowDate()); - // 鍒犻櫎鍒嗘鐨勫璇█ + deleteLangParts(tExamPaper, textContent); tTextContentMapper.updateTTextContent(textContent); tExamPaperForUpdate.setUpdateTime(DateUtils.getNowDate()); return tExamPaperMapper.updateTExamPaper(tExamPaperForUpdate); } - private void deleteLangParts(TExamPaper tExamPaper, TTextContent textContent) { try { List<ExamPaperTitleItem> examPaperTitleItemForPartList = JsonUtil.parseArray(textContent.getContent(), ExamPaperTitleItem.class); @@ -486,46 +393,27 @@ textContent.setContent(JsonUtil.toJSONString(examPaperTitleItemForPartList)); } } catch (Exception e) { - } } - - /** - * 鍒犻櫎浜у搧鍖呭垪琛ㄥ璞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteTExamPaperByIds(String ids) { - // 鍒犻櫎绱㈠紩鐨勮〃 + tExamPaperQuestionMapper.deleteTExamPaperQuestionByIds(Convert.toStrArray(ids)); - // 鍒犻櫎content琛紝鐪佺┖闂� + return tExamPaperMapper.updateByDelete(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎浜у搧鍖呭垪琛ㄤ俊鎭� - * - * @param id 浜у搧鍖呭垪琛↖D - * @return 缁撴灉 - */ + public int deleteTExamPaperById(Long id) { return tExamPaperMapper.deleteTExamPaperById(id); } - @Override public List<TExamPaper> selectProdByDeleteList(List<Long> deletes) { Map map = new HashMap<>(); map.put("deleteds", deletes); return tExamPaperMapper.selectProdByDeleteList(map); } - - /** - * 鎵�鏈夊彲閫変骇鍝佸寘 - * - * @return 鎵�鏈夊彲閫変骇鍝佸寘 - */ + public List<Ztree> selectProdTree(String testType) { List<Ztree> ztrees = new ArrayList<>(); List<TExamPaper> dictList = getUserPapers(); @@ -540,10 +428,8 @@ continue; } String questionTemplateId = tExamLevel.getQuestionTemplateId(); - if (!Objects.equals(testType, questionTemplateId)) { if (Objects.equals("questionnaire",testType) && Objects.equals("job",questionTemplateId)) { - } else { continue; } @@ -556,14 +442,13 @@ } return ztrees; } - public List<TExamPaper> getUserPapers() { User sysUser = ShiroUtils.getSysUser(); List<TExamPaper> dictList; if (Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType())) { TExamPaper tExamPaper = new TExamPaper(); dictList = tExamPaperService.selectTExamPaperList(tExamPaper); - }//鍏朵粬鐢ㄦ埛灞曠ずsys_user_paper鍒嗛厤鐨勪骇鍝佸寘 + } else { SysUserPaper sysUserPaper = new SysUserPaper(); sysUserPaper.setUserId(sysUser.getUserId()); @@ -575,46 +460,38 @@ return paper; }).collect(Collectors.toList()); } - - //鍙栫湡瀹炲悕绉� + dictList.stream().forEach(p -> { p.setName(ExamUtil.getStringByLang(p.getLangType(), p.getName())); }); - return dictList; } - @Override public int updateDeleted(TExamPaper tExamPaper) { return tExamPaperMapper.updateTExamPaper(tExamPaper); } - @Transactional @Override public List<TQuestion> updateInsertQuestion(List<TQuestion> questionList, String multilingual) { questionList.stream().forEach(question -> { - // 鏇存柊鏃х殑 + question.setMultilingual(multilingual); tQuestionService.updateTQuestion(question); }); return questionList; } - - // 濡傛灉鏈鐩凡缁忔湁浜嗚绉嶈瑷�锛屽氨涓嶈灞曠ず锛宔dit-*.html浣跨敤 + @Override public List<DictData> getType(Long id) { - - // 鏌ヨ瀛楀吀鍏� + List<DictData> dictDataList = dictDataService.selectDictDataByType("lang_type"); - - // 鏌ョ湅宸茬粡瀛樺湪鐨勯鐩� + if (Objects.nonNull(id)) { TExamPaper tExamPaper = selectTExamPaperById(id); Map<String, String> titleMap = JsonUtil.toJsonObject(tExamPaper.getName(), HashMap.class); if (Objects.isNull(titleMap)) { return dictDataList; } - List<DictData> dictDataListResult = new ArrayList<>(); for (DictData dictData : dictDataList) { if (StringUtils.isEmpty(titleMap.get(dictData.getDictValue()))) { @@ -626,35 +503,29 @@ return dictDataList; } } - @Override public void recallThaiInterface(TExamReport tExamReportResult, String reportType) { TExamReport tExamReportUpdate = new TExamReport(); tExamReportUpdate.setId(tExamReportResult.getId()); tExamReportUpdate.setTokenId(tExamReportResult.getTokenId()); - // 鍘绘帀鍘熸潵鐨勯偅浜涘唴瀹� + tExamReportResult.setInterfaceContent(""); - - // Maq鍜孲AQ閲嶆柊鎺� + recallMaqAndSaqThaiInterface(tExamReportResult, reportType, tExamReportUpdate); - recallCaqThaiInterface(tExamReportResult, reportType, tExamReportUpdate); } - private void recallCaqThaiInterface(TExamReport tExamReportResult, String reportType, TExamReport tExamReportUpdate) { if (Objects.equals("CAQ", reportType)) { ExamPaperSubmitVM examPaperSubmitVM = new ExamPaperSubmitVM(); - // 鏄惁鏄噸鏂拌皟鐢ㄦ嘲鍥藉洟闃� + examPaperSubmitVM.setRecallThaiInterface(true); - // 璧版墜鍔ㄦ彁浜ょ殑鏂瑰紡璧嬪�� + examPaperSubmitVM.setSubmitClick(true); - if (!recallThaiInterfaceForMAQAndCAQ(tExamReportResult, tExamReportUpdate, examPaperSubmitVM, 2)) { return; } } } - private void recallMaqAndSaqThaiInterface(TExamReport tExamReportResult, String reportType, TExamReport tExamReportUpdate) { List<QuestionReport> questionReports = JsonUtil.parseArray(tExamReportResult.getQuestionReport(), QuestionReport.class); if (Objects.equals("MAQ", reportType) || Objects.equals("SAQ", reportType)) { @@ -663,7 +534,7 @@ for (Integer partOrder : partOrderSet) { ExamPaperSubmitVM examPaperSubmitVM = new ExamPaperSubmitVM(); examPaperSubmitVM.setPartOrder(partOrder); - // 鏄惁鏄噸鏂拌皟鐢ㄦ嘲鍥藉洟闃� + examPaperSubmitVM.setRecallThaiInterface(true); if (!recallThaiInterfaceForMAQAndCAQ(tExamReportResult, tExamReportUpdate, examPaperSubmitVM, examPaperSubmitVM.getPartOrder())) { return; @@ -671,7 +542,6 @@ } } } - private boolean recallThaiInterfaceForMAQAndCAQ(TExamReport tExamReportResult, TExamReport tExamReportUpdate, ExamPaperSubmitVM examPaperSubmitVM, Integer partOrder2) { ReportAPIResult reportAPIResult = getTaiInterface(examPaperSubmitVM, tExamReportResult, tExamReportUpdate); if (Objects.equals(reportAPIResult.getCode(), "fail")) { @@ -679,43 +549,32 @@ examReportService.updateTExamReportByTokenId(tExamReportUpdate); return false; } - - // 鏇存柊娉板浗鎺ュ彛鏁版嵁锛屼繚瀛樻嘲鍥芥帴鍙f暟鎹� + updateTaiInterfaceContent(tExamReportUpdate, tExamReportResult, reportAPIResult, partOrder2); tExamReportResult.setInterfaceContent(tExamReportUpdate.getInterfaceContent()); return true; } - @Override public List<ExamPaperTitleItem> getExamPaperTitleContent(TExamPaper tExamPaper) { - //琛ㄧず杩樻病鏈夋坊鍔犻鐩� + if (Objects.isNull(tExamPaper.getFrameTextContentId())) { return null; } - TTextContent tTextContent = tTextContentService.selectTTextContentById(tExamPaper.getFrameTextContentId()); - - //澶ф爣棰橈紝绗竴娈垫煡t_exam_paper鐨則_text_content + List<ExamPaperTitleItemObject> examPaperTitleItemObjectList = JSONArray.parseArray(tTextContent.getContent(), ExamPaperTitleItemObject.class); - - // 宸ヤ綔鍒嗘瀽闂嵎鍘诲幓question鐨勯鐩綔涓哄睍绀� + examUtilService.setTitleName(tExamPaper, examPaperTitleItemObjectList); - - //鏍囬銆侀骞�=>閫夐」 鍚嶅瓧锛歯ame,棰樼洰锛歲uestionItems锛屽ぇ鏍囬 + List<ExamPaperTitleItem> examPaperTitleItemList = new ArrayList<>(); - - // 璁剧疆question鐨勫�� + setPaperQuestion(tExamPaper, examPaperTitleItemObjectList, examPaperTitleItemList); - - // 鍒嗙墖鐨勮繑鍥� + examPaperTitleItemList.get(0).setParts(examPaperTitleItemObjectList.get(0).getParts()); - - // 澶勭悊鍒嗙墖澶氳瑷� + getPartsmultiLanguage(tExamPaper, examPaperTitleItemList); - return examPaperTitleItemList; } - private void getPartsmultiLanguage(TExamPaper tExamPaper, List<ExamPaperTitleItem> examPaperTitleItemList) { List<QuestionPart> parts = examPaperTitleItemList.get(0).getParts(); if (CollUtil.isEmpty(parts)) { @@ -728,47 +587,39 @@ }); } } - private void setPaperQuestion(TExamPaper tExamPaper, List<ExamPaperTitleItemObject> examPaperTitleItemObjectList, List<ExamPaperTitleItem> examPaperTitleItemList) { - //ExamPaperTitleItem->QuestionItem->QuestionEditItem->(A,B,C) + for (ExamPaperTitleItemObject examPaperTitleItemObject : examPaperTitleItemObjectList) { - //鏍囬銆侀骞�=>閫夐」锛堝崟涓級 + ExamPaperTitleItem examPaperTitleItem = new ExamPaperTitleItem(); - examPaperTitleItem.setName(ExamUtil.getLangString(tExamPaper.getLangType(), examPaperTitleItemObject.getName())); - - //澶ф爣棰樹笅闈㈡湁澶氬皯涓锛屾煡t_question + List<ExamPaperQuestionItemObject> examPaperQuestionList = examPaperTitleItemObject.getQuestionItems(); - - //map淇濆瓨棰樼洰鐨勯『搴� + Map<Integer, ExamPaperQuestionItemObject> questionOrder = new HashMap<>(); List<String> ids = new ArrayList<String>(); for (ExamPaperQuestionItemObject examPaperQuestionItemObject : examPaperQuestionList) { ids.add(examPaperQuestionItemObject.getId().toString()); questionOrder.put(examPaperQuestionItemObject.getId(), examPaperQuestionItemObject); } - if (ExamUtil.isListEmpty(ids)) { continue; } - - //begin 鏌ヨ鍑烘瘡涓�涓爣棰樼殑棰樼洰{"analyze":"杩欎釜鏄В鏋�","correct":"C","questionItemObjects":[{"content":"<p>B閫夐」</p>","prefix":"B","score":500},{"content":"A閫夐」","prefix":"A","score":500},{"content":"C閫夐」","prefix":"C","score":500},{"content":"D閫夐」鐨勭瓟妗�","prefix":"D","score":500}],"titleContent":"璇烽棶娴锋磱鏈�澶氱殑鏄粈涔�"} + List<TTextContentAndQuestion> tTextContents = tTextContentService.selectTextContentAndQuestion(ids.toArray(new String[ids.size()])); List<QuestionItem> questionItemList = tTextContents.stream().map(i -> { QuestionItem questionItem = new QuestionItem(); - - //begin 鑾峰彇棰樺共鍐呭 + QuestionObject questionObject = JSONObject.parseObject(i.getContent(), QuestionObject.class); - // 澶氳瑷� + questionItem.setTitle(ExamUtil.getLangString(tExamPaper.getLangType(), questionObject.getTitleContent())); questionItem.setId(i.getId().intValue()); questionItem.setQuestionId(i.getQuestionId().intValue()); questionItem.setItemOrder(questionOrder.get(i.getQuestionId().intValue()).getItemOrder()); questionItem.setPermanentId(i.getPermanentId()); questionItem.setPartOrder(questionOrder.get(i.getQuestionId().intValue()).getPartOrder()); - //end 鑾峰彇棰樺共鍐呭 - - //begin 鑾峰彇閲岄潰鐨勯�夐」锛屽鏋滈�夐」涓虹┖锛屽氨缁欎竴涓粯璁ゅ�硷紝鍚﹀垯鏅哄姏棰樹細鎶ラ敊 + + if (Objects.nonNull(questionObject.getQuestionItemObjects())) { List<QuestionEditItem> items = questionObject.getQuestionItemObjects().stream().map(val -> { QuestionEditItem questionEditItem = modelMapper.map(val, QuestionEditItem.class); @@ -784,46 +635,32 @@ questionEditItem.setScore(0); items.add(questionEditItem); questionItem.setItems(items); - } - //end 鑾峰彇閲岄潰鐨勯�夐」 - + return questionItem; }).collect(Collectors.toList()); - //end 鏌ヨ鍑烘瘡涓�涓爣棰樼殑棰樼洰 - - //澶ф爣棰橀噷闈㈢殑棰樼洰 + + examPaperTitleItem.setQuestionItems(questionItemList); - examPaperTitleItem.setDescription(ExamUtil.getLangString(tExamPaper.getLangType(), examPaperTitleItemObject.getDescription())); - examPaperTitleItem.setGuide(ExamUtil.getLangString(tExamPaper.getLangType(), examPaperTitleItemObject.getGuide())); - examPaperTitleItem.setPermanentId(examPaperTitleItemObject.getPermanentId()); - examPaperTitleItem.setQuestionId(examPaperTitleItemObject.getQuestionId()); - examPaperTitleItemList.add(examPaperTitleItem); } } - public RestResponse<SignalObject> getSignalObjectRestResponse(ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReport, List<TExamReport> tExamReportList, String langType) { - // 鏌ヨ缁撴灉 + TExamReport tExamReportResult = tExamReportList.get(0); - - // 璋冪敤娉板浗鎺ュ彛 + ReportAPIResult reportAPIResult = getTaiInterface(examPaperSubmitVM, tExamReportResult, tExamReport); - - // 鏇存柊娉板浗鎺ュ彛鏁版嵁锛屼繚瀛樻嘲鍥芥帴鍙f暟鎹� + updateTaiInterfaceContent(tExamReport, tExamReportResult, reportAPIResult, examPaperSubmitVM.getPartOrder()); - - // 鍙戦�侀偖浠朵釜鐢ㄦ埛鍜孒R + sendHRAndMemberEmail(tExamReport, true, true); - - // 杩斿洖鎻愮ず缁欏墠鍙� + return getSignalObject(examPaperSubmitVM.getPartOrder(), tExamReportResult, reportAPIResult, langType); } - private RestResponse<SignalObject> getSignalObject(int partOrder, TExamReport tExamReportResult, ReportAPIResult reportAPIResult, String langType) { TExamPaper tExamPaper = selectTExamPaperById(tExamReportResult.getProductId()); List<ExamPaperTitleItem> examPaperTitleItemList = JsonUtil.parseArray(tExamPaper.getContent(), ExamPaperTitleItem.class); @@ -845,88 +682,72 @@ signalObject.setMessage(reportAPIResult.getMessage()); return RestResponse.ok(signalObject); } - - // 鍙戦�侀檮浠剁粰HR + public void sendHRAndMemberEmail(TExamReport tExamReport, boolean justHr, boolean justMember) { - // 闄勪欢鐨勪綅缃�,鍏蜂綋閭欢闄勪欢鐨勪綅缃� + List<String> fileNameResult = new ArrayList<>(); - // 瑕佸垹闄ょ殑鏂囦欢 + List<String> deleteStrList = new ArrayList<>(); - TExamReport tExamReportResult = examReportService.getReportFromTemplate(tExamReport, fileNameResult, deleteStrList); if (tExamReportResult == null) { return; } - - // 璋冪敤鍙戦�佺▼搴忓彂缁欑敤鎴� + String title = tExamReportResult.getMemberName() + MessageUtils.message("jsp.exam.quesiton.reportTilte"); String content = tExamReportResult.getMailContent(); StringBuilder remark = new StringBuilder(); remark.append("澶辫触閭锛�"); - if (justMember) { - // 鐢ㄦ埛鍙戦偖浠� + sendMemberEmail(tExamReport, fileNameResult, tExamReportResult, title, content, remark); } if (justHr) { - // 鍙戦�佺粰Hr,浣嗗彇testEmail + sendHrEmail(tExamReport, fileNameResult, tExamReportResult, title, content, remark); } - - // 鏇存柊鍙戦�佺姸鎬侊紝鍘嗗彶閭欢鍦板潃 + tExamReport.setReportAddress(JsonUtil.toJSONString(fileNameResult)); - - // 鏀句竴涓綋鍓嶉偖浠剁殑鍦板潃 + tExamReport.setReportAddressNew(JsonUtil.toJSONString(fileNameResult)); examReportService.updateTExamReportByTokenId(tExamReport); - - // 鑺傜渷绌洪棿鍒犻櫎鏂囦欢 - // deleteStrList.addAll(fileNameResult); + + WordUtil wordUtil = new WordUtil(); wordUtil.deleteFileByStr(deleteStrList); } - public void sendHrEmail(TExamReport tExamReport, List<String> fileNameResult, TExamReport tExamReportResult, String title, String content, StringBuilder remark) { - // 濡傛灉鍒涘缓娴嬭瘯鍖呯殑鏃跺�欐病鏈夊~閭锛岄偅涔堝氨鐢ㄩ泦鍥㈢殑鍙朒R閭閭 + List<String> hrEmailList = null; try { hrEmailList = Arrays.asList(tExamReportResult.getTestEmail().split(",")); } catch (Exception ex) { - } if (ExamUtil.isListEmpty(hrEmailList)) { try { hrEmailList = Arrays.asList(tExamReportResult.getHrEmail().split(",")); } catch (Exception ex) { - } } - if (Objects.isNull(hrEmailList)) { throw new RuntimeException("Hr Email Is Not Configured"); } - - //鏇挎崲鍏徃鍚嶇О + String userName = ExamUtil.getLangString(tExamReportResult.getLangType(), tExamReportResult.getUserName()); - //鏇挎崲鐢ㄦ埛鍚嶇О + String fullName = ExamUtil.getLangString(tExamReportResult.getLangType(), tExamReportResult.getMemberName()); String productName = ExamUtil.getLangString(tExamReportResult.getLangType(), tExamReportResult.getProductName()); if (StringUtils.isEmpty(content)) { - content = loadReportHrDefaultTemplate(fullName, userName, productName); } - content = content.replace("{Company}", StringUtils.isNotEmpty(userName) ? userName : ""); content = content.replace("{fullName}", StringUtils.isNotEmpty(fullName) ? fullName : ""); content = content.replace("{prodName}", StringUtils.isNotEmpty(productName) ? productName : ""); - for (String email : hrEmailList) { - String hrEmailStatus = "1"; RushMailResult rushMailResult = emailMessage.sendEmailwithAttachment(email, title, content, fileNameResult.stream().toArray(String[]::new)); if (rushMailResult.isResult()) { tExamReport.setSendHrStatus(SenderCode.success.getCode()); - } else { // 鍙戦�佹垚鍔燂紝鍙戦�佸け璐ュ鐞� + } else { remark.append(tExamReportResult.getMemberEmail() + ","); tExamReport.setSendHrStatus(SenderCode.fail.getCode()); hrEmailStatus = "2"; @@ -936,7 +757,7 @@ tExamReport.setHrSendTime(new Date()); tExamReport.setHrUpdateTime(new Date()); try { - //鏇存柊鐢ㄦ埛琛ㄥ彂閫丠R閭欢鐘舵�� + EntTestMember entTestMember = entTestMemberMapper.selectEntTestMemberById(Long.valueOf(tExamReportResult.getMemberId())); entTestMember.setHrEmailStatus(hrEmailStatus); entTestMember.setHrEmailTime(new Date()); @@ -944,33 +765,23 @@ } catch (Exception ex) { log.error("update HrEmailStatus error:{}", ex.getMessage(), ex); } - } - tExamReport.setRemark(remark.toString()); } - private String loadReportHrDefaultTemplate(String fullName, String userName, String productName) { StringBuilder builder = new StringBuilder(); - builder.append("浜茬埍鐨剓Company}浜哄姏璧勬簮閮紝").append("<br>"); builder.append("Dear HR Staff at {Company},").append("<br><br>"); - builder.append("闄勪欢鏄瘂fullName}鏈�杩戝畬鎴愮殑{prodName}娴嬭瘎鎶ュ憡銆�").append("<br>"); builder.append("Attached please find the assessment report on ({prodName}) of ({fullName}).").append("<br><br>"); - builder.append("濡傛湁鐤戦棶锛岃涓庡鏈嶈仈绯伙紝閭鏄細support@tai-online.com銆�").append("<br>"); builder.append("Should you have questions, please contact our customer service at support@tai-online.com. ").append("<br><br><br>"); - builder.append("璋㈣阿锛�").append("<br>"); builder.append("All the best,").append("<br><br><br>"); - builder.append("TAI鍏徃瀹㈡埛鏈嶅姟閮�").append("<br>"); builder.append("Customer Service Dept., TAI, LLC").append("<br><br><br>"); - return builder.toString(); } - private String loadReportMemberDefaultTemplate(String fullName, String userName, String productName) { StringBuilder builder = new StringBuilder(); builder.append("Subject Line: Your assessment report is attached (鎮ㄧ殑娴嬭瘎鎶ュ憡闄勪笂浜�)"); @@ -996,35 +807,28 @@ builder.append(userName); return builder.toString(); } - - private void sendMemberEmail(TExamReport tExamReport, List<String> fileNameResult, TExamReport tExamReportResult, String title, String content, StringBuilder remark) { - if (StringUtils.isEmpty(content)) { - //鏇挎崲鍏徃鍚嶇О + String userName = tExamReportResult.getUserName(); - //鏇挎崲鐢ㄦ埛鍚嶇О + String fullName = tExamReportResult.getMemberName(); String productName = ExamUtil.getLangString(tExamReportResult.getLangType(), tExamReportResult.getProductName()); content = loadReportMemberDefaultTemplate(fullName, userName, productName); } - if (Objects.nonNull(tExamReportResult.getAutoSendReport()) && tExamReportResult.getAutoSendReport() == 1) { boolean result = emailMessage.sendEmailwithAttachment(tExamReportResult.getMemberEmail(), title, content, fileNameResult.stream().toArray(String[]::new)).isResult(); if (result) { tExamReport.setSendTesterStatus(SenderCode.success.getCode()); - } else { // 鍙戦�佹垚鍔燂紝鍙戦�佸け璐ュ鐞� + } else { remark.append(tExamReportResult.getMemberEmail() + ","); tExamReport.setSendTesterStatus(SenderCode.fail.getCode()); } } else { tExamReport.setSendTesterStatus(SenderCode.noSend.getCode()); } - tExamReport.setRemark(remark.toString()); } - - private void updateTaiInterfaceContent(TExamReport tExamReportUpdate, TExamReport tExamReportResult, ReportAPIResult reportAPIResult, int partOrder) { List<ReportAPIResult> reportAPIResultList = JsonUtil.parseArray(tExamReportResult.getInterfaceContent(), ReportAPIResult.class); if (CollUtil.isNotEmpty(reportAPIResultList)) { @@ -1033,25 +837,21 @@ reportAPIResultList.remove(reportAPIResultList.size() - 1); } } - if (ExamUtil.isListEmpty(reportAPIResultList)) { reportAPIResultList = new ArrayList<>(); } else { int size = reportAPIResultList.size(); int deletNum = size - (partOrder - 1); - - // 濡傛灉鍓嶅彴鍙互璺冲埌涓婁竴棰橈紝鍒欒鍒犻櫎鍘熸潵鍏ュ簱鐨� + for (int i = size - 1; i >= 0 && deletNum > 0; i--, deletNum--) { reportAPIResultList.remove(i); } - logger.info("reportAPIResultList:鐨勪釜鏁�" + reportAPIResultList.size()); } reportAPIResultList.add(reportAPIResult); tExamReportUpdate.setInterfaceContent(JsonUtil.toJSONString(reportAPIResultList)); examReportService.updateTExamReportByTokenId(tExamReportUpdate); } - private ReportAPIResult getTaiInterface(ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReportResult, TExamReport tExamReportUpdate) { Map<Integer, ReportTypeEnum> reportTypeEnumMap = new HashMap<>(); reportTypeEnumMap.put(1, firstPath); @@ -1062,16 +862,13 @@ if ("SAQ".equals(tReportTemplate.getTemplateType()) || Objects.equals("SAQ", tReportTemplate.getReportType())) { calculationTypeEnum = SAQ; } - if ("RuiLin".equals(tReportTemplate.getReportType())) { calculationTypeEnum = RUILIN; } - if ("CAQ".equals(tReportTemplate.getReportType())) { calculationTypeEnum = CAQ; } } - HolderInfo info = new HolderInfo(); info.setAccessCode(tExamReportResult.getTokenId()); info.setFullName(tExamReportResult.getMemberName()); @@ -1084,11 +881,10 @@ return getReportAPIMAQResult(examPaperSubmitVM, tExamReportResult, tExamReportUpdate, reportTypeEnumMap, info); } } - private ReportAPIResult getReportAPICAQResult(ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReportResult, TExamReport tExamReport, HolderInfo info) { Map data = new HashMap(); - // 閫犳暟鎹� - // createMAQAndCAQData(examPaperSubmitVM, CAQ, data); + + getWaitTaiData(examPaperSubmitVM, tExamReportResult, data); CaqRequest request = new CaqRequest(); request.setInfo(info); @@ -1100,9 +896,8 @@ } return reportAPIResult; } - public SignalObject callTaiData(String tokenId, String langType, ExamPaperSubmitVM examPaperSubmitVM) { - // 鏌ユ壘褰撳墠鐨勭瓟棰樿褰� + TExamReport tExamReport = new TExamReport(); tExamReport.setTokenId(tokenId); List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReport); @@ -1114,11 +909,9 @@ if (ExamUtil.isListEmpty(questionReportList)) { return getEmptySignalObjectResult(); } - try { - // 璋冪敤娉板浗鍥㈤槦涔嬪悗鏇存柊鎶ヨ〃璁板綍,鍙戦�佺粰HR閭欢 + RestResponse<SignalObject> signalObject = getSignalObjectRestResponse(examPaperSubmitVM, tExamReport, tExamReportList, langType); - if (Objects.nonNull(signalObject)) { return signalObject.getResponse(); } @@ -1126,23 +919,19 @@ updateChoice(examPaperSubmitVM, tExamReport, tExamReportOldResult); throw e; } - return getEmptySignalObjectResult(); } - private SignalObject getEmptySignalObjectResult() { SignalObject signalObject = new SignalObject(); signalObject.setSignalDescription(""); return signalObject; } - private void updateChoice(ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReport, TExamReport tExamReportOldResult) { tExamReport.setFinish(0); if (StringUtils.isEmpty(tExamReport.getTokenId()) || StringUtils.isEmpty(examPaperSubmitVM.getItemOrder())) { examReportService.updateTExamReportByTokenId(tExamReport); return; } - String choice = tExamReportOldResult.getChoice(); LinkedHashMap<String, String> linkedHashMap = JsonUtil.parseObject(choice, LinkedHashMap.class); Iterator<String> iterator = linkedHashMap.keySet().iterator(); @@ -1158,19 +947,17 @@ tExamReport.setRemark(tExamReport.getRemark() + ",itemOrder:" + examPaperSubmitVM.getItemOrder()); examReportService.updateTExamReportByTokenId(tExamReport); } - - // 閫犳暟鎹嚱鏁板叆鍙� + private void createMAQAndCAQData(ExamPaperSubmitVM examPaperSubmitVM, CalculationTypeEnum calculationTypeEnum, Map data) { if (calculationTypeEnum == CAQ) { - // 閫燙AQ鐨勬暟鎹� + simulationCAQTaiData(examPaperSubmitVM.getPartOrder(), data); } else { - // 閫犳暟鎹�,MAQ锛屼笉闇�瑕侊紝涓婄嚎鐨勬椂鍊欒娉ㄩ噴鎺� + simulationTaiData(examPaperSubmitVM.getPartOrder(), data); } } - - // 妯℃嫙娉板浗鍥㈤槦 + private void simulationTaiData(int partOrder, Map data) { String topics = "MAQ0001,MAQ0003,MAQ0006,MAQ0009,MAQ0013,MAQ0020,MAQ0041,MAQ0048,MAQ0088,MAQ0094,MAQ0098,MAQ0112,MAQ0117,MAQ0133,MAQ0145,MAQ0163,MAQ0172,MAQ0174,MAQ0175,MAQ0183,MAQ0194,MAQ0203,MAQ0209,MAQ0212,MAQ0224,MAQ0232,MAQ0233,MAQ0235,MAQ0236,MAQ0241,MAQ0244,MAQ0249,MAQ0250,MAQ0251,MAQ0004,MAQ0005,MAQ0007,MAQ0010,MAQ0011,MAQ0014,MAQ0015,MAQ0019,MAQ0021,MAQ0024,MAQ0025,MAQ0026,MAQ0027,MAQ0028,MAQ0029,MAQ0030,MAQ0034,MAQ0035,MAQ0036,MAQ0038,MAQ0039,MAQ0040,MAQ0042,MAQ0044,MAQ0045,MAQ0046,MAQ0047,MAQ0049,MAQ0051,MAQ0053,MAQ0055,MAQ0058,MAQ0059,MAQ0060,MAQ0061,MAQ0062,MAQ0064,MAQ0065,MAQ0067,MAQ0069,MAQ0070,MAQ0071,MAQ0072,MAQ0073,MAQ0074,MAQ0076,MAQ0077,MAQ0078,MAQ0079,MAQ0080,MAQ0081,MAQ0082,MAQ0084,MAQ0085,MAQ0086,MAQ0087,MAQ0089,MAQ0090,MAQ0091,MAQ0092,MAQ0095,MAQ0097,MAQ0099,MAQ0100,MAQ0101,MAQ0103,MAQ0104,MAQ0106,MAQ0107,MAQ0110,MAQ0111,MAQ0113,MAQ0115,MAQ0118,MAQ0119,MAQ0120,MAQ0124,MAQ0126,MAQ0127,MAQ0129,MAQ0130,MAQ0131,MAQ0132,MAQ0134,MAQ0135,MAQ0136,MAQ0138,MAQ0140,MAQ0141,MAQ0142,MAQ0143,MAQ0144,MAQ0146,MAQ0147,MAQ0149,MAQ0150,MAQ0151,MAQ0152,MAQ0156,MAQ0157,MAQ0158,MAQ0159,MAQ0160,MAQ0161,MAQ0162,MAQ0164,MAQ0165,MAQ0166,MAQ0167,MAQ0168,MAQ0169,MAQ0170,MAQ0171,MAQ0173,MAQ0176,MAQ0178,MAQ0179,MAQ0180,MAQ0181,MAQ0182,MAQ0184,MAQ0185,MAQ0187,MAQ0190,MAQ0191,MAQ0192,MAQ0193,MAQ0195,MAQ0197,MAQ0199,MAQ0200,MAQ0201,MAQ0202,MAQ0204,MAQ0205,MAQ0206,MAQ0207,MAQ0208,MAQ0210,MAQ0211,MAQ0213,MAQ0214,MAQ0216,MAQ0218,MAQ0219,MAQ0220,MAQ0221,MAQ0223,MAQ0225,MAQ0226,MAQ0227,MAQ0228,MAQ0229,MAQ0230,MAQ0231,MAQ0234,MAQ0237,MAQ0240,MAQ0242,MAQ0243,MAQ0245,MAQ0247,MAQ0248,MAQ0253,MAQ0254,MAQ0255"; if (partOrder == 1) { @@ -1181,8 +968,7 @@ data.put(item, "5"); }); } - - // 妯℃嫙CAQ鐨勬暟鎹� + private void simulationCAQTaiData(int partOrder, Map data) { String topics = "CAQ1010,CAQ1020,CAQ1030,CAQ1040,CAQ1050,CAQ1060,CAQ1070,CAQ1080,CAQ1090,CAQ1100,CAQ1110,CAQ1120,CAQ1130,CAQ1140,CAQ1150,CAQ2010,CAQ2020,CAQ2030,CAQ2040,CAQ2050,CAQ2060,CAQ2070,CAQ2080,CAQ2090,CAQ2100,CAQ2110,CAQ2120,CAQ2130,CAQ2140,CAQ2150,CAQ2160,CAQ2170,CAQ2180,CAQ2190,CAQ2200"; if (partOrder == 1) { @@ -1193,34 +979,30 @@ data.put(item, "5"); }); } - private void setNormalSubmit(ExamPaperSubmitVM examPaperSubmitVM, Map data, List<QuestionReport> questionReportList) { for (QuestionReport questionReport : questionReportList) { - // PermanentId 绛変簬0鏄櫤鍔涢鐨勫ぇ棰橈紝闂瓟棰橈紝椤轰究鍒ゆ柇涓虹┖ + if (questionReport.getPartOrder() > examPaperSubmitVM.getPartOrder() || Objects.isNull(questionReport.getPermanentId()) || Objects.equals(questionReport.getPermanentId(), "0")) { continue; } data.put(questionReport.getPermanentId(), questionReport.getAnswer()); } } - private void setManSubmit(Map data, List<QuestionReport> questionReportList) { for (QuestionReport questionReport : questionReportList) { - // PermanentId 绛変簬0鏄櫤鍔涢鐨勫ぇ棰橈紝闂瓟棰橈紝椤轰究鍒ゆ柇涓虹┖ + if (StringUtils.isNotEmpty(questionReport.getPermanentId()) && !Objects.equals(questionReport.getPermanentId(), "0")) { data.put(questionReport.getPermanentId(), questionReport.getAnswer()); } } } - private ReportAPIResult getReportAPISAQResult(ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReportResult, TExamReport tExamReport, Map<Integer, ReportTypeEnum> reportTypeEnumMap, HolderInfo info) { return getReportAPIMAQResult(examPaperSubmitVM, tExamReportResult, tExamReport, reportTypeEnumMap, info); } - private ReportAPIResult getReportAPIMAQResult(ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReportResult, TExamReport tExamReport, Map<Integer, ReportTypeEnum> reportTypeEnumMap, HolderInfo info) { Map data = new HashMap(); - // 閫犳暟鎹� -// createMAQAndCAQData(examPaperSubmitVM, MAQ, data); + + getWaitTaiData(examPaperSubmitVM, tExamReportResult, data); MaqRequest request = new MaqRequest(); request.setInfo(info); @@ -1228,22 +1010,19 @@ request.setData(data); ReportAPIResult reportAPIResult = calculationServices.stageCalculation(request); reportAPIResult.setAnswerData(data); - // 閲嶆柊璋冪敤娉板浗鍥㈤槦鐨勬帴鍙g殑璇濓紝涓嶉渶瑕佹洿鏂伴鐩簡 + if (Objects.equals(reportAPIResult.getCode(), "fail") && !examPaperSubmitVM.isRecallThaiInterface()) { updateChoice(examPaperSubmitVM, tExamReport, tExamReportResult); } return reportAPIResult; } - private void getWaitTaiData(ExamPaperSubmitVM examPaperSubmitVM, TExamReport tExamReportResult, Map data) { List<QuestionReport> questionReportList = JsonUtil.parseArray(tExamReportResult.getQuestionReport(), QuestionReport.class); if (examPaperSubmitVM.isSubmitClick()) { - // 鑷繁鎻愪氦鐨勯偅绉嶏紝濡傛櫤鍔涢 + setManSubmit(data, questionReportList); } else { setNormalSubmit(examPaperSubmitVM, data, questionReportList); } } - - } diff --git a/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java index 4629005..bf215da 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java @@ -1,6 +1,6 @@ package com.ots.project.exam.service.impl; - import cn.hutool.core.collection.CollUtil; +import lombok.extern.slf4j.Slf4j; import com.ots.common.enums.LangTypeEnum; import com.ots.common.enums.ReportTypeEnum; import com.ots.common.enums.TemplateTypeEnum; @@ -36,6 +36,7 @@ import com.ots.project.tool.exam.JsonUtil; import com.ots.project.tool.report.CAQ.CAQReport; import com.ots.project.tool.report.MAQ.MAQReport; +import com.ots.project.tool.report.MAQNEW.MAQReport_V2; import com.ots.project.tool.report.ReportResultData; import com.ots.project.tool.report.RuilinMAQ.RuilinMAQReport; import com.ots.project.tool.report.SAQ.SAQReport; @@ -45,7 +46,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; @@ -61,141 +61,87 @@ import java.util.Set; import java.util.stream.Collectors; -/** - * 璇勬祴鎶ュ憡Service涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-12-26 - */ @Service +@Slf4j public class TExamReportServiceImpl implements ITExamReportService { @Autowired private TExamReportMapper tExamReportMapper; - @Autowired private IDictDataService dictDataService; - @Autowired private SysUserExtendMapper sysUserExtendMapper; - @Autowired BarChart barChart; - @Autowired IEntDemographyInfoService entDemographyInfoService; - @Autowired IEntDemographyParamService entDemographyParamService; - @Autowired private ITReportTemplateService itReportTemplateService; - @Autowired private IEntTestMemberService entTestMemberService; - private static final Logger logger = LoggerFactory.getLogger(Threads.class); - @Autowired private MemberService memberService; - - - /** - * 鏌ヨ璇勬祴鎶ュ憡 - * - * @param id 璇勬祴鎶ュ憡ID - * @return 璇勬祴鎶ュ憡 - */ + @Override public TExamReport selectTExamReportById(Long id) { return tExamReportMapper.selectTExamReportById(id); } - - /** - * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 璇勬祴鎶ュ憡 - */ + @Override public List<TExamReport> selectTExamReportList(TExamReport tExamReport) { return tExamReportMapper.selectTExamReportList(tExamReport); } - + @Override + public List<TExamReport> selectTExamReportNoStatusList(TExamReport tExamReport) { + return tExamReportMapper.selectTExamReportNoStatusList(tExamReport); + } @Override public List<TExamReport> selectViewReportList(TExamReport tExamReport) { return tExamReportMapper.selectViewReportList(tExamReport); } - - /** - * 鏂板璇勬祴鎶ュ憡 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 缁撴灉 - */ + @Override public int insertTExamReport(TExamReport tExamReport) { tExamReport.setCreateTime(DateUtils.getNowDate()); return tExamReportMapper.insertTExamReport(tExamReport); } - - /** - * 淇敼璇勬祴鎶ュ憡 - * - * @param tExamReport 璇勬祴鎶ュ憡 - * @return 缁撴灉 - */ + @Override public int updateTExamReport(TExamReport tExamReport) { tExamReport.setUpdateTime(DateUtils.getNowDate()); return tExamReportMapper.updateTExamReport(tExamReport); } - @Override @Transactional public int updateTExamReportStatus(TExamReport tExamReport) { tExamReport.setUpdateTime(DateUtils.getNowDate()); return tExamReportMapper.updateTExamReportStatus(tExamReport); } - @Override public int updateTExamReportByTokenId(TExamReport tExamReport) { tExamReport.setUpdateTime(DateUtils.getNowDate()); return tExamReportMapper.updateTExamReportByTokenId(tExamReport); } - @Override public int updateTExamReportDeleteLastOneByTokenId(TExamReport tExamReport) { tExamReport.setUpdateTime(DateUtils.getNowDate()); return tExamReportMapper.updateTExamReportDeleteLastOneByTokenId(tExamReport); } - - - /** - * 鍒犻櫎璇勬祴鎶ュ憡瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteTExamReportByIds(String ids) { return tExamReportMapper.deleteTExamReportByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎璇勬祴鎶ュ憡淇℃伅 - * - * @param id 璇勬祴鎶ュ憡ID - * @return 缁撴灉 - */ + public int deleteTExamReportById(Long id) { return tExamReportMapper.deleteTExamReportById(id); } - @Override public int changeStatus(TExamReport tExamReport) { return tExamReportMapper.updateTExamReport(tExamReport); } - @Override public int updateTexamReportByIds(String ids, String downloadTimes) { Map params = new HashMap<>(); @@ -204,20 +150,17 @@ params.put("downloadTimes", downloadTimes); return tExamReportMapper.updateTExamReportByIds(params); } - @Override public List<TExamReport> selectTExamReportByTokenList(String[] tokenIds) { return tExamReportMapper.selectTExamReportByTokenList(tokenIds); } - @Override public List<TExamReport> selectTExamReportByIds(String[] ids) { return tExamReportMapper.selectTExamReportByIds(ids); } - @Override public List<DictData> getType(Long id) { - // 鏌ヨ瀛楀吀鍏� + List<DictData> dictDataList = dictDataService.selectDictDataByType("lang_type"); SysUserExtend sysUserExtend = sysUserExtendMapper.selectSysUserExtendById(id); String langType = sysUserExtend.getLangType(); @@ -229,9 +172,6 @@ } return dictDataListResult; } - - - @Override public TReportTemplate getReportTemplate(String questionTemplateId, String langType, String templateType) { TReportTemplate tReportTemplate = new TReportTemplate(); @@ -241,69 +181,57 @@ tReportTemplate.setReportType(productTypeMap.get(questionTemplateId)); return tReportTemplate; } - - // 妯℃嫙璋冪敤鎺ュ彛鎶藉彇鍒版湇鍔″眰 + @Override public void setTextPicture(TExamReport tExamReport, ReportResultData reportResultData, List<String> deleteStrList, LangTypeEnum langType, Map<String, Object> textMap) { - // begin 璋冪敤鎺ュ彛鐨勪唬鐮佸潡 - - // 杩欓噷鏄痯ut鏄犲皠锛宼extMap鍜寃ord鏂囨。瀵瑰簲 + + setTextMap(tExamReport, reportResultData, textMap); - - // begin 閫犺繘搴︽潯鐨勬暟鎹� - // setProgressPicture(deleteStrList, langType, thaiCalculationMap, textMap); - // end 閫犺繘搴︽潯鐨勬暟鎹� - - // 澶勭悊姘存淮 + + + + setWaterDropPicture(reportResultData, deleteStrList, textMap, tExamReport); - - // 澶勭悊url鐨勫浘鐗� + setIconPicture(reportResultData, textMap); } - @Override public void setExportBaseOrDetailReportData(List<TExamReport> tExamReportList, List<String> deleteStrList, List<String> fileNameList, TReportTemplate tReportTemplate) { - // begin 浠巈xcel鍙栨暟鎹� + Map<String, Map<String, String>> excelMap = new HashMap<>(); - // end 浠巈xcel鍙栨暟鎹� - - // 澶勭悊娉板浗鍥㈤槦鏁版嵁 + + dealTaiData(tExamReportList, excelMap); - - // 鐢熸垚绠�鍗曠増鏈拰璇︾粏鐗� + getBaseAndDetailReport(deleteStrList, fileNameList, tReportTemplate, excelMap); } - private void getBaseAndDetailReport(List<String> deleteStrList, List<String> fileNameList, TReportTemplate tReportTemplate, Map<String, Map<String, String>> excelMap) { List<ReportResultData> reportResultDataList = new ArrayList<>(); List<TExamReport> tExamReportList = new ArrayList<>(); getBaseAndDetailRportDataList(tReportTemplate, excelMap, reportResultDataList, tExamReportList); getReportFile(deleteStrList, fileNameList, tReportTemplate, reportResultDataList, tExamReportList); } - private void getReportFile(List<String> deleteStrList, List<String> fileNameList, TReportTemplate tReportTemplate, List<ReportResultData> reportResultDataList, List<TExamReport> tExamReportList) { Map<String, Object> textMap = new HashMap<>(); String path = itReportTemplateService.selectTReportTemplateFilePath(tReportTemplate); for (int i = 0; i < tExamReportList.size(); i++) { setTextPicture(tExamReportList.get(i), reportResultDataList.get(i), deleteStrList, LangTypeEnum.codeOf(tReportTemplate.getLangType()), textMap); - // 鐢熸垚鎶ュ憡鏂囦欢锛岃繖涓槸鍙傝�冭缁嗙増 - // String fileName = "/2020/04/13/7e57e1cb61e24c7cfc894fa55bf385d5.docx"; + + WordUtil wordUtil = new WordUtil(); String zipFileName = wordUtil.makeReportFile(path, tReportTemplate, textMap, new HashMap<>(), deleteStrList); fileNameList.add(zipFileName); - wordUtil.deleteFileByStr(deleteStrList); textMap.clear(); } } - public void getBaseAndDetailRportDataList(TReportTemplate tReportTemplate, Map<String, Map<String, String>> excelMap, List<ReportResultData> reportResultDataList, List<TExamReport> tExamQueryReportList) { for (Map.Entry<String, Map<String, String>> entry : excelMap.entrySet()) { ReportResultData resultData = null; TExamReport tExamReport = new TExamReport(); - // if else MAQ SAQ CAQ + String reportType = tReportTemplate.getReportType(); - // SAQ鐨勬姤鍛� + reportType = getTypeIfIsSAQ(tReportTemplate, reportType); String langType = tReportTemplate.getLangType(); resultData = getReportResultData(reportType, langType, entry, tExamReport); @@ -311,14 +239,12 @@ reportResultDataList.add(resultData); } } - private String getTypeIfIsSAQ(TReportTemplate tReportTemplate, String reportType) { if (Objects.equals(tReportTemplate.getTemplateType(), TemplateTypeEnum.SAQ.getCode())) { reportType = TemplateTypeEnum.SAQ.getCode(); } return reportType; } - @Override public ReportResultData getReportResultData(String reportType,String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) { ReportResultData resultData = null; @@ -330,19 +256,20 @@ resultData = getSAQReportData(langType, ReportTypeEnum.codeOf(reportType), entry, tExamReport); } else if (Objects.equals(reportType, ReportTypeEnum.JAQ.getCode())) { resultData = getJAQReportData(entry.getValue()); + } else if(Objects.equals(reportType, ReportTypeEnum.MAQV2.getCode())){ + resultData = getMAQ_V2ReportData(langType, ReportTypeEnum.codeOf(reportType), entry, tExamReport); } else { resultData = getMAQReportData(langType, ReportTypeEnum.codeOf(reportType), entry, tExamReport); } return resultData; } - public void dealTaiData(List<TExamReport> tExamReportList, Map<String, Map<String, String>> excelMap) { for (TExamReport tExamReport : tExamReportList) { List<ReportAPIResult> reportAPIResultList = JsonUtil.parseArray(tExamReport.getInterfaceContent(), ReportAPIResult.class); Map dataMap = new HashMap(); try { reportAPIResultList.stream().forEach(reportAPIResult -> { - // 闇�瑕佸皢绗竴娆¤皟鐢ㄦ嘲鍥藉洟闃熷拰绗簩娆¤皟鐢ㄧ殑鍔犺捣鏉� + Map<String, String> data = reportAPIResult.getData(); for (Map.Entry<String, String> entry : data.entrySet()) { try { @@ -360,13 +287,10 @@ } catch (Exception e) { logger.error("id:" + tExamReport.getId() + " memberName:" + tExamReport.getMemberName() + " " + tExamReport.getInterfaceContent()); } - - // 鎶ュ憡棰濆鍊� + setExcelMapextraValue(tExamReport, dataMap); - - // 鍙栦汉鍙e鍙橀噺濉殑閭d釜濮撳悕 + String name = getDemographicName(tExamReport); - if (StringUtils.isNotEmpty(name)) { excelMap.put(name, dataMap); } else { @@ -374,11 +298,11 @@ } } } - public void setExcelMapextraValue(TExamReport tExamReport, Map dataMap) { dataMap.put("password", tExamReport.getTokenId()); dataMap.put("reportId", tExamReport.getId().toString()); dataMap.put("userName", tExamReport.getUserName()); + dataMap.put("memberName", tExamReport.getMemberName()); dataMap.put("reportTemplateId", tExamReport.getReportTemplateId()); dataMap.put("Begin Time", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, tExamReport.getCreateTime())); dataMap.put("End Time", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, tExamReport.getUpdateTime())); @@ -386,12 +310,13 @@ dataMap.put("Test Package", ExamUtil.getLangString(tExamReport.getLangType(), tExamReport.getTestName())); dataMap.put("Test", ExamUtil.getLangString(tExamReport.getLangType(), tExamReport.getProductName())); EntTestMember entTestMember = entTestMemberService.selectEntTestMemberById(tExamReport.getMemberId().longValue()); + if (Objects.isNull(entTestMember)) { + return; + } dataMap.put("reportGenerationDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, entTestMember.getEndTime())); List<ReportAPIResult> interfaceContentList = JsonUtil.parseArray(tExamReport.getInterfaceContent(), ReportAPIResult.class); - - // 閬嶅巻鎶ュ憡閲岄潰鐨勫�兼斁杩涘幓 + setPExtro(dataMap, interfaceContentList); - if (ExamUtil.isListNotEmpty(interfaceContentList)) { dataMap.put("Signal", interfaceContentList.get(0).getSignal()); } @@ -399,34 +324,28 @@ questionReports.stream().forEach(questionReport -> { dataMap.put(questionReport.getPermanentId(), questionReport.getAnswer()); }); - - // 鍙戦偖浠剁殑閭d釜鍚嶅瓧 - // 鍙栦汉鍙e鍙橀噺濉殑閭d釜濮撳悕 + + String name = getDemographicName(tExamReport); if (StringUtils.isNotEmpty(name)) { dataMap.put("sendEmailFileName", name.replaceAll(" ", "_")); } else { dataMap.put("sendEmailFileName", tExamReport.getMemberName().replaceAll(" ", "_")); } - - // 娴嬭瘯浜哄憳閭 + dataMap.put("testEmail", tExamReport.getMemberEmail()); - - // 娴嬭瘯寮�濮嬪拰缁撴潫鏃堕棿 + dataMap.put("beginTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, tExamReport.getCreateTime())); dataMap.put("endTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, entTestMember.getEndTime())); - RelatedParty relatedParty = memberService.queryProdidByToken(tExamReport.getTokenId()); - - // 鏁板瓧琛ㄥご閭i噷鐢� + dataMap.put("Phone", relatedParty.getMemberPhone()); dataMap.put("Department", relatedParty.getMemberDept()); dataMap.put("AccessCode", tExamReport.getTokenId()); dataMap.put("Position", relatedParty.getPosition()); dataMap.put("Occupation Category", relatedParty.getProfessionalCategory()); dataMap.put("Superior Position", relatedParty.getSuperiorPosition()); - - // 鎶妌ull寮勬帀 + Set dataKeySet = dataMap.keySet(); for (Object dataKey : dataKeySet) { if (Objects.isNull(dataMap.get(dataKey))) { @@ -434,7 +353,6 @@ } } } - private void setPExtro(Map dataMap, List<ReportAPIResult> interfaceContentList) { if (CollUtil.isEmpty(interfaceContentList)) { return; @@ -450,7 +368,6 @@ } } } - @Override public String getDemographicName(TExamReport tExamReport) { EntDemographyInfo entDemographyInfo = new EntDemographyInfo(); @@ -459,25 +376,34 @@ if (ExamUtil.isListEmpty(entDemographyInfos)) { return ""; } - // 浜哄彛瀛︾殑key + Map<String, String> entDemographyMap = entDemographyInfos.stream().collect( Collectors.toMap(EntDemographyInfo::getParamId, EntDemographyInfo::getParamValue)); - - //浼佷笟鐨勯偅涓弬鏁� + String paramIds = entDemographyInfos.stream().map(it -> { return it.getParamId(); }).collect(Collectors.joining(",")); - List<EntDemographyParam> entDemographyParams = entDemographyParamService.selectEntDemographyParamListByParamIn(paramIds); for (EntDemographyParam entDemographyParam : entDemographyParams) { if (Objects.equals(entDemographyParam.getParamCode(), "name")) { return entDemographyMap.get(entDemographyParam.getParamId().toString()); } } - return ""; } - + public ReportResultData getMAQ_V2ReportData(String langType, ReportTypeEnum reportTypeEnum, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) { + MAQReport_V2 report = new MAQReport_V2(); + report.setQuestionnaireTaker(entry.getValue().get("memberName")); + report.setQuestionnaireID(entry.getValue().get("password")); + report.setReportGenerationDate(entry.getValue().get("reportGenerationDate")); + report.setQuestionnaireEmail(entry.getValue().get("testEmail")); + report.setUserName(entry.getValue().get("userName")); + report.setQuestionnaireStartTime(entry.getValue().get("beginTime")); + report.setQuestionnaireEndTime(entry.getValue().get("endTime")); + tExamReport.setId(Long.valueOf(entry.getValue().get("reportId"))); + ReportResultData resultData = report.getTemplateParameters(entry.getValue(), reportTypeEnum, LangTypeEnum.codeOf(langType)); + return resultData; + } public ReportResultData getMAQReportData(String langType, ReportTypeEnum reportTypeEnum, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) { MAQReport report = new MAQReport(); report.setQuestionnaireTaker(entry.getKey()); @@ -487,13 +413,11 @@ ReportResultData resultData = report.getTemplateParameters(entry.getValue(), reportTypeEnum, LangTypeEnum.codeOf(langType)); return resultData; } - public ReportResultData getJAQReportData(Map textMap) { ReportResultData reportResultData = new ReportResultData(); reportResultData.setTextMap(textMap); return reportResultData; } - public ReportResultData getSAQReportData(String langType, ReportTypeEnum reportTypeEnum, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) { SAQReport report = new SAQReport(); report.setQuestionnaireTaker(entry.getKey()); @@ -503,7 +427,6 @@ ReportResultData resultData = report.getTemplateParameters(entry.getValue(), reportTypeEnum, LangTypeEnum.codeOf(langType)); return resultData; } - public ReportResultData getCAQReportData(String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) { ReportResultData resultData = null; CAQReport report = new CAQReport(); @@ -516,7 +439,6 @@ resultData.setTextMap(templateParameterMap); return resultData; } - public ReportResultData getRuilinReportData(String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) { ReportResultData resultData; RuilinMAQReport report = new RuilinMAQReport(); @@ -531,13 +453,11 @@ resultData.setTextMap(templateParameterMap); return resultData; } - private void setIconPicture(ReportResultData reportResultData, Map<String, Object> textMap) { Map<String, String> iconMap = reportResultData.getIconMap(); if (Objects.isNull(iconMap) || iconMap.isEmpty()) { return; } - for (Map.Entry<String, String> entry : iconMap.entrySet()) { WordParam wordParam = new WordParam(); wordParam.setContent(EssConfig.getUploadPath() + entry.getValue()); @@ -545,108 +465,93 @@ textMap.put(entry.getKey(), wordParam); } } - public void setTextMap(TExamReport tExamReport, ReportResultData reportResultData, Map<String, Object> textMap) { textMap.putAll(reportResultData.getTextMap()); textMap.put("reportId", tExamReport.getId().toString()); } - private void setWaterDropPicture(ReportResultData reportResultData, List<String> deleteStrList, Map<String, Object> textMap, TExamReport tExamReport) { - // 绗簩涓浘鐗� + if (Objects.isNull(reportResultData.getImageMap())) { return; } - Map<String, String> pictureMap = reportResultData.getImageMap(); -// // begin 璋冭瘯鐨勪复鏃朵唬鐮� -// pictureMap.put("Flexibility_1_waterDrops", "100"); -// pictureMap.put("Creativity_2_waterDrops", "0"); -// pictureMap.put("ResponseFidelityDiagnosis_waterDrops1", "100"); -// pictureMap.put("ResponseFidelityDiagnosis_waterDrops2", "0"); -// System.out.println("--ResponseFidelityDiagnosis_waterDrops1--" + pictureMap.get("ResponseFidelityDiagnosis_waterDrops1")); -// // end 璋冭瘯鐨勪复鏃朵唬鐮� + + + + + + for (Map.Entry<String, String> entry : pictureMap.entrySet()) { - // setWaterDrop(textMap, entry, deleteStrList); - setWaterDropCreatePic(textMap, entry, deleteStrList, tExamReport.getId().toString()); // 鐢熸垚鍥剧墖鐨勬柟寮� + + setWaterDropCreatePic(textMap, entry, deleteStrList, tExamReport.getId().toString()); } } - - // 璁剧疆姘存淮 + private void setWaterDrop(Map<String, Object> textMap, Map.Entry<String, String> entry, List<String> deleteStrList) { - String[] strValue = entry.getValue().toString().split("\\."); BufferedImage bufferedImage = saveNumberPicture(strValue[0]); - - // 寰楀埌鍥剧墖鍦板潃 + String path = getUploadPicturePath(entry.getKey()+ "_number.png"); - try { File file = new File(path); - ImageIO.write(bufferedImage, "png", file);//鍐欏叆鏂囦欢 + ImageIO.write(bufferedImage, "png", file); } catch (IOException e) { e.printStackTrace(); } - deleteStrList.add(path); double retreat = 465; - - // double posistionValue = Double.valueOf(entry.getValue()) * 5 - retreat; - // 姘存淮鐨勬暟瀛楀浘鐗� + + double posistionValue = (Double.valueOf(entry.getValue()) / 100) * retreat; double offsetNumX = -3; double offsetNumY = 2; WordParam wordParamWaterDorpNumber = new WordParam(posistionValue > 0 ? posistionValue + offsetNumX : offsetNumX, offsetNumY, 20, 20, path); wordParamWaterDorpNumber.setTopPosition(1); textMap.put(entry.getKey()+ "_number", wordParamWaterDorpNumber); - WordParam wordParam = new WordParam(); wordParam.setX(posistionValue > 0 ? posistionValue : 0); - String[] watherDropPictrues = entry.getKey().split("_"); - - // 涓嶅悓棰滆壊鐨勬按婊� + wordParam.setContent(WordUtil.getTemplatePicture(ExamUtil.getWaterDropPictureMap(watherDropPictrues[0]))); - - // 姘存淮鏀惧ぇ涓�鍊� + wordParam.setPicWidth(15); wordParam.setPicHeight(25); textMap.put(entry.getKey(), wordParam); } - - // 璁剧疆姘存淮 + private void setWaterDropCreatePic(Map<String, Object> textMap, Map.Entry<String, String> entry, List<String> deleteStrList, String id) { - String[] strValue = entry.getValue().toString().split("\\."); String key = entry.getKey(); - String[] waterDropPicture = key.split("_"); - - // 鍙栧墠缂�鎴栬�呭叏鍚� + String waterDropName =StringUtils.isNotEmpty(ExamUtil.getWaterDropPictureMap(waterDropPicture[0])) ? ExamUtil.getWaterDropPictureMap(waterDropPicture[0]) : ExamUtil.getWaterDropPictureMap(key); - + if(waterDropPicture[1].equals("V2")){ + waterDropName = ExamUtil.getWaterDropPictureMap("ResponseFidelityDiagnosis_V2"); + } if (StringUtils.isEmpty(waterDropName)) { return; } - WordParam wordParam = new WordParam(); - Float floatValue = Float.valueOf(strValue[0]); - String suffixDate = DateTimeUtil.dateMillisecondFormat(new Date()); - ImageUtil.creteWaterDropPic(key, waterDropName, floatValue, id, suffixDate); - - // 鍥犱负鏄悓涓�涓洰褰曪紝鐢ㄥ悗缂�鍖轰竴涓嬪浘鐗� + wordParam.setContent(EssConfig.getProfile() + "/" + key + "_" + id + "_" + floatValue.toString() + "_" + suffixDate + ".png"); - deleteStrList.add(EssConfig.getProfile() + "/" + key + "_" + id + "_" + floatValue.toString() + "_" + suffixDate + ".png"); - - // 姘存淮鏀惧ぇ涓�鍊� + if (StringUtils.equals(key.split("_")[0], "ResponseFidelityDiagnosis")) { - wordParam.setPicWidth(446); - wordParam.setPicHeight(33); // 鐜板湪鐢�500/888 鍏跺疄鏄�445/888 - } else if (StringUtils.equals(key.split("_")[0], "RuilinTestResultValidityDiagnosisContext")) { + if(StringUtils.equals(key.split("_")[1], "V2")){ + wordParam.setPicWidth(210); + wordParam.setPicHeight(50); + }else{ + wordParam.setPicWidth(446); + wordParam.setPicHeight(33); + } + } else if (StringUtils.equals(key.split("_")[0], "ResponseFidelityDiagnosisV2")){ + wordParam.setPicWidth(210); + wordParam.setPicHeight(33); + }else if (StringUtils.equals(key.split("_")[0], "RuilinTestResultValidityDiagnosisContext")) { wordParam.setPicWidth(450); wordParam.setPicHeight(35); wordParam.setX(-13.75); @@ -655,33 +560,25 @@ wordParam.setPicHeight(35); wordParam.setX(-13.75); } - textMap.put(entry.getKey(), wordParam); - } - private BufferedImage saveNumberPicture(String textNumber) { int width = 200; int heigth = 150; - Font font = new Font("", Font.BOLD, 60);//瀛椾綋 + Font font = new Font("", Font.BOLD, 60); return ImageUtil.waterMarkByText(width, heigth, textNumber, Color.black, font, null, 0.8f); } - - // 缁熶竴璺緞 + private String getUploadPicturePath(String name) { return EssConfig.getUploadPath() + name; } - - @Override public boolean getBaseAndComleteSendMailFile(List<TExamReport> tExamReportList, TExamReport tExamReportResult, List<String> fileNameResult, List<String> deleteStrList, TReportTemplate tReportTemplate) { try { List<String> fileNameList = new ArrayList<>(); -// setExportBaseOrDetailReportData(tExamReportList, deleteStrList, fileNameList, path, tReportTemplate, tReportTemplate.getLangType(), reportType, reportTypeEnumMap.get(tReportTemplate.getTemplateType())); setExportBaseOrDetailReportData(tExamReportList, deleteStrList, fileNameList, tReportTemplate); - for (String fileNameTemp : fileNameList) { if (StringUtils.isEmpty(fileNameTemp)) { continue; @@ -689,34 +586,29 @@ fileNameResult.add(EssConfig.getProfile() + "/" + fileNameTemp); } } catch (Exception e) { + log.error("鍙戠敓寮傚父:{}", e); return false; } - return true; } - - // 鐢熸垚鎶ュ憡鐨勫叆鍙� + @Override public TExamReport getReportFromTemplate(TExamReport tExamReport, List<String> fileNameResult, List<String> deleteStrList) { List<TExamReport> tExamReportList = selectTExamReportList(tExamReport); TExamReport tExamReportResult = tExamReportList.get(0); - - // 瓒呮椂 + if (Objects.isNull(tExamReportResult.getFinish()) || tExamReportResult.getFinish() == 0) { return null; } - - // 瀵煎嚭鍩虹鐗堟湰 + List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(tExamReportResult.getReportTemplateId()); for (TReportTemplate tReportTemplate : tReportTemplateList) { - // 鍒ゆ柇涓嶆槸璇█鐨勬ā鐗堜笉瀵煎嚭锛屽悗鏉ュ張璇磋瀵煎嚭 -// if (!Objects.equals(tReportTemplate.getLangType(), tExamReportResult.getLangType())) { -// continue; -// } + + + getBaseAndComleteSendMailFile(tExamReportList, tExamReportResult, fileNameResult, deleteStrList, tReportTemplate); } return tExamReportResult; } - } diff --git a/src/main/java/com/ots/project/exam/service/impl/TQuestionServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TQuestionServiceImpl.java index 90f33c8..8aab9d8 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TQuestionServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TQuestionServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ots.common.enums.QuestionTypeEnum; @@ -29,89 +28,54 @@ import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; - import static com.ots.common.enums.ExamPaperQuestion.permanentIdDuplicate; -/** - * 棰樼洰鍒楄〃Service涓氬姟灞傚鐞� - * - * @author Shawn - * @date 2019-11-20 - */ @Service("examQuestion") public class TQuestionServiceImpl implements ITQuestionService { @Autowired private TQuestionMapper tQuestionMapper; - @Autowired private TTextContentMapper tTextContentMapper; - @Autowired private ITTextContentService textContentService; - @Autowired private IDictDataService dictDataService; - @Autowired private DictService dictService; - protected final static ModelMapper modelMapper = ModelMapperSingle.Instance(); - - /** - * 鏌ヨ棰樼洰鍒楄〃 - * - * @param id 棰樼洰鍒楄〃ID - * @return 棰樼洰鍒楄〃 - */ + @Override public TQuestion selectTQuestionById(Long id) { return tQuestionMapper.selectTQuestionById(id); } - - /** - * 鏌ヨ棰樼洰鍒楄〃 - * - * @param id 棰樼洰鍒楄〃ID - * @return 棰樼洰鍒楄〃 - */ + @Override public List<TQuestion> selectTQuestionByIds(List<Long> ids) { return tQuestionMapper.selectTQuestionByIds(ids); } - @Override public List<TQuestion> selectTQuestionByPermanentIds(List<String> permanentIds) { return tQuestionMapper.selectTQuestionByPermanentIds(permanentIds); } - - /** - * 鏌ヨ棰樼洰鍒楄〃鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 棰樼洰鍒楄〃 - */ + @Override public List<TQuestion> selectTQuestionList(TQuestion tQuestion) { List<TQuestion> tQuestionList = tQuestionMapper.selectTQuestionList(tQuestion); List<TQuestion> tQuestionResultList = new ArrayList<>(); - // 鍥介檯鍖栫殑閫夋嫨鐨勫璇█绫诲瀷 + String localLangType = dictService.getLangType(LocaleContextHolder.getLocale().toString()); for (TQuestion question : tQuestionList) { String content = question.getContent(); QuestionObject questionObject = JSONObject.parseObject(content, QuestionObject.class); - setChioceAndSelectInput(question, questionObject); - question.setTitle(questionObject.getTitleContent()); - - // 閬嶅巻鍑哄悇绉嶈瑷� + Map<String, String> titleMap = JsonUtil.toJsonObject(question.getTitle(), HashMap.class); if (Objects.isNull(titleMap)) { TQuestion questionResult = new TQuestion(); @@ -119,26 +83,26 @@ questionResult.setLangType("Chinese"); tQuestionResultList.add(questionResult); } else { - // 澶栧眰 + if (Objects.isNull(tQuestion.getUuid())) { - // 濡傛灉鏄畨鏉′欢鏌ヨ + if (StringUtils.isNotEmpty(tQuestion.getLangType())) { - // 鏈夎繖绉嶈瑷� + if (StringUtils.isNotEmpty(titleMap.get(tQuestion.getLangType()))) { - // 鏈夊厛灞曠ず鍥介檯鍖� + if (StringUtils.isNotEmpty(titleMap.get(localLangType))) { addQuestionResult(tQuestionResultList, question, localLangType, titleMap.get(localLangType)); } else { addQuestionResult(tQuestionResultList, question, tQuestion.getLangType(), titleMap.get(tQuestion.getLangType())); } } - } else if (StringUtils.isNotEmpty(titleMap.get(localLangType))) { // 涓嶆槸瀹夋潯浠舵煡璇� + } else if (StringUtils.isNotEmpty(titleMap.get(localLangType))) { addQuestionResult(tQuestionResultList, question, localLangType, titleMap.get(localLangType)); - } else { // 鏃犺濡備綍閮借闅忎究灞曠ず涓�绉嶈瑷� + } else { addQuestionResult(tQuestionResultList, question, titleMap.keySet().stream().findFirst().get(), titleMap.values().stream().findFirst().get()); } } else { - // 澶氳瑷�鐨勯偅灞� + if (StringUtils.isNotEmpty(tQuestion.getLangType())) { addQuestionResult(tQuestionResultList, question, tQuestion.getLangType(), titleMap.get(tQuestion.getLangType())); } else { @@ -149,64 +113,47 @@ } } } - tQuestionList.clear(); tQuestionList.addAll(tQuestionResultList); return tQuestionList; } - private void setChioceAndSelectInput(TQuestion question, QuestionObject questionObject) { if (ExamUtil.isListEmpty(questionObject.getQuestionItemObjects())) { return; } - - //閫夐」A銆丅銆丆銆丏 + List<String> choiceInputList = questionObject.getQuestionItemObjects().stream().map(i -> { return i.getPrefix(); }).collect(Collectors.toList()); question.setChoiceInput(choiceInputList); - - //閫夐」鍐呭 + List<String> stemList = questionObject.getQuestionItemObjects().stream().map(i -> { return ExamUtil.getLangString(question.getLangType(), i.getContent()); }).collect(Collectors.toList()); question.setSelectInput(stemList); } - private void addQuestionResult(List<TQuestion> tQuestionResultList, TQuestion question, String key, String value) { TQuestion questionResult = new TQuestion(); BeanUtils.copyProperties(question, questionResult); - - // 璇█绫诲瀷 + questionResult.setLangType(key); - - // 璇█绫诲瀷瀵瑰簲鐨勯鐩� + questionResult.setTitle(value); - - // 閫氳繃闂嵎鐨勫ぇ棰樻病鏈夐�夐」 + if (ExamUtil.isListNotEmpty(question.getChoiceInput())) { setLanSelectInput(question, key); } - tQuestionResultList.add(questionResult); } - private void setLanSelectInput(TQuestion question, String key) { - // 璇█瀵瑰簲鐨勯�夐」 + List<String> selectInputList = question.getSelectInput(); - - // 鏇存柊 + for (String selectInput : selectInputList) { selectInput = ExamUtil.getStringByLang(key, selectInput);; } } - - /** - * 褰撳湪product 鐨刟dd_question.html鐨勬椂鍊欒皟鐢� - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 棰樼洰鍒楄〃 - */ + @Override public List<TQuestion> selectTQuestionsForProductAddQuestion(TQuestion tQuestion) { List<TQuestion> tQuestionList = tQuestionMapper.selectTQuestionsForProductAddQuestion(tQuestion); @@ -215,25 +162,17 @@ QuestionObject questionObject = JSONObject.parseObject(content, QuestionObject.class); question.setLangType(tQuestion.getLangType()); setChioceAndSelectInput(question, questionObject); - // 澶氳瑷� + Map<String, String> titleMap = JsonUtil.toJsonObject(questionObject.getTitleContent(), HashMap.class); - if (Objects.isNull(titleMap)) { question.setTitle(questionObject.getTitleContent()); } else { question.setTitle(ExamUtil.getLangString(tQuestion.getLangType(), questionObject.getTitleContent())); } } - return tQuestionList; } - - /** - * 鏂板棰樼洰鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 缁撴灉 - */ + @Override @Transactional public int insertTQuestion(TQuestion tQuestion) { @@ -243,31 +182,26 @@ return permanentIdDuplicate.ordinal(); } } - //鎷艰t_text_content锛宼Question鍙傛暟鐨勫睘鎬т篃鏄細鍦ㄦ鏂规硶鍐呴儴淇敼 + TTextContent textContent = getQuestionTextContent(tQuestion); - - //鍏ュ簱t_text_content + tTextContentMapper.insertTTextContent(textContent); - - //鎶妕_text_content鐨刬d璧嬪�肩粰t_question鐨刬nfo_text_content_id + tQuestion.setInfoTextContentId(textContent.getId()); return tQuestionMapper.insertTQuestion(tQuestion); } - private TTextContent getQuestionTextContent(TQuestion tQuestion) { - //bgin 绛旀閫夐」灏佽,鍘熷洜鏄柟渚垮悗闈㈣浆鎹㈡垚json + List<QuestionEditItem> questionEditItems = new ArrayList<QuestionEditItem>(); List<QuestionEditItem> itemObjects = null; - - // 澶ч鐩笉闇�瑕侀�夐」 + if (ExamUtil.isListNotEmpty(tQuestion.getChoiceInput())) { itemObjects = getQuestionEditItems(tQuestion, questionEditItems); } - QuestionObject questionObject = new QuestionObject(); questionObject.setQuestionItemObjects(itemObjects); questionObject.setAnalyze(tQuestion.getAnalyze()); - // 澶氳瑷� + if (StringUtils.isNotEmpty(tQuestion.getMultilingual())) { questionObject.setTitleContent(tQuestion.getTitle()); } else { @@ -278,26 +212,24 @@ TTextContent textContent = new TTextContent(); textContent.setCreateTime(DateUtils.getNowDate()); textContent.setContent(JSON.toJSONString(questionObject)); - //end 绛旀閫夐」灏佽,鍘熷洜鏄柟渚垮悗闈㈣浆鎹㈡垚json + return textContent; } - private List<QuestionEditItem> getQuestionEditItems(TQuestion tQuestion, List<QuestionEditItem> questionEditItems) { for (int i = 0; i < tQuestion.getChoiceInput().size(); i++) { QuestionEditItem questionEditItem = new QuestionEditItem(); questionEditItem.setPrefix(tQuestion.getChoiceInput().get(i)); - // 澶氳瑷� - if (StringUtils.isNotEmpty(tQuestion.getMultilingual())) { // 鎵归噺瀵煎叆鐨勬椂鍊欏凡缁忔嫾濂藉悇绉嶈瑷� + + if (StringUtils.isNotEmpty(tQuestion.getMultilingual())) { questionEditItem.setContent(tQuestion.getSelectInput().get(i)); } else { questionEditItem.setContent(ExamUtil.getStringMapJson(tQuestion.getLangType(), tQuestion.getSelectInput().get(i), new HashMap<>())); } - // 棰樼洰鐨勫垎鏁� - questionEditItem.setScore(Objects.isNull(tQuestion.getScore()) ? 0 : tQuestion.getScore().intValue());//鐩墠鐢ㄤ笉涓婅繖涓垎鏁帮紝鍏堣涓�0 + + questionEditItem.setScore(Objects.isNull(tQuestion.getScore()) ? 0 : tQuestion.getScore().intValue()); questionEditItems.add(questionEditItem); } - - //閬嶅巻姣忎竴涓�夐」 + return questionEditItems.stream().map(i -> { QuestionEditItem item = modelMapper.map(i, QuestionEditItem.class); @@ -306,96 +238,72 @@ } ).collect(Collectors.toList()); } - - /** - * 淇敼棰樼洰鍒楄〃 - * - * @param tQuestion 棰樼洰鍒楄〃 - * @return 缁撴灉 - */ + @Override public int updateTQuestion(TQuestion tQuestion) { - - // 澶氳瑷�鐨勬洿鏂� + if (tQuestion.getUuid() != null) { TQuestion questionOld = tQuestionMapper.selectTQuestionById(tQuestion.getId()); - // 鍚堝苟绗簩涓緭鍏ユ閫夐」鐨勫唴瀹� + updateQuestionLangContent(tQuestion, questionOld); return tQuestionMapper.updateTQuestion(tQuestion); } - - - // 鎸夌収permanateid 鏇存柊璇█ + List<TQuestion> questionOldlist = tQuestionMapper.selectTQuestionByPermanentId(tQuestion.getPermanentId()); if (ExamUtil.isListNotEmpty(questionOldlist)) { - // 鍚堝苟绗簩涓緭鍏ユ閫夐」鐨勫唴瀹� + for (TQuestion tQuestionUpdate : questionOldlist) { - // 鍏煎鏃х増鏈紝 鏃х増鏈病鏈塼emplateid锛屾柊鐗堟湰鏈� + if (StringUtils.isNotEmpty(tQuestion.getTemplate()) && StringUtils.isEmpty(tQuestionUpdate.getTemplate())) { tQuestionUpdate.setTemplate(tQuestion.getTemplate()); } updateQuestionLangContent(tQuestion, tQuestionUpdate); } - return 1; } - TQuestion questionOld = null; - - //淇敼鎺夋棫鐨勪骇鍝佸寘 + if (!Objects.isNull(tQuestion.getId())) { - // 鍦ㄩ鐩垪琛ㄤ慨鏀圭殑鏃跺�欎細杩涘叆姝ら�昏緫锛屽叾浠栭�昏緫鏄壒閲忓鍏� + questionOld = tQuestionMapper.selectTQuestionById(tQuestion.getId()); questionOld.setDeleted(2L); questionOld.setUpdateTime(DateUtils.getNowDate()); tQuestionMapper.updateTQuestion(questionOld); } - - // 鏇存敼棰樼洰鐨勫唴瀹规暟鎹� + setInsertQuestion(tQuestion); - - //鎻掑叆鏂扮殑t_question + return tQuestionMapper.insertTQuestion(tQuestion); } - private void setInsertQuestion(TQuestion tQuestion) { - //鏂扮殑question鐢ㄦ彃鍏ユ柊璁板綍鐨勬柟寮� + tQuestion.setUpdateTime(DateUtils.getNowDate()); - - //鎷艰t_text_content锛宼Question鍙傛暟鐨勫睘鎬т篃鏄細鍦ㄦ鏂规硶鍐呴儴淇敼 + TTextContent textContent = getQuestionTextContent(tQuestion); textContent.setId(null); - - //鍏ュ簱t_text_content + tTextContentMapper.insertTTextContent(textContent); - - //鎶妕_text_content鐨刬d璧嬪�肩粰t_question鐨刬nfo_text_content_id + tQuestion.setInfoTextContentId(textContent.getId()); - tQuestion.setDeleted(1L); - - // 璁板綍浠庨偅涓鐩慨鏀硅繃鏉ョ殑id + tQuestion.setLastId(tQuestion.getId()); } - - // 澶氳瑷�鏇存柊棰樼洰鐨勫唴瀹癸紝淇敼鍗曚釜鐨勬椂鍊欎娇鐢� + private int updateQuestionContent(TQuestion tQuestion, TQuestion questionOld) { if (Objects.isNull(tQuestion.getId()) || tQuestion.getId() == 0) { tQuestion.setId(questionOld.getId()); } - // 棰樼洰鐨勪粠content + QuestionObject questionObject = JSONObject.parseObject(questionOld.getContent(), QuestionObject.class); - - //鏂扮殑question鐢ㄦ彃鍏ユ柊璁板綍鐨勬柟寮� + tQuestion.setUpdateTime(DateUtils.getNowDate()); - - // 鏈�澶嶆潅锛屽悎骞跺悇璇█鐗堟湰 - // 棰樼洰鍚堝苟 + + Map<String, String> titleMap = JsonUtil.toJsonObject(questionObject.getTitleContent(), HashMap.class); titleMap.put(tQuestion.getLangType(), tQuestion.getTitle()); questionObject.setTitleContent(JsonUtil.toJsonStr(titleMap)); - - // 閫夐」鐨勫唴瀹瑰悎骞� + List<String> selectInput = tQuestion.getSelectInput(); int selectInputNum = 0; List<QuestionEditItem> questionItemObjects = questionObject.getQuestionItemObjects(); @@ -404,70 +312,57 @@ contentMap.put(tQuestion.getLangType(), selectInput.get(selectInputNum++)); questionItemObject.setContent(JsonUtil.toJsonStr(contentMap)); } - TTextContent questionTextContent = tTextContentMapper.selectTTextContentById(questionOld.getInfoTextContentId()); questionTextContent.setUpdateTime(DateUtils.getNowDate()); questionTextContent.setContent(JsonUtil.toJsonStr(questionObject)); - - //鍏ュ簱t_text_content + return tTextContentMapper.updateTTextContent(questionTextContent); } - - // 瀵煎叆鐨勬椂鍊欎娇鐢� + private int updateQuestionLangContent(TQuestion tQuestion, TQuestion questionOld) { if (Objects.isNull(tQuestion.getId()) || tQuestion.getId() == 0) { tQuestion.setId(questionOld.getId()); } - // 棰樼洰鐨勪粠content + QuestionObject questionObject = JSONObject.parseObject(questionOld.getContent(), QuestionObject.class); - - //鏂扮殑question鐢ㄦ彃鍏ユ柊璁板綍鐨勬柟寮� + tQuestion.setUpdateTime(DateUtils.getNowDate()); - - // 鏈�澶嶆潅锛屽悎骞跺悇璇█鐗堟湰 - // 棰樼洰鍚堝苟锛屽鏋滄槸鎵归噺瀵煎叆鐨勮瘽娌℃湁uuid + + String langType = tQuestion.getLangType(); if (Objects.isNull(tQuestion.getUuid())) { langType = "ALL"; } questionObject.setTitleContent(ExamUtil.getStringMapJson(langType, tQuestion.getTitle(), questionObject.getTitleContent())); - - // 閫夐」鐨勫唴瀹瑰悎骞� + updateQuestionEditItem(tQuestion, questionObject); - TTextContent questionTextContent = tTextContentMapper.selectTTextContentById(questionOld.getInfoTextContentId()); questionTextContent.setUpdateTime(DateUtils.getNowDate()); questionTextContent.setContent(JsonUtil.toJsonStr(questionObject)); - - // 鏇存柊涓�涓嬩骇鍝佸寘鐨勫唴瀹� - - //鍏ュ簱t_text_content + + tQuestionMapper.updateTQuestion(questionOld); return tTextContentMapper.updateTTextContent(questionTextContent); } - private void updateQuestionEditItem(TQuestion tQuestion, QuestionObject questionObject) { - // 濡傛灉鏈夊ぇ棰橈紝灏变笉闇�瑕� + if (ExamUtil.isListEmpty(tQuestion.getChoiceInput())) { return; } List<String> selectInput = tQuestion.getSelectInput(); int selectInputNum = 0; List<QuestionEditItem> questionItemObjects = questionObject.getQuestionItemObjects(); - - // 棰樼洰鍚堝苟锛屽鏋滄槸鎵归噺瀵煎叆鐨勮瘽娌℃湁uuid + String langType = tQuestion.getLangType(); if (Objects.isNull(tQuestion.getUuid())) { langType = "ALL"; } - for (QuestionEditItem questionItemObject : questionItemObjects) { if (selectInputNum < selectInput.size()) { questionItemObject.setContent(ExamUtil.getStringMapJson(langType, selectInput.get(selectInputNum++), questionItemObject.getContent())); } } - - // 娣诲姞鏂扮殑閫夐」 + if (selectInput.size() > questionItemObjects.size()) { QuestionEditItem questionItemObject = new QuestionEditItem(); String prefix = tQuestion.getChoiceInput().get(tQuestion.getChoiceInput().size() - 1); @@ -476,31 +371,25 @@ questionItemObject.setScore(0); questionItemObjects.add(questionItemObject); } - - // 鍒犻櫎閫夐」鐨勯�夐」 + if (selectInput.size() < questionItemObjects.size()) { for (int i = questionItemObjects.size() - 1; i > selectInput.size() - 1; i--) { questionItemObjects.remove(i); } } } - - - // 澶氳瑷�鏇存柊棰樼洰鐨勫唴瀹� + public int deleteQuestionContent(TQuestion tQuestion) { TQuestion questionOld = tQuestionMapper.selectTQuestionById(tQuestion.getId()); - // 鍘熸潵棰樼洰鐨刢ontent + QuestionObject questionObject = JSONObject.parseObject(questionOld.getContent(), QuestionObject.class); - - // 鏂扮殑question鐢ㄦ彃鍏ユ柊璁板綍鐨勬柟寮� + tQuestion.setUpdateTime(DateUtils.getNowDate()); - - // 鍒犻櫎鏌愪竴绉嶈瑷� + Map<String, String> titleMap = JsonUtil.toJsonObject(questionObject.getTitleContent(), HashMap.class); titleMap.remove(tQuestion.getLangType()); questionObject.setTitleContent(JsonUtil.toJsonStr(titleMap)); - - // 閫夐」鐨勫唴瀹瑰悎骞� + List<QuestionEditItem> questionItemObjects = questionObject.getQuestionItemObjects(); if (ExamUtil.isListNotEmpty(questionItemObjects)) { for (QuestionEditItem questionItemObject : questionItemObjects) { @@ -509,45 +398,29 @@ questionItemObject.setContent(JsonUtil.toJsonStr(contentMap)); } } - TTextContent questionTextContent = tTextContentMapper.selectTTextContentById(questionOld.getInfoTextContentId()); questionTextContent.setUpdateTime(DateUtils.getNowDate()); questionTextContent.setContent(JsonUtil.toJsonStr(questionObject)); - - //鍏ュ簱t_text_content + return tTextContentMapper.updateTTextContent(questionTextContent); } - - /** - * 鍒犻櫎棰樼洰鍒楄〃瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteTQuestionByIds(String ids) { return tQuestionMapper.updateQuetionByDelete(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎棰樼洰鍒楄〃淇℃伅 - * - * @param id 棰樼洰鍒楄〃ID - * @return 缁撴灉 - */ + public int deleteTQuestionById(Long id) { return tQuestionMapper.deleteTQuestionById(id); } - @Override public QuestionEditRequestVM getQuestionEditRequestVM(TQuestion question) { - //棰樼洰鏄犲皠 + TTextContent questionInfoTextContent = textContentService.selectTTextContentById(question.getInfoTextContentId().longValue()); QuestionObject questionObject = JsonUtil.toJsonObject(questionInfoTextContent.getContent(), QuestionObject.class); QuestionEditRequestVM questionEditRequestVM = modelMapper.map(question, QuestionEditRequestVM.class); questionEditRequestVM.setTitle(questionObject.getTitleContent()); - - //绛旀 + QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.fromCode(question.getQuestionType().intValue()); switch (questionTypeEnum) { case SingleChoice: @@ -569,9 +442,7 @@ } questionEditRequestVM.setScore(ExamUtil.scoreToVM(0)); questionEditRequestVM.setAnalyze(questionObject.getAnalyze()); - - - //棰樼洰椤规槧灏� 濡傛灉閫夐」涓虹┖锛岄偅涔堝氨缁欎竴涓粯璁ゅ�硷紝鍚﹀垯鏅哄姏棰樹細鎶ラ敊 + if (Objects.nonNull(questionObject.getQuestionItemObjects())) { List<QuestionEditItemVM> editItems = questionObject.getQuestionItemObjects().stream().map(o -> { QuestionEditItemVM questionEditItemVM = modelMapper.map(o, QuestionEditItemVM.class); @@ -592,50 +463,42 @@ } return questionEditRequestVM; } - @Override public String insertImportQuestion(List<Map<Integer, String>> excelList) { - // 1銆丣AQ棰樼洰姘镐箙缂栧彿 缁村害 棰樼洰鎬诲垎 棰樼洰 璇█绫诲瀷 姝g‘绛旀 - - // 2銆佸垱寤篵ean + + TQuestion tQuestion = new TQuestion(); - - - // 3銆佸彇鍑洪�夐」 + Map<Integer, String> headerMap = excelList.get(0); List<String> prefixList = new ArrayList<>(); for (int i = 6; i < headerMap.size(); i++) { prefixList.add(headerMap.get(i)); } - - // 4銆佸鍏ョ殑娑堟伅 + StringBuilder successMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder(); - - // 5銆侀亶鍘嗗嚭杈撳叆鐨勯鐩叆搴� + for (int i = 1; i < excelList.size(); i++) { - Map<Integer, String> excelDataMap = excelList.get(i); try { - // JAQ棰樼洰姘镐箙缂栧彿 + tQuestion.setPermanentId(excelDataMap.get(0)); - //缁村害闇�瑕佽浆鎹�,浠e紑鍙� + tQuestion.setSubjectId(Long.valueOf(excelDataMap.get(1))); - // 棰樼洰鎬诲垎 + tQuestion.setScore(Long.valueOf(excelDataMap.get(2))); - // 棰樼洰 + tQuestion.setTitle(excelDataMap.get(3)); - // 璇█绫诲瀷 + tQuestion.setLangType(excelDataMap.get(4)); - // 姝g‘绛旀 + tQuestion.setCorrect(excelDataMap.get(5)); - // 閫夐」 + int prefixNum = 0; tQuestion.setChoiceInput(new ArrayList<>()); - List<String> choiceInput = tQuestion.getChoiceInput(); // A,B,C,D + List<String> choiceInput = tQuestion.getChoiceInput(); tQuestion.setSelectInput(new ArrayList<>()); - - List<String> selectInput = tQuestion.getSelectInput(); // A,B,C,D鐨勫唴瀹� + List<String> selectInput = tQuestion.getSelectInput(); for (int j = 6; j < excelDataMap.size(); j++) { choiceInput.add(prefixList.get(prefixNum++)); selectInput.add(excelDataMap.get(j)); @@ -649,7 +512,6 @@ StringBuilder meg = failureMsg.append(successMsg); return meg.toString(); } - public void setQuestionInfoFromVM(TextContent infoTextContent, QuestionEditRequestVM model) { List<QuestionEditItem> itemObjects = model.getItems().stream().map(i -> { @@ -665,14 +527,11 @@ questionObject.setCorrect(model.getCorrect()); infoTextContent.setContent(JsonUtil.toJsonStr(questionObject)); } - - // 濡傛灉鏈鐩凡缁忔湁浜嗚绉嶈瑷�锛屽氨涓嶈灞曠ず锛宔dit-*.html浣跨敤 + public List<DictData> getType(Long id) { - - // 鏌ヨ瀛楀吀鍏� + List<DictData> dictDataList = dictDataService.selectDictDataByType("lang_type"); - - // 鏌ョ湅宸茬粡瀛樺湪鐨勯鐩� + if (Objects.nonNull(id)) { TQuestion question = selectTQuestionById(id); String content = question.getContent(); @@ -689,9 +548,7 @@ return dictDataList; } } - public List<TQuestion> selectTQuestionByPermanentId(String permanentId) { return tQuestionMapper.selectTQuestionByPermanentId(permanentId); } - } diff --git a/src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java index 5ec5010..2b71524 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.DateUtils; import com.ots.common.utils.StringUtils; @@ -19,42 +18,25 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; - import java.io.IOException; import java.util.*; import java.util.stream.Collectors; -/** - * 鎶ュ憡妯℃澘閰嶇疆Service涓氬姟灞傚鐞� - * - * @author ots - * @date 2020-03-24 - */ @Service public class TReportTemplateServiceImpl implements ITReportTemplateService { @Autowired private TReportTemplateMapper tReportTemplateMapper; - @Autowired private ISysUserExtendService sysUserExtendService; - @Autowired private ISysUserPaperService userPaperService; - @Autowired private ITExamPaperService paperService; - - /** - * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆 - * - * @param id 鎶ュ憡妯℃澘閰嶇疆ID - * @return 鎶ュ憡妯℃澘閰嶇疆 - */ + @Override public TReportTemplate selectTReportTemplateById(Long id) { return tReportTemplateMapper.selectTReportTemplateById(id); } - @Override public String selectTReportTemplateFilePath(TReportTemplate tReportTemplate) { TReportTemplate tReportTemplateResult = tReportTemplateMapper.selectTReportTemplate(tReportTemplate); @@ -63,26 +45,17 @@ } return ""; } - - /** - * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆鍒楄〃 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 鎶ュ憡妯℃澘閰嶇疆 - */ + @Override public List<TReportTemplate> selectTReportTemplateList(TReportTemplate tReportTemplate) { return tReportTemplateMapper.selectTReportTemplateList(tReportTemplate); } - @Override public List<TReportTemplate> getReportTemplates(User user) { return getReportTemplates(user, null); } - @Override public List<TReportTemplate> getReportTemplates(User user, Long prodId) { - if (Objects.nonNull(prodId)) { TExamPaper tExamPaper = paperService.selectTExamPaperById(prodId); String reportTemplateId = tExamPaper.getReportTemplateId(); @@ -92,17 +65,14 @@ item.setReportType(value); return item; }).collect(Collectors.toList()); - - //鍙栫敤鎴锋巿鏉冨拰浜у搧鍖呴厤缃殑浜ら泦 + if (!Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); - //鏌ヨ浜у搧鍖呮巿鏉冨垎閰嶇殑鎶ュ憡妯℃澘 + SysUserPaper sysUserPaper = new SysUserPaper(); sysUserPaper.setUserId(user.getUserId()); sysUserPaper.setProdId(prodId); - List<SysUserPaper> sysUserPapers = userPaperService.selectSysUserPaperList(sysUserPaper); - List<TReportTemplate> templates = new ArrayList<>(); for (SysUserPaper paper : sysUserPapers) { String rid = paper.getReportTemplateId(); @@ -111,7 +81,6 @@ } templates.addAll(selectTReportTemplates(rid)); } - List<Long> collect = ret.stream().map(pp -> pp.getId()).collect(Collectors.toList()); List<TReportTemplate> resultTemplateList = new ArrayList<>(); for (TReportTemplate template : templates) { @@ -125,7 +94,7 @@ ArrayList::new ) ); - //鏍规嵁浼佷笟鐢ㄦ埛閰嶇疆鐨勬敮鎸佽瑷�绫诲瀷杩囨护 + if (Objects.nonNull(sysUserExtend) && Objects.nonNull(sysUserExtend.getLangType())) { List<String> langTypes = Arrays.asList(sysUserExtend.getLangType().split(",")); tReportTemplates = tReportTemplates.stream().filter(f -> langTypes.contains(f.getLangType())).collect(Collectors.toList()); @@ -139,7 +108,6 @@ } return ret; } - if (Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { TReportTemplate template = new TReportTemplate(); List<TReportTemplate> tReportTemplates = tReportTemplateMapper.selectTReportTemplateList(template); @@ -150,14 +118,12 @@ }).collect(Collectors.toList()); return ret; } - - //鏌ヨ浜у搧鍖呮巿鏉冨垎閰嶇殑鎶ュ憡妯℃澘 + SysUserPaper sysUserPaper = new SysUserPaper(); if (!Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { sysUserPaper.setUserId(user.getUserId()); } List<SysUserPaper> sysUserPapers = userPaperService.selectSysUserPaperList(sysUserPaper); - List<TReportTemplate> templates = new ArrayList<>(); for (SysUserPaper paper : sysUserPapers) { String reportTemplateId = paper.getReportTemplateId(); @@ -166,16 +132,15 @@ } templates.addAll(selectTReportTemplates(reportTemplateId)); } + - //瀵硅薄鍘婚噸 -// List<TReportTemplate> tReportTemplates = templates.stream().distinct().collect(Collectors.toList()); List<TReportTemplate> tReportTemplates = templates.stream().collect(Collectors.collectingAndThen (Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(t -> t.getLocation()))), ArrayList::new ) ); - //鏍规嵁浼佷笟鐢ㄦ埛閰嶇疆鐨勬敮鎸佽瑷�绫诲瀷杩囨护 + if (Objects.equals(UserTypeEnum.ENT_USER.getUserType(), user.getUserType())) { SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); if (Objects.nonNull(sysUserExtend) && Objects.nonNull(sysUserExtend.getLangType())) { @@ -188,10 +153,8 @@ item.setReportType(value); return item; }).collect(Collectors.toList()); - return result; } - @Override public List<TReportTemplate> selectTReportTemplates(String ids) { if (Objects.isNull(ids)) { @@ -199,14 +162,7 @@ } return tReportTemplateMapper.selectTReportTemplates(Convert.toStrArray(ids)); } - - - /** - * 鏂板鎶ュ憡妯℃澘閰嶇疆 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 缁撴灉 - */ + @Override public int insertTReportTemplate(TReportTemplate tReportTemplate) { tReportTemplate.setCreateTime(DateUtils.getNowDate()); @@ -221,13 +177,7 @@ } return tReportTemplateMapper.insertTReportTemplate(tReportTemplate); } - - /** - * 淇敼鎶ュ憡妯℃澘閰嶇疆 - * - * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 - * @return 缁撴灉 - */ + @Override public int updateTReportTemplate(TReportTemplate tReportTemplate) { tReportTemplate.setUpdateTime(DateUtils.getNowDate()); @@ -243,24 +193,12 @@ } return tReportTemplateMapper.updateTReportTemplate(tReportTemplate); } - - /** - * 鍒犻櫎鎶ュ憡妯℃澘閰嶇疆瀵硅薄 - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteTReportTemplateByIds(String ids) { return tReportTemplateMapper.deleteTReportTemplateByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎鎶ュ憡妯℃澘閰嶇疆淇℃伅 - * - * @param id 鎶ュ憡妯℃澘閰嶇疆ID - * @return 缁撴灉 - */ + public int deleteTReportTemplateById(Long id) { return tReportTemplateMapper.deleteTReportTemplateById(id); } diff --git a/src/main/java/com/ots/project/exam/service/impl/TSubjectServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TSubjectServiceImpl.java index 26f0d63..fba9195 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TSubjectServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TSubjectServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.utils.DateUtils; import com.ots.common.utils.text.Convert; import com.ots.project.exam.domain.TExamLevel; @@ -9,61 +8,33 @@ import com.ots.project.exam.service.ITSubjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.List; -/** - * 缁村害琛⊿ervice涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-12-09 - */ @Service("subject") public class TSubjectServiceImpl implements ITSubjectService { @Autowired private TSubjectMapper tSubjectMapper; - @Autowired private TExamLevelMapper tExamLevelMapper; - - /** - * 鏌ヨ缁村害琛� - * - * @param id 缁村害琛↖D - * @return 缁村害琛� - */ + @Override public TSubject selectTSubjectById(Long id) { return tSubjectMapper.selectTSubjectById(id); } - @Override public TSubject selectTSubjectAndTLeveById(Long id) { return tSubjectMapper.selectTSubjectAndTLeveById(id); } - - /** - * 鏌ヨ缁村害琛ㄥ垪琛� - * - * @param tSubject 缁村害琛� - * @return 缁村害琛� - */ + @Override public List<TSubject> selectTSubjectList(TSubject tSubject) { return tSubjectMapper.selectTSubjectList(tSubject); } - @Override public List<TSubject> selectTSubjectList() { return tSubjectMapper.selectTSubjectList(); } - - /** - * 鏂板缁村害琛� - * - * @param tSubject 缁村害琛� - * @return 缁撴灉 - */ + @Override public int insertTSubject(TSubject tSubject) { tSubject.setCreateTime(DateUtils.getNowDate()); @@ -71,13 +42,7 @@ tSubject.setLevelName(tExamLevel.getLevelName()); return tSubjectMapper.insertTSubject(tSubject); } - - /** - * 淇敼缁村害琛� - * - * @param tSubject 缁村害琛� - * @return 缁撴灉 - */ + @Override public int updateTSubject(TSubject tSubject) { tSubject.setUpdateTime(DateUtils.getNowDate()); @@ -85,28 +50,15 @@ tSubject.setLevelName(tExamLevel.getLevelName()); return tSubjectMapper.updateTSubject(tSubject); } - - /** - * 鍒犻櫎缁村害琛ㄥ璞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteTSubjectByIds(String ids) { return tSubjectMapper.deleteTSubjectByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎缁村害琛ㄤ俊鎭� - * - * @param id 缁村害琛↖D - * @return 缁撴灉 - */ + public int deleteTSubjectById(Long id) { return tSubjectMapper.deleteTSubjectById(id); } - @Override public List<TSubject> selectTSubjectAndTLeveByTemplateId(String questionTemplateId) { return tSubjectMapper.selectTSubjectAndTLeveByTemplateId(questionTemplateId); diff --git a/src/main/java/com/ots/project/exam/service/impl/TTextContentServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TTextContentServiceImpl.java index 131d4f8..778cf9c 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TTextContentServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TTextContentServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.common.utils.DateUtils; import com.ots.common.utils.text.Convert; import com.ots.project.exam.domain.TTextContent; @@ -9,101 +8,55 @@ import com.ots.project.tool.exam.JsonUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.Date; import java.util.List; import java.util.function.Function; import java.util.stream.Collectors; -/** - * 棰樼洰鐨勫唴瀹筍ervice涓氬姟灞傚鐞� - * - * @author ots - * @date 2019-11-24 - */ @Service public class TTextContentServiceImpl implements ITTextContentService { @Autowired private TTextContentMapper tTextContentMapper; - - /** - * 鏌ヨ棰樼洰鐨勫唴瀹� - * - * @param id 棰樼洰鐨勫唴瀹笽D - * @return 棰樼洰鐨勫唴瀹� - */ + @Override public TTextContent selectTTextContentById(Long id) { return tTextContentMapper.selectTTextContentById(id); } - - //鐢╥n鐨勬柟寮忔煡璇� + @Override public List<TTextContent> selectTTextContentByIds(String[] ids) { return tTextContentMapper.selectTTextContentByIds(ids); } - @Override public List<TTextContentAndQuestion> selectTextContentAndQuestion(String[] ids) { return tTextContentMapper.selectTextContentAndQuestion(ids); } - - /** - * 鏌ヨ棰樼洰鐨勫唴瀹瑰垪琛� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 棰樼洰鐨勫唴瀹� - */ + @Override public List<TTextContent> selectTTextContentList(TTextContent tTextContent) { return tTextContentMapper.selectTTextContentList(tTextContent); } - - /** - * 鏂板棰樼洰鐨勫唴瀹� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 缁撴灉 - */ + @Override public int insertTTextContent(TTextContent tTextContent) { tTextContent.setCreateTime(DateUtils.getNowDate()); return tTextContentMapper.insertTTextContent(tTextContent); } - - /** - * 淇敼棰樼洰鐨勫唴瀹� - * - * @param tTextContent 棰樼洰鐨勫唴瀹� - * @return 缁撴灉 - */ + @Override public int updateTTextContent(TTextContent tTextContent) { tTextContent.setUpdateTime(DateUtils.getNowDate()); return tTextContentMapper.updateTTextContent(tTextContent); } - - /** - * 鍒犻櫎棰樼洰鐨勫唴瀹瑰璞� - * - * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ + @Override public int deleteTTextContentByIds(String ids) { return tTextContentMapper.deleteTTextContentByIds(Convert.toStrArray(ids)); } - - /** - * 鍒犻櫎棰樼洰鐨勫唴瀹逛俊鎭� - * - * @param id 棰樼洰鐨勫唴瀹笽D - * @return 缁撴灉 - */ + public int deleteTTextContentById(Long id) { return tTextContentMapper.deleteTTextContentById(id); } - @Override public <T, R> TTextContent jsonConvertInsert(List<T> list, Date now, Function<? super T, ? extends R> mapper) { String frameTextContent = null; @@ -114,10 +67,9 @@ frameTextContent = JsonUtil.toJsonStr(mapList); } TTextContent textContent = new TTextContent(frameTextContent, now); - //insertByFilter(textContent); cache useless + return textContent; } - @Override public <T, R> TTextContent jsonConvertUpdate(TTextContent textContent, List<T> list, Function<? super T, ? extends R> mapper) { String frameTextContent = null; @@ -128,7 +80,7 @@ frameTextContent = JsonUtil.toJsonStr(mapList); } textContent.setContent(frameTextContent); - //this.updateByIdFilter(textContent); cache useless + return textContent; } } diff --git a/src/main/java/com/ots/project/exam/service/impl/TaskExamCustomerAnswerImpl.java b/src/main/java/com/ots/project/exam/service/impl/TaskExamCustomerAnswerImpl.java index bd010af..ddb28b7 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TaskExamCustomerAnswerImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TaskExamCustomerAnswerImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.ots.project.exam.domain.*; import com.ots.project.exam.dto.TaskItemAnswerObject; import com.ots.project.exam.mapper.TaskExamCustomerAnswerMapper; @@ -8,27 +7,21 @@ import com.ots.project.tool.exam.JsonUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.Arrays; import java.util.Date; import java.util.List; - @Service public class TaskExamCustomerAnswerImpl extends BaseServiceImpl<TaskExamCustomerAnswer> implements TaskExamCustomerAnswerService { - @Autowired private TaskExamCustomerAnswerMapper taskExamCustomerAnswerMapper; - @Autowired private ITTextContentService textContentService; - @Autowired public TaskExamCustomerAnswerImpl(TaskExamCustomerAnswerMapper taskExamCustomerAnswerMapper, ITTextContentService textContentService) { super(taskExamCustomerAnswerMapper); this.taskExamCustomerAnswerMapper = taskExamCustomerAnswerMapper; this.textContentService = textContentService; } - @Override public void insertOrUpdate(ExamPaper examPaper, ExamPaperAnswer examPaperAnswer, Date now) { Integer taskId = examPaper.getTaskExamId(); @@ -52,7 +45,6 @@ textContentService.updateTTextContent(textContent); } } - @Override public void insertOrUpdate(TExamPaper examPaper, ExamPaperAnswer examPaperAnswer, Date now) { Integer taskId = examPaper.getTaskExamId().intValue(); @@ -76,12 +68,10 @@ textContentService.updateTTextContent(textContent); } } - @Override public TaskExamCustomerAnswer selectByTUid(Integer tid, Integer uid) { return taskExamCustomerAnswerMapper.getByTUid(tid, uid); } - @Override public List<TaskExamCustomerAnswer> selectByTUid(List<Integer> taskIds, Integer uid) { return taskExamCustomerAnswerMapper.selectByTUid(taskIds, uid); diff --git a/src/main/java/com/ots/project/exam/service/impl/UserEventLogServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/UserEventLogServiceImpl.java index 59c3857..b1e2683 100644 --- a/src/main/java/com/ots/project/exam/service/impl/UserEventLogServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/UserEventLogServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.exam.service.impl; - import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ots.project.exam.domain.UserEventLog; @@ -10,36 +9,28 @@ import com.ots.project.tool.exam.DateTimeUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.Date; import java.util.List; import java.util.stream.Collectors; - @Service public class UserEventLogServiceImpl extends BaseServiceImpl<UserEventLog> implements UserEventLogService { - @Autowired private UserEventLogMapper userEventLogMapper; - @Autowired public UserEventLogServiceImpl(UserEventLogMapper userEventLogMapper) { super(userEventLogMapper); this.userEventLogMapper = userEventLogMapper; } - @Override public List<UserEventLog> getUserEventLogByUserId(Integer id) { return userEventLogMapper.getUserEventLogByUserId(id); } - @Override public PageInfo<UserEventLog> page(UserEventPageRequestVM requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> userEventLogMapper.page(requestVM) ); } - - @Override public List<Integer> selectMothCount() { Date startTime = DateTimeUtil.getMonthStartDay(); @@ -51,5 +42,4 @@ return null == keyValue ? 0 : keyValue.getValue(); }).collect(Collectors.toList()); } - } diff --git a/src/main/java/com/ots/project/exam/viewmodel/BaseVM.java b/src/main/java/com/ots/project/exam/viewmodel/BaseVM.java index 26a2f5d..d05520b 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/BaseVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/BaseVM.java @@ -1,16 +1,9 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.tool.exam.ModelMapperSingle; import lombok.Data; import org.modelmapper.ModelMapper; -/** - * @author ots - */ - @Data public class BaseVM { protected static ModelMapper modelMapper = ModelMapperSingle.Instance(); - - } diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamItemOrderAndContent.java b/src/main/java/com/ots/project/exam/viewmodel/ExamItemOrderAndContent.java index a772075..d25dea3 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamItemOrderAndContent.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamItemOrderAndContent.java @@ -1,8 +1,6 @@ package com.ots.project.exam.viewmodel; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class ExamItemOrderAndContent { diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageResponseVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageResponseVM.java index ad4ab1b..a5ce170 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageResponseVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageResponseVM.java @@ -1,32 +1,18 @@ package com.ots.project.exam.viewmodel; - import lombok.Data; - @Data public class ExamPaperAnswerPageResponseVM { private Integer id; - private String createTime; - private String userScore; - private String subjectName; - private Integer subjectId; - private Integer questionCount; - private Integer questionCorrect; - private String paperScore; - private String doTime; - private Integer paperType; - private String systemScore; - private Integer status; - private String paperName; } diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageVM.java index 483cbfd..583edb8 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperAnswerPageVM.java @@ -1,13 +1,8 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.BasePage; import lombok.Data; - @Data public class ExamPaperAnswerPageVM extends BasePage { - private Integer subjectId; - private Integer createUser; - } diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperEditRequestVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperEditRequestVM.java index ff4be65..4a4a1f3 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperEditRequestVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperEditRequestVM.java @@ -1,15 +1,12 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.QuestionPart; import lombok.Getter; import lombok.Setter; - import javax.validation.Valid; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.util.List; - @Getter @Setter public class ExamPaperEditRequestVM { @@ -24,31 +21,20 @@ private String name; @NotNull private Integer suggestTime; - private List<String> limitDateTime; - @Size(min = 1, message = "璇锋坊鍔犺瘯鍗锋爣棰�") @Valid private List<ExamPaperTitleItemVM> titleItems; - private String score; - private String guide; - - // 棰樼洰鐨勯『搴� + private List<Integer> questionOrder; - private List<QuestionPart> parts; - private String questionTemplateId; - - // 鎶ュ憡id + private String reportTemplateId; - private String memberName; - - // 閫夐」鐨勯『搴� + private List<List<String>> optionOrder; - private Integer timeOut; } diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageRequestVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageRequestVM.java index c4ae475..02ae96a 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageRequestVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageRequestVM.java @@ -1,11 +1,8 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.BaseExamPage; import lombok.Data; - @Data public class ExamPaperPageRequestVM extends BaseExamPage { - private Integer id; private Integer subjectId; private Integer level; diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageResponseVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageResponseVM.java index 0c09633..68b2a46 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageResponseVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageResponseVM.java @@ -1,26 +1,15 @@ package com.ots.project.exam.viewmodel; - import lombok.Data; - @Data public class ExamPaperPageResponseVM { private Integer id; - private String name; - private Integer questionCount; - private Integer score; - private String createTime; - private Integer createUser; - private Integer subjectId; - private String subjectName; - private Integer paperType; - private Integer frameTextContentId; } diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageVM.java index 09dd5f5..1ec63cb 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperPageVM.java @@ -1,10 +1,7 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.BaseExamPage; import lombok.Data; - import javax.validation.constraints.NotNull; - @Data public class ExamPaperPageVM extends BaseExamPage { @NotNull diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperReadVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperReadVM.java index 7f5f318..c2add67 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperReadVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperReadVM.java @@ -1,7 +1,5 @@ package com.ots.project.exam.viewmodel; - import lombok.Data; - @Data public class ExamPaperReadVM { private ExamPaperEditRequestVM paper; diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitItemVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitItemVM.java index 9043d54..e9306d2 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitItemVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitItemVM.java @@ -1,37 +1,24 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.QuestionReport; import lombok.Getter; import lombok.Setter; - import javax.validation.constraints.NotNull; import java.util.List; - @Getter @Setter public class ExamPaperSubmitItemVM { private Integer id; @NotNull private Integer questionId; - private Boolean doRight; - private String content; - private String lastContent; - private Integer itemOrder; - private List<String> contentArray; - private String score; - private String questionScore; - private String startTime; - private String endTime; - - // 棰樼洰鎶ュ憡 浜烘牸鏂囧叿鐨勯鐩姤鍛� + private QuestionReport questionReport; } diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitVM.java index 5364040..b1beced 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperSubmitVM.java @@ -1,61 +1,37 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.domain.TExamReport; import com.ots.project.exam.dto.InterfaceContent; import lombok.Getter; import lombok.Setter; - import java.util.List; - - @Setter @Getter public class ExamPaperSubmitVM { - private Integer id; - private Integer questionId; - private Integer doTime; - private Integer verifyStatus; - private Integer finish; - - // 澶ч鍔犲皬棰� + private List<ExamPaperTitleItemVM> titleItems; - - // 灏忛鐨勯�夐」鍐呭 + private List<ExamPaperSubmitItemVM> answerItems; - private List<Integer> questionOrder; - private List<List<String>> optionOrder; - - // 姝e湪绛旂殑娈� + private Integer partOrder; - - // 姝e湪绛旈鐨勫簭鍙� + private String itemOrder; - - // 绛旈鎻愪氦鐨勮瑷� + private String langType; - - // 鏄惁璋冪敤娉板浗鍥㈤槦 + private String isCallTain; - - // 瀛樿皟鐢ㄦ嘲鍥藉洟闃熸帴鍙g殑鍐呭 + private List<InterfaceContent> interfaceContentList; - - // 宸茬粡瀛樺湪鐨勬姤琛ㄨ褰� + List<TExamReport> tExamReportList; - private Integer remainTime; - private boolean submitClick = false; - - // 鏄惁鏄噸鏂扮敓鎴愭姤鍛婄殑 + private boolean isRecallThaiInterface = false; - - } diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperTitleItemVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperTitleItemVM.java index 83d0bbe..1369f8d 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamPaperTitleItemVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamPaperTitleItemVM.java @@ -1,38 +1,24 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.QuestionPart; import com.ots.project.exam.dto.QuestionReport; import lombok.Getter; import lombok.Setter; - import java.util.List; -/** - * 涓�澶ч锛屼竴娈� - */ @Getter @Setter public class ExamPaperTitleItemVM { - private String guide; - private String name; - private String description; - - // 棰樼洰姘镐箙缂栧彿 + private String permanentId; - - // 涓嬫爣鐢� + private Integer questionOrder; - - // job宸ヤ綔闂嵎鐨勫紑濮嬫椂闂村拰缁撴潫鏃堕棿 + private QuestionReport questionReport; - private List<QuestionEditRequestVM> questionItems; - private String startTime; private String endTime; - private List<QuestionPart> parts; } diff --git a/src/main/java/com/ots/project/exam/viewmodel/ExamResultRequestVM.java b/src/main/java/com/ots/project/exam/viewmodel/ExamResultRequestVM.java index 9f28eee..c953f19 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/ExamResultRequestVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/ExamResultRequestVM.java @@ -1,11 +1,8 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.SignalObject; import lombok.Getter; import lombok.Setter; - import java.util.List; - @Getter @Setter public class ExamResultRequestVM { @@ -13,7 +10,7 @@ private Integer finish; private String doUrl; private List<ExamItemOrderAndContent> examItemOrderAndContentList; - // 鐫块偦鐨勬煡璇█鐨勬椂鍊欓渶瑕佺敤鍒� + private String reportTemplateId; private SignalObject signalObject; private String status; diff --git a/src/main/java/com/ots/project/exam/viewmodel/IndexVM.java b/src/main/java/com/ots/project/exam/viewmodel/IndexVM.java index 344c9c8..288ca30 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/IndexVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/IndexVM.java @@ -1,10 +1,7 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.PaperInfo; import lombok.Data; - import java.util.List; - @Data public class IndexVM { private List<PaperInfo> fixedPaper; diff --git a/src/main/java/com/ots/project/exam/viewmodel/PaperInfoVM.java b/src/main/java/com/ots/project/exam/viewmodel/PaperInfoVM.java index b8b7dbf..560a983 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/PaperInfoVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/PaperInfoVM.java @@ -1,8 +1,6 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.PaperInfo; import lombok.Data; - @Data public class PaperInfoVM extends PaperInfo { private String startTime; diff --git a/src/main/java/com/ots/project/exam/viewmodel/QuestionEditItemVM.java b/src/main/java/com/ots/project/exam/viewmodel/QuestionEditItemVM.java index 30f2e7a..8e68c74 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/QuestionEditItemVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/QuestionEditItemVM.java @@ -1,8 +1,6 @@ package com.ots.project.exam.viewmodel; - import lombok.Getter; import lombok.Setter; - @Getter @Setter public class QuestionEditItemVM { diff --git a/src/main/java/com/ots/project/exam/viewmodel/QuestionEditRequestVM.java b/src/main/java/com/ots/project/exam/viewmodel/QuestionEditRequestVM.java index 5d86567..142a2a8 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/QuestionEditRequestVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/QuestionEditRequestVM.java @@ -1,37 +1,25 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.QuestionReport; import lombok.Getter; import lombok.Setter; - import java.util.List; - @Getter @Setter public class QuestionEditRequestVM { - private Integer id; private Integer questionType; private Integer subjectId; private String title; - private Integer gradeLevel; - private List<QuestionEditItemVM> items; private String analyze; - private List<String> correctArray; - private String correct; private String score; - private Integer difficult; - private Integer itemOrder; - private Integer questionOrder; - - // 浜烘牸鍜屾櫤鍔涢棶鍗风殑寮�濮嬫椂闂村拰缁撴潫鏃堕棿 + private String permanentId; private QuestionReport questionReport; private String startTime; diff --git a/src/main/java/com/ots/project/exam/viewmodel/QuestionPageRequestVM.java b/src/main/java/com/ots/project/exam/viewmodel/QuestionPageRequestVM.java index 505bc69..c929f09 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/QuestionPageRequestVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/QuestionPageRequestVM.java @@ -1,11 +1,8 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.BasePage; import lombok.Data; - @Data public class QuestionPageRequestVM extends BasePage { - private Integer id; private Integer level; private Integer subjectId; diff --git a/src/main/java/com/ots/project/exam/viewmodel/QuestionPageStudentRequestVM.java b/src/main/java/com/ots/project/exam/viewmodel/QuestionPageStudentRequestVM.java index b68d089..beb1849 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/QuestionPageStudentRequestVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/QuestionPageStudentRequestVM.java @@ -1,8 +1,6 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.BasePage; import lombok.Data; - @Data public class QuestionPageStudentRequestVM extends BasePage { private Integer createUser; diff --git a/src/main/java/com/ots/project/exam/viewmodel/SubjectPageRequestVM.java b/src/main/java/com/ots/project/exam/viewmodel/SubjectPageRequestVM.java index 28fbb48..d4106d6 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/SubjectPageRequestVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/SubjectPageRequestVM.java @@ -1,8 +1,6 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.BasePage; import lombok.Data; - @Data public class SubjectPageRequestVM extends BasePage { private Integer id; diff --git a/src/main/java/com/ots/project/exam/viewmodel/TaskItemPaperVm.java b/src/main/java/com/ots/project/exam/viewmodel/TaskItemPaperVm.java index b503473..077a5d6 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/TaskItemPaperVm.java +++ b/src/main/java/com/ots/project/exam/viewmodel/TaskItemPaperVm.java @@ -1,7 +1,5 @@ package com.ots.project.exam.viewmodel; - import lombok.Data; - @Data public class TaskItemPaperVm { private Integer examPaperId; diff --git a/src/main/java/com/ots/project/exam/viewmodel/TaskItemVm.java b/src/main/java/com/ots/project/exam/viewmodel/TaskItemVm.java index 8d25ba4..e6e3ec7 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/TaskItemVm.java +++ b/src/main/java/com/ots/project/exam/viewmodel/TaskItemVm.java @@ -1,9 +1,6 @@ package com.ots.project.exam.viewmodel; - import lombok.Data; - import java.util.List; - @Data public class TaskItemVm { private Integer id; diff --git a/src/main/java/com/ots/project/exam/viewmodel/UserEventPageRequestVM.java b/src/main/java/com/ots/project/exam/viewmodel/UserEventPageRequestVM.java index 9be5234..3124044 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/UserEventPageRequestVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/UserEventPageRequestVM.java @@ -1,17 +1,9 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.dto.BasePage; import lombok.Data; -/** - * @author alvis - */ - @Data public class UserEventPageRequestVM extends BasePage { - private Integer userId; - private String userName; - } diff --git a/src/main/java/com/ots/project/exam/viewmodel/UserResponseVM.java b/src/main/java/com/ots/project/exam/viewmodel/UserResponseVM.java index bf6d909..8d14f8d 100644 --- a/src/main/java/com/ots/project/exam/viewmodel/UserResponseVM.java +++ b/src/main/java/com/ots/project/exam/viewmodel/UserResponseVM.java @@ -1,46 +1,25 @@ package com.ots.project.exam.viewmodel; - import com.ots.project.exam.domain.ExamUser; import com.ots.project.tool.exam.DateTimeUtil; import lombok.Data; -/** - * @author ots - */ - @Data public class UserResponseVM extends BaseVM { - private Integer id; - private String userUuid; - private String userName; - private String realName; - private Integer age; - private Integer role; - private Integer sex; - private String birthDay; - private String phone; - private String lastActiveTime; - private String createTime; - private String modifyTime; - private Integer status; - private Integer userLevel; - private String imagePath; - public static UserResponseVM from(ExamUser user) { UserResponseVM vm = modelMapper.map(user, UserResponseVM.class); vm.setBirthDay(DateTimeUtil.dateFormat(user.getBirthDay())); diff --git a/src/main/java/com/ots/project/monitor/job/task/DeleteSensitiveInformationTesk.java b/src/main/java/com/ots/project/monitor/job/task/DeleteSensitiveInformationTesk.java index e857e7f..95c138c 100644 --- a/src/main/java/com/ots/project/monitor/job/task/DeleteSensitiveInformationTesk.java +++ b/src/main/java/com/ots/project/monitor/job/task/DeleteSensitiveInformationTesk.java @@ -1,5 +1,4 @@ package com.ots.project.monitor.job.task; - import com.ots.common.utils.bean.BeanUtils; import com.ots.project.exam.domain.EntTestMember; import com.ots.project.exam.domain.EntTestMemberBackstage; @@ -8,33 +7,25 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import java.util.*; -/** - * 绯荤粺鑷姩鍒犻櫎12涓湀浠ヤ笂鐨勬祴璇曚汉鍛樺悕绉般�侀偖绠便�佹墍鍦ㄤ紒涓氬悕绉� - * 姣忓ぉ鎵ц涓�娆� - */ @Component("deleteSensitiveInformationTesk") @Slf4j public class DeleteSensitiveInformationTesk { private final static String EMPTY_STR = "NA"; @Autowired IEntTestMemberService entTestMemberService; - @Autowired IEntTestMemberBackstageService entTestMemberBackstageService; - public void deleteSensitiveInformationTesk() { - //鍒版湡12涓湀娓呯┖ent_test_member锛屽鍚嶏紝閭欢锛屽彿鐮併�� + Map map = testMemberParams(); List<EntTestMember> entTestMembers = entTestMemberService.selectEntTestMemberList(map); - entTestMembers.stream().forEach(p -> { Long memberId = p.getMemberId(); try { EntTestMemberBackstage stage = new EntTestMemberBackstage(); - //鏇存柊鏁版嵁鍓嶅厛鎶婃暟鎹叆搴撳埌澶囦唤琛� + BeanUtils.copyBeanProp(stage, p); entTestMemberBackstageService.insertEntTestMemberBackstage(stage); p.setMemberName(EMPTY_STR); @@ -47,17 +38,15 @@ } }); } - private Map testMemberParams() { Map paramMap = new HashMap(); - Calendar ca = Calendar.getInstance();//寰楀埌涓�涓狢alendar鐨勫疄渚� - ca.setTime(new Date()); //璁剧疆鏃堕棿涓哄綋鍓嶆椂闂� - ca.add(Calendar.YEAR, -1); //骞翠唤鍑�1 + Calendar ca = Calendar.getInstance(); + ca.setTime(new Date()); + ca.add(Calendar.YEAR, -1); paramMap.put("deleteSensitiveTime", ca.getTime()); paramMap.put("desensitization", "desensitization"); return paramMap; } - public static void main(String[] args) { DeleteSensitiveInformationTesk tesk = new DeleteSensitiveInformationTesk(); Map map = tesk.testMemberParams(); diff --git a/src/main/java/com/ots/project/monitor/job/task/HrEmailTask.java b/src/main/java/com/ots/project/monitor/job/task/HrEmailTask.java index 195fc1b..2611564 100644 --- a/src/main/java/com/ots/project/monitor/job/task/HrEmailTask.java +++ b/src/main/java/com/ots/project/monitor/job/task/HrEmailTask.java @@ -1,32 +1,21 @@ package com.ots.project.monitor.job.task; - import com.ots.project.exam.domain.TExamReport; import com.ots.project.exam.mapper.TExamReportMapper; import com.ots.project.exam.service.impl.TExamPaperServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import java.util.List; import java.util.Optional; -/** - * 閽堝鍙戦�丠r閭欢澶辫触锛岀郴缁熷仛鑷姩閲嶆柊鍙戦�侊紝1涓皬鏃跺彂閫佷竴娆★紝鍙戦��3娆″悗杩樻槸澶辫触銆備笉鍐嶅鐞嗐�� - */ @Component("HrEmailTask") @Slf4j public class HrEmailTask { - @Autowired private TExamPaperServiceImpl examPaperService; - @Autowired private TExamReportMapper examReportMapper; - - /** - * send_hr_status 鐘舵��3鏄彂閫佸け璐ワ紝涓旈噸璇曟鏁板皬浜�3鐨勬暟鎹� - * finish 涓� 1鐨勬暟鎹� - */ + public void hrEmailFailedRetransmission() { TExamReport tExamReport = new TExamReport(); tExamReport.setFinish(1); diff --git a/src/main/java/com/ots/project/monitor/job/task/RecoverTask.java b/src/main/java/com/ots/project/monitor/job/task/RecoverTask.java index 4fcc10b..5c484f0 100644 --- a/src/main/java/com/ots/project/monitor/job/task/RecoverTask.java +++ b/src/main/java/com/ots/project/monitor/job/task/RecoverTask.java @@ -1,5 +1,4 @@ package com.ots.project.monitor.job.task; - import com.ots.common.enums.TestMemberStatusEnum; import com.ots.common.enums.TestPackageStatusEnum; import com.ots.project.exam.domain.EntTestMember; @@ -9,46 +8,33 @@ import com.ots.project.exam.service.impl.EntOperLogServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import java.util.*; import java.util.stream.Collectors; - import static com.ots.common.enums.OpertypeEnum.DIS_USER; -/** - * 鎺у埗娴嬭瘯鍖呯姸鎬� - * 鍒版湡鍚庨渶瑕佸洖鏀舵鏁扮殑鐙珛绋嬪簭 - */ @Component("recoverTask") public class RecoverTask { - @Autowired IEntTestPackageService entTestPackageService; @Autowired IEntTestMemberService entTestMemberService; @Autowired private EntOperLogServiceImpl entOperLogService; - - /** - * 杩囨湡鍥炴敹璇勬祴璧勬牸锛屽彉鏇� - */ + public void expiredRecyclingTestEligibility() { Map paramMap = testPackageParams(); - //杩囨湡娴嬭瘯鍖� + List<EntTestPackage> entTestPackages = entTestPackageService.selectEntTestPackageListByIdAndStatusIn(paramMap); - - //闇�瑕佹牴鎹紒涓氱敤鎴峰垎缁�,瑕佺櫥璁版棩蹇楀拰缁熻 + Map<Long, List<EntTestPackage>> collect = entTestPackages.stream().collect(Collectors.groupingBy(EntTestPackage::getUserId)); - collect.forEach((userId, value) -> { List<Long> testIds = entTestPackages.stream().map(p -> p.getId()).collect(Collectors.toList()); Map map = testMemberParams(testIds); List<EntTestMember> entTestMembers = entTestMemberService.selectEntTestMemberList(map); - entTestMembers.stream().forEach(it -> { it.setStatus(TestMemberStatusEnum.expiryRecovery.getCode()); entTestMemberService.updateEntTestMember(it); - //璁板綍鏃ュ織 + entOperLogService.saveLog(userId, "", DIS_USER, Long.valueOf(entTestMembers.size())); }); entTestPackages.stream().forEach(it -> { @@ -56,15 +42,8 @@ entTestPackageService.updateEntTestPackage(it); }); }); - } - - /** - * 璇勬祴浜哄憳鏌ヨ鍙傛暟 - * - * @param testIds - * @return - */ + private Map testMemberParams(List<Long> testIds) { Map map = new HashMap(); map.put("testIds", testIds); @@ -72,12 +51,7 @@ map.put("status", recyclingStatus); return map; } - - /** - * 娴嬭瘯鍖呮煡璇㈠弬鏁� - * - * @return - */ + private Map testPackageParams() { Map paramMap = new HashMap(); List<String> status = Arrays.asList(TestPackageStatusEnum.enable.getCode(), TestPackageStatusEnum.pause.getCode()); diff --git a/src/main/java/com/ots/project/monitor/job/task/SenderEmailReportTask.java b/src/main/java/com/ots/project/monitor/job/task/SenderEmailReportTask.java index 4b6b4cf..b848715 100644 --- a/src/main/java/com/ots/project/monitor/job/task/SenderEmailReportTask.java +++ b/src/main/java/com/ots/project/monitor/job/task/SenderEmailReportTask.java @@ -1,5 +1,4 @@ package com.ots.project.monitor.job.task; - import com.ots.common.enums.LangTypeEnum; import com.ots.common.enums.ReportTypeEnum; import com.ots.common.enums.SenderCode; @@ -23,19 +22,14 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 閭欢鐭俊鍙戦�佷换鍔� - */ @Component("SenderEmailReportTask") @Slf4j public class SenderEmailReportTask { - private static final String SMS_ZJCM = "SMS_ZJCM"; private static final String SMS_ZJCM_INTERNATIONAL = "SMS_ZJCM_INTERNATIONAL"; private static final String EMAIL_126 = "EMAIL_126"; @@ -57,9 +51,8 @@ private TReportTemplateMapper tReportTemplateMapper; @Autowired private ITReportTemplateService itReportTemplateService; - public void senderTask() { - // 鏌ユ壘report琛ㄥ緱鍑鸿鍙戦�佹姤鍛婄殑鐢ㄦ埛 + TExamReport tExamReportTemp = new TExamReport(); tExamReportTemp.setFinish(1); tExamReportTemp.setSendTesterStatus(0); @@ -67,51 +60,42 @@ if (ExamUtil.isListEmpty(tExamReportList)) { return; } - - // textMapList鐨� + List<Map<String, Object>> textMapList = new ArrayList<>(); List<String> deleteFileStrList = new ArrayList<>(); - // 璇█绫诲瀷 + Map<String, LangTypeEnum> langTypeEnumMap = getLangTypeEnumMap(); - // 鎶ュ憡绫诲瀷 + Map<String, ReportTypeEnum> reportTypeEnumMap = getStringReportTypeEnumMap(); - // 鏌ュ嚭鍏ㄩ儴鐨勬姤鍛婏紝鍑忓皯娑堣�楃殑鎬ц兘 + Map<Long, TReportTemplate> tReportTemplateMap = getAllTReportTemplateMap(); - - // 閬嶅巻姣忎釜report琛� - // 缁欐祴璇曡�呭彂閫侀偖浠� + + List<String> allReportList = new ArrayList<>(); - - // hr 閭 + Map<String, List<String>> hrEmail = new HashMap<>(); - - // 寰幆姣忎釜涓姤鍛婅褰� + for (TExamReport tExamReport : tExamReportList) { String[] reportIds = tExamReport.getReportTemplateId().split(","); - - // 閬嶅巻鍑烘ā鐗堢敓鎴愭枃浠� + List<String> reprotList = saveReport(textMapList, deleteFileStrList, langTypeEnumMap, reportTypeEnumMap, tReportTemplateMap, allReportList, tExamReport, reportIds); - - // 璋冪敤鍙戦�佺▼搴忓彂缁欑敤鎴� + if (emailMessage.sendEmailwithAttachment(tExamReport.getMemberEmail(), "娴嬭瘯鎶ュ憡", "鎮ㄥ凡瀹屾垚娴嬭瘯", reprotList.stream().toArray(String[]::new)).isResult()) { tExamReport.setSendTesterStatus(SenderCode.success.getCode()); - } else { // 鍙戦�佹垚鍔燂紝鍙戦�佸け璐ュ鐞� + } else { tExamReport.setSendTesterStatus(SenderCode.fail.getCode()); } - - // 鍙戦�佺粰Hr + if (emailMessage.sendEmailwithAttachment(tExamReport.getTestEmail(), "娴嬭瘯鎶ュ憡", "鎮ㄥ凡瀹屾垚娴嬭瘯", reprotList.stream().toArray(String[]::new)).isResult()) { tExamReport.setSendHrStatus(SenderCode.success.getCode()); - } else { // 鍙戦�佹垚鍔燂紝鍙戦�佸け璐ュ鐞� + } else { tExamReport.setSendHrStatus(SenderCode.fail.getCode()); } - tExamReportService.updateTExamReportStatus(tExamReport); } } - private void setHrFiles(Map<String, List<String>> hrEmail, TExamReport tExamReport, List<String> reprotList) { - // 淇濈暀鍙戠粰Hr鐨勯偖绠� + List<String> hrEmailList = hrEmail.get(tExamReport.getTestEmail()); if (ExamUtil.isListEmpty(hrEmailList)) { List<String> hrFileList = new ArrayList<>(); @@ -121,17 +105,16 @@ hrEmailList.addAll(reprotList); } } - private List<String> saveReport(List<Map<String, Object>> textMapList, List<String> deleteFileStrList, Map<String, LangTypeEnum> langTypeEnumMap, Map<String, ReportTypeEnum> reportTypeEnumMap, Map<Long, TReportTemplate> tReportTemplateMap, List<String> allReportList, TExamReport tExamReport, String[] reportIds) { List<String> sendReportList = new ArrayList<>(); for (String reportId : reportIds) { - // 妯℃嫙璋冪敤鎺ュ彛 + Map<String, String> thaiCalculationMap = new HashMap<>(); MAQReport report = new MAQReport(); WordUtil util = new WordUtil(); - // 瀵煎嚭鍩虹鐗堟湰杩樻槸璇︾粏鐗� - String reportType = tReportTemplateMap.get(Long.valueOf(reportId)).getReportType();// "Brief"; - String templateType = tReportTemplateMap.get(Long.valueOf(reportId)).getTemplateType();// "Brief"; + + String reportType = tReportTemplateMap.get(Long.valueOf(reportId)).getReportType(); + String templateType = tReportTemplateMap.get(Long.valueOf(reportId)).getTemplateType(); String path = ""; Map<String, Object> textMap = new HashMap<>(); TReportTemplate tReportTemplate = tReportTemplateMap.get(Long.valueOf(reportId)); @@ -146,23 +129,20 @@ e.printStackTrace(); continue; } - - // 鐢熸垚鎶ュ憡鏂囦欢 + String zipFileName = util.makeReportFile(path, tReportTemplate, textMap, new HashMap<>(), deleteFileStrList); allReportList.add(zipFileName); for (String fileName : allReportList) { sendReportList.add(EssConfig.getProfile() + "/" + fileName); } - // 娓呯┖锛岀粰涓嬩竴涓敤鎴风敤 + textMapList.clear(); textMap.clear(); - // 鍒犻櫎涓存椂鏂囦欢 + util.deleteFileByStr(deleteFileStrList); } - return sendReportList; } - private Map<Long, TReportTemplate> getAllTReportTemplateMap() { List<TReportTemplate> tReportTemplateList = tReportTemplateMapper.selectTReportTemplateList(new TReportTemplate()); Map<Long, TReportTemplate> tReportTemplateMap = new HashMap<>(); @@ -171,7 +151,6 @@ } return tReportTemplateMap; } - private Map<String, ReportTypeEnum> getStringReportTypeEnumMap() { Map<String, ReportTypeEnum> reportTypeEnumMap = new HashMap<>(); for (ReportTypeEnum reportTypeEnumTemp : ReportTypeEnum.values()) { @@ -179,7 +158,6 @@ } return reportTypeEnumMap; } - private Map<String, LangTypeEnum> getLangTypeEnumMap() { Map<String, LangTypeEnum> langTypeEnumMap = new HashMap<>(); for (LangTypeEnum langTypeEnumTemp : LangTypeEnum.values()) { diff --git a/src/main/java/com/ots/project/monitor/job/task/SenderTask.java b/src/main/java/com/ots/project/monitor/job/task/SenderTask.java index 2f752c8..638e1ab 100644 --- a/src/main/java/com/ots/project/monitor/job/task/SenderTask.java +++ b/src/main/java/com/ots/project/monitor/job/task/SenderTask.java @@ -1,5 +1,4 @@ package com.ots.project.monitor.job.task; - import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.ots.common.enums.SenderType; @@ -24,21 +23,15 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Objects; - import static com.ots.common.enums.SmsStatusEnum.*; -/** - * 閭欢鐭俊鍙戦�佷换鍔� - */ @Component("senderTask") @Slf4j public class SenderTask { - private static final String SMS_ZJCM = "SMS_ZJCM"; private static final String SMS_ZJCM_INTERNATIONAL = "SMS_ZJCM_INTERNATIONAL"; private static final String EMAIL_126 = "EMAIL_126"; @@ -52,29 +45,26 @@ EmailMessage emailMessage; @Autowired IEntTestSendtaskMailService entTestSendtaskMailService; - @Autowired private ConfigService configService; - public void senderTask(String type) { EntTestSendtask testSendtask = new EntTestSendtask(); testSendtask.setStatus(SendtaskStatus.Untreated.getStatus()); testSendtask.setType(type); List<EntTestSendtask> entTestSendtasks = entTestSendtaskService.selectEntTestSendtaskList(testSendtask); if (SenderType.email.getType().equals(type)) { - //鍙戦�侀偖浠� + entTestSendtasks.stream().forEach(p -> sendEmail(p)); - //閭欢閫�淇℃儏鍐靛鐞� 寮傛 + bounceStatusUpdate(); } if (SenderType.sms.getType().equals(type)) { - //鍙戦�佺煭淇� + entTestSendtasks.stream().forEach(p -> sendSms(p)); - //鐭俊涓嬪彂鐘舵�佽窡杩� 寮傛 + smsDeliveryStatus(); } } - private void mailBounceInformationStorage(List<BouncedUser> bouncedUserList) { try { bouncedUserList.stream().forEach(user -> { @@ -87,7 +77,6 @@ log.error("璁板綍閫�淇′俊鎭け璐ワ細{}", e.getMessage(), e); } } - private void bounceStatusUpdate() { String mailMode = configService.getKey("MailMode"); if (Objects.equals("RushMail", mailMode)) { @@ -134,8 +123,8 @@ } } else { EmailUtil eu = new EmailUtil(EmailMessageImpl.userName, EmailMessageImpl.password); - List<BouncedUser> bouncedUserList = eu.receiveMail(DefaultConfigurer.getIMAP(), "imap");// imap鏀朵俊 - //閭欢閫�淇℃暟鎹叆搴� + List<BouncedUser> bouncedUserList = eu.receiveMail(DefaultConfigurer.getIMAP(), "imap"); + mailBounceInformationStorage(bouncedUserList); bouncedUserList.stream().forEach(user -> { EntTestSendtask entTestSendtask = new EntTestSendtask(); @@ -153,13 +142,11 @@ }); } } - public static void main(String[] args) { String str = "12321231232131 nihaodfdfdl 鏀朵欢浜洪偖浠跺湴鍧�锛坙jhua@bydq.com.cn锛変笉瀛樺湪锛岄偖浠舵棤娉曢�佽揪銆� "; String substring = str.substring(str.indexOf("鏀朵欢浜洪偖浠跺湴鍧�锛�") + "鏀朵欢浜洪偖浠跺湴鍧�锛�".length(), str.indexOf("锛変笉瀛樺湪锛岄偖浠舵棤娉曢�佽揪")); System.out.println(substring); } - private void smsDeliveryStatus() { List<Statusbox> statusboxList = shortMessage.getReport(); if (Objects.isNull(statusboxList) || statusboxList.size() == 0) { @@ -181,12 +168,7 @@ } } } - - /** - * 鍙戦偖浠� - * - * @param testSendtask - */ + public void sendEmail(EntTestSendtask testSendtask) { if (Objects.equals(EMAIL_126, testSendtask.getPlatform())) { RushMailResult result = emailMessage.sendEmail(testSendtask.getAddressee(), testSendtask.getTitle(), testSendtask.getContent()); @@ -210,12 +192,7 @@ entTestMemberService.updateEntTestMember(entTestMember); entTestSendtaskService.updateEntTestSendtask(testSendtask); } - - /** - * 鍙戠煭淇� - * - * @param testSendtask - */ + public void sendSms(EntTestSendtask testSendtask) { if (Objects.equals(SMS_ZJCM, testSendtask.getPlatform())) { Returnsms returnsms = shortMessage.sendSms(Arrays.asList(testSendtask.getAddressee()), "銆怲AI娴嬭瘎銆�", testSendtask.getContent()); diff --git a/src/main/java/com/ots/project/tool/gen/service/IExamUtilService.java b/src/main/java/com/ots/project/tool/gen/service/IExamUtilService.java index 0ff97a7..27917bb 100644 --- a/src/main/java/com/ots/project/tool/gen/service/IExamUtilService.java +++ b/src/main/java/com/ots/project/tool/gen/service/IExamUtilService.java @@ -1,21 +1,12 @@ package com.ots.project.tool.gen.service; - import com.ots.project.exam.domain.TExamPaper; import com.ots.project.exam.dto.ExamPaperTitleItemObject; - import java.util.List; -/** - * 涓氬姟 鏈嶅姟灞� - * - * @author ots - */ public interface IExamUtilService { - // 鍙栨湰鍦扮殑璇█ + String getLocalLangType(String langType); - - // 濡傛灉娌℃湁灏卞幓鍙栨湰鍦扮殑璇█鐨刯son绫诲瀷 + String getLangOrLocalLangString(String langType, String contentMapJson); - void setTitleName(TExamPaper tExamPaper, List<ExamPaperTitleItemObject> examPaperTitleItemObjectList); } diff --git a/src/main/java/com/ots/project/tool/gen/service/IExamUtilServiceImpl.java b/src/main/java/com/ots/project/tool/gen/service/IExamUtilServiceImpl.java index 4ae133d..65ad5c5 100644 --- a/src/main/java/com/ots/project/tool/gen/service/IExamUtilServiceImpl.java +++ b/src/main/java/com/ots/project/tool/gen/service/IExamUtilServiceImpl.java @@ -1,5 +1,4 @@ package com.ots.project.tool.gen.service; - import com.alibaba.fastjson.JSONObject; import com.ots.common.utils.StringUtils; import com.ots.framework.web.service.DictService; @@ -12,71 +11,57 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; - @Service public class IExamUtilServiceImpl implements IExamUtilService { @Autowired private DictService dictService; - @Autowired private TQuestionMapper questionMapper; - @Override public String getLocalLangType(String langType) { - // 鍙栨湰鍦扮殑璇█ + if (StringUtils.equals(langType, "ALL") || StringUtils.isEmpty(langType)) { return dictService.getLangType(LocaleContextHolder.getLocale().toString()); } - return langType; } - @Override public String getLangOrLocalLangString(String langType, String contentMapJson) { langType = getLocalLangType(langType); return ExamUtil.getLangString(langType, contentMapJson); } - - // Job 宸ヤ綔鍒嗘瀽鏂囧叿鐨勫ぇ棰樼洰鍘诲彇question琛� + @Override public void setTitleName(TExamPaper tExamPaper, List<ExamPaperTitleItemObject> examPaperTitleItemObjectList) { - // 宸ヤ綔鍒嗘瀽闂嵎鐨勫ぇ棰橈紝澶ч閲岄潰濡傛灉鏈塹uestionId锛屽氨鍙杚uestionId鐨勯鐩� + Map<Long, String> questionIdMap = new HashMap<>(); for (ExamPaperTitleItemObject examPaperTitleItemObject : examPaperTitleItemObjectList) { if (Objects.isNull(examPaperTitleItemObject.getQuestionId())) { continue; } - questionIdMap.put(examPaperTitleItemObject.getQuestionId().longValue(), ""); } - if (questionIdMap.size() == 0) { return; } - - // 濡傛灉鏈塹uestionid灏辨槸宸ヤ綔鍒嗘瀽闂嵎锛岃鍙杚uestion琛ㄧ殑 + List<TQuestion> questionList = questionMapper.selectTQuestionByIds(new ArrayList<Long>(questionIdMap.keySet())); - if (ExamUtil.isListEmpty(questionList)) { return; } - questionList.stream().forEach(question -> { QuestionObject questionObject = JSONObject.parseObject(question.getContent(), QuestionObject.class); questionIdMap.put(question.getId(), getLangOrLocalLangString(tExamPaper.getLangType(), questionObject.getTitleContent())); }); - - // 鏇挎崲棰樼洰鐨勬爣棰� + for (ExamPaperTitleItemObject examPaperTitleItemObject : examPaperTitleItemObjectList) { - // name灏辨槸娈电殑棰樼洰 + examPaperTitleItemObject.setName(questionIdMap.get(examPaperTitleItemObject.getQuestionId().longValue())); } - } } diff --git a/src/main/java/com/ots/project/tool/report/JAQ/JAQReport.java b/src/main/java/com/ots/project/tool/report/JAQ/JAQReport.java index 78d6d35..2bb8a36 100644 --- a/src/main/java/com/ots/project/tool/report/JAQ/JAQReport.java +++ b/src/main/java/com/ots/project/tool/report/JAQ/JAQReport.java @@ -1,5 +1,4 @@ package com.ots.project.tool.report.JAQ; - import com.alibaba.fastjson.JSONObject; import com.ots.common.enums.LangTypeEnum; import com.ots.common.utils.StringUtils; @@ -17,33 +16,18 @@ import com.ots.project.tool.report.reportCalculation.response.ReportAPIResult; import lombok.Getter; import lombok.Setter; - import java.util.*; - @Getter @Setter public class JAQReport { - TQuestionServiceImpl tQuestionService = AppUtil.getObject("examQuestion", TQuestionServiceImpl.class); - - /** - * 宀椾綅鍚嶇О - */ + private String postName; - - /** - * 鎶ュ憡鐢熸垚鏃ユ湡 - */ + private String reportGenerationDate; - - /** - * 鎶ュ憡搴忓彿 - */ + private String reportNumber; - - /** - * @return - */ + public List<Map<String, Object>> getTemplateParameters(ReportAPIResult result, LangTypeEnum langType) { Map<String, Object> infoMap = new HashMap(); infoMap.put("postName", postName); @@ -56,7 +40,6 @@ tableList.put("table4", getTable4(result, langType)); return Arrays.asList(infoMap, tableList); } - List<Table4> getTable4(ReportAPIResult result, LangTypeEnum langType) { List<Table4> table4 = result.getTable4(); table4.stream().forEach(item -> { @@ -66,7 +49,7 @@ } StringBuilder stringBuilder = new StringBuilder(); List<String> listOfTopicNumbers = item.getListOfTopicNumbers(); - //鏌ユ壘瀵逛簬鐨勪富棰樼洰(鏍规嵁JAQ棰樼洰缂栫爜锛屽拰璇█绫诲瀷鎵鹃鐩�) + listOfTopicNumbers.stream().forEach(p -> { String topic = queryTopic(langType, p); if (StringUtils.isBlank(topic)) { @@ -78,7 +61,6 @@ }); return table4; } - List<Table3> getTable3(ReportAPIResult result, LangTypeEnum langType) { List<Table3> table3 = result.getTable3(); table3.stream().forEach(item -> { @@ -89,7 +71,6 @@ }); return table3; } - List<Table2> getTable2(ReportAPIResult result, LangTypeEnum langType) { List<Table2> table2 = result.getTable2(); table2.stream().forEach(item -> { @@ -100,7 +81,6 @@ }); return table2; } - List<Table1> getTable1(ReportAPIResult result, LangTypeEnum langType) { List<Table1> table1 = result.getTable1(); table1.stream().forEach(item -> { @@ -111,14 +91,7 @@ }); return table1; } - - /** - * 鏍规嵁姘镐箙缂栧彿鏌ヨ瑷�棰樼洰 - * - * @param langType - * @param permanentId - * @return - */ + private String queryTopic(LangTypeEnum langType, String permanentId) { List<TQuestion> tQuestionList = tQuestionService.selectTQuestionByPermanentId(permanentId); if (Objects.isNull(tQuestionList) || tQuestionList.size() == 0) { diff --git a/src/main/resources/application-sand.yml b/src/main/resources/application-sand.yml index 1592d84..debb31a 100644 --- a/src/main/resources/application-sand.yml +++ b/src/main/resources/application-sand.yml @@ -26,7 +26,7 @@ druid: # 涓诲簱鏁版嵁婧� master: - url: jdbc:mysql://120.24.39.179:3306/ots-sand?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://127.0.0.1:3306/ots-sand?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: TAI@2019#Zjun # 浠庡簱鏁版嵁婧� diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ab5b1fc..a4ec783 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -40,7 +40,7 @@ time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss profiles: - active: online + active: dev # 鏂囦欢涓婁紶 servlet: multipart: diff --git a/src/main/resources/mailConfig.properties b/src/main/resources/mailConfig.properties index 1bf8d25..6129cba 100644 --- a/src/main/resources/mailConfig.properties +++ b/src/main/resources/mailConfig.properties @@ -3,13 +3,13 @@ #\u7AEF\u53E3\u53F7 mailPort=25 #\u90AE\u7BB1\u8D26\u53F7 -mailUsername=guobiao8900@126.com +mailUsername= #\u90AE\u7BB1\u6388\u6743\u7801 mailPassword= #\u65F6\u95F4\u5EF6\u8FDF mailTimeout=25000 #\u53D1\u9001\u4EBA -mailFrom=guobiao8900@126.com +mailFrom= #\u53D1\u4EF6\u4EBA personal=\u9ED1\u767D\u8272\u8C03 #\u4E3B\u9898 diff --git a/src/main/resources/mybatis/exam/EntTestMemberMapper.xml b/src/main/resources/mybatis/exam/EntTestMemberMapper.xml index 0a10334..bd7c75d 100644 --- a/src/main/resources/mybatis/exam/EntTestMemberMapper.xml +++ b/src/main/resources/mybatis/exam/EntTestMemberMapper.xml @@ -69,7 +69,11 @@ <if test="memberEmail != null and memberEmail != ''"> and m.member_email like concat('%', #{memberEmail}, '%')</if> <if test="memberPhone != null and memberPhone != ''"> and m.member_phone like concat('%', #{memberPhone}, '%')</if> <if test="testId != null "> and m.test_id = #{testId}</if> - <if test="status != null and status != ''"> and m.status = #{status}</if> + <if test="statusList != null "> and m.status in + <foreach item="status" collection="statusList" open="(" separator="," close=")"> + #{status} + </foreach> + </if> <if test="userId != null and userId != ''"> and u.user_id = #{userId}</if> </where> </select> diff --git a/src/main/resources/mybatis/exam/TExamReportMapper.xml b/src/main/resources/mybatis/exam/TExamReportMapper.xml index 670b0fb..6781d8c 100644 --- a/src/main/resources/mybatis/exam/TExamReportMapper.xml +++ b/src/main/resources/mybatis/exam/TExamReportMapper.xml @@ -72,6 +72,34 @@ left join sys_user_extend e on e.user_id = u.user_id </sql> + <sql id = "selectTExamReportListVoForReport"> + select m.member_dept,p.status,t.id, t.product_id, t.product_name, t.content, t.token_id, t.create_time, t.update_time, t.states, + t.last_content,t.choice,t.do_time, t.question_count, t.member_id,t.user_id,t.parent_id,t.downloadTimes,t.verifyStatus,t.test_id, + t.finish,m.member_name,p.test_name,u.user_name,t.question_order, t.question_report, t.question_template_id, t.interface_content, + t.lang_type, t.report_address, p.report_template_id, t.send_hr_status, t.send_tester_status, m.member_email, p.test_email, + t.member_name, p.auto_send_report, e.hr_email, e.mail_content, t.option_order, t.remain_part_time, + t.report_address_new,t.hrReportEmail,t.hrTitle,t.hrSendTime,t.hrUpdateTime,t.retriesTime + from t_exam_report t + left join sys_user u on u.user_id = t.user_id + right join ent_test_member m on m.member_id = t.member_id and m.status = '1' + left join ent_test_package p on p.id = t.test_id + left join sys_user_extend e on e.user_id = u.user_id + </sql> + + <sql id = "selectTExamReportListNoStatusVo"> + select m.member_dept,p.status,t.id, t.product_id, t.product_name, t.content, t.token_id, t.create_time, t.update_time, t.states, + t.last_content,t.choice,t.do_time, t.question_count, t.member_id,t.user_id,t.parent_id,t.downloadTimes,t.verifyStatus,t.test_id, + t.finish,m.member_name,p.test_name,u.user_name,t.question_order, t.question_report, t.question_template_id, t.interface_content, + t.lang_type, t.report_address, p.report_template_id, t.send_hr_status, t.send_tester_status, m.member_email, p.test_email, + t.member_name, p.auto_send_report, e.hr_email, e.mail_content, t.option_order, t.remain_part_time, + t.report_address_new,t.hrReportEmail,t.hrTitle,t.hrSendTime,t.hrUpdateTime,t.retriesTime + from t_exam_report t + left join sys_user u on u.user_id = t.user_id + right join ent_test_member m on m.member_id = t.member_id + left join ent_test_package p on p.id = t.test_id + left join sys_user_extend e on e.user_id = u.user_id + </sql> + <select id="selectTExamReportList" parameterType="TExamReport" resultMap="TExamReportResult"> <include refid="selectTExamReportListVo"/> <where> @@ -104,6 +132,38 @@ </where> </select> + <select id="selectTExamReportNoStatusList" parameterType="TExamReport" resultMap="TExamReportResult"> + <include refid="selectTExamReportListVo"/> + <where> + <if test="id != null "> and t.id = #{id}</if> + <if test="productId != null "> and t.product_id = #{productId}</if> + <if test="tokenId != null and tokenId != ''"> and t.token_id = #{tokenId}</if> + <if test="downloadTimes != null "> and t.downloadTimes = #{downloadTimes}</if> + <if test="verifyStatus != null "> and t.verifyStatus = #{verifyStatus}</if> + <if test="memberId != null and memberId != ''"> and t.member_id = #{memberId}</if> + <if test="productName != null and productName != ''"> and t.product_name like concat('%', #{productName}, '%')</if> + <if test="userName != null and userName != ''"> and u.user_name like concat('%', #{userName}, '%')</if> + <if test="testName != null and testName != ''"> and u.test_name like concat('%', #{testName}, '%')</if> + <if test="memberName != null and memberName != ''"> and m.member_name like concat('%', #{memberName}, '%')</if> + <if test="testId != null and testId != ''"> and t.test_id = #{testId}</if> + <if test="status != null and status != ''"> and p.status = #{status}</if> + <if test="finish != null and finish != ''"> and t.finish = #{finish}</if> + <if test="sendTesterStatus != null"> and t.send_tester_status = #{sendTesterStatus}</if> + <if test="hrReportEmail != null"> and t.hrReportEmail = #{hrReportEmail}</if> + <if test="sendHrStatus != null"> and t.send_hr_status = #{sendHrStatus}</if> + <if test="sendHrStatusList != null"> and t.send_hr_status in + <foreach collection="sendHrStatusList" item="sendStatus" open="(" separator="," close=")"> + #{sendStatus} + </foreach> + </if> + <if test="userIds != null"> and t.user_id in + <foreach collection="userIds" item="userId" open="(" separator="," close=")"> + #{userId} + </foreach> + </if> + </where> + </select> + <select id="selectTExamHrEmailiReportList" parameterType="TExamReport" resultMap="TExamReportResult"> select id, product_id, product_name, content, token_id, create_time, update_time, states,last_content,choice,do_time, question_count, member_id,user_id,parent_id,downloadTimes,verifyStatus,test_id,finish, question_order, question_report, question_template_id, interface_content, lang_type, report_address, report_template_id, send_hr_status, send_tester_status, member_name, option_order, remain_part_time from t_exam_report <where> diff --git a/src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js b/src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js index a7aa009..fcc94da 100644 --- a/src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js +++ b/src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js @@ -1,2 +1,615 @@ /** layui-v5.0.9 鏃ユ湡涓庢椂闂寸粍浠� MIT License By https://www.layui.com */ - ;!function(){"use strict";var e=window.layui&&layui.define,t={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,n=t.length-1,a=n;a>0;a--)if("interactive"===t[a].readyState){e=t[a].src;break}return e||t[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),getStyle:function(e,t){var n=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](t)},link:function(e,a,i){if(n.path){var r=document.getElementsByTagName("head")[0],o=document.createElement("link");"string"==typeof a&&(i=a);var s=(i||e).replace(/\.|\//g,""),l="layuicss-"+s,d=0;o.rel="stylesheet",o.href=n.path+e,o.id=l,document.getElementById(l)||r.appendChild(o),"function"==typeof a&&!function c(){return++d>80?window.console&&console.error("laydate.css: Invalid"):void(1989===parseInt(t.getStyle(document.getElementById(l),"width"))?a():setTimeout(c,100))}()}}},n={v:"5.0.9",config:{},index:window.laydate&&window.laydate.v?1e5:0,path:t.getPath,set:function(e){var t=this;return t.config=w.extend({},t.config,e),t},ready:function(a){var i="laydate",r="",o=(e?"modules/laydate/":"theme/")+"default/laydate.css?v="+n.v+r;return e?layui.addcss(o,a,i):t.link(o,a,i),this}},a=function(){var e=this;return{hint:function(t){e.hint.call(e,t)},config:e.config}},i="laydate",r=".layui-laydate",o="layui-this",s="laydate-disabled",l="寮�濮嬫棩鏈熻秴鍑轰簡缁撴潫鏃ユ湡<br>寤鸿閲嶆柊閫夋嫨",d=[100,2e5],c="layui-laydate-static",m="layui-laydate-list",u="laydate-selected",h="layui-laydate-hint",y="laydate-day-prev",f="laydate-day-next",p="layui-laydate-footer",g=".laydate-btns-confirm",v="laydate-time-text",D=".laydate-btns-time",T=function(e){var t=this;t.index=++n.index,t.config=w.extend({},t.config,n.config,e),n.ready(function(){t.init()})},w=function(e){return new C(e)},C=function(e){for(var t=0,n="object"==typeof e?[e]:(this.selector=e,document.querySelectorAll(e||null));t<n.length;t++)this.push(n[t])};C.prototype=[],C.prototype.constructor=C,w.extend=function(){var e=1,t=arguments,n=function(e,t){e=e||(t.constructor===Array?[]:{});for(var a in t)e[a]=t[a]&&t[a].constructor===Object?n(e[a],t[a]):t[a];return e};for(t[0]="object"==typeof t[0]?t[0]:{};e<t.length;e++)"object"==typeof t[e]&&n(t[0],t[e]);return t[0]},w.ie=function(){var e=navigator.userAgent.toLowerCase();return!!(window.ActiveXObject||"ActiveXObject"in window)&&((e.match(/msie\s(\d+)/)||[])[1]||"11")}(),w.stope=function(e){e=e||window.event,e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},w.each=function(e,t){var n,a=this;if("function"!=typeof t)return a;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;n<e.length&&!t.call(e[n],n,e[n]);n++);return a},w.digit=function(e,t,n){var a="";e=String(e),t=t||2;for(var i=e.length;i<t;i++)a+="0";return e<Math.pow(10,t)?a+(0|e):e},w.elem=function(e,t){var n=document.createElement(e);return w.each(t||{},function(e,t){n.setAttribute(e,t)}),n},C.addStr=function(e,t){return e=e.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),w.each(t,function(t,n){new RegExp("\\b"+n+"\\b").test(e)||(e=e+" "+n)}),e.replace(/^\s|\s$/,"")},C.removeStr=function(e,t){return e=e.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),w.each(t,function(t,n){var a=new RegExp("\\b"+n+"\\b");a.test(e)&&(e=e.replace(a,""))}),e.replace(/\s+/," ").replace(/^\s|\s$/,"")},C.prototype.find=function(e){var t=this,n=0,a=[],i="object"==typeof e;return this.each(function(r,o){for(var s=i?[e]:o.querySelectorAll(e||null);n<s.length;n++)a.push(s[n]);t.shift()}),i||(t.selector=(t.selector?t.selector+" ":"")+e),w.each(a,function(e,n){t.push(n)}),t},C.prototype.each=function(e){return w.each.call(this,this,e)},C.prototype.addClass=function(e,t){return this.each(function(n,a){a.className=C[t?"removeStr":"addStr"](a.className,e)})},C.prototype.removeClass=function(e){return this.addClass(e,!0)},C.prototype.hasClass=function(e){var t=!1;return this.each(function(n,a){new RegExp("\\b"+e+"\\b").test(a.className)&&(t=!0)}),t},C.prototype.attr=function(e,t){var n=this;return void 0===t?function(){if(n.length>0)return n[0].getAttribute(e)}():n.each(function(n,a){a.setAttribute(e,t)})},C.prototype.removeAttr=function(e){return this.each(function(t,n){n.removeAttribute(e)})},C.prototype.html=function(e){return this.each(function(t,n){n.innerHTML=e})},C.prototype.val=function(e){return this.each(function(t,n){n.value=e})},C.prototype.append=function(e){return this.each(function(t,n){"object"==typeof e?n.appendChild(e):n.innerHTML=n.innerHTML+e})},C.prototype.remove=function(e){return this.each(function(t,n){e?n.removeChild(e):n.parentNode.removeChild(n)})},C.prototype.on=function(e,t){return this.each(function(n,a){a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1)})},C.prototype.off=function(e,t){return this.each(function(n,a){a.detachEvent?a.detachEvent("on"+e,t):a.removeEventListener(e,t,!1)})},T.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},T.prototype.config={type:"date",range:!1,format:"yyyy-MM-dd",value:null,min:"1900-1-1",max:"2099-12-31",trigger:"focus",show:!1,showBottom:!0,btns:["clear","now","confirm"],lang:"cn",theme:"default",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},T.prototype.lang=function(){var e=this,t=e.config,n={cn:{weeks:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],time:["h","min","s"],timeTips:"selection period",startTime:"starting time",endTime:"end Time",dateTips:"return date",month:["Jan","Feb","Mar","Apr","May","Jun","July","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"confirm",clear:"clear",now:"now"}},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"}}};return n[t.lang]||n.cn},T.prototype.init=function(){var e=this,t=e.config,n="yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s",a="static"===t.position,i={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};t.elem=w(t.elem),t.eventElem=w(t.eventElem),t.elem[0]&&(t.range===!0&&(t.range="-"),t.format===i.date&&(t.format=i[t.type]),e.format=t.format.match(new RegExp(n+"|.","g"))||[],e.EXP_IF="",e.EXP_SPLIT="",w.each(e.format,function(t,a){var i=new RegExp(n).test(a)?"\\d{"+function(){return new RegExp(n).test(e.format[0===t?t+1:t-1]||"")?/^yyyy|y$/.test(a)?4:a.length:/^yyyy$/.test(a)?"1,4":/^y$/.test(a)?"1,308":"1,2"}()+"}":"\\"+a;e.EXP_IF=e.EXP_IF+i,e.EXP_SPLIT=e.EXP_SPLIT+"("+i+")"}),e.EXP_IF=new RegExp("^"+(t.range?e.EXP_IF+"\\s\\"+t.range+"\\s"+e.EXP_IF:e.EXP_IF)+"$"),e.EXP_SPLIT=new RegExp("^"+e.EXP_SPLIT+"$",""),e.isInput(t.elem[0])||"focus"===t.trigger&&(t.trigger="click"),t.elem.attr("lay-key")||(t.elem.attr("lay-key",e.index),t.eventElem.attr("lay-key",e.index)),t.mark=w.extend({},t.calendar&&"cn"===t.lang?{"0-1-1":"鍏冩棪","0-2-14":"鎯呬汉","0-3-8":"濡囧コ","0-3-12":"妞嶆爲","0-4-1":"鎰氫汉","0-5-1":"鍔冲姩","0-5-4":"闈掑勾","0-6-1":"鍎跨","0-9-10":"鏁欏笀","0-9-18":"鍥借��","0-10-1":"鍥藉簡","0-12-25":"鍦h癁"}:{},t.mark),w.each(["min","max"],function(e,n){var a=[],i=[];if("number"==typeof t[n]){var r=t[n],o=(new Date).getTime(),s=864e5,l=new Date(r?r<s?o+r*s:r:o);a=[l.getFullYear(),l.getMonth()+1,l.getDate()],r<s||(i=[l.getHours(),l.getMinutes(),l.getSeconds()])}else a=(t[n].match(/\d+-\d+-\d+/)||[""])[0].split("-"),i=(t[n].match(/\d+:\d+:\d+/)||[""])[0].split(":");t[n]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|i[0],minutes:0|i[1],seconds:0|i[2]}}),e.elemID="layui-laydate"+t.elem.attr("lay-key"),(t.show||a)&&e.render(),a||e.events(),t.value&&(t.value.constructor===Date?e.setValue(e.parse(0,e.systemDate(t.value))):e.setValue(t.value)))},T.prototype.render=function(){var e=this,t=e.config,n=e.lang(),a="static"===t.position,i=e.elem=w.elem("div",{id:e.elemID,"class":["layui-laydate",t.range?" layui-laydate-range":"",a?" "+c:"",t.theme&&"default"!==t.theme&&!/^#/.test(t.theme)?" laydate-theme-"+t.theme:""].join("")}),r=e.elemMain=[],o=e.elemHeader=[],s=e.elemCont=[],l=e.table=[],d=e.footer=w.elem("div",{"class":p});if(t.zIndex&&(i.style.zIndex=t.zIndex),w.each(new Array(2),function(e){if(!t.range&&e>0)return!0;var a=w.elem("div",{"class":"layui-laydate-header"}),i=[function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-y"});return e.innerHTML="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="",e}(),function(){var e=w.elem("div",{"class":"laydate-set-ym"}),t=w.elem("span"),n=w.elem("span");return e.appendChild(t),e.appendChild(n),e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-m"});return e.innerHTML="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="",e}()],d=w.elem("div",{"class":"layui-laydate-content"}),c=w.elem("table"),m=w.elem("thead"),u=w.elem("tr");w.each(i,function(e,t){a.appendChild(t)}),m.appendChild(u),w.each(new Array(6),function(e){var t=c.insertRow(0);w.each(new Array(7),function(a){if(0===e){var i=w.elem("th");i.innerHTML=n.weeks[a],u.appendChild(i)}t.insertCell(a)})}),c.insertBefore(m,c.children[0]),d.appendChild(c),r[e]=w.elem("div",{"class":"layui-laydate-main laydate-main-list-"+e}),r[e].appendChild(a),r[e].appendChild(d),o.push(i),s.push(d),l.push(c)}),w(d).html(function(){var e=[],i=[];return"datetime"===t.type&&e.push('<span lay-type="datetime" class="laydate-btns-time">'+n.timeTips+"</span>"),w.each(t.btns,function(e,r){var o=n.tools[r]||"btn";t.range&&"now"===r||(a&&"clear"===r&&(o="cn"===t.lang?"閲嶇疆":"Reset"),i.push('<span lay-type="'+r+'" class="laydate-btns-'+r+'">'+o+"</span>"))}),e.push('<div class="laydate-footer-btns">'+i.join("")+"</div>"),e.join("")}()),w.each(r,function(e,t){i.appendChild(t)}),t.showBottom&&i.appendChild(d),/^#/.test(t.theme)){var m=w.elem("style"),u=["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,t.theme);"styleSheet"in m?(m.setAttribute("type","text/css"),m.styleSheet.cssText=u):m.innerHTML=u,w(i).addClass("laydate-theme-molv"),i.appendChild(m)}e.remove(T.thisElemDate),a?t.elem.append(i):(document.body.appendChild(i),e.position()),e.checkDate().calendar(),e.changeEvent(),T.thisElemDate=e.elemID,"function"==typeof t.ready&&t.ready(w.extend({},t.dateTime,{month:t.dateTime.month+1}))},T.prototype.remove=function(e){var t=this,n=(t.config,w("#"+(e||t.elemID)));return n.hasClass(c)||t.checkDate(function(){n.remove()}),t},T.prototype.position=function(){var e=this,t=e.config,n=e.bindElem||t.elem[0],a=n.getBoundingClientRect(),i=e.elem.offsetWidth,r=e.elem.offsetHeight,o=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},s=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},l=5,d=a.left,c=a.bottom;d+i+l>s("width")&&(d=s("width")-i-l),c+r+l>s()&&(c=a.top>r?a.top-r:s()-r,c-=2*l),t.position&&(e.elem.style.position=t.position),e.elem.style.left=d+("fixed"===t.position?0:o(1))+"px",e.elem.style.top=c+("fixed"===t.position?0:o())+"px"},T.prototype.hint=function(e){var t=this,n=(t.config,w.elem("div",{"class":h}));n.innerHTML=e||"",w(t.elem).find("."+h).remove(),t.elem.appendChild(n),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){w(t.elem).find("."+h).remove()},3e3)},T.prototype.getAsYM=function(e,t,n){return n?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},T.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},T.prototype.checkDate=function(e){var t,a,i=this,r=(new Date,i.config),o=r.dateTime=r.dateTime||i.systemDate(),s=i.bindElem||r.elem[0],l=(i.isInput(s)?"val":"html",i.isInput(s)?s.value:"static"===r.position?"":s.innerHTML),c=function(e){e.year>d[1]&&(e.year=d[1],a=!0),e.month>11&&(e.month=11,a=!0),e.hours>23&&(e.hours=0,a=!0),e.minutes>59&&(e.minutes=0,e.hours++,a=!0),e.seconds>59&&(e.seconds=0,e.minutes++,a=!0),t=n.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,a=!0)},m=function(e,t,n){var o=["startTime","endTime"];t=(t.match(i.EXP_SPLIT)||[]).slice(1),n=n||0,r.range&&(i[o[n]]=i[o[n]]||{}),w.each(i.format,function(s,l){var c=parseFloat(t[s]);t[s].length<l.length&&(a=!0),/yyyy|y/.test(l)?(c<d[0]&&(c=d[0],a=!0),e.year=c):/MM|M/.test(l)?(c<1&&(c=1,a=!0),e.month=c-1):/dd|d/.test(l)?(c<1&&(c=1,a=!0),e.date=c):/HH|H/.test(l)?(c<1&&(c=0,a=!0),e.hours=c,r.range&&(i[o[n]].hours=c)):/mm|m/.test(l)?(c<1&&(c=0,a=!0),e.minutes=c,r.range&&(i[o[n]].minutes=c)):/ss|s/.test(l)&&(c<1&&(c=0,a=!0),e.seconds=c,r.range&&(i[o[n]].seconds=c))}),c(e)};return"limit"===e?(c(o),i):(l=l||r.value,"string"==typeof l&&(l=l.replace(/\s+/g," ").replace(/^\s|\s$/g,"")),i.startState&&!i.endState&&(delete i.startState,i.endState=!0),"string"==typeof l&&l?i.EXP_IF.test(l)?r.range?(l=l.split(" "+r.range+" "),i.startDate=i.startDate||i.systemDate(),i.endDate=i.endDate||i.systemDate(),r.dateTime=w.extend({},i.startDate),w.each([i.startDate,i.endDate],function(e,t){m(t,l[e],e)})):m(o,l):(i.hint("鏃ユ湡鏍煎紡涓嶅悎娉�<br>蹇呴』閬靛惊涓嬭堪鏍煎紡锛�<br>"+(r.range?r.format+" "+r.range+" "+r.format:r.format)+"<br>宸蹭负浣犻噸缃�"),a=!0):l&&l.constructor===Date?r.dateTime=i.systemDate(l):(r.dateTime=i.systemDate(),delete i.startState,delete i.endState,delete i.startDate,delete i.endDate,delete i.startTime,delete i.endTime),c(o),a&&l&&i.setValue(r.range?i.endDate?i.parse():"":i.parse()),e&&e(),i)},T.prototype.mark=function(e,t){var n,a=this,i=a.config;return w.each(i.mark,function(e,a){var i=e.split("-");i[0]!=t[0]&&0!=i[0]||i[1]!=t[1]&&0!=i[1]||i[2]!=t[2]||(n=a||t[2])}),n&&e.html('<span class="laydate-day-mark">'+n+"</span>"),a},T.prototype.limit=function(e,t,n,a){var i,r=this,o=r.config,l={},d=o[n>41?"endDate":"dateTime"],c=w.extend({},d,t||{});return w.each({now:c,min:o.min,max:o.max},function(e,t){l[e]=r.newDate(w.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return w.each(a,function(n,a){e[a]=t[a]}),e}())).getTime()}),i=l.now<l.min||l.now>l.max,e&&e[i?"addClass":"removeClass"](s),i},T.prototype.calendar=function(e){var t,a,i,r=this,s=r.config,l=e||s.dateTime,c=new Date,m=r.lang(),u="date"!==s.type&&"datetime"!==s.type,h=e?1:0,y=w(r.table[h]).find("td"),f=w(r.elemHeader[h][2]).find("span");if(l.year<d[0]&&(l.year=d[0],r.hint("鏈�浣庡彧鑳芥敮鎸佸埌鍏厓"+d[0]+"骞�")),l.year>d[1]&&(l.year=d[1],r.hint("鏈�楂樺彧鑳芥敮鎸佸埌鍏厓"+d[1]+"骞�")),r.firstDate||(r.firstDate=w.extend({},l)),c.setFullYear(l.year,l.month,1),t=c.getDay(),a=n.getEndDate(l.month||12,l.year),i=n.getEndDate(l.month+1,l.year),w.each(y,function(e,n){var d=[l.year,l.month],c=0;n=w(n),n.removeAttr("class"),e<t?(c=a-t+e,n.addClass("laydate-day-prev"),d=r.getAsYM(l.year,l.month,"sub")):e>=t&&e<i+t?(c=e-t,s.range||c+1===l.date&&n.addClass(o)):(c=e-i-t,n.addClass("laydate-day-next"),d=r.getAsYM(l.year,l.month)),d[1]++,d[2]=c+1,n.attr("lay-ymd",d.join("-")).html(d[2]),r.mark(n,d).limit(n,{year:d[0],month:d[1]-1,date:d[2]},e)}),w(f[0]).attr("lay-ym",l.year+"-"+(l.month+1)),w(f[1]).attr("lay-ym",l.year+"-"+(l.month+1)),"cn"===s.lang?(w(f[0]).attr("lay-type","year").html(l.year+""),w(f[1]).attr("lay-type","month").html(l.month+1+"")):(w(f[0]).attr("lay-type","month").html(m.month[l.month]),w(f[1]).attr("lay-type","year").html(l.year)),u&&(s.range&&(e?r.endDate=r.endDate||{year:l.year+("year"===s.type?1:0),month:l.month+("month"===s.type?0:-1)}:r.startDate=r.startDate||{year:l.year,month:l.month},e&&(r.listYM=[[r.startDate.year,r.startDate.month+1],[r.endDate.year,r.endDate.month+1]],r.list(s.type,0).list(s.type,1),"time"===s.type?r.setBtnStatus("鏃堕棿",w.extend({},r.systemDate(),r.startTime),w.extend({},r.systemDate(),r.endTime)):r.setBtnStatus(!0))),s.range||(r.listYM=[[l.year,l.month+1]],r.list(s.type,0))),s.range&&!e){var p=r.getAsYM(l.year,l.month);r.calendar(w.extend({},l,{year:p[0],month:p[1]}))}return s.range||r.limit(w(r.footer).find(g),null,0,["hours","minutes","seconds"]),s.range&&e&&!u&&r.stampRange(),r},T.prototype.list=function(e,t){var n=this,a=n.config,i=a.dateTime,r=n.lang(),l=a.range&&"date"!==a.type&&"datetime"!==a.type,d=w.elem("ul",{"class":m+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[e]}),c=n.elemHeader[t],u=w(c[2]).find("span"),h=n.elemCont[t||0],y=w(h).find("."+m)[0],f="cn"===a.lang,p=f?"":"",T=n.listYM[t]||{},C=["hours","minutes","seconds"],x=["startTime","endTime"][t];if(T[0]<1&&(T[0]=1),"year"===e){var M,b=M=T[0]-7;b<1&&(b=M=1),w.each(new Array(15),function(e){var i=w.elem("li",{"lay-ym":M}),r={year:M};M==T[0]&&w(i).addClass(o),i.innerHTML=M+p,d.appendChild(i),M<n.firstDate.year?(r.month=a.min.month,r.date=a.min.date):M>=n.firstDate.year&&(r.month=a.max.month,r.date=a.max.date),n.limit(w(i),r,t),M++}),w(u[f?0:1]).attr("lay-ym",M-8+"-"+T[1]).html(b+p+" - "+(M-1+p))}else if("month"===e)w.each(new Array(12),function(e){var i=w.elem("li",{"lay-ym":e}),s={year:T[0],month:e};e+1==T[1]&&w(i).addClass(o),i.innerHTML=r.month[e]+(f?"":""),d.appendChild(i),T[0]<n.firstDate.year?s.date=a.min.date:T[0]>=n.firstDate.year&&(s.date=a.max.date),n.limit(w(i),s,t)}),w(u[f?0:1]).attr("lay-ym",T[0]+"-"+T[1]).html(T[0]+p);else if("time"===e){var E=function(){w(d).find("ol").each(function(e,a){w(a).find("li").each(function(a,i){n.limit(w(i),[{hours:a},{hours:n[x].hours,minutes:a},{hours:n[x].hours,minutes:n[x].minutes,seconds:a}][e],t,[["hours"],["hours","minutes"],["hours","minutes","seconds"]][e])})}),a.range||n.limit(w(n.footer).find(g),n[x],0,["hours","minutes","seconds"])};a.range?n[x]||(n[x]={hours:0,minutes:0,seconds:0}):n[x]=i,w.each([24,60,60],function(e,t){var a=w.elem("li"),i=["<p>"+r.time[e]+"</p><ol>"];w.each(new Array(t),function(t){i.push("<li"+(n[x][C[e]]===t?' class="'+o+'"':"")+">"+w.digit(t,2)+"</li>")}),a.innerHTML=i.join("")+"</ol>",d.appendChild(a)}),E()}if(y&&h.removeChild(y),h.appendChild(d),"year"===e||"month"===e)w(n.elemMain[t]).addClass("laydate-ym-show"),w(d).find("li").on("click",function(){var r=0|w(this).attr("lay-ym");if(!w(this).hasClass(s)){if(0===t)i[e]=r,l&&(n.startDate[e]=r),n.limit(w(n.footer).find(g),null,0);else if(l)n.endDate[e]=r;else{var c="year"===e?n.getAsYM(r,T[1]-1,"sub"):n.getAsYM(T[0],r,"sub");w.extend(i,{year:c[0],month:c[1]})}"year"===a.type||"month"===a.type?(w(d).find("."+o).removeClass(o),w(this).addClass(o),"month"===a.type&&"year"===e&&(n.listYM[t][0]=r,l&&(n[["startDate","endDate"][t]].year=r),n.list("month",t))):(n.checkDate("limit").calendar(),n.closeList()),n.setBtnStatus(),a.range||n.done(null,"change"),w(n.footer).find(D).removeClass(s)}});else{var S=w.elem("span",{"class":v}),k=function(){w(d).find("ol").each(function(e){var t=this,a=w(t).find("li");t.scrollTop=30*(n[x][C[e]]-2),t.scrollTop<=0&&a.each(function(e,n){if(!w(this).hasClass(s))return t.scrollTop=30*(e-2),!0})})},H=w(c[2]).find("."+v);k(),S.innerHTML=a.range?[r.startTime,r.endTime][t]:r.timeTips,w(n.elemMain[t]).addClass("laydate-time-show"),H[0]&&H.remove(),c[2].appendChild(S),w(d).find("ol").each(function(e){var t=this;w(t).find("li").on("click",function(){var r=0|this.innerHTML;w(this).hasClass(s)||(a.range?n[x][C[e]]=r:i[C[e]]=r,w(t).find("."+o).removeClass(o),w(this).addClass(o),E(),k(),(n.endDate||"time"===a.type)&&n.done(null,"change"),n.setBtnStatus())})})}return n},T.prototype.listYM=[],T.prototype.closeList=function(){var e=this;e.config;w.each(e.elemCont,function(t,n){w(this).find("."+m).remove(),w(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show")}),w(e.elem).find("."+v).remove()},T.prototype.setBtnStatus=function(e,t,n){var a,i=this,r=i.config,o=w(i.footer).find(g),d=r.range&&"date"!==r.type&&"time"!==r.type;d&&(t=t||i.startDate,n=n||i.endDate,a=i.newDate(t).getTime()>i.newDate(n).getTime(),i.limit(null,t)||i.limit(null,n)?o.addClass(s):o[a?"addClass":"removeClass"](s),e&&a&&i.hint("string"==typeof e?l.replace(/鏃ユ湡/g,e):l))},T.prototype.parse=function(e,t){var n=this,a=n.config,i=t||(e?w.extend({},n.endDate,n.endTime):a.range?w.extend({},n.startDate,n.startTime):a.dateTime),r=n.format.concat();return w.each(r,function(e,t){/yyyy|y/.test(t)?r[e]=w.digit(i.year,t.length):/MM|M/.test(t)?r[e]=w.digit(i.month+1,t.length):/dd|d/.test(t)?r[e]=w.digit(i.date,t.length):/HH|H/.test(t)?r[e]=w.digit(i.hours,t.length):/mm|m/.test(t)?r[e]=w.digit(i.minutes,t.length):/ss|s/.test(t)&&(r[e]=w.digit(i.seconds,t.length))}),a.range&&!e?r.join("")+" "+a.range+" "+n.parse(1):r.join("")},T.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},T.prototype.setValue=function(e){var t=this,n=t.config,a=t.bindElem||n.elem[0],i=t.isInput(a)?"val":"html";return"static"===n.position||w(a)[i](e||""),this},T.prototype.stampRange=function(){var e,t,n=this,a=n.config,i=w(n.elem).find("td");if(a.range&&!n.endDate&&w(n.footer).find(g).addClass(s),n.endDate)return e=n.newDate({year:n.startDate.year,month:n.startDate.month,date:n.startDate.date}).getTime(),t=n.newDate({year:n.endDate.year,month:n.endDate.month,date:n.endDate.date}).getTime(),e>t?n.hint(l):void w.each(i,function(a,i){var r=w(i).attr("lay-ymd").split("-"),s=n.newDate({year:r[0],month:r[1]-1,date:r[2]}).getTime();w(i).removeClass(u+" "+o),s!==e&&s!==t||w(i).addClass(w(i).hasClass(y)||w(i).hasClass(f)?u:o),s>e&&s<t&&w(i).addClass(u)})},T.prototype.done=function(e,t){var n=this,a=n.config,i=w.extend({},n.startDate?w.extend(n.startDate,n.startTime):a.dateTime),r=w.extend({},w.extend(n.endDate,n.endTime));return w.each([i,r],function(e,t){"month"in t&&w.extend(t,{month:t.month+1})}),e=e||[n.parse(),i,r],"function"==typeof a[t||"done"]&&a[t||"done"].apply(a,e),n},T.prototype.choose=function(e){var t=this,n=t.config,a=n.dateTime,i=w(t.elem).find("td"),r=e.attr("lay-ymd").split("-"),l=function(e){new Date;e&&w.extend(a,r),n.range&&(t.startDate?w.extend(t.startDate,r):t.startDate=w.extend({},r,t.startTime),t.startYMD=r)};if(r={year:0|r[0],month:(0|r[1])-1,date:0|r[2]},!e.hasClass(s))if(n.range){if(w.each(["startTime","endTime"],function(e,n){t[n]=t[n]||{hours:0,minutes:0,seconds:0}}),t.endState)l(),delete t.endState,delete t.endDate,t.startState=!0,i.removeClass(o+" "+u),e.addClass(o);else if(t.startState){if(e.addClass(o),t.endDate?w.extend(t.endDate,r):t.endDate=w.extend({},r,t.endTime),t.newDate(r).getTime()<t.newDate(t.startYMD).getTime()){var d=w.extend({},t.endDate,{hours:t.startDate.hours,minutes:t.startDate.minutes,seconds:t.startDate.seconds});w.extend(t.endDate,t.startDate,{hours:t.endDate.hours,minutes:t.endDate.minutes,seconds:t.endDate.seconds}),t.startDate=d}n.showBottom||t.done(),t.stampRange(),t.endState=!0,t.done(null,"change")}else e.addClass(o),l(),t.startState=!0;w(t.footer).find(g)[t.endDate?"removeClass":"addClass"](s)}else"static"===n.position?(l(!0),t.calendar().done().done(null,"change")):"date"===n.type?(l(!0),t.setValue(t.parse()).remove().done()):"datetime"===n.type&&(l(!0),t.calendar().done(null,"change"))},T.prototype.tool=function(e,t){var n=this,a=n.config,i=a.dateTime,r="static"===a.position,o={datetime:function(){w(e).hasClass(s)||(n.list("time",0),a.range&&n.list("time",1),w(e).attr("lay-type","date").html(n.lang().dateTips))},date:function(){n.closeList(),w(e).attr("lay-type","datetime").html(n.lang().timeTips)},clear:function(){n.setValue("").remove(),r&&(w.extend(i,n.firstDate),n.calendar()),a.range&&(delete n.startState,delete n.endState,delete n.endDate,delete n.startTime,delete n.endTime),n.done(["",{},{}])},now:function(){var e=new Date;w.extend(i,n.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),n.setValue(n.parse()).remove(),r&&n.calendar(),n.done()},confirm:function(){if(a.range){if(!n.endDate)return n.hint("璇峰厛閫夋嫨鏃ユ湡鑼冨洿");if(w(e).hasClass(s))return n.hint("time"===a.type?l.replace(/鏃ユ湡/g,"鏃堕棿"):l)}else if(w(e).hasClass(s))return n.hint("涓嶅湪鏈夋晥鏃ユ湡鎴栨椂闂磋寖鍥村唴");n.done(),n.setValue(n.parse()).remove()}};o[t]&&o[t]()},T.prototype.change=function(e){var t=this,n=t.config,a=n.dateTime,i=n.range&&("year"===n.type||"month"===n.type),r=t.elemCont[e||0],o=t.listYM[e],s=function(s){var l=["startDate","endDate"][e],d=w(r).find(".laydate-year-list")[0],c=w(r).find(".laydate-month-list")[0];return d&&(o[0]=s?o[0]-15:o[0]+15,t.list("year",e)),c&&(s?o[0]--:o[0]++,t.list("month",e)),(d||c)&&(w.extend(a,{year:o[0]}),i&&(t[l].year=o[0]),n.range||t.done(null,"change"),t.setBtnStatus(),n.range||t.limit(w(t.footer).find(g),{year:o[0]})),d||c};return{prevYear:function(){s("sub")||(a.year--,t.checkDate("limit").calendar(),n.range||t.done(null,"change"))},prevMonth:function(){var e=t.getAsYM(a.year,a.month,"sub");w.extend(a,{year:e[0],month:e[1]}),t.checkDate("limit").calendar(),n.range||t.done(null,"change")},nextMonth:function(){var e=t.getAsYM(a.year,a.month);w.extend(a,{year:e[0],month:e[1]}),t.checkDate("limit").calendar(),n.range||t.done(null,"change")},nextYear:function(){s()||(a.year++,t.checkDate("limit").calendar(),n.range||t.done(null,"change"))}}},T.prototype.changeEvent=function(){var e=this;e.config;w(e.elem).on("click",function(e){w.stope(e)}),w.each(e.elemHeader,function(t,n){w(n[0]).on("click",function(n){e.change(t).prevYear()}),w(n[1]).on("click",function(n){e.change(t).prevMonth()}),w(n[2]).find("span").on("click",function(n){var a=w(this),i=a.attr("lay-ym"),r=a.attr("lay-type");i&&(i=i.split("-"),e.listYM[t]=[0|i[0],0|i[1]],e.list(r,t),w(e.footer).find(D).addClass(s))}),w(n[3]).on("click",function(n){e.change(t).nextMonth()}),w(n[4]).on("click",function(n){e.change(t).nextYear()})}),w.each(e.table,function(t,n){var a=w(n).find("td");a.on("click",function(){e.choose(w(this))})}),w(e.footer).find("span").on("click",function(){var t=w(this).attr("lay-type");e.tool(this,t)})},T.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())},T.prototype.events=function(){var e=this,t=e.config,n=function(n,a){n.on(t.trigger,function(){a&&(e.bindElem=this),e.render()})};t.elem[0]&&!t.elem[0].eventHandler&&(n(t.elem,"bind"),n(t.eventElem),w(document).on("click",function(n){n.target!==t.elem[0]&&n.target!==t.eventElem[0]&&n.target!==w(t.closeStop)[0]&&e.remove()}).on("keydown",function(t){13===t.keyCode&&w("#"+e.elemID)[0]&&e.elemID===T.thisElem&&(t.preventDefault(),w(e.footer).find(g)[0].click())}),w(window).on("resize",function(){return!(!e.elem||!w(r)[0])&&void e.position()}),t.elem[0].eventHandler=!0)},n.render=function(e){var t=new T(e);return a.call(t)},n.getEndDate=function(e,t){var n=new Date;return n.setFullYear(t||n.getFullYear(),e||n.getMonth()+1,1),new Date(n.getTime()-864e5).getDate()},window.lay=window.lay||w,e?(n.ready(),layui.define(function(e){n.path=layui.cache.dir,e(i,n)})):"function"==typeof define&&define.amd?define(function(){return n}):function(){n.ready(),window.laydate=n}()}(); +;!function () { + "use strict"; + var e = window.layui && layui.define, t = { + getPath: function () { + var e = document.currentScript ? document.currentScript.src : function () { + for (var e, t = document.scripts, n = t.length - 1, a = n; a > 0; a--) if ("interactive" === t[a].readyState) { + e = t[a].src; + break + } + return e || t[n].src + }(); + return e.substring(0, e.lastIndexOf("/") + 1) + }(), getStyle: function (e, t) { + var n = e.currentStyle ? e.currentStyle : window.getComputedStyle(e, null); + return n[n.getPropertyValue ? "getPropertyValue" : "getAttribute"](t) + }, link: function (e, a, i) { + if (n.path) { + var r = document.getElementsByTagName("head")[0], o = document.createElement("link"); + "string" == typeof a && (i = a); + var s = (i || e).replace(/\.|\//g, ""), l = "layuicss-" + s, d = 0; + o.rel = "stylesheet", o.href = n.path + e, o.id = l, document.getElementById(l) || r.appendChild(o), "function" == typeof a && !function c() { + return ++d > 80 ? window.console && console.error("laydate.css: Invalid") : void (1989 === parseInt(t.getStyle(document.getElementById(l), "width")) ? a() : setTimeout(c, 100)) + }() + } + } + }, n = { + v: "5.0.9", + config: {}, + index: window.laydate && window.laydate.v ? 1e5 : 0, + path: t.getPath, + set: function (e) { + var t = this; + return t.config = w.extend({}, t.config, e), t + }, + ready: function (a) { + var i = "laydate", r = "", o = (e ? "modules/laydate/" : "theme/") + "default/laydate.css?v=" + n.v + r; + return e ? layui.addcss(o, a, i) : t.link(o, a, i), this + } + }, a = function () { + var e = this; + return { + hint: function (t) { + e.hint.call(e, t) + }, config: e.config + } + }, i = "laydate", r = ".layui-laydate", o = "layui-this", s = "laydate-disabled", l = "寮�濮嬫棩鏈熻秴鍑轰簡缁撴潫鏃ユ湡<br>寤鸿閲嶆柊閫夋嫨", + d = [100, 2e5], c = "layui-laydate-static", m = "layui-laydate-list", u = "laydate-selected", + h = "layui-laydate-hint", y = "laydate-day-prev", f = "laydate-day-next", p = "layui-laydate-footer", + g = ".laydate-btns-confirm", v = "laydate-time-text", D = ".laydate-btns-time", T = function (e) { + var t = this; + t.index = ++n.index, t.config = w.extend({}, t.config, n.config, e), n.ready(function () { + t.init() + }) + }, w = function (e) { + return new C(e) + }, C = function (e) { + for (var t = 0, n = "object" == typeof e ? [e] : (this.selector = e, document.querySelectorAll(e || null)); t < n.length; t++) this.push(n[t]) + }; + C.prototype = [], C.prototype.constructor = C, w.extend = function () { + var e = 1, t = arguments, n = function (e, t) { + e = e || (t.constructor === Array ? [] : {}); + for (var a in t) e[a] = t[a] && t[a].constructor === Object ? n(e[a], t[a]) : t[a]; + return e + }; + for (t[0] = "object" == typeof t[0] ? t[0] : {}; e < t.length; e++) "object" == typeof t[e] && n(t[0], t[e]); + return t[0] + }, w.ie = function () { + var e = navigator.userAgent.toLowerCase(); + return !!(window.ActiveXObject || "ActiveXObject" in window) && ((e.match(/msie\s(\d+)/) || [])[1] || "11") + }(), w.stope = function (e) { + e = e || window.event, e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0 + }, w.each = function (e, t) { + var n, a = this; + if ("function" != typeof t) return a; + if (e = e || [], e.constructor === Object) { + for (n in e) if (t.call(e[n], n, e[n])) break + } else for (n = 0; n < e.length && !t.call(e[n], n, e[n]); n++) ; + return a + }, w.digit = function (e, t, n) { + var a = ""; + e = String(e), t = t || 2; + for (var i = e.length; i < t; i++) a += "0"; + return e < Math.pow(10, t) ? a + (0 | e) : e + }, w.elem = function (e, t) { + var n = document.createElement(e); + return w.each(t || {}, function (e, t) { + n.setAttribute(e, t) + }), n + }, C.addStr = function (e, t) { + return e = e.replace(/\s+/, " "), t = t.replace(/\s+/, " ").split(" "), w.each(t, function (t, n) { + new RegExp("\\b" + n + "\\b").test(e) || (e = e + " " + n) + }), e.replace(/^\s|\s$/, "") + }, C.removeStr = function (e, t) { + return e = e.replace(/\s+/, " "), t = t.replace(/\s+/, " ").split(" "), w.each(t, function (t, n) { + var a = new RegExp("\\b" + n + "\\b"); + a.test(e) && (e = e.replace(a, "")) + }), e.replace(/\s+/, " ").replace(/^\s|\s$/, "") + }, C.prototype.find = function (e) { + var t = this, n = 0, a = [], i = "object" == typeof e; + return this.each(function (r, o) { + for (var s = i ? [e] : o.querySelectorAll(e || null); n < s.length; n++) a.push(s[n]); + t.shift() + }), i || (t.selector = (t.selector ? t.selector + " " : "") + e), w.each(a, function (e, n) { + t.push(n) + }), t + }, C.prototype.each = function (e) { + return w.each.call(this, this, e) + }, C.prototype.addClass = function (e, t) { + return this.each(function (n, a) { + a.className = C[t ? "removeStr" : "addStr"](a.className, e) + }) + }, C.prototype.removeClass = function (e) { + return this.addClass(e, !0) + }, C.prototype.hasClass = function (e) { + var t = !1; + return this.each(function (n, a) { + new RegExp("\\b" + e + "\\b").test(a.className) && (t = !0) + }), t + }, C.prototype.attr = function (e, t) { + var n = this; + return void 0 === t ? function () { + if (n.length > 0) return n[0].getAttribute(e) + }() : n.each(function (n, a) { + a.setAttribute(e, t) + }) + }, C.prototype.removeAttr = function (e) { + return this.each(function (t, n) { + n.removeAttribute(e) + }) + }, C.prototype.html = function (e) { + return this.each(function (t, n) { + n.innerHTML = e + }) + }, C.prototype.val = function (e) { + return this.each(function (t, n) { + n.value = e + }) + }, C.prototype.append = function (e) { + return this.each(function (t, n) { + "object" == typeof e ? n.appendChild(e) : n.innerHTML = n.innerHTML + e + }) + }, C.prototype.remove = function (e) { + return this.each(function (t, n) { + e ? n.removeChild(e) : n.parentNode.removeChild(n) + }) + }, C.prototype.on = function (e, t) { + return this.each(function (n, a) { + a.attachEvent ? a.attachEvent("on" + e, function (e) { + e.target = e.srcElement, t.call(a, e) + }) : a.addEventListener(e, t, !1) + }) + }, C.prototype.off = function (e, t) { + return this.each(function (n, a) { + a.detachEvent ? a.detachEvent("on" + e, t) : a.removeEventListener(e, t, !1) + }) + }, T.isLeapYear = function (e) { + return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0 + }, T.prototype.config = { + type: "date", + range: !1, + format: "yyyy-MM-dd", + value: null, + min: "1900-1-1", + max: "2099-12-31", + trigger: "focus", + show: !1, + showBottom: !0, + btns: ["clear", "now", "confirm"], + lang: "cn", + theme: "default", + position: null, + calendar: !1, + mark: {}, + zIndex: null, + done: null, + change: null + }, T.prototype.lang = function () { + var e = this, t = e.config, n = { + cn: { + weeks: ["鏃�", "涓�", "浜�", "涓�", "鍥�", "浜�", "鍏�"], + time: ["鏃�", "鍒�", "绉�"], + timeTips: "閫夋嫨", + startTime: "寮�濮嬫椂闂�", + endTime: "缁撴潫鏃堕棿", + dateTips: "閫夋嫨鏃ユ湡", + month: ["涓�", "浜�", "涓�", "鍥�", "浜�", "鍏�", "涓�", "鍏�", "涔�", "鍗�", "鍗佷竴", "鍗佷簩"], + tools: {confirm: "纭", clear: "娓呯┖", now: "鐜板湪"} + }, + en: { + weeks: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + time: ["Hours", "Minutes", "Seconds"], + timeTips: "Select Time", + startTime: "Start Time", + endTime: "End Time", + dateTips: "Select Date", + month: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + tools: {confirm: "Confirm", clear: "Clear", now: "Now"} + } + }; + return n[t.lang] || n.cn + }, T.prototype.init = function () { + var e = this, t = e.config, n = "yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s", a = "static" === t.position, + i = {year: "yyyy", month: "yyyy-MM", date: "yyyy-MM-dd", time: "HH:mm:ss", datetime: "yyyy-MM-dd HH:mm:ss"}; + t.elem = w(t.elem), t.eventElem = w(t.eventElem), t.elem[0] && (t.range === !0 && (t.range = "-"), t.format === i.date && (t.format = i[t.type]), e.format = t.format.match(new RegExp(n + "|.", "g")) || [], e.EXP_IF = "", e.EXP_SPLIT = "", w.each(e.format, function (t, a) { + var i = new RegExp(n).test(a) ? "\\d{" + function () { + return new RegExp(n).test(e.format[0 === t ? t + 1 : t - 1] || "") ? /^yyyy|y$/.test(a) ? 4 : a.length : /^yyyy$/.test(a) ? "1,4" : /^y$/.test(a) ? "1,308" : "1,2" + }() + "}" : "\\" + a; + e.EXP_IF = e.EXP_IF + i, e.EXP_SPLIT = e.EXP_SPLIT + "(" + i + ")" + }), e.EXP_IF = new RegExp("^" + (t.range ? e.EXP_IF + "\\s\\" + t.range + "\\s" + e.EXP_IF : e.EXP_IF) + "$"), e.EXP_SPLIT = new RegExp("^" + e.EXP_SPLIT + "$", ""), e.isInput(t.elem[0]) || "focus" === t.trigger && (t.trigger = "click"), t.elem.attr("lay-key") || (t.elem.attr("lay-key", e.index), t.eventElem.attr("lay-key", e.index)), t.mark = w.extend({}, t.calendar && "cn" === t.lang ? { + "0-1-1": "鍏冩棪", + "0-2-14": "鎯呬汉", + "0-3-8": "濡囧コ", + "0-3-12": "妞嶆爲", + "0-4-1": "鎰氫汉", + "0-5-1": "鍔冲姩", + "0-5-4": "闈掑勾", + "0-6-1": "鍎跨", + "0-9-10": "鏁欏笀", + "0-9-18": "鍥借��", + "0-10-1": "鍥藉簡", + "0-12-25": "鍦h癁" + } : {}, t.mark), w.each(["min", "max"], function (e, n) { + var a = [], i = []; + if ("number" == typeof t[n]) { + var r = t[n], o = (new Date).getTime(), s = 864e5, l = new Date(r ? r < s ? o + r * s : r : o); + a = [l.getFullYear(), l.getMonth() + 1, l.getDate()], r < s || (i = [l.getHours(), l.getMinutes(), l.getSeconds()]) + } else a = (t[n].match(/\d+-\d+-\d+/) || [""])[0].split("-"), i = (t[n].match(/\d+:\d+:\d+/) || [""])[0].split(":"); + t[n] = { + year: 0 | a[0] || (new Date).getFullYear(), + month: a[1] ? (0 | a[1]) - 1 : (new Date).getMonth(), + date: 0 | a[2] || (new Date).getDate(), + hours: 0 | i[0], + minutes: 0 | i[1], + seconds: 0 | i[2] + } + }), e.elemID = "layui-laydate" + t.elem.attr("lay-key"), (t.show || a) && e.render(), a || e.events(), t.value && (t.value.constructor === Date ? e.setValue(e.parse(0, e.systemDate(t.value))) : e.setValue(t.value))) + }, T.prototype.render = function () { + var e = this, t = e.config, n = e.lang(), a = "static" === t.position, i = e.elem = w.elem("div", { + id: e.elemID, + "class": ["layui-laydate", t.range ? " layui-laydate-range" : "", a ? " " + c : "", t.theme && "default" !== t.theme && !/^#/.test(t.theme) ? " laydate-theme-" + t.theme : ""].join("") + }), r = e.elemMain = [], o = e.elemHeader = [], s = e.elemCont = [], l = e.table = [], + d = e.footer = w.elem("div", {"class": p}); + if (t.zIndex && (i.style.zIndex = t.zIndex), w.each(new Array(2), function (e) { + if (!t.range && e > 0) return !0; + var a = w.elem("div", {"class": "layui-laydate-header"}), i = [function () { + var e = w.elem("i", {"class": "layui-icon laydate-icon laydate-prev-y"}); + return e.innerHTML = "", e + }(), function () { + var e = w.elem("i", {"class": "layui-icon laydate-icon laydate-prev-m"}); + return e.innerHTML = "", e + }(), function () { + var e = w.elem("div", {"class": "laydate-set-ym"}), t = w.elem("span"), n = w.elem("span"); + return e.appendChild(t), e.appendChild(n), e + }(), function () { + var e = w.elem("i", {"class": "layui-icon laydate-icon laydate-next-m"}); + return e.innerHTML = "", e + }(), function () { + var e = w.elem("i", {"class": "layui-icon laydate-icon laydate-next-y"}); + return e.innerHTML = "", e + }()], d = w.elem("div", {"class": "layui-laydate-content"}), c = w.elem("table"), m = w.elem("thead"), + u = w.elem("tr"); + w.each(i, function (e, t) { + a.appendChild(t) + }), m.appendChild(u), w.each(new Array(6), function (e) { + var t = c.insertRow(0); + w.each(new Array(7), function (a) { + if (0 === e) { + var i = w.elem("th"); + i.innerHTML = n.weeks[a], u.appendChild(i) + } + t.insertCell(a) + }) + }), c.insertBefore(m, c.children[0]), d.appendChild(c), r[e] = w.elem("div", {"class": "layui-laydate-main laydate-main-list-" + e}), r[e].appendChild(a), r[e].appendChild(d), o.push(i), s.push(d), l.push(c) + }), w(d).html(function () { + var e = [], i = []; + return "datetime" === t.type && e.push('<span lay-type="datetime" class="laydate-btns-time">' + n.timeTips + "</span>"), w.each(t.btns, function (e, r) { + var o = n.tools[r] || "btn"; + t.range && "now" === r || (a && "clear" === r && (o = "cn" === t.lang ? "閲嶇疆" : "Reset"), i.push('<span lay-type="' + r + '" class="laydate-btns-' + r + '">' + o + "</span>")) + }), e.push('<div class="laydate-footer-btns">' + i.join("") + "</div>"), e.join("") + }()), w.each(r, function (e, t) { + i.appendChild(t) + }), t.showBottom && i.appendChild(d), /^#/.test(t.theme)) { + var m = w.elem("style"), + u = ["#{{id}} .layui-laydate-header{background-color:{{theme}};}", "#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g, e.elemID).replace(/{{theme}}/g, t.theme); + "styleSheet" in m ? (m.setAttribute("type", "text/css"), m.styleSheet.cssText = u) : m.innerHTML = u, w(i).addClass("laydate-theme-molv"), i.appendChild(m) + } + e.remove(T.thisElemDate), a ? t.elem.append(i) : (document.body.appendChild(i), e.position()), e.checkDate().calendar(), e.changeEvent(), T.thisElemDate = e.elemID, "function" == typeof t.ready && t.ready(w.extend({}, t.dateTime, {month: t.dateTime.month + 1})) + }, T.prototype.remove = function (e) { + var t = this, n = (t.config, w("#" + (e || t.elemID))); + return n.hasClass(c) || t.checkDate(function () { + n.remove() + }), t + }, T.prototype.position = function () { + var e = this, t = e.config, n = e.bindElem || t.elem[0], a = n.getBoundingClientRect(), i = e.elem.offsetWidth, + r = e.elem.offsetHeight, o = function (e) { + return e = e ? "scrollLeft" : "scrollTop", document.body[e] | document.documentElement[e] + }, s = function (e) { + return document.documentElement[e ? "clientWidth" : "clientHeight"] + }, l = 5, d = a.left, c = a.bottom; + d + i + l > s("width") && (d = s("width") - i - l), c + r + l > s() && (c = a.top > r ? a.top - r : s() - r, c -= 2 * l), t.position && (e.elem.style.position = t.position), e.elem.style.left = d + ("fixed" === t.position ? 0 : o(1)) + "px", e.elem.style.top = c + ("fixed" === t.position ? 0 : o()) + "px" + }, T.prototype.hint = function (e) { + var t = this, n = (t.config, w.elem("div", {"class": h})); + n.innerHTML = e || "", w(t.elem).find("." + h).remove(), t.elem.appendChild(n), clearTimeout(t.hinTimer), t.hinTimer = setTimeout(function () { + w(t.elem).find("." + h).remove() + }, 3e3) + }, T.prototype.getAsYM = function (e, t, n) { + return n ? t-- : t++, t < 0 && (t = 11, e--), t > 11 && (t = 0, e++), [e, t] + }, T.prototype.systemDate = function (e) { + var t = e || new Date; + return { + year: t.getFullYear(), + month: t.getMonth(), + date: t.getDate(), + hours: e ? e.getHours() : 0, + minutes: e ? e.getMinutes() : 0, + seconds: e ? e.getSeconds() : 0 + } + }, T.prototype.checkDate = function (e) { + var t, a, i = this, r = (new Date, i.config), o = r.dateTime = r.dateTime || i.systemDate(), + s = i.bindElem || r.elem[0], + l = (i.isInput(s) ? "val" : "html", i.isInput(s) ? s.value : "static" === r.position ? "" : s.innerHTML), + c = function (e) { + e.year > d[1] && (e.year = d[1], a = !0), e.month > 11 && (e.month = 11, a = !0), e.hours > 23 && (e.hours = 0, a = !0), e.minutes > 59 && (e.minutes = 0, e.hours++, a = !0), e.seconds > 59 && (e.seconds = 0, e.minutes++, a = !0), t = n.getEndDate(e.month + 1, e.year), e.date > t && (e.date = t, a = !0) + }, m = function (e, t, n) { + var o = ["startTime", "endTime"]; + t = (t.match(i.EXP_SPLIT) || []).slice(1), n = n || 0, r.range && (i[o[n]] = i[o[n]] || {}), w.each(i.format, function (s, l) { + var c = parseFloat(t[s]); + t[s].length < l.length && (a = !0), /yyyy|y/.test(l) ? (c < d[0] && (c = d[0], a = !0), e.year = c) : /MM|M/.test(l) ? (c < 1 && (c = 1, a = !0), e.month = c - 1) : /dd|d/.test(l) ? (c < 1 && (c = 1, a = !0), e.date = c) : /HH|H/.test(l) ? (c < 1 && (c = 0, a = !0), e.hours = c, r.range && (i[o[n]].hours = c)) : /mm|m/.test(l) ? (c < 1 && (c = 0, a = !0), e.minutes = c, r.range && (i[o[n]].minutes = c)) : /ss|s/.test(l) && (c < 1 && (c = 0, a = !0), e.seconds = c, r.range && (i[o[n]].seconds = c)) + }), c(e) + }; + return "limit" === e ? (c(o), i) : (l = l || r.value, "string" == typeof l && (l = l.replace(/\s+/g, " ").replace(/^\s|\s$/g, "")), i.startState && !i.endState && (delete i.startState, i.endState = !0), "string" == typeof l && l ? i.EXP_IF.test(l) ? r.range ? (l = l.split(" " + r.range + " "), i.startDate = i.startDate || i.systemDate(), i.endDate = i.endDate || i.systemDate(), r.dateTime = w.extend({}, i.startDate), w.each([i.startDate, i.endDate], function (e, t) { + m(t, l[e], e) + })) : m(o, l) : (i.hint("鏃ユ湡鏍煎紡涓嶅悎娉�<br>蹇呴』閬靛惊涓嬭堪鏍煎紡锛�<br>" + (r.range ? r.format + " " + r.range + " " + r.format : r.format) + "<br>宸蹭负浣犻噸缃�"), a = !0) : l && l.constructor === Date ? r.dateTime = i.systemDate(l) : (r.dateTime = i.systemDate(), delete i.startState, delete i.endState, delete i.startDate, delete i.endDate, delete i.startTime, delete i.endTime), c(o), a && l && i.setValue(r.range ? i.endDate ? i.parse() : "" : i.parse()), e && e(), i) + }, T.prototype.mark = function (e, t) { + var n, a = this, i = a.config; + return w.each(i.mark, function (e, a) { + var i = e.split("-"); + i[0] != t[0] && 0 != i[0] || i[1] != t[1] && 0 != i[1] || i[2] != t[2] || (n = a || t[2]) + }), n && e.html('<span class="laydate-day-mark">' + n + "</span>"), a + }, T.prototype.limit = function (e, t, n, a) { + var i, r = this, o = r.config, l = {}, d = o[n > 41 ? "endDate" : "dateTime"], c = w.extend({}, d, t || {}); + return w.each({now: c, min: o.min, max: o.max}, function (e, t) { + l[e] = r.newDate(w.extend({year: t.year, month: t.month, date: t.date}, function () { + var e = {}; + return w.each(a, function (n, a) { + e[a] = t[a] + }), e + }())).getTime() + }), i = l.now < l.min || l.now > l.max, e && e[i ? "addClass" : "removeClass"](s), i + }, T.prototype.calendar = function (e) { + var t, a, i, r = this, s = r.config, l = e || s.dateTime, c = new Date, m = r.lang(), + u = "date" !== s.type && "datetime" !== s.type, h = e ? 1 : 0, y = w(r.table[h]).find("td"), + f = w(r.elemHeader[h][2]).find("span"); + if (l.year < d[0] && (l.year = d[0], r.hint("鏈�浣庡彧鑳芥敮鎸佸埌鍏厓" + d[0] + "骞�")), l.year > d[1] && (l.year = d[1], r.hint("鏈�楂樺彧鑳芥敮鎸佸埌鍏厓" + d[1] + "骞�")), r.firstDate || (r.firstDate = w.extend({}, l)), c.setFullYear(l.year, l.month, 1), t = c.getDay(), a = n.getEndDate(l.month || 12, l.year), i = n.getEndDate(l.month + 1, l.year), w.each(y, function (e, n) { + var d = [l.year, l.month], c = 0; + n = w(n), n.removeAttr("class"), e < t ? (c = a - t + e, n.addClass("laydate-day-prev"), d = r.getAsYM(l.year, l.month, "sub")) : e >= t && e < i + t ? (c = e - t, s.range || c + 1 === l.date && n.addClass(o)) : (c = e - i - t, n.addClass("laydate-day-next"), d = r.getAsYM(l.year, l.month)), d[1]++, d[2] = c + 1, n.attr("lay-ymd", d.join("-")).html(d[2]), r.mark(n, d).limit(n, { + year: d[0], + month: d[1] - 1, + date: d[2] + }, e) + }), w(f[0]).attr("lay-ym", l.year + "-" + (l.month + 1)), w(f[1]).attr("lay-ym", l.year + "-" + (l.month + 1)), "cn" === s.lang ? (w(f[0]).attr("lay-type", "year").html(l.year + ""), w(f[1]).attr("lay-type", "month").html(l.month + 1 + "")) : (w(f[0]).attr("lay-type", "month").html(m.month[l.month]), w(f[1]).attr("lay-type", "year").html(l.year)), u && (s.range && (e ? r.endDate = r.endDate || { + year: l.year + ("year" === s.type ? 1 : 0), + month: l.month + ("month" === s.type ? 0 : -1) + } : r.startDate = r.startDate || { + year: l.year, + month: l.month + }, e && (r.listYM = [[r.startDate.year, r.startDate.month + 1], [r.endDate.year, r.endDate.month + 1]], r.list(s.type, 0).list(s.type, 1), "time" === s.type ? r.setBtnStatus("鏃堕棿", w.extend({}, r.systemDate(), r.startTime), w.extend({}, r.systemDate(), r.endTime)) : r.setBtnStatus(!0))), s.range || (r.listYM = [[l.year, l.month + 1]], r.list(s.type, 0))), s.range && !e) { + var p = r.getAsYM(l.year, l.month); + r.calendar(w.extend({}, l, {year: p[0], month: p[1]})) + } + return s.range || r.limit(w(r.footer).find(g), null, 0, ["hours", "minutes", "seconds"]), s.range && e && !u && r.stampRange(), r + }, T.prototype.list = function (e, t) { + var n = this, a = n.config, i = a.dateTime, r = n.lang(), + l = a.range && "date" !== a.type && "datetime" !== a.type, d = w.elem("ul", { + "class": m + " " + { + year: "laydate-year-list", + month: "laydate-month-list", + time: "laydate-time-list" + }[e] + }), c = n.elemHeader[t], u = w(c[2]).find("span"), h = n.elemCont[t || 0], y = w(h).find("." + m)[0], + f = "cn" === a.lang, p = f ? "" : "", T = n.listYM[t] || {}, C = ["hours", "minutes", "seconds"], + x = ["startTime", "endTime"][t]; + if (T[0] < 1 && (T[0] = 1), "year" === e) { + var M, b = M = T[0] - 7; + b < 1 && (b = M = 1), w.each(new Array(15), function (e) { + var i = w.elem("li", {"lay-ym": M}), r = {year: M}; + M == T[0] && w(i).addClass(o), i.innerHTML = M + p, d.appendChild(i), M < n.firstDate.year ? (r.month = a.min.month, r.date = a.min.date) : M >= n.firstDate.year && (r.month = a.max.month, r.date = a.max.date), n.limit(w(i), r, t), M++ + }), w(u[f ? 0 : 1]).attr("lay-ym", M - 8 + "-" + T[1]).html(b + p + " - " + (M - 1 + p)) + } else if ("month" === e) w.each(new Array(12), function (e) { + var i = w.elem("li", {"lay-ym": e}), s = {year: T[0], month: e}; + e + 1 == T[1] && w(i).addClass(o), i.innerHTML = r.month[e] + (f ? "" : ""), d.appendChild(i), T[0] < n.firstDate.year ? s.date = a.min.date : T[0] >= n.firstDate.year && (s.date = a.max.date), n.limit(w(i), s, t) + }), w(u[f ? 0 : 1]).attr("lay-ym", T[0] + "-" + T[1]).html(T[0] + p); else if ("time" === e) { + var E = function () { + w(d).find("ol").each(function (e, a) { + w(a).find("li").each(function (a, i) { + n.limit(w(i), [{hours: a}, {hours: n[x].hours, minutes: a}, { + hours: n[x].hours, + minutes: n[x].minutes, + seconds: a + }][e], t, [["hours"], ["hours", "minutes"], ["hours", "minutes", "seconds"]][e]) + }) + }), a.range || n.limit(w(n.footer).find(g), n[x], 0, ["hours", "minutes", "seconds"]) + }; + a.range ? n[x] || (n[x] = { + hours: 0, + minutes: 0, + seconds: 0 + }) : n[x] = i, w.each([24, 60, 60], function (e, t) { + var a = w.elem("li"), i = ["<p>" + r.time[e] + "</p><ol>"]; + w.each(new Array(t), function (t) { + i.push("<li" + (n[x][C[e]] === t ? ' class="' + o + '"' : "") + ">" + w.digit(t, 2) + "</li>") + }), a.innerHTML = i.join("") + "</ol>", d.appendChild(a) + }), E() + } + if (y && h.removeChild(y), h.appendChild(d), "year" === e || "month" === e) w(n.elemMain[t]).addClass("laydate-ym-show"), w(d).find("li").on("click", function () { + var r = 0 | w(this).attr("lay-ym"); + if (!w(this).hasClass(s)) { + if (0 === t) i[e] = r, l && (n.startDate[e] = r), n.limit(w(n.footer).find(g), null, 0); else if (l) n.endDate[e] = r; else { + var c = "year" === e ? n.getAsYM(r, T[1] - 1, "sub") : n.getAsYM(T[0], r, "sub"); + w.extend(i, {year: c[0], month: c[1]}) + } + "year" === a.type || "month" === a.type ? (w(d).find("." + o).removeClass(o), w(this).addClass(o), "month" === a.type && "year" === e && (n.listYM[t][0] = r, l && (n[["startDate", "endDate"][t]].year = r), n.list("month", t))) : (n.checkDate("limit").calendar(), n.closeList()), n.setBtnStatus(), a.range || n.done(null, "change"), w(n.footer).find(D).removeClass(s) + } + }); else { + var S = w.elem("span", {"class": v}), k = function () { + w(d).find("ol").each(function (e) { + var t = this, a = w(t).find("li"); + t.scrollTop = 30 * (n[x][C[e]] - 2), t.scrollTop <= 0 && a.each(function (e, n) { + if (!w(this).hasClass(s)) return t.scrollTop = 30 * (e - 2), !0 + }) + }) + }, H = w(c[2]).find("." + v); + k(), S.innerHTML = a.range ? [r.startTime, r.endTime][t] : r.timeTips, w(n.elemMain[t]).addClass("laydate-time-show"), H[0] && H.remove(), c[2].appendChild(S), w(d).find("ol").each(function (e) { + var t = this; + w(t).find("li").on("click", function () { + var r = 0 | this.innerHTML; + w(this).hasClass(s) || (a.range ? n[x][C[e]] = r : i[C[e]] = r, w(t).find("." + o).removeClass(o), w(this).addClass(o), E(), k(), (n.endDate || "time" === a.type) && n.done(null, "change"), n.setBtnStatus()) + }) + }) + } + return n + }, T.prototype.listYM = [], T.prototype.closeList = function () { + var e = this; + e.config; + w.each(e.elemCont, function (t, n) { + w(this).find("." + m).remove(), w(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show") + }), w(e.elem).find("." + v).remove() + }, T.prototype.setBtnStatus = function (e, t, n) { + var a, i = this, r = i.config, o = w(i.footer).find(g), d = r.range && "date" !== r.type && "time" !== r.type; + d && (t = t || i.startDate, n = n || i.endDate, a = i.newDate(t).getTime() > i.newDate(n).getTime(), i.limit(null, t) || i.limit(null, n) ? o.addClass(s) : o[a ? "addClass" : "removeClass"](s), e && a && i.hint("string" == typeof e ? l.replace(/鏃ユ湡/g, e) : l)) + }, T.prototype.parse = function (e, t) { + var n = this, a = n.config, + i = t || (e ? w.extend({}, n.endDate, n.endTime) : a.range ? w.extend({}, n.startDate, n.startTime) : a.dateTime), + r = n.format.concat(); + return w.each(r, function (e, t) { + /yyyy|y/.test(t) ? r[e] = w.digit(i.year, t.length) : /MM|M/.test(t) ? r[e] = w.digit(i.month + 1, t.length) : /dd|d/.test(t) ? r[e] = w.digit(i.date, t.length) : /HH|H/.test(t) ? r[e] = w.digit(i.hours, t.length) : /mm|m/.test(t) ? r[e] = w.digit(i.minutes, t.length) : /ss|s/.test(t) && (r[e] = w.digit(i.seconds, t.length)) + }), a.range && !e ? r.join("") + " " + a.range + " " + n.parse(1) : r.join("") + }, T.prototype.newDate = function (e) { + return e = e || {}, new Date(e.year || 1, e.month || 0, e.date || 1, e.hours || 0, e.minutes || 0, e.seconds || 0) + }, T.prototype.setValue = function (e) { + var t = this, n = t.config, a = t.bindElem || n.elem[0], i = t.isInput(a) ? "val" : "html"; + return "static" === n.position || w(a)[i](e || ""), this + }, T.prototype.stampRange = function () { + var e, t, n = this, a = n.config, i = w(n.elem).find("td"); + if (a.range && !n.endDate && w(n.footer).find(g).addClass(s), n.endDate) return e = n.newDate({ + year: n.startDate.year, + month: n.startDate.month, + date: n.startDate.date + }).getTime(), t = n.newDate({ + year: n.endDate.year, + month: n.endDate.month, + date: n.endDate.date + }).getTime(), e > t ? n.hint(l) : void w.each(i, function (a, i) { + var r = w(i).attr("lay-ymd").split("-"), s = n.newDate({year: r[0], month: r[1] - 1, date: r[2]}).getTime(); + w(i).removeClass(u + " " + o), s !== e && s !== t || w(i).addClass(w(i).hasClass(y) || w(i).hasClass(f) ? u : o), s > e && s < t && w(i).addClass(u) + }) + }, T.prototype.done = function (e, t) { + var n = this, a = n.config, i = w.extend({}, n.startDate ? w.extend(n.startDate, n.startTime) : a.dateTime), + r = w.extend({}, w.extend(n.endDate, n.endTime)); + return w.each([i, r], function (e, t) { + "month" in t && w.extend(t, {month: t.month + 1}) + }), e = e || [n.parse(), i, r], "function" == typeof a[t || "done"] && a[t || "done"].apply(a, e), n + }, T.prototype.choose = function (e) { + var t = this, n = t.config, a = n.dateTime, i = w(t.elem).find("td"), r = e.attr("lay-ymd").split("-"), + l = function (e) { + new Date; + e && w.extend(a, r), n.range && (t.startDate ? w.extend(t.startDate, r) : t.startDate = w.extend({}, r, t.startTime), t.startYMD = r) + }; + if (r = {year: 0 | r[0], month: (0 | r[1]) - 1, date: 0 | r[2]}, !e.hasClass(s)) if (n.range) { + if (w.each(["startTime", "endTime"], function (e, n) { + t[n] = t[n] || {hours: 0, minutes: 0, seconds: 0} + }), t.endState) l(), delete t.endState, delete t.endDate, t.startState = !0, i.removeClass(o + " " + u), e.addClass(o); else if (t.startState) { + if (e.addClass(o), t.endDate ? w.extend(t.endDate, r) : t.endDate = w.extend({}, r, t.endTime), t.newDate(r).getTime() < t.newDate(t.startYMD).getTime()) { + var d = w.extend({}, t.endDate, { + hours: t.startDate.hours, + minutes: t.startDate.minutes, + seconds: t.startDate.seconds + }); + w.extend(t.endDate, t.startDate, { + hours: t.endDate.hours, + minutes: t.endDate.minutes, + seconds: t.endDate.seconds + }), t.startDate = d + } + n.showBottom || t.done(), t.stampRange(), t.endState = !0, t.done(null, "change") + } else e.addClass(o), l(), t.startState = !0; + w(t.footer).find(g)[t.endDate ? "removeClass" : "addClass"](s) + } else "static" === n.position ? (l(!0), t.calendar().done().done(null, "change")) : "date" === n.type ? (l(!0), t.setValue(t.parse()).remove().done()) : "datetime" === n.type && (l(!0), t.calendar().done(null, "change")) + }, T.prototype.tool = function (e, t) { + var n = this, a = n.config, i = a.dateTime, r = "static" === a.position, o = { + datetime: function () { + w(e).hasClass(s) || (n.list("time", 0), a.range && n.list("time", 1), w(e).attr("lay-type", "date").html(n.lang().dateTips)) + }, date: function () { + n.closeList(), w(e).attr("lay-type", "datetime").html(n.lang().timeTips) + }, clear: function () { + n.setValue("").remove(), r && (w.extend(i, n.firstDate), n.calendar()), a.range && (delete n.startState, delete n.endState, delete n.endDate, delete n.startTime, delete n.endTime), n.done(["", {}, {}]) + }, now: function () { + var e = new Date; + w.extend(i, n.systemDate(), { + hours: e.getHours(), + minutes: e.getMinutes(), + seconds: e.getSeconds() + }), n.setValue(n.parse()).remove(), r && n.calendar(), n.done() + }, confirm: function () { + if (a.range) { + if (!n.endDate) return n.hint("璇峰厛閫夋嫨鏃ユ湡鑼冨洿"); + if (w(e).hasClass(s)) return n.hint("time" === a.type ? l.replace(/鏃ユ湡/g, "鏃堕棿") : l) + } else if (w(e).hasClass(s)) return n.hint("涓嶅湪鏈夋晥鏃ユ湡鎴栨椂闂磋寖鍥村唴"); + n.done(), n.setValue(n.parse()).remove() + } + }; + o[t] && o[t]() + }, T.prototype.change = function (e) { + var t = this, n = t.config, a = n.dateTime, i = n.range && ("year" === n.type || "month" === n.type), + r = t.elemCont[e || 0], o = t.listYM[e], s = function (s) { + var l = ["startDate", "endDate"][e], d = w(r).find(".laydate-year-list")[0], + c = w(r).find(".laydate-month-list")[0]; + return d && (o[0] = s ? o[0] - 15 : o[0] + 15, t.list("year", e)), c && (s ? o[0]-- : o[0]++, t.list("month", e)), (d || c) && (w.extend(a, {year: o[0]}), i && (t[l].year = o[0]), n.range || t.done(null, "change"), t.setBtnStatus(), n.range || t.limit(w(t.footer).find(g), {year: o[0]})), d || c + }; + return { + prevYear: function () { + s("sub") || (a.year--, t.checkDate("limit").calendar(), n.range || t.done(null, "change")) + }, prevMonth: function () { + var e = t.getAsYM(a.year, a.month, "sub"); + w.extend(a, { + year: e[0], + month: e[1] + }), t.checkDate("limit").calendar(), n.range || t.done(null, "change") + }, nextMonth: function () { + var e = t.getAsYM(a.year, a.month); + w.extend(a, { + year: e[0], + month: e[1] + }), t.checkDate("limit").calendar(), n.range || t.done(null, "change") + }, nextYear: function () { + s() || (a.year++, t.checkDate("limit").calendar(), n.range || t.done(null, "change")) + } + } + }, T.prototype.changeEvent = function () { + var e = this; + e.config; + w(e.elem).on("click", function (e) { + w.stope(e) + }), w.each(e.elemHeader, function (t, n) { + w(n[0]).on("click", function (n) { + e.change(t).prevYear() + }), w(n[1]).on("click", function (n) { + e.change(t).prevMonth() + }), w(n[2]).find("span").on("click", function (n) { + var a = w(this), i = a.attr("lay-ym"), r = a.attr("lay-type"); + i && (i = i.split("-"), e.listYM[t] = [0 | i[0], 0 | i[1]], e.list(r, t), w(e.footer).find(D).addClass(s)) + }), w(n[3]).on("click", function (n) { + e.change(t).nextMonth() + }), w(n[4]).on("click", function (n) { + e.change(t).nextYear() + }) + }), w.each(e.table, function (t, n) { + var a = w(n).find("td"); + a.on("click", function () { + e.choose(w(this)) + }) + }), w(e.footer).find("span").on("click", function () { + var t = w(this).attr("lay-type"); + e.tool(this, t) + }) + }, T.prototype.isInput = function (e) { + return /input|textarea/.test(e.tagName.toLocaleLowerCase()) + }, T.prototype.events = function () { + var e = this, t = e.config, n = function (n, a) { + n.on(t.trigger, function () { + a && (e.bindElem = this), e.render() + }) + }; + t.elem[0] && !t.elem[0].eventHandler && (n(t.elem, "bind"), n(t.eventElem), w(document).on("click", function (n) { + n.target !== t.elem[0] && n.target !== t.eventElem[0] && n.target !== w(t.closeStop)[0] && e.remove() + }).on("keydown", function (t) { + 13 === t.keyCode && w("#" + e.elemID)[0] && e.elemID === T.thisElem && (t.preventDefault(), w(e.footer).find(g)[0].click()) + }), w(window).on("resize", function () { + return !(!e.elem || !w(r)[0]) && void e.position() + }), t.elem[0].eventHandler = !0) + }, n.render = function (e) { + var t = new T(e); + return a.call(t) + }, n.getEndDate = function (e, t) { + var n = new Date; + return n.setFullYear(t || n.getFullYear(), e || n.getMonth() + 1, 1), new Date(n.getTime() - 864e5).getDate() + }, window.lay = window.lay || w, e ? (n.ready(), layui.define(function (e) { + n.path = layui.cache.dir, e(i, n) + })) : "function" == typeof define && define.amd ? define(function () { + return n + }) : function () { + n.ready(), window.laydate = n + }() +}(); diff --git a/src/main/resources/static/downloadTemplates/ReportTemplates/Bar1_V2.png b/src/main/resources/static/downloadTemplates/ReportTemplates/Bar1_V2.png new file mode 100644 index 0000000..00eeb15 --- /dev/null +++ b/src/main/resources/static/downloadTemplates/ReportTemplates/Bar1_V2.png Binary files differ diff --git a/src/main/resources/static/downloadTemplates/ReportTemplates/Bar2_V2.png b/src/main/resources/static/downloadTemplates/ReportTemplates/Bar2_V2.png new file mode 100644 index 0000000..66c5343 --- /dev/null +++ b/src/main/resources/static/downloadTemplates/ReportTemplates/Bar2_V2.png Binary files differ diff --git a/src/main/resources/static/downloadTemplates/ReportTemplates/waterDropDarkBlue_V2.png b/src/main/resources/static/downloadTemplates/ReportTemplates/waterDropDarkBlue_V2.png new file mode 100644 index 0000000..bc7ffcf --- /dev/null +++ b/src/main/resources/static/downloadTemplates/ReportTemplates/waterDropDarkBlue_V2.png Binary files differ diff --git a/src/main/resources/static/i18n/messages_en_US.properties b/src/main/resources/static/i18n/messages_en_US.properties index 113ae9c..409c029 100644 --- a/src/main/resources/static/i18n/messages_en_US.properties +++ b/src/main/resources/static/i18n/messages_en_US.properties @@ -20,7 +20,7 @@ basis.pleasechoose=Please choose basis.save=Save basis.close=Close -basis.createTime=Create Time +basis.createTime=Creating Time basis.createName=Creator basis.createBy=CreatorID basis.languageVersion=Language Version @@ -120,6 +120,7 @@ menu.system.user.manager.view=Manager List menu.exam.distributor.view=Distributor List menu.exam.enterprise.view=Client List +menu.exam.enterprise.view1=Search distributors/clients menu.questionbank.manager=Testbank Management menu.testbackage.manager=Test Pakcage Management menu.param.manager=Paramater Management @@ -182,7 +183,7 @@ menu.exam.user.extend.list=List User Extension menu.exam.user.extend.add=Add User Extenstion menu.exam.user.extend.edit=Edit User Extension -menu.exam.testMember.list=View Testtaker +menu.exam.testMember.list=Search test-takers menu.exam.testMember.add=Add Testtaker menu.exam.testMember.edit=Edit Testtaker menu.exam.testMember.remove=Delete Testtaker @@ -316,8 +317,8 @@ jsp.exam.report.003=Data is being exported, please wait\u2026 jsp.exam.report.004=Some complete reports are not allowed to be downloaded. Please select again. jsp.exam.report.005=Under construction -jsp.exam.report.006=Test package Name -jsp.exam.report.007=Product Name +jsp.exam.report.006=Test package +jsp.exam.report.007=Test Product jsp.exam.report.008=User Name jsp.exam.report.009=Client Name jsp.exam.report.010=Distributor User @@ -346,7 +347,7 @@ jsp.exam.test_package.006=recycle jsp.exam.test_package.007=Report jsp.exam.test_package.008=Client code -jsp.exam.test_package.009=Testtakers +jsp.exam.test_package.009=Assigned # of Tests jsp.exam.test_package.010=# of Tests Completed jsp.exam.test_package.0101=# of Tests Incomplete jsp.exam.test_package.011=# of Tests Not Started @@ -384,7 +385,7 @@ jsp.system.config.004=System Imbed jsp.system.config.005=Parameter Key Name Already Existing jsp.system.dept.001=Superior Dept -jsp.system.dept.002=Dept Name +jsp.system.dept.002=Dept jsp.system.dept.003=Show Ordering jsp.system.dept.004=Contact Person jsp.system.dept.005=Telephone @@ -579,7 +580,7 @@ dict.ic124=Chinese dict.ic125=English dict.ic126=\u0E44\u0E17\u0E22 -dict.ic127=Start +dict.ic127=In Use dict.ic128=Pause dict.ic129=End dict.ic130=Expire @@ -711,7 +712,7 @@ basis.content=Content basis.testPackageName=Test Package Nme basis.testProducts=Product Name -basis.area=Area +basis.area=Region jsp.monitor.operlog.systemModule=System Module jsp.monitor.operlog.logNumber=Log Number jsp.monitor.operlog.operator=Operator @@ -752,7 +753,7 @@ basis.freelogin=Direct Login jsp.system.user.profile.029=Return to Main Account jsp.exam.test_package.startTime=Test Start time -jsp.exam.test_package.endTime=Test End time +jsp.exam.test_package.endTime=Test Ending time jsp.exam.test_package.testinfo=View Progress jsp.exam.test_package.testtoken=token jsp.exam.test_package.timeSpent=Time Spent @@ -942,15 +943,17 @@ whether.to.update.existing.data=Whether to update existing data dataFormatError=Data format error the.name.cannot.contain.special.characters=Special characters not allowed -test.user.name=User Name +test.user.name=Test-taker language.used.in.the.test=Test Language current.time=DateTime -enterprise.customer.name=Company Name -test.product.name=Product Package Name +enterprise.customer.name=Client/Distributor +test.product.name=Test Product test.user.name.dict1=Search by Test-Taker Name test.user.name.dict2=Search by Test-Taker Email test.user.name.dict3=Search by Test-Taker Cell# test.user.name.dict4=Search by Test-Taker Code jsp.main.other.001=Recently Completed Tests jsp.main.other.002=Recently Abandoned Tests or Tests Being Completed -jsp.main.other.003=Recently Created Test Packages \ No newline at end of file +jsp.main.other.003=Recently Created Test Packages +jsp.main.other.004=Most Recent Status Time +jsp.main.other.005=Product Type \ No newline at end of file diff --git a/src/main/resources/static/i18n/messages_th_TH.properties b/src/main/resources/static/i18n/messages_th_TH.properties index 6e9ebc4..7c7da7d 100644 --- a/src/main/resources/static/i18n/messages_th_TH.properties +++ b/src/main/resources/static/i18n/messages_th_TH.properties @@ -119,7 +119,7 @@ menu.user.manager=\u7528\u6237\u7BA1\u7406 menu.system.user.manager.view=\u7BA1\u7406\u5458\u5217\u8868 menu.exam.distributor.view=\u5206\u9500\u5546\u5217\u8868 -menu.exam.enterprise.view=\u4F01\u4E1A\u7528\u6237\u5217\u8868 +menu.exam.enterprise.view=\u641C\u7D22\u4F01\u4E1A menu.questionbank.manager=\u9898\u5E93\u7BA1\u7406 menu.testbackage.manager=\u6D4B\u8BD5\u5305\u7BA1\u7406 menu.param.manager=\u53C2\u6570\u8BBE\u7F6E @@ -182,7 +182,7 @@ menu.exam.user.extend.list=\u7528\u6237\u6269\u5C55\u53C2\u6570\u6743\u9650 menu.exam.user.extend.add=\u7528\u6237\u6269\u5C55\u53C2\u6570\u589E\u52A0 menu.exam.user.extend.edit=\u7528\u6237\u6269\u5C55\u53C2\u6570\u4FEE\u6539 -menu.exam.testMember.list=\u67E5\u770B\u8BC4\u6D4B\u4EBA\u5458\u5217\u8868 +menu.exam.testMember.list=\u641C\u7D22\u6D4B\u8BD5\u7528\u6237\u4EBA\u5458 menu.exam.testMember.add=\u65B0\u589E\u8BC4\u6D4B\u4EBA\u5458 menu.exam.testMember.edit=\u4FEE\u6539\u8BC4\u6D4B\u4EBA\u5458 menu.exam.testMember.remove=\u5220\u9664\u8BC4\u6D4B\u4EBA\u5458 @@ -944,9 +944,11 @@ the.name.cannot.contain.special.characters=\u4E0D\u652F\u6301\u7279\u6B8A\u7B26\u53F7 test.user.name=\u6D4B\u8BD5\u7528\u6237\u59D3\u540D language.used.in.the.test=\u6D4B\u8BD5\u6240\u7528\u7684\u8BED\u8A00 -current.time=\u5F53\u524D\u65F6\u95F4 +current.time=\u6700\u540E\u72B6\u6001\u65F6\u95F4 enterprise.customer.name=\u4F01\u4E1A\u5BA2\u6237\u540D\u79F0 test.product.name=\u6D4B\u8BD5\u4EA7\u54C1\u540D\u79F0 jsp.main.other.001=\u6700\u8FD1\u5B8C\u6210\u6D4B\u8BD5\u8BB0\u5F55 jsp.main.other.002=\u6700\u8FD1\u6B63\u5728\u7B54\u9898\u6D4B\u8BD5\u8BB0\u5F55 -jsp.main.other.003=\u6700\u8FD1\u521B\u5EFA\u7684\u6D4B\u8BD5\u5305 \ No newline at end of file +jsp.main.other.003=\u6700\u8FD1\u521B\u5EFA\u7684\u6D4B\u8BD5\u5305 +jsp.main.other.004=Most Recent Status Time +jsp.main.other.005=Product Type diff --git a/src/main/resources/static/i18n/messages_zh_CN.properties b/src/main/resources/static/i18n/messages_zh_CN.properties index 1489d9b..5e4f0e0 100644 --- a/src/main/resources/static/i18n/messages_zh_CN.properties +++ b/src/main/resources/static/i18n/messages_zh_CN.properties @@ -120,6 +120,7 @@ menu.system.user.manager.view=\u7BA1\u7406\u5458\u5217\u8868 menu.exam.distributor.view=\u5206\u9500\u5546\u5217\u8868 menu.exam.enterprise.view=\u4F01\u4E1A\u7528\u6237\u5217\u8868 +menu.exam.enterprise.view1=\u641C\u7D22\u4F01\u4E1A menu.questionbank.manager=\u9898\u5E93\u7BA1\u7406 menu.testbackage.manager=\u6D4B\u8BD5\u5305\u7BA1\u7406 menu.param.manager=\u53C2\u6570\u8BBE\u7F6E @@ -182,7 +183,7 @@ menu.exam.user.extend.list=\u7528\u6237\u6269\u5C55\u53C2\u6570\u6743\u9650 menu.exam.user.extend.add=\u7528\u6237\u6269\u5C55\u53C2\u6570\u589E\u52A0 menu.exam.user.extend.edit=\u7528\u6237\u6269\u5C55\u53C2\u6570\u4FEE\u6539 -menu.exam.testMember.list=\u67E5\u770B\u8BC4\u6D4B\u4EBA\u5458\u5217\u8868 +menu.exam.testMember.list=\u641C\u7D22\u6D4B\u8BD5\u7528\u6237\u4EBA\u5458 menu.exam.testMember.add=\u65B0\u589E\u8BC4\u6D4B\u4EBA\u5458 menu.exam.testMember.edit=\u4FEE\u6539\u8BC4\u6D4B\u4EBA\u5458 menu.exam.testMember.remove=\u5220\u9664\u8BC4\u6D4B\u4EBA\u5458 @@ -307,7 +308,7 @@ jsp.exam.report.userCode=\u7528\u6237\u7F16\u7801 jsp.exam.report.downloadPermissions=\u4E0B\u8F7D\u6743\u9650 jsp.exam.report.answerStatus=\u7B54\u9898\u72B6\u6001 -jsp.exam.report.exportEvaluationUserAnswerRecords=\u5BFC\u51FA\u8BC4\u6D4B\u7528\u6237\u7B54\u9898\u8BB0\u5F55 +jsp.exam.report.exportEvaluationUserAnswerRecords=\u5BFC\u51FA\u6D4B\u8BD5\u6570\u636E jsp.exam.report.exportBaseReport=\u91CD\u65B0\u751F\u6210(\u57FA\u7840)\u62A5\u544A\u5E76\u5BFC\u51FA jsp.exam.report.exportVerboseReport=\u91CD\u65B0\u751F\u6210(\u8BE6\u7EC6)\u62A5\u544A\u5E76\u5BFC\u51FA jsp.exam.report.requestToDownloadTheSecondTestReport=\u7533\u8BF7\u4E0B\u8F7D\u7B2C\u4E8C\u4EFD\u6D4B\u8BD5\u62A5\u544A @@ -923,7 +924,7 @@ dict.ic14113=\u5730\u5740\u65E0\u6548 dict.ic14114=\u5DF2\u7ECF\u6253\u5F00 confirm.the.need.for.recycling=\u786E\u8BA4\u9700\u8981\u56DE\u6536 -confirm.the.need.for.recycling.apend=\u5417? \u6D4B\u8BD5\u5305\u4E2D\u672A\u767B\u5F55\u8FC7\u7684\u4EBA\u5458\u5C06\u5931\u6548\uFF01=\u5417? \u6D4B\u8BD5\u5305\u4E2D\u672A\u767B\u5F55\u8FC7\u7684\u4EBA\u5458\u5C06\u5931\u6548\uFF01 +confirm.the.need.for.recycling.apend=\u5417? \u6D4B\u8BD5\u5305\u4E2D\u672A\u767B\u5F55\u8FC7\u7684\u4EBA\u5458\u5C06\u5931\u6548\uFF01 in.special.cases=\u7279\u6B8A\u60C5\u51B5\u4E0B\uFF0C\u8BBE\u7F6E\u4E3A\u201C\u81EA\u5B9A\u6570\u636E\u6743\u9650\u201D task.message.202008001=\u786E\u8BA4\u8981\u7ACB\u5373\u6267\u884C\u4E00\u6B21\u4EFB\u52A1\u5417\uFF1F task.message.202008002=\u786E\u8BA4\u8981\u505C\u7528\u4EFB\u52A1\u5417\uFF1F @@ -951,6 +952,8 @@ test.user.name.dict2=\u6309\u90AE\u7BB1\u641C\u7D22\u6D4B\u8BD5\u7528\u6237 test.user.name.dict3=\u6309\u624B\u673A\u53F7\u7801\u641C\u7D22\u6D4B\u8BD5\u7528\u6237 test.user.name.dict4=\u6309\u5BC6\u7801\u641C\u7D22\u6D4B\u8BD5\u7528\u6237 -jsp.main.other.001=\u6700\u8FD1\u5B8C\u6210\u6D4B\u8BD5\u8BB0\u5F55 -jsp.main.other.002=\u6700\u8FD1\u6B63\u5728\u7B54\u9898\u6D4B\u8BD5\u8BB0\u5F55 -jsp.main.other.003=\u6700\u8FD1\u521B\u5EFA\u7684\u6D4B\u8BD5\u5305 \ No newline at end of file +jsp.main.other.001=\u6700\u8FD1\u5B8C\u6210\u7684\u6D4B\u8BD5\u8BB0\u5F55 +jsp.main.other.002=\u672A\u5B8C\u6210\u7684\u6D4B\u8BD5\u8BB0\u5F55\uFF08\u6B63\u5728\u7B54\u9898\u6216\u8005\u6682\u65F6\u653E\u5F03\u7B54\u9898\uFF09 +jsp.main.other.003=\u6700\u8FD1\u521B\u5EFA\u7684\u6D4B\u8BD5\u5305 +jsp.main.other.004=\u6700\u540E\u72B6\u6001\u65F6\u95F4 +jsp.main.other.005=\u7C7B\u578B \ No newline at end of file diff --git a/src/main/resources/static/ots.jpg b/src/main/resources/static/ots.jpg index d3bc2aa..cfdb39b 100644 --- a/src/main/resources/static/ots.jpg +++ b/src/main/resources/static/ots.jpg Binary files differ diff --git a/src/main/resources/static/ots/js/common.js b/src/main/resources/static/ots/js/common.js index 5fcc985..7d2c51c 100644 --- a/src/main/resources/static/ots/js/common.js +++ b/src/main/resources/static/ots/js/common.js @@ -26,9 +26,22 @@ // laydate 鏃堕棿鎺т欢缁戝畾 if ($(".select-time").length > 0) { layui.use('laydate', function() { + var lobj = {"zh_CN":"cn","en_US":"en"} + + var lang = "en_US"; + var query = top.window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i<vars.length;i++) { + var pair = vars[i].split("="); + if(pair[0] == 'lang'){ + lang = pair[1]; + } + } + var laydate = layui.laydate; var startDate = laydate.render({ elem: '#startTime', + lang: lobj[lang], max: $('#endTime').val(), theme: 'molv', trigger: 'click', @@ -47,6 +60,7 @@ }); var endDate = laydate.render({ elem: '#endTime', + lang: lobj[lang], min: $('#startTime').val(), theme: 'molv', trigger: 'click', diff --git a/src/main/resources/templates/exam/demographyParam/demographyParam.html b/src/main/resources/templates/exam/demographyParam/demographyParam.html index 17b6110..cd5a0b3 100644 --- a/src/main/resources/templates/exam/demographyParam/demographyParam.html +++ b/src/main/resources/templates/exam/demographyParam/demographyParam.html @@ -45,13 +45,15 @@ <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="exam:demographyParam:add"> <i class="fa fa-plus"></i> [[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="exam:demographyParam:edit"> + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="exam:demographyParam:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="exam:demographyParam:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="exam:demographyParam:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="exam:demographyParam:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> @@ -145,16 +147,17 @@ field : 'remark', title : [[#{basis.remark}]] }, - { - title: [[#{basis.operate}]], - align: 'center', - formatter: function(value, row, index) { - var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.paramId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.paramId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a>'); - return actions.join(''); - } - }] + // { + // title: [[#{basis.operate}]], + // align: 'center', + // formatter: function(value, row, index) { + // var actions = []; + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.paramId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.paramId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a>'); + // return actions.join(''); + // } + // } + ] }; $.table.init(options); }); diff --git a/src/main/resources/templates/exam/distributor/distributor.html b/src/main/resources/templates/exam/distributor/distributor.html index 8477e08..6eb4168 100644 --- a/src/main/resources/templates/exam/distributor/distributor.html +++ b/src/main/resources/templates/exam/distributor/distributor.html @@ -35,13 +35,13 @@ <a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="exam:distributor:add"> <i class="fa fa-plus"></i> [[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="exam:distributor:edit"> + <a class="btn single disabled" style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" onclick="$.operate.editTab()" shiro:hasPermission="exam:distributor:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="exam:distributor:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning single disabled" onclick="resetpwd()" shiro:hasPermission="exam:enterprise:resetpwd"> + <a class="btn single disabled" style="background-color: #6fcef3;border-color: #6fcef3;color: #FFFFFF" onclick="resetpwd()" shiro:hasPermission="exam:enterprise:resetpwd"> <i class="fa fa-edit"></i> [[#{menu.user.resetpwd}]] </a> </div> @@ -97,10 +97,10 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('<a class="btn btn-info btn-xs " href="javascript:void(0)" onclick="openEntr(\'' + row.userId + '\')"><i class="fa fa-list-ul"></i>'+[[#{dict.ic108}]]+'</a> '); - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.userId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + freeloginFlag + '" href="javascript:void(0)" onclick="freelogin(\'' + row.userId + '\')"><i class="fa fa-eye"></i>'+[[#{basis.freelogin}]]+'</a>'); + actions.push('<a class="btn btn-xs " style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" href="javascript:void(0)" onclick="openEntr(\'' + row.userId + '\')"><i class="fa fa-list-ul"></i>'+[[#{dict.ic108}]]+'</a> '); + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.userId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> '); + actions.push('<a style="background-color: #b459d4;border-color: #b459d4;color: #FFFFFF" class="btn btn-xs ' + freeloginFlag + '" href="javascript:void(0)" onclick="freelogin(\'' + row.userId + '\')"><i class="fa fa-eye"></i>'+[[#{basis.freelogin}]]+'</a>'); return actions.join(''); } }] diff --git a/src/main/resources/templates/exam/enterprise/add.html b/src/main/resources/templates/exam/enterprise/add.html index 52de553..3d38916 100644 --- a/src/main/resources/templates/exam/enterprise/add.html +++ b/src/main/resources/templates/exam/enterprise/add.html @@ -168,7 +168,7 @@ <div class="form-group"> <label class="col-sm-4 control-label">[[#{jsp.exam.enterprise.availabletesters}]]锛�</label> <div class="col-sm-8"> - <input name="testNum" class="form-control" type="number"> + <input name="testNum" class="form-control" type="number" required> </div> </div> </div> diff --git a/src/main/resources/templates/exam/enterprise/enterprise.html b/src/main/resources/templates/exam/enterprise/enterprise.html index 1caa235..102d433 100644 --- a/src/main/resources/templates/exam/enterprise/enterprise.html +++ b/src/main/resources/templates/exam/enterprise/enterprise.html @@ -39,13 +39,13 @@ <a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="exam:enterprise:add"> <i class="fa fa-plus"></i> [[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="exam:enterprise:edit"> + <a class="btn single disabled" style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" onclick="$.operate.editTab()" shiro:hasPermission="exam:enterprise:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> - <a class="btn btn-warning single disabled" onclick="operUseTimes()" shiro:hasPermission="exam:enterprise:editUserTimes"> + <a class="btn btn-info single disabled" onclick="operUseTimes()" shiro:hasPermission="exam:enterprise:editUserTimes"> <i class="fa fa-edit"></i> [[#{jsp.test.number.setting}]] </a> - <a class="btn btn-warning single disabled" onclick="resetpwd()" shiro:hasPermission="exam:enterprise:resetpwd"> + <a class="btn single disabled" style="background-color: #6fcef3;border-color: #6fcef3;color: #FFFFFF" onclick="resetpwd()" shiro:hasPermission="exam:enterprise:resetpwd"> <i class="fa fa-edit"></i> [[#{menu.user.resetpwd}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="exam:enterprise:remove"> @@ -119,10 +119,10 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.userId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + freeloginFlag + '" href="javascript:void(0)" onclick="freelogin(\'' + row.userId + '\')"><i class="fa fa-eye"></i>'+[[#{basis.freelogin}]]+'</a>'); - actions.push('<a class="btn btn-success btn-xs ' + resetpwdFlag + '" href="javascript:void(0)" onclick="authUser(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{jsp.product.package.authorization}]]+'</a> '); + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.userId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> '); + actions.push('<a style="background-color: #b459d4;border-color: #b459d4;color: #FFFFFF" class="btn btn-xs ' + freeloginFlag + '" href="javascript:void(0)" onclick="freelogin(\'' + row.userId + '\')"><i class="fa fa-eye"></i>'+[[#{basis.freelogin}]]+'</a>'); + actions.push('<a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" class="btn btn-xs ' + resetpwdFlag + '" href="javascript:void(0)" onclick="authUser(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{jsp.product.package.authorization}]]+'</a> '); return actions.join(''); } }] diff --git a/src/main/resources/templates/exam/level/level.html b/src/main/resources/templates/exam/level/level.html index c07d5a2..9f01b66 100644 --- a/src/main/resources/templates/exam/level/level.html +++ b/src/main/resources/templates/exam/level/level.html @@ -42,14 +42,16 @@ <i class="fa fa-plus"></i> [[#{jsp.add.language}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="exam:level:edit"> + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="exam:level:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="exam:level:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="exam:level:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="exam:level:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> @@ -109,8 +111,8 @@ if (!uuid) { actions.push('<a class="btn btn-primary btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="detail(\'' + row.uuid + '\')"><i class="fa fa-edit"></i>' +[[#{jsp.main.031}]]+'</a> '); } - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>' + [[#{basis.edit}]] + '</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>' + [[#{basis.del}]] + '</a>'); + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>' + [[#{basis.edit}]] + '</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>' + [[#{basis.del}]] + '</a>'); return actions.join(''); } }] diff --git a/src/main/resources/templates/exam/librarycode/librarycode.html b/src/main/resources/templates/exam/librarycode/librarycode.html index 075b985..a3ede9a 100644 --- a/src/main/resources/templates/exam/librarycode/librarycode.html +++ b/src/main/resources/templates/exam/librarycode/librarycode.html @@ -49,7 +49,7 @@ <a class="btn btn-info" onclick="importExcel()" shiro:hasPermission="exam:librarycode:import"> <i class="fa fa-upload"></i> [[#{basis.import}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="exam:librarycode:export"> + <a class="btn btn-default" onclick="$.table.exportExcel()" shiro:hasPermission="exam:librarycode:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> @@ -93,7 +93,7 @@ }, { field: 'englistContent', - title: [[#{jsp.exam.template.reportdict}]] + title: [[#{jsp.exam.librarycode.englishdictionarycontent}]] }, { field: 'chineseContent', @@ -114,16 +114,17 @@ field: 'remark', title: [[#{basis.remark}]] }, - { - title: [[#{basis.operate}]], - align: 'center', - formatter: function (value, row, index) { - var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>[[#{menu.exam.distributor.edit}]]</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>[[#{menu.exam.distributor.remove}]]</a>'); - return actions.join(''); - } - }] + // { + // title: [[#{basis.operate}]], + // align: 'center', + // formatter: function (value, row, index) { + // var actions = []; + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>[[#{menu.exam.distributor.edit}]]</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>[[#{menu.exam.distributor.remove}]]</a>'); + // return actions.join(''); + // } + // } + ] }; $.table.init(options); diff --git a/src/main/resources/templates/exam/product/product.html b/src/main/resources/templates/exam/product/product.html index 12484ce..a61ec57 100644 --- a/src/main/resources/templates/exam/product/product.html +++ b/src/main/resources/templates/exam/product/product.html @@ -51,7 +51,8 @@ shiro:hasPermission="exam:product:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="exam:product:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="exam:product:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> diff --git a/src/main/resources/templates/exam/question/add-intelligence.html b/src/main/resources/templates/exam/question/add-intelligence.html index 703eac3..a80d422 100644 --- a/src/main/resources/templates/exam/question/add-intelligence.html +++ b/src/main/resources/templates/exam/question/add-intelligence.html @@ -151,7 +151,7 @@ var prefix = ctx + "exam/question"; var option = []; - var clicknum = 2; + var clicknum = 6; // 澶氳瑷�鐨剈uid var uuid = $("input[name='uuid']").val(); @@ -209,15 +209,14 @@ if (clicknum < 0 || clicknum > 26) { return; } - //娣诲姞绛旀椤� var $content = $('#optionTemplte').clone(); $content.removeAttrs('id'); $content.removeAttrs('hidden'); $content.removeAttrs('style'); var $contenChildren = $content.children(); - $contenChildren.eq(0).html(option[clicknum]); - $contenChildren.eq(1).val(option[clicknum]); + $contenChildren.eq(0).html(clicknum); + $contenChildren.eq(1).val(clicknum); clicknum++; $('#optionEdit').append($content); }); diff --git a/src/main/resources/templates/exam/question/question.html b/src/main/resources/templates/exam/question/question.html index e20f05c..271a9af 100644 --- a/src/main/resources/templates/exam/question/question.html +++ b/src/main/resources/templates/exam/question/question.html @@ -181,11 +181,11 @@ actions.push('<a class="btn btn-primary btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="detail(\'' + row.id + '\',\'' + row.levelId + '\')" ><i class="fa fa-edit"></i>[[#{jsp.main.031}]]</a> '); } if (uuid) { - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="editlan(\''+ row.langType + '\')"><i class="fa fa-edit"></i>' + [[#{basis.edit}]] + '</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="deletelan(\'' + row.langType + '\')"><i class="fa fa-remove"></i>' + [[#{basis.del}]] + '</a>'); + actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="editlan(\''+ row.langType + '\')"><i class="fa fa-edit"></i>' + [[#{basis.edit}]] + '</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="deletelan(\'' + row.langType + '\')"><i class="fa fa-remove"></i>' + [[#{basis.del}]] + '</a>'); } else { // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>' + [[#{basis.edit}]] + '</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>' + [[#{basis.del}]] + '</a>'); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>' + [[#{basis.del}]] + '</a>'); } return actions.join(''); } diff --git a/src/main/resources/templates/exam/template/template.html b/src/main/resources/templates/exam/template/template.html index f977352..5e81112 100644 --- a/src/main/resources/templates/exam/template/template.html +++ b/src/main/resources/templates/exam/template/template.html @@ -44,13 +44,15 @@ <a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="exam:template:add"> <i class="fa fa-plus"></i> [[#{dict.ic18}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="exam:template:edit"> + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.editTab()" shiro:hasPermission="exam:template:edit"> <i class="fa fa-edit"></i> [[#{dict.ic19}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="exam:template:remove"> <i class="fa fa-remove"></i> [[#{dict.ic20}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="exam:template:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="exam:template:export"> <i class="fa fa-download"></i> [[#{dict.ic22}]] </a> </div> @@ -113,16 +115,17 @@ field : 'remark', title : [[#{basis.remark}]] }, - { - title: [[#{operating.operating}]], - align: 'center', - formatter: function(value, row, index) { - var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>[[#{menu.exam.distributor.edit}]]</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>[[#{dict.ic20}]]</a>'); - return actions.join(''); - } - }] + // { + // title: [[#{operating.operating}]], + // align: 'center', + // formatter: function(value, row, index) { + // var actions = []; + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>[[#{menu.exam.distributor.edit}]]</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>[[#{dict.ic20}]]</a>'); + // return actions.join(''); + // } + // } + ] }; $.table.init(options); }); diff --git a/src/main/resources/templates/exam/testMember/add.html b/src/main/resources/templates/exam/testMember/add.html index a054178..e646345 100644 --- a/src/main/resources/templates/exam/testMember/add.html +++ b/src/main/resources/templates/exam/testMember/add.html @@ -40,7 +40,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">[[#{basis.remark}]]锛�</label> <div class="col-sm-8"> - <input name="remark" class="form-control" type="text" required> + <input name="remark" class="form-control" type="text"> </div> </div> </form> diff --git a/src/main/resources/templates/exam/testMember/edit.html b/src/main/resources/templates/exam/testMember/edit.html index d5e5290..0de8a3c 100644 --- a/src/main/resources/templates/exam/testMember/edit.html +++ b/src/main/resources/templates/exam/testMember/edit.html @@ -40,7 +40,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">[[#{basis.remark}]]锛�</label> <div class="col-sm-8"> - <input name="remark" th:field="*{remark}" class="form-control" type="text" required> + <input name="remark" th:field="*{remark}" class="form-control" type="text"> </div> </div> <div th:if="*{status==0}" class="form-group"> diff --git a/src/main/resources/templates/exam/testMember/testMember.html b/src/main/resources/templates/exam/testMember/testMember.html index 697eda5..c360842 100644 --- a/src/main/resources/templates/exam/testMember/testMember.html +++ b/src/main/resources/templates/exam/testMember/testMember.html @@ -23,7 +23,7 @@ <input type="text" id="testIdSh" name="testIdSh" readonly th:value="${packageTestName}"> </li> <li> - <p>[[#{basis.name}]]</p> + <p>[[#{jsp.testPackage.name}]]</p> <input type="text" name="memberName"/> </li> <!--<li> @@ -69,7 +69,8 @@ <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="exam:testMember:add"> <i class="fa fa-plus"></i> [[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.edit()" + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="exam:testMember:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> @@ -77,7 +78,8 @@ shiro:hasPermission="exam:testMember:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="exam:testMember:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="exam:testMember:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> <a class="btn btn-info" onclick="importExcel()" shiro:hasPermission="exam:testMember:batchimport"> @@ -249,9 +251,9 @@ align: 'center', formatter: function (value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.memberId + '\')"><i class="fa fa-edit"></i>' + [[#{basis.edit}]] + '</a> '); - actions.push('<a class="btn btn-warning btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="openMemberReport(' + row.memberId + "," + row.testId + ')"><i class="fa fa-edit"></i>[[#{view.report}]]</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.memberId + '\')"><i class="fa fa-remove"></i>' + [[#{basis.del}]] + '</a>'); + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.memberId + '\')"><i class="fa fa-edit"></i>' + [[#{basis.edit}]] + '</a> '); + actions.push('<a style="background-color: #b459d4;border-color: #b459d4;color: #FFFFFF" class="btn btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="openMemberReport(' + row.memberId + "," + row.testId + ')"><i class="fa fa-edit"></i>[[#{view.report}]]</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.memberId + '\')"><i class="fa fa-remove"></i>' + [[#{basis.del}]] + '</a>'); return actions.join(''); } }] diff --git a/src/main/resources/templates/exam/test_package/test_package.html b/src/main/resources/templates/exam/test_package/test_package.html index 9e6b883..cdf460a 100644 --- a/src/main/resources/templates/exam/test_package/test_package.html +++ b/src/main/resources/templates/exam/test_package/test_package.html @@ -15,7 +15,7 @@ <input type="text" name="userName"/> </li> <li> - <p>[[#{basis.name}]]锛�</p> + <p>[[#{jsp.exam.report.TestPackage}]]锛�</p> <input type="text" name="testName"/> </li> <li> @@ -77,7 +77,8 @@ <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="exam:test_package:add"> <i class="fa fa-plus"></i> [[#{basis.create}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.edit()" + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="exam:test_package:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> @@ -85,13 +86,16 @@ shiro:hasPermission="exam:test_package:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="exam:test_package:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="exam:test_package:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> - <a class="btn btn-default" onclick="javascript:recover()" shiro:hasPermission="exam:test_package:recover"> + <a style="background-color: #6fcef3;border-color: #6fcef3;color: #FFFFFF" + class="btn" onclick="javascript:recover()" shiro:hasPermission="exam:test_package:recover"> <i class="fa fa-address-book"></i> [[#{jsp.exam.test_package.006}]] </a> - <a class="btn btn-warning" onclick="javascript:testReport()" shiro:hasPermission="exam:test_package:testreport"> + <a style="background-color:#b459d4;color:#ffffff" + class="btn" onclick="javascript:testReport()" shiro:hasPermission="exam:test_package:testreport"> <i class="fa fa-download"></i> [[#{jsp.exam.test_package.007}]] </a> </div> @@ -235,8 +239,8 @@ align: 'center', formatter: function (value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a>'); + // actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a>'); return actions.join(''); } }] diff --git a/src/main/resources/templates/exam/userpaper/edit.html b/src/main/resources/templates/exam/userpaper/edit.html index bcf0726..5b7cd29 100644 --- a/src/main/resources/templates/exam/userpaper/edit.html +++ b/src/main/resources/templates/exam/userpaper/edit.html @@ -15,7 +15,7 @@ <div class="select-list col-sm-8"> <ul> <li> - <select id="prodId" name="prodId" class="select2-container" onchange="testTypeChange()" > + <select id="prodId" name="prodId" class="select2-container" onchange="testTypeChange()"> <option th:each="dict : ${userProds}" th:text="${dict.name}" th:value="${dict.id} "></option> </select> @@ -26,22 +26,30 @@ <div class="form-group"> <label class="col-sm-3 control-label">[[#{jsp.exam.productReportTemplate}]]锛�</label> <div class="col-sm-8"> - <select id="reportTemplateId" name="reportTemplateId" class="form-control noselect2 selectpicker" - multiple> - <option th:each="dict : ${templateList}" th:text="${dict['reportType']}" - th:value="${dict['id']}"></option> - </select> -<!-- <select id="reportTemplateIdAll" name="reportTemplateIdAll" class="form-control noselect2 selectpicker"--> +<!-- <select id="reportTemplateId" name="reportTemplateId" class="form-control noselect2 selectpicker"--> <!-- multiple>--> <!-- <option th:each="dict : ${templateList}" th:text="${dict['reportType']}"--> <!-- th:value="${dict['id']}"></option>--> <!-- </select>--> + <ui id="tempB"> + <li> + <span th:each="temp:${templateList}" style="margin-right:10px;"> + <input type="checkbox" th:value="${temp.id}" name="templateN"> + <span th:text="${temp.reportType}" name="unitspan"></span> + </span> + </li> + </ui> + <!-- <select id="reportTemplateIdAll" name="reportTemplateIdAll" class="form-control noselect2 selectpicker"--> + <!-- multiple>--> + <!-- <option th:each="dict : ${templateList}" th:text="${dict['reportType']}"--> + <!-- th:value="${dict['id']}"></option>--> + <!-- </select>--> </div> </div> <div class="form-group"> <label class="col-sm-1 control-label"></label> <div class="col-sm-2"> - <a class="btn btn-success" onclick="insertRow()"> + <a class="btn btn-success" onclick="insertRow()" > <i class="fa fa-plus"></i> [[#{jsp.product.package.authorization}]] </a> </div> @@ -59,6 +67,7 @@ <th:block th:include="include :: bootstrap-select-js"/> <script type="text/javascript"> var prefix = ctx + "exam/paper"; + $("#form-demographyParam-edit").validate({ focusCleanup: true }); @@ -106,36 +115,56 @@ $.table.init(options); }); + function testTypeChange() { + var prodName = $("#prodId option:selected").text(); + if ("鐫块偦" == prodName) { + prodName = "RuiLin"; + } + $("#tempB").empty(); + $.post(prefix + "/filterTemplate/" + prodName, function (data) { + for (var i = 0; i < data.length; i++) { + $("#tempB").append('<li><span><input type="checkbox" name="templateN" value="'+data[i].id+'">' +data[i].reportType + '</span></span></li>'); + } + }); + } + /*[[#{basis.add}]]琛ㄦ牸琛� */ function insertRow() { + + var arr = []; + $("input[name='templateN']:checked").each(function (index, item) {// + arr.push($(this).val()); + }); + + var reportTemplateId = ""; + for (var i = 0; i < arr.length; i++) { + if (i == arr.length - 1) { + reportTemplateId = reportTemplateId + arr[i] + } else { + reportTemplateId = reportTemplateId + arr[i] + ","; + } + } + var prodId = $("#prodId").val(); var prodName = $("#prodId option:selected").text(); - var arr = $("#reportTemplateId").val();//鍙栧�兼槸涓�涓暟缁� - var reportTemplateId = ""; - for(var i = 0; i < arr.length; i++) { - if (i==arr.length-1) { - reportTemplateId=reportTemplateId+arr[i] - }else { - reportTemplateId=reportTemplateId+arr[i]+","; + + $.post(prefix + "/reportTemplateText/" + reportTemplateId, function (data) { + if (checkDuplicate(prodId)) { + $.modal.alertWarning('瀛樺湪浜у搧鍖呮潈闄愶紝涓嶅厑璁搁噸澶嶆坊鍔狅紒'); + return; } - } - var reportTemplateText = $("#reportTemplateId option:selected").text(); + $.btTable.bootstrapTable('insertRow', { + index: 0, // 浣犳兂鎻掑叆鍒板摢锛�0琛ㄧず绗竴琛� + row: { + prodId: prodId, + reportTemplateId: reportTemplateId, + reportTemplateText: data, + prodName: prodName + } + }) + }); - if (checkDuplicate(prodId)) { - $.modal.alertWarning('瀛樺湪浜у搧鍖呮潈闄愶紝涓嶅厑璁搁噸澶嶆坊鍔狅紒'); - return; - } - - $.btTable.bootstrapTable('insertRow', { - index: 0, // 浣犳兂鎻掑叆鍒板摢锛�0琛ㄧず绗竴琛� - row: { - prodId: prodId, - reportTemplateId: reportTemplateId, - reportTemplateText: reportTemplateText, - prodName: prodName - } - }) } function checkDuplicate(prodId) { diff --git a/src/main/resources/templates/exam/userpaper/userPaper.html b/src/main/resources/templates/exam/userpaper/userPaper.html index fb6ecec..b0c1f13 100644 --- a/src/main/resources/templates/exam/userpaper/userPaper.html +++ b/src/main/resources/templates/exam/userpaper/userPaper.html @@ -120,7 +120,7 @@ align: 'center', formatter: function (value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs href="javascript:void(0)" onclick="$.operate.edit(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{jsp.product.package.authorization}]]+'</a> '); + actions.push('<a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" class="btn btn-success btn-xs href="javascript:void(0)" onclick="$.operate.edit(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{jsp.product.package.authorization}]]+'</a> '); return actions.join(''); } }] diff --git a/src/main/resources/templates/include.html b/src/main/resources/templates/include.html index 343076f..9e44cb6 100644 --- a/src/main/resources/templates/include.html +++ b/src/main/resources/templates/include.html @@ -173,4 +173,4 @@ <div th:fragment="bootstrap-table-reorder-js"> <script th:src="@{/ajax/libs/bootstrap-table/extensions/reorder/bootstrap-table-reorder.js}"></script> <script th:src="@{/ajax/libs/bootstrap-table/extensions/reorder/jquery.tablednd.js}"></script> -</div> \ No newline at end of file +</div> diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html index e62de72..1ea20c0 100644 --- a/src/main/resources/templates/main.html +++ b/src/main/resources/templates/main.html @@ -10,12 +10,12 @@ <form id="post-form1"> <div class="select-list"> <ul> - <li> + <li id="hideA"> <p>[[#{jsp.exam.enterprise.companyname}]]锛�</p><input type="text" name="userName" id="userName" value=""/> </li> - <li><a class="btn btn-primary btn-rounded btn-sm" onclick="openUserList()"><i - class="fa fa-search"></i> [[#{menu.exam.enterprise.view}]]</a></li> + <li id="hideB"><a class="btn btn-primary btn-rounded btn-sm" onclick="openUserList()"><i + class="fa fa-search"></i> [[#{menu.exam.enterprise.view1}]]</a></li> <li> <input type="text" name="queryValue" id="queryValue" value=""/> <select name="queryType" id="queryType" th:with="type=${@dict.getType('quickQueryType')}"> @@ -29,14 +29,6 @@ </div> </form> </div> -<!-- <div class="col-sm-12 select-table" id="enterpriseInfo">--> -<!-- <p class="select-title" align="center">浼佷笟淇℃伅</p>--> -<!-- <table id="bootstrap-table1" data-mobile-responsive="true"></table>--> -<!-- </div>--> -<!-- <div class="col-sm-12 select-table" id="memberInfo">--> -<!-- <p class="select-title" align="center">鐢ㄦ埛淇℃伅</p>--> -<!-- <table id="bootstrap-table2" data-mobile-responsive="true"></table>--> -<!-- </div>--> <div class="col-sm-12 select-table"> <p class="select-title" align="center">[[#{jsp.main.other.001}]]</p> <table id="bootstrap-table-form1" data-mobile-responsive="true"></table> @@ -67,72 +59,18 @@ var statusDatas = [[${@dict.getType('test_status')}]]; var userId = [[${user.userId}]]; - // $(function () { - // var options = { - // id: "bootstrap-table1", - // url: ctx + "exam/extend/list2?userType=02", - // showSearch: false, - // showRefresh: false, - // showToggle: false, - // showColumns: false, - // createUrl: ctx + "exam/enterprise/add", - // updateUrl: ctx + "exam/enterprise/edit/{id}", - // removeUrl: ctx + "exam/enterprise/remove", - // exportUrl: ctx + "exam/enterprise/export", - // modalName: [[#{jsp.exam.demographyParam.businessuser}]], - // // showRefresh: true, - // queryParams: queryParams, - // pageSize: 10, - // pageList: [10, 50, 100], - // columns: [ - // { - // field: 'userId', - // title: 'ID' - // }, - // { - // field: 'loginName', - // title: [[#{jsp.exam.distributor.loginname}]] - // }, - // { - // field: 'userName', - // title: [[#{jsp.exam.enterprise.companyname}]] - // }, - // { - // field: 'businessManager', - // title: [[#{jsp.exam.distributor.businessmanager}]] - // }, - // { - // field: 'testNum', - // title: [[#{jsp.exam.enterprise.usetimes}]], - // formatter: function (value, row, index) { - // return '<a href="javascript:void(0)" onclick="modifyUsageCount(\'' + row.id + '\')">' + value + '</a>'; - // } - // }, - // { - // field: 'effectTime', - // title: [[#{jsp.exam.enterprise.effectivetime}]] - // }, - // { - // field: 'invalidTime', - // title: [[#{jsp.exam.distributor.termcooperation}]] - // }, - // { - // field: 'legalPerson', - // title: [[#{jsp.exam.enterprise.corporate}]] - // }, - // { - // title: [[#{basis.operate}]], - // align: 'center', - // formatter: function (value, row, index) { - // var actions = []; - // actions.push('<a class="btn btn-danger btn-xs " href="javascript:void(0)" onclick="freelogin(\'' + row.userId + '\')"><i class="fa fa-eye"></i>' + [[#{basis.freelogin}]] + '</a>'); - // return actions.join(''); - // } - // } - // ] - // }; - // $.table.init(options); - // }); + $(function(){ //浠g爜閮ㄥ垎 + $.ajax({ + type: "post", + url: ctx + "exam/enterprise/checkUser", + success: function (data) { + if(data.code=='0') { + $("#hideA").css('display','none'); + $("#hideB").css('display','none'); + } + } + }); + }) function freelogin(id) { $.ajax({ @@ -171,146 +109,6 @@ $("#" + tableId).bootstrapTable('refresh', params); } - // function searchDefine2() { - // var tableId = 'bootstrap-table2'; - // var params = { - // queryValue: $("#queryValue").val(), - // queryType: $("#queryType").val(), - // limit: 10, - // } - // $("#" + tableId).bootstrapTable('refresh', params); - // } - // - // $(function () { - // var options = { - // id: "bootstrap-table2", - // url: ctx + "exam/testMember" + "/list", - // showSearch: false, - // showRefresh: false, - // showToggle: false, - // showColumns: false, - // createUrl: ctx + "exam/testMember" + "/add/" + $("#testId").val(), - // updateUrl: ctx + "exam/testMember" + "/edit/{id}", - // removeUrl: ctx + "exam/testMember" + "/remove", - // exportUrl: ctx + "exam/testMember" + "/export", - // exportUrlLinkTest: ctx + "exam/testMember" + "/exportLinkTest", - // importUrl: ctx + "exam/testMember" + "/importData/" + $("#testId").val(), - // importTemplateUrl: ctx + "exam/testMember" + "/importTemplate", - // modalName: [[#{jsp.exam.test_package.032}]], - // pageSize: 10, - // pageList: [10, 50, 100], - // queryParams: queryParams2, - // // queryParams: function (params) { - // // var temp = { - // // queryValue:$("#queryValue").val(), - // // queryType: $("#queryType").val(), - // // } - // // return temp; - // // }, - // columns: [ - // { - // field: 'memberId', - // title: [[#{jsp.exam.test_package.033}]], - // visible: false - // }, - // { - // field: 'memberName', - // title: [[#{jsp.exam.report.008}]] - // }, - // { - // field: 'memberDept', - // title: [[#{jsp.system.dept.002}]], - // sortable: true - // - // }, - // { - // field: 'memberEmail', - // title: [[#{jsp.system.user.profile.005}]] - // }, - // { - // field: 'memberPhone', - // title: [[#{jsp.system.user.profile.003}]] - // }, - // { - // field: 'testId', - // title: [[#{jsp.exam.report.014}]], - // visible: false - // }, - // { - // field: 'startTime', - // title: [[#{jsp.exam.test_package.startTime}]] - // }, - // { - // field: 'endTime', - // title: [[#{jsp.exam.test_package.endTime}]] - // }, - // { - // field: 'smsStatus', - // title: [[#{jsp.exam.test_package.035}]], - // formatter: function (value, row, index) { - // return $.table.selectDictLabel(sms_type, value); - // } - // }, - // { - // field: 'smsTime', - // title: [[#{jsp.exam.test_package.036}]] - // }, - // { - // field: 'emailStatus', - // title: [[#{jsp.exam.test_package.037}]], - // formatter: function (value, row, index) { - // return $.table.selectDictLabel(email_status, value); - // } - // }, - // { - // field: 'emailTime', - // title: [[#{jsp.exam.test_package.038}]] - // }, - // { - // field: 'status', - // title: [[#{basis.state}]], - // formatter: function (value, row, index) { - // return $.table.selectDictLabel(test_member_status, value); - // } - // }, - // { - // field: 'remark', - // title: [[#{basis.remark}]] - // }, - // { - // field: 'token', - // title: [[#{jsp.exam.test_package.testtoken}]], - // visible: false - // }, - // { - // field: 'hrEmailStatus', - // title: [[#{hr.mailbox.status}]], - // formatter: function (value, row, index) { - // if (value == 1) { - // return [[#{dict.ic138}]]; - // } else if (value == 2) { - // return [[#{dict.ic140}]]; - // } else { - // return "-"; - // } - // }, - // visible: false - // }, - // { - // title: [[#{basis.operate}]], - // align: 'center', - // formatter: function (value, row, index) { - // var actions = []; - // actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="openTestDetail(\'' + row.token + '\')"><i class="fa fa-edit"></i>[[#{jsp.exam.test_package.testinfo}]]</a> '); - // actions.push('<a class="btn btn-warning btn-xs " href="javascript:void(0)" onclick="openMemberReport(' + row.memberId + "," + row.testId + ')"><i class="fa fa-edit"></i>[[#{view.report}]]</a> '); - // return actions.join(''); - // } - // } - // ] - // }; - // $.table.init(options); - // }); - // 鏌ョ湅娴嬭瘯杩涘害 function openTestDetail(token) { var url = ctx + 'exam/entTestDetail/testDetail/' + token; @@ -340,8 +138,8 @@ showColumns: false, sortName: "updateTime", sortOrder: "desc", - pageSize: 50, - pageList: [50, 100, 200], + pageSize: 25, + pageList: [25, 100, 200], queryParams: querylistTopAnsweFinished, columns: [ { @@ -405,7 +203,7 @@ function openUserList() { var url = ctx + 'exam/enterprise?userName=' + $("#userName").val(); - $.modal.openTab([[#{menu.exam.enterprise.view}]], url); + $.modal.openTab([[#{menu.exam.enterprise.view1}]], url); } function openMemberSearch() { @@ -422,15 +220,15 @@ $(function () { var options = { id: "bootstrap-table-form2", - url: "/exam/testMember/listTopAnswering", + url: "/exam/testMember/listTopAnswering2", showSearch: false, showRefresh: false, showToggle: false, showColumns: false, sortName: "updateTime", sortOrder: "desc", - pageSize: 50, - pageList: [50, 100, 200], + pageSize: 25, + pageList: [25, 100, 200], queryParams: querylistTopAnswering, columns: [ { @@ -470,16 +268,16 @@ field: 'langType', title: [[#{language.used.in.the.test}]] }, - { - field: 'status', - title: [[#{basis.state}]], - formatter: function (value, row, index) { - return $.table.selectDictLabel(test_member_status, value); - } - }, + // { + // field: 'status', + // title: [[#{basis.state}]], + // formatter: function (value, row, index) { + // return $.table.selectDictLabel(test_member_status, value); + // } + // }, { field: 'startTime', - title: [[#{current.time}]] + title: [[#{jsp.main.other.004}]] }, ] }; @@ -531,7 +329,7 @@ }, { field: 'userName', - title: [[#{jsp.exam.enterprise.companyname}]], + title: [[#{enterprise.customer.name}]], formatter: function (value, row, index) { // return '<a href="javascript:void(0)" onclick="userDetail(\'' + row.userId + '\')">' + value + '</a>'; return '<a href="javascript:void(0)" onclick="freelogin(\'' + row.userId + '\')">' + value + '</a>'; @@ -543,7 +341,7 @@ }, { field: 'testType', - title: [[#{basis.type}]], + title: [[#{jsp.main.other.005}]], formatter: function (value, row, index) { return $.table.selectDictLabel(testTypeDatas, value); } @@ -559,21 +357,21 @@ field: 'testNum', title: [[#{jsp.exam.test_package.009}]] }, - { - field: 'finishNum', - title: [[#{jsp.exam.test_package.010}]] - }, { - field: 'testingNum', - title: [[#{jsp.exam.test_package.0101}]] - }, - { - field: 'unTestNum', - title: [[#{jsp.exam.test_package.011}]] - }, - { - field: 'testEmail', - title: [[#{jsp.exam.test_package.012}]] - }, + // { + // field: 'finishNum', + // title: [[#{jsp.exam.test_package.010}]] + // }, { + // field: 'testingNum', + // title: [[#{jsp.exam.test_package.0101}]] + // }, + // { + // field: 'unTestNum', + // title: [[#{jsp.exam.test_package.011}]] + // }, + // { + // field: 'testEmail', + // title: [[#{jsp.exam.test_package.012}]] + // }, { field: 'invalidTime', title: [[#{jsp.exam.test_package.004}]], @@ -633,7 +431,7 @@ /*浼佷笟鐢ㄦ埛鎴栬�呭垎閿�鍟嗙晫闈�-璇︾粏*/ function userDetail(userId) { var url = ctx + "exam/distributor"; - $.modal.openTab([[#{menu.exam.enterprise.view}]], url); + $.modal.openTab([[#{menu.exam.enterprise.view1}]], url); } </script> </body> diff --git a/src/main/resources/templates/monitor/job/job.html b/src/main/resources/templates/monitor/job/job.html index 8927114..ade8659 100644 --- a/src/main/resources/templates/monitor/job/job.html +++ b/src/main/resources/templates/monitor/job/job.html @@ -38,13 +38,15 @@ <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="monitor:job:add"> <i class="fa fa-plus"></i>[[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="monitor:job:edit"> + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="monitor:job:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="monitor:job:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:job:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:job:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> <a class="btn btn-info" onclick="javascript:jobLog()" shiro:hasPermission="monitor:job:list"> diff --git a/src/main/resources/templates/monitor/job/jobLog.html b/src/main/resources/templates/monitor/job/jobLog.html index 220c66a..ce99fb7 100644 --- a/src/main/resources/templates/monitor/job/jobLog.html +++ b/src/main/resources/templates/monitor/job/jobLog.html @@ -48,7 +48,8 @@ <a class="btn btn-danger" onclick="$.operate.clean()" shiro:hasPermission="monitor:job:remove"> <i class="fa fa-trash"></i> [[#{basis.clear}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:job:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:job:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> diff --git a/src/main/resources/templates/monitor/operlog/operlog.html b/src/main/resources/templates/monitor/operlog/operlog.html index dcdc5d7..3877b1c 100644 --- a/src/main/resources/templates/monitor/operlog/operlog.html +++ b/src/main/resources/templates/monitor/operlog/operlog.html @@ -50,7 +50,8 @@ <a class="btn btn-danger" onclick="$.operate.clean()" shiro:hasPermission="monitor:operlog:remove"> <i class="fa fa-trash"></i> [[#{basis.clear}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:operlog:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:operlog:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> @@ -140,7 +141,7 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.operId + '\')"><i class="fa fa-search"></i>[[#{detailed.detailed}]]</a>'); + actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.operId + '\')"><i class="fa fa-search"></i>[[#{detailed.detailed}]]</a>'); return actions.join(''); } }] diff --git a/src/main/resources/templates/system/dept/dept.html b/src/main/resources/templates/system/dept/dept.html index 4e699c1..b288c54 100644 --- a/src/main/resources/templates/system/dept/dept.html +++ b/src/main/resources/templates/system/dept/dept.html @@ -95,8 +95,8 @@ formatter: function(value, row, index) { if (row.parentId != 0) { var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.deptId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); - actions.push('<a class="btn btn-info btn-xs ' + addFlag + '" href="javascript:void(0)" onclick="$.operate.add(\'' + row.deptId + '\')"><i class="fa fa-plus"></i>'+[[#{basis.add}]]+'</a> '); + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.deptId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-info btn-xs ' + addFlag + '" href="javascript:void(0)" onclick="$.operate.add(\'' + row.deptId + '\')"><i class="fa fa-plus"></i>'+[[#{basis.add}]]+'</a> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.deptId + '\')"><i class="fa fa-trash"></i>'+[[#{basis.del}]]+'</a>'); return actions.join(''); } else { diff --git a/src/main/resources/templates/system/dict/data/data.html b/src/main/resources/templates/system/dict/data/data.html index 1bb26be..beb8834 100644 --- a/src/main/resources/templates/system/dict/data/data.html +++ b/src/main/resources/templates/system/dict/data/data.html @@ -37,13 +37,15 @@ <a class="btn btn-success" onclick="add()" shiro:hasPermission="system:dict:add"> <i class="fa fa-plus"></i>[[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:dict:edit"> + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:dict:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:dict:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:dict:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="system:dict:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> @@ -107,16 +109,17 @@ title: [[#{basis.createTime}]], sortable: true }, - { - title: [[#{basis.operate}]], - align: 'center', - formatter: function(value, row, index) { - var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.dictCode + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.dictCode + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a>'); - return actions.join(''); - } - }] + // { + // title: [[#{basis.operate}]], + // align: 'center', + // formatter: function(value, row, index) { + // var actions = []; + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.dictCode + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.dictCode + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a>'); + // return actions.join(''); + // } + // } + ] }; $.table.init(options); }); diff --git a/src/main/resources/templates/system/dict/type/type.html b/src/main/resources/templates/system/dict/type/type.html index a031b72..6bbf486 100644 --- a/src/main/resources/templates/system/dict/type/type.html +++ b/src/main/resources/templates/system/dict/type/type.html @@ -41,13 +41,15 @@ <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:dict:add"> <i class="fa fa-plus"></i>[[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:dict:edit"> + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:dict:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:dict:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:dict:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="system:dict:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> @@ -117,9 +119,9 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.dictId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.dictId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); actions.push('<a class="btn btn-info btn-xs ' + listFlag + '" href="javascript:void(0)" onclick="detail(\'' + row.dictId + '\')"><i class="fa fa-list-ul"></i>鍒楄〃</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.dictId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a>'); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.dictId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a>'); return actions.join(''); } }] diff --git a/src/main/resources/templates/system/role/role.html b/src/main/resources/templates/system/role/role.html index ab49e41..383b80d 100644 --- a/src/main/resources/templates/system/role/role.html +++ b/src/main/resources/templates/system/role/role.html @@ -41,13 +41,15 @@ <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:role:add"> <i class="fa fa-plus"></i>[[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:role:edit"> + <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" + class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:role:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:role:remove"> <i class="fa fa-remove"></i> [[#{basis.del}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> @@ -113,10 +115,10 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.roleId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.roleId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); actions.push('<a class="btn btn-primary btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="authDataScope(\'' + row.roleId + '\')"><i class="fa fa-check-square-o"></i>'+[[#{data.permission}]]+'</a> '); actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="authUser(\'' + row.roleId + '\')"><i class="fa fa-user"></i>'+[[#{jsp.system.role.015}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.roleId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.roleId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> '); return actions.join(''); } }] diff --git a/src/main/resources/templates/system/user/profile/profile.html b/src/main/resources/templates/system/user/profile/profile.html index 7a24d7a..c1f003c 100644 --- a/src/main/resources/templates/system/user/profile/profile.html +++ b/src/main/resources/templates/system/user/profile/profile.html @@ -43,7 +43,7 @@ </div> </div> </div> - + <div class="col-sm-9 about"> <div class="ibox float-e-margins"> <div class="ibox-title ibox-title-gray dashboard-header"> @@ -94,13 +94,13 @@ </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> - <button type="button" class="btn btn-sm btn-primary" onclick="submitUserInfo()"><i class="fa fa-check"></i>save</button> - <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>close</button> + <button type="button" class="btn btn-sm btn-primary" onclick="submitUserInfo()"><i class="fa fa-check"></i>[[#{basis.save}]]</button> + <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>[[#{basis.close}]]</button> </div> </div> </form> </div> - + <!--淇敼瀵嗙爜--> <div class="tab-pane" id="modify_password"> <form class="form-horizontal" id="form-user-resetPwd"> @@ -124,8 +124,8 @@ </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> - <button type="button" class="btn btn-sm btn-primary" onclick="submitChangPassword()"><i class="fa fa-check"></i>save</button> - <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>close </button> + <button type="button" class="btn btn-sm btn-primary" onclick="submitChangPassword()"><i class="fa fa-check"></i>[[#{basis.save}]]</button> + <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>[[#{basis.close}]] </button> </div> </div> </form> @@ -137,7 +137,7 @@ </div> </div> </section> - + <th:block th:include="include :: footer" /> <script> /*鐢ㄦ埛绠$悊-澶村儚*/ @@ -145,7 +145,7 @@ var url = ctx + 'system/user/profile/avatar'; $.modal.open("淇敼澶村儚", url); } - + /*鐢ㄦ埛淇℃伅-淇敼*/ $("#form-user-edit").validate({ onkeyup: false, @@ -209,13 +209,13 @@ }, focusCleanup: true }); - + function submitUserInfo() { if ($.validate.form()) { $.operate.saveModal(ctx + "system/user/profile/update", $('#form-user-edit').serialize()); } } - + /*鐢ㄦ埛绠$悊-淇敼瀵嗙爜*/ $("#form-user-resetPwd").validate({ onkeyup: false, @@ -261,7 +261,7 @@ }, focusCleanup: true }); - + function submitChangPassword () { if ($.validate.form("form-user-resetPwd")) { $.operate.saveModal(ctx + "system/user/profile/resetPwd", $('#form-user-resetPwd').serialize()); diff --git a/src/main/resources/templates/system/user/usermanager.html b/src/main/resources/templates/system/user/usermanager.html index cdf15ab..f55088b 100644 --- a/src/main/resources/templates/system/user/usermanager.html +++ b/src/main/resources/templates/system/user/usermanager.html @@ -45,7 +45,7 @@ <a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="system:user:add"> <i class="fa fa-plus"></i>[[#{basis.add}]] </a> - <a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="system:user:edit"> + <a class="btn single disabled" style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF" onclick="$.operate.editTab()" shiro:hasPermission="system:user:edit"> <i class="fa fa-edit"></i> [[#{basis.edit}]] </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove"> @@ -54,7 +54,8 @@ <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import"> <i class="fa fa-upload"></i> [[#{basis.import}]] </a> - <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export"> + <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF" + class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export"> <i class="fa fa-download"></i> [[#{basis.export}]] </a> </div> @@ -141,9 +142,9 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.userId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> '); - actions.push('<a class="btn btn-info btn-xs ' + resetPwdFlag + '" href="javascript:void(0)" onclick="resetPwd(\'' + row.userId + '\')"><i class="fa fa-key"></i>'+[[#{basis.reset}]]+'</a>'); + // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.userId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> '); + // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.userId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> '); + actions.push('<a class="btn btn-warning btn-xs ' + resetPwdFlag + '" href="javascript:void(0)" onclick="resetPwd(\'' + row.userId + '\')"><i class="fa fa-key"></i>'+[[#{basis.reset}]]+'</a>'); return actions.join(''); } }] -- Gitblit v1.9.1