} if (!isset($param["disp_auth"])) { $param["disp_auth"] = array(); } $editing_admin_id = array(); //20150625 ADD R.Kumabe $userInfo = array(); for ($i = 0; $i < 3; $i++) { $user_id_trainer = isset($request['user_id_trainer' . $i]) && !emp($request['user_id_trainer' . $i]) ? $request['user_id_trainer' . $i] : null; if (!is_null($user_id_trainer)) { $tmp = $account->getStaffData(array('id' => $user_id_trainer)); if (count($tmp) > 0) { $userInfo[$user_id_trainer] = $tmp[0]; } } $user_id_admin = isset($request['user_id_admin' . $i]) && !emp($request['user_id_admin' . $i]) ? $request['user_id_admin' . $i] : null; if (!is_null($user_id_admin)) { array_push($editing_admin_id, $user_id_admin); $tmp = $account->getStaffData(array('id' => $user_id_admin)); if (count($tmp) > 0) { $userInfo[$user_id_admin] = $tmp[0]; } } } $param["user_info"] = $userInfo; //責任者を3名以上登録できないようにする //20150625 ADD R.Kumabe $enable_insert_admin = $account->isAdminInsertEnabled($user_id, $editing_admin_id); if (!$enable_insert_admin) { $param['errors'][] = "責任者が既に3名登録されているため、新規で追加することができません。"; renderTemplate('error.tpl', $param); exit;
$param['form_target_year'] = $target_year; $param['result'] = null; $param['error_message'] = $error_message; renderTemplate('maintenance/account/index.tpl', $param); exit; } } //クエリ用変数 $query_staff_cd = $staff_cd; $query_name = ""; $query_department_cd = $department_cd; $query_division_cd = $division_cd; $query_section_cd = $section_cd; $query_target_year = $target_year; //あいまい検索用(社員名) if (emp($name)) { $query_name = $name; } else { $query_name = "%{$name}%"; } $search_result = $search->searchEditAccount($query_staff_cd, $query_name, $query_department_cd, $query_division_cd, $query_section_cd, $query_target_year); if (empty($search_result)) { $error_message = "該当するアカウントはありません。"; } if (count($search_result) >= SEARCH_LIMIT) { $limit_message = "検索結果が上限を超えたので" . SEARCH_LIMIT . "件まで表示しています。"; } $param['form_staff_cd'] = $staff_cd; $param['form_name'] = $name; $param['form_department_cd'] = $department_cd; $param['form_division_cd'] = $division_cd;
$update_data = array("update_date" => $param["update_date"], "target_year" => $param["target_year"], "id" => $param["id"], "staff_cd" => $param["staff_cd"], "name" => $param["name"], "name_kana" => $param["name_kana"], "sex" => $param["sex"], "mail" => $param["mail"], "post_cd" => $post_cd, "department_cd" => $param["department_cd"], "department_name" => $param["department_name"], "division_cd" => $param["division_cd"], "division_name" => $param["division_name"], "section_cd" => $param["section_cd"], "section_name" => $param["section_name"], "occupation_cd" => $param["occupation_cd"], "occupation" => $param["occupation"], "retire_flg" => $param["retire_flg"], "group_cd" => $param["group_cd"], "disp_auth" => $param["disp_auth"], "sex_str" => $sex_str, "auth_str" => $auth_str); if (in_array(ACCOUNT_NEW_EMP, $param["disp_auth"])) { $trainer_id = array(); $trainer_staff_cd = array(); $admin_id = array(); $admin_staff_cd = array(); $admin_info = array(); //20150624 ADD R.Kumabe for ($i = 0; $i < 3; $i++) { if (isset($request["user_id_trainer{$i}"]) && !emp($request["user_id_trainer{$i}"])) { $tmp_id = $request["user_id_trainer{$i}"]; $tmp_staff_cd = $account->getStaffCd($tmp_id); array_push($trainer_id, $tmp_id); array_push($trainer_staff_cd, $tmp_staff_cd); } if (isset($request["user_id_admin{$i}"]) && !emp($request["user_id_admin{$i}"])) { $tmp_id = $request["user_id_admin{$i}"]; $tmp_staff_cd = $account->getStaffCd($tmp_id); $tmp_start_date = $request["start_date_admin{$i}"]; //20150624 ADD R.Kumabe $tmp_end_date = $request["end_date_admin{$i}"]; //20150624 ADD R.Kumabe array_push($admin_id, $tmp_id); array_push($admin_staff_cd, $tmp_staff_cd); $admin_info[$i] = array("admin_id" => $tmp_id, "start_date" => $tmp_start_date, "end_date" => $tmp_end_date); //20150624 ADD R.Kumabe } } $update_data["trainer_id"] = $trainer_id; $update_data["trainer_staff_cd"] = $trainer_staff_cd; $update_data["admin_id"] = $admin_id;
/** * formのバリデーションチェック * エラーがあるとtrueを返す * * @param */ function formValidate($form, $data) { $error = array(); //対象年月日を確認 if (!isset($data['target_date'])) { $error[] = "対象年月日が取得できませんでした。"; } elseif (!preg_match("/^\\d{8}\$/", $data['target_date'])) { $error[] = "対象年月日が不正です。"; } //対象年を確認 if (!isset($data['year'])) { $error[] = "対象年が取得できませんでした。"; } elseif (!preg_match("/^\\d{4}\$/", $data['year'])) { $error[] = "対象年が不正です。"; } // 数字が一文字以上の正規表現 // } elseif( !preg_match("/^\d+$/", $data['year']) ) { //対象月を確認 if (!isset($data['month'])) { $error[] = "対象月が取得できませんでした。"; } elseif (!preg_match("/^\\d{1,2}\$/", $data['month'])) { $error[] = "対象月が不正です。"; } //SQLフラグを確認 if (!isset($data['sql_flg'])) { $error[] = "SQLフラグが取得できませんでした。"; } //編集フラグを確認 if (!isset($data['edit_flg'])) { $error[] = "編集フラグが取得できませんでした。"; } //責任者IDを確認 if (!isset($data['admin_id'])) { $error[] = "責任者IDが取得できませんでした。"; } elseif (!preg_match("/^\\d+\$/", $data['admin_id'])) { $error[] = "責任者IDが不正です。"; } //責任者社員CDを確認 if (!isset($data['admin_staff_cd'])) { $error[] = "責任者社員CDが取得できませんでした。"; } elseif (!preg_match("/^\\d+\$/", $data['admin_staff_cd'])) { $error[] = "責任者社員CDが不正です。"; } //責任者名を確認 if (!isset($data['admin_name'])) { $error[] = "責任者名が取得できませんでした。"; } //責任者本部名を確認 if (!isset($data['admin_department_name'])) { $error[] = "責任者本部名が取得できませんでした。"; } //責任者部名を確認 if (!isset($data['admin_division_name'])) { $error[] = "責任者部名が取得できませんでした。"; } //責任者課・支店名を確認 if (!isset($data['admin_section_name'])) { $error[] = "責任者課・支店名が取得できませんでした。"; } //更新日時(nullを含む)を確認 if (!isset($data['hearing_update_date'])) { $error[] = "更新日付が取得できませんでした。"; } //ヒアリングIDを確認 if (!isset($data['hearing_id'])) { $error[] = "ヒアリングIDが取得できませんでした。"; } //ヒアリング1を確認 if (!isset($data['hearing_1'])) { $error[] = "ヒアリング1)①が取得できませんでした。"; } elseif (!emp($data['hearing_1']) && !preg_match("/^\\d+\$/", $data['hearing_1'])) { $error[] = "ヒアリング1)①が不正です。"; } //ヒアリング2を確認 if (!isset($data['hearing_2'])) { $error[] = "ヒアリング1)②が取得できませんでした。"; } elseif (!emp($data['hearing_2']) && !preg_match("/^\\d+\$/", $data['hearing_2'])) { $error[] = "ヒアリング1)②が不正です。"; } //ヒアリング3を確認 if (!isset($data['hearing_3'])) { $error[] = "ヒアリング1)③が取得できませんでした。"; } elseif (!emp($data['hearing_3']) && !preg_match("/^\\d+\$/", $data['hearing_3'])) { $error[] = "ヒアリング1)③が不正です。"; } //ヒアリング4を確認 if (!isset($data['hearing_4'])) { $error[] = "ヒアリング1)④が取得できませんでした。"; } elseif (!emp($data['hearing_4']) && !preg_match("/^\\d+\$/", $data['hearing_4'])) { $error[] = "ヒアリング1)④が不正です。"; } //ヒアリングnoteを確認 if (!isset($data['hearing_note'])) { $error[] = "ヒアリング1)⑤が取得できませんでした。"; } //担当新人の最大件数(固定)を取得 $unit_max_cnt = self::$NEWEMP_ROW_CNT; //件数分の判定処理 $cnt = 0; for ($i = 0; $i < $unit_max_cnt; $i++) { //対象データの存在確認 if (!isset($data["hearing_unit_{$i}_staff_cd"])) { break; } //社員コード if (!isset($data["hearing_unit_{$i}_staff_cd"])) { $error[] = "新人" . ($i + 1) . "人目の社員コードが取得できませんでした。"; } elseif (!preg_match("/^\\d+\$/", $data["hearing_unit_{$i}_staff_cd"])) { $error[] = "新人" . ($i + 1) . "人目の社員コードが不正です。"; } //ID if (!isset($data["hearing_unit_{$i}_staff_id"])) { $error[] = "新人" . ($i + 1) . "人目のIDが取得できませんでした。"; } elseif (!preg_match("/^\\d+\$/", $data["hearing_unit_{$i}_staff_id"])) { $error[] = "新人" . ($i + 1) . "人目のIDが不正です。"; } //ヒアリングステータス1 if (!isset($data["hearing_unit_{$i}_1"])) { $error[] = "ヒアリング2)新人" . ($i + 1) . "人目の①が取得できませんでした。"; } elseif (!emp($data["hearing_unit_{$i}_1"]) && !preg_match("/^\\d+\$/", $data["hearing_unit_{$i}_1"])) { $error[] = "ヒアリング2)新人" . ($i + 1) . "人目の①が不正です。"; } //ヒアリングステータス2 if (!isset($data["hearing_unit_{$i}_2"])) { $error[] = "ヒアリング2)新人" . ($i + 1) . "人目の②が取得できませんでした。"; } elseif (!emp($data["hearing_unit_{$i}_2"]) && !preg_match("/^\\d+\$/", $data["hearing_unit_{$i}_2"])) { $error[] = "ヒアリング2)新人" . ($i + 1) . "人目の②が不正です。"; } //ヒアリングステータス3 if (!isset($data["hearing_unit_{$i}_3"])) { $error[] = "ヒアリング2)新人" . ($i + 1) . "人目の③が取得できませんでした。"; } elseif (!emp($data["hearing_unit_{$i}_3"]) && !preg_match("/^\\d+\$/", $data["hearing_unit_{$i}_3"])) { $error[] = "ヒアリング2)新人" . ($i + 1) . "人目の③が不正です。"; } //ヒアリングnote if (!isset($data["hearing_unit_{$i}_note"])) { $error[] = "ヒアリング2)新人" . ($i + 1) . "人目の④が取得できませんでした。"; } $cnt++; } //新人の件数が0件 if ($cnt == 0) { $error[] = "ヒアリング2)新人の情報が取得できませんでした。"; } //ヒアリングetcを確認 if (!isset($data['hearing_etc'])) { $error[] = "ヒアリング3)が取得できませんでした。"; } //人事部確認値を確認 20150617 R.Kumabe ADD if (isset($request["confirmed"]) && $request["confirmed"] != "hr_confirmed") { $error[] = "人事部確認値が不正です。"; } // チェック結果を返す if (count($error) > 0) { return $error; } else { return false; } }
if ($string == '') { $error++; echo '<div class="error">' . $msg . ' box was left empty. Please try again.</div>'; } } emp($fname, "First name"); emp($sname, "Surname"); emp($day, "Day"); emp($month, "Month"); emp($year, "Year"); emp($email, "Email"); emp($password, "Password"); emp($repass, "Re-type password"); emp($secques, "Security question"); emp($secawn, "Security answer"); emp($cat, "Category"); //$emailCheck = test_input($email); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { //global $error; $error++; } if ($error == 0) { echo '<div class="correct">User was added.</div>'; } else { echo '<div class="error">Too many errors.</div>'; } } ?> </div> <form action="/Members_Only.php" method="post"> <label for="fname">Name:</label><input type="text" name="fname" id="fname" placeholder="First Name" vaue=""/><input type="text" name="sname" id="sname" placeholder="Surname" vaue=""/>
/** * ヒアリングシート検索(責任者データ取得) * * * @param */ function searchHearing($param) { $sql = 'SELECT st.id, st.staff_cd, st.name, st.mail, st.retire_flg'; $sql .= ' , he.id as hearing_id, he.target_year, he.target_month'; $sql .= ' , re.staff_id, re.start_date, re.end_date, st_new_emp.name as new_emp_name'; $sql .= ' FROM m_staff st'; $sql .= ' INNER JOIN t_staff_auth au ON st.id = au.staff_id'; $sql .= ' INNER JOIN t_staff_relation re ON st.id = re.admin_id'; $sql .= ' LEFT JOIN t_hearing he ON st.id = he.admin_id'; $sql .= ' LEFT JOIN m_staff st_new_emp ON re.staff_id = st_new_emp.id'; $sql .= ' WHERE st.delete_flg = 0 and au.group_cd =' . ACCOUNT_ADMIN; $searchParam = array(); if (!emp($param['target_year'])) { $sql .= ' and st.target_year = :target_year'; $searchParam["target_year"] = $param['target_year']; } if (!emp($param['admin_staff_cd'])) { $sql .= ' and st.staff_cd = :staff_cd'; $searchParam["staff_cd"] = $param['admin_staff_cd']; } if (!emp($param['admin_name'])) { $sql .= ' and st.name like :name'; $searchParam["name"] = $param['admin_name']; } /* if (!emp($param['new_emp_id'])){ // $sql .= ' and re.staff_id = :new_emp_id'; $sql .= ' and re.staff_id in (' . $param['new_emp_id'] . ')'; // $searchParam["new_emp_id"] = $param['new_emp_id']; } */ if (!emp($param['admin_id'])) { $sql .= ' and st.id in (' . $param['admin_id'] . ')'; } if (!emp($param['target_month']) && !emp($param['target_year'])) { $sql .= ' and re.start_date <= :end_of_target_month and re.end_date >= :end_of_target_month'; $searchParam["end_of_target_month"] = $param['end_of_month']; } if (!emp($param['target_month']) && !emp($param['target_year']) && is_null($param['no_data_flg'])) { $sql .= ' and he.target_month = :target_month and he.target_year = :target_year'; $searchParam["target_month"] = $param['target_month']; $searchParam["target_year"] = $param['target_year']; } //if (!emp($param['sort_order']) && $param['sort_order'] == "staff_cd"){ $sql .= ' ORDER BY st.staff_cd, he.target_month, re.start_date, st_new_emp.staff_cd asc'; //} elseif(!emp($param['sort_order']) && $param['sort_order'] == "target_month"){ //$sql .= ' ORDER BY he.target_month, st.staff_cd, re.start_date, st_new_emp.staff_cd asc'; //} //$sql .= ' LIMIT ' . SEARCH_LIMIT; //var_dump($sql); $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); $conn->dbClose(DbControl::SLAVE_DB); //var_dump ($res); $result = array(); return $res; }
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; } }
if (!emp($new_emp_staff_cd)) { $search_condition[] = "社員CD(新入社員):{$new_emp_staff_cd} の担当責任者"; } if (!emp($new_emp_name)) { $search_condition[] = "社員名(新入社員):{$new_emp_name} の担当責任者"; } if (!emp($target_year)) { $search_condition[] = "対象年:{$target_year} 年"; } if (!emp($target_month) && $no_data_flg) { $search_condition[] = "対象月:{$target_month} 月(ヒアリングシート未記入者)"; } if (!emp($target_month) && is_null($no_data_flg)) { $search_condition[] = "対象月:{$target_month} 月(ヒアリングシート記入者)"; } if (!emp($sort_order)) { $search_condition[] = "ソート順:{$sort_array[$sort_order]}"; } } // if (count($search_result) >= SEARCH_LIMIT){ // $limit_message = "検索結果が上限を超えたので" . SEARCH_LIMIT . "件まで表示しています。"; // } $param['form_admin_staff_cd'] = $admin_staff_cd; $param['form_admin_name'] = $admin_name; $param['form_new_emp_staff_cd'] = $new_emp_staff_cd; $param['form_new_emp_name'] = $new_emp_name; $param['form_target_year'] = $target_year; $param['form_target_month'] = $target_month; $param['form_no_data_flg'] = $no_data_flg; $param['form_sort_order'] = $sort_order; $param['result'] = $result_disp;
//日報取得 // $daily_report = $report->getDailyReport($date, $employee['id']); $total_daily_report = $report->getTotalDailyReport($employee['id'], $year, $month); //週初めの曜日と週終わりの曜日取得 $w = $report->getDay($date); //週報の上部の日時表示用に変換 $days = $report->weeklyDaysConvirsion($date, $w); //週初めから週終わりまでの日付(7日間を取得設定) $weekDays = $report->setWeeklyDays($date); //1か月分の日付取得 $monthly_days = $report->getMonthlyDays($year, $month); //月報取得 $monthly_report = $report->getMonthlyReport($employee['id'], $year, $month); if (in_array(ACCOUNT_NEW_EMP, $_SESSION[SESSION_GROUP_CD])) { $department_cd = $_SESSION[SESSION_USER_DEPARTMENT_CD]; if (isset($_SESSION[SESSION_USER_DIVISION_CD]) && !emp($_SESSION[SESSION_USER_DIVISION_CD])) { $division_cd = $_SESSION[SESSION_USER_DIVISION_CD]; } else { $division_cd = null; } } else { $department_cd = $employee['department_cd']; $division_cd = $employee['division_cd']; } //目標取得 $reportTarget = $target->getReportTarget($year, $department_cd, $division_cd, $employee['id']); if (isset($monthly_report['employee']['id'])) { $monthly_report_id = $monthly_report['employee']['id']; } else { $monthly_report_id = null; }