Commit 50646853 by Yujin Seo

Merge branch 'feature/contract/sato/1.0.300_52170_unlock' into 'contract/sato/1.0.300'

報告書ロック機能の改善

See merge request !293
parents a026403b 88cc2571
......@@ -3,8 +3,10 @@ package jp.agentec.abook.abv.bl.data.dao;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;
import jp.agentec.abook.abv.bl.common.db.Cursor;
import jp.agentec.abook.abv.bl.common.log.Logger;
import jp.agentec.abook.abv.bl.dto.TaskReportDto;
import jp.agentec.adf.util.DateTimeFormat;
import jp.agentec.adf.util.DateTimeUtil;
......@@ -223,7 +225,6 @@ public class TaskReportDao extends AbstractDao {
* @param reportLockUserId
* @param reportLockUserName
* @param reportLockTime
* @param loginId
* @return
*/
public void updateReportLock(
......@@ -233,8 +234,7 @@ public class TaskReportDao extends AbstractDao {
int reportStatus,
String reportLockUserId,
String reportLockUserName,
Date reportLockTime,
String loginId
Date reportLockTime
) {
StringBuilder sql = new StringBuilder();
List<Object> args = new ArrayList<Object>();
......@@ -250,24 +250,22 @@ public class TaskReportDao extends AbstractDao {
} else {
sql.append(" WHERE task_key=? ");
}
if (loginId != null) {
sql.append(" AND report_lock_user_id=? "); //自分以外のロックを変更しないため
}
args.add(reportStatus);
args.add(reportLockUserId);
args.add(reportLockUserName);
args.add(reportLockTime);
if (reportStartDate != null) {
args.add(taskReportId);
args.add(DateTimeUtil.toStringInTimeZone(reportStartDate, DateTimeFormat.yyyyMMddHHmmss_hyphen, "UTC"));
int offset = TimeZone.getDefault().getOffset(reportStartDate.getTime());
Date date = new Date(reportStartDate.getTime() - offset);
String dateStr = DateTimeUtil.toStringInTimeZone(date, DateTimeFormat.yyyyMMddHHmmss_hyphen, "UTC");
args.add(dateStr);
} else {
args.add(taskKey);
}
if (loginId != null) {
args.add(loginId);
}
update(sql.toString(), args.toArray());
long count = update(sql.toString(), args.toArray());
Logger.i(TAG, "updated " + count + "record(s) by LOCK/UNLOCK");
}
/**
......
......@@ -80,8 +80,7 @@ public class LockReportLogic extends AbstractLogic {
reportStatus,
member.loginId,
member.memberName,
new Date(),
null
new Date()
);
}
......
......@@ -26,10 +26,9 @@ public class UnlockReportLogic extends AbstractLogic {
}
public Result unlock(String taskKey, Long taskReportId, Date reportStartDate) {
String loginId = cache.getMemberInfo().loginId;
Result r = sendUnlockReport(taskKey, taskReportId, reportStartDate);
if (r.result == 0) {
updateLocalDB(taskKey, taskReportId, reportStartDate, r.extParam.getReportStatus(), loginId);
updateLocalDB(taskKey, taskReportId, reportStartDate, r.extParam.getReportStatus());
}
return r;
}
......@@ -65,8 +64,7 @@ public class UnlockReportLogic extends AbstractLogic {
String taskKey,
Long taskReportId,
Date reportStartDate,
int reportStatus,
String loginId
int reportStatus
) {
// ローカルDBに反映
TaskReportDao dao = AbstractDao.getDao(TaskReportDao.class);
......@@ -77,8 +75,7 @@ public class UnlockReportLogic extends AbstractLogic {
reportStatus,
null,
null,
null,
loginId
null
);
}
......
......@@ -1121,12 +1121,8 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
// アンロック
UnlockReportLogic.Result r = UnlockReportLogic.newInstance().unlock(taskKey, taskReportId, startDate);
// JSコールバック
if (r.getMessage().length() > 0) {
// アンロックの失敗は無視
afterABookCheckApi(mCmd, mTaskKey, 0, "", "{'reportStatus':0}");
} else {
afterABookCheckApi(mCmd, mTaskKey, r.getResult(), r.getMessage(), r.getExtParam().json());
}
// アンロックの失敗は無視
afterABookCheckApi(mCmd, mTaskKey, 0, "", "{'reportStatus':0}");
}
}
......
......@@ -52,6 +52,7 @@ import jp.agentec.abook.abv.ui.common.view.ABVPopupListWindow;
import jp.agentec.abook.abv.ui.home.helper.ActivityHandlingHelper;
import jp.agentec.abook.abv.ui.viewer.view.CheckFormWebview;
import static jp.agentec.abook.abv.bl.common.constant.ABookKeys.REPORT_START_DATE;
import static jp.agentec.abook.abv.bl.common.constant.ABookKeys.STATUS_CODE;
//TODO: later 遠隔連動関連はContentView,NoPdfViewと共通しているので要集約
......@@ -337,6 +338,13 @@ public class HTMLWebViewActivity extends ParentWebViewActivity {
// AndroidOSが5以下のPANO_SERVER処理のため、置き換える必要がある。
url = "/" + url;
if (url.contains(ABookKeys.ABOOK_CHECK_API)) {
String cmd = uri.getQueryParameter(ABookKeys.CMD);
if (cmd.contains(ABookKeys.CMD_LOCK_REPORT)) {
String sd = uri.getQueryParameter(REPORT_START_DATE);
Logger.d(TAG, "mCmd:" + cmd + ",reportStartDate: "+ sd+", CheckApiUrl: " + url);
} else {
Logger.d(TAG, "mCmd:" + cmd + ", CheckApiUrl: " + url);
}
commonShouldOverrideUrlLoading(uri, null);
}
if (fromDashboard && (url.contains(ABookKeys.CMD_CANCEL_TASK_REPORT))) {
......
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