request->param("step");
        if ($step) {
            $cache_kvs = [
                ["func" => "\app\common\model\Company::cache", "stepName" => "部门"],
                ["func" => "\app\common\model\IntegralProject::cache", "stepName" => "积分项目"],
                ["func" => "\app\common\model\IntegralItem::cache", "stepName" => "积分标准"]
            ];
            $cache = $cache_kvs[$step - 1];
            if ($cache) {
                $time1 = microtime(true);
                $cache["func"]();
                $time2 = microtime(true);
                $runtime = round($time2 - $time1, 2);
                $step++;
                echo '';
                echo '';
            } else {
                echo '';
            }
        } else {
            return view();
        }
    }
    /**
     * 恢复自动审核失败
     */
    public function recovery() {
        $batch = 2022; //得更改批次
        $type = 1; //人才类型 1:晋江人才 2:电路人才
        $where = [];
        $where[] = ["ti.apply_year", "=", $batch];
        $where[] = ["ti.checkState", "=", \app\common\api\TalentState::FST_VERIFY_FAIL];
        $where[] = ["e.type", "=", $type];
        $where[] = ["tl.createUser", "=", "系统"];
        $where[] = ["tl.state", "=", \app\common\api\TalentState::FST_VERIFY_FAIL];
        $list = \app\enterprise\model\Talent::alias("ti")
                        ->leftJoin("un_enterprise e", "e.id=ti.enterprise_id")
                        ->leftJoin("(select mainId,last_state,new_state,state,createUser,createTime from new_talent_checklog where md5(concat(createTime,mainId,`type`)) in (select md5(concat(max(createTime),mainId,`type`)) from `new_talent_checklog` where `type`=1 and `step` is null and active=1 and typeFileId is null group by mainId,`type`)) tl", "`tl`.`mainId`=ti.id")
                        ->where($where)
                        ->field("ti.*,e.type as enterpriseType")
                        ->select()->toArray();
        if ($list) {
            foreach ($list as $ti) {
                queue("app\job\Talent", ["type" => 3, "talentInfo" => $ti]);
            }
        }
    }
    /**
     * 导入旧的电路人才到新库
     *
      -1 复核不通过 173
      1 待提交 4
      7 待初审 22
      10 初审驳回 44
      20 复审驳回 1
      25 初审通过 71
      35 复核通过,待核查征信 1281
     * isPublic 5:待发证 6:已发证
     * active 1:在职 2:离职
     * isEffect 1:有效 4:失效 其它:已过期
     * 需要增加字段
     * cur_quit_time离职时间
     * active在职状态
     * identifyMonth认证月份
     * identifyExpireTime
     * oldId 旧id
     */
    public function import_old_jcdl() {
        $where = [];
        $where[] = ["type", "=", 2];
        $where[] = ["name", "=", "杨忠宪"];
        $list = Db::table("un_talent_info")->where($where)->select();
        $count = session("oldJcjlTalentInfoToNewTable");
        $count += count($list);
        session("oldJcjlTalentInfoToNewTable", $count);
        foreach ($list as $item) {
            queue("app\job\Worker", ["type" => 99, "talent_info" => $item]);
        }
        echo "加入队列成功";
    }
    /**
     * 生成人才积分基础分日志
     */
    public function generate_integral_base_log() {
        $where = [];
        $where[] = ["e.type", "=", 2];
        $where[] = ["ti.checkState", "=", \app\common\api\TalentState::CERTIFICATED];
        $list = Db::table("new_talent_info")->alias("ti")->leftJoin("un_enterprise e", "e.id=ti.enterprise_id")->field("ti.*")->where($where)->order("ti.talent_arrange asc")->select();
        $already_in = [];
        foreach ($list as $item) {
            $unique_md5 = md5($item["card_type"] . "_" . $item["card_number"]);
            if (!in_array($unique_md5, $already_in)) {
                queue("app\job\Talent", ["type" => 4, "id" => $item["id"]]);
                $already_in[] = $unique_md5;
            }
        }
        echo "加入队列成功";
    }
    /**
     * 导入电路人才条款
     */
    public function import_old_ic_conditions() {
        $where = [];
        $where[] = ["type", "=", 2];
        $oldConditions = Db::table("un_identify_condition")->where($where)->select()->toArray();
        foreach ($oldConditions as $oldCondition) {
            queue("app\job\Worker", ["type" => 98, "id" => $oldCondition["id"]]);
        }
    }
    /**
     * 设置电路条款与旧版一致启用状态
     */
    public function set_ic_condition_active() {
        $where = [];
        $where[] = ["type", "=", 2];
        $upd["active"] = 2;
        Db::table("new_talent_condition")->where($where)->update($upd);
        $where = [];
        $where[] = ["type", "=", 2];
        $where[] = ["active", "=", 1];
        $oldActiveConditions = Db::table("un_identify_condition")->where($where)->select()->toArray();
        $oldActiveConditioinNames = array_column($oldActiveConditions, "name");
        $where = [];
        $where[] = ["type", "=", 2];
        $where[] = ["name", "in", $oldActiveConditioinNames];
        $upd["active"] = 1;
        Db::table("new_talent_condition")->where($where)->update($upd);
    }
}