Example #1
0
 /**
  * 休日データを登録する
  *
  * @param  string 年号4ケタ
  * @return array  休日情報
  */
 function updateHoliday($target_year, $holidayData)
 {
     // データベースに接続する
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::MASTER_DB)->beginTransaction();
     // m_holiday初期化
     $sql = "DELETE FROM `m_holiday` WHERE `holiday_date` BETWEEN :start_date AND :end_date;";
     $param = array('start_date' => sprintf("%s0101", $target_year), 'end_date' => sprintf("%s1231", $target_year));
     $res = $conn->dbExecute(DbControl::MASTER_DB, $sql, $param);
     if (!$res) {
         $conn->rollback(DbControl::MASTER_DB);
         throw new Exception("テーブル「m_holiday」の対象年度データ削除処理に失敗しました。");
         return false;
     }
     // クエリを一括実行
     $sql = "INSERT INTO `m_holiday`(`holiday_date`,`holiday_name`) VALUES(:holiday_date,:holiday_name);";
     foreach ($holidayData as $insertParam) {
         $res = $conn->dbExecute(DbControl::MASTER_DB, $sql, $insertParam);
         if (!$res) {
             $conn->rollback(DbControl::MASTER_DB);
             throw new Exception("テーブル「m_holiday」へのINSERT処理に失敗しました。");
             return false;
         }
     }
     //全ての処理が正しければデータコミット
     $conn->commit(DbControl::MASTER_DB);
     // データベースを切断する
     $conn->dbClose(DbControl::SLAVE_DB);
     return true;
 }
Example #2
0
 /**
  * インスタンス取得
  *
  * @since  2011-11-07
  * @author Imaeda
  */
 public static function getInstance()
 {
     if (!is_object(DbControl::$_singleton)) {
         DbControl::$_singleton = new DbControl();
     }
     return DbControl::$_singleton;
 }
function DestroyHandler($id)
{
    global $_sessionCacheData;
    $execParam['s_id'] = $id;
    DbControl::getInstance()->dbConnect(DbControl::MASTER_DB);
    DbControl::getInstance()->dbExecute(DbControl::MASTER_DB, QUERY_DESTROY, $execParam);
    $_sessionCacheData = "";
    return true;
}
Example #4
0
 /**
  * autosave - pohodlnejsi nez nutne volat store
  * @throws Exception
  */
 public function __destruct()
 {
     try {
         if (LBoxConfigManagerProperties::getPropertyContentByName("log_access") < 1) {
             return;
         }
         $this->params["queries"] = DbControl::getQueryCount() + 1;
         $this->params["time_execution"] = LBoxTimer::getInstance()->getTimeOfLife();
         $this->params["cache_read"] = LBoxCache::getInstance()->getFilesOpenedRead();
         $this->params["cache_write"] = LBoxCache::getInstance()->getFilesOpenedWrite();
         $this->params["memory"] = memory_get_peak_usage(true);
         $this->params["memory_limit"] = ini_get("memory_limit") * 1024 * 1024;
         $this->synchronized = false;
         $this->store();
     } catch (Exception $e) {
         throw $e;
     }
 }
Example #5
0
/**
 * 当月の期間IDのおわりを取得
 * Topからコピー
 * TOP、ヒアリングシートTOPで使用
 * @param
 */
function getMonthEnd($month, $year)
{
    $sql = 'select max(id) from m_term where month = :month and year = :year ';
    $searchParam = array();
    $searchParam["month"] = $month;
    $searchParam["year"] = $year;
    // データベースに接続する
    $conn = DbControl::getInstance();
    $conn->dbConnect(DbControl::SLAVE_DB);
    // クエリを実行する
    $res = $conn->dbExecFetch(DbControl::SLAVE_DB, $sql, $searchParam);
    // データベースを切断する
    $conn->dbClose(DbControl::SLAVE_DB);
    $result = $res["max(id)"];
    return $result;
}
Example #6
0
         }
     } else {
         throw new Exception("不正な処理の為処理を終了します。");
     }
 }
 if (in_array(ACCOUNT_ADMIN, $authority) && isset($point)) {
     $admin_id = $_SESSION[SESSION_USER_ID];
     $boss_flg = 'admin';
     $target_id = $report->getMonthlyReportId($termid, $staff_id);
     if (!$target_id['id']) {
         throw new Exception('新入社員が振り返りを入力していない為、処理を実行できません。');
     }
     $flg = $edit->isEntryEnabledUnit($sql_flg, $target_id, $year, $month);
     if ($flg) {
         // データベースに接続する
         $conn = DbControl::getInstance();
         $conn->dbConnect(DbControl::MASTER_DB)->beginTransaction();
         for ($i = 0; $i < count($level); $i++) {
             if ($sql_flg == 'insert') {
                 $res = $edit->editTargetUnit($conn, $sql_flg, $target_id, $year, $month, $admin_id, $level[$i], $point[$i]);
             } elseif ($sql_flg == 'update') {
                 $res = $edit->editTargetUnit($conn, $sql_flg, $target_id, $year, $month, $admin_id, $level[$i], $point[$i], $unit_id[$i]);
             }
             if (!$res) {
                 break;
             }
         }
         //正しい応答があればコミット(書き込み確定)
         if ($res) {
             $conn->commit(DbControl::MASTER_DB);
             $error = false;
Example #7
0
 /**
  * 指定期間の祝日データを取得する
  *
  * @param  $target_year  指定年
  * @param  $target_year  指定月
  * @return 祝日ハッシュ
  */
 public function getHoliday($target_year, $target_month)
 {
     //パラメータチェック
     if (empty($target_year) || !preg_match("/^\\d{4}\$/", $target_year)) {
         return array();
     }
     if (empty($target_month) || !preg_match("/^\\d{1,2}\$/", $target_month)) {
         return array();
     }
     // クエリ定義
     $sql = "SELECT `holiday_date`, `holiday_name` " . "FROM `m_holiday` " . "WHERE `holiday_date` BETWEEN :start AND :end " . "ORDER BY `holiday_date` ASC ";
     //検索値
     $time = mktime(0, 0, 0, $target_month, 1, $target_year);
     $start = date("Ym01", $time);
     $end = date("Ymt", $time);
     $searchParam = array('start' => $start, 'end' => $end);
     // データベースに接続する
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::SLAVE_DB);
     //データ取得
     $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
     if (!$res) {
         return array();
     }
     //DB切断
     $conn->dbClose(DbControl::SLAVE_DB);
     //キーハッシュに整形
     $data = array();
     foreach ($res as $h) {
         $data[$h["holiday_date"]] = $h["holiday_name"];
     }
     return $data;
 }
Example #8
0
 /**
  * 現行のDBからt_tmp_staffcsvを更新する
  */
 function flushTmpStaffCsv()
 {
     // ワークテーブル名
     $tableName = 't_tmp_staffcsv';
     // 書込用コネクション(トランザクション)
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::MASTER_DB)->beginTransaction();
     // 参照用コネクション
     DbControl::getInstance()->dbConnect(DbControl::SLAVE_DB);
     // 処理結果
     $result = false;
     try {
         // ワークテーブルトランケート
         $sql = "TRUNCATE TABLE `{$tableName}`";
         $w_res = $conn->dbExecute(DbControl::MASTER_DB, $sql);
         if (!$w_res) {
             throw new Exception("ワークテーブルのトランケート処理に失敗しました。");
         }
         // 社員情報取得
         $sql = "SELECT DISTINCT " . "ms.id, " . "ms.staff_cd, " . "ms.name, " . "ms.name_kana, " . "IF(ms.sex = 0, '男', '女') AS sex, " . "IF(mde.department_name IS NOT NULL, mde.department_name,  NULL) AS department, " . "IF(mdi.division_name   IS NOT NULL, mdi.division_name,    NULL) AS division, " . "IF(mse.section_name    IS NOT NULL, mse.section_name,     NULL) AS section, " . "IF(ms.section_cd IS NOT NULL AND ms.section_cd != '', ms.section_cd,  " . "IF(ms.division_cd IS NOT NULL AND ms.division_cd != '', ms.division_cd, " . "IF(ms.department_cd IS NOT NULL AND ms.department_cd != '', ms.department_cd, ms.post_cd" . ") " . ") " . ") AS post_cd, " . "ms.occupation_cd, " . "ms.occupation, " . "ms.mail AS mail_address, " . "IF(ms.retire_flg = 0,NULL,1) AS retire_flg " . "FROM " . "m_staff AS ms " . "LEFT JOIN m_department AS mde ON ms.department_cd = mde.department_cd " . "LEFT JOIN m_division   AS mdi ON ms.division_cd   = mdi.division_cd " . "LEFT JOIN m_section    AS mse ON ms.section_cd    = mse.section_cd " . "WHERE " . "ms.staff_cd NOT IN('999998', '999999') " . "ORDER BY " . "ms.staff_cd ASC ";
         $searchParam = array();
         $datas = DbControl::getInstance()->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
         //不足データ取得・ワークテーブル挿入
         $csvdata = array();
         foreach ($datas as $data) {
             //権限取得
             $sql = "SELECT DISTINCT group_cd FROM t_staff_auth WHERE staff_id = :id ORDER BY group_cd ASC";
             $searchParam = array("id" => $data['id']);
             $res = DbControl::getInstance()->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
             $tmp = array();
             $auth = array();
             foreach ($res as $row) {
                 $auth_name = null;
                 switch ($row['group_cd']) {
                     case ACCOUNT_NEW_EMP:
                         $auth_name = "新入社員";
                         break;
                     case ACCOUNT_TRAINER:
                         $auth_name = "OJTトレーナー";
                         break;
                     case ACCOUNT_ADMIN:
                         $auth_name = "責任者";
                         break;
                     case ACCOUNT_DEPARTMENT:
                         $auth_name = "本部権限";
                         break;
                     case ACCOUNT_HUMAN_RESOURCES:
                         $auth_name = "人事部";
                         break;
                 }
                 if (!is_null($auth_name)) {
                     $tmp[] = $auth_name;
                 }
                 $auth[] = $row['group_cd'];
             }
             $tmp = implode("/", $tmp);
             $data['auth'] = $tmp;
             //リレーション取得
             $tmp = array('trainer' => array(), 'admin' => array());
             if (in_array(ACCOUNT_TRAINER, $auth) || in_array(ACCOUNT_ADMIN, $auth)) {
                 $sql = "SELECT DISTINCT mst.staff_cd, tsr.trainer_id, tsr.admin_id FROM t_staff_relation AS tsr INNER JOIN m_staff AS mst ON tsr.staff_id = mst.id WHERE :id IN (tsr.trainer_id, tsr.admin_id)";
                 $searchParam = array("id" => $data['id']);
                 $res = DbControl::getInstance()->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
                 foreach ($res as $row) {
                     if (!empty($row['trainer_id'])) {
                         if (count($tmp['trainer']) < 10) {
                             $tmp['trainer'][] = $row['staff_cd'];
                         }
                     }
                     if (!empty($row['admin_id'])) {
                         if (count($tmp['admin']) < 10) {
                             $tmp['admin'][] = $row['staff_cd'];
                         }
                     }
                 }
             }
             for ($i = 0; $i < 10; $i++) {
                 $data['trainer_' . ($i + 1)] = isset($tmp['trainer'][$i]) ? $tmp['trainer'][$i] : null;
                 $data['admin_' . ($i + 1)] = isset($tmp['admin'][$i]) ? $tmp['admin'][$i] : null;
             }
             //所属コードは0埋め除去
             $data['post_cd'] = intval($data['post_cd']);
             //(特殊)本部名に㈱を含む場合は(株)へ変換する
             //                if( strpos($data['department'], "㈱") !== false ){
             //                    $data['department'] = str_replace("㈱","(株)",$data['department']);
             //                }
             //データ挿入用にIDを落とす
             unset($data['id']);
             //空文字はnullに変換する
             $tmp = $data;
             foreach ($tmp as $k => $v) {
                 if ($v == "") {
                     $data[$k] = null;
                 }
             }
             $sql = "INSERT INTO `{$tableName}`(`staff_cd`,`name`,`name_kana`,`sex`,`post_cd`,`department`,`division`,`section`,`occupation_cd`,`occupation`,`mail_address`,`auth`,`retire_flg`,`trainer_1`,`trainer_2`,`trainer_3`,`trainer_4`,`trainer_5`,`trainer_6`,`trainer_7`,`trainer_8`,`trainer_9`,`trainer_10`,`admin_1`,`admin_2`,`admin_3`,`admin_4`,`admin_5`,`admin_6`,`admin_7`,`admin_8`,`admin_9`,`admin_10`) " . "VALUES(:staff_cd,:name,:name_kana,:sex,:post_cd,:department,:division,:section,:occupation_cd,:occupation,:mail_address,:auth,:retire_flg,:trainer_1,:trainer_2,:trainer_3,:trainer_4,:trainer_5,:trainer_6,:trainer_7,:trainer_8,:trainer_9,:trainer_10,:admin_1,:admin_2,:admin_3,:admin_4,:admin_5,:admin_6,:admin_7,:admin_8,:admin_9,:admin_10) ";
             $w_res = $conn->dbExecute(DbControl::MASTER_DB, $sql, $data);
             if (!$w_res) {
                 throw new Exception("ワークテーブルへのデータ挿入処理に失敗しました。");
             }
         }
         // 処理終了・データコミット
         $conn->commit(DbControl::MASTER_DB);
         $result = true;
     } catch (Exception $e) {
         Logger::printlog("[Error]データエクスポート:" . $e->getMessage());
         $conn->rollback(DbControl::MASTER_DB);
         $result = false;
     }
     $conn->dbClose(DbControl::MASTER_DB);
     return $result;
 }
Example #9
0
 function getStaffAuth($staff_id)
 {
     //スタッフIDが無ければ検索しない
     if (!isset($staff_id) || empty($staff_id) || $staff_id == 0) {
         return array();
     }
     //SQL定義
     $sql = "SELECT DISTINCT" . "`group_cd` " . "FROM " . "`t_staff_auth` " . "WHERE " . "`staff_id` = :staff_id " . "ORDER BY " . "`group_cd` ASC ";
     $searchParam = array('staff_id' => $staff_id);
     // データベースに接続する
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::SLAVE_DB);
     // クエリを実行する
     $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
     if ($res === false) {
         throw new Exception("DBへの要求に失敗しました。");
     }
     // データベースを切断する
     $conn->dbClose(DbControl::SLAVE_DB);
     //単純配列に変換
     $array = array();
     foreach ($res as $key => $val) {
         $array[] = $val;
     }
     return $array;
 }
Example #10
0
 /**
  * Adminユーザー権限情報を削除
  *
  * @param $userId   AdminユーザーID
  * @param $param    権限データ
  * @return Adminユーザー情報
  */
 public function deleteAdminUserPrivs($userId)
 {
     $result = array();
     $dataParam = array();
     if (!$userId || is_null($userId)) {
         return -1;
     }
     // 権限情報を削除
     $sql = "DELETE FROM " . " t_cms_privs " . " WHERE " . "  user_id = :user_id ";
     $dataParam['user_id'] = $userId;
     DbControl::getInstance()->dbConnect(DbControl::MASTER_DB);
     DbControl::getInstance()->dbExecute(DbControl::MASTER_DB, $sql, $dataParam);
     return true;
 }
Example #11
0
 /**
  * ゴールイメージ・マイルストーン(責任者)DB登録可否判定
  * 登録可能の場合、trueを返す
  *
  * @param
  */
 function isEntryEnabledUnit($sql_flg, $target_id, $target_year, $target_month)
 {
     $isEnabled = true;
     $sql = "SELECT COUNT(*) as cnt FROM `t_report_target_unit` WHERE `target_id` = :target_id AND `target_year` = :target_year AND `target_month` = :target_month";
     $searchParam = array('target_id' => $target_id['id'], 'target_year' => $target_year, 'target_month' => $target_month);
     // データベースに接続する
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::SLAVE_DB);
     // クエリを実行する
     $res = $conn->dbExecFetch(DbControl::SLAVE_DB, $sql, $searchParam);
     if (isset($sql_flg) && !empty($sql_flg) && $sql_flg == 'insert') {
         if (isset($res) && $res['cnt'] > 0) {
             $isEnabled = false;
         } else {
             $isEnabled = true;
         }
     } elseif (isset($sql_flg) && !empty($sql_flg) && $sql_flg == 'update') {
         if (isset($res) && $res['cnt'] > 0) {
             $tense = tenseMonthly($target_year, $target_month);
             if ($tense) {
                 $isEnabled = true;
             } else {
                 $isEnabled = false;
             }
         } else {
             $isEnabled = false;
         }
     }
     // データベースを切断する
     $conn->dbClose(DbControl::SLAVE_DB);
     return $isEnabled;
 }
Example #12
0
 function getCsvTrainersNewEmp($data)
 {
     // 編集の時点で、編集中の新入社員を担当しているトレーナー・責任者情報を取得
     $sql = "SELECT staff_cd,";
     $sql .= " trainer_1, trainer_2, trainer_3, trainer_4, trainer_5, trainer_6, trainer_7, trainer_8, trainer_9, trainer_10,";
     $sql .= " admin_1, admin_2, admin_3, admin_4, admin_5, admin_6, admin_7, admin_8, admin_9, admin_10";
     $sql .= " FROM t_tmp_staffcsv";
     $sql .= " WHERE :new_emp_staff_cd IN (trainer_1, trainer_2, trainer_3, trainer_4, trainer_5, trainer_6, trainer_7, trainer_8, trainer_9, trainer_10)";
     $sql .= " OR :new_emp_staff_cd IN (admin_1, admin_2, admin_3, admin_4, admin_5, admin_6, admin_7, admin_8, admin_9, admin_10)";
     $searchParam = array("new_emp_staff_cd" => $data["staff_cd"]);
     // データベースに接続する
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::SLAVE_DB);
     // クエリを実行する
     $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
     // 編集対象新入社員に紐付く、編集前の社員CDを格納
     $initial_staff_cd = array();
     // 更新対象の社員がトレーナーか責任者かを判定
     $auth_flg = array();
     foreach ($res as $key => $value) {
         $value["staff_flg"] = "";
         $initial_staff_cd[] = $value["staff_cd"];
         $auth_flg[$value["staff_cd"]]["trainer"] = 0;
         $auth_flg[$value["staff_cd"]]["admin"] = 0;
         for ($i = 0; $i <= 10; $i++) {
             if (isset($value["trainer_{$i}"]) && !emp($value["trainer_{$i}"])) {
                 $auth_flg[$value["staff_cd"]]["trainer"] = 1;
             }
             if (isset($value["admin_{$i}"]) && !emp($value["admin_{$i}"])) {
                 $auth_flg[$value["staff_cd"]]["admin"] = 1;
             }
         }
     }
     // 編集対象新入社員に紐付く、編集後のトレーナー社員CDを格納
     $edited_staff_cd = array();
     foreach ($data["trainer_staff_cd"] as $key => $value) {
         $edited_staff_cd[] = $value["staff_cd"];
     }
     // カラムに新入社員CDを更新対象のトレーナー社員CDを格納
     // $initial_staff_cdに入っている社員CDはトレーナー・責任者のものが入っているため、区別が必要
     // --> $initial_staff_cdと$update_staff_cdの両方にある場合
     // --> $initial_staff_cdになく$update_staff_cdにある場合
     $update_staff_cd_array = array();
     $update_staff_cd_array = array_diff($edited_staff_cd, $initial_staff_cd);
     foreach ($initial_staff_cd as $value) {
         if (in_array($value, $edited_staff_cd)) {
             $update_staff_cd_array[] = $value;
         }
     }
     // カラムにnullを更新対象のトレーナー社員CDを格納
     // --> $initial_staff_cdにあって$update_staff_cdにない場合
     $update_null_array = array();
     $update_null_array = array_diff($initial_staff_cd, $edited_staff_cd);
     /*
                 // 更新対象のトレーナーの担当新入社員CD取得
                 $sql = "SELECT staff_cd, trainer_1, trainer_2, trainer_3, trainer_4, trainer_5, trainer_6, trainer_7, trainer_8, trainer_9, trainer_10";
                 $sql .= " FROM t_tmp_staffcsv";
                 $sql .= " WHERE staff_cd = :trainer_staff_cd";
                 $searchParam = array(
                     "trainer_staff_cd" => $data["trainer_staff_cd"][$i]["staff_cd"]
                 );
                 // データベースに接続する
                 $conn = DbControl::getInstance();
                 $conn->dbConnect(DbControl::SLAVE_DB);
                 // クエリを実行する
                 $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
     //            var_dump ($res);
                 $update_flg = true;
                 for ($j=1;$j<=10;$j++){
                     if ($data["staff_cd"] != $res[0]["trainer_{$j}"]){
                         $update_flg = true;
                     } else {
                         $update_flg = false;
                     }
                 }
                 
                 if ($update_flg == true){
     //                echo "トレーナレコードupdate対象";
                 }
             }
     */
     // データベースを切断する
     $conn->dbClose(DbControl::SLAVE_DB);
     if ($res) {
         return true;
     } else {
         return false;
     }
 }
 protected function getSelect($table, $what = "*", QueryBuilderWhere $where = NULL, $limit = array(), $groupBy = array(), $orderBy = array())
 {
     if (strlen($table) < 1) {
         throw new DbControlException("Ilegal parameter table. Must be NOT-NULL string.");
     }
     if (strlen($what) < 1) {
         throw new DbControlException("Ilegal parameter what. Must be NOT-NULL string.");
     }
     if (!is_array($limit)) {
         throw new DbControlException("Ilegal parameter limit. Must be array.");
     }
     if (!is_array($groupBy)) {
         throw new DbControlException("Ilegal parameter groupBy. Must be array.");
     }
     if (!is_array($orderBy)) {
         throw new DbControlException("Ilegal parameter groupBy. Must be array.");
     }
     if ($where instanceof QueryBuilderWhere) {
         $whereString = $this->getWhereStringByObject($where);
     }
     // groupByString
     $groupByString = "";
     if (count($groupBy) < 1) {
         $groupByString = "";
     } else {
         foreach ($groupBy as $columnName) {
             $groupByString .= strlen($groupByString) > 0 ? ", " : "";
             $groupByString .= reset(self::getQuotesColumnName()) . "{$columnName}" . end(self::getQuotesColumnName()) . "";
         }
         $groupByString = "GROUP BY {$groupByString}";
     }
     // orderByString
     $orderByString = $this->getOrderByStringByArray($orderBy);
     $orderByStringReverse = $this->getOrderByStringByArray($orderBy, true);
     // limitString
     $limitString = "";
     switch (count($limit)) {
         case 0:
         case 2:
             NULL;
             break;
         case 1:
             $limit = array(0, current($limit));
             break;
         default:
             throw new DbControlException("Ilegal parameter limit!");
     }
     $outTmp = "{$what} FROM " . reset(self::getQuotesTableName()) . "{$table}" . end(self::getQuotesTableName()) . " {$whereString} {$groupByString} {$orderByString}";
     // LIMIT clause emulation for MSSQL
     /**
     * FOR INSTANCE EMULATION OF:
     * 	- SELECT emp_id,lname,fname FROM employee LIMIT 20,10
     * select * from (
     			 select top 10 emp_id,lname,fname from (
     			    select top 30 emp_id,lname,fname
     			    from employee
     			   order by lname asc
     			 ) as newtbl order by lname desc
     			) as newtbl2 order by lname asc
     */
     if (count($limit) > 0) {
         $limitOffset = reset($limit);
         $limitLimit = end($limit);
         /* check table count */
         $sqlCountNoLimit = "SELECT COUNT(*) AS count FROM " . reset(self::getQuotesTableName()) . "{$table}" . end(self::getQuotesTableName()) . " {$whereString} {$groupByString}";
         $dbControl = new DbControl($this->task);
         $countNoLimit = $dbControl->initiateQuery($sqlCountNoLimit)->count;
         $limitLimit = $limitOffset + $limitLimit > $countNoLimit ? $limitOffset > $countNoLimit ? 0 : $countNoLimit - $limitOffset : $limitLimit;
         $out = "SELECT * FROM (\n\t\t\t\t\t\t\tSELECT TOP " . $limitLimit . " {$what} FROM (" . "SELECT TOP " . ($limitOffset + $limitLimit) . " {$outTmp}\n\t\t\t\t\t\t\t) AS order_tmptable1 {$orderByStringReverse}" . ") AS order_tmptable2 {$orderByString}";
     } else {
         $out = "SELECT {$outTmp}";
     }
     return $out;
 }
Example #14
0
 /**
  * 前月末時点で責任者に担当新入社員が存在するかの確認
  * 担当新入社員がいるとtrueを返す
  *
  * @param
  */
 function checkLastMonthRelation($admin_id, $end_of_last_month)
 {
     $sql = 'SELECT count(*) as cnt';
     $sql .= ' FROM t_staff_relation';
     $sql .= ' WHERE admin_id = :id and start_date <= :the_day and end_date >= :the_day';
     $searchParam = array();
     $searchParam["id"] = $admin_id;
     $searchParam["the_day"] = $end_of_last_month;
     // データベースに接続する
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::SLAVE_DB);
     // クエリを実行する
     $res = $conn->dbExecFetch(DbControl::SLAVE_DB, $sql, $searchParam);
     // データベースを切断する
     $conn->dbClose(DbControl::SLAVE_DB);
     if ($res["cnt"] == 0) {
         return false;
     } else {
         return true;
     }
 }
Example #15
0
 /**
  * 責任者ヒアリングシート記入確認
  * 未記入のヒアリングシートがあればTRUEを返す
  *
  * @param
  */
 function checkHearing($last_month, $id)
 {
     $sql = 'select admin_id from t_hearing';
     $sql .= ' where admin_id = :id  and target_month = :last_month';
     $searchParam = array();
     $searchParam["last_month"] = $last_month;
     $searchParam["id"] = $id;
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::SLAVE_DB);
     $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
     $conn->dbClose(DbControl::SLAVE_DB);
     if (empty($res)) {
         return true;
     } else {
         return false;
     }
 }
Example #16
0
 /**
  * 本部CD、部署CDがあるか判定
  * ある場合の場合、trueを返す
  *
  * @param
  */
 function isEntryDepDiv($department_cd, $division_cd)
 {
     $sql = 'select count(*) as cnt from m_division where department_cd = :department_cd';
     $param['department_cd'] = $department_cd;
     if ($department_cd == '9999') {
         $sql .= ' and division_cd = :division_cd';
         $param['division_cd'] = $division_cd;
     }
     // データベースに接続する
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::SLAVE_DB);
     // クエリを実行する
     $res = $conn->dbExecFetch(DbControl::SLAVE_DB, $sql, $param);
     if (isset($res) && $res['cnt'] > 0) {
         $isEnabled = true;
     } else {
         $isEnabled = false;
     }
     // データベースを切断する
     $conn->dbClose(DbControl::SLAVE_DB);
     return $isEnabled;
 }
Example #17
0
 /**
  * 指定月の休日取得
  *
  * @param
  */
 function getHoliday($year, $month)
 {
     $year .= $month;
     $date = $year;
     $searchParam['date'] = "%" . $date . "%";
     $sql = 'select holiday_date, holiday_name from m_holiday where holiday_date like :date';
     // データベースに接続する
     $conn = DbControl::getInstance();
     $conn->dbConnect(DbControl::SLAVE_DB);
     // クエリを実行する
     $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam);
     return $res;
 }