ADM0031.php 5.5 KB
<?PHP 
//*****************************************************************************
//* プログラム名:部門設定画面
//* プログラムID:ADM0031.php
//* 機能        :部門設定画面
//*****************************************************************************
header("Content-type: text/html; charset=EUC-JP");
include("./inc/session_start.inc");
include("./inc/SessionChk.inc");
include("./inc/dbcon.inc");
include('./inc/smarty.conf');
include("./inc/const.inc");
include("./inc/pagetitle.inc");
include("./inc/pagefooter.inc");

$mode = $_POST["mode"];
$bseq = $_POST["bseq"];
$bname = $_POST["bname"];

//区分名の取得
$strSQL  = "SELECT kt.koumoku_seq AS kt_seq, kt.koumoku_name AS kt_name, ";
$strSQL .= "kt2.koumoku_seq AS kt2_seq, kt2.koumoku_name AS kt2_name ";
$strSQL .= "FROM  koumoku_tbl AS kt INNER JOIN koumoku_tbl AS kt2 ON (kt.koumoku_seq = kt2.koumoku_parent) ";
$strSQL .= "WHERE kt.koumoku_mode = 1 AND kt2.koumoku_mode = 2 ";
$strSQL .= "ORDER BY kt.disp_rank, kt2.disp_rank";

$objRec = pg_exec($strSQL);
if($objRec==false){
	echo("SQL実行に失敗しました(SELECT)");
	exit;
}
if(pg_num_rows($objRec) > 0){
	//レコード取得
	$oldSeq = 9999;
	$allCnt = pg_numrows($objRec);
	for ($i = 0; $i < pg_numrows($objRec); $i++) {
		$objData = pg_fetch_object($objRec, $i);

		$daiSeq[$i] = intval($objData->kt_seq);
		$daiName[$i] = $objData->kt_name;
		if ($daiSeq[$i] == $oldSeq){
			$daiCnt[$i] = 0;
		}else{
			$daiCnt[$i] = get_colspan($daiSeq[$i]);
		}
		$shouSeq[$i] = intval($objData->kt2_seq);
		$shouName[$i] = $objData->kt2_name;
		if ($bseq) {
			//現在の部門がアクセス権を持っている小区分の場合フラグON
			$shouflg[$i] = get_auth($bseq, $shouSeq[$i]);
		}else{
			$shouflg[$i] = 1;
		}
		$oldSeq = $daiSeq[$i];
	}
	if ($bseq) {
		//現在の部門が全項目アクセス権を持っている場合、フラグON
		$allflg = get_allauth($bseq);
	}else{
		$allflg = 1;
	}
}

//表示項目の取得
if($mode == "add"){
	//新規
	$bseq = "";
	$bname = "";
	$btnCap = " 部門作成 ";
	
}else if($mode == "edt"){
	//修正
	$strSQL = "SELECT * FROM bumon_tbl WHERE bumon_seq = ".$bseq." ORDER BY disp_rank";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if(pg_num_rows($objRec) > 0){
		$objData = pg_fetch_object($objRec, 0);
		$bseq = $objData->bumon_seq;
		$bname = $objData->bumon_name;
		$btnCap = $DEFARR[11]."名修正";
	}
}else{
	header("Location:./ADM0030.php");
	exit;
}

//HTMLヘッダの書き出し
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 

<html>
<head>
	<meta http-equiv="content-type" content="text/html; cahrset=euc-jp">
	<meta http-equiv="content-style-type" content="text/css">
	<meta name="robots" content="noindex, nofollow">
	<script type="text/javascript" src="./js/ADM0031.js"></script>
	<title><?PHP  echo($PHP_SYSNAME); ?></title>
	<link rel="stylesheet" href="./templates/SIMmain.css" type="text/css" />
</head>
<?PHP 

//タイトル部分の表示
dspTitle($PHP_SYSNAME, $PHP_GROUP_NAME, $PHP_BUMON_NAME, $PHP_USER_NAME, "http://www.f-mtclab.net/article/134356456.html#help0");

//メインHTML部分の表示
//[0]システムURL、[1]HP URL、[2]マニュアルURL、[3]MTC HP URL、[4]マスタメールアドレス、
//[5]期間区分名、[6]大区分名、[7]小区分名、[8]支出名、[9]収入名、[10]消費税率(文字型)
$o_smarty->assign('DEFARR',$DEFARR);

$o_smarty->assign('PHP_SYSNAME',$PHP_SYSNAME);
$o_smarty->assign('PHP_GROUP_NAME',$PHP_GROUP_NAME);
$o_smarty->assign('PHP_BUMON_NAME',$PHP_BUMON_NAME);
$o_smarty->assign('PHP_USER_NAME',$PHP_USER_NAME);
$o_smarty->assign('PHP_USER_ADMIN',$PHP_USER_ADMIN);
$o_smarty->assign('PHP_USER_NYUKIN',$PHP_USER_NYUKIN);
$o_smarty->assign('PHP_USER_SHIKIN',$PHP_USER_SHIKIN);

$o_smarty->assign('bseq',$bseq);
$o_smarty->assign('bname',$bname);
//区分の配列
$o_smarty->assign('daiSeq',$daiSeq);
$o_smarty->assign('daiName',$daiName);
$o_smarty->assign('daiCnt',$daiCnt);
$o_smarty->assign('shouSeq',$shouSeq);
$o_smarty->assign('shouName',$shouName);
$o_smarty->assign('shouflg',$shouflg);

$o_smarty->assign('allCnt',$allCnt);
$o_smarty->assign('allflg',$allflg);

$o_smarty->assign('btnCap',$btnCap);
$o_smarty->assign('mode',$mode);

$o_smarty->display('ADM0031.tpl');

//フッタ部分の表示
dspFooter($DEFARR[1], $DEFARR[3],"http://www.f-mtclab.net/article/134356456.html#help0");

//関数
function get_colspan($dSeq){
	//大区分に紐付く小区分の数を取得
	$strSQL  = "SELECT count(*) AS cnt FROM koumoku_tbl AS kt2 WHERE kt2.koumoku_parent = ".$dSeq." ";
	$strSQL .= "AND kt2.koumoku_mode = 2 ";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if(pg_num_rows($objRec) > 0){
		$objData = pg_fetch_object($objRec, 0);
		$dcnt = $objData->cnt;
	}
//echo("<br>dcnt=".$dcnt."<br>");
	$ret = $dcnt;
	return $ret;
}

function get_allauth($seq){
	//小区分への全アクセス権があるかチェック(0:なし、1:あり)
	$kengen = 0;
	$strSQL  = "SELECT * FROM bumon_tbl WHERE bumon_seq = ".$seq." AND all_flg = 1";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if(pg_num_rows($objRec) > 0){
		$kengen = 1;
	}
	
	$ret = $kengen;
	return $ret;
}

function get_auth($seq, $sSeq){
	//小区分個別でのアクセス権限があるかチェック(0:なし、1:あり)
	$kengen = 0;
	$strSQL  = "SELECT * FROM kengen_tbl AS kg ";
	$strSQL .= "WHERE bumon_seq = ".$seq." AND kg.koumoku_seq = ".$sSeq ;
//echo($strSQL);
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}

	if(pg_num_rows($objRec) > 0){
		$kengen = 1;
	}
//echo( " ".pg_num_rows($objRec)." ".$kengen."<br>");
	$ret = $kengen;
	return $ret;
}


?>