Commit d3497935 authored by sunyuhua's avatar sunyuhua

Merge remote-tracking branch 'origin/master'

parents 313e2b85 fbbe5d80
......@@ -79,8 +79,7 @@
<select id="getRoadStatistic" resultType="int">
select count(1)
from gksite.gk_cmpt_score_rule rule
inner join gksite.gk_cmpt_score_rule_map rulemap on rule.id = rulemap.rule_id
inner join geexekscore.cmpt_subsection_score score on rulemap.score_item_id = score.id
inner join gk_cmpt_score_rule_scoreinfo score on rule.id = score.rule_id
inner join geerunner.cmpt_enroll enroll on rule.cmpt_id=enroll.cmpt_id and rulemap.mark_no=enroll.nick_id and enroll.del_flg=0
where rule.cmpt_id=#{cmptId} and rule.id=#{ruleId}
and enroll.cmpt_item=#{roadId}
......@@ -112,17 +111,15 @@
<select id="getRoadStatisticByCmptIdAndRoadId" resultMap="userMap">
select enroll.enroll_id user_enroll_id,enroll.member_name user_memberName,enroll.sex user_sex,item.item_name user_itemName,
enroll.nick_id user_markNo,rulemap.rule_id score_ruleId,
enroll.nick_id user_markNo,score.rule_id score_ruleId,
score.id score_scoreId,score.subsectionscore score_duration,score.subsectionTime score_date,
fv.id score_field_fvid, fv.scoreFieldValue score_field_scoreFieldValue,fv.scoreFieldName score_field_scoreFieldName
from geerunner.cmpt_enroll enroll
left join gksite.gk_cmpt_score_rule rule on rule.cmpt_id=enroll.cmpt_id
LEFT join gksite.gk_cmpt_score_rule_map rulemap on rule.id = rulemap.rule_id and enroll.nick_id=rulemap.mark_no
left join geexekscore.cmpt_subsection_score score on rulemap.score_item_id = score.id
left join gk_cmpt_score_rule_scoreinfo score on rule.id = score.rule_id and score.mark_no = enroll.nick_id
left join geerunner.cmpt_item item on item.item_id = enroll.cmpt_item
left join gksite.gk_cmpt_score_field_value fv on fv.rule_id=rule.id and fv.markNo=enroll.nick_id and fv.isDelete=0
where enroll.cmpt_id=#{cmptId}
and enroll.cmpt_item=#{roadId} and enroll.del_flg=0
where enroll.cmpt_id=#{cmptId} and enroll.cmpt_item=#{roadId} and enroll.del_flg=0
</select>
<select id="getCmptScoreRulesMapByMarkNoAndScoreId" resultType="java.lang.Integer">
......
......@@ -102,7 +102,7 @@ public class CmptScoreRuleController {
/**
* 根据赛事Id获取赛事规则是单条还是多条
* @param cmptId
* @param
* @return
*/
@ResponseBody
......
package com.dlbridge.jadp.plugins.cmpt.web;
import com.dlbridge.jadp.common.interceptor.PageView;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRule;
import com.dlbridge.jadp.plugins.cmpt.bean.FuncSetting;
import com.dlbridge.jadp.plugins.cmpt.bean.Road;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.service.CmptScoreRuleService;
import com.dlbridge.jadp.plugins.cmpt.service.CmptService;
import com.dlbridge.jadp.plugins.cmpt.service.FuncSettingService;
import com.dlbridge.jadp.plugins.cmpt.service.RoadService;
import com.neusoft.www.utils.web.Result;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.List;
/**
* 成绩审核功能
*/
@Controller
@Log4j2
@RequestMapping("gk/review/")
@ApiIgnore
public class ScoreReviewController {
@Resource
private CmptService cmptService;
@Resource
private FuncSettingService funcSettingService;
@Resource
private RoadService roadService;
@Resource
CmptScoreRuleService cmptScoreRuleService;
@RequestMapping("index/{cmptId}")
@PageView
public ModelAndView index(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(cmptId);
mv.addObject("setting",settingByCmptId);
mv.setViewName("cmpt/score_review");
mv.addObject("cmpt", cmpt);
return mv;
}
@RequestMapping("roads/{cmptId}")
@ResponseBody
public Result roads(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
List<Road> list = roadService.queryRoads(cmptId);
return Result.success().setContent(list);
}
@RequestMapping("rules/{cmptId}")
@ResponseBody
public Result rules(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
List<CmptScoreRule> cmptScoreRules = cmptScoreRuleService.getCmptScoreRulesByCmptId(cmptId);
return Result.success().setContent(cmptScoreRules);
}
}
This diff is collapsed.
......@@ -160,13 +160,19 @@
<span class="menu-txt">扫码打卡</span>
</a>
</li>
<li class="review menu-item">
<a href="/gk/review/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="menuico left-arrow"></span>
<span class="menu-txt">成绩审核</span>
</a>
</li>
</ul>
</ul>
</nav>
<script>
var classes = ['cmptSetting', 'nameList', 'manual', 'contact',
'route', 'road', 'equip', 'photo', 'news',
'banner','score','auto','scan'];
'banner','score','auto','scan','review'];
let url = document.location.href;
var done = false;
for (var i in classes) {
......
var score = new Vue({
el : '#score',
data : {
selectedRoadId:-1,
selectedRuleId:-1,
param:{
size:10,
page:0,
cmptId:getCId(),
checkstatus:0
},
reviewCount:{
waiting:0,
nopass:0,
pass:0
},
jumpToPage:1,
checked:false,
reviewStatus : 0, // 0待审核 1审核通过 -1审核不通过
pass: false,
noPass: false,
previewImg: '',
dialog: false,
totalPage:0,
roads: [],
rules: [],
scores: []
},
filters: {
substr:function(value,length){
console.log(value+","+length)
if(!value || value.length < 18) return "";
return value.substr(5,5)+" "+value.substr(11,5);
},
date_format: function (value) {
if (!value) return ''
var hour = parseInt((value / 3600));
var min = parseInt((value/ 60 % 60));
var ms = parseInt((value % 60 % 60));
if(hour <= 9) hour = "0"+hour;
if(min <= 9) min = "0"+min;
if(ms <= 9) ms = "0"+ms;
return hour+":"+min+":"+ms;
},
pace:function (self,distance,duration) {
if(!duration || !distance){return ""}
var mins = parseFloat(duration/60)/distance;
var res = Math.floor((mins - parseInt(mins)) * 60);
return parseInt(mins)+"'"+ res +"''";
}
},
methods:{
closeDialog:function(){
score.$data.dialog = false;
},
preview : function (event) {
score.$data.dialog = true;
score.$data.previewImg = event.target.src
},
changeStatus:function (event) {
score.$data.reviewStatus = event;
score.$data.param.checkstatus = event;
reviewPage.reloadPage();
},
checkAll:function () {
score.$data.checked = !score.$data.checked
},
changeRoad:function () {
console.log(score.$data.selectedRoadId)
reviewPage.reloadPage();
},
changeRule:function () {
console.log(score.$data.selectedRuleId);
reviewPage.reloadPage();
},
next:function () {
if((score.$data.param.page+2) > Math.ceil(score.$data.totalPage/10)){
layer.alert('已经是最后一页!');
score.$data.jumpToPage = Math.ceil((score.$data.totalPage/10));
return;
}
score.$data.jumpToPage = ++score.$data.param.page+1;
reviewPage.reloadPage();
},
prev:function () {
if(score.$data.param.page <= 0){
score.$data.jumpToPage = 1;
score.$data.param.page = 0;
layer.alert('已经是第一页!');
score.$data.jumpToPage = 1;
return;
}
score.$data.jumpToPage = --score.$data.param.page+1;
reviewPage.reloadPage();
},
jumpTo:function () {
if(score.$data.jumpToPage <= 0) score.$data.jumpToPage = 1;
if(score.$data.jumpToPage-1 > Math.ceil((score.$data.totalPage/10))){
layer.alert('已经是最后一页!');
score.$data.jumpToPage = Math.ceil((score.$data.totalPage/10));
return;
}
score.$data.jumpToPage = parseInt(score.$data.jumpToPage)
score.$data.param.page = parseInt(score.$data.jumpToPage-1);
reviewPage.reloadPage();
},
review:function (status) {
reviewPage.reviewScore(status);
}
}
});
var reviewPage = {
getRoads:function () {
$.ajax({
url:"/gk/review/roads/"+getCId(),
success:function (data) {
if(data.status == 1){
score.$data.roads = data.content;
score.$data.selectedRoadId = score.$data.roads[0].roadId;
reviewPage.getRules();
}
}
});
},
getRules : function () {
$.ajax({
url:"/gk/review/rules/"+getCId(),
success:function (data) {
if(data.status == 1){
score.$data.rules = data.content;
score.$data.selectedRuleId = score.$data.rules[0].id;
reviewPage.reloadPage();
reviewPage.getStatistic();
}
}
});
},
reloadPage:function () {
score.$data.param.roadId = score.$data.selectedRoadId;
score.$data.param.ruleId = score.$data.selectedRuleId;
$.ajax({
url : '/gk/scoreReview/getCmptScoreRuleScoreInfo',
data:score.$data.param,
beforeSend:function(){
layer.load();
},
success:function (data) {
score.$data.scores = data.content;
score.$data.totalPage = data.total;
if(score.$data.param.checkstatus == 0){
score.$data.reviewCount.waiting = data.total;
}else if(score.$data.param.checkstatus == 1){
score.$data.reviewCount.pass = data.total;
} else if(score.$data.param.checkstatus == 2){
score.$data.reviewCount.nopass = data.total;
}
},
complete:function () {
layer.closeAll();
}
})
},
getStatistic:function(){
$.ajax({
url : '/gk/scoreReview/getCmptScoreRuleScoreInfoStatistics?cmptId='+getCId()+'&roadId='+
score.$data.selectedRoadId
+'&ruleId='+ score.$data.selectedRuleId,
success:function (data) {
console.log(data);
var result = data.content;
score.$data.reviewCount.waiting = result.Unprocessed;
score.$data.reviewCount.pass = result.pass;
score.$data.reviewCount.nopass = result.nopass;
},
complete:function () {
layer.closeAll();
}
})
},
reviewScore:function (status) {
if($('.score-item input:checked').length == 0){
layer.alert("请选择行操作!");
return ;
}
var passedIds = [];
var noPassedIds = [];
$.each($('.score-item input:checked'),function (i,e) {
passedIds.push($(e).val());
noPassedIds.push($(e).val());
});
if(status === 1){
noPassedIds = [0];
}else{
passedIds = [0];
}
var param = {cmptId : getCId(),'checkstatus':score.$data.param.checkstatus,
roadId: score.$data.selectedRoadId, ruleId : score.$data.selectedRuleId,
passedIds:passedIds.join(','),noPassedIds:noPassedIds.join(',')};
console.log(JSON.stringify(param))
$.ajax({
url : '/gk/scoreReview/uploadCmptScoreRuleScoreInfo',
data: param,
beforeSend:function(){
layer.load();
},
success:function (data) {
reviewPage.reloadPage();
score.$data.checked = !score.$data.checked
},
complete:function () {
layer.closeAll();
}
})
}
}
$(document).ready(function () {
$('body').on('click', '.status', function () {
var checked = $(this).hasClass('checked');
var status = !checked ? 1 : 0;
if (checked) {
$(this).removeClass("checked");
$(this).addClass("unchecked");
$(this).find('.txt').text('未启动')
} else {
$(this).removeClass("unchecked");
$(this).addClass("checked");
$(this).find('.txt').text('启动')
}
$.ajax({
url: "/setting/upSwitchScoreReview/"+getCmptId()+"/" + status,
type: 'post',
success: function (data) {
console.log(data);
}
});
})
reviewPage.getRoads();
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment