Commit 7ebbe08f authored by sunyuhua's avatar sunyuhua

成绩审核的后台代码

parent 8cdbf1e5
...@@ -21,6 +21,7 @@ public class CmptScoreRuleScoreInfo { ...@@ -21,6 +21,7 @@ public class CmptScoreRuleScoreInfo {
private String subsectionTime; private String subsectionTime;
private Integer subsectionscore; private Integer subsectionscore;
private Integer subsectionMileage; private Integer subsectionMileage;
private Integer checkStatus;
private Integer isDelete; private Integer isDelete;
private String insertTime; private String insertTime;
private String updateTime; private String updateTime;
......
...@@ -4,6 +4,7 @@ package com.dlbridge.jadp.plugins.cmpt.dao.mapper; ...@@ -4,6 +4,7 @@ package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
import com.dlbridge.feign.bean.ScoreItem; import com.dlbridge.feign.bean.ScoreItem;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo; import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo;
import com.dlbridge.jadp.plugins.cmpt.bean.UserScoreExcelBean; import com.dlbridge.jadp.plugins.cmpt.bean.UserScoreExcelBean;
import org.springframework.data.domain.Pageable;
import java.util.List; import java.util.List;
...@@ -32,4 +33,46 @@ public interface CmptScoreRuleScoreInfoMapper { ...@@ -32,4 +33,46 @@ public interface CmptScoreRuleScoreInfoMapper {
* @return * @return
*/ */
Integer getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(Integer cmptId,String markNo,int ruleId); Integer getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(Integer cmptId,String markNo,int ruleId);
/**
* 获取此规则有多少人提交成绩
* @param cmptId
* @param ruleId
* @param checkStatus
* @return
*/
Integer getCmptScoreRuleScoreInfoToalNumer(int cmptId,int roadId,int ruleId,int checkStatus);
/**
* 分页获取用户提交的成绩
* @param page
* @param cmptId
* @param roadId
* @param ruleId
* @param checkStatus
* @return
*/
List<CmptScoreRuleScoreInfo> getCmptScoreRuleScoreInfoList(Pageable page, int cmptId, int roadId, int ruleId, int checkStatus);
/**
* 批量审核,审核成绩结果为未通过
* @param cmptId
* @param roadId
* @param ruleId
* @param noPassedIds
* @return
*/
Integer uploadCmptScoreRuleScoreInfoByNoPassedIds(int cmptId, int roadId, int ruleId,int[] noPassedIds);
/**
* 批量审核,审核成绩结果为通过
* @param cmptId
* @param roadId
* @param ruleId
* @param passedIds
* @return
*/
Integer uploadCmptScoreRuleScoreInfoByPassedIds(int cmptId, int roadId, int ruleId,int[] passedIds);
} }
...@@ -12,5 +12,19 @@ ...@@ -12,5 +12,19 @@
<select id="getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo" resultType="int"> <select id="getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo" resultType="int">
select id from gk_cmpt_score_rule_scoreinfo where cmptId=#{cmptId} and rule_id=#{ruleId} and mark_no=#{markNo} select id from gk_cmpt_score_rule_scoreinfo where cmptId=#{cmptId} and rule_id=#{ruleId} and mark_no=#{markNo}
</select> </select>
<select id="getCmptScoreRuleScoreInfoToalNumer" resultType="int">
select count(1) from geerunner.cmpt_enroll as a left join gk_cmpt_score_rule_scoreinfo as b on a.cmpt_id=b.cmptId where cmptId=#{cmptId} and a.cmpt_item=#{roadId} and rule_id=#{ruleId} and checkStatus=#{checkStatus} and a.del_flag=0 and b.isDelete=0
</select>
<select id="getCmptScoreRuleScoreInfoList" resultType="com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo">
select a.cmpt_id as cmptId,rule_id as ruleId,b.mark_no as markNo,subsectionscore as subsectionscore,subsectionMileage as subsectionMileage,checkStatus from geerunner.cmpt_enroll as a left join
gk_cmpt_score_rule_scoreinfo as b on a.cmpt_id=b.cmptId where cmptId=#{cmptId} and a.cmpt_item=#{roadId} and rule_id=#{ruleId} and checkStatus=#{checkStatus} and a.del_flag=0 and b.isDelete=0 order by subsectionTime desc limit #{page.offset},#{page.size}
</select>
<update id="uploadCmptScoreRuleScoreInfoByNoPassedIds">
</update>
<update id="uploadCmptScoreRuleScoreInfoByPassedIds">
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -4,7 +4,11 @@ import com.dlbridge.feign.bean.ScoreItem; ...@@ -4,7 +4,11 @@ import com.dlbridge.feign.bean.ScoreItem;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo; import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo;
import com.dlbridge.jadp.plugins.cmpt.bean.UserScoreExcelBean; import com.dlbridge.jadp.plugins.cmpt.bean.UserScoreExcelBean;
import com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptScoreRuleScoreInfoMapper; import com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptScoreRuleScoreInfoMapper;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.utils.Page;
import com.dlbridge.jadp.plugins.cmpt.utils.PageFactory;
import com.dlbridge.jadp.plugins.cmpt.utils.date.DateUtil; import com.dlbridge.jadp.plugins.cmpt.utils.date.DateUtil;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -25,6 +29,9 @@ public class CmptScoreRuleScoreInfoService { ...@@ -25,6 +29,9 @@ public class CmptScoreRuleScoreInfoService {
@Resource @Resource
RemoteService remoteService; RemoteService remoteService;
@Resource
CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService;
/** /**
* 保存用户提交的成绩,每一天规则对应一条成绩 * 保存用户提交的成绩,每一天规则对应一条成绩
* @param cmptScoreRuleScoreInfo * @param cmptScoreRuleScoreInfo
...@@ -65,5 +72,66 @@ public class CmptScoreRuleScoreInfoService { ...@@ -65,5 +72,66 @@ public class CmptScoreRuleScoreInfoService {
return cmptScoreRuleScoreInfoMapper.getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(cmptId,markNo,ruleId); return cmptScoreRuleScoreInfoMapper.getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(cmptId,markNo,ruleId);
} }
/**
* 根据号码牌自动审核成绩
* 查出总成绩,并把成绩发送给计时系统
* @param cmptId
* @param markNo
*/
public boolean scoreReviewByMarkNo(int cmptId, String markNo, int SwitchScoreReview){
//成绩自动审核开启SwitchScoreReview==1
if(SwitchScoreReview==1){
//根据赛事id和号码牌查出总成绩
HashMap<String,Object> scoreResult=cmptScoreRuleScoreInfoService.getUserScoreByMarkNo(cmptId,markNo);
//将数据都插入计时系统的名单中
HashMap<String,Object> cmptEnrollInfo=new HashMap<>();
cmptEnrollInfo.put("cmptId",cmptId);
cmptEnrollInfo.put("markNo",markNo);
cmptEnrollInfo.put("deviceId",markNo);
cmptEnrollInfo.put("remark", DateUtil.formatDate((Long)scoreResult.get("userTotalScore")));
cmptEnrollInfo.put("remark2",String.valueOf(((int)scoreResult.get("userTotalMileage")/100d)/10d));
boolean enrollFlag=remoteService.mergePersonEnrollByMarkNo(cmptEnrollInfo);
//将成绩插入到计时系统,以便出完赛证书
String records=markNo+","+DateUtil.formatDate((Long)scoreResult.get("userTotalScore"))+",3";
boolean timeFlag=remoteService.uploadTimeScore(cmptId,records);
return enrollFlag&timeFlag;
}
return false;
}
/**
* 根据cmptid,roadId,ruleId获取用户提交成绩记录
* @param page
* @param cmptId
* @param roadId
* @param ruleId
* @parm checkstatus 1为已审核 0为未审核 2为未通过
* @return
*/
public Page<List<CmptScoreRuleScoreInfo>> getCmptScoreRuleScoreInfo(Pageable page, int cmptId, int roadId, int ruleId,int checkstatus){
long count = cmptScoreRuleScoreInfoMapper.getCmptScoreRuleScoreInfoToalNumer(cmptId,roadId,ruleId,checkstatus);
List<CmptScoreRuleScoreInfo> list = cmptScoreRuleScoreInfoMapper.getCmptScoreRuleScoreInfoList(page, cmptId,roadId,ruleId,checkstatus);
return PageFactory.setContent(list, page, count);
}
/**
* 批量审核用户提交的成绩信息
* @param cmptId
* @param roadId
* @param ruleId
* @param noPassedIds
* @param passedIds
* @return
*/
public boolean uploadCmptScoreRuleScoreInfo(int cmptId, int roadId, int ruleId,int[] noPassedIds,int[] passedIds){
Integer uploadNumberNoPassedIds= cmptScoreRuleScoreInfoMapper.uploadCmptScoreRuleScoreInfoByNoPassedIds(cmptId,roadId,ruleId,noPassedIds);
Integer uploadNumberPassedIds= cmptScoreRuleScoreInfoMapper.uploadCmptScoreRuleScoreInfoByNoPassedIds(cmptId,roadId,ruleId,passedIds);
if(uploadNumberNoPassedIds>0 ||uploadNumberPassedIds>0){
return true;
}
return false;
}
} }
package com.dlbridge.jadp.plugins.cmpt.service;
import com.dlbridge.jadp.plugins.cmpt.bean.ScoreExcelBean;
import com.dlbridge.jadp.plugins.cmpt.utils.date.DateUtil;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
/**
* 成绩审核的service
*/
@Service
@Log4j2
public class ScoreReviewService {
@Resource
RemoteService remoteService;
@Resource
CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService;
/**
* 根据号码牌自动审核成绩
* 查出总成绩,并把成绩发送给计时系统
* @param cmptId
* @param markNo
*/
public boolean scoreReviewByMarkNo(int cmptId, String markNo, int SwitchScoreReview){
//成绩自动审核开启SwitchScoreReview==1
if(SwitchScoreReview==1){
//根据赛事id和号码牌查出总成绩
HashMap<String,Object> scoreResult=cmptScoreRuleScoreInfoService.getUserScoreByMarkNo(cmptId,markNo);
//将数据都插入计时系统的名单中
HashMap<String,Object> cmptEnrollInfo=new HashMap<>();
cmptEnrollInfo.put("cmptId",cmptId);
cmptEnrollInfo.put("markNo",markNo);
cmptEnrollInfo.put("deviceId",markNo);
cmptEnrollInfo.put("remark", DateUtil.formatDate((Long)scoreResult.get("userTotalScore")));
cmptEnrollInfo.put("remark2",String.valueOf(((int)scoreResult.get("userTotalMileage")/100d)/10d));
boolean enrollFlag=remoteService.mergePersonEnrollByMarkNo(cmptEnrollInfo);
//将成绩插入到计时系统,以便出完赛证书
String records=markNo+","+DateUtil.formatDate((Long)scoreResult.get("userTotalScore"))+",3";
boolean timeFlag=remoteService.uploadTimeScore(cmptId,records);
return enrollFlag&timeFlag;
}
return false;
}
}
package com.dlbridge.jadp.plugins.cmpt.web;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo;
import com.dlbridge.jadp.plugins.cmpt.service.CmptScoreRuleScoreInfoService;
import com.dlbridge.jadp.plugins.cmpt.utils.Page;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.List;
/**
* 成绩审核对应的接口
*/
@Controller
@Log4j2
@RequestMapping("gk/scoreReview/")
@ApiIgnore
public class CmptScoreRuleScoreInfoController {
@Resource
CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService;
/**
* 根据cmptId,roadId,ruleId获取用户提交的成绩记录
* @param page
* @param cmptId
* @param roadId
* @param ruleId
* @param checkstatus 1为已审核 0为未审核,2为未通过
* @return
*/
public Page<List<CmptScoreRuleScoreInfo>> getCmptScoreRuleScoreInfo(Pageable page, int cmptId, int roadId, int ruleId,int checkstatus) {
Page<List<CmptScoreRuleScoreInfo>> result = cmptScoreRuleScoreInfoService.getCmptScoreRuleScoreInfo(page,cmptId,roadId,ruleId,checkstatus);
result.setCode(200);
return result;
}
/**
* 批量审核成绩为通过或者未通过
* @param page
* @param cmptId
* @param roadId
* @param ruleId
* @param checkstatus 1为已通过 ,2为未通过
* @return
*/
public Page<List<CmptScoreRuleScoreInfo>> uploadCmptScoreRuleScoreInfo(Pageable page, int cmptId, int roadId, int ruleId,int checkstatus,int[] noPassedIds,int[] passedIds){
boolean isOk= cmptScoreRuleScoreInfoService.uploadCmptScoreRuleScoreInfo(cmptId,roadId,ruleId,noPassedIds,passedIds);
log.info("审核成绩"+isOk);
Page<List<CmptScoreRuleScoreInfo>> result = cmptScoreRuleScoreInfoService.getCmptScoreRuleScoreInfo(page,cmptId,roadId,ruleId,checkstatus);
result.setCode(200);
return result;
}
}
...@@ -5,7 +5,6 @@ import com.dlbridge.feign.NewsService; ...@@ -5,7 +5,6 @@ import com.dlbridge.feign.NewsService;
import com.dlbridge.feign.ScoreService; import com.dlbridge.feign.ScoreService;
import com.dlbridge.feign.bean.ScoreItem; import com.dlbridge.feign.bean.ScoreItem;
import com.dlbridge.jadp.common.service.JService; import com.dlbridge.jadp.common.service.JService;
import com.dlbridge.jadp.common.utils.DateUtils;
import com.dlbridge.jadp.job.CountJob; import com.dlbridge.jadp.job.CountJob;
import com.dlbridge.jadp.plugins.cmpt.bean.*; import com.dlbridge.jadp.plugins.cmpt.bean.*;
import com.dlbridge.jadp.plugins.cmpt.bean.Contact; import com.dlbridge.jadp.plugins.cmpt.bean.Contact;
...@@ -15,7 +14,6 @@ import com.dlbridge.jadp.plugins.cmpt.dao.model.Manual; ...@@ -15,7 +14,6 @@ import com.dlbridge.jadp.plugins.cmpt.dao.model.Manual;
import com.dlbridge.jadp.plugins.cmpt.dao.model.NameList; import com.dlbridge.jadp.plugins.cmpt.dao.model.NameList;
import com.dlbridge.jadp.plugins.cmpt.service.*; import com.dlbridge.jadp.plugins.cmpt.service.*;
import com.dlbridge.jadp.plugins.cmpt.utils.*; import com.dlbridge.jadp.plugins.cmpt.utils.*;
import com.dlbridge.jadp.plugins.cmpt.utils.date.DateUtil;
import com.google.common.reflect.TypeToken; import com.google.common.reflect.TypeToken;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.dlbridge.feign.bean.News; import com.dlbridge.feign.bean.News;
...@@ -122,8 +120,6 @@ public class MicroApiController { ...@@ -122,8 +120,6 @@ public class MicroApiController {
@Resource @Resource
private RoadsGpsCheckpointService roadsGpsCheckpointService; private RoadsGpsCheckpointService roadsGpsCheckpointService;
@Resource @Resource
private ScoreReviewService scoreReviewService;
@Resource
private CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService; private CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService;
/** /**
...@@ -902,7 +898,7 @@ public class MicroApiController { ...@@ -902,7 +898,7 @@ public class MicroApiController {
cmptScoreFieldValueService.saveOrUpdate(score.getFields()); cmptScoreFieldValueService.saveOrUpdate(score.getFields());
//查看自动审核是否开启,如果开启直接将总成绩存入到计时系统remark1,如果没有开启走手动审核的逻辑 //查看自动审核是否开启,如果开启直接将总成绩存入到计时系统remark1,如果没有开启走手动审核的逻辑
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId()); FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId());
scoreReviewService.scoreReviewByMarkNo(score.getCmptId(),score.getMarkNo(),settingByCmptId.getSwitchScoreReview()); cmptScoreRuleScoreInfoService.scoreReviewByMarkNo(score.getCmptId(),score.getMarkNo(),settingByCmptId.getSwitchScoreReview());
return Result.success().setContent(score); return Result.success().setContent(score);
} }
......
package com.dlbridge.jadp.plugins.cmpt.web;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import springfox.documentation.annotations.ApiIgnore;
/**
* 成绩审核功能
*/
@Controller
@Log4j2
@RequestMapping("gk/scoreReview/")
@ApiIgnore
public class ScoreReviewController {
}
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