find(); $result["enterprise"] = EnterpriseApi::getOne($result["enterprise_id"]); $result["enterprise"]["streetName"] = DictApi::findDictByCode($result["enterprise"]["street"])["name"]; if ($result) { $result["items"] = $result->detail; } return $result; } public static function getList($params) { $where = []; $order = $params["order"] ?: "desc"; $offset = $params["offset"] ?: 0; $limit = $params["limit"] ?: 10; if (session("user")["usertype"] == 2) { $where[] = ["enterprise_id", "=", session("user")["uid"]]; } $where[] = ["delete", "=", 0]; $count = IntegralRecord::where($where)->count(); $list = IntegralRecord::where($where)->field("*,if(updateTime is not null,updateTime,createTime) as orderTime")->limit($offset, $limit)->order("orderTime " . $order)->select(); foreach ($list as $key => $item) { $list[$key]["apply_year"] = BatchApi::getOne($item["batch_id"])["batch"]; $tmp_items = []; foreach ($item["detail"] as $_item) { $integral_item_info = getCacheById("IntegralItem", $_item["item_id"]); $tmp_items[] = sprintf("%s(%s%s)", $integral_item_info["name"], $_item["amount"], $integral_item_info["unit"]); } $list[$key]["details"] = implode(",", $tmp_items); $list[$key]["type"] = session("user")["type"]; $last_log = TalentLogApi::getLastLog($item["id"], \app\common\state\ProjectState::INTEGRAL); $list[$key]["real_state"] = $last_log["state"]; $list[$key]["last_state"] = $last_log["last_state"]; } return ["total" => $count, "rows" => $list]; } public static function getListByProcess($params) { $process = $params["process"] ?: 1; $where = []; switch ($process) { case 1://初审阶段 $where[] = ["checkState", "in", [IntegralState::SUBMIT]]; break; case 2://复审阶段 $where[] = ["checkState", "in", [IntegralState::VERIFY_PASS]]; break; case 3://复审后征信公示等状态 $where[] = ["checkState", "in", [IntegralState::REVERIFY_PASS, IntegralState::ZX_PASS, IntegralState::ZX_FAIL, IntegralState::ANNOUNCED, IntegralState::ANNOUNCED_REVERIFY_PASS, IntegralState::ANNOUNCED_REVERIFY_FAIL, IntegralState::PUBLISH_PASS, IntegralState::PUBLISH_FAIL, IntegralState::SUCCESS]]; break; } $order = $params["order"] ?: "desc"; $offset = $params["offset"] ?: 0; $limit = $params["limit"] ?: 10; $where[] = ["delete", "=", 0]; $count = IntegralRecord::where($where)->count(); $list = IntegralRecord::where($where)->field("*,if(updateTime is not null,updateTime,createTime) as orderTime")->limit($offset, $limit)->order("orderTime " . $order)->select(); foreach ($list as $key => $item) { $list[$key]["apply_year"] = BatchApi::getOne($item["batch_id"])["batch"]; $tmp_items = []; foreach ($item["detail"] as $_item) { $integral_item_info = getCacheById("IntegralItem", $_item["item_id"]); $tmp_items[] = sprintf("%s(%s%s)", $integral_item_info["name"], $_item["amount"], $integral_item_info["unit"]); } $list[$key]["details"] = implode(",", $tmp_items); $list[$key]["type"] = session("user")["type"]; $last_log = TalentLogApi::getLastLog($item["id"], \app\common\state\ProjectState::INTEGRAL); $list[$key]["real_state"] = $last_log["state"]; $list[$key]["last_state"] = $last_log["last_state"]; } return ["total" => $count, "rows" => $list]; } public static function checkIsEditable($id) { $info = self::getOne($id); if (!$info || !in_array($info["checkState"], [0, IntegralState::SAVE])) return false; return true; } static public function chkIsOwner($id, $uid) { $info = self::getOne($id); if ($info["enterprise_id"] != $uid) return null; return $info; } }