小bug调整

This commit is contained in:
wangjinlei
2025-05-08 18:42:32 +08:00
parent edd02ce535
commit 34364e6430

View File

@@ -688,6 +688,13 @@ class Production extends Base
return jsonError($rule->getError());
}
$p_info = $this->production_article_obj->where('p_article_id', $data['p_article_id'])->find();
if($p_info['topics']==""||$p_info['related']==""){
return jsonError("Topic and related articles cannot be empty");
}
if ($p_info['state'] != 0) {
return jsonError("Non repeatable submission");
}
@@ -696,7 +703,7 @@ class Production extends Base
The ONLINE step will only continue if you have completed the PROOF step.');
}
//参考文献重复的不能提交
$this->production_article_refer_obj->where("p_article_id",$data['p_article_id'])->where("state",0)->group("refer_doi")->
// $this->production_article_refer_obj->where("p_article_id",$data['p_article_id'])->where("state",0)->group("refer_doi")->
$article_info = $this->article_obj->where('article_id', $p_info['article_id'])->find();
$journal_info = $this->journal_obj->where('journal_id', $article_info['journal_id'])->find();
@@ -1106,6 +1113,174 @@ class Production extends Base
}
public function getTopicsByIssn(){
$data = $this->request->post();
$rule = new Validate([
"p_article_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$p_info = $this->production_article_obj->where("p_article_id",$data['p_article_id'])->find();
$journal_info = $this->journal_obj->where("journal_id",$p_info['journal_id'])->find();
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Article/getTopicByIssn';
$pra = [];
$pra['issn'] = $journal_info['issn'];
$res = object_to_array(json_decode(myPost($url, $pra)));
$re['now'] = $p_info['topics']==""?[]:json_decode($p_info['topics']);
$re['list'] = $res['data']['list'];
return jsonSuccess($re);
}
public function getProductRelatedList(){
$data = $this->request->post();
$rule = new Validate([
"p_article_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$p_info = $this->production_article_obj->where("p_article_id",$data['p_article_id'])->find();
if($p_info['related']==""){
return jsonSuccess(['list'=>null]);
}
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Article/getArticlesForSubmission';
$pra = [];
$pra['ids'] = $p_info['related'];
$res = object_to_array(json_decode(myPost($url, $pra)));
$re['list'] = $res['data']['list'];
return jsonSuccess($re);
}
public function addProductRelated(){
$data = $this->request->post();
$rule = new Validate([
"p_article_id"=>"require",
"article_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$p_info = $this->production_article_obj->where("p_article_id",$data['p_article_id'])->find();
if ($p_info['related']==""){
$list[] = $data['article_id'];
}else{
if(array_search($data['article_id'], json_decode($p_info['related']))!==false){
return jsonSuccess([]);
}
$list = json_decode($p_info['related']);
$list[] = $data['article_id'];
sort($list);
}
$this->production_article_obj->where("p_article_id",$data['p_article_id'])->update(['related'=>json_encode(self::repalecArray($list))]);
return jsonSuccess($list);
}
private function repalecArray($list){
$frag = [];
foreach ($list as $v){
$frag[] = $v;
}
return $frag;
}
public function delProductRelated(){
$data = $this->request->post();
$rule = new Validate([
"p_article_id"=>"require",
"article_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$p_info = $this->production_article_obj->where("p_article_id",$data['p_article_id'])->find();
$list = json_decode($p_info['related']);
$key = array_search($data['article_id'],$list);
if($key!==false){
unset($list[$key]);
}
$this->production_article_obj->where("p_article_id",$data['p_article_id'])->update(['related'=>json_encode(self::repalecArray($list))]);
return jsonSuccess(['list'=>$list]);
}
// public function editProductTopics(){
// $data = $this->request->post();
// $rule = new Validate([
// "p_article_id"=>"require",
// "list"=>"require"
// ]);
// if(!$rule->check($data)){
// return jsonError($rule->getError());
// }
// $this->production_article_obj->where("p_article_id",$data['p_article_id'])->update(['topics'=>json_encode($data['list'])]);
// return jsonSuccess([]);
// }
public function addProductTopic(){
$data = $this->request->post();
$rule = new Validate([
"p_article_id"=>"require",
"journal_topic_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$p_info = $this->production_article_obj->where("p_article_id",$data['p_article_id'])->find();
if($p_info['topics']==""){
$list[] = $data['journal_topic_id'];
}else{
if(array_search($data['journal_topic_id'],json_decode($p_info['topics']))!==false){
return jsonSuccess([]);
}
$list = json_decode($p_info['topics']);
$list[] = $data['journal_topic_id'];
sort($list);
}
$this->production_article_obj->where("p_article_id",$data['p_article_id'])->update(['topics'=>json_encode(self::repalecArray($list))]);
return jsonSuccess(['list'=>$list]);
}
public function delProductTopic(){
$data = $this->request->post();
$rule = new Validate([
"p_article_id"=>"require",
"journal_topic_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$p_info = $this->production_article_obj->where("p_article_id",$data['p_article_id'])->find();
$list = json_decode($p_info['topics']);
$key = array_search($data['journal_topic_id'],$list);
if($key!==false){
unset($list[$key]);
}
$this->production_article_obj->where("p_article_id",$data['p_article_id'])->update(['topics'=>json_encode(self::repalecArray($list))]);
return jsonSuccess(['list'=>$list]);
}
public function editProductRelated(){
$data = $this->request->post();
$rule = new Validate([
"p_article_id"=>"require",
"list"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$this->production_article_obj->where("p_article_id",$data['p_article_id'])->update(['related'=>json_encode($data['list'])]);
return jsonSuccess([]);
}
public function doTypeSettingNew(){
$data = $this->request->post();
$rule = new Validate([