This commit is contained in:
zhaoxinyu
2024-09-23 10:50:10 +08:00
parent 17d50d77f8
commit dfbb741cb1
6 changed files with 46 additions and 4 deletions
@@ -155,7 +155,9 @@ public class ReimbursementCon {
"\tct_s.`data` ct_s,\n" +
"\tuc_s.`data` uc_s,\n" +
"\tucc_s.`data` ucc_s,\n" +
"\tus_s.`data` us_s\n" +
"\tus_s.`data` us_s,\n" +
"\tabsType.`name` projectTypeName, \n" +
"\tabsat.`name` activityTypeName\n" +
"FROM\n" +
"\tactivity_bx act\n" +
"\tLEFT JOIN sys_user `user` ON act.user_id = `user`.id\n" +
@@ -171,6 +173,8 @@ public class ReimbursementCon {
"\tLEFT JOIN sys_signature uc_s ON uc_s.id = act.union_cashier\n" +
"\tLEFT JOIN sys_signature ucc_s ON ucc_s.id = act.union_chairman\n" +
"\tLEFT JOIN sys_signature us_s ON us_s.id = act.user_signature \n" +
"\tLEFT JOIN activity_basic_settings absType ON absType.`code` = act.projectTypeCode\n" +
"\tLEFT JOIN activity_basic_settings absat ON absat.`code` = act.activity_type\n" +
"WHERE\n" +
"\tact.id = @id").setParam("id", id);
List<NutMap> listMap = baseService.listMap(sql);
@@ -71,7 +71,9 @@ public class ActivityBxServiceImpl extends BaseServiceImpl<ActivityBx> implement
ct_s.`data` ct_s,
uc_s.`data` uc_s,
ucc_s.`data` ucc_s,
us_s.`data` us_s
us_s.`data` us_s,
absType.`name` projectTypeName,
absat.`name` activityTypeName
FROM
activity_bx act
LEFT JOIN sys_user `user` ON act.user_id = `user`.id
@@ -87,6 +89,8 @@ public class ActivityBxServiceImpl extends BaseServiceImpl<ActivityBx> implement
LEFT JOIN sys_signature uc_s ON uc_s.id = act.union_cashier
LEFT JOIN sys_signature ucc_s ON ucc_s.id = act.union_chairman
LEFT JOIN sys_signature us_s ON us_s.id = act.user_signature
LEFT JOIN activity_basic_settings absType ON absType.`code` = act.projectTypeCode
LEFT JOIN activity_basic_settings absat ON absat.`code` = act.activity_type
WHERE
act.id = @id
""").setParam("id", id);
@@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import io.v.nutz.base.page.Pagination;
import io.v.nutz.base.service.impl.BaseServiceImpl;
@@ -50,6 +51,7 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
DATE_FORMAT( qus.answerDate, '%Y-%m-%d' ) as answerDate,
qus.score,
qus.answerNum,
qus.takeTime,
u.loginname,
u.username,
u.sex,
@@ -85,6 +87,7 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
GROUP_CONCAT( qus.answerNum, '(', qus.score, ')' ORDER BY qus.answerNum SEPARATOR ', ' ) AS everyRandomScore,
sum( score ) AS score,
qus.userId,
qus.takeTime,
DATE_FORMAT( qus.answerDate, '%Y-%m-%d' ) AS answerDate,
u.loginname,
u.username,
@@ -140,6 +143,7 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
qus.userId,
DATE_FORMAT( qus.answerDate, '%Y-%m-%d' ) AS answerDate,
qus.answerNum,
qus.takeTime,
max( qus.answerNum ),
min( qus.answerNum ),
qus.score,
@@ -182,6 +186,7 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
DATE_FORMAT( qus.answerDate, '%Y-%m-%d' ) as answerDate,
qus.score,
qus.answerNum,
qus.takeTime,
u.loginname,
u.username,
u.sex,
@@ -225,6 +230,7 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
DATE_FORMAT( qus.answerDate, '%Y-%m-%d' ) as answerDate,
qus.score,
qus.answerNum,
qus.takeTime,
u.loginname,
u.username,
u.sex,
@@ -269,6 +275,7 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
GROUP_CONCAT( qus.answerNum, '(', qus.score, ')' ORDER BY qus.answerNum SEPARATOR ', ' ) AS everyRandomScore,
sum( score ) AS score,
qus.userId,
qus.takeTime,
DATE_FORMAT( qus.answerDate, '%Y-%m-%d' ) AS answerDate,
u.loginname,
u.username,
@@ -334,6 +341,7 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
qus.userId,
DATE_FORMAT( qus.answerDate, '%Y-%m-%d' ) AS answerDate,
qus.answerNum,
qus.takeTime,
max( qus.answerNum ),
min( qus.answerNum ),
qus.score,
@@ -383,6 +391,7 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
qus.userId,
DATE_FORMAT( qus.answerDate, '%Y-%m-%d' ) as answerDate,
qus.score,
qus.takeTime,
qus.answerNum,
u.loginname,
u.username,
@@ -418,6 +427,16 @@ public class QuestionAnswerRankingServiceImpl extends BaseServiceImpl<QuestionUs
exportEntities.add(new ExcelExportEntity("分数", "score", 20));
exportEntities.add(new ExcelExportEntity("答题日期", "answerDate", 20));
if (question.getEnableTimer()) {
exportEntities.add(new ExcelExportEntity("答题用时", "takeTime", 20));
}
for (NutMap nutMap : list) {
int takeTime = nutMap.getInt("takeTime", 0);
String time = DateUtil.secondToTime(takeTime);
nutMap.put("takeTime",time);
}
ExportParams exportParams = new ExportParams();
exportParams.setType(ExcelType.XSSF);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list);
@@ -9,7 +9,7 @@
<el-descriptions-item label="活动主体类型">{{ viewData.activityTypeName }}</el-descriptions-item>
<el-descriptions-item label="活动项目类型" :span="2">{{ viewData.projectTypeName }}</el-descriptions-item>
<el-descriptions-item label="活动名称" :span="2">{{viewData.activity_name}}</el-descriptions-item>
<el-descriptions-item label="项目编号" :span="2">{{viewData.projectCode}}</el-descriptions-item>
<!-- <el-descriptions-item label="项目编号" :span="2">{{viewData.projectCode}}</el-descriptions-item>-->
<el-descriptions-item label="申报(承办)单位" :span="2">{{viewData.fundsUnitName}}</el-descriptions-item>
<el-descriptions-item label="活动计划时间" :span="2">
{{viewData.startPlannedDate}}至{{viewData.endPlannedDate}}
@@ -174,7 +174,7 @@ layout("/mobile/platform.html"){
<div class="score" v-if="finishAnswer && ( currentScore || currentScore===0 )">
{{questionData.calcScoreMode==1?'今日最高成绩':'得分'}}{{currentScore}}
</div>
<div class="timer" v-if="questionData.enableTimer">
<div class="timer" v-if="questionData.enableTimer && !finishAnswer">
<span>剩余时间:{{remainder}}</span>
</div>
</div>
@@ -128,6 +128,12 @@ layout("/layouts/platform.html"){
<el-table-column label="每轮得分" prop="everyRandomScore"
v-if="questionCtMode==2 && isSameDay"></el-table-column>
<el-table-column label="答题用时" prop="takeTime" v-if="enableTimer">
<template scope="scope">
{{moment.utc(moment.duration(scope.row.takeTime,"seconds").asMilliseconds()).format("HH时mm分ss秒")}}
</template>
</el-table-column>
</el-table>
<!--# include("/layouts/pagination.html"){}#-->
@@ -207,6 +213,15 @@ layout("/layouts/platform.html"){
return null
}
return null
},
enableTimer(){
if(this.pageForm.questionId){
const currentQuestion = this.questions.find(v => v.qid === this.pageForm.questionId)
if (currentQuestion) {
return currentQuestion.enableTimer
}
return null
}
}
},
methods: {