カレンダーを使用した稼働時間の計算について

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 カレンダーを使用した稼働時間の計算について

5 件の投稿を閲覧中 - 1 ~ 5 件(全 5 件)
  • 著者
    投稿
  • #7431
    cosmo
    一般参加者

    お世話になっております。

    現在、機械の稼働時間を計算するための機能を作成中なのですが、うまく計算できず困っております。

    理想といたしましては、終了日時-開始日時=稼働時間(分)という単純な機能なのですが、
    日時-日時という計算は可能でしょうか?ご教授いただけますと幸いです。

    サンプル(勤務時間計算).pdf及び勤務時間計算_1.mzaxなどを参考に作成中なのですが、
    2024/03/20 10:00開始で2024/03/21 09:00終了などのように日付をまたぐとマイナス値になってしまいます。

    おそらく、整数(BigInteger)格納変数のメソッド/値を午前零時からの経過時間をミリ秒単位で取得にしているのが原因だとは思うのですが、解決策が思いつかず非常に困っております。

    また、勤務時間計算_1.mzaxの昼休みや休日、始業時間等に関するコンポーネントを削除すれば、自分が必要とする機能だけのアプリが作成できると思い試したのですが、コンポーネントが複雑に関係しており、消すとエラーが起きたり計算結果がおかしくなるなどの問題が起きたため断念いたしました。

    よろしくお願いいたします。

    #7436
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。

    特に稼働休憩時間の計算をする必要が無い場合は、[カレンダー]のメソッド「指定時刻までの経過時間の取得(Date)」を使うのが簡単です。先にまず[カレンダー]に開始日時の「日付を設定」し、次に上記メソッドの引数に終了時刻を設定すると、開始日時-終了日時のミリ秒での時間数が取得できます。
    ミリ秒ですので[整数格納変数(BigInteger)]か[除算(÷)]コンポーネントに設定して、「60000」で割って分単位に直します。

    以上お送りいただいたファイル変更を加えてみましたので、ご確認いただき、ご不明な点等ございましたら再度ご連絡いただければ幸いです。

    添付ファイル:
    #7443
    cosmo
    一般参加者

    お世話になっております。

    ご教授いただき誠にありがとうございます。

    頂いた添付ファイルの説明が大変わかりやすく、無事にうまく計算できるようになりました。

    誠にありがとうございます。

    #7445
    Tatsunori0583
    一般参加者

    ご対応ありがとうございます。

    色々とご説明が不足して申し訳ありませんが実はガントチャートのコンポーネントを使った簡易的な進捗表を作成しておりましてそれに対応して新規のテーブル・sqlを作成してそのデータが反映されることを目的としております。
    テーブル名はProdutionのを参考に
      作業(varchar型)
    開始時刻(日付)
    終了時刻(日付)
    作業時間(分)(int)
    でテーブルを作成しており,batファイルもProdutionを参考に
    “%MYSQL_HOME%\bin\mysql.exe” -u root -p < Prodution.sql
    のProdution.sql →prograss.sqlに直して起動をしていますが

    ERROR 1231 (42000) at line 31: Variable ‘character_set_client’ can’t be set to the value of ‘NULL’

    の表示が出てしまい実行できません。

    厚かましいことですが.sqlのテキストファイルとmzaxファイルを添付致しまして,ご査収とご教示のほどよろしくお願いいたします。

    #7447
    Tatsunori0583
    一般参加者

    すみません、返信先を間違えてしまいました。

5 件の投稿を閲覧中 - 1 ~ 5 件(全 5 件)
  • このトピックに返信するには、ログインしてください。