ADM0031.php
5.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<?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;
}
?>