新增答卷调整

This commit is contained in:
chengxl
2025-06-24 16:01:51 +08:00
parent c2db752422
commit 2054fc39e7

View File

@@ -2476,10 +2476,13 @@ class Reviewer extends Base
} }
//数据处理-答题处理 //数据处理-答题处理
//答卷类型
$iType = empty($data['type']) ? 1 : $data['type'];
$sMsg = ''; $sMsg = '';
//答卷评分 //答卷评分
$iScore = 0;//初试分数值 $iScore = 0;//初试分数值
$aScore = [ $aScore = [
2 => [
'qu1' => [1 => 1,2 => 0.5,3 => 0,4 => -0.5], 'qu1' => [1 => 1,2 => 0.5,3 => 0,4 => -0.5],
'qu2' => [1 => 1,2 => 0.5,3 => 0,4 => -0.5], 'qu2' => [1 => 1,2 => 0.5,3 => 0,4 => -0.5],
'qu3' => ['true' => 0.5,'false' => -10], 'qu3' => ['true' => 0.5,'false' => -10],
@@ -2495,7 +2498,25 @@ class Reviewer extends Base
'qu13' => ['true' => 1,'false' => 0], 'qu13' => ['true' => 1,'false' => 0],
'qu14' => ['true' => 1,'false' => 0], 'qu14' => ['true' => 1,'false' => 0],
'qu15' => ['true' => 0.5,'false' => 0] 'qu15' => ['true' => 0.5,'false' => 0]
],
3 => [
'qu1' => [1 => 1,2 => 0.5,3 => 0,4 => -0.5],
'qu2' => [1 => 1,2 => 0.5,3 => 0,4 => -0.5],
'qu3' => ['true' => 0.5,'false' => -10],
'qu4' => [1 => 1,2 => 0.5,3 => 0,4 => -0.5],
'qu5' => ['true' => 0.5,'false' => 0],
'qu6' => ['true' => 0.5,'false' => 0],
'qu7' => ['true' => 0.5,'false' => 0],
'qu8' => ['true' => 0.5,'false' => 0],
'qu9' => ['true' => 1,'false' => 0],
'qu10' => ['true' => 1,'false' => 0],
'qu11' => ['true' => 1,'false' => 0],
'qu12' => ['true' => 1,'false' => 0],
'qu13' => ['true' => 1,'false' => 0],
]
]; ];
//类型对应的分值
$aScoreInfo = empty($aScore[$iType]) ? [] : $aScore[$iType];
for ($i = 1; $i <= 15; $i++) { for ($i = 1; $i <= 15; $i++) {
$sField = 'qu'.$i; $sField = 'qu'.$i;
if(isset($data[$sField])){ if(isset($data[$sField])){
@@ -2503,7 +2524,8 @@ class Reviewer extends Base
if(in_array($insert_data[$sField], ['true','false'])){ if(in_array($insert_data[$sField], ['true','false'])){
$insert_data[$sField] = $insert_data[$sField] == 'true' ? 1 : 0; $insert_data[$sField] = $insert_data[$sField] == 'true' ? 1 : 0;
} }
$iScore += empty($aScore[$sField][$data[$sField]]) ? 0 : $aScore[$sField][$data[$sField]]; //自动评分
$iScore += empty($aScoreInfo[$sField][$data[$sField]]) ? 0 : $aScoreInfo[$sField][$data[$sField]];
} }
$sFieldContents = $sField.'contents'; $sFieldContents = $sField.'contents';
if(isset($data[$sFieldContents])){ if(isset($data[$sFieldContents])){
@@ -2519,7 +2541,7 @@ class Reviewer extends Base
} }
//其他参数组装 //其他参数组装
$sMsg = ''; $sMsg = '';
$aField = ['rated','recommend','other','confidential','comments','is_anonymous','art_rev_id']; $aField = ['rated','recommend','other','is_anonymous','art_rev_id'];
foreach ($aField as $value) { foreach ($aField as $value) {
if(isset($data[$value])){ if(isset($data[$value])){
$insert_data[$value] = $data[$value]; $insert_data[$value] = $data[$value];
@@ -2527,8 +2549,8 @@ class Reviewer extends Base
} }
//答卷类型 //答卷类型
$insert_data['type'] = empty($data['type']) ? 1 : $data['type']; $insert_data['type'] = $iType;
if($insert_data['type'] == 2){ if(in_array($insert_data['type'], [2,3]) ){
$insert_data['score'] = $iScore; $insert_data['score'] = $iScore;
} }
//判断字数是否符合要求comment //判断字数是否符合要求comment
@@ -2539,6 +2561,7 @@ class Reviewer extends Base
return jsonError("We encourage you to enrich your comment further to help improve the peer paper (at least ".$iWordNum." words)."); return jsonError("We encourage you to enrich your comment further to help improve the peer paper (at least ".$iWordNum." words).");
} }
$insert_data['comments'] = empty($aContent) ? '' : implode(' ', $aContent); $insert_data['comments'] = empty($aContent) ? '' : implode(' ', $aContent);
$insert_data['confidential'] = empty($data['confident']) ? '' : $data['confident'];
//判断是新增还是修改 //判断是新增还是修改
$rev_qu_id = empty($data['rev_qu_id']) ? 0 : $data['rev_qu_id']; $rev_qu_id = empty($data['rev_qu_id']) ? 0 : $data['rev_qu_id'];
if (empty($rev_qu_id)) { //新增 if (empty($rev_qu_id)) { //新增