Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
abook_check
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • abook_android
  • abook_check
  • Merge Requests
  • !264

Merged
Opened Jan 30, 2023 by Kazuyuki Hida@hida-k 
  • Report abuse
Report abuse

ダッシュボードの実装

ダッシュボードのために、DB上のテーブルを追加し、DTOやDAOなどを作成しました。 また、ロック、アンロックで不備があったところを修正しました。

Edited Jan 30, 2023 by Kazuyuki Hida
  • Discussion 15
  • Commits 21
  • Changes 30
{{ resolvedDiscussionCount }}/{{ discussionCount }} {{ resolvedCountText }} resolved
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    .gitmodules 0 → 100644
    1 [submodule "ABVJE_Launcher_Android/assets/dashboard"]
    2 path = ABVJE_Launcher_Android/assets/dashboard
    3 url = git@gitlab.agentec.jp:haccp_atform/app_dashboard.git
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      サブモジュールを使用しています。

      Edited Jan 30, 2023
      サブモジュールを使用しています。
    Please register or sign in to reply
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/acms/client/AcmsClient.java
    568 575
    569 576 AcmsMessageJSON json = new AcmsMessageJSON(result.httpResponseBody);
    570 577
    578 // JSのコールバックに渡すために必要な情報をストックしておく(暫定的な実装 fixme )
    579 if (apiUrl.contains(AcmsApis.ApiSendTaskData)) {
    580 JSONObject res = new JSONObject(result.httpResponseBody);
    581 int reportStatus = res.has(ReportStatus) ? res.getInt(ReportStatus) : null;
    582 String message = res.has(Message) ? res.getString(Message) : null;
    583 ReportStatusLogic.TaskReportExtParam.stock(String.valueOf(reportStatus), message);
    584 }
    585
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      APIのレスポンスをJavaScript側に渡す経路がないので、大域変数で渡すように実装しました。 あまりよくない作り方だとは思うのですが、他に方法が見つかりませんでした。

      Edited Jan 30, 2023
      APIのレスポンスをJavaScript側に渡す経路がないので、大域変数で渡すように実装しました。 あまりよくない作り方だとは思うのですが、他に方法が見つかりませんでした。
    • Yujin Seo @seo commented Jan 30, 2023
      Developer

      詳しい実装までは見てないのであくまで意見ですけど「Callback」を使うのはどうかと思います。

      Edited Jan 30, 2023
      詳しい実装までは見てないのであくまで意見ですけど「Callback」を使うのはどうかと思います。
    Please register or sign in to reply
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/acms/client/AcmsClient.java
    735 750 return new UnlockReportJSON(json);
    736 751 }
    737 752
    753 public DashboardStatusJSON getDashboardStatus(AcmsParameters sid) throws NetworkDisconnectedException, AcmsException {
    754 HttpResponse response = send(AcmsApis.ApiGetDashboardStatus, sid);
    755 String json = response.httpResponseBody;
    756 return new DashboardStatusJSON(json);
    757 }
    758
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      ダッシュボードで使用するAPI(getDashboardStatus())です。

      ダッシュボードで使用するAPI(getDashboardStatus())です。
    Please register or sign in to reply
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/acms/client/json/AcmsJSONParser.java
    133 133 }
    134 134 }
    135 135
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      JSONから値を取り出す処理は、AcmsJSONParserに集約しました。

      Edited Jan 30, 2023
      JSONから値を取り出す処理は、AcmsJSONParserに集約しました。
    Please register or sign in to reply
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/acms/client/json/DashboardStatusJSON.java 0 → 100644
    1 package jp.agentec.abook.abv.bl.acms.client.json;
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      ダッシュボード用APIのパーサーです。

      Edited Jan 30, 2023
      ダッシュボード用APIのパーサーです。
    Please register or sign in to reply
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/acms/client/parameters/LockReportParameters.java
    10 13 private String sid;
    11 14 private String taskKey;
    12 15 private Long taskReportId;
    13 private Date reportStartDate;
    16 private String reportStartDate; // 書式の問題があるので、あえて文字列
    14 17 private String userId;
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      APIに渡すDateは決まった書式でなければならないうえ、事実上、文字列としてしか使用しないので、reportStartDateは、あえて文字列にしました。

      Edited Jan 30, 2023
      APIに渡すDateは決まった書式でなければならないうえ、事実上、文字列としてしか使用しないので、`reportStartDate`は、あえて文字列にしました。
    Please register or sign in to reply
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/acms/client/parameters/UnlockReportParameters.java
    9 12
    10 13 private String taskKey;
    11 14 private Long taskReportId;
    12 private Date reportStartDate;
    15 private String reportStartDate; // 書式の問題があるので、あえて文字列
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      APIに渡すDateは決まった書式でなければならないうえ、事実上、文字列としてしか使用しないので、reportStartDateは、あえて文字列にしました。

      Edited Jan 30, 2023
      APIに渡すDateは決まった書式でなければならないうえ、事実上、文字列としてしか使用しないので、`reportStartDate`は、あえて文字列にしました。
    Please register or sign in to reply
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/acms/client/parameters/UnlockReportParameters.java
    26 29
    27 String getTaskKey() {
    30 public String getTaskKey() {
    28 31 return taskKey;
    29 32 }
    30 33
    31 Long getTaskReportId() {
    34 public Long getTaskReportId() {
    32 35 return taskReportId;
    33 36 }
    34 37
    35 Date getReportStartDate() {
    38 public String getReportStartDate() {
    36 39 return reportStartDate;
    37 40 }
    38 41 }
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      CMSのフレームワークでは、publicなgetterが使われるのでpublicにしました。

      Edited Jan 30, 2023
      CMSのフレームワークでは、publicなgetterが使われるのでpublicにしました。
    Please register or sign in to reply
  • Kazuyuki Hida
    @hida-k started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/acms/type/AcmsApis.java
    211 213 methodName.equals(ApiSendPushMessage) || methodName.equals(ApiGetPushMessages) || methodName.equals(ApiSendRoutineTaskData) ||
    212 214 methodName.equals(ApiGetMasterData) ||
    213 215 // カテゴリ選択機能、IO帳票で3つ追加
    214 methodName.equals(ApiOperationGroupMaster) || methodName.equals(ApiQuickReportSearch) || methodName.equals(ApiQuickReportRevision)) {
    216 methodName.equals(ApiOperationGroupMaster) || methodName.equals(ApiQuickReportSearch) || methodName.equals(ApiQuickReportRevision) ||
    217 // ダッシュボード、ロック追加
    218 methodName.equals(ApiGetDashboardStatus) || methodName.equals(ApiLockReport) || methodName.equals(ApiUnlockReport)) {
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      WebViewClientが反応するコマンドを追加しました。

      Edited Jan 30, 2023
      WebViewClientが反応するコマンドを追加しました。
    Please register or sign in to reply
  • Kazuyuki Hida @hida-k

    changed the description

    Jan 30, 2023

    changed the description

    changed the description
    Toggle commit list
  • Kazuyuki Hida @hida-k

    unmarked as a Work In Progress

    Jan 30, 2023

    unmarked as a Work In Progress

    unmarked as a **Work In Progress**
    Toggle commit list
  • Kazuyuki Hida @hida-k

    assigned to @seo

    Jan 30, 2023

    assigned to @seo

    assigned to @seo
    Toggle commit list
  • Kazuyuki Hida @hida-k

    added 1 commit

    • eb63cad7 - サブモジュールの更新

    Compare with previous version

    Jan 30, 2023

    added 1 commit

    • eb63cad7 - サブモジュールの更新

    Compare with previous version

    added 1 commit * eb63cad7 - サブモジュールの更新 [Compare with previous version](https://gitlab.agentec.jp/abook_android/abook_check/merge_requests/264/diffs?diff_id=10716&start_sha=75cef96934244e033e40c4b71025e47c70fc9164)
    Toggle commit list
  • Yujin Seo
    @seo started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/logic/ReportStatusLogic.java 0 → 100644
    68
    69 private static TaskReportExtParam instance = null;
    70
    71 public static void stock(String reportStatus, String message) {
    72 if (instance == null) {
    73 instance = new TaskReportExtParam();
    74 }
    75 instance.reportStatus = reportStatus;
    76 instance.message = message;
    77 }
    78
    79 public static TaskReportExtParam pick() {
    80 if (instance == null || instance.reportStatus == null) {
    81 return null;
    82 } else {
    83 return instance;
    • Yujin Seo @seo commented Jan 30, 2023
      Developer

      pick()と同時に値を初期化するのはどうでしょうか?

      Edited Jan 30, 2023
      pick()と同時に値を初期化するのはどうでしょうか?
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      stock()で値を確保するのが、API呼び出し後(APIのレスポンスから値を取得)で、それを使うのが、いくつかスレッドをまたがったのちの、JavaScriptコールバック呼び出し時なので、よいタイミングで初期化できないのです。 JavaScript側では、渡されたパラメータがnullやundifinedなら無視するようになっているので、値が設定される前のpick()ではnullを返すのが妥当かなと考えました。

      Edited Jan 30, 2023
      stock()で値を確保するのが、API呼び出し後(APIのレスポンスから値を取得)で、それを使うのが、いくつかスレッドをまたがったのちの、JavaScriptコールバック呼び出し時なので、よいタイミングで初期化できないのです。 JavaScript側では、渡されたパラメータがnullやundifinedなら無視するようになっているので、値が設定される前のpick()ではnullを返すのが妥当かなと考えました。
    Please register or sign in to reply
  • Yujin Seo
    @seo started a discussion on the diff Jan 30, 2023
    Resolved by Yujin Seo Jan 30, 2023
    ABVJE_BL/src/jp/agentec/abook/abv/bl/data/tables/TTaskReportStatus.java 0 → 100644
    18
    19 sql.append("CREATE TABLE " + tableName +" ( ");
    20 sql.append(" task_key TEXT NOT NULL DEFAULT '',");
    21 sql.append(" task_code TEXT NOT NULL DEFAULT '',");
    22 sql.append(" task_report_id INTEGER,");
    23 sql.append(" report_start_date DATETIME,");
    24 sql.append(" operation_id BIGINT NOT NULL DEFAULT 0,");
    25 sql.append(" operation_name TEXT NOT NULL DEFAULT '',");
    26 sql.append(" report_status INTEGER NOT NULL DEFAULT 0,");
    27 sql.append(" untouched_flg INTEGER NOT NULL DEFAULT 0,"); // 未実施(0x01)
    28 sql.append(" working_flg INTEGER NOT NULL DEFAULT 0,"); // 作業中(0x02)
    29 sql.append(" complete_ok_flg INTEGER NOT NULL DEFAULT 0,"); // 作業完了 異常なし(0x04)
    30 sql.append(" complete_ng_flg INTEGER NOT NULL DEFAULT 0,"); // 作業完了 異常あり(0x08)
    31 sql.append(" incomplete_flg INTEGER NOT NULL DEFAULT 0,"); // 期限切れ(0x10)
    32 sql.append(" alert_flg INTEGER NOT NULL DEFAULT 0,"); // アラート(0x20)
    33 sql.append(" send_backed_flg INTEGER NOT NULL DEFAULT 0)"); // 差し戻し(0x40)
    • Yujin Seo @seo commented Jan 30, 2023
      Developer

      他のテーブルとの関係やSelectを考慮してIndexを追加してください。

      Edited Jan 30, 2023 by Yujin Seo
      他のテーブルとの関係やSelectを考慮してIndexを追加してください。
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      了解しました。

      Edited Jan 30, 2023
      了解しました。
    • Kazuyuki Hida @hida-k commented Jan 30, 2023
      Developer

      インデックスを付けました。 ついでに、開発の都合でDatabaseVersions.Ver1_0_7まで分けていたのをver1_0_4にまとめました。

      Edited Jan 30, 2023
      インデックスを付けました。 ついでに、開発の都合でDatabaseVersions.Ver1_0_7まで分けていたのをver1_0_4にまとめました。
    Please register or sign in to reply
  • Yujin Seo @seo

    assigned to @hida-k

    Jan 30, 2023

    assigned to @hida-k

    assigned to @hida-k
    Toggle commit list
  • Kazuyuki Hida @hida-k

    added 1 commit

    • 67bed2d6 - サブモジュールの更新

    Compare with previous version

    Jan 30, 2023

    added 1 commit

    • 67bed2d6 - サブモジュールの更新

    Compare with previous version

    added 1 commit * 67bed2d6 - サブモジュールの更新 [Compare with previous version](https://gitlab.agentec.jp/abook_android/abook_check/merge_requests/264/diffs?diff_id=10719&start_sha=eb63cad70902bc2053b3beecac44eac07e2d6cbf)
    Toggle commit list
  • Kazuyuki Hida @hida-k

    merged

    Jan 30, 2023

    merged

    merged
    Toggle commit list
  • Kazuyuki Hida @hida-k

    mentioned in commit 658b9ed9

    Jan 30, 2023

    mentioned in commit 658b9ed9

    mentioned in commit 658b9ed912a5e9b7ee2af931b32b4a5e7488873b
    Toggle commit list
  • Yujin Seo @seo

    assigned to @seo

    Jan 30, 2023

    assigned to @seo

    assigned to @seo
    Toggle commit list
  • Write
  • Preview
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment
Yujin Seo
Assignee
Yujin Seo @seo
Assign to
None
Milestone
None
Assign milestone
Time tracking
2
2 participants
Reference: abook_android/abook_check!264
×

Revert this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.
×

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.