|
|
|
@ -1,11 +1,14 @@
|
|
|
|
|
package com.ibeetl.jlw.entity;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
|
|
import com.ibeetl.admin.core.annotation.Dict;
|
|
|
|
|
import com.ibeetl.admin.core.annotation.DictDeep;
|
|
|
|
|
import com.ibeetl.admin.core.entity.BaseEntity;
|
|
|
|
|
import com.ibeetl.admin.core.util.ValidateConfig;
|
|
|
|
|
import com.ibeetl.jlw.enums.QuestionBusinessTypeEnum;
|
|
|
|
|
import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
|
|
|
|
|
import lombok.Data;
|
|
|
|
|
import lombok.EqualsAndHashCode;
|
|
|
|
|
import org.beetl.sql.annotation.entity.AssignID;
|
|
|
|
|
import org.beetl.sql.annotation.entity.InsertIgnore;
|
|
|
|
|
import org.beetl.sql.annotation.entity.UpdateIgnore;
|
|
|
|
@ -19,6 +22,8 @@ import java.util.Date;
|
|
|
|
|
* 学生-题目日志-分析汇总
|
|
|
|
|
* gen by Spring Boot2 Admin 2022-12-04
|
|
|
|
|
*/
|
|
|
|
|
@Data
|
|
|
|
|
@EqualsAndHashCode(callSuper=false)
|
|
|
|
|
public class QuestionLogSummary extends BaseEntity{
|
|
|
|
|
|
|
|
|
|
//学生做题日志汇总ID
|
|
|
|
@ -113,6 +118,12 @@ public class QuestionLogSummary extends BaseEntity{
|
|
|
|
|
|
|
|
|
|
private String finishTime ;
|
|
|
|
|
|
|
|
|
|
// 完成进度
|
|
|
|
|
@InsertIgnore
|
|
|
|
|
@UpdateIgnore
|
|
|
|
|
|
|
|
|
|
private float finishProgress;
|
|
|
|
|
|
|
|
|
|
//组织ID
|
|
|
|
|
|
|
|
|
|
private Long orgId ;
|
|
|
|
@ -120,287 +131,22 @@ public class QuestionLogSummary extends BaseEntity{
|
|
|
|
|
//用户ID
|
|
|
|
|
|
|
|
|
|
private Long userId ;
|
|
|
|
|
|
|
|
|
|
public QuestionLogSummary(){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**学生做题日志汇总ID
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Long getQuestionLogSummaryId(){
|
|
|
|
|
return questionLogSummaryId;
|
|
|
|
|
}
|
|
|
|
|
/**学生做题日志汇总ID
|
|
|
|
|
*@param questionLogSummaryId
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryId(Long questionLogSummaryId){
|
|
|
|
|
this.questionLogSummaryId = questionLogSummaryId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**题目配置ID
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Long getQuestionSettingId(){
|
|
|
|
|
return questionSettingId;
|
|
|
|
|
}
|
|
|
|
|
/**题目配置ID
|
|
|
|
|
*@param questionSettingId
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionSettingId(Long questionSettingId){
|
|
|
|
|
this.questionSettingId = questionSettingId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**题目配置名称
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public String getQuestionSettingName(){
|
|
|
|
|
return questionSettingName;
|
|
|
|
|
}
|
|
|
|
|
/**题目配置名称
|
|
|
|
|
*@param questionSettingName
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionSettingName(String questionSettingName){
|
|
|
|
|
this.questionSettingName = questionSettingName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**类型 枚举(ResourcesQuestionSnapshotFromTypeEnum)
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public ResourcesQuestionSnapshotFromTypeEnum getQuestionSettingType(){
|
|
|
|
|
return questionSettingType;
|
|
|
|
|
}
|
|
|
|
|
/**类型 枚举(ResourcesQuestionSnapshotFromTypeEnum)
|
|
|
|
|
*@param questionSettingType
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionSettingType(ResourcesQuestionSnapshotFromTypeEnum questionSettingType){
|
|
|
|
|
this.questionSettingType = questionSettingType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**来源类型 枚举
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public QuestionBusinessTypeEnum getQuestionLogSummaryFromType(){
|
|
|
|
|
return questionLogSummaryFromType;
|
|
|
|
|
}
|
|
|
|
|
/**来源类型 枚举
|
|
|
|
|
*@param questionLogSummaryFromType
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryFromType(QuestionBusinessTypeEnum questionLogSummaryFromType){
|
|
|
|
|
this.questionLogSummaryFromType = questionLogSummaryFromType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**配置的题目总分数
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public BigDecimal getQuestionSettingTotalScore(){
|
|
|
|
|
return questionSettingTotalScore;
|
|
|
|
|
}
|
|
|
|
|
/**配置的题目总分数
|
|
|
|
|
*@param questionSettingTotalScore
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionSettingTotalScore(BigDecimal questionSettingTotalScore){
|
|
|
|
|
this.questionSettingTotalScore = questionSettingTotalScore;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**人员ID(学生ID等等)
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Long getPersonId(){
|
|
|
|
|
return personId;
|
|
|
|
|
}
|
|
|
|
|
/**人员ID(学生ID等等)
|
|
|
|
|
*@param personId
|
|
|
|
|
*/
|
|
|
|
|
public void setPersonId(Long personId){
|
|
|
|
|
this.personId = personId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**关联的做题日志IDs
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public String getQuestionLogIds(){
|
|
|
|
|
return questionLogIds;
|
|
|
|
|
}
|
|
|
|
|
/**关联的做题日志IDs
|
|
|
|
|
*@param questionLogIds
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogIds(String questionLogIds){
|
|
|
|
|
this.questionLogIds = questionLogIds;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**配置的题目总数
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Integer getQuestionLogSummaryQuestionTotalCount(){
|
|
|
|
|
return questionLogSummaryQuestionTotalCount;
|
|
|
|
|
}
|
|
|
|
|
/**配置的题目总数
|
|
|
|
|
*@param questionLogSummaryQuestionTotalCount
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryQuestionTotalCount(Integer questionLogSummaryQuestionTotalCount){
|
|
|
|
|
public void setQuestionLogSummaryQuestionTotalCount(Integer questionLogSummaryQuestionTotalCount) {
|
|
|
|
|
this.questionLogSummaryQuestionTotalCount = questionLogSummaryQuestionTotalCount;
|
|
|
|
|
tryCalcFinishProgress();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**学生做题总数
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Integer getQuestionLogSummaryStudentDoCount(){
|
|
|
|
|
return questionLogSummaryStudentDoCount;
|
|
|
|
|
}
|
|
|
|
|
/**学生做题总数
|
|
|
|
|
*@param questionLogSummaryStudentDoCount
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryStudentDoCount(Integer questionLogSummaryStudentDoCount){
|
|
|
|
|
public void setQuestionLogSummaryStudentDoCount(Integer questionLogSummaryStudentDoCount) {
|
|
|
|
|
this.questionLogSummaryStudentDoCount = questionLogSummaryStudentDoCount;
|
|
|
|
|
tryCalcFinishProgress();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**正确数量
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Integer getQuestionLogSummarySuccessCount(){
|
|
|
|
|
return questionLogSummarySuccessCount;
|
|
|
|
|
}
|
|
|
|
|
/**正确数量
|
|
|
|
|
*@param questionLogSummarySuccessCount
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummarySuccessCount(Integer questionLogSummarySuccessCount){
|
|
|
|
|
this.questionLogSummarySuccessCount = questionLogSummarySuccessCount;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**错误数量
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Integer getQuestionLogSummaryErrorCount(){
|
|
|
|
|
return questionLogSummaryErrorCount;
|
|
|
|
|
}
|
|
|
|
|
/**错误数量
|
|
|
|
|
*@param questionLogSummaryErrorCount
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryErrorCount(Integer questionLogSummaryErrorCount){
|
|
|
|
|
this.questionLogSummaryErrorCount = questionLogSummaryErrorCount;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**正确率,最大100
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public BigDecimal getQuestionLogSummarySuccessRate(){
|
|
|
|
|
return questionLogSummarySuccessRate;
|
|
|
|
|
}
|
|
|
|
|
/**正确率,最大100
|
|
|
|
|
*@param questionLogSummarySuccessRate
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummarySuccessRate(BigDecimal questionLogSummarySuccessRate){
|
|
|
|
|
this.questionLogSummarySuccessRate = questionLogSummarySuccessRate;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**当前配置的及格比率
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public BigDecimal getQuestionLogSummaryCurrentPassRate(){
|
|
|
|
|
return questionLogSummaryCurrentPassRate;
|
|
|
|
|
}
|
|
|
|
|
/**当前配置的及格比率
|
|
|
|
|
*@param questionLogSummaryCurrentPassRate
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryCurrentPassRate(BigDecimal questionLogSummaryCurrentPassRate){
|
|
|
|
|
this.questionLogSummaryCurrentPassRate = questionLogSummaryCurrentPassRate;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**是否及格
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Integer getQuestionLogSummaryIsPass(){
|
|
|
|
|
return questionLogSummaryIsPass;
|
|
|
|
|
}
|
|
|
|
|
/**是否及格
|
|
|
|
|
*@param questionLogSummaryIsPass
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryIsPass(Integer questionLogSummaryIsPass){
|
|
|
|
|
this.questionLogSummaryIsPass = questionLogSummaryIsPass;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**状态(1正常 2删除)
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Integer getQuestionLogSummaryStatus(){
|
|
|
|
|
return questionLogSummaryStatus;
|
|
|
|
|
}
|
|
|
|
|
/**状态(1正常 2删除)
|
|
|
|
|
*@param questionLogSummaryStatus
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryStatus(Integer questionLogSummaryStatus){
|
|
|
|
|
this.questionLogSummaryStatus = questionLogSummaryStatus;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**添加时间
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Date getQuestionLogSummaryAddTime(){
|
|
|
|
|
return questionLogSummaryAddTime;
|
|
|
|
|
}
|
|
|
|
|
/**添加时间
|
|
|
|
|
*@param questionLogSummaryAddTime
|
|
|
|
|
*/
|
|
|
|
|
public void setQuestionLogSummaryAddTime(Date questionLogSummaryAddTime){
|
|
|
|
|
this.questionLogSummaryAddTime = questionLogSummaryAddTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**组织ID
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Long getOrgId(){
|
|
|
|
|
return orgId;
|
|
|
|
|
}
|
|
|
|
|
/**组织ID
|
|
|
|
|
*@param orgId
|
|
|
|
|
*/
|
|
|
|
|
public void setOrgId(Long orgId){
|
|
|
|
|
this.orgId = orgId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**用户ID
|
|
|
|
|
*@return
|
|
|
|
|
*/
|
|
|
|
|
public Long getUserId(){
|
|
|
|
|
return userId;
|
|
|
|
|
}
|
|
|
|
|
/**用户ID
|
|
|
|
|
*@param userId
|
|
|
|
|
*/
|
|
|
|
|
public void setUserId(Long userId){
|
|
|
|
|
this.userId = userId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Long getFinishSecondTime() {
|
|
|
|
|
return finishSecondTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setFinishSecondTime(Long finishSecondTime) {
|
|
|
|
|
this.finishSecondTime = finishSecondTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getFinishTime() {
|
|
|
|
|
return finishTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setFinishTime(String finishTime) {
|
|
|
|
|
this.finishTime = finishTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public BigDecimal getQuestionLogSummaryStudentTotalScore() {
|
|
|
|
|
return questionLogSummaryStudentTotalScore;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setQuestionLogSummaryStudentTotalScore(BigDecimal questionLogSummaryStudentTotalScore) {
|
|
|
|
|
this.questionLogSummaryStudentTotalScore = questionLogSummaryStudentTotalScore;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Student getStudentInfo() {
|
|
|
|
|
return studentInfo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setStudentInfo(Student studentInfo) {
|
|
|
|
|
this.studentInfo = studentInfo;
|
|
|
|
|
}
|
|
|
|
|
private void tryCalcFinishProgress() {
|
|
|
|
|
Integer totalCount = this.questionLogSummaryQuestionTotalCount;
|
|
|
|
|
Integer doCount = this.questionLogSummaryStudentDoCount;
|
|
|
|
|
if (null != doCount && null != totalCount && totalCount > 0) {
|
|
|
|
|
this.finishProgress = NumberUtil.round(NumberUtil.mul(NumberUtil.div(doCount , totalCount), 100), 2).floatValue();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|