浏览代码

征信,公示

sugangqiang 2 年之前
父节点
当前提交
4ef6db5bea

+ 45 - 13
app/admin/controller/Talent.php

@@ -171,19 +171,18 @@ class Talent extends AdminController {
         $ids = array_filter(explode(",", $ids));
 
         $msg = "征信通过";
-        $state = 2; //征信核查
-        $pass = true;
+        $state = TalentState::ZX_PASS; //征信通过
 
         $total = count($ids);
         $error = 0;
         $success = 0;
         foreach ($ids as $id) {
             $talent_info = VerifyApi::getOne($id);
-            if ($talent_info["isPublic"] != 1 || $talent_info["checkState"] != TalentState::REVERIFY_PASS) {
+            if ($talent_info["checkState"] != TalentState::REVERIFY_PASS) {
                 $error++;
                 continue;
             }
-            if (VerifyApi::setPublic($id, $state, $pass, $msg)) {
+            if (VerifyApi::setPublic($id, $state, $msg)) {
                 $success++;
             } else {
                 $error++;
@@ -200,16 +199,18 @@ class Talent extends AdminController {
         $params = $this->request->param();
         $id = $params["id"];
         $msg = "征信失信:" . $params["outMsg"];
-        $state = 2; //征信核查
-        $pass = false;
+        $state = TalentState::ZX_FAIL; //征信不通过
         $talent_info = VerifyApi::getOne($id);
-        if ($talent_info["isPublic"] != 1 || $talent_info["checkState"] != TalentState::REVERIFY_PASS) {
+        if ($talent_info["checkState"] != TalentState::REVERIFY_PASS) {
             return json(["msg" => "当前记录不是待核查征信状态,无法核查"]);
         }
-        VerifyApi::setPublic($id, $state, $pass, $msg);
+        VerifyApi::setPublic($id, $state, $msg);
         return json(["code" => 200, "msg" => "已设置征信失信"]);
     }
 
+    /**
+     * 公示预览导出
+     */
     public function exportPublic() {
         $params = $this->request->param();
         $ids_arr = array_filter(explode(",", $params["ids"]));
@@ -232,11 +233,42 @@ class Talent extends AdminController {
         }
         if ($rows) {
             $filename = "优秀人才公示预览导出";
-            $settings = [
-                "background-color" => ["A1:A10" => "ff0000"]
-            ];
-            export($columns, $rows, $filename, $settings);
+            export($columns, $rows, $filename);
+        }
+    }
+
+    /**
+     * 公示
+     */
+    public function publicBatch() {
+        $params = $this->request->param();
+        $isMessage = $params["isMessage"] ?: 2;
+        $ids = $params["ids"];
+        $publicBatch = $params["batch"];
+        if (!$publicBatch || strlen($publicBatch) != 6 || !is_numeric($publicBatch))
+            return json(["msg" => "公示批次错误"]);
+
+        $ids = array_filter(explode(",", $ids));
+
+        $msg = "已公示";
+        $state = TalentState::ANNOUNCED; //公示
+
+        $total = count($ids);
+        $error = 0;
+        $success = 0;
+        foreach ($ids as $id) {
+            $talent_info = VerifyApi::getOne($id);
+            if ($talent_info["checkState"] != TalentState::ZX_PASS) {
+                $error++;
+                continue;
+            }
+            if (VerifyApi::setPublic($id, $state, $msg, $publicBatch)) {
+                $success++;
+            } else {
+                $error++;
+            }
         }
+        return json(["code" => 200, "msg" => sprintf("公示完成:共提交%d个人才,通过%d个,失败%d个", $total, $success, $error)]);
     }
 
     /**
@@ -722,7 +754,7 @@ class Talent extends AdminController {
         }
         $filename = "优秀人才核查征信名单导出";
         if ($rows) {
-            export($columns, $rows, $filename, getCommonExcelSetting(count($columns), count($rows)));
+            export($columns, $rows, $filename);
         }
     }
 

+ 1 - 0
app/common.php

@@ -125,6 +125,7 @@ function export($columns, $rows, $filename = "jjrcw", $settings = [], $sheetname
     $objPHPExcel->getDefaultColumnDimension()->setWidth(16); //默认列宽
     $objPHPExcel->getDefaultRowDimension()->setRowHeight(30); //默认列高
     //样式设置
+    $settings = $settings ?: getCommonExcelSetting($colCount, $rowCount);
     foreach ($settings as $type => $cfg) {
         switch ($type) {
             case "width":

+ 43 - 3
app/common/api/DictApi.php

@@ -218,11 +218,27 @@ class DictApi {
                 break;
             case 11:
             case 12:
-                $stepName = '<span class="label label-warning">复核</span>';
+                $stepName = '<span class="label label-info">复核</span>';
                 break;
             case 13:
                 $stepName = '<span class="label label-danger">审核不通过</span>';
                 break;
+            case 21:
+            case 22:
+                $stepName = '<span class="label label-info">核查征信</span>';
+                break;
+            case 23:
+            case 24:
+            case 25:
+                $stepName = '<span class="label label-info">公示</span>';
+                break;
+            case 26:
+            case 27:
+                $stepName = '<span class="label label-info">公布</span>';
+                break;
+            case 28:
+                $stepName = '<span class="label label-inverse">发证</span>';
+                break;
             default:
                 $stepName = '<span class="label">用户操作</span>';
                 break;
@@ -306,13 +322,37 @@ class DictApi {
                 }
                 break;
             case 11:
-                $str = '<span class="label label-primary">复核通过</span>';
+                $str = '<span class="label label-success">待核查征信</span>';
                 break;
             case 12:
                 $str = '<span class="label label-danger">待重新审核</span>';
                 break;
             case 13:
-                $str = '<span class="label label-danger">审核不通过</span>';
+                $str = '<span class="label label-danger">复核不通过</span>';
+                break;
+            case 22:
+                $str = '<span class="label label-danger">征信不通过</span>';
+                break;
+            case 25:
+                $str = '<span class="label label-danger">公示审核不通过</span>';
+                break;
+            case 27:
+                $str = '<span class="label label-danger">公布不通过</span>';
+                break;
+            case 21:
+                $str = '<span class="label label-success">待公示</span>';
+                break;
+            case 23:
+                $str = '<span class="label label-success">待公示审核</span>';
+                break;
+            case 24:
+                $str = '<span class="label label-success">待公布</span>';
+                break;
+            case 26:
+                $str = '<span class="label label-success">待发证</span>';
+                break;
+            case 28:
+                $str = '<span class="label label-primary">已发证</span>';
                 break;
         }
         return $str;

+ 10 - 7
app/common/api/TalentState.php

@@ -22,13 +22,16 @@ class TalentState {
     public const REVERIFY_PASS = 11; //复核通过
     public const REVERIFY_REJECT = 12; //复核驳回
     public const REVERIFY_FAIL = 13; //复核失败
-    public const ZX_PASS = 21; //征信通过
-    public const ZX_FAIL = 22; //征信失信
-    public const GS_PASS = 31; //公示通过
-    public const GS_FAIL = 32; //公示失信
+    public const ZX_PASS = 21; //征信通过|待公示
+    public const ZX_FAIL = 22; //征信失信|审核不通过
+    public const ANNOUNCED = 23; //已公示
+    public const ANNOUNCED_REVERIFY_PASS = 24; //公示再审核通过|待公布
+    public const ANNOUNCED_REVERIFY_FAIL = 25; //公示再审核不通过
+    public const PUBLISH_PASS = 26; //公布通过
+    public const PUBLISH_FAIL = 27; //公布不通过
+    public const CERTIFICATED = 28; //已发证
     public const BASE_VERIFY_FAIL = -1; //条件验证失败
     public const FST_VERIFY_FAIL = -2; //初审失败
-
     public const RCRD_BASIC_SAVE = -2;
     public const RCRD_BASIC_NOTPASS = -1;
     public const RCRD_BASIC_NEED = 1;
@@ -40,8 +43,8 @@ class TalentState {
     public const RCRD_BASEIC_FROZEN = 10;
     public const RCRD_BASEIC_CANCLE = 11;
 
-    public static function stateEnum($code){
-        switch ($code){
+    public static function stateEnum($code) {
+        switch ($code) {
             case -2:
                 return "<span class='label label-success'>待提交</span>";
                 break;

+ 16 - 21
app/common/api/VerifyApi.php

@@ -134,13 +134,11 @@ class VerifyApi {
         switch ($type) {
             case 1:
             case 2:
-                $where[] = ["ti.isPublic", "=", 1];
-                $where[] = ["ti.checkState", "in", [11, 13]];
+                $where[] = ["ti.checkState", "=", TalentState::REVERIFY_PASS];
                 break;
             case 3:             //公示
             case 7:             //公示预览
-                $where[] = ["ti.isPublic", "=", 2];
-                $where[] = ["ti.checkState", "in", [11, 13]];
+                $where[] = ["ti.checkState", "=", TalentState::ZX_PASS];
                 break;
             case 4:
                 $where[] = ["ti.isPublic", "=", 3];
@@ -299,25 +297,22 @@ class VerifyApi {
         return Talent::alias("ti")->leftJoin("new_enterprise e", "e.id=ti.enterprise_id")->where($where)->field("ti.*,e.agentName,e.agentPhone")->select()->toArray();
     }
 
-    public static function setPublic($mainId, $state, $pass, $msg, $type = 1) {
+    public static function setPublic($mainId, $state, $msg, $batch, $type = 1) {
+        $data["id"] = $mainId;
+        $data["checkState"] = $state;
         switch ($state) {
-            case 2:
-                if ($pass) {
-                    $data["id"] = $mainId;
-                    $data["isPublic"] = $state;
-                    $data["checkState"] = TalentState::REVERIFY_FAIL;
-                    Talent::update($data);
-                    TalentLogApi::write($type, $mainId, [TalentState::REVERIFY_PASS, TalentState::REVERIFY_PASS, 5], $msg, 1);
-                    return true;
-                } else {
-                    $data["id"] = $mainId;
-                    $data["isPublic"] = $state;
-                    $data["checkState"] = TalentState::REVERIFY_FAIL;
-                    Talent::update($data);
-                    TalentLogApi::write($type, $mainId, [TalentState::REVERIFY_FAIL, TalentState::REVERIFY_FAIL, 5], $msg, 1);
-                    return true;
-                }
+            case TalentState::ZX_PASS:
+            case TalentState::ZX_FAIL:
+                $data["isPublic"] = 2;
                 break;
+            case TalentState::ANNOUNCED:
+                $data["isPublic"] = 3;
+                $data["publicBatch"] = $batch;
+                break;
+        }
+        if (Talent::update($data)) {
+            TalentLogApi::write($type, $mainId, $state, $msg, 1);
+            return true;
         }
         return false;
     }

+ 4 - 2
app/common/controller/Api.php

@@ -128,8 +128,8 @@ class Api extends BaseController {
                     break;
                 default:
                     $new_item["stepName"] = DictApi::getCheckLogStepName($item["state"], $item["step"]);
-                    if ($item["state"] == TalentState::REVERIFY_FAIL) {
-                        $new_item["stateName"] = '<span class="label label-success">审核不通过</span>';
+                    if (in_array($item["state"], [TalentState::REVERIFY_FAIL, TalentState::ZX_FAIL, TalentState::ANNOUNCED_REVERIFY_FAIL, TalentState::PUBLISH_FAIL])) {
+                        $new_item["stateName"] = '<span class="label label-danger">审核不通过</span>';
                     } else if (in_array($item["state"], [TalentState::BASE_VERIFY_PASS, TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS, TalentState::REVERIFY_PASS])) {
                         if ($item["step"] == 3) {
                             if ($item["new_state"] == TalentState::SCND_SUBMIT) {
@@ -144,6 +144,8 @@ class Api extends BaseController {
                         }
                     } else if (in_array($item["state"], [4, 8, 10, 12])) {
                         $new_item["stateName"] = '<span class="label label-danger">审核驳回</span>';
+                    } else if (in_array($item["state"], [TalentState::ZX_PASS, TalentState::ANNOUNCED, TalentState::ANNOUNCED_REVERIFY_PASS, TalentState::PUBLISH_PASS, TalentState::CERTIFICATED])) {
+                        $new_item["stateName"] = '<span class="label label-primary">审核通过</span>';
                     } else {
                         $new_item["stateName"] = '<span class="label label-success">待审核</span>';
                     }

+ 32 - 6
public/static/modular/talentIdentify/talentInfo/talentInfo_prepare.js

@@ -60,11 +60,37 @@ TalentInfo.initColumn = function () {
         {title: '最新提交时间', field: 'new_submit_time', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "100px"},
         {title: '审核状态', field: 'checkState', visible: true, align: 'center', valign: 'middle', width: "100px",
             formatter: function (value, row, index) {
-                if (value == 13) {
-                    return "<span class='label label-danger'>审核不通过</span>"
-                }
-                if (value == 11) {
-                    return "<span class='label label-primary'>已通过</span>"
+                switch (value) {
+                    case 11:
+                        return "<span class='label label-success'>待核查征信</span>";
+                        break;
+                    case 21:
+                        return "<span class='label label-success'>待公示</span>";
+                        break;
+                    case 23:
+                        return "<span class='label label-success'>待公示审核</span>";
+                        break;
+                    case 24:
+                        return "<span class='label label-success'>待公布</span>";
+                        break;
+                    case 26:
+                        return "<span class='label label-success'>待发证</span>";
+                        break;
+                    case 28:
+                        return "<span class='label label-primary'>已发证</span>";
+                        break;
+                    case 13:
+                        return "<span class='label label-danger'>复核失败</span>";
+                        break;
+                    case 22:
+                        return "<span class='label label-danger'>征信不通过</span>";
+                        break;
+                    case 25:
+                        return "<span class='label label-danger'>公示审核不通过</span>";
+                        break;
+                    case 27:
+                        return "<span class='label label-danger'>公布不通过</span>";
+                        break;
                 }
             }
         },
@@ -426,7 +452,7 @@ TalentInfo.public = function () {
                     return;
                 }
                 layer.close(index);
-                var ajax = new $ax(Feng.ctxPath + "/talentInfo/publicBatch", function (data) {
+                var ajax = new $ax("/admin/talent/publicBatch", function (data) {
                     if (data.code == 200) {
                         Feng.success(data.msg);
                         TalentInfo.table.refresh();