From 5dacbc91048ec5c36a1e9db1d73b0c3d14ec2a11 Mon Sep 17 00:00:00 2001 From: yz <3614508250@qq.com> Date: Mon, 21 Aug 2023 13:39:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AE=AD=E7=BB=83=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=AD=A5=E9=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ruoyi/GeneratorUtil.java | 3 +- .../controller/TrainingScoreController.java | 7 +- .../ruoyi/system/domain/SysTrainingScore.java | 258 ++++++++++++++++++ .../system/mapper/SysTrainingScoreMapper.java | 6 +- .../impl/SysTrainingScoreServiceImpl.java | 3 +- .../mapper/system/SysTrainingScoreMapper.xml | 227 +++++++-------- 6 files changed, 384 insertions(+), 120 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/GeneratorUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/GeneratorUtil.java index e099cf1..0176f5c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/GeneratorUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/GeneratorUtil.java @@ -7,6 +7,7 @@ import org.mybatis.generator.internal.DefaultShellCallback; import java.io.File; import java.net.URL; +import java.net.URLDecoder; import java.util.ArrayList; import java.util.List; @@ -19,7 +20,7 @@ public class GeneratorUtil { // 获取 generatorConfig.xml 文件路径 URL resourceUrl = GeneratorUtil.class.getResource("/generatorConfig.xml"); - String configFilePath = resourceUrl.getFile(); + String configFilePath = URLDecoder.decode(resourceUrl.getFile(), "UTF-8"); File configFileObj = new File(configFilePath); ConfigurationParser cp = new ConfigurationParser(warnings); diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java index 87dd9df..a6e6ea6 100644 --- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java +++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java @@ -73,9 +73,6 @@ public class TrainingScoreController { private List selectTotalScore(@RequestBody JSONObject jsonObject) { Long userId = jsonObject.getLong("userId"); SysTrainingScore sysTrainingScore = trainingScoreService.selectByUserId(userId); - if ("".equals(sysTrainingScore.getTrainingReportScore()) || sysTrainingScore.getTrainingReportScore() == null) { - return null; - } TrainingTotalScoreVo totalScoreVo = new TrainingTotalScoreVo(sysTrainingScore); totalScoreVo.setTotalscore(sysTrainingScore.getTotalscore()); totalScoreVo.setTrainingReportScore(sysTrainingScore.getTrainingReportScore()); @@ -101,7 +98,7 @@ public class TrainingScoreController { } for (int i = 0; i < trainingScoreList.size(); i++) { SysTrainingScore sysTrainingScore = trainingScoreList.get(i); - if (sysTrainingScore.getReportContent()==null){ + if (sysTrainingScore.getReportContent()==null || "".equals(sysTrainingScore.getReportContent())){ continue; } String reportContent = sysTrainingScore.getReportContent(); @@ -183,7 +180,7 @@ public class TrainingScoreController { if (!userList.isEmpty()) { for (SysTrainingScore sysTrainingScore : sysTrainingScores) { for (SysUser sysUser : userList) { - if (sysUser.getUserId().equals(sysTrainingScore.getUserid())) { + if (sysTrainingScore.getUserid().equals(sysUser.getUserId())) { ReportDto reportDto = new ReportDto(); reportDto.setFileName(sysTrainingScore.getReportFilename()); reportDto.setTrainingReportScore(sysTrainingScore.getTrainingReportScore() == null ? 0.0 : diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTrainingScore.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTrainingScore.java index 438825d..3dd2c0b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTrainingScore.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTrainingScore.java @@ -1,6 +1,11 @@ package com.ruoyi.system.domain; +import com.ruoyi.common.constant.TrainingScoreConstants; + +import java.lang.reflect.Method; +import java.text.DecimalFormat; import java.util.Date; +import java.util.Map; public class SysTrainingScore { /** @@ -2411,4 +2416,257 @@ public class SysTrainingScore { public void setReportContent(String reportContent) { this.reportContent = reportContent == null ? null : reportContent.trim(); } + + public void set(String methodName, Object value) { + try { + Method method = getClass().getMethod("set" + Character.toUpperCase(methodName.charAt(0)) + methodName.substring(1),value.getClass()); + method.invoke(this, value); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public Object get(String methodName) { + Object result = null; + try { + Method method = getClass().getMethod("get" + Character.toUpperCase(methodName.charAt(0)) + methodName.substring(1)); + result = method.invoke(this); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public void calculateDataScore() { + Date date = new Date(); + dataCollectionScore=0; + textSegmentationScore=0; + partofspeechTaggingScore=0; + categoryManagementScore=0; + textClassificationScore=0; + textSummarizationScore=0; + similarityCalculationScore=0; + sentimentAnalysisScore=0; + dataVisualizationScore=0; + reportSubmissionScore=0; + DecimalFormat df = new DecimalFormat("0.00"); + Map trainingScoreConstantsMap = TrainingScoreConstants.getTrainingScoreConstantsMap(); + + + int flag=0; + if (dataCollectionStepDescription != null && !"null".equals(dataCollectionStepDescription)) { + dataCollectionScore += trainingScoreConstantsMap.get("dataCollectionStepDescription"); + flag++; + } + if (dataCollectionToolbarButton != null && !"null".equals(dataCollectionToolbarButton)) { + dataCollectionScore += trainingScoreConstantsMap.get("dataCollectionToolbarButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 2 * 100; + String formattedResult = df.format(result); + dataCollectionProgress=formattedResult; + dataCollectionTime=date; + } + + flag=0; + if (textSegmentationStepDescription != null && !"null".equals(textSegmentationStepDescription)) { + textSegmentationScore += trainingScoreConstantsMap.get("textSegmentationStepDescription"); + flag++; + } + if (textSegmentationToolbarButton != null && !"null".equals(textSegmentationToolbarButton)) { + textSegmentationScore += trainingScoreConstantsMap.get("textSegmentationToolbarButton"); + flag++; + } + if (textSegmentationAnalysisTrainButton != null && !"null".equals(textSegmentationAnalysisTrainButton)) { + textSegmentationScore += trainingScoreConstantsMap.get("textSegmentationAnalysisTrainButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 3 * 100; + String formattedResult = df.format(result); + textSegmentationProgress=formattedResult; + textSegmentationTime=date; + } + + flag=0; + if ( partofspeechTaggingStepDescription!= null && !"null".equals(partofspeechTaggingStepDescription)) { + partofspeechTaggingScore += trainingScoreConstantsMap.get("partofspeechTaggingStepDescription"); + flag++; + } + if (partofspeechTaggingToolbarButton!=null && !"null".equals(partofspeechTaggingToolbarButton)) { + partofspeechTaggingScore += trainingScoreConstantsMap.get("partofspeechTaggingToolbarButton"); + flag++; + } + if (partofspeechTaggingAnalysisTrainButton!= null && !"null".equals(partofspeechTaggingAnalysisTrainButton)) { + partofspeechTaggingScore += trainingScoreConstantsMap.get("partofspeechTaggingAnalysisTrainButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 3 * 100; + String formattedResult = df.format(result); + partofspeechTaggingProgress=formattedResult; + partofspeechTaggingTime=date; + } + + + flag=0; + if (categoryManagementStepDescription!= null && !"null".equals(categoryManagementStepDescription)) { + categoryManagementScore += trainingScoreConstantsMap.get("categoryManagementStepDescription"); + flag++; + } + if (categoryManagementAddButton != null && !"null".equals(categoryManagementAddButton)) { + categoryManagementScore += trainingScoreConstantsMap.get("categoryManagementAddButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 2 * 100; + String formattedResult = df.format(result); + categoryManagementProgress=formattedResult; + categoryManagementTime=date; + } + + flag=0; + if (textClassificationStepDescription!= null && !"null".equals(textClassificationStepDescription)) { + textClassificationScore += trainingScoreConstantsMap.get("textClassificationStepDescription"); + flag++; + } + if (textClassificationArticleClassificationButton!= null && !"null".equals(textClassificationArticleClassificationButton)) { + textClassificationScore += trainingScoreConstantsMap.get("textClassificationArticleClassificationButton"); + flag++; + } + if (textClassificationCreateArticleButton!= null && !"null".equals(textClassificationCreateArticleButton)) { + textClassificationScore += trainingScoreConstantsMap.get("textClassificationCreateArticleButton"); + flag++; + } + if (textClassificationToolbarDetailsButton!= null && !"null".equals(textClassificationToolbarDetailsButton)) { + textClassificationScore += trainingScoreConstantsMap.get("textClassificationToolbarDetailsButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 4 * 100; + String formattedResult = df.format(result); + textClassificationProgress=formattedResult; + textClassificationTime=date; + } + + flag=0; + if (textSummarizationStepDescription!= null && !"null".equals(textSummarizationStepDescription)) { + textSummarizationScore += trainingScoreConstantsMap.get("textSummarizationStepDescription"); + flag++; + } + if (textSummarizationArticleSummaryButton!= null && !"null".equals(textSummarizationArticleSummaryButton)) { + textSummarizationScore += trainingScoreConstantsMap.get("textSummarizationArticleSummaryButton"); + flag++; + } + if (textSummarizationCreateArticleButton!= null && !"null".equals(textSummarizationCreateArticleButton)) { + textSummarizationScore += trainingScoreConstantsMap.get("textSummarizationCreateArticleButton"); + flag++; + } + if (textSummarizationToolbarDetailsButton!= null && !"null".equals(textSummarizationToolbarDetailsButton)) { + textSummarizationScore += trainingScoreConstantsMap.get("textSummarizationToolbarDetailsButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 4 * 100; + String formattedResult = df.format(result); + textSummarizationProgress=formattedResult; + textSummarizationTime=date; + } + + flag=0; + if (similarityCalculationStepDescription!= null && !"null".equals(similarityCalculationStepDescription)) { + similarityCalculationScore += trainingScoreConstantsMap.get("similarityCalculationStepDescription"); + flag++; + } + if (similarityCalculationAddButtonTop!= null && !"null".equals(similarityCalculationAddButtonTop)) { + similarityCalculationScore += trainingScoreConstantsMap.get("similarityCalculationAddButtonTop"); + flag++; + } + if (similarityCalculationAddButtonBottom!= null && !"null".equals(similarityCalculationAddButtonBottom)) { + similarityCalculationScore += trainingScoreConstantsMap.get("similarityCalculationAddButtonBottom"); + flag++; + } + if (similarityCalculationCalculateSimilarityButton!= null && !"null".equals(similarityCalculationCalculateSimilarityButton)) { + similarityCalculationScore += trainingScoreConstantsMap.get("similarityCalculationCalculateSimilarityButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 4 * 100; + String formattedResult = df.format(result); + similarityCalculationProgress=formattedResult; + similarityCalculationTime=date; + } + + flag=0; + if (sentimentAnalysisStepDescription!= null && !"null".equals(sentimentAnalysisStepDescription)) { + sentimentAnalysisScore += trainingScoreConstantsMap.get("sentimentAnalysisStepDescription"); + flag++; + } + if (sentimentAnalysisSelectButton!= null && !"null".equals(sentimentAnalysisSelectButton)) { + sentimentAnalysisScore += trainingScoreConstantsMap.get("sentimentAnalysisSelectButton"); + flag++; + } + if (sentimentAnalysisSentimentAnalysisButton!= null && !"null".equals(sentimentAnalysisSentimentAnalysisButton)) { + sentimentAnalysisScore += trainingScoreConstantsMap.get("sentimentAnalysisSentimentAnalysisButton"); + flag++; + } + if (sentimentAnalysisCreateSentimentWordButton!= null && !"null".equals(sentimentAnalysisCreateSentimentWordButton)) { + sentimentAnalysisScore += trainingScoreConstantsMap.get("sentimentAnalysisCreateSentimentWordButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 4 * 100; + String formattedResult = df.format(result); + sentimentAnalysisProgress=formattedResult; + sentimentAnalysisTime=date; + } + + flag=0; + if (dataVisualizationStepDescription!= null && !"null".equals(dataVisualizationStepDescription)) { + dataVisualizationScore += trainingScoreConstantsMap.get("dataVisualizationStepDescription"); + flag++; + } + if (dataVisualizationWordCloudButton!= null && !"null".equals(dataVisualizationWordCloudButton)) { + dataVisualizationScore += trainingScoreConstantsMap.get("dataVisualizationWordCloudButton"); + flag++; + } + if (dataVisualizationSocialNetworkAnalysisButton!= null && !"null".equals(dataVisualizationSocialNetworkAnalysisButton)) { + dataVisualizationScore += trainingScoreConstantsMap.get("dataVisualizationSocialNetworkAnalysisButton"); + flag++; + } + if (dataVisualizationSentimentAnalysisButton!= null && !"null".equals(dataVisualizationSentimentAnalysisButton)) { + dataVisualizationScore += trainingScoreConstantsMap.get("dataVisualizationSentimentAnalysisButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 4 * 100; + String formattedResult = df.format(result); + dataVisualizationProgress=formattedResult; + dataVisualizationTime=date; + } + + flag=0; + if (reportSubmissionExperiencePageSaveButton!= null && !"null".equals(reportSubmissionExperiencePageSaveButton)) { + reportSubmissionScore += trainingScoreConstantsMap.get("reportSubmissionExperiencePageSaveButton"); + flag++; + } + if (reportSubmissionUploadReportButton!= null && !"null".equals(reportSubmissionUploadReportButton)) { + reportSubmissionScore += trainingScoreConstantsMap.get("reportSubmissionUploadReportButton"); + flag++; + } + if (reportSubmissionSubmitButton!= null && !"null".equals(reportSubmissionSubmitButton)) { + reportSubmissionScore += trainingScoreConstantsMap.get("reportSubmissionSubmitButton"); + flag++; + } + if(flag!=0){ + double result = (double) flag / 3 * 100; + String formattedResult = df.format(result); + reportSubmissionProgress=formattedResult; + reportSubmissionTime=date; + } + + trainingOperationScore=dataCollectionScore+textSegmentationScore+partofspeechTaggingScore+categoryManagementScore+textClassificationScore + +textSummarizationScore+similarityCalculationScore+sentimentAnalysisScore+dataVisualizationScore+reportSubmissionScore; + } } \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTrainingScoreMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTrainingScoreMapper.java index 233654f..4e22a4e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTrainingScoreMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTrainingScoreMapper.java @@ -3,8 +3,10 @@ package com.ruoyi.system.mapper; import com.ruoyi.system.domain.SysTrainingScore; import com.ruoyi.system.domain.SysTrainingScoreExample; import java.util.List; -import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +@Mapper public interface SysTrainingScoreMapper { /** * This method was generated by MyBatis Generator. @@ -117,4 +119,6 @@ public interface SysTrainingScoreMapper { * @mbg.generated Mon Aug 21 11:45:49 CST 2023 */ int updateByPrimaryKey(SysTrainingScore record); + + List selectAllReportContent(); } \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java index a9d891a..e911344 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java @@ -200,7 +200,8 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService { @Override public List selectAllReportContent() { - return trainingScoreMapper.selectAllReportContent(); + List trainingScores = trainingScoreMapper.selectAllReportContent(); + return trainingScores; } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysTrainingScoreMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysTrainingScoreMapper.xml index 6e31d50..664ff50 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysTrainingScoreMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysTrainingScoreMapper.xml @@ -5,7 +5,7 @@ @@ -84,7 +84,7 @@ @@ -92,7 +92,7 @@ @@ -126,7 +126,7 @@ @@ -160,46 +160,49 @@ - id, userid, data_collection_step_description, data_collection_toolbar_button, data_collection_progress, - data_collection_score, data_collection_time, text_segmentation_step_description, - text_segmentation_toolbar_button, text_segmentation_analysis_train_button, text_segmentation_progress, - text_segmentation_score, text_segmentation_time, partofspeech_tagging_step_description, - partofspeech_tagging_toolbar_button, partofspeech_tagging_analysis_train_button, - partofspeech_tagging_progress, partofspeech_tagging_score, partofspeech_tagging_time, - category_management_step_description, category_management_add_button, category_management_progress, - category_management_score, category_management_time, text_classification_step_description, - text_classification_article_classification_button, text_classification_create_article_button, - text_classification_toolbar_details_button, text_classification_progress, text_classification_score, - text_classification_time, text_summarization_step_description, text_summarization_article_summary_button, - text_summarization_create_article_button, text_summarization_toolbar_details_button, - text_summarization_progress, text_summarization_score, text_summarization_time, similarity_calculation_step_description, - similarity_calculation_add_button_top, similarity_calculation_add_button_bottom, - similarity_calculation_calculate_similarity_button, similarity_calculation_progress, - similarity_calculation_score, similarity_calculation_time, sentiment_analysis_step_description, - sentiment_analysis_select_button, sentiment_analysis_sentiment_analysis_button, sentiment_analysis_create_sentiment_word_button, - sentiment_analysis_progress, sentiment_analysis_score, sentiment_analysis_time, data_visualization_step_description, - data_visualization_word_cloud_button, data_visualization_social_network_analysis_button, - data_visualization_sentiment_analysis_button, data_visualization_progress, data_visualization_score, - data_visualization_time, report_submission_experience_page_save_button, report_submission_upload_report_button, - report_submission_submit_button, report_submission_progress, report_submission_score, - report_submission_time, report_upload_path, report_filename, status, training_operation_score, + id, userid, data_collection_step_description, data_collection_toolbar_button, data_collection_progress, + data_collection_score, data_collection_time, text_segmentation_step_description, + text_segmentation_toolbar_button, text_segmentation_analysis_train_button, text_segmentation_progress, + text_segmentation_score, text_segmentation_time, partofspeech_tagging_step_description, + partofspeech_tagging_toolbar_button, partofspeech_tagging_analysis_train_button, + partofspeech_tagging_progress, partofspeech_tagging_score, partofspeech_tagging_time, + category_management_step_description, category_management_add_button, category_management_progress, + category_management_score, category_management_time, text_classification_step_description, + text_classification_article_classification_button, text_classification_create_article_button, + text_classification_toolbar_details_button, text_classification_progress, text_classification_score, + text_classification_time, text_summarization_step_description, text_summarization_article_summary_button, + text_summarization_create_article_button, text_summarization_toolbar_details_button, + text_summarization_progress, text_summarization_score, text_summarization_time, similarity_calculation_step_description, + similarity_calculation_add_button_top, similarity_calculation_add_button_bottom, + similarity_calculation_calculate_similarity_button, similarity_calculation_progress, + similarity_calculation_score, similarity_calculation_time, sentiment_analysis_step_description, + sentiment_analysis_select_button, sentiment_analysis_sentiment_analysis_button, sentiment_analysis_create_sentiment_word_button, + sentiment_analysis_progress, sentiment_analysis_score, sentiment_analysis_time, data_visualization_step_description, + data_visualization_word_cloud_button, data_visualization_social_network_analysis_button, + data_visualization_sentiment_analysis_button, data_visualization_progress, data_visualization_score, + data_visualization_time, report_submission_experience_page_save_button, report_submission_upload_report_button, + report_submission_submit_button, report_submission_progress, report_submission_score, + report_submission_time, report_upload_path, report_filename, status, training_operation_score, training_report_score, totalscore, reportstatus report_content +