CodeZine(コードジン)

特集ページ一覧

Flash CS3とRoRで構築する業務アプリケーション 第1回

Flashによる生産管理系アプリケーション - 品目マスタメンテナンスの作成

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/08/22 14:00
目次

画面ロード時の処理の作成

 品目区分を選択するコンボボックスのデータは、画面ロード時に動的に取得します。このデータ提供部分のビジネスロジックを、これからRuby on Rails 2.0で作成します。

 Ruby on Rails 2.0 でアプリケーションを作成するためには、railsコマンドにて新規プロジェクトを作成した上で、scaffoldなどのコマンドによりアプリケーションの雛型を作成していく必要があります。

 今回は scaffold により生成したアプリケーションを添付ファイルに用意していますので、ダウンロードして使用してください。

 ruby on rails でアプリケーションを作成する方法に関しては、

 下記の記事を参考にしてください。

 また、ActionWebService の活用方法に関しては、下記の記事を参考にしてください。

テーブルの準備

 部品識別マスタ、手配区分マスタ、在庫区分マスタ、支給区分マスタを作成します。下記のスクリプトファイルを記述し、rakeコマンドでテーブルを作成します。

0xx_create_hinmoku_kubun.rb
class CreateHinmokuKubun < ActiveRecord::Migration
  def self.up
    # 部品識別マスタ
    create_table :mst_buhin_shikibetsus do |t|
      t.column :buhin_shikibetsu, :string, :limit=>64
    end

    # 手配区分マスタ
    create_table :mst_tehai_kubuns do |t|
      t.column :tehai_kubun, :string, :limit=>64
    end

    # 在庫区分マスタ
    create_table :mst_zaiko_kubuns do |t|
      t.column :zaiko_kubun, :string, :limit=>64
    end

    # 支給区分マスタ
    create_table :mst_shikyu_kubuns do |t|
      t.column :shikyu_kubun, :string, :limit=>64
    end
  end

  def self.down
    drop_table :mst_buhin_shikibetsus
    drop_table :mst_tehai_kubuns
    drop_table :mst_zaiko_kubuns
    drop_table :mst_shikyu_kubuns
  end
end
rakeコマンドの実行
rake db:migrate

モデルクラスの作成

 次に、部品識別マスタおよび手配区分マスタ、在庫区分マスタ、支給区分マスタのモデルクラスを作成します。Ruby on Rails 2.0 のActiveRecordクラスを継承した単純なクラスです。

mst_buhin_shikibetsu.rb
class MstBuhinShikibetsu < ActiveRecord::Base
end
mst_tehai_kubun.rb
class MstTehaiKubun < ActiveRecord::Base
end
mst_zaiko_kubun.rb
class MstZaikoKubun < ActiveRecord::Base
end
mst_shikyu_kubun.rb
class MstShikyuKubun < ActiveRecord::Base
end

ウェブサービスクラスの作成

 次に、『Rails ActionWebServiceジェネレータのカスタマイズ』の「MstWebServiceGenerator」を使用し、部品識別マスタおよび手配区分マスタ、在庫区分マスタ、支給区分マスタをメンテナンスするウェブサービスを作成します。

 下記に部品識別マスタをメンテナンスするウェブサービスクラスを示します。その他のクラスは、添付ファイル同梱のファイルを参照してください。

mst_buhin_shikibetsu_service_controller.rb
class MstBuhinShikibetsuServiceController < ApplicationController
  wsdl_service_name 'MstBuhinShikibetsuService'
  web_service_api   'MstBuhinShikibetsuService'
  web_service_scaffold :invoke

  #-------------------------------------------------------------------
  # 全~を取得します。
  #-------------------------------------------------------------------
  def find_all
    MstBuhinShikibetsu.find(:all)
  end

  #-------------------------------------------------------------------
  # ~を新規作成します。
  #-------------------------------------------------------------------
  def create(arg_mst_buhin_shikibetsu)
    mst_buhin_shikibetsu = MstBuhinShikibetsu.new
    mst_buhin_shikibetsu.buhin_shikibetsu =
        arg_mst_buhin_shikibetsu.buhin_shikibetsu
    if mst_buhin_shikibetsu.save
      return "Succeeded"
    else
      return "Failed"
    end
  end

  #-------------------------------------------------------------------
  # ~を更新します。
  #-------------------------------------------------------------------
  def update(arg_mst_buhin_shikibetsu)
    mst_buhin_shikibetsu =
        MstBuhinShikibetsu.find(arg_mst_buhin_shikibetsu.id)
    unless mst_buhin_shikibetsu
      return "Not Found."
    end

    mst_buhin_shikibetsu.buhin_shikibetsu =
        arg_mst_buhin_shikibetsu.buhin_shikibetsu
    if mst_buhin_shikibetsu.update
      return "Succeeded"
    else
      return "Failed"
    end
  end

  #-------------------------------------------------------------------
  # ~を削除します。
  #-------------------------------------------------------------------
  def destroy(arg_mst_buhin_shikibetsu)
    mst_buhin_shikibetsu =
        MstBuhinShikibetsu.find(arg_mst_buhin_shikibetsu.id)
    if mst_buhin_shikibetsu.destroy
      return "Succeeded"
    else
      return "Failed"
    end
  end
end

部品識別マスタなどをメンテナンスするアプリケーションの作成

 次に、部品識別マスタおよび手配区分マスタ、在庫区分マスタ、支給区分マスタをメンテナンスするアプリケーションを作成します。Ruby on Rails 2.0のscaffoldジェネレータを使用して、それぞれのアプリケーションを作成します。作成したアプリケーションは添付ファイルに格納されていますので、ダウンロードしてください。

 ダウンロードしたファイルをRailsで生成したアプリケーションの配下へ配置すると、下記のURLからそれぞれのマスタをメンテナンスできるようになります(Webサーバの起動が必要です)。

表2
AP名 URL
部品識別マスタメンテナンス http://localhost:3000/mst_buhin_shikibetsus/list
手配区分マスタメンテナンス http://localhost:3000/mst_tehai_kubuns/list
在庫区分マスタメンテナンス http://localhost:3000/mst_zaiko_kubuns/list
支給区分マスタメンテナンス http://localhost:3000/mst_shikyu_kubuns/list

 次に、表3~6のようにデータを登録します。

表3 - 部品識別マスタメンテナンス
ID buhin_shikibetsu
1 梱包計画品
2 組立計画品
3 オプション計画品
4 先行部組計画品
5 先行加工計画品
6 補修部品計画品
表4 - 手配区分マスタメンテナンス
ID tehai_kubun
1 内作品
2 外作品
3 外作品(外注費)
4 完品購入品
5 材料・素材
6 手配不要品(ダブルビン、受給品)
表5 - 在庫区分マスタメンテナンス
ID zaiko_kubun
1 在庫品
2 非在庫品
表6 - 支給区分マスタメンテナンス
ID shikyu_kubun
1 一般部品
2 無償支給品
3 有償支給品
4 無償受給品

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Flash CS3とRoRで構築する業務アプリケーション

著者プロフィール

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5