Commit 0e514012 authored by yangshuxing's avatar yangshuxing

Merge remote-tracking branch 'origin/master'

parents d37e1db2 1b053e08
......@@ -28,7 +28,7 @@ public class CmptScoreRuleScoreInfo {
private Integer subsectionMileage;
//成绩审核的状态,0为未审核,1为审核通过,2为审核未通过
private Integer checkStatus;
private Integer cmptPace;
private float cmptPace;
//用户提交的成绩依据材料路径
private List<String> scoreFieldValueList;
@JsonIgnore
......
......@@ -63,7 +63,7 @@ public interface CmptScoreRuleScoreInfoMapper {
* @param noPassedIds
* @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 {
* @param passedIds
* @return
*/
Integer uploadCmptScoreRuleScoreInfoByPassedIds(int cmptId, int roadId, int ruleId,int[] passedIds);
int uploadCmptScoreRuleScoreInfoByPassedIds(int cmptId, int roadId, int ruleId,int[] passedIds);
/**
* 根据提交成绩Id,获取这个人号码牌
......
......@@ -3,11 +3,11 @@
<mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptScoreRuleScoreInfoMapper">
<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)
VALUES(#{cmptScoreRuleScoreInfo.cmptId},#{cmptScoreRuleScoreInfo.ruleId},#{cmptScoreRuleScoreInfo.markNo},#{cmptScoreRuleScoreInfo.subsectionTime},#{cmptScoreRuleScoreInfo.subsectionscore},#{cmptScoreRuleScoreInfo.subsectionMileage},#{cmptScoreRuleScoreInfo.cmptPace},0,now(),now())
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},#{cmptScoreRuleScoreInfo.checkStatus},0,now(),now())
</insert>
<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 id="getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo" resultType="int">
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 {
List<CmptSettingTemplate> queryAllCmptSetting();
void insert(CmptSetting setting);
/**
* cmptId 和 type 查看指定配置是否被开启
* @param cmptId
* @param type
* @return
*/
int getCmptSettingsVisibilityByCmptIdAndType(int cmptId,int type);
}
......@@ -160,4 +160,12 @@
from gk_cmptsetting
</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>
\ No newline at end of file
......@@ -40,7 +40,6 @@ public class CmptScoreRuleScoreInfoService {
* @param cmptScoreRuleScoreInfo
*/
public void saveScoreRuleScoreInfo(CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo){
System.out.print("===="+cmptScoreRuleScoreInfo.getCmptPace());
cmptScoreRuleScoreInfoMapper.saveScoreRuleScoreInfo(cmptScoreRuleScoreInfo);
}
......@@ -139,9 +138,9 @@ public class CmptScoreRuleScoreInfoService {
* @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.uploadCmptScoreRuleScoreInfoByPassedIds(cmptId,roadId,ruleId,passedIds);
if(uploadNumberNoPassedIds>0){
int uploadNumberNoPassedIds= cmptScoreRuleScoreInfoMapper.uploadCmptScoreRuleScoreInfoByNoPassedIds(cmptId,roadId,ruleId,noPassedIds);
int uploadNumberPassedIds= cmptScoreRuleScoreInfoMapper.uploadCmptScoreRuleScoreInfoByPassedIds(cmptId,roadId,ruleId,passedIds);
if(uploadNumberPassedIds>0){
List<CmptScoreRuleScoreInfo> cmptScoreRuleScoreInfoList=cmptScoreRuleScoreInfoMapper.getScoreRuleScoreInfoByIds(cmptId,passedIds);
for (CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo:cmptScoreRuleScoreInfoList) {
String markNo=cmptScoreRuleScoreInfo.getMarkNo();
......
......@@ -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;
import com.dlbridge.jadp.plugins.cmpt.bean.*;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.codec.net.URLCodec;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
......@@ -538,6 +537,7 @@ public class RemoteService {
*/
public boolean mergePersonEnrollByMarkNo(HashMap<String,Object> cmptEnrollInfo) throws UnsupportedEncodingException {
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);
if (forEntity.getStatusCode() == HttpStatus.OK) {
String resultString = forEntity.getBody();
......
......@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -865,23 +866,26 @@ public class MicroApiController {
}
//根据里程计算配速,里程来自用户自己填写的里程或者来自项目的里程
int duration=score.getScore().getDuration();
int cmptPace=0;
float cmptPace=0;
int mileage=0;
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId());
int isHasMileage=settingByCmptId.getMileage();
//是否开启了里程的填写
if(isHasMileage==1){
mileage=score.getScore().getMileage();
if(mileage ==0){
return Result.fail().setMsg("请输入里程");
}
cmptPace=duration/mileage;
DecimalFormat df = new DecimalFormat("0.##");
cmptPace=Float.valueOf(df.format((float)duration/mileage));
}else{
int distance=(int)remoteService.getTimeSegInfoByRoadId(score.getCmptId(),score.getRoadId()).get("distance");
if(distance ==0){
return Result.fail().setMsg("赛事项目需要设置里程");
}
mileage=distance;
cmptPace=duration/mileage;
DecimalFormat df = new DecimalFormat("0.##");
cmptPace=Float.valueOf(df.format((float)duration/mileage));
}
//前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo
CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo = new CmptScoreRuleScoreInfo().setCmptId(score.getCmptId())
......@@ -891,7 +895,7 @@ public class MicroApiController {
//如果自动审核开启的话,进行单条成绩的审核处理
if(settingByCmptId.getSwitchScoreReview()==1){
//配速小于2"27不能通过审核
if(cmptPace<=147){
if(cmptPace<=(float)147/1000){
cmptScoreRuleScoreInfo.setCheckStatus(2);
}else{
cmptScoreRuleScoreInfo.setCheckStatus(1);
......@@ -968,6 +972,17 @@ public class MicroApiController {
public Result getScore(HttpServletRequest request) {
String cmptId = request.getParameter("cmptId");
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);
if(request != null){
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