
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML lang="ja">
<META http-equiv='Conten-Language' content='ja'>
<META http-equiv='Conten-Type' content='text/html; charset=UTF-8'>

<HEAD>
<TITLE> </TITLE>
</HEAD>

<BODY>

<P>
<?php
	
	function valueAtIndexOf($ln, $col){
		$array = explode('","', $ln);
		if (count($array) >= $col){
			return $array[$col];
		} else
			return "";
	}
	
	function timestamp(){
		// 現在のタイムスタンプを返す updateTime に使う
		return date("Y-m-d H:i:s",time());
	}
	
	if (is_uploaded_file($_FILES['filename']['tmp_name'])){
		$filename = $_FILES['filename']['name'];
		$homeDir = "../NOA_DB";
		if (! file_exists($homeDir)) mkdir($homeDir);
		$path = "$homeDir/$filename";
		copy($_FILES['filename']['tmp_name'], $path);
		
		echo "<SEPARATOR>";
		echo "<p>ファイルを $path へ保存しています。</p>";
		echo "NAME: ".$_FILES['filename']['name']."<br/>";
		echo "SIZE: ".$_FILES['filename']['size']."<br/>";
		echo "TYPE: ".$_FILES['filename']['type']."<br/>";
		
		echo "<p>＊ このウインドーは結果を報告するためのものです。<br/>";
		echo "＊最終行に「レコードが更新されました」が表示されるまで閉じないでください。</p>";
		echo "<hr>";
		
		// DB を開いて該当レコードを読み込む
		
		// ### セキュリティーを保つには、以下のファイルを外からアクセスできない 
		// ### directory に置き、以下の cfg.php の pass をそこへ変更
		require_once('../XNOA/cfg.php'); // ###############################
		$dbc = mysql_connect($db['host'], $db['user'], $db['pwd']);
		$db_select=mysql_select_db($db['dbname']);
		mysql_query("set names utf8");
		
		echo "<SEPARATOR>";
		$filename = $path;
		if (file_exists($filename)){
			if ($handle = fopen($filename, 'r')) {
				// オープンしたファイルを読込む
				if ($handle) {
					$count = 0;
					while (!feof($handle)) {
						$buff = fgets($handle);
						$buff = mb_convert_encoding($buff, "UTF-8", "UTF-8,SJIS,EUC-JP");
						
						echo "$buff<br/>";
						
						$code = valueAtIndexOf($buff, 14);
						if (strlen($code) == 0) continue;
						
						// 請求コード
						$requestCode = valueAtIndexOf($buff, 2);
						if (substr($requestCode,0,1)*1 == 1)
							$mode = 0; // 診療行為モード
						else
							$mode = 1; // 医薬品モード
						
						$name = valueAtIndexOf($buff, 4);
						$point = valueAtIndexOf($buff, 11);
						$updateTime = timestamp();
						
						if ($mode == 0){
							// 施行日
							$enforceDate = valueAtIndexOf($buff, 86);
							$handanCode = valueAtIndexOf($buff, 50);
							
							$sql = "SELECT * FROM `PriceListGlobal`
							WHERE `requestCode`='$requestCode'";
							$result=mysql_query($sql);
							if (mysql_num_rows ($result) > 0){
								$sql = "UPDATE `PriceListGlobal` SET 
								`code`='$code'
								,`requestCode`='$requestCode'
								,`name`='$name'
								,`handanCode`='$handanCode'
								,`point`='$point'
								,`enforceDate`='$enforceDate'
								,`updateTime`='$updateTime'
								WHERE `requestCode`='$requestCode'";
							} else {
								$sql = "INSERT INTO `PriceListGlobal` 
								(`code`,`requestCode`
								,`name`,`handanCode`,`point`
								,`enforceDate`,`updateTime`)
								VALUES 
								('$code','$requestCode'
								,'$name','$handanCode','$point'
								,'$enforceDate','$updateTime')";
							}
						} else {
							// 包装コード 10個 15カプセル 16錠 17丸 18包 19瓶
							$unitCode = valueAtIndexOf($buff, 7);
							$unitName = valueAtIndexOf($buff, 9);

							// 1:内服 4:注射 6:点眼 8:歯科 3:口腔軟膏
							$classCode = valueAtIndexOf($buff, 27);
							$code = "99"; // another
							switch ($classCode * 1){
								case 1: $code = "21"; break; // 内服
								case 4: $code = "31"; break; // 注射
								case 6: $code = "23"; break; // 外用 
							}
							$effectCode = valueAtIndexOf($buff, 31);
							$enforceDate = valueAtIndexOf($buff, 29);
						
							$sql = "SELECT * FROM `PriceListGlobal`
							WHERE `requestCode`='$requestCode'";
							$result=mysql_query($sql);
							if (mysql_num_rows ($result) > 0){
								$sql = "UPDATE `PriceListGlobal` SET 
								`code`='$code'
								,`classCode`='$classCode'
								,`requestCode`='$requestCode'
								,`name`='$name'
								,`unitCode`='$unitCode'
								,`unitName`='$unitName'
								,`point`='$point'
								,`effectCode`='$effectCode'
								,`enforceDate`='$enforceDate'
								,`updateTime`='$updateTime'
								WHERE `requestCode`='$requestCode'";
							} else {
								$sql = "INSERT INTO `PriceListGlobal` 
								(`code`,`classCode`,`requestCode`
								,`name`,`unitCode`,`unitName`,`point`
								,`effectCode`,`enforceDate`
								,`updateTime`)
								VALUES 
								('$code','$classCode','$requestCode'
								,'$name','$unitCode','$unitName','$point'
								,'$effectCode','$enforceDate'
								,'$updateTime')";
							}
						}
						echo "<p> $sql </p>"; //####
						
						if (mysql_query($sql) == FALSE)
							echo "<p>ERROR *** $sql </p>"; //####
						
						$count++;
					}
				}
				echo "<hr/>";
				echo "$count 行のレコードが更新されました<br/>";
				fclose($handle);
			} else
				echo "ERROR *** ($filename) Cannot open \n";
		} else
			echo "ERROR *** ($filename) not exist \n";
		
	} else {
		echo "ファイルを保存できませんでした";
	}
	
?>

</P>

</BODY>

</HTML>
