Commit 2efe9975 by Kim Jinsung

Merge branch 'feature/1.0.1_32861' into 'feature/1.0.1'

Feature/1.0.1 32861

See merge request !6
parents d7d33ed0 72c27988
......@@ -116,4 +116,10 @@ public class ABookKeys {
public static final String URI = "uri";
public static final String OK = "OK";
// #32861 作業情報追加 start
public static final String LOCAL_SAVE = "localSave"; // 一時保存情報
public static final String ADD_REPORT = "addReport"; // 作業追加区分
public static final String CMD_LOCAL_SAVE_TASK_REPORT = "localSaveTaskReport"; // 一時保存
// #32861 作業情報追加 end
}
......@@ -105,7 +105,7 @@ public class TaskReportDao extends AbstractDao {
+ "attached_file_name=?, "
+ "local_attached_file_name=?, "
+ "attached_file_send_flg=?, "
+ "data_send_flg=?, "
+ "data_send_flg=? "
// #32782 指示者テーブル関連削除 start
// TODO append
// + "reporter_flag=? "
......
......@@ -350,6 +350,13 @@
<string name="content_share_text3">\n上記のURLからダウンロードして下さい。\n</string>
<string name="content_share_password_hint">半角英数字16文字以下</string>
<!-- #32861 作業情報追加 start -->
<string name="temp_save">一時保存</string>
<string name="temp_save_info">一時保存しますか?</string>
<string name="save_info">保存してサーバへ送信しますか?</string>
<string name="msg_temp_save_result">保存されました。</string>
<!-- #32861 作業情報追加 end -->
<!-- Error Message -->
<string name="E000">事業者IDを入力してください。</string>
<string name="E001">ログインIDを入力してください。</string>
......
......@@ -350,6 +350,13 @@
<string name="content_share_text3">\n상기URL에서 다운로드해 주십시오.\n</string>
<string name="content_share_password_hint">영숫자16자 이하</string>
<!-- #32861 作業情報追加 start -->
<string name="temp_save">임시저장</string>
<string name="temp_save_info">임시저장 하시겠습니까?</string>
<string name="save_info">저장하시고 서버로 송신하시겠습니까?</string>
<string name="msg_temp_save_result">저장되었습니다.</string>
<!-- #32861 作業情報追加 end -->
<!-- Error Message -->
<string name="E000">어카운트패스 입력해 주십시오.</string>
<string name="E001">로그인ID를 입력해 주십시오.</string>
......
......@@ -350,6 +350,13 @@
<string name="content_share_text3">\nDownload a content from the URL above.\n</string>
<string name="content_share_password_hint">Alpha digit with one byte not exceed 16 characters</string>
<!-- #32861 作業情報追加 start -->
<string name="temp_save">Temporarily saved</string>
<string name="temp_save_info">Do you want to temporarily save it?</string>
<string name="save_info">Save it and send it to the server?</string>
<string name="msg_temp_save_result">It has been saved.</string>
<!-- #32861 作業情報追加 end -->
<!-- Error Message -->
<string name="E000">Please enter company ID.</string>
<string name="E001">Please enter your login ID.</string>
......
......@@ -11,6 +11,35 @@
style="@style/OperationSearchToolBar"
android:minHeight="50dp">
<!-- #32861 作業情報追加 start -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true">
<Button
android:id="@+id/btn_close"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:background="@drawable/ic_operation_close" />
<Button
android:id="@+id/btn_operation_home"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:background="@drawable/ic_operation_home" />
</LinearLayout>
<!-- #32861 作業情報追加 end -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -35,14 +64,25 @@
android:layout_alignParentRight="true"
android:layout_centerVertical="true">
<!-- #32861 作業情報追加 start -->
<Button
android:id="@+id/btn_close"
android:id="@+id/btn_temp_save"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:background="@drawable/ic_operation_close" />
android:background="@drawable/ic_download_off" />
<Button
android:id="@+id/btn_save"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:background="@drawable/ic_download_on" />
<!-- #32861 作業情報追加 end -->
</LinearLayout>
</RelativeLayout>
<FrameLayout
......
......@@ -72,6 +72,7 @@ import jp.agentec.abook.abv.ui.common.view.ABVPopupListWindow;
import jp.agentec.abook.abv.ui.home.helper.ABookCheckWebViewHelper;
import jp.agentec.abook.abv.ui.home.helper.ABookPermissionHelper;
import jp.agentec.abook.abv.ui.home.helper.ActivityHandlingHelper;
import jp.agentec.abook.abv.ui.viewer.activity.CheckOZDViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.HTMLXWalkWebViewActivity;
import jp.agentec.abook.abv.ui.viewer.activity.NoPdfViewActivity;
import jp.agentec.abook.abv.ui.viewer.foxitPdf.FoxitPdfCore;
......@@ -130,6 +131,12 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
public boolean isLinkedContent;
public int pageNo;
// #32861 作業情報追加 start
public int mButtonStatus; // 保存ボタンチェック
protected boolean mLocalSave; // 一時保存情報
protected boolean mAddReport; // 作業追加区分
// #32861 作業情報追加 end
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -427,7 +434,24 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
public void finish() {
// ホームをリロードさせる
ActivityHandlingHelper.getInstance().setRequireHomeReload(true);
super.finish();
// #32861 作業情報追加 start
// 押したボタンによってHTML側の処理を行う
if (this instanceof CheckOZDViewActivity) {
if (mButtonStatus == R.id.btn_close) {
ozdCancelProcess(); // 閉じる
super.finish();
} else if (mButtonStatus == R.id.btn_temp_save) {
ozdLocalSaveProcess(); // 一時保存
} else if (mButtonStatus == R.id.btn_save){
ozdSaveProcess(); // 保存
super.finish();
} else {
super.finish(); // 作業一覧画面に遷移
}
} else {
super.finish();
}
// #32861 作業情報追加 end
Logger.d(TAG, "finish");
}
......@@ -933,10 +957,18 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
ActivityHandlingHelper.getInstance().startOZViewerActivity(this, mOperationId, getContentId(), mTaskKey, true, true, mReportFileName);
} else if (mCmd.equals(ABookKeys.CMD_SHOW_REPORT_OZD)) {
mReportFileName = abookCheckParam.get(ABookKeys.REPORT_FILE_NAME);
ActivityHandlingHelper.getInstance().startOZViewerActivity(this, mOperationId, getContentId(), mTaskKey, false, taskReportId, reportStartDate, mReportFileName);
// #32861 作業情報追加 start
if (abookCheckParam.containsKey(ABookKeys.LOCAL_SAVE)) {
mLocalSave = Integer.parseInt(abookCheckParam.get(ABookKeys.LOCAL_SAVE)) > 0 ? true : false;
}
if (abookCheckParam.containsKey(ABookKeys.ADD_REPORT)) {
mAddReport = Integer.parseInt(abookCheckParam.get(ABookKeys.ADD_REPORT)) > 0 ? true : false;
}
ActivityHandlingHelper.getInstance().startOZViewerActivity(this, mOperationId, getContentId(), mTaskKey, false, taskReportId, reportStartDate, mReportFileName, mLocalSave, mAddReport);
// #32861 作業情報追加 end
} else if (mCmd.equals(ABookKeys.CMD_PREVIEW_REPORT_OZD)) {
mReportFileName = abookCheckParam.get(ABookKeys.REPORT_FILE_NAME);
ActivityHandlingHelper.getInstance().startOZViewerActivity(this, mOperationId, getContentId(), mTaskKey, true, taskReportId, reportStartDate, mReportFileName);
ActivityHandlingHelper.getInstance().startOZViewerActivity(this, mOperationId, getContentId(), mTaskKey, true, taskReportId, reportStartDate, mReportFileName, false, false);
} else if (mCmd.equals(ABookKeys.CMD_CONTENT_EDIT_CLOSE)) {
showProgressPopup();
handler.postDelayed(new Runnable() {
......@@ -1058,7 +1090,15 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
Logger.i(TAG, String.format("javascript:%sCHK.afterABookCheckApi('%s', '%s', '%s', '%s')", finalParent, cmd, taskKey, result, message));
webViewLoadUrl(String.format("javascript:%sCHK.afterABookCheckApi('%s', '%s', '%s', '%s')", finalParent, cmd, taskKey, result, message));
}
}
// #32861 作業情報追加 start
// 作業追加区分ありの場合
if (mAddReport) {
webViewLoadUrl("javascript:CHK.cancelOzReport()"); // OZD画面日表示するため行う
} else {
goToMain(); // 一覧画面に遷移
}
// #32861 作業情報追加 end
}
});
}
......@@ -1156,4 +1196,47 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
}
return new FoxitPdfCore(this, filepath);
}
// #32861 作業情報追加 start
// 保存処理
public void ozdSaveProcess() {
runOnUiThread(new Runnable() {
@Override
public void run () {
// 実行Javascript - 保存
webViewLoadUrl("javascript:CHK.saeOzReport()");
Logger.d(TAG, "ozdSaveProcess");
}
});
}
// 一時保存処理
public void ozdLocalSaveProcess() {
runOnUiThread(new Runnable() {
@Override
public void run () {
// 実行Javascript - 一時保存
webViewLoadUrl("javascript:CHK.localSaveOzReport()");
Logger.d(TAG, "ozdLocalSaveProcess");
}
});
}
// 閉じる処理
public void ozdCancelProcess() {
runOnUiThread(new Runnable() {
@Override
public void run () {
// 実行Javascript - 閉じる
webViewLoadUrl("javascript:CHK.cancelOzReport()");
Logger.d(TAG, "ozdCancelProcess");
}
});
}
// 作業一覧画面に遷移
public void goToMain() {
ActivityHandlingHelper.getInstance().finishAllContentViewActivity(); // 一覧画面に遷移
}
// #32861 作業情報追加 end
}
......@@ -191,6 +191,13 @@ public class ABookCheckWebViewHelper extends ABookHelper {
insertOrUpdateTaskReport(taskKey, reportUpdateType, operationId, contentId, param, contentPath, false, routineTaskReportFlg);
sendTaskReportData(context, operationId, taskKey, reportUpdateType);
break;
// #32861 作業情報追加 start
// 一時保存処理
case ABookKeys.CMD_LOCAL_SAVE_TASK_REPORT:
insertOrUpdateTaskReport(taskKey, reportUpdateType, operationId, contentId, param, contentPath, false, routineTaskReportFlg);
context.handleErrorMessageToast(R.string.msg_temp_save_result);
break;
// #32861 作業情報追加 end
case ABookKeys.CMD_DELETE_TASK_REPORT:
int taskReportId = 0;
String reportStartDate = "";
......
......@@ -1543,8 +1543,11 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
* @param taskReportId
* @param reportStartDate
* @param reportFileName
* @param localSave
* @param addReport
*/
public void startOZViewerActivity(Context context, long operationId, long contentId, String taskKey, boolean isReadOnly, int taskReportId, String reportStartDate, String reportFileName) {
// #32861 作業情報追加 start
public void startOZViewerActivity(Context context, long operationId, long contentId, String taskKey, boolean isReadOnly, int taskReportId, String reportStartDate, String reportFileName, boolean localSave, boolean addReport) {
reportStartDate = reportStartDate.replace("T", " ");
String strReportStartDate = DateTimeUtil.toString(DateTimeUtil.toDate(reportStartDate, DateTimeFormat.yyyyMMddHHmmss_hyphen), DateTimeFormat.yyyyMMddHHmm_none);
......@@ -1558,8 +1561,14 @@ public class ActivityHandlingHelper extends ABookHelper implements RemoteObserve
intent.putExtra(ABookKeys.TASK_REPORT_ID, taskReportId);
intent.putExtra(ABookKeys.REPORT_START_DATE, strReportStartDate);
intent.putExtra(ABookKeys.REPORT_FILE_NAME, reportFileName);
// #32861 作業情報追加 start
intent.putExtra(ABookKeys.LOCAL_SAVE, localSave); // 一時保存情報
intent.putExtra(ABookKeys.ADD_REPORT, addReport); // 作業追加区分
// #32861 作業情報追加 end
context.startActivity(intent);
}
// #32861 作業情報追加 end
public boolean isMeetingConnected() {
return meetingManager.isConnected();
......
......@@ -23,6 +23,7 @@ import jp.agentec.abook.abv.bl.common.constant.ABookKeys;
import jp.agentec.abook.abv.bl.common.exception.AcmsException;
import jp.agentec.abook.abv.bl.common.exception.NetworkDisconnectedException;
import jp.agentec.abook.abv.bl.common.log.Logger;
import jp.agentec.abook.abv.ui.home.helper.ActivityHandlingHelper;
import jp.agentec.abook.abv.ui.home.helper.OzdFileHelper;
import jp.agentec.abook.abv.launcher.android.PDFFileProvider;
import jp.agentec.abook.abv.launcher.android.R;
......@@ -73,6 +74,11 @@ public class CheckOZDViewActivity extends ABVContentViewActivity {
private String mSaveOzdTempFileName;
private String mSaveOzdFileName;
// #32861 作業情報追加 start
private boolean mLocalSave; // 一時保存情報
private boolean mAadReport; // 作業追加区分
// #32861 作業情報追加 end
@Override
public void onCreate(Bundle savedInstanceState) {
Logger.i(TAG, "onCreate");
......@@ -109,21 +115,59 @@ public class CheckOZDViewActivity extends ABVContentViewActivity {
TextView tvTitle = (TextView) findViewById(R.id.tv_title);
tvTitle.setText(frontTitle + rearTitle);
// #32861 作業情報追加 start
// OZ閲覧画面に表示するボタン表示の可否設定
// 一時保存情報についてボタン表示:「0:false、一時保存ボタン非表示」「1:ture、一時保存ボタン表示」
mLocalSave = intent.getBooleanExtra(ABookKeys.LOCAL_SAVE, false);
// 作業追加区分についてボタンを表示:「0:false、作業追加区分なし、作業一覧へボタン」「1:ture、作業追加区分あり、閉じるボタン」
mAadReport = intent.getBooleanExtra(ABookKeys.ADD_REPORT, false);
final Button homeButton = (Button) findViewById(R.id.btn_operation_home);
final Button closeButton = (Button) findViewById(R.id.btn_close);
final Button tempSaveButton = (Button) findViewById(R.id.btn_temp_save);
final Button saveButton = (Button) findViewById(R.id.btn_save);
// 一時ボタン表示可否判断
homeButton.setVisibility(mAadReport ? View.GONE : View.VISIBLE);
closeButton.setVisibility(mAadReport ? View.VISIBLE : View.GONE);
tempSaveButton.setVisibility(mLocalSave ? View.VISIBLE : View.GONE);
// 作業一覧へ戻るボタン
homeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
goToMain(); // 作業一覧画面に遷移
}
});
// 閉じるボタン
closeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (!mReadOnlyFlg) {
//OZD臨時保存処理
if (!saveTempOzdFile()) {
ABVToastUtil.showMakeText(mContext, R.string.msg_ozd_save_fail, Toast.LENGTH_LONG);
return;
}
}
finishActivity();
mButtonStatus = R.id.btn_close; // HTML側の分岐処理を行うため変数に値を渡す
finishActivity(); // HTML側の処理を行う
}
});
// 一時保存ボタン
tempSaveButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mButtonStatus = R.id.btn_temp_save; // HTML側の分岐処理を行うため変数に値を渡す
showSaveConfirmAlert(R.string.temp_save, R.string.temp_save_info);
}
});
// 保存ボタン
saveButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mButtonStatus = R.id.btn_save; // HTML側の分岐処理を行うため変数に値を渡す
showSaveConfirmAlert(R.string.save, R.string.save_info);
}
});
// #32861 作業情報追加 end
mOzFilePath = OzdFileHelper.getOzFilePath(mOperationId, contentId, mTaskKey, mDirectionFlg, mTaskReportId, mReportStartDate, mReportFileName);
Logger.i(TAG,"********mOzFilePath = %s" + mOzFilePath);
......@@ -252,8 +296,13 @@ public class CheckOZDViewActivity extends ABVContentViewActivity {
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finishActivity();
// #32861 作業情報追加 start
if (!mAadReport) {
goToMain(); // 一覧画面に遷移
} else {
finishActivity(); // Ozd作業画面を閉じる
}
// #32861 作業情報追加 end
} else {
return super.onKeyUp(keyCode, event);
}
......@@ -498,4 +547,32 @@ public class CheckOZDViewActivity extends ABVContentViewActivity {
}
return true;
}
// #32861 作業情報追加 start
// アラート表示処理
private void showSaveConfirmAlert(final int dialogTitle, int dialogMessage) {
ABookAlertDialog logoutAkert = AlertDialogUtil.createAlertDialog(this, dialogTitle);
logoutAkert.setMessage(dialogMessage);
logoutAkert.setButton(DialogInterface.BUTTON_POSITIVE, getResources().getString(R.string.confirm), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
tempSaved(); // 一時保存処理
}
});
logoutAkert.setButton(DialogInterface.BUTTON_NEGATIVE, getResources().getString(R.string.cancel), (DialogInterface.OnClickListener) null);
showAlertDialog(logoutAkert);
}
// 臨時保存の処理
private void tempSaved() {
if (!mReadOnlyFlg) {
//OZD臨時保存処理
if (!saveTempOzdFile()) {
ABVToastUtil.showMakeText(mContext, R.string.msg_ozd_save_fail, Toast.LENGTH_LONG);
return;
}
}
finishActivity(); // HTML側の処理を行う
}
// #32861 作業情報追加 end
}
\ No newline at end of file
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