JP3705550B2 - 階層図作成装置 - Google Patents
階層図作成装置 Download PDFInfo
- Publication number
- JP3705550B2 JP3705550B2 JP14939195A JP14939195A JP3705550B2 JP 3705550 B2 JP3705550 B2 JP 3705550B2 JP 14939195 A JP14939195 A JP 14939195A JP 14939195 A JP14939195 A JP 14939195A JP 3705550 B2 JP3705550 B2 JP 3705550B2
- Authority
- JP
- Japan
- Prior art keywords
- department
- hierarchy
- employee
- block
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000008520 organization Effects 0.000 claims description 88
- 230000008859 change Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 56
- 230000008569 process Effects 0.000 description 56
- 238000012545 processing Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 27
- 230000008707 rearrangement Effects 0.000 description 21
- 238000011161 development Methods 0.000 description 20
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 5
- 239000000470 constituent Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【産業上の利用分野】
本発明は、組織図等の階層構造を持つ図を描画する際に、その図の出力領域の空白部分を少なくするように階層図を作成する階層図作成装置に関する。
【0002】
【従来の技術】
従来、社内組織図等の階層構造を持つ図を描画する際には、その社内組織の構成要素となる部署、構成員等とその部署単位の階層関係に基づいて、部署毎にブロック単位で構成員が階層的に配置されるとともに、各部署の階層関係が明確になるように部署ブロックが階層的に配置されて組織図が作成されている。
また、この社内組織図の描画に際して、同一階層の部署が複数有る場合は、その複数の部署ブロックが同一階層位置に並列に配置されている。
【0003】
このような階層図を作成する際の構成要素ブロックの配置形態は、上記社内組織図に限らず他の階層構造を持つ組織の構成要素ブロックを配置する場合についても同様に適用される。
【0004】
【発明が解決しようとする課題】
しかしながら、このような従来の社内組織図等の階層構造を持つ図を描画する際には、同一階層の構成要素が複数有る場合は、その複数の構成要素ブロックが同一階層位置に並列に配置されるようになっていたため、その並列に配置された構成要素ブロック間には空白部分が形成されて、階層図を展開した描画領域が有効に利用されていないという問題点があった。
【0005】
本発明の課題は、社内組織図等の階層構造を持つ図を描画する際に、同一階層の複数の構成要素を配置する際の空白部分を少なくするように階層図を作成する階層図作成装置を提供することである。
【0006】
【課題を解決するための手段】
請求項1の発明は、組織を構成する各部署に対応した階層組織関係を示す階層情報を含む部署情報を記憶する所属テーブルファイルと、上記各部署に所属する各社員毎に、その社員の所属する部署情報を含む社員情報を記憶する社員マスタファイルと、組織図のイメージデータを所属部署毎にブロック単位で展開するメモリエリアを形成するイメージメモリと、上記所属テーブルファイルと上記社員マスタファイルとを参照し、上記各部署毎に、その部署を示す部署名とその部署に所属する各社員の社員名とその部署の上位階層部署とを含む階層表を、階層表メモリ上に作成する階層表作成手段と、上記階層表メモリを参照し、上記各部署毎に、その部署を示す部署名とその部署に所属する各社員の社員名とを含むブロックイメージを生成し、その各部署毎のブロックイメージをその部署の階層組織関係で決まる位置に配置した組織図を上記イメージメモリ上に作成する作成手段と、上記各部署毎にその部署名とその部署に所属する各社員の社員名とが階層組織関係で配置された組織図に対する再配置の指示がなされた際は、上記イメージメモリ上の下位階層の各部署のブロックイメージの配置位置に空きがあるか否かを判別する第1判別手段と、上記空きがあれば、その空き位置への同一階層の隣位置の部署のブロックイメージによる詰め移動が可能かどうかを、上記階層表メモリを参照して、その隣位置に配置される部署の上位階層部署が複数の下位部署を含むか否かに基づいて判別する第2判別手段と、上記詰め移動が可能であれば、その空き位置を埋める方向で上記組織図上での上記下位階層での各部署のブロックイメージの配置位置を再配置した組織図を上記イメージメモリ上に再作成する再作成手段と、上記作成手段あるいは上記再作成手段に基づいて、上記階層組織関係で決まる各部署の配置位置に部署名とその部署に所属する各社員名とが配置あるいは再配置されて上記イメージメモリ上に作成された組織図を出力する出力手段とを具備したことを特徴とする。
【0007】
請求項2の発明は、組織を構成する各部署に対応した階層組織関係を示す階層情報を含む部署情報を記憶する所属テーブルファイルと、上記各部署に所属する各社員毎に、その社員の所属する部署情報を含む社員情報を記憶する社員マスタファイルと、組織図のイメージデータを所属部署毎にブロック単位で展開するメモリエリアを形成するイメージメモリと、上記所属テーブルファイルと上記社員マスタファイルとを参照し、上記各部署毎に、その部署を示す部署名とその部署に所属する各社員の社員名とその部署の上位階層部署とを含む階層表を、階層表メモリ上に作成する階層表作成手段と、上記階層表メモリを参照し、上記各部署毎に、その部署を示す部署名とその部署に所属する各社員の社員名とを含むブロックイメージを生成し、その各部署毎のブロックイメージをその部署の階層組織関係で決まる位置に配置した組織図を上記イメージメモリ上に作成する作成手段と、上記各部署毎にその部署名とその部署に所属する各社員の社員名とが階層組織関係で配置された組織図に対する第1の再配置の指示がなされた際は、上記イメージメモリ上の各部署のブロックイメージの配置位置の間に空きがあるか否かを判別し、空きがあれば、その空き位置への同一階層の隣位置の部署のブロックイメージによる詰め移動が可能かどうかを、上記階層表メモリを参照して、その隣位置に配置される部署の上位階層部署が複数の下位部署を含むか否かに基づいて判別し、上記詰め移動が可能であれば、その空きの位置に同一階層の他の部署のブロックイメージを移動する方向で各部署のブロックイメージを再配置した組織図に変更する第1変更手段と、上記各部署毎にその部署名とその部署に所属する各社員の社員名とが階層組織関係で配置された組織図に対する第2の再配置の指示がなされた際は、上記イメージメモリ上の最下位層の各部署の内で上位階層が同一で複数の部署のブロックイメージが配置される位置を検出し、その最下位層の各部署のブロックイメージの配置位置を上下交互にずらしてその横方向の間隔を狭めることにより各部署のブロックイメージを再配置した組織図に変更する第2変更手段と、上記作成手段あるいは上記各変更手段に基づいて、上記階層組織関係で決まる各部署の配置位置に部署名とその部署に所属する各社員名とが配置あるいは再配置されて上記イメージメモリ上に作成された組織図を出力する出力手段とを具備したことを特徴とする。
【0011】
【実施例】
以下、図1〜図13を参照して本発明の実施例を詳細に説明する。
図1〜図13は、本発明を適用したコンピュータシステムの一実施例を示す図である。
まず、構成を説明する。
図1は、本実施例のコンピュータシステム1の要部ブロック構成図である。
【0012】
この図1において、コンピュータシステム1は、CPU2、キー入力部3、ポインティングデバイス4、ROM5、RAM6、組織図作成処理部7、ファイルメモリ8、イメージメモリ9、印刷部10及び表示部11により構成されており、各部はバス12に接続されている。
【0013】
CPU(Central Processing Unit )2は、ROM5に格納されている各種制御プログラムに従ってコンピュータシステム1内の各部を制御して各種情報処理を実行し、その処理過程及び処理結果を表示部11に表示させる。また、CPU2は、後述する組織図表示処理に際して組織図作成処理部7により階層表作成処理及び階層イメージ展開処理を実行させて、ファイルメモリ8内の所属テーブルファイル8a及び社員マスタファイル8bに格納された組織に係る各種データに基づいて階層表を作成させてイメージメモリ9に展開させた後、その作成した組織階層図を表示部11に表示させるとともに、キー入力部3によるキー入力操作により再配置指定が指示されると、後述する再配置処理1あるいは再配置処理2を実行することにより、同一階層の複数のブロックを空白部分が少なくなるように再配置した組織階層図を表示部11に表示させる。
【0014】
キー入力部3は、カーソルキー、数字入力キー及び各種機能キー等を備え、押下されたキーの押下信号をCPU2に出力する。ポインティングデバイス4は、キー入力部3の入力補助を行うポインティングデバイスであり、操作信号をCPU2に出力する。
【0015】
ROM(Read Only Memory)5は、CPU2より実行される各種制御プログラムを格納するとともに、組織図表示処理プログラム及びその組織図表示処理に際して組織図作成処理部7により実行される階層表作成処理プログラム及び階層イメージ展開処理プログラムを格納し、後述する再配置処理1プログラム及び再配置処理2プログラムを格納する。RAM(Random Accesss Memory )6は、CPU2が上記各種処理プログラムを実行する際に各種データを展開するメモリ領域を形成する。
【0016】
組織図作成処理部7は、CPU2により組織図表示処理が実行される際に、後述する階層表作成処理及び階層イメージ展開処理を実行して、ファイルメモリ8内の所属テーブルファイル8a及び社員マスタファイル8bに格納された組織に係る各種データに基づいて階層表を作成して階層表メモリ7aに格納し、この階層表メモリ7aに格納した階層表に基づいて階層図イメージデータを階層数カウンタ7bを利用してイメージメモリ9に展開した後、その展開した組織階層図イメージを表示部11に表示する。
【0017】
ファイルメモリ8は、図1に示すように所属テーブルファイル8aと社員マスタファイル8bを格納する。この所属テーブルファイル8aは、図2に示すように組織の構成要素である所属部署に係る各種情報を組織の階層構造と関連付けて格納するテーブルであり、所属コード、所属名、上位所属コード(当該所属部署が直属する上位部署コード)、階層番号(階層位置を示す)及び所属長社員番号の各情報を関連づけて記憶している。また、この社員マスタファイル8bは、図3に示すように所属部署の社員に係る各種情報を所属テーブルファイル8aの所属コードと関連付けて格納するマスタファイルであり、社員番号、氏名、所属コード、個人情報として役職、入社年月日、年齢及び家族の各情報を関連付けて記憶している。
【0018】
イメージメモリ9は、組織図作成処理部7により作成された組織処理図のイメージデータを所属部署毎にブロック単位で展開するメモリエリアを形成する。印刷部10は、CPU2から入力される印字データを所定の記録紙に印字して出力し、表示部11は、CRT(Cathode Ray Tube)等により構成され、CPU2から入力される表示データを表示する。
【0019】
次に、本実施例の動作を説明する。
本実施例のコンピュータシステム1により実行される組織図表示処理について図4に示すフローチャートに基づいて説明する。
図4において組織図表示処理を開始すると、まず、組織図作成処理部7によりファイルメモリ8内の所属テーブルファイル8a及び社員マスタファイル8bに格納された組織に係る各種データに基づいて階層表作成処理を実行する(ステップS1)。この階層表作成処理について図5に示すフローチャートに基づいて説明する。
【0020】
まず、階層表メモリ7aに展開する図6に示す階層表の1行目を指定し(ステップS101)、上位所属コードのない所属コードを図2に示した所属テーブルファイル8aから検索し、その検索した所属コードをRAM6内のレジスタSHOに格納する(ステップS102)。図2の所属テーブルファイル8aの場合は、所属コード100が上位所属コードのない所属コードに該当するため、この所属コード100がレジスタSHOに格納される。
【0021】
次いで、そのレジスタSHOに格納した所属コード100の階層番号“1”及び所属名“時計事業部”を所属テーブルファイル8aから読み出し、その読み出した各データをステップS101で指定した図6に示す階層表の1行目にセットする(ステップS103)。次いで、所属テーブルファイル8aの該当する所属長社員番号0100に基づいて図3に示した社員マスタファイル8bを参照し、所属長氏名“A”を図6の階層表の指定行の1行目にセットする(ステップS104)。
【0022】
次いで、図6の階層表の次行である2行目を指定し(ステップS105)、社員マスタファイル8bに同一所属の社員データが他に有るか否かをチェックする(ステップS106)。同一所属の社員データが有る場合は、該当社員データの氏名を社員マスタファイル8bから読み出してステップS105で指定した階層表の2行目にセットして(ステップS107)、ステップS105に戻る。
【0023】
また、同一所属の社員データがない場合は、図3の社員マスタファイル8bでは同一所属コード100の社員データが他にないため、ステップS102でRAM6内のレジスタSHOに格納した所属コード100を上位所属とする未検索の所属コードを所属テーブルファイル8aから検索し(ステップS108)、その検索結果により該当する所属コードが有るか否かを判別する(ステップS109)。該当する所属コードがない場合は、RAM6内のレジスタSHOに格納した所属コード100の上位所属コードを所属テーブルファイル8aから検索し(ステップS110)、その検索結果により該当する所属コードが有るか否かを判別する(ステップS111)。
【0024】
該当する所属コードがない場合は、本処理を終了し、該当する所属コードが有る場合は、その検索した所属コードをRAM6内のレジスタSHOに格納して(ステップS112)、ステップS108に戻る。
また、ステップS109において、該当する所属コードが有る場合、すなわち、図2の所属テーブルファイル8aでは、所属コード100を上位所属とする所属コード110が2行目に有るため、その該当所属コード110をRAM6内のレジスタSHOに格納して(ステップS113)、ステップS103に戻る。
【0025】
ステップS103に戻り、ステップS113でレジスタSHOに格納した所属コード110の階層番号“2”及び所属名“開発部”を所属テーブルファイル8aから読み出し、その読み出した各データを上記ステップS105で指定した図6の階層表の2行目にセットする。次いで、所属テーブルファイル8aの該当する所属長社員番号0501に基づいて図3の社員マスタファイル8bを参照し、所属長氏名“B”を図6の階層表の指定行の2行目にセットする(ステップS104)。その結果、図6の階層表の2行目に示すようにデータが展開される。
【0026】
次いで、図6の階層表の次行である3行目を指定し(ステップS105)、社員マスタファイル8bに同一所属110の社員データが他に有るか否かをチェックする(ステップS106)。図3の社員マスタファイル8bには同一所属110の社員データが他にないため、上記ステップS113でRAM6内のレジスタSHOに格納した所属コード110を上位所属とする未検索の所属コードを所属テーブルファイル8aから検索し(ステップS108)、その検索結果により該当する所属コードが有るか否かを判別する(ステップS109)。
【0027】
図2の所属テーブルファイル8aには所属コード110を上位所属とする所属コード111が有るため、その所属コード111をRAM6内のレジスタSHOに格納して(ステップS113)、ステップS103に戻る。ステップS103に戻り、ステップS113でレジスタSHOに格納した所属コード111の階層番号“3”及び所属名“開発課”を所属テーブルファイル8aから読み出し、その読み出した各データを上記ステップS105で指定した図6の階層表の3行目にセットする。次いで、所属テーブルファイル8aの該当する所属長社員番号1201に基づいて図3の社員マスタファイル8bを参照し、所属長氏名“E”を図6の階層表の指定行の3行目にセットする(ステップS104)。その結果、図6の階層表の3行目に示すようにデータが展開される。
【0028】
次いで、図6の階層表の次行である4行目を指定し(ステップS105)、社員マスタファイル8bに同一所属の社員データが他に有るか否かをチェックする(ステップS106)。図3の社員マスタファイル8bには同一所属111の社員データとして社員番号2501が有るため、その該当社員データの氏名“I”を図6の階層表の4行目にセットし(ステップS107)、ステップS105に戻る。
【0029】
ステップS105に戻り、図6の階層表の次行の5行目を指定し、社員マスタファイル8bに同一所属の社員データが他に有るか否かをチェックする(ステップS106)。図3の社員マスタファイル8bには同一所属111の社員データとして、さらに社員番号2502が有るため、その該当社員データの氏名“J”を図6の階層表の5行目にセットし(ステップS107)、ステップS105に戻る。
【0030】
ステップS105に戻り、図6の階層表の次行の6行目を指定し、社員マスタファイル8bに同一所属の社員データが他に有るか否かをチェックする(ステップS106)。図3の社員マスタファイル8bには同一所属111の社員データとして上記社員番号2501、2502以外にないため、上記ステップS113でRAM6内のレジスタSHOに格納した所属コード111を上位所属とする未検索の所属コードを所属テーブルファイル8aから検索し(ステップS108)、その検索結果により該当する所属コードが有るか否かを判別する(ステップS109)。
【0031】
図2の所属テーブルファイル8aには所属コード111を上位所属とする所属コードがないため、レジスタSHOに格納した所属コード111の上位所属コードを所属テーブルファイル8aから検索し(ステップS110)、その検索結果により該当する所属コードが有るか否かを判別する(ステップS111)。所属コード111の上位所属コードとして所属コード110が有るため、その所属コード110をレジスタSHOに格納し(ステップS112)、ステップS108に戻る。
【0032】
そして、ステップS108〜ステップS112の処理を繰り返すことにより、レジスタSHOに所属コード100を格納すると、ステップS108、S109で所属コード100を上位所属とする未検索の所属コードとして、所属コード120を図2の所属テーブルファイル8aから検索し、その所属コード120をレジスタSHOに格納してステップS103に戻る。
【0033】
そして、上記ステップS103〜ステップS107を繰り返し実行されることにより、図6の階層表において7行目、8行目に所属コード120に係るデータとして階層番号“2”、上位階層“1”、所属名“設計部”、所属長名“C”及び所属員名“K”が展開される。
【0034】
さらに、上記ステップS103〜ステップS113が繰り返し実行されることにより、図6の階層表において9行目以降の各データが、図2の所属テーブルファイル8a及び図3の社員マスタファイル8bに基づいて展開されて、階層表作成処理が終了する。
【0035】
この階層表作成処理が終了すると、図4の階層図表示処理においてステップS1からステップS2の階層イメージ展開処理に進む。
この組織図作成処理部7により実行される階層イメージ展開処理について図7に示すフローチャートに基づいて説明する。
【0036】
まず、階層イメージを展開する位置を設定する際に利用する階層数カウンタ7bの横方向カウンタmに“1”をセットし、縦方向カウンタnに“0”をセットする(ステップS201)。次いで、図6の階層表の先頭ブロックを指定し(ステップS202)、その指定ブロックの階層番号が上記縦方向カウンタnにセットした数値より大きいか否かを判定する(ステップS203)。
【0037】
この場合、図6の階層表の先頭ブロックの階層番号は“1”であり、ステップS201でセットした縦方向カウンタnの数値“0”より大きいため、その指定した先頭ブロックの階層番号1を縦方向カウンタnにセットする(ステップS204)。そして、その指定した図6の階層表の階層番号1に該当するブロックに展開されたデータ(所属名:時計事業部、所属長名:A)に基づいてブロックイメージを生成し(ステップS205)、イメージメモリ9内の図8に示すような階層イメージ展開エリアにおいて座標(1,1)の展開ブロック位置に、階層番号1ブロックから生成したブロックイメージをセットする(ステップS206)。
【0038】
このイメージメモリ9内の図8に示す階層イメージ展開エリアは、階層数カウンタ7b内の縦方向カウンタmと横方向カウンタnによりカウントされるカウント数に対応する座標(m,n)で示されるブロック単位の階層表データ展開エリアを形成している。この各ブロック内は図9に示すように、所属名と、その所属名の下に4行分の各データ(1行目:所属長名、2行目〜4行目:所属員氏名)を展開するようになっている。
【0039】
そして、この図8のブロック単位の階層表データ展開エリアには、図6の階層表の階層番号で区切られるブロック単位のデータが展開される。
次いで、上記指定した図6の階層表の階層番号1で区切られる先頭ブロックに上位階層データがセットされているか否かをチェックする(ステップS207)。その先頭ブロックには上位階層データがセットされていないため、ステップS210に進み、図6の階層表の先頭ブロックの次の階層番号のブロックを指定して、次ブロックが有るか否かを判別する(ステップS211)。図6の階層表には先頭ブロックの次に階層番号2で区切られるブロックが有るため、ステップS203に戻る。
【0040】
ステップS203において、その指定した次ブロックの階層番号“2”が上記ステップS204の処理で縦方向カウンタnにセットした数値“1”より大きいため、その指定ブロックの階層番号“2”を縦方向カウンタnにセットする(ステップS204)。そして、図6の階層表の階層番号2ブロックに展開されたデータ(所属名:開発部、所属長名:B)に基づいてブロックイメージを生成し(ステップS205)、イメージメモリ9内の図8に示すような階層イメージ展開エリアにおいて座標(1,2)のブロック位置に、階層番号2ブロックから生成したブロックイメージをセットする(ステップS206)。
【0041】
次いで、上記指定した図6の階層表の階層番号2ブロックに上位階層データがセットされているか否かをチェックする(ステップS207)。図6の階層番号2ブロックには上位階層データとして“1”がセットされているため、その上位階層“1”に該当するブロック位置を図8の階層イメージ内で検索し(ステップS208)、その検索した上位階層ブロックのイメージと線分イメージで当該ブロックイメージを図8に示すように結合する(ステップS209)。
【0042】
次いで、図6の階層表の階層番号2ブロックの次のブロックを指定して(ステップS210)、次ブロックが有るか否かを判別する(ステップS211)。図6の階層表には階層番号3で区切られるブロックが有るため、ステップS203に戻る。
【0043】
ステップS203において、その指定した次ブロックの階層番号“3”が上記ステップS204の処理で縦方向カウンタnにセットした数値“2”より大きいため、その指定ブロックの階層番号“3”を縦方向カウンタnにセットする(ステップS204)。そして、その階層番号3ブロックに展開されたデータ(所属名:開発課、所属長名:E、所属員氏名:I,J)に基づいてブロックイメージを生成し(ステップS205)、イメージメモリ9内の図8に示すような階層イメージ展開エリアにおいて座標(1,3)のブロック位置に、階層番号3ブロックから生成したブロックイメージをセットする(ステップS206)。
【0044】
次いで、上記指定した図6の階層表の階層番号3ブロックに上位階層データがセットされているか否かをチェックする(ステップS207)。図6の階層番号3ブロックには上位階層データとして“2”がセットされているため、その上位階層“2”に該当するブロック位置を図8の階層イメージ内で検索し(ステップS208)、その検索した上位階層ブロックのイメージと線分イメージで階層番号3ブロックイメージを図8に示すように結合する(ステップS209)。
【0045】
次いで、図6の階層表の階層番号3ブロックの次のブロックを指定して(ステップS210)、次ブロックが有るか否かを判別する(ステップS211)。図6の階層表には階層番号2で区切られるブロックが有るため、ステップS203に戻る。
【0046】
ステップS203において、その指定した次ブロックの階層番号“2”が上記ステップS204の処理で縦方向カウンタnにセットした数値“3”より小さいため、横方向カウンタmをアップカウント(m+1→m)してm=2とし(ステップS212)、その指定ブロックの階層番号“2”を縦方向カウンタnにセットする(ステップS204)。そして、その階層番号2ブロックに展開されたデータ(所属名:設計部、所属長名:C、所属員氏名:K)に基づいてブロックイメージを生成し(ステップS205)、イメージメモリ9内の図8に示すような階層イメージ展開エリアにおいて座標(2,2)のブロック位置に、階層番号2ブロックから生成したブロックイメージをセットする(ステップS206)。
【0047】
次いで、上記指定した図6の階層表の階層番号2ブロックに上位階層データがセットされているか否かをチェックする(ステップS207)。図6の階層番号2ブロックには上位階層データとして“1”がセットされているため、その上位階層“1”に該当するブロック位置を図8の階層イメージ内で検索し(ステップS208)、その検索した上位階層ブロックのイメージと線分イメージで階層番号2ブロックイメージを図8に示すように結合する(ステップS209)。
【0048】
次いで、図6の階層表の階層番号2ブロックの次のブロックを指定して(ステップS210)、次ブロックが有るか否かを判別する(ステップS211)。図6の階層表には階層番号2で区切られるブロックが有るため、ステップS203に戻る。
【0049】
ステップS203において、その指定した次ブロックの階層番号“2”が上記ステップS204の処理で縦方向カウンタnにセットした数値“2”と同じであるため、横方向カウンタmをアップカウント(m+1→m)してm=3とし(ステップS212)、その指定ブロックの階層番号“2”を縦方向カウンタnにセットする(ステップS204)。そして、その階層番号2ブロックに展開されたデータ(所属名:営業部、所属長名:D)に基づいてブロックイメージを生成し(ステップS205)、イメージメモリ9内の図8に示すような階層イメージ展開エリアにおいて座標(3,2)のブロック位置に、階層番号2ブロックから生成したブロックイメージをセットする(ステップS206)。
【0050】
次いで、上記指定した図6の階層表の階層番号2ブロックに上位階層データがセットされているか否かをチェックする(ステップS207)。図6の階層番号2ブロックには上位階層データとして“1”がセットされているため、その上位階層“1”に該当するブロック位置を図8の階層イメージ内で検索し(ステップS208)、その検索した上位階層ブロックのイメージと線分イメージで階層番号2ブロックイメージを図8に示すように結合する(ステップS209)。
【0051】
次いで、図6の階層表の階層番号2ブロックの次のブロックを指定して(ステップS210)、次ブロックが有るか否かを判別する(ステップS211)。図6の階層表には階層番号3で区切られるブロックが有るため、ステップS203に戻る。
【0052】
ステップS203において、その指定した次ブロックの階層番号“3”が上記ステップS204の処理で縦方向カウンタnにセットした数値“2”より大きいため、その指定ブロックの階層番号“3”を縦方向カウンタnにセットする(ステップS204)。そして、その階層番号3ブロックに展開されたデータ(所属名:第1営業課、所属長名:F、所属員氏名:L)に基づいてブロックイメージを生成し(ステップS205)、イメージメモリ9内の図8に示すような階層イメージ展開エリアにおいて座標(3,3)のブロック位置に、階層番号3ブロックから生成したブロックイメージをセットする(ステップS206)。
【0053】
次いで、上記指定した図6の階層表の階層番号3ブロックに上位階層データがセットされているか否かをチェックする(ステップS207)。図6の階層番号2ブロックには上位階層データとして“2”がセットされているため、その上位階層“2”に該当するブロック位置を図8の階層イメージ内で検索し(ステップS208)、その検索した上位階層ブロックのイメージと線分イメージで階層番号3ブロックイメージを図8に示すように結合する(ステップS209)。
【0054】
次いで、図6の階層表の階層番号3ブロックの次のブロックを指定して(ステップS210)、次ブロックが有るか否かを判別する(ステップS211)。図6の階層表には階層番号3で区切られるブロックが有るため、ステップS203に戻る。
【0055】
ステップS203において、その指定した次ブロックの階層番号“3”が上記ステップS204の処理で縦方向カウンタnにセットした数値“3”と同じであるため、横方向カウンタmをアップカウント(m+1→m)してm=4とし(ステップS212)、その指定ブロックの階層番号“3”を縦方向カウンタnにセットする(ステップS204)。そして、その階層番号3ブロックに展開されたデータ(所属名:第2営業課、所属長名:G、所属員氏名:M)に基づいてブロックイメージを生成し(ステップS205)、イメージメモリ9内の図8に示すような階層イメージ展開エリアにおいて座標(4,3)のブロック位置に、階層番号3ブロックから生成したブロックイメージをセットする(ステップS206)。
【0056】
次いで、上記指定した図6の階層表の階層番号3ブロックに上位階層データがセットされているか否かをチェックする(ステップS207)。図6の階層番号2ブロックには上位階層データとして“2”がセットされているため、その上位階層“2”に該当するブロック位置を図8の階層イメージ内で検索し(ステップS208)、その検索した上位階層ブロックのイメージと線分イメージで階層番号3ブロックイメージを図8に示すように結合する(ステップS209)。
【0057】
次いで、図6の階層表の階層番号3ブロックの次のブロックを指定して(ステップS210)、次ブロックが有るか否かを判別する(ステップS211)。図6の階層表には階層番号3で区切られるブロックが有るため、ステップS203に戻る。
【0058】
ステップS203において、その指定した次ブロックの階層番号“3”が上記ステップS204の処理で縦方向カウンタnにセットした数値“3”と同じであるため、横方向カウンタmをアップカウント(m+1→m)してm=5とし(ステップS212)、その指定ブロックの階層番号“3”を縦方向カウンタnにセットする(ステップS204)。そして、その階層番号3ブロックに展開されたデータ(所属名:第3営業課、所属長名:H、所属員氏名:N)に基づいてブロックイメージを生成し(ステップS205)、イメージメモリ9内の図8に示すような階層イメージ展開エリアにおいて座標(5,3)のブロック位置に、階層番号3ブロックから生成したブロックイメージをセットする(ステップS206)。
【0059】
次いで、上記指定した図6の階層表の階層番号3ブロックに上位階層データがセットされているか否かをチェックする(ステップS207)。図6の階層番号2ブロックには上位階層データとして“2”がセットされているため、その上位階層“2”に該当するブロック位置を図8の階層イメージ内で検索し(ステップS208)、その検索した上位階層ブロックのイメージと線分イメージで階層番号3ブロックイメージを図8に示すように結合する(ステップS209)。
【0060】
次いで、図6の階層表の階層番号3ブロックの次のブロックを指定して(ステップS210)、次ブロックが有るか否かを判別する(ステップS211)。図6の階層表には次ブロックがないため、図8に示す階層イメージ展開処理を終了する。
【0061】
そして、図4のステップS3において、上記階層イメージ展開処理によりイメージメモリ9に展開した組織階層イメージデータを表示部11により表示させた後、キー入力部3からの再配置指定の入力を確認する(ステップS4)。この再配置指定入力が再配置処理1を指定する場合は、再配置処理1を実行する(ステップS5)。
【0062】
この再配置処理1について図10に示すフローチャートに基づいて説明する。まず、イメージメモリ9内に展開された上記図8の階層イメージにおいて、最下位階層の空きブロックをチェックし、空きブロックの有無を判別する(ステップS501、S502)。図8の階層イメージではブロック位置(2,3)に空きブロックが有るため、その空きブロックの右側での描画ブロック(ブロック位置(3,3))の上位ブロック(ブロック位置(3,2))が複数の下位ブロックを含むかチェックする(ステップS503、S504)。
【0063】
図8の階層イメージでは、上位の階層番号2のブロックが複数の階層番号3のブロックを含んでいるため、その下位の複数の階層番号3のブロック全体を左へ1ブロック分シフトし(ステップS505)、このシフトした複数の下位ブロックと上位ブロックとの間の線分接続を補正する(ステップS506)。
【0064】
次いで、下位ブロックのグループの右端ブロックのm方向位置が上位ブロックのm方向位置と等しいか否かをチェックする(ステップS507、S508)。等しい場合は、最下位階層の他の空きブロックをチェックし(ステップS509)、ステップS502に戻る。
【0065】
この場合、図8の階層イメージでは、左へシフトした階層番号3の右端ブロック位置と階層番号2の右端ブロック位置が等しくないため、ステップS508において等しくないと判別し、シフトした下位ブロックエリアに未だ空きエリアが有るか否かを判別する(ステップS510)。そして、図8の階層イメージでは空きエリアがないため、最下位階層の他の空きブロックをチェックし(ステップS509)、ステップS502の空きブロックの有無の判別処理に戻る。
【0066】
このシフトした後の最下位階層の空きブロックチェックでは、空きブロックがないため、ステップS511に移行して列方向に空き列が有るか否かを判別する。図8の階層イメージでは、列方向の左側に空き列がないため、本処理を終了する。また、ステップS511において列方向に空き列が有ると判別した場合は、空き列の右側に有る全体のブロックを空き列数分左側へシフトし(ステップS512)、そのシフトしたブロック間を接続する線分を補正して(ステップS513)、本処理を終了する。
【0067】
また、上記ステップS510において、空きエリアが有ると判別した場合は、ステップS505に戻り下位ブロックのグループ全体を左へ1ブロック分シフトする処理を繰り返し、ステップS506において、そのシフトしたブロックと上位ブロックとを接続する線分を補正する処理を繰り返し実行する。
【0068】
以上の再配置1処理を実行することにより、図11の表示部11の表示画面に示すように、同図(a)に示す図8の階層イメージは、同図(b)に示すように、最下位階層ブロック全体が空きブロック分左側へシフトされて、ブロック間の描画領域の空き領域が縮小されている。
【0069】
また、図4のステップS4において、再配置処理2が指定された場合にステップS6において実行される再配置処理2について図12に示すフローチャートに基づいて説明する。例えば、図13(a)に示すような階層イメージに対して再配置処理2を実行する場合を説明する。
【0070】
まず、最下位階層の1ブロックを指定し(ステップS601)、その指定ブロックの上位ブロックが複数の下位ブロックを含むかチェックし(ステップS602)、そのチェック結果から複数の下位ブロックを含む上位ブロックの有無を判別する(ステップS603)。図13(a)の階層イメージでは、階層番号1に対して最下位階層である階層番号2のブロックが複数(4つ)有るため、その下位ブロックのグループを、偶数位置ブロックがより下位階層になるように交互に配置補正及びその各ブロック間の接続線分を補正する(ステップS604)。
【0071】
次いで、最下位階層の他のブロックを指定し(ステップS605)、その他のブロックの有無を判別する(ステップS606)。その他のブロックが有ると判別した場合は、ステップS602に戻り、ステップS602〜ステップS605の処理を繰り返し実行して、その最下位階層の交互再配置処理を繰り返し実行する。
また、ステップS606において、最下位階層にその他のブロックがないと判別した場合は、本処理を終了する。
【0072】
以上の再配置処理2を実行することにより、図13の表示部11の表示画面に示すように、同図(a)に示す階層イメージは、同図(b)に示すように、最下位階層ブロックの奇数ブロックと偶数ブロックが交互に再配置されて、ブロック間の描画領域の空き領域が縮小されている。
【0073】
したがって、本実施例のコンピュータシステム1では、社内組織図等の階層構造を持つ図を描画する際に、同一階層の複数の構成要素を配置する際の空白部分を少なくするように階層図を再配置して作成することができる。その結果、表示部11に表示する際の表示画面上の表示領域あるいは印刷部10から印刷する際の印刷用紙上の印刷領域を有効に利用することができる。
【0074】
【発明の効果】
本願発明によれば、組織を構成する各部署の部署情報と各部署に所属する社員情報とに基づいてその各部署の部署名とその部署に所属する各社員名とが階層組織関係で配置された組織図を自動作成できると共に、その組織図に対する再配置指示により、その組織図上での各部署の部署名とその部署に所属する各社員名の配置状態を圧縮する方向で再配置した組織図を自動作成することができ、その用途に応じて必要とする形態の各種組織図を直ちに得ることができる。
【図面の簡単な説明】
【図1】本発明を適用したコンピュータシステムの要部ブロック構成図。
【図2】図1の所属テーブルファイルに格納されるテーブルのデータ構成の一例を示す図。
【図3】図1の社員マスタファイルに格納されるマスタファイルのデータ構成の一例を示す図。
【図4】本実施例のコンピュータシステムにより実行される組織図表示処理のフローチャート。
【図5】図1の組織図作成処理部により図4の組織図表示処理に際して実行される階層表作成処理のフローチャート。
【図6】図5の階層表作成処理により図1の階層表メモリに格納されるデータの一例を示す図。
【図7】図1の組織図作成処理部により図4の組織図表示処理に際して実行される階層イメージ展開処理のフローチャート。
【図8】図7の階層イメージ展開処理により図1のイメージメモリに展開された階層表のブロックイメージを示す図。
【図9】図8の階層イメージ展開エリア内のブロック単位に展開される階層データの内容を示す図。
【図10】図1のCPUにより実行される再配置処理1のフローチャート。
【図11】図10の再配置処理1により図8の階層イメージを再配置した状態を示す図。
【図12】図1のCPUにより実行される再配置処理2のフローチャート。
【図13】図10の再配置処理2により所定の階層イメージを再配置した状態を示す図。
【符号の説明】
1 コンピュータシステム
2 CPU
3 キー入力部
4 ポインティングデバイス
5 ROM
6 RAM
7 組織図作成処理部
7a 階層表メモリ
7b 階層数カウンタ
8 ファイルメモリ
9 イメージメモリ
10 印刷部
11 表示部
12 バス
Claims (2)
- 組織を構成する各部署に対応した階層組織関係を示す階層情報を含む部署情報を記憶する所属テーブルファイルと、
上記各部署に所属する各社員毎に、その社員の所属する部署情報を含む社員情報を記憶する社員マスタファイルと、
組織図のイメージデータを所属部署毎にブロック単位で展開するメモリエリアを形成するイメージメモリと、
上記所属テーブルファイルと上記社員マスタファイルとを参照し、上記各部署毎に、その部署を示す部署名とその部署に所属する各社員の社員名とその部署の上位階層部署とを含む階層表を、階層表メモリ上に作成する階層表作成手段と、
上記階層表メモリを参照し、上記各部署毎に、その部署を示す部署名とその部署に所属する各社員の社員名とを含むブロックイメージを生成し、その各部署毎のブロックイメージをその部署の階層組織関係で決まる位置に配置した組織図を上記イメージメモリ上に作成する作成手段と、
上記各部署毎にその部署名とその部署に所属する各社員の社員名とが階層組織関係で配置された組織図に対する再配置の指示がなされた際は、上記イメージメモリ上の下位階層の各部署のブロックイメージの配置位置に空きがあるか否かを判別する第1判別手段と、
上記空きがあれば、その空き位置への同一階層の隣位置の部署のブロックイメージによる詰め移動が可能かどうかを、上記階層表メモリを参照して、その隣位置に配置される部署の上位階層部署が複数の下位部署を含むか否かに基づいて判別する第2判別手段と、
上記詰め移動が可能であれば、その空き位置を埋める方向で上記組織図上での上記下位階層での各部署のブロックイメージの配置位置を再配置した組織図を上記イメージメモリ上に再作成する再作成手段と、
上記作成手段あるいは上記再作成手段に基づいて、上記階層組織関係で決まる各部署の配置位置に部署名とその部署に所属する各社員名とが配置あるいは再配置されて上記イメージメモリ上に作成された組織図を出力する出力手段と、
を具備したことを特徴とする組織図作成装置。 - 組織を構成する各部署に対応した階層組織関係を示す階層情報を含む部署情報を記憶する所属テーブルファイルと、
上記各部署に所属する各社員毎に、その社員の所属する部署情報を含む社員情報を記憶する社員マスタファイルと、
組織図のイメージデータを所属部署毎にブロック単位で展開するメモリエリアを形成するイメージメモリと、
上記所属テーブルファイルと上記社員マスタファイルとを参照し、上記各部署毎に、その部署を示す部署名とその部署に所属する各社員の社員名とその部署の上位階層部署とを含む階層表を、階層表メモリ上に作成する階層表作成手段と、
上記階層表メモリを参照し、上記各部署毎に、その部署を示す部署名とその部署に所属する各社員の社員名とを含むブロックイメージを生成し、その各部署毎のブロックイメージをその部署の階層組織関係で決まる位置に配置した組織図を上記イメージメモリ上に作成する作成手段と、
上記各部署毎にその部署名とその部署に所属する各社員の社員名とが階層組織関係で配置された組織図に対する第1の再配置の指示がなされた際は、上記イメージメモリ上の各部署のブロックイメージの配置位置の間に空きがあるか否かを判別し、空きがあれば、その空き位置への同一階層の隣位置の部署のブロックイメージによる詰め移動が可能かどうかを、上記階層表メモリを参照して、その隣位置に配置される部署の上位階層部署が複数の下位部署を含むか否かに基づいて判別し、上記詰め移動が可能であれば、その空きの位置に同一階層の他の部署のブロックイメージを移動する方向で各部署のブロックイメージを再配置した組織図に変更する第1変更手段と、
上記各部署毎にその部署名とその部署に所属する各社員の社員名とが階層組織関係で配置された組織図に対する第2の再配置の指示がなされた際は、上記イメージメモリ上の最下位層の各部署の内で上位階層が同一で複数の部署のブロックイメージが配置される位置を検出し、その最下位層の各部署のブロックイメージの配置位置を上下交互にずらしてその横方向の間隔を狭めることにより各部署のブロックイメージを再配置した組織図に変更する第2変更手段と、
上記作成手段あるいは上記各変更手段に基づいて、上記階層組織関係で決まる各部署の配置位置に部署名とその部署に所属する各社員名とが配置あるいは再配置されて上記イメージメモリ上に作成された組織図を出力する出力手段と、
を具備したことを特徴とする組織図作成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14939195A JP3705550B2 (ja) | 1995-05-23 | 1995-05-23 | 階層図作成装置 |
US08/644,953 US5829003A (en) | 1995-05-23 | 1996-05-13 | Record processing apparatus, method and computer readable storage having attribute information representing a hierarchical connection for display of data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14939195A JP3705550B2 (ja) | 1995-05-23 | 1995-05-23 | 階層図作成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08315038A JPH08315038A (ja) | 1996-11-29 |
JP3705550B2 true JP3705550B2 (ja) | 2005-10-12 |
Family
ID=15474107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14939195A Expired - Lifetime JP3705550B2 (ja) | 1995-05-23 | 1995-05-23 | 階層図作成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3705550B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4936844B2 (ja) * | 2006-10-05 | 2012-05-23 | 三菱電機株式会社 | レーンフロー図生成装置およびレーンフロー図生成プログラム |
DE112017004175T5 (de) * | 2017-03-10 | 2019-06-19 | Mitsubishi Electric Corporation | Systemkonfigurationserzeugungsunterstützungsgerät |
-
1995
- 1995-05-23 JP JP14939195A patent/JP3705550B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08315038A (ja) | 1996-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6892346B1 (en) | Collapsing event display for small screen computer | |
KR20090003099A (ko) | Cad 장치 및 cad 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
JPH04350768A (ja) | 名刺電子ファイリング装置 | |
EP0107435B1 (en) | System for changing common card mode data in a card image data processing system | |
JP3705550B2 (ja) | 階層図作成装置 | |
JP2951664B2 (ja) | タッチパネル装置 | |
JPH0616291B2 (ja) | 画像デ−タ管理装置 | |
JP4958848B2 (ja) | 原価積上計算装置及び原価積上計算方法 | |
JPH09204465A (ja) | 組織図出力装置 | |
EP1930828A1 (en) | Cad apparatus, method of editing graphic data, and computer product | |
JP2001056727A (ja) | ファイルリスト表示装置及び方法、データ表示装置及び方法 | |
JPH07129630A (ja) | 類似部品のcad図面作画方法 | |
JP3884759B2 (ja) | 情報比較装置 | |
JPH02101578A (ja) | 画像検索装置 | |
JPH08263210A (ja) | タッチパネル装置 | |
JPH07296145A (ja) | 図形処理装置 | |
JP2636472B2 (ja) | 階層データ配置装置 | |
JP2007305003A (ja) | 情報管理装置及び情報管理方法並びにプログラム | |
JP3805925B2 (ja) | スケジュール表作成支援システム及びそのシステムでの処理をコンピュータに行わせるためのプログラムを格納した記憶媒体 | |
JP2659103B2 (ja) | グラフ生成処理装置 | |
JP2704944B2 (ja) | オフィス設計支援システム | |
JPS63314654A (ja) | フアイルインデツクス表示方式 | |
JPH06251069A (ja) | 情報構造表示方式 | |
JP2004328711A (ja) | 画像一覧表示装置、画像一覧表示プログラムおよび画像一覧表示方法 | |
JP3456481B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050725 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080805 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090805 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100805 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110805 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120805 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120805 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130805 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |