Pārlūkot izejas kodu

部门审核逻辑修改

sugangqiang 2 gadi atpakaļ
vecāks
revīzija
f7a7bcb7cc
2 mainītis faili ar 23 papildinājumiem un 3 dzēšanām
  1. 18 2
      app/admin/controller/Talent.php
  2. 5 1
      app/common/controller/Api.php

+ 18 - 2
app/admin/controller/Talent.php

@@ -1144,7 +1144,8 @@ class Talent extends AdminController {
             $companys = VerifyApi::getNewReCheckCompanyIds($re_check_companys, $companys, $pass_companyIds);
             $pass_companyIds = TalentLogApi::getPassDepts($talent_info["id"], $talent_info["first_dept_check_time"]); //重审单位中已经通过的单位
         }
-
+        $no_valid_companyIds = array_diff($pass_companyIds, $companys);
+        $pass_companyIds = array_diff($pass_companyIds, $no_valid_companyIds);
         $over = $pass_companyIds ? count($pass_companyIds) : 0; //完成度,如果重审之前已有通过审核的部门,不用再审,直接按通过算
         $error = 0; //失败数
         $nowProcess = 4;
@@ -1155,7 +1156,7 @@ class Talent extends AdminController {
         }
         $logs = TalentLogApi::getListLogByTime($talent_info["id"], $talent_info["first_dept_check_time"]);
         for ($i = 0; $i < count($logs); $i++) {
-            if (!in_array($logs[$i]["companyId"], $pass_companyIds)) {
+            if (!in_array($logs[$i]["companyId"], $pass_companyIds) && in_array($logs[$i]["companyId"], $companys)) {
                 $over += $logs[$i]["active"] == 1 ? 1 : 0;
                 if ($logs[$i]["new_state"] == TalentState::SCND_SUBMIT) {
                     $error++;
@@ -1169,6 +1170,21 @@ class Talent extends AdminController {
             if ($error == 0) {
                 $log_checkState = $checkState = TalentState::DEPT_VERIFY_PASS;
                 $data["highProcess"] = $nowProcess > $talent_info["highProcess"] ? $nowProcess : $talent_info["highProcess"];
+                $data["modify_files"] = null;
+            }
+            if ($log_checkState == TalentState::DEPT_VERIFY_REJECT) {
+                $talent_condition = TalentConditionApi::getOne($talent_info["talent_condition"]);
+                $cwfts = explode(";", $talent_condition["companyWithFileType"]);
+                $fileTypes = [];
+                foreach ($cwfts as $cwft) {
+                    $_company_setting = explode(":", $cwft);
+                    $_fileTypes = explode(",", $_company_setting[1]);
+                    $fileTypes = array_merge($fileTypes, $_fileTypes);
+                }
+                $modify_files = explode(",", $talent_info["modify_files"]);
+                $removeFileTypes = array_diff($modify_files, $fileTypes);
+                $newModifyFiles = array_diff($modify_files, $removeFileTypes);
+                $data["modify_files"] = implode(",", $newModifyFiles);
             }
             $data["id"] = $talent_info["id"];
             $data["checkState"] = $checkState;

+ 5 - 1
app/common/controller/Api.php

@@ -97,6 +97,8 @@ class Api extends BaseController {
         $list = [];
         switch ($type) {
             case 1:
+                $talentInfo = TalentApi::getOne($mainId);
+                $talent_condition = TalentConditionApi::getOne($talentInfo["talent_condition"]);
             case 20:
                 $list = TalentLogApi::getList($type, $mainId);
                 break;
@@ -227,6 +229,9 @@ class Api extends BaseController {
                             } else {
                                 $new_item["stateName"] = '<span class="label label-success">待审核</span>';
                             }
+                            if ($item["active"] === 0 && !in_array($item["companyId"], explode(",", $talent_condition["companyIds"]))) {
+                                $new_item["stateName"] = '<span class="label">已废弃</span>';
+                            }
                         } else {
                             $new_item["stateName"] = '<span class="label label-primary">审核通过</span>';
                         }
@@ -276,7 +281,6 @@ class Api extends BaseController {
             $new_list[] = $new_item;
         }
         if ($type == ProjectState::TALENT) {
-            $talentInfo = TalentApi::getOne($mainId);
             if ($talentInfo["oldId"]) {
                 $where = [];
                 $where[] = ["mainId", "=", $talentInfo["oldId"]];