Commit 288b8b71 by yuichiro ogawa

#38370 印刷アイコンの活性制御 印刷画面への遷移

parent 89ebc857
...@@ -158,6 +158,8 @@ public class AcmsApis { ...@@ -158,6 +158,8 @@ public class AcmsApis {
public static final String ApiGetApertureMasterData = "getApertureMasterData"; public static final String ApiGetApertureMasterData = "getApertureMasterData";
// 簡易帳票一覧取得 // 簡易帳票一覧取得
public static final String ApiQuickReportSearch = "quickReportSearch"; public static final String ApiQuickReportSearch = "quickReportSearch";
// 簡易帳票リビジョン一覧取得
public static final String ApiQuickReportRevision = "quickReportRevision";
// download // download
/** /**
...@@ -202,7 +204,7 @@ public class AcmsApis { ...@@ -202,7 +204,7 @@ public class AcmsApis {
} else if (methodName.equals(ApiOperationList) || methodName.equals(ApiWorkingGroupList) || methodName.equals(ApiSendTaskData) || methodName.equals(ApiGetOperationData) || } else if (methodName.equals(ApiOperationList) || methodName.equals(ApiWorkingGroupList) || methodName.equals(ApiSendTaskData) || methodName.equals(ApiGetOperationData) ||
methodName.equals(ApiGetTaskFile) || methodName.equals(ApiSceneEntry) || methodName.equals(ApiTaskContentEntry) || methodName.equals(ApiGetTaskFile) || methodName.equals(ApiSceneEntry) || methodName.equals(ApiTaskContentEntry) ||
methodName.equals(ApiSendPushMessage) || methodName.equals(ApiGetPushMessages) || methodName.equals(ApiSendRoutineTaskData) || methodName.equals(ApiSendPushMessage) || methodName.equals(ApiGetPushMessages) || methodName.equals(ApiSendRoutineTaskData) ||
methodName.equals(ApiOperationGroupMaster) || methodName.equals(ApiGetApertureMasterData) || methodName.equals(ApiQuickReportSearch)) { methodName.equals(ApiOperationGroupMaster) || methodName.equals(ApiGetApertureMasterData) || methodName.equals(ApiQuickReportSearch) || methodName.equals(ApiQuickReportRevision)) {
apiValue = Constant.ApiValue.checkapi; apiValue = Constant.ApiValue.checkapi;
} }
......
package jp.agentec.abook.abv.bl.logic; package jp.agentec.abook.abv.bl.logic;
import java.util.Map;
public class OnlineHTMLWebViewLogic extends AbstractLogic { public class OnlineHTMLWebViewLogic extends AbstractLogic {
private static final String TAG = "OnlineHTMLWebViewLogic"; private static final String TAG = "OnlineHTMLWebViewLogic";
public byte[] getPostData() { public byte[] getPostData(Map<String, String> param) {
String data = "sid=" + cache.getMemberInfo().sid; String data = "sid=" + cache.getMemberInfo().sid;
for(Map.Entry<String, String> entry : param.entrySet()){
data += "&" + entry.getKey() + "=" + entry.getValue();
}
return data.getBytes(); return data.getBytes();
} }
} }
...@@ -5,4 +5,4 @@ ...@@ -5,4 +5,4 @@
android:drawable="@drawable/home_print_off"/> android:drawable="@drawable/home_print_off"/>
<item <item
android:drawable="@drawable/home_print_on"/> android:drawable="@drawable/home_print_on"/>
</selector> </selector>
\ No newline at end of file
...@@ -136,6 +136,7 @@ ...@@ -136,6 +136,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/print_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
......
...@@ -136,6 +136,7 @@ ...@@ -136,6 +136,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/print_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
......
...@@ -128,6 +128,16 @@ ...@@ -128,6 +128,16 @@
android:visibility="gone" /> android:visibility="gone" />
<ImageButton <ImageButton
android:id="@+id/btn_print"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:background="@drawable/btn_operation_print"
android:contentDescription="@string/print"
android:visibility="gone" />
<ImageButton
android:id="@+id/btn_download" android:id="@+id/btn_download"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -25,6 +25,7 @@ import android.widget.FrameLayout; ...@@ -25,6 +25,7 @@ import android.widget.FrameLayout;
import android.widget.GridView; import android.widget.GridView;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView; import android.widget.ListView;
import android.widget.RadioGroup; import android.widget.RadioGroup;
import android.widget.TextView; import android.widget.TextView;
...@@ -129,7 +130,9 @@ public class OperationListActivity extends ABVUIActivity { ...@@ -129,7 +130,9 @@ public class OperationListActivity extends ABVUIActivity {
private ImageButton mCommonContentButton; // 共通資料ボタン private ImageButton mCommonContentButton; // 共通資料ボタン
private ImageButton mOperationBatchSyncButton; // カテゴリの一括同期ボタン private ImageButton mOperationBatchSyncButton; // カテゴリの一括同期ボタン
private ImageButton mCategoryLocationButton; // カテゴリ選択ボタン private ImageButton mCategoryLocationButton; // カテゴリ選択ボタン
private ImageButton mQuickReportPrintButton; // 簡易帳票印刷 private ImageButton mQuickReportPrintButton; // 簡易帳票印刷ボタン
private LinearLayout mPrintLinearLayout; // 簡易帳票印刷ボタン表示領域
private TextView mOperationTitle; // 一覧のタイトル private TextView mOperationTitle; // 一覧のタイトル
...@@ -210,6 +213,7 @@ public class OperationListActivity extends ABVUIActivity { ...@@ -210,6 +213,7 @@ public class OperationListActivity extends ABVUIActivity {
mCommonContentButton = (ImageButton) findViewById(R.id.btn_common_content); mCommonContentButton = (ImageButton) findViewById(R.id.btn_common_content);
mCategoryLocationButton = (ImageButton) findViewById(R.id.btn_category_location); mCategoryLocationButton = (ImageButton) findViewById(R.id.btn_category_location);
mQuickReportPrintButton = (ImageButton) findViewById(R.id.btn_operation_print); mQuickReportPrintButton = (ImageButton) findViewById(R.id.btn_operation_print);
mPrintLinearLayout = findViewById(R.id.print_layout);
// 定期点検で同期ボタンタップの日付と現在の日付が異なる且つ、作業するデータが存在しない場合、needSyncFlgをtrueに更新 // 定期点検で同期ボタンタップの日付と現在の日付が異なる且つ、作業するデータが存在しない場合、needSyncFlgをtrueに更新
updateNeedSyncRoutineOperation(); updateNeedSyncRoutineOperation();
...@@ -416,6 +420,9 @@ public class OperationListActivity extends ABVUIActivity { ...@@ -416,6 +420,9 @@ public class OperationListActivity extends ABVUIActivity {
if (isSearched()) { if (isSearched()) {
mOperationTitle.setText(R.string.search_result); mOperationTitle.setText(R.string.search_result);
} }
// 簡易帳票印刷ボタンの活性制御
printButtonActivityControl();
} }
// 検索ワードのクリア // 検索ワードのクリア
...@@ -1890,4 +1897,21 @@ public class OperationListActivity extends ABVUIActivity { ...@@ -1890,4 +1897,21 @@ public class OperationListActivity extends ABVUIActivity {
public int getSortCondition() { public int getSortCondition() {
return getABVUIDataCache().getSortCondition(); return getABVUIDataCache().getSortCondition();
} }
/**
* 簡易帳票印刷ボタン活性制御
* 簡易帳票区分が1のデータが存在する場合表示、それ以外非表示
*/
private void printButtonActivityControl() {
List<OperationDto> operations = mOperationDao.getAllOperation();
for (OperationDto operation : operations) {
if (operation.quickReport == 1) {
mQuickReportPrintButton.setVisibility(View.VISIBLE);
mPrintLinearLayout.setVisibility(View.VISIBLE);
return;
}
}
mQuickReportPrintButton.setVisibility(View.GONE);
mPrintLinearLayout.setVisibility(View.GONE);
}
} }
package jp.agentec.abook.abv.ui.viewer.activity; package jp.agentec.abook.abv.ui.viewer.activity;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
...@@ -13,7 +14,6 @@ import android.view.Window; ...@@ -13,7 +14,6 @@ import android.view.Window;
import android.webkit.JavascriptInterface; import android.webkit.JavascriptInterface;
import android.webkit.ValueCallback; import android.webkit.ValueCallback;
import android.webkit.WebChromeClient; import android.webkit.WebChromeClient;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings; import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState; import android.webkit.WebSettings.PluginState;
import android.webkit.WebView; import android.webkit.WebView;
...@@ -24,45 +24,38 @@ import android.widget.ImageButton; ...@@ -24,45 +24,38 @@ import android.widget.ImageButton;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.Toast; import android.widget.Toast;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import jp.agentec.abook.abv.bl.acms.client.json.content.ContentJSON; import jp.agentec.abook.abv.bl.acms.client.json.content.ContentJSON;
import jp.agentec.abook.abv.bl.acms.type.AcmsApis;
import jp.agentec.abook.abv.bl.acms.type.DownloadStatusType; import jp.agentec.abook.abv.bl.acms.type.DownloadStatusType;
import jp.agentec.abook.abv.bl.common.ABVEnvironment; import jp.agentec.abook.abv.bl.common.ABVEnvironment;
import jp.agentec.abook.abv.bl.common.CommonExecutor; import jp.agentec.abook.abv.bl.common.CommonExecutor;
import jp.agentec.abook.abv.bl.common.Constant; import jp.agentec.abook.abv.bl.common.Constant;
import jp.agentec.abook.abv.bl.common.constant.ABookKeys; import jp.agentec.abook.abv.bl.common.constant.ABookKeys;
import jp.agentec.abook.abv.bl.common.log.Logger; import jp.agentec.abook.abv.bl.common.log.Logger;
import jp.agentec.abook.abv.bl.data.ABVDataCache;
import jp.agentec.abook.abv.bl.data.dao.AbstractDao; import jp.agentec.abook.abv.bl.data.dao.AbstractDao;
import jp.agentec.abook.abv.bl.data.dao.ContentDao; import jp.agentec.abook.abv.bl.data.dao.OperationDao;
import jp.agentec.abook.abv.bl.download.ContentDownloader; import jp.agentec.abook.abv.bl.download.ContentDownloader;
import jp.agentec.abook.abv.bl.download.ContentZipDownloadNotification; import jp.agentec.abook.abv.bl.download.ContentZipDownloadNotification;
import jp.agentec.abook.abv.bl.dto.ContentDto; import jp.agentec.abook.abv.bl.dto.OperationDto;
import jp.agentec.abook.abv.bl.logic.AbstractLogic;
import jp.agentec.abook.abv.bl.logic.ContractLogic;
import jp.agentec.abook.abv.cl.util.ContentLogUtil; import jp.agentec.abook.abv.cl.util.ContentLogUtil;
import jp.agentec.abook.abv.cl.util.LocationManagerUtil;
import jp.agentec.abook.abv.cl.util.PreferenceUtil;
import jp.agentec.abook.abv.launcher.android.R; import jp.agentec.abook.abv.launcher.android.R;
import jp.agentec.abook.abv.ui.common.appinfo.AppDefType;
import jp.agentec.abook.abv.ui.common.appinfo.AppDefType.DefPrefKey;
import jp.agentec.abook.abv.ui.common.constant.ErrorCode; import jp.agentec.abook.abv.ui.common.constant.ErrorCode;
import jp.agentec.abook.abv.ui.common.constant.ErrorMessage; import jp.agentec.abook.abv.ui.common.constant.ErrorMessage;
import jp.agentec.abook.abv.ui.common.constant.NaviConsts;
import jp.agentec.abook.abv.ui.common.dialog.ABookAlertDialog;
import jp.agentec.abook.abv.ui.common.util.ABVToastUtil; import jp.agentec.abook.abv.ui.common.util.ABVToastUtil;
import jp.agentec.abook.abv.ui.common.util.AlertDialogUtil;
import jp.agentec.abook.abv.ui.common.view.ABVPopupListWindow; import jp.agentec.abook.abv.ui.common.view.ABVPopupListWindow;
import jp.agentec.abook.abv.ui.home.helper.ActivityHandlingHelper;
//TODO: later 遠隔連動関連はContentView,NoPdfViewと共通しているので要集約 //TODO: later 遠隔連動関連はContentView,NoPdfViewと共通しているので要集約
public class HTMLWebViewActivity extends ParentWebViewActivity { public class HTMLWebViewActivity extends ParentWebViewActivity {
private static final String TAG = "HTMLWebViewActivity"; private static final String TAG = "HTMLWebViewActivity";
private OperationDao mOperationDao = AbstractDao.getDao(OperationDao.class);
/** /**
* Called when the activity is first created. * Called when the activity is first created.
*/ */
...@@ -71,6 +64,7 @@ public class HTMLWebViewActivity extends ParentWebViewActivity { ...@@ -71,6 +64,7 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
private ImageButton reloadButton; private ImageButton reloadButton;
private ImageButton downloadButton; private ImageButton downloadButton;
private ImageButton printButton;
private int objectLogId; private int objectLogId;
private WebView webView; private WebView webView;
...@@ -320,6 +314,15 @@ public class HTMLWebViewActivity extends ParentWebViewActivity { ...@@ -320,6 +314,15 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
} }
}); });
printButton = (ImageButton) findViewById(R.id.btn_print);
printButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Logger.d(TAG, "Print");
showPrintTargetSelect();
}
});
downloadButton = (ImageButton) findViewById(R.id.btn_download); downloadButton = (ImageButton) findViewById(R.id.btn_download);
downloadButton.setOnClickListener(new View.OnClickListener() { downloadButton.setOnClickListener(new View.OnClickListener() {
@Override @Override
...@@ -379,6 +382,8 @@ public class HTMLWebViewActivity extends ParentWebViewActivity { ...@@ -379,6 +382,8 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
} }
}); });
printButtonActivityControl();
historyListBtn.setVisibility(View.GONE); historyListBtn.setVisibility(View.GONE);
if (isLinkedContent) { if (isLinkedContent) {
...@@ -612,6 +617,53 @@ public class HTMLWebViewActivity extends ParentWebViewActivity { ...@@ -612,6 +617,53 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
}); });
} }
/**
* 簡易帳票印刷ボタン活性制御
* 簡易帳票区分が1のデータが存在する場合表示、それ以外非表示
*/
private void printButtonActivityControl() {
OperationDto operation = mOperationDao.getOperation(mOperationId);
if (operation != null && operation.quickReport == 1) {
printButton.setVisibility(View.VISIBLE);
} else {
printButton.setVisibility(View.GONE);
}
}
// 簡易帳票印刷対象選択画面表示
private void showPrintTargetSelect() {
if (!ABVEnvironment.getInstance().networkAdapter.isNetworkConnected()) {
showDisConnectNetworkDialog();
return;
}
Intent intent = new Intent();
intent.setClass(HTMLWebViewActivity.this, OnlineHTMLWebViewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("LINKURL", AcmsApis.getApiUrl(ABVEnvironment.getInstance().acmsAddress, ABVDataCache.getInstance().getUrlPath(), AcmsApis.ApiQuickReportRevision));
intent.putExtra("operationId", mOperationId);
startActivity(intent, NaviConsts.Right);
}
/**
* インターネットが繋がってない場合のダイアログ表示
*/
private void showDisConnectNetworkDialog() {
handler.post(new Runnable() {
@Override
public void run() {
final ABookAlertDialog messageDialog = AlertDialogUtil.createAlertDialog(HTMLWebViewActivity.this, R.string.app_name);
messageDialog.setMessage(getString(R.string.msg_network_offline));
messageDialog.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
messageDialog.dismiss();
}
});
messageDialog.show();
}
});
}
@Override @Override
protected void webViewLoadUrl(String url) { protected void webViewLoadUrl(String url) {
if (webView != null) { if (webView != null) {
......
...@@ -10,6 +10,9 @@ import android.webkit.WebViewClient; ...@@ -10,6 +10,9 @@ import android.webkit.WebViewClient;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import java.util.HashMap;
import java.util.Map;
import jp.agentec.abook.abv.bl.common.log.Logger; import jp.agentec.abook.abv.bl.common.log.Logger;
import jp.agentec.abook.abv.bl.logic.AbstractLogic; import jp.agentec.abook.abv.bl.logic.AbstractLogic;
import jp.agentec.abook.abv.bl.logic.OnlineHTMLWebViewLogic; import jp.agentec.abook.abv.bl.logic.OnlineHTMLWebViewLogic;
...@@ -35,14 +38,19 @@ public class OnlineHTMLWebViewActivity extends ABVContentViewActivity { ...@@ -35,14 +38,19 @@ public class OnlineHTMLWebViewActivity extends ABVContentViewActivity {
TextView title = findViewById(R.id.title); TextView title = findViewById(R.id.title);
title.setText(R.string.title_quick_report_output); title.setText(R.string.title_quick_report_output);
setWebView();
// 引継ぎパラメータ // 引継ぎパラメータ
Intent intent = getIntent(); Intent intent = getIntent();
final String url = intent.getStringExtra("LINKURL"); // LinkURL final String url = intent.getStringExtra("LINKURL"); // LinkURL
final Long operaitonId = intent.getLongExtra("operationId", -1);
setWebView(); Map<String, String> param = new HashMap<>();
if (operaitonId != -1) {
param.put("operationId", operaitonId.toString());
}
OnlineHTMLWebViewLogic logic = AbstractLogic.getLogic(OnlineHTMLWebViewLogic.class); OnlineHTMLWebViewLogic logic = AbstractLogic.getLogic(OnlineHTMLWebViewLogic.class);
webView.postUrl(url, logic.getPostData()); webView.postUrl(url, logic.getPostData(param));
// ***** 戻るボタン // ***** 戻るボタン
closeButton = findViewById(R.id.closeBtn); closeButton = findViewById(R.id.closeBtn);
......
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 to comment