puripuri2100 / dlm

電気係貸出管理ソフトウェア

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dlm

電気係貸出管理ソフトウェアです。

Rustによって実装されています。

インストール方法

リリースから実行ファイルを手に入れ、パスの通っている場所に配置する場合

現時点での最新番は0.2.0です。 GitHub上でリリースされているので、ここからzipファイルをダウンロードして展開し、中にある実行ファイルを適切な場所に配置してください。

作成した実行ファイルは「64bit版Windows10用」と「Ubuntu20.04LTS用」です。「Ubuntu20.04LTS用」はWSL2上にインストールしたUbuntu20.04LTSで作成しました。

zipファイルへのリンクは以下の通りです。クリックすると自動的にダウンロードが始まります。

Rust, Cargoの環境構築が済んでいる場合

cargo install --git "https://github.com/puripuri2100/dlm.git"

によってインストールすることができます。

Rust, Cargoの環境構築からしたい方

Rust公式ホームページのインストールについてのページを見てインストールしてください。

2020/11/23時点ではWindows利用者はVisual Studio C++ Build toolsをインストールする必要があります。

環境構築が済んだら上記のコマンドでインストールできます。

起動方法

dlm <CSV file name> --config <JSON file name>によって起動できます。 --configオプションは省略できます。

与えたCSVファイルにデータを書き込んでいくため、空のファイルもしくは存在しないファイルへのパスを指定してください

貸し出す品名や貸出先の団体の指定は基本的に数字などで行いますが、それに正式名称等を対応させたい場合に使うのが、--configオプションで与えたJSONファイルです。 "sizai"タグに

"sizai" : {
  "0001" : "内リール1",
  "0101": "外リール1"
}

のように"<略称>" : "<正式名称>"を連ねて与えます。

団体名の方は"sandan"タグに対して同じようにデータを与えます。

参団の部屋は"room"タグに同じようにしてデータを与えます。

使いかた

起動すると中で対話環境が開かれます。 詳しくはhelpコマンドを打ち込んで使ってみて欲しいです。 一応helpメッセージを貼り付けておきます。

このソフトウェア上で使うことのできるコマンドとその役割は以下の通りです。

  help      : 入力できる内容と役割(これです)を表示します

  exit      : 終了します

  lend      : 'lend <貸出品の番号1> <貸出品の番号2> .. <貸出品の番号n> <貸出先の番号>' で貸出を登録します

  l         : 'lend' の省略形です
              使い方は'lend'と変わりません

  return    : 'return <返却品の番号1> <返却品の番号2> .. <返却品の番号n> <返却元の番号>' で返却を登録します

  r         : 'return' の省略形です
              使い方は'return'と変わりません

  edit      : 'edit <編集対象に付けられた通し番号> <編集後の品名の番号> <編集後の貸出先の番号>'
              で以前に行った操作を改変できます
              'remove'と'edit'で行った操作を編集することは出来ません

  remove    : 'remove <編集対象に付けられた通し番号>'
              で以前に行った操作を無かったことにできます

  show      : 現在貸し出されているものと貸出先を表示します
              品名と貸出先の番号は実行時に与えたJSONファイルに基づいて変換されます
              'show <品名の検索> <貸出先の検索>'で条件にあうもののみ表示することができます
              検索の条件指定は正規表現で行います
              例えば、'show 0\d{3} \d' で貸し出しているリールが分かります
              '\d'で「任意の数字列」、'\d{<数字>}'で「指定した桁数の数字列」です
              '^0'で「0から始まる文字列」、'0$'で「0で終わる文字列」です
              組み合わせて'^0$'のようにすると、「0」を表すことができます

  all       : 全ての操作を表示します

  check     : 貸出と返却が食い違っているものが無いかをチェックします

  history   : 'history' 単体では直近10件の入力を表示します
              'history <n>' と、数字を与えるとその分だけ直近の入力を表示します

変更履歴

  • v0.1.0
    • 2020/11/23
    • 最初のリリース
  • v0.1.1
    • 2020/12/03
    • 1つ前の操作の「編集」と「削除」に「未来の操作を弄ることはできない」というエラーが出ていたバグを修正
    • 参団番号に対応させて、その団体の活動場所を登録する機能を追加
      • 設定用のJSONファイルにある"room"タグを読み取るようにした
      • showコマンドの実行の際に、部屋番号も出力するようにした
    • 設定データをVecに直さずに、そのままserde_json::Valueのまま扱うようにした
    • Argというenumが名前衝突していたので、DlmArgに変更した
  • v0.2.0
    • 2020/12/17
    • lendreturnの引数を変更し、「一つの貸出先に複数の品名を同時に貸し出す」操作を行えるようにした(返却も同様)
    • editの引数で「編集後の貸出先の番号」を省略できないようにした
    • 全てのコマンドの引数を厳格にし、多すぎる・少なすぎる・値が間違っているときにエラーを出すようにした
    • JSONファイルの読み込みに失敗したら実行終了するようにした
    • CSVファイルの読み込みに失敗したら異常終了するように修正した
    • エラーの出力にeprintln!を使うように修正した
    • allで表示するときや、removeeditでの確認表示に参団名などを表示するようにした
    • showコマンドの出力が整うようにした
    • showコマンドに正規表現を用いたフィルター機能を実装した
    • 貸出・返却操作のチェックを強化した

(c) 2020 Naoki Kaneko (a.k.a. "puripuri2100")

About

電気係貸出管理ソフトウェア

License:MIT License


Languages

Language:Rust 100.0%