Commit 0e514012 authored by yangshuxing's avatar yangshuxing

Merge remote-tracking branch 'origin/master'

parents d37e1db2 1b053e08
...@@ -28,7 +28,7 @@ public class CmptScoreRuleScoreInfo { ...@@ -28,7 +28,7 @@ public class CmptScoreRuleScoreInfo {
private Integer subsectionMileage; private Integer subsectionMileage;
//成绩审核的状态,0为未审核,1为审核通过,2为审核未通过 //成绩审核的状态,0为未审核,1为审核通过,2为审核未通过
private Integer checkStatus; private Integer checkStatus;
private Integer cmptPace; private float cmptPace;
//用户提交的成绩依据材料路径 //用户提交的成绩依据材料路径
private List<String> scoreFieldValueList; private List<String> scoreFieldValueList;
@JsonIgnore @JsonIgnore
......
...@@ -63,7 +63,7 @@ public interface CmptScoreRuleScoreInfoMapper { ...@@ -63,7 +63,7 @@ public interface CmptScoreRuleScoreInfoMapper {
* @param noPassedIds * @param noPassedIds
* @return * @return
*/ */
Integer uploadCmptScoreRuleScoreInfoByNoPassedIds(int cmptId, int roadId, int ruleId,int[] noPassedIds); int uploadCmptScoreRuleScoreInfoByNoPassedIds(int cmptId, int roadId, int ruleId,int[] noPassedIds);
/** /**
* 批量审核,审核成绩结果为通过 * 批量审核,审核成绩结果为通过
...@@ -73,7 +73,7 @@ public interface CmptScoreRuleScoreInfoMapper { ...@@ -73,7 +73,7 @@ public interface CmptScoreRuleScoreInfoMapper {
* @param passedIds * @param passedIds
* @return * @return
*/ */
Integer uploadCmptScoreRuleScoreInfoByPassedIds(int cmptId, int roadId, int ruleId,int[] passedIds); int uploadCmptScoreRuleScoreInfoByPassedIds(int cmptId, int roadId, int ruleId,int[] passedIds);
/** /**
* 根据提交成绩Id,获取这个人号码牌 * 根据提交成绩Id,获取这个人号码牌
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
<mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptScoreRuleScoreInfoMapper"> <mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptScoreRuleScoreInfoMapper">
<insert id="saveScoreRuleScoreInfo" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> <insert id="saveScoreRuleScoreInfo" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO gk_cmpt_score_rule_scoreinfo(cmptId,rule_id,mark_no,subsectionTime,subsectionscore,subsectionMileage,cmptPace,isDelete,insertTime,updateTime) INSERT INTO gk_cmpt_score_rule_scoreinfo(cmptId,rule_id,mark_no,subsectionTime,subsectionscore,subsectionMileage,cmptPace,checkStatus,isDelete,insertTime,updateTime)
VALUES(#{cmptScoreRuleScoreInfo.cmptId},#{cmptScoreRuleScoreInfo.ruleId},#{cmptScoreRuleScoreInfo.markNo},#{cmptScoreRuleScoreInfo.subsectionTime},#{cmptScoreRuleScoreInfo.subsectionscore},#{cmptScoreRuleScoreInfo.subsectionMileage},#{cmptScoreRuleScoreInfo.cmptPace},0,now(),now()) VALUES(#{cmptScoreRuleScoreInfo.cmptId},#{cmptScoreRuleScoreInfo.ruleId},#{cmptScoreRuleScoreInfo.markNo},#{cmptScoreRuleScoreInfo.subsectionTime},#{cmptScoreRuleScoreInfo.subsectionscore},#{cmptScoreRuleScoreInfo.subsectionMileage},#{cmptScoreRuleScoreInfo.cmptPace},#{cmptScoreRuleScoreInfo.checkStatus},0,now(),now())
</insert> </insert>
<select id="getScoreRuleScoreInfoByMarkNo" resultType="com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo"> <select id="getScoreRuleScoreInfoByMarkNo" resultType="com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo">
select id,cmptId,rule_id as ruleId,mark_no as markNo,subsectionTime,subsectionscore,subsectionMileage,cmptPace from gk_cmpt_score_rule_scoreinfo where cmptId=#{cmptId} and mark_no=#{markNo} select id,cmptId,rule_id as ruleId,mark_no as markNo,subsectionTime,subsectionscore,subsectionMileage,cmptPace from gk_cmpt_score_rule_scoreinfo where cmptId=#{cmptId} and mark_no=#{markNo} and checkStatus=1 and isDelete=0
</select> </select>
<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}
......
...@@ -40,4 +40,12 @@ public interface CmptSettingMapper { ...@@ -40,4 +40,12 @@ public interface CmptSettingMapper {
List<CmptSettingTemplate> queryAllCmptSetting(); List<CmptSettingTemplate> queryAllCmptSetting();
void insert(CmptSetting setting); void insert(CmptSetting setting);
/**
* cmptId 和 type 查看指定配置是否被开启
* @param cmptId
* @param type
* @return
*/
int getCmptSettingsVisibilityByCmptIdAndType(int cmptId,int type);
} }
...@@ -160,4 +160,12 @@ ...@@ -160,4 +160,12 @@
from gk_cmptsetting from gk_cmptsetting
</select> </select>
<select id="getCmptSettingsVisibilityByCmptIdAndType" resultType="int">
SELECT
visibility
FROM gk_cmptsetting
WHERE cmptid = #{cmptId} and type=#{type} and del_flag=0 limit 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -40,7 +40,6 @@ public class CmptScoreRuleScoreInfoService { ...@@ -40,7 +40,6 @@ public class CmptScoreRuleScoreInfoService {
* @param cmptScoreRuleScoreInfo * @param cmptScoreRuleScoreInfo
*/ */
public void saveScoreRuleScoreInfo(CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo){ public void saveScoreRuleScoreInfo(CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo){
System.out.print("===="+cmptScoreRuleScoreInfo.getCmptPace());
cmptScoreRuleScoreInfoMapper.saveScoreRuleScoreInfo(cmptScoreRuleScoreInfo); cmptScoreRuleScoreInfoMapper.saveScoreRuleScoreInfo(cmptScoreRuleScoreInfo);
} }
...@@ -139,9 +138,9 @@ public class CmptScoreRuleScoreInfoService { ...@@ -139,9 +138,9 @@ public class CmptScoreRuleScoreInfoService {
* @return * @return
*/ */
public boolean uploadCmptScoreRuleScoreInfo(int cmptId, int roadId, int ruleId,int[] noPassedIds,int[] passedIds){ public boolean uploadCmptScoreRuleScoreInfo(int cmptId, int roadId, int ruleId,int[] noPassedIds,int[] passedIds){
Integer uploadNumberNoPassedIds= cmptScoreRuleScoreInfoMapper.uploadCmptScoreRuleScoreInfoByNoPassedIds(cmptId,roadId,ruleId,noPassedIds); int uploadNumberNoPassedIds= cmptScoreRuleScoreInfoMapper.uploadCmptScoreRuleScoreInfoByNoPassedIds(cmptId,roadId,ruleId,noPassedIds);
Integer uploadNumberPassedIds= cmptScoreRuleScoreInfoMapper.uploadCmptScoreRuleScoreInfoByPassedIds(cmptId,roadId,ruleId,passedIds); int uploadNumberPassedIds= cmptScoreRuleScoreInfoMapper.uploadCmptScoreRuleScoreInfoByPassedIds(cmptId,roadId,ruleId,passedIds);
if(uploadNumberNoPassedIds>0){ if(uploadNumberPassedIds>0){
List<CmptScoreRuleScoreInfo> cmptScoreRuleScoreInfoList=cmptScoreRuleScoreInfoMapper.getScoreRuleScoreInfoByIds(cmptId,passedIds); List<CmptScoreRuleScoreInfo> cmptScoreRuleScoreInfoList=cmptScoreRuleScoreInfoMapper.getScoreRuleScoreInfoByIds(cmptId,passedIds);
for (CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo:cmptScoreRuleScoreInfoList) { for (CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo:cmptScoreRuleScoreInfoList) {
String markNo=cmptScoreRuleScoreInfo.getMarkNo(); String markNo=cmptScoreRuleScoreInfo.getMarkNo();
......
...@@ -82,4 +82,14 @@ public class CmptSettingService { ...@@ -82,4 +82,14 @@ public class CmptSettingService {
} }
/**
* cmptId,type判断指定功能是否被开启
* @param cmptId
* @param type
* @return
*/
public int getCmptSettingsVisibilityByCmptIdAndType(int cmptId,int type){
return cmptSettingMapper.getCmptSettingsVisibilityByCmptIdAndType(cmptId,type);
}
} }
...@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
import com.dlbridge.jadp.plugins.cmpt.bean.*; import com.dlbridge.jadp.plugins.cmpt.bean.*;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt; import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.codec.net.URLCodec;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -538,6 +537,7 @@ public class RemoteService { ...@@ -538,6 +537,7 @@ public class RemoteService {
*/ */
public boolean mergePersonEnrollByMarkNo(HashMap<String,Object> cmptEnrollInfo) throws UnsupportedEncodingException { public boolean mergePersonEnrollByMarkNo(HashMap<String,Object> cmptEnrollInfo) throws UnsupportedEncodingException {
String cmptEnrolljson= JSON.toJSONString(cmptEnrollInfo); String cmptEnrolljson= JSON.toJSONString(cmptEnrollInfo);
log.info("调用计时系统,将提交成绩保存起来="+timerURL + "updateUserEnroll.do?personEnroll="+URLEncoder.encode(cmptEnrolljson, StandardCharsets.UTF_8.toString()));
ResponseEntity<String> forEntity = restTemplate.getForEntity(timerURL + "updateUserEnroll.do?personEnroll="+URLEncoder.encode(cmptEnrolljson, StandardCharsets.UTF_8.toString()), String.class); ResponseEntity<String> forEntity = restTemplate.getForEntity(timerURL + "updateUserEnroll.do?personEnroll="+URLEncoder.encode(cmptEnrolljson, StandardCharsets.UTF_8.toString()), String.class);
if (forEntity.getStatusCode() == HttpStatus.OK) { if (forEntity.getStatusCode() == HttpStatus.OK) {
String resultString = forEntity.getBody(); String resultString = forEntity.getBody();
......
...@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletRequest;
import java.io.*; import java.io.*;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
...@@ -865,23 +866,26 @@ public class MicroApiController { ...@@ -865,23 +866,26 @@ public class MicroApiController {
} }
//根据里程计算配速,里程来自用户自己填写的里程或者来自项目的里程 //根据里程计算配速,里程来自用户自己填写的里程或者来自项目的里程
int duration=score.getScore().getDuration(); int duration=score.getScore().getDuration();
int cmptPace=0; float cmptPace=0;
int mileage=0; int mileage=0;
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId()); FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId());
int isHasMileage=settingByCmptId.getMileage(); int isHasMileage=settingByCmptId.getMileage();
//是否开启了里程的填写
if(isHasMileage==1){ if(isHasMileage==1){
mileage=score.getScore().getMileage(); mileage=score.getScore().getMileage();
if(mileage ==0){ if(mileage ==0){
return Result.fail().setMsg("请输入里程"); return Result.fail().setMsg("请输入里程");
} }
cmptPace=duration/mileage; DecimalFormat df = new DecimalFormat("0.##");
cmptPace=Float.valueOf(df.format((float)duration/mileage));
}else{ }else{
int distance=(int)remoteService.getTimeSegInfoByRoadId(score.getCmptId(),score.getRoadId()).get("distance"); int distance=(int)remoteService.getTimeSegInfoByRoadId(score.getCmptId(),score.getRoadId()).get("distance");
if(distance ==0){ if(distance ==0){
return Result.fail().setMsg("赛事项目需要设置里程"); return Result.fail().setMsg("赛事项目需要设置里程");
} }
mileage=distance; mileage=distance;
cmptPace=duration/mileage; DecimalFormat df = new DecimalFormat("0.##");
cmptPace=Float.valueOf(df.format((float)duration/mileage));
} }
//前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo //前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo
CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo = new CmptScoreRuleScoreInfo().setCmptId(score.getCmptId()) CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo = new CmptScoreRuleScoreInfo().setCmptId(score.getCmptId())
...@@ -891,7 +895,7 @@ public class MicroApiController { ...@@ -891,7 +895,7 @@ public class MicroApiController {
//如果自动审核开启的话,进行单条成绩的审核处理 //如果自动审核开启的话,进行单条成绩的审核处理
if(settingByCmptId.getSwitchScoreReview()==1){ if(settingByCmptId.getSwitchScoreReview()==1){
//配速小于2"27不能通过审核 //配速小于2"27不能通过审核
if(cmptPace<=147){ if(cmptPace<=(float)147/1000){
cmptScoreRuleScoreInfo.setCheckStatus(2); cmptScoreRuleScoreInfo.setCheckStatus(2);
}else{ }else{
cmptScoreRuleScoreInfo.setCheckStatus(1); cmptScoreRuleScoreInfo.setCheckStatus(1);
...@@ -968,6 +972,17 @@ public class MicroApiController { ...@@ -968,6 +972,17 @@ public class MicroApiController {
public Result getScore(HttpServletRequest request) { public Result getScore(HttpServletRequest request) {
String cmptId = request.getParameter("cmptId"); String cmptId = request.getParameter("cmptId");
String keyword = request.getParameter("keyword"); String keyword = request.getParameter("keyword");
//如果是提交成绩,成绩审核通过后直接显示证书
int visibility=cmptSetting.getCmptSettingsVisibilityByCmptIdAndType(Integer.valueOf(cmptId),12);
if(visibility==1){
HashMap<String,Object> scoreMap=cmptScoreRuleScoreInfoService.getUserScoreByMarkNo(Integer.valueOf(cmptId),keyword);
if((long)scoreMap.get("userTotalScore")>0){
return Result.success().setMsg("请下载证书");
}else{
return Result.fail().setMsg("您尚未完赛,无法查看完赛证书");
}
}
//扫码打卡,自动打卡走计时证书的逻辑,需要验证是否可以下载证书
String result = remoteService.checkCert(cmptId,keyword); String result = remoteService.checkCert(cmptId,keyword);
if(request != null){ if(request != null){
JSONObject obj = JSONObject.parseObject(result); JSONObject obj = JSONObject.parseObject(result);
......
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