commit
5c26f83a25
|
@ -2,12 +2,16 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="90d49d24-cd7e-4f14-b075-c6e5fe5ae2ce" name="Default Changelist" comment="">
|
<list default="true" id="90d49d24-cd7e-4f14-b075-c6e5fe5ae2ce" name="Default Changelist" comment="">
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/controllers/Administrator.go" beforeDir="false" afterPath="$PROJECT_DIR$/controllers/Administrator.go" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/controllers/score.go" beforeDir="false" afterPath="$PROJECT_DIR$/controllers/score.go" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/controllers/supervisor.go" beforeDir="false" afterPath="$PROJECT_DIR$/controllers/supervisor.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lastupdate.tmp" beforeDir="false" afterPath="$PROJECT_DIR$/lastupdate.tmp" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/lastupdate.tmp" beforeDir="false" afterPath="$PROJECT_DIR$/lastupdate.tmp" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/src/views/Group/mark_monitor/all/index.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/web/src/views/Group/mark_monitor/all/index.jsx" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/models/testPaper.go" beforeDir="false" afterPath="$PROJECT_DIR$/models/testPaper.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/src/views/Group/test_monitor/arbitration/index.less" beforeDir="false" afterPath="$PROJECT_DIR$/web/src/views/Group/test_monitor/arbitration/index.less" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/models/testPaperInfo.go" beforeDir="false" afterPath="$PROJECT_DIR$/models/testPaperInfo.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/src/views/Group/test_monitor/markTasks/index.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/web/src/views/Group/test_monitor/markTasks/index.jsx" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/models/underCorrectedPaper.go" beforeDir="false" afterPath="$PROJECT_DIR$/models/underCorrectedPaper.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/src/views/Group/test_monitor/problem/index.less" beforeDir="false" afterPath="$PROJECT_DIR$/web/src/views/Group/test_monitor/problem/index.less" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/requests/admin.go" beforeDir="false" afterPath="$PROJECT_DIR$/requests/admin.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/web/src/views/Mark/Answer/index.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/web/src/views/Mark/Answer/index.jsx" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/responses/supervisor.go" beforeDir="false" afterPath="$PROJECT_DIR$/responses/supervisor.go" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
@ -181,6 +185,20 @@
|
||||||
<integration-enabled>true</integration-enabled>
|
<integration-enabled>true</integration-enabled>
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
|
<breakpoint-manager>
|
||||||
|
<breakpoints>
|
||||||
|
<line-breakpoint enabled="true" type="DlvLineBreakpoint">
|
||||||
|
<url>file://$PROJECT_DIR$/controllers/score.go</url>
|
||||||
|
<line>708</line>
|
||||||
|
<option name="timeStamp" value="3" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" type="DlvLineBreakpoint">
|
||||||
|
<url>file://$PROJECT_DIR$/controllers/supervisor.go</url>
|
||||||
|
<line>1447</line>
|
||||||
|
<option name="timeStamp" value="4" />
|
||||||
|
</line-breakpoint>
|
||||||
|
</breakpoints>
|
||||||
|
</breakpoint-manager>
|
||||||
<watches-manager>
|
<watches-manager>
|
||||||
<configuration name="GoApplicationRunConfiguration">
|
<configuration name="GoApplicationRunConfiguration">
|
||||||
<watch expression="*(*"[]string")(824637671088)" />
|
<watch expression="*(*"[]string")(824637671088)" />
|
||||||
|
|
|
@ -915,3 +915,54 @@ func (c *AdminApiController) DistributionRecord() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
试卷删除
|
||||||
|
*/
|
||||||
|
|
||||||
|
func (c *AdminApiController) DeleteTest(){
|
||||||
|
|
||||||
|
defer c.ServeJSON()
|
||||||
|
var requestBody requests.DeleteTest
|
||||||
|
var resp Response
|
||||||
|
var err error
|
||||||
|
|
||||||
|
err =json.Unmarshal(c.Ctx.Input.RequestBody, &requestBody)
|
||||||
|
if err!=nil {
|
||||||
|
log.Println(err)
|
||||||
|
resp = Response{"10001","cannot unmarshal",err}
|
||||||
|
c.Data["json"] = resp
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//adminId := requestBody.AdminId
|
||||||
|
questionId := requestBody.QuestionId
|
||||||
|
|
||||||
|
//----------------------------------------------------
|
||||||
|
count, err := models.CountUnScoreTestNumberByQuestionId(questionId)
|
||||||
|
if count==0 {
|
||||||
|
models.DeleteAllTest(questionId)
|
||||||
|
subTopics:=make([]models.SubTopic,0)
|
||||||
|
models.FindSubTopicsByQuestionId(questionId,&subTopics)
|
||||||
|
for j:=0 ;j<len(subTopics);j++ {
|
||||||
|
subTopic:= subTopics[j]
|
||||||
|
testPaperInfos :=make([]models.TestPaperInfo,0)
|
||||||
|
models.FindTestPaperInfoByQuestionDetailId(subTopic.Question_detail_id,&testPaperInfos)
|
||||||
|
for k:=0;k<len(testPaperInfos);k++ {
|
||||||
|
//imgSrc :=testPaperInfos[k].Pic_src
|
||||||
|
//删除图片
|
||||||
|
testPaperInfos[k].Delete()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else {
|
||||||
|
resp = Response{"30030","试卷未批改完不能删除 ",err}
|
||||||
|
c.Data["json"] = resp
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------
|
||||||
|
data := make(map[string]interface{})
|
||||||
|
data["data"] =nil
|
||||||
|
resp = Response{"10000", "OK", data}
|
||||||
|
c.Data["json"] = resp
|
||||||
|
|
||||||
|
}
|
|
@ -815,6 +815,7 @@ func (c *TestPaperApiController) SelfMarkPoint() {
|
||||||
if math.Abs(float64(sum-test.Examiner_first_score))>float64(standardError) {
|
if math.Abs(float64(sum-test.Examiner_first_score))>float64(standardError) {
|
||||||
var newUnderTest models.UnderCorrectedPaper
|
var newUnderTest models.UnderCorrectedPaper
|
||||||
newUnderTest.User_id="10000"
|
newUnderTest.User_id="10000"
|
||||||
|
newUnderTest.Self_score_id=userId
|
||||||
newUnderTest.Test_id=testId
|
newUnderTest.Test_id=testId
|
||||||
newUnderTest.Question_id=test.Question_id
|
newUnderTest.Question_id=test.Question_id
|
||||||
newUnderTest.Test_question_type=7
|
newUnderTest.Test_question_type=7
|
||||||
|
@ -895,6 +896,7 @@ func (c *TestPaperApiController) SelfMarkPoint() {
|
||||||
var newUnderTest models.UnderCorrectedPaper
|
var newUnderTest models.UnderCorrectedPaper
|
||||||
newUnderTest.User_id="10000"
|
newUnderTest.User_id="10000"
|
||||||
newUnderTest.Test_id=testId
|
newUnderTest.Test_id=testId
|
||||||
|
newUnderTest.Self_score_id=userId
|
||||||
newUnderTest.Question_id=test.Question_id
|
newUnderTest.Question_id=test.Question_id
|
||||||
newUnderTest.Test_question_type=7
|
newUnderTest.Test_question_type=7
|
||||||
newUnderTest.Save()
|
newUnderTest.Save()
|
||||||
|
@ -976,6 +978,7 @@ func (c *TestPaperApiController) SelfMarkPoint() {
|
||||||
newUnderTest.User_id="10000"
|
newUnderTest.User_id="10000"
|
||||||
newUnderTest.Test_id=testId
|
newUnderTest.Test_id=testId
|
||||||
newUnderTest.Question_id=test.Question_id
|
newUnderTest.Question_id=test.Question_id
|
||||||
|
newUnderTest.Self_score_id=userId
|
||||||
newUnderTest.Test_question_type=7
|
newUnderTest.Test_question_type=7
|
||||||
newUnderTest.Save()
|
newUnderTest.Save()
|
||||||
}
|
}
|
||||||
|
|
|
@ -417,11 +417,19 @@ func (c *SupervisorApiController) SelfScore() {
|
||||||
//求教师名和转化输出
|
//求教师名和转化输出
|
||||||
for i:=0 ;i<len(selfScoreRecord);i++ {
|
for i:=0 ;i<len(selfScoreRecord);i++ {
|
||||||
testId :=selfScoreRecord[i].Test_id
|
testId :=selfScoreRecord[i].Test_id
|
||||||
var testScoreRecord models.ScoreRecord
|
var test models.TestPaper
|
||||||
models.GetTestScoreRecordByTestIdAndUserId(&testScoreRecord,testId,examinerId)
|
test.GetTestPaperByTestId(testId)
|
||||||
|
if test.Examiner_first_id== examinerId{
|
||||||
|
selfScoreRecordVOList[i].Score =test.Examiner_first_score
|
||||||
|
selfScoreRecordVOList[i].SelfScore=test.Examiner_first_self_score
|
||||||
|
}else if test.Examiner_second_id==examinerId {
|
||||||
|
selfScoreRecordVOList[i].Score=test.Examiner_second_score
|
||||||
|
selfScoreRecordVOList[i].SelfScore=test.Examiner_second_self_score
|
||||||
|
}else if test.Examiner_third_id==examinerId {
|
||||||
|
selfScoreRecordVOList[i].Score =test.Examiner_third_score
|
||||||
|
selfScoreRecordVOList[i].SelfScore=test.Examiner_third_self_score
|
||||||
|
}
|
||||||
selfScoreRecordVOList[i].TestId=testId
|
selfScoreRecordVOList[i].TestId=testId
|
||||||
selfScoreRecordVOList[i].Score=testScoreRecord.Score
|
|
||||||
selfScoreRecordVOList[i].SelfScore=selfScoreRecord[i].Score
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1455,7 +1463,26 @@ func (c *SupervisorApiController) SelfMarkList() {
|
||||||
|
|
||||||
for i:=0 ;i<len(selfMarkPaper);i++ {
|
for i:=0 ;i<len(selfMarkPaper);i++ {
|
||||||
//存testId
|
//存testId
|
||||||
var testId = selfMarkPaper[i].Test_id
|
testId := selfMarkPaper[i].Test_id
|
||||||
|
selfScoreId := selfMarkPaper[i].Self_score_id
|
||||||
|
var test models.TestPaper
|
||||||
|
test.GetTestPaperByTestId(testId)
|
||||||
|
|
||||||
|
|
||||||
|
if test.Examiner_first_id==selfScoreId {
|
||||||
|
selfMarkVOList[i].Score =test.Examiner_first_score
|
||||||
|
selfMarkVOList[i].SelfScore=test.Examiner_first_self_score
|
||||||
|
}else if test.Examiner_second_id==selfScoreId {
|
||||||
|
selfMarkVOList[i].Score=test.Examiner_second_score
|
||||||
|
selfMarkVOList[i].SelfScore=test.Examiner_second_self_score
|
||||||
|
}else if test.Examiner_third_id==selfScoreId {
|
||||||
|
selfMarkVOList[i].Score =test.Examiner_third_score
|
||||||
|
selfMarkVOList[i].SelfScore=test.Examiner_third_self_score
|
||||||
|
}
|
||||||
|
selfMarkVOList[i].Userid=selfScoreId
|
||||||
|
var user models.User
|
||||||
|
user.GetUser(selfScoreId)
|
||||||
|
selfMarkVOList[i].Name=user.User_name
|
||||||
selfMarkVOList[i].TestId=testId
|
selfMarkVOList[i].TestId=testId
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"C:\\Users\\yang\\Desktop\\阅卷系统\\controllers":1632576621003759500}
|
{"C:\\Users\\chen\\go\\src\\open-ct\\controllers":1632585323161191500}
|
|
@ -9,7 +9,7 @@ import (
|
||||||
type TestPaper struct {
|
type TestPaper struct {
|
||||||
Test_id int64 `json:"test_id" xorm:"pk autoincr"`
|
Test_id int64 `json:"test_id" xorm:"pk autoincr"`
|
||||||
Question_id int64 `json:"question_id"`
|
Question_id int64 `json:"question_id"`
|
||||||
Candidate string `json:"candidate"`
|
Candidate string `json:"candidate"`
|
||||||
Question_status int64 `json:"question_status"`
|
Question_status int64 `json:"question_status"`
|
||||||
Examiner_first_id string `json:"examiner_first_id" xorm:"default('-1')"`
|
Examiner_first_id string `json:"examiner_first_id" xorm:"default('-1')"`
|
||||||
Examiner_first_score int64 `json:"examiner_first_score" xorm:"default(-1)"`
|
Examiner_first_score int64 `json:"examiner_first_score" xorm:"default(-1)"`
|
||||||
|
@ -36,6 +36,13 @@ func (t *TestPaper) GetTestPaperByQuestionIdAndQuestionStatus(question_id int64,
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
func (t *TestPaper) GetTestPaperByTestId(testId int64) error {
|
||||||
|
has, err := x.Where("test_id = ?", testId).Get(t)
|
||||||
|
if !has || err != nil {
|
||||||
|
log.Println("could not GetTestPaperByTestId")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func GetTestPaperListByQuestionIdAndQuestionStatus(question_id int64, question_statue int64, tl *[]TestPaper) error {
|
func GetTestPaperListByQuestionIdAndQuestionStatus(question_id int64, question_statue int64, tl *[]TestPaper) error {
|
||||||
err := x.Where("question_id = ? and question_status = ?", question_id, question_statue).Find(tl)
|
err := x.Where("question_id = ? and question_status = ?", question_id, question_statue).Find(tl)
|
||||||
|
@ -72,7 +79,15 @@ func (t *TestPaper) Insert() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func FindTestPaperByQuestionId(question_id int64, t *[]TestPaper) error {
|
func FindTestPaperByQuestionId(question_id int64, t *[]TestPaper) error {
|
||||||
err := x.Where("question_id = ? and correcting_status = ?", question_id, 0).Find(t)
|
err := x.Where("question_id = ?", question_id).Find(t)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("could not FindTestPaperByQuestionId ")
|
||||||
|
log.Println(err)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
func FindTestPapersByTestId(testId, t *[]TestPaper) error {
|
||||||
|
err := x.Where("question_id = ?", testId).Find(t)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("could not FindTestPaperByQuestionId ")
|
log.Println("could not FindTestPaperByQuestionId ")
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -128,3 +143,10 @@ func CountThirdScoreNumberByQuestionId(questionId int64)(count int64,err error)
|
||||||
}
|
}
|
||||||
return count,err1
|
return count,err1
|
||||||
}
|
}
|
||||||
|
func DeleteAllTest(questionId int64) error {
|
||||||
|
_, err := x.Delete(&TestPaper{Question_id:questionId})
|
||||||
|
if err != nil {
|
||||||
|
log.Println("delete fail")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
|
@ -75,3 +75,19 @@ func GetTestInfoPicListByTestId(id int64, as *[]string) error {
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func FindTestPaperInfoByQuestionDetailId(questionDetailId int64, t *[]TestPaperInfo) error {
|
||||||
|
err := x.Where("question_detail_id = ?", questionDetailId).Find(t)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("could not FindTestPaperInfoByQuestionId ")
|
||||||
|
log.Println(err)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
func (u *TestPaperInfo) Delete() error {
|
||||||
|
_, err := x.Where(builder.Eq{"test_id": u.Test_id}).Delete(u)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("delete fail")
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
|
@ -14,6 +14,7 @@ type UnderCorrectedPaper struct {
|
||||||
Test_question_type int64 `json:"test_question_type"`
|
Test_question_type int64 `json:"test_question_type"`
|
||||||
Problem_type int64 `json:"problem_type" xorm:"default(-1)"`
|
Problem_type int64 `json:"problem_type" xorm:"default(-1)"`
|
||||||
Problem_message string `json:"test_message"`
|
Problem_message string `json:"test_message"`
|
||||||
|
Self_score_id string `json:"self_score_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *UnderCorrectedPaper) GetUnderCorrectedPaper(userId string, testId int64) error {
|
func (u *UnderCorrectedPaper) GetUnderCorrectedPaper(userId string, testId int64) error {
|
||||||
|
@ -96,6 +97,14 @@ func CountProblemUnFinishNumberByQuestionId(questionId int64 )(count int64,err e
|
||||||
}
|
}
|
||||||
return count,err1
|
return count,err1
|
||||||
}
|
}
|
||||||
|
func CountUnScoreTestNumberByQuestionId(questionId int64 )(count int64,err error) {
|
||||||
|
underCorrectedPaper:=new (UnderCorrectedPaper)
|
||||||
|
count, err1 := x.Where("question_id = ?", questionId).Count(underCorrectedPaper)
|
||||||
|
if err!=nil {
|
||||||
|
log.Println("CountUnScoreTestNumberByQuestionId err ")
|
||||||
|
}
|
||||||
|
return count,err1
|
||||||
|
}
|
||||||
|
|
||||||
func GetUnderCorrectedPaperByUserIdAndTestId(underCorrectedPaper * UnderCorrectedPaper ,userId string,testId int64) error {
|
func GetUnderCorrectedPaperByUserIdAndTestId(underCorrectedPaper * UnderCorrectedPaper ,userId string,testId int64) error {
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,10 @@ type DistributionInfo struct {
|
||||||
AdminId string `json:"adminId"`
|
AdminId string `json:"adminId"`
|
||||||
QuestionId int64 `json:"questionId"`
|
QuestionId int64 `json:"questionId"`
|
||||||
}
|
}
|
||||||
|
type DeleteTest struct {
|
||||||
|
AdminId string `json:"adminId"`
|
||||||
|
QuestionId int64 `json:"questionId"`
|
||||||
|
}
|
||||||
|
|
||||||
type Distribution struct {
|
type Distribution struct {
|
||||||
AdminId string `json:"adminId"`
|
AdminId string `json:"adminId"`
|
||||||
|
@ -35,16 +39,7 @@ type Distribution struct {
|
||||||
UserNumber int `json:"userNumber"`
|
UserNumber int `json:"userNumber"`
|
||||||
|
|
||||||
}
|
}
|
||||||
//type ReadExcel struct {
|
|
||||||
// AdminId string `json:"adminId"`
|
|
||||||
//// FilePath string `json:"filePath"`
|
|
||||||
// Excel []byte `json:"excel"`
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//type ReadExcelBytes struct {
|
|
||||||
// AdminId string ` form:"adminId" binding:"required"`
|
|
||||||
// Excel []byte `form:"excel" binding:"required"`
|
|
||||||
//}
|
|
||||||
type ReadFile struct {
|
type ReadFile struct {
|
||||||
PicName string `json:"picName"`
|
PicName string `json:"picName"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,10 @@ type ArbitramentUnmarkListVO struct {
|
||||||
}
|
}
|
||||||
type SelfMarkListVO struct {
|
type SelfMarkListVO struct {
|
||||||
TestId int64
|
TestId int64
|
||||||
|
Score int64
|
||||||
|
SelfScore int64
|
||||||
|
Userid string
|
||||||
|
Name string
|
||||||
}
|
}
|
||||||
|
|
||||||
type ScoreProgressVO struct {
|
type ScoreProgressVO struct {
|
||||||
|
|
Loading…
Reference in New Issue