<?php

set_include_path('.:/usr/share/pear:/var/www/phplib');
require_once "mgr/common_mgr.class.php";
$oMgr = new common_mgr();
$pass = $argv[1];
$kanjiname = str_replace(" ", " ", "渋田 和芳");
print_r($kanjiname);
print_r(":");
$kanjiname = string::han2zen($kanjiname);
print_r($kanjiname);
print_r(":");
$strUser .= string::mb_str_pad($kanjiname, 20, " ");
print_r($strUser);
print_r(":");
$passwd = trim($pass, "\"");
$passwd = $oMgr->passwordDecrypt($passwd);
exit;
 function relationHis($request, $aryOld = "")
 {
     if (!defined("HIS_CSV_DIR")) {
         return;
         //define("HIS_CSV_DIR","/var/www/phplib/hiscsv/");
     }
     $user_id = $request['user_id'];
     $aryData = $this->getUserData($user_id);
     // 性別
     $request['sex'] = $aryData['sex'];
     $request['birth_year'] = $aryData['birth_year'];
     $request['birth_mon'] = $aryData['birth_mon'];
     $request['birth_day'] = $aryData['birth_day'];
     $request['pbno'] = $aryData['pbno'];
     if (@$aryOld['staffcode'] != "") {
         //if (!$this->isChangeHisData($request, $aryOld))
         //{
         // 変わってなければ処理しない
         //return ;
         //}
         // パスワードは変更画面から変更しないため空白をセット
         $request['password'] = "";
     }
     // 更新日時
     $update_time = date("YmdHis");
     //
     // 職員データを固定長1行データにする
     //
     $strUser = "";
     // 送信日加工
     list($sy, $sm, $sd) = explode("/", $request['send_date']);
     $send_date = sprintf("%04d%02d%02d", $sy, $sm, $sd);
     $strUser .= $send_date;
     // 病院コード01固定
     $strUser .= "01";
     // 職員コード
     $strUser .= str_pad($request['staffcode'], 10);
     // 所属部署コード
     $strUser .= str_pad($request['wardcode'], 5);
     // 職種コード
     $strUser .= str_pad($request['professioncode'], 2);
     // 役職コード
     $strUser .= str_pad($request['gradecode'], 2);
     // 職員カナ名称
     $kananame = str_replace(" ", " ", $request['kananame']);
     $kananame = string::zen2han($kananame);
     //$strUser .= str_pad($kananame, 20);
     $strUser .= string::mb_str_pad($kananame, 20);
     // 職員漢字名称
     //$strUser .= str_pad($request['kanjiname'], 20);
     //$kanjiname = str_replace(" ", " ", $request['kanjiname']);
     //$kanjiname = string::han2zen($kanjiname);
     //$strUser .= string::mb_str_pad($kanjiname, 10);
     $strUser .= string::mb_str_pad($request['kanjiname'], 20);
     // パスワード
     $strUser .= str_pad($request['password'], 10);
     // 有効開始日
     list($vsy, $vsm, $vsd) = explode("/", $request['validstartdate']);
     $validstartdate = sprintf("%04d%02d%02d", $vsy, $vsm, $vsd);
     $strUser .= $validstartdate;
     // 有効終了日
     list($vey, $vem, $ved) = explode("/", $request['validenddate']);
     $validenddate = sprintf("%04d%02d%02d", $vey, $vem, $ved);
     $strUser .= $validenddate;
     // 性別
     $strUser .= str_pad($request['sex'], 1);
     // 生年月日(和暦に変換)
     $gengou = "";
     $wadate = "";
     $this->toWareki($request['birth_year'], $request['birth_mon'], $request['birth_day'], &$gengou, &$wadate);
     $strUser .= str_pad($gengou, 1);
     $strUser .= str_pad($wadate, 6);
     // 更新日
     $strUser .= $update_time;
     // 更新端末
     //$strUser .= str_pad("利用者管理", 10);
     $strUser .= string::mb_str_pad("利用者管理", 10);
     // 更新者コード
     $login_staffcode = $this->getSessionData('LOGIN_STAFFCODE');
     $strUser .= str_pad($login_staffcode, 10);
     // PHS番号
     $strUser .= str_pad($request['pbno'], 4);
     // 所属科コード
     $strUser .= str_pad($request['deptcode'], 2);
     // 予約項目コード
     $strUser .= str_pad($request['appcode'], 5);
     // 診療グループコード
     $strUser .= str_pad($request['deptgroupcode'], 2);
     // ファイル名
     $file = "STAFF_" . $request['staffcode'] . "_" . $update_time . ".txt";
     $file_path = HIS_CSV_DIR . $file;
     file_put_contents($file_path, $strUser);
     //exit;
     return;
 }
 function outputLibraryData($mode, $is_inf_format = false)
 {
     $tel_len = 12;
     $pbno_len = 3;
     if ($is_inf_format) {
         $tel_len = 13;
         $pbno_len = 4;
     }
     $sql = $this->getQuery('GET_LIBRARY_OUTPUT_DATA');
     $aryRet = $this->oDb->getAll($sql);
     $strUser = "";
     if (is_array($aryRet)) {
         foreach ($aryRet as $data) {
             // 固定
             $strUser .= "1601";
             // 職員コード
             $strUser .= str_pad($data['staffcode'], 10);
             // 新旧フラグ固定
             $strUser .= "0";
             // 予備
             $strUser .= str_pad("", 15);
             // 所属部署コード
             $strUser .= str_pad($data['wardcode'], 5);
             // 職種コード
             $strUser .= str_pad($data['professioncode'], 3);
             // パスワード
             $password = $data['password'];
             $password = $this->passwordDecrypt($password);
             if (strlen($password) > 5) {
                 $password = substr($password, 0, 5);
             }
             $strUser .= str_pad($password, 5);
             // 職員カナ名称
             $kananame = str_replace(" ", " ", $data['kananame']);
             $kananame = string::zen2han($kananame);
             $strUser .= string::mb_str_pad($kananame, 20);
             // 職員漢字名称
             $strUser .= string::mb_str_pad($data['kanjiname'], 20, " ");
             // 発行番号
             $strUser .= str_pad("", 4);
             // 給与職員番号
             $strUser .= str_pad("", 4);
             // 所属科コード
             $strUser .= str_pad($data['deptcode'], 2);
             // 役職コード
             $strUser .= str_pad($data['gradecode'], 2);
             // 棒給表コード
             $strUser .= str_pad("", 2);
             // 所属科コード
             $strUser .= str_pad($data['deptcode'], 2);
             // 予約項目コード
             $strUser .= str_pad($data['appcode'], 5);
             // 予備
             $strUser .= str_pad("", 19);
             // ローマ字氏名
             $eijiname = $data['eijiname'];
             if (strlen($eijiname) > 25) {
                 list($sei, $mei) = explode(".", $eijiname);
                 $sei = substr($sei, 0, 1);
                 $eijiname = $sei . "." . $mei;
             }
             $strUser .= str_pad($eijiname, 25);
             // 住所
             $strUser .= string::mb_str_pad("", 60, " ");
             // 備考
             $note = string::han2zen($date['note']);
             $note = string::nr2null($note);
             if (string::strlen($note) > 60) {
                 $note = mb_substr($note, 0, 60, 'UTF-8');
             }
             $strUser .= string::mb_str_pad($note, 60, " ");
             // 電話番号
             $strUser .= str_pad("", $tel_len);
             // 生年月日
             $strUser .= str_pad($data['birthday'], 8);
             // 性別
             $sex = "";
             if ($data['sex'] == "0") {
                 $sex = "M";
             } else {
                 if ($data['sex'] == "1") {
                     $sex = "F";
                 }
             }
             $strUser .= str_pad($sex, 1);
             // 終了区分
             $strUser .= "0";
             // PHS番号
             $pbno_start = 4 - $pbno_len;
             $pbno = substr($data['pbno'], $pbno_start, $pbno_len);
             $strUser .= str_pad($pbno, $pbno_len);
             // 内線
             $strUser .= substr(str_pad($data['naisen'], 4), 0, 4);
             // 有効開始日
             $strUser .= str_pad($data['validstartdate'], 8);
             // 有効終了日
             $strUser .= str_pad($data['validenddate'], 8);
             // 予備
             $strUser .= str_pad("", 10);
             // 更新日
             $strUser .= str_pad($data['send_date'], 8);
             // 更新端末
             $strUser .= str_pad("", 4);
             // 更新者
             $strUser .= str_pad($data['update_staffcode'], 10);
             // 部署名
             $strUser .= string::mb_str_pad($data['wardname'], 40, " ");
             // 所属名
             $strUser .= string::mb_str_pad($data['deptname'], 20, " ");
             // 役職名
             $strUser .= string::mb_str_pad($data['gradename'], 20, " ");
             // 棒給表名
             $strUser .= string::mb_str_pad("", 10, " ");
             // 予備
             $strUser .= str_pad("", 5);
             // 扉許可情報
             $strUser .= "111111111111111111111111111111111111111111111111111111111111";
             $strUser .= "\r\n";
         }
     }
     $file = $mode . microtime(true) . ".txt";
     $file_path = EXPTEMP_PATH . $file;
     file_put_contents($file_path, $strUser);
     return $file;
     /*
     $filename = $title . "用データ_" . date("YmdHis") . ".txt";
     
     $this->strDl($filename, $strUser);
     */
 }
        $strUser .= str_pad($data['validstartdate'], 8);
        // 有効終了日
        $strUser .= str_pad($data['validenddate'], 8);
        // 予備
        $strUser .= str_pad("", 10);
        // 更新日
        $strUser .= str_pad($data['send_date'], 8);
        // 更新端末
        $strUser .= str_pad("", 4);
        // 更新者
        $strUser .= str_pad($data['update_staffcode'], 10);
        // 部署名
        $strUser .= string::mb_str_pad($data['wardname'], 40, " ");
        // 所属名
        $strUser .= string::mb_str_pad($data['deptname'], 20, " ");
        // 役職名
        $strUser .= string::mb_str_pad($data['gradename'], 20, " ");
        // 棒給表名
        $strUser .= string::mb_str_pad("", 10, " ");
        // 予備
        $strUser .= str_pad("", 5);
        // 扉許可情報
        $strUser .= "111111111111111111111111111111111111111111111111111111111111";
        $strUser .= "\n";
    }
}
if ($strUser != "") {
    $strUser = mb_convert_encoding($strUser, "sjis-win", "UTF-8");
    file_put_contents($dir . "/toshokan_users.txt", $strUser);
}
exit;