Commit db3cd0ec authored by sunyuhua's avatar sunyuhua

自动审核的代码

parent e32c36e1
package com.dlbridge.jadp.plugins.cmpt.dao.mapper; package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
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 org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
...@@ -16,7 +14,7 @@ public interface CmptScoreRuleScoreInfoMapper { ...@@ -16,7 +14,7 @@ public interface CmptScoreRuleScoreInfoMapper {
* 保存用户提交的成绩 * 保存用户提交的成绩
* @param cmptScoreRuleScoreInfo * @param cmptScoreRuleScoreInfo
*/ */
void saveScoreRuleScoreInfo(@Param("scoreItem") CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo); void saveScoreRuleScoreInfo(@Param("cmptScoreRuleScoreInfo") CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo);
/** /**
* 根据号码牌获取用户的成绩 * 根据号码牌获取用户的成绩
...@@ -24,7 +22,7 @@ public interface CmptScoreRuleScoreInfoMapper { ...@@ -24,7 +22,7 @@ public interface CmptScoreRuleScoreInfoMapper {
* @param markNo * @param markNo
* @return * @return
*/ */
List<CmptScoreRuleScoreInfo> getScoreRuleScoreInfoByMarkNo(Integer cmptId, String markNo); List<CmptScoreRuleScoreInfo> getScoreRuleScoreInfoByMarkNo(@Param("cmptId") Integer cmptId, @Param("markNo") String markNo);
/** /**
* *
...@@ -34,7 +32,7 @@ public interface CmptScoreRuleScoreInfoMapper { ...@@ -34,7 +32,7 @@ public interface CmptScoreRuleScoreInfoMapper {
* @param ruleId * @param ruleId
* @return * @return
*/ */
Integer getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(Integer cmptId,String markNo,int ruleId); Integer getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(@Param("cmptId")Integer cmptId, @Param("markNo")String markNo, @Param("ruleId") int ruleId);
/** /**
...@@ -44,7 +42,7 @@ public interface CmptScoreRuleScoreInfoMapper { ...@@ -44,7 +42,7 @@ public interface CmptScoreRuleScoreInfoMapper {
* @param checkStatus * @param checkStatus
* @return * @return
*/ */
Integer getCmptScoreRuleScoreInfoToalNumer(int cmptId,int roadId,int ruleId,int checkStatus); Integer getCmptScoreRuleScoreInfoToalNumer(@Param("cmptId") int cmptId, @Param("roadId") int roadId, @Param("ruleId") int ruleId,@Param("checkStatus") int checkStatus);
/** /**
* 分页获取用户提交的成绩 * 分页获取用户提交的成绩
......
...@@ -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,insertTime,updateTime) INSERT INTO gk_cmpt_score_rule_scoreinfo(cmptId,rule_id,mark_no,subsectionTime,subsectionscore,subsectionMileage,cmptPace,isDelete,insertTime,updateTime)
VALUES(#{scoreItem.cmptId},#{scoreItem.ruleId},#{scoreItem.markNo},#{scoreItem.subsectionTime},#{scoreItem.subsectionscore},#{scoreItem.subsectionMileage},now(),now()) VALUES(#{cmptScoreRuleScoreInfo.cmptId},#{cmptScoreRuleScoreInfo.ruleId},#{cmptScoreRuleScoreInfo.markNo},#{cmptScoreRuleScoreInfo.subsectionTime},#{cmptScoreRuleScoreInfo.subsectionscore},#{cmptScoreRuleScoreInfo.subsectionMileage},#{cmptScoreRuleScoreInfo.cmptPace},0,now(),now())
</insert> </insert>
<select id="getUserScoreinfoByMarkNo" 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 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}
</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}
......
package com.dlbridge.jadp.plugins.cmpt.service; package com.dlbridge.jadp.plugins.cmpt.service;
import com.dlbridge.feign.bean.ScoreItem;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreFieldValue; import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreFieldValue;
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.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.Page;
import com.dlbridge.jadp.plugins.cmpt.utils.PageFactory; 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;
...@@ -14,9 +11,7 @@ import org.springframework.stereotype.Service; ...@@ -14,9 +11,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -45,6 +40,7 @@ public class CmptScoreRuleScoreInfoService { ...@@ -45,6 +40,7 @@ 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);
} }
...@@ -58,17 +54,18 @@ public class CmptScoreRuleScoreInfoService { ...@@ -58,17 +54,18 @@ public class CmptScoreRuleScoreInfoService {
//根据号码牌获取所有成绩记录 //根据号码牌获取所有成绩记录
List<CmptScoreRuleScoreInfo> cmptScoreRuleScoreInfoList=cmptScoreRuleScoreInfoMapper.getScoreRuleScoreInfoByMarkNo(cmptId,markNo); List<CmptScoreRuleScoreInfo> cmptScoreRuleScoreInfoList=cmptScoreRuleScoreInfoMapper.getScoreRuleScoreInfoByMarkNo(cmptId,markNo);
//计算成绩之和 //计算成绩之和
long userTotalScore=cmptScoreRuleScoreInfoList.stream().mapToInt(CmptScoreRuleScoreInfo::getSubsectionscore).sum(); long userTotalScore=cmptScoreRuleScoreInfoList.stream().filter(entry -> entry.getSubsectionscore() != null).mapToInt(CmptScoreRuleScoreInfo::getSubsectionscore).sum();
//计算里程之和 //计算里程之和
int userTotalMileage=cmptScoreRuleScoreInfoList.stream().mapToInt(CmptScoreRuleScoreInfo::getSubsectionMileage).sum(); //int userTotalMileage=cmptScoreRuleScoreInfoList.stream().mapToInt(CmptScoreRuleScoreInfo::getSubsectionMileage).sum();
int userTotalMileage=Optional.of(cmptScoreRuleScoreInfoList).orElse(cmptScoreRuleScoreInfoList).stream().filter(entry -> entry.getSubsectionMileage() != null).mapToInt(CmptScoreRuleScoreInfo::getSubsectionMileage).sum();
HashMap<String,Object> userScore=new HashMap<>(); HashMap<String,Object> userScore=new HashMap<>();
userScore.put("userTotalScore",userTotalScore); userScore.put("userTotalScore",userTotalScore);
userScore.put("userTotalMileage",userTotalMileage); userScore.put("userTotalMileage",Integer.valueOf(userTotalMileage));
return userScore; return userScore;
} }
/** /**
* 根据赛事ID,号码牌,成绩提交的规则,查看是否已经提交过成绩 * 根据赛事ID,号码牌,成绩提交的规则,查看是否已经提交过成绩
* @param cmptId * @param cmptId
...@@ -88,6 +85,7 @@ public class CmptScoreRuleScoreInfoService { ...@@ -88,6 +85,7 @@ public class CmptScoreRuleScoreInfoService {
*/ */
public boolean scoreReviewByMarkNo(int cmptId, String markNo, int SwitchScoreReview){ public boolean scoreReviewByMarkNo(int cmptId, String markNo, int SwitchScoreReview){
//成绩自动审核开启SwitchScoreReview==1 //成绩自动审核开启SwitchScoreReview==1
boolean enrollFlag=false;
if(SwitchScoreReview==1){ if(SwitchScoreReview==1){
//根据赛事id和号码牌查出总成绩 //根据赛事id和号码牌查出总成绩
HashMap<String,Object> scoreResult=cmptScoreRuleScoreInfoService.getUserScoreByMarkNo(cmptId,markNo); HashMap<String,Object> scoreResult=cmptScoreRuleScoreInfoService.getUserScoreByMarkNo(cmptId,markNo);
...@@ -98,13 +96,17 @@ public class CmptScoreRuleScoreInfoService { ...@@ -98,13 +96,17 @@ public class CmptScoreRuleScoreInfoService {
cmptEnrollInfo.put("deviceId",markNo); cmptEnrollInfo.put("deviceId",markNo);
cmptEnrollInfo.put("remark", DateUtil.formatDate((Long)scoreResult.get("userTotalScore"))); cmptEnrollInfo.put("remark", DateUtil.formatDate((Long)scoreResult.get("userTotalScore")));
cmptEnrollInfo.put("remark2",String.valueOf(((int)scoreResult.get("userTotalMileage")/100d)/10d)); cmptEnrollInfo.put("remark2",String.valueOf(((int)scoreResult.get("userTotalMileage")/100d)/10d));
boolean enrollFlag=remoteService.mergePersonEnrollByMarkNo(cmptEnrollInfo); try{
enrollFlag=remoteService.mergePersonEnrollByMarkNo(cmptEnrollInfo);
}catch (Exception e){
e.printStackTrace();
}
// //将成绩插入到计时系统,以便出完赛证书 // //将成绩插入到计时系统,以便出完赛证书
// String records=markNo+","+DateUtil.formatDate((Long)scoreResult.get("userTotalScore"))+",3"; // String records=markNo+","+DateUtil.formatDate((Long)scoreResult.get("userTotalScore"))+",3";
// boolean timeFlag=remoteService.uploadTimeScore(cmptId,records); // boolean timeFlag=remoteService.uploadTimeScore(cmptId,records);
return enrollFlag; return enrollFlag;
} }
return false; return enrollFlag;
} }
/** /**
......
...@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,6 +6,7 @@ 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;
...@@ -14,6 +15,9 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +15,9 @@ import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -532,9 +536,9 @@ public class RemoteService { ...@@ -532,9 +536,9 @@ public class RemoteService {
* @param cmptEnrollInfo * @param cmptEnrollInfo
* @return * @return
*/ */
public boolean mergePersonEnrollByMarkNo(HashMap<String,Object> cmptEnrollInfo){ public boolean mergePersonEnrollByMarkNo(HashMap<String,Object> cmptEnrollInfo) throws UnsupportedEncodingException {
String cmptEnrolljson= JSON.toJSONString(cmptEnrollInfo); String cmptEnrolljson= JSON.toJSONString(cmptEnrollInfo);
ResponseEntity<String> forEntity = restTemplate.getForEntity(timerURL + "updateUserEnroll.do?personEnroll="+cmptEnrolljson, 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();
JSONObject object = JSONObject.parseObject(resultString); JSONObject object = JSONObject.parseObject(resultString);
......
...@@ -890,19 +890,25 @@ public class MicroApiController { ...@@ -890,19 +890,25 @@ public class MicroApiController {
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){
return Result.fail().setMsg("请输入里程");
}
cmptPace=duration/mileage; cmptPace=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){
return Result.fail().setMsg("赛事项目需要设置里程");
}
mileage=distance; mileage=distance;
cmptPace=duration/mileage; cmptPace=duration/mileage;
} }
//前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo //前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo
CmptScoreRuleScoreInfo CmptScoreRuleScoreInfo = new CmptScoreRuleScoreInfo() CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo = new CmptScoreRuleScoreInfo().setCmptId(score.getCmptId())
.setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage).setCmptPace(cmptPace) .setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage).setCmptPace(cmptPace)
.setSubsectionTime(score.getScore().getDate()) .setSubsectionTime(score.getScore().getDate())
.setCmptId(score.getCmptId()).setRuleId(rule.getId()).setMarkNo(score.getMarkNo()); .setCmptId(score.getCmptId()).setRuleId(rule.getId()).setMarkNo(score.getMarkNo());
// 保存校验通过的成绩 // 保存校验通过的成绩
cmptScoreRuleScoreInfoService.saveScoreRuleScoreInfo(CmptScoreRuleScoreInfo); cmptScoreRuleScoreInfoService.saveScoreRuleScoreInfo(cmptScoreRuleScoreInfo);
//设置附加项的参数,并保存附加项 //设置附加项的参数,并保存附加项
for(CmptScoreFieldValue value : score.getFields()){ for(CmptScoreFieldValue value : score.getFields()){
value.setCmptId(score.getCmptId()); value.setCmptId(score.getCmptId());
......
spring.profiles.active=test spring.profiles.active=dev
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