Commit d55b2e19 by Lee Jaebin

#36065 営業日を過ぎた場合、前日の報告を削除するため、同期ボタンを活性化する処理追加

parent abbdc0d5
...@@ -1044,9 +1044,9 @@ public class OperationLogic extends AbstractLogic { ...@@ -1044,9 +1044,9 @@ public class OperationLogic extends AbstractLogic {
/** /**
* 作業毎に情報更新ボタンを表示するため、NeedSyncFlgをセットする。 * 作業毎に情報更新ボタンを表示するため、NeedSyncFlgをセットする。
* @param operationDto 作業情報 * @param operationDto 作業情報
* @param syncedDate 定期点検のみ利用で、最後に情報更新した日付 * @param syncedDate 最後に情報更新した日付
*/ */
public void updateOperationNeedSyncFlg(OperationDto operationDto, String syncedDate) { public void updateOperationNeedSyncFlg(OperationDto operationDto, Date syncedDate) {
//情報更新が既に表示状態は何もしない //情報更新が既に表示状態は何もしない
if (operationDto.needSyncFlg) { if (operationDto.needSyncFlg) {
return; return;
...@@ -1058,22 +1058,18 @@ public class OperationLogic extends AbstractLogic { ...@@ -1058,22 +1058,18 @@ public class OperationLogic extends AbstractLogic {
mTaskReportDao.isExistUpdateTargetHotSpotTaskData(operationDto.operationId)) { mTaskReportDao.isExistUpdateTargetHotSpotTaskData(operationDto.operationId)) {
updateFlg = true; updateFlg = true;
} }
//情報更新ボタンの仕様変更で以下の処理はコメント(復活する可能性がするため)
// //定期点検のみ同期ボタンタップの日付と現在の日付が異なる且つ、作業するデータが存在しない場合 // 定期点検の場合
// if (operationDto.reportType == Constant.ReportType.RoutineTask) {
// if (StringUtil.isNullOrEmpty(operationDto.reportPeriod) && !syncedDate.equals(DateTimeUtil.toString(DateTimeUtil.getCurrentSqlDate(), DateTimeFormat.yyyyMMdd_none))) {
// //営業時間以後、情報更新可能とする。
// if (checkServiceOptionOperaionChangeTime()) {
// updateFlg = true;
// }
// }
// }
//情報更新ボタンの仕様変更(定期点検のみ、データがない場合は情報更新ボタン表示)
if (operationDto.reportType == Constant.ReportType.RoutineTask) { if (operationDto.reportType == Constant.ReportType.RoutineTask) {
if (StringUtil.isNullOrEmpty(operationDto.reportPeriod)) { if (StringUtil.isNullOrEmpty(operationDto.reportPeriod)) {
updateFlg = true; updateFlg = true;
} }
} else {
// 定期点検以外
// 同期処理を行った日付が営業日を超えているかチェック
if (syncedDate != null && checkServiceOptionOperaionChangeTime(syncedDate)) {
updateFlg = true;
}
} }
if (updateFlg) { if (updateFlg) {
...@@ -1637,9 +1633,10 @@ public class OperationLogic extends AbstractLogic { ...@@ -1637,9 +1633,10 @@ public class OperationLogic extends AbstractLogic {
/** /**
* サービスオプション「営業日変更時間」をチェックして、情報更新可否を判断 * サービスオプション「営業日変更時間」をチェックして、情報更新可否を判断
* @param syncedDate 最終同期日付
* @return true : 情報更新可能、false:情報更新不可 * @return true : 情報更新可能、false:情報更新不可
*/ */
public boolean checkServiceOptionOperaionChangeTime() { public boolean checkServiceOptionOperaionChangeTime(Date syncedDate) {
String operationChangeTime = ABVDataCache.getInstance().serviceOption.operationChangeTime(); String operationChangeTime = ABVDataCache.getInstance().serviceOption.operationChangeTime();
String[] timeArray = operationChangeTime.split(":", 0); String[] timeArray = operationChangeTime.split(":", 0);
...@@ -1649,17 +1646,19 @@ public class OperationLogic extends AbstractLogic { ...@@ -1649,17 +1646,19 @@ public class OperationLogic extends AbstractLogic {
int hour = Integer.valueOf(timeArray[0]); //時間 int hour = Integer.valueOf(timeArray[0]); //時間
int minute = Integer.valueOf(timeArray[1]); //分 int minute = Integer.valueOf(timeArray[1]); //分
Calendar calender = Calendar.getInstance(); Calendar calender = Calendar.getInstance();
// 現在日付
Date nowDate = calender.getTime(); Date nowDate = calender.getTime();
calender.set(Calendar.MINUTE, minute); calender.set(Calendar.MINUTE, minute);
calender.set(Calendar.HOUR_OF_DAY, hour); calender.set(Calendar.HOUR_OF_DAY, hour);
calender.set(Calendar.SECOND, 0); calender.set(Calendar.SECOND, 0);
Date operationChageDate = calender.getTime(); // 現在の日付の営業時間でセット
Date businessDate = calender.getTime();
//現在の時間が営業時間より未来の場合、情報更新状態にする。 // 同期処理を行った日付が営業日が過去で
if (nowDate.after(operationChageDate)) { // 現在の時間が営業時間より未来の場合、情報更新状態にする。
if (syncedDate.before(businessDate) && nowDate.after(businessDate)) {
return true; return true;
} }
return false; return false;
......
...@@ -753,8 +753,8 @@ public class OperationListActivity extends ABVUIActivity { ...@@ -753,8 +753,8 @@ public class OperationListActivity extends ABVUIActivity {
showSimpleAlertDialog(getString(R.string.app_name), dialogMsg); showSimpleAlertDialog(getString(R.string.app_name), dialogMsg);
} }
} }
putUserPref(String.format(AppDefType.UserPrefKey.SYNCED_OPERATION_ID, operationId), DateTimeUtil.toString(DateTimeUtil.getCurrentSqlDate(), DateTimeFormat.yyyyMMdd_none));
} }
putUserPref(String.format(AppDefType.UserPrefKey.SYNCED_OPERATION_ID, operationId), DateTimeUtil.toString(DateTimeUtil.getCurrentSqlDate(), DateTimeFormat.yyyyMMddHHmmss_slash));
} catch (AcmsException e) { } catch (AcmsException e) {
//noinspection EnumSwitchStatementWhichMissesCases //noinspection EnumSwitchStatementWhichMissesCases
switch (e.getCode()) { switch (e.getCode()) {
......
...@@ -12,6 +12,7 @@ import com.handmark.pulltorefresh.library.PullToRefreshGridView; ...@@ -12,6 +12,7 @@ import com.handmark.pulltorefresh.library.PullToRefreshGridView;
import com.handmark.pulltorefresh.library.PullToRefreshListView; import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import jp.agentec.abook.abv.bl.common.log.Logger; import jp.agentec.abook.abv.bl.common.log.Logger;
...@@ -30,6 +31,9 @@ import jp.agentec.abook.abv.ui.home.activity.OperationListActivity; ...@@ -30,6 +31,9 @@ import jp.agentec.abook.abv.ui.home.activity.OperationListActivity;
import jp.agentec.abook.abv.ui.home.adapter.AbstractOperationAdapter; import jp.agentec.abook.abv.ui.home.adapter.AbstractOperationAdapter;
import jp.agentec.abook.abv.ui.home.adapter.OperationListAdapter; import jp.agentec.abook.abv.ui.home.adapter.OperationListAdapter;
import jp.agentec.abook.abv.ui.home.adapter.OperationPanelAdapter; import jp.agentec.abook.abv.ui.home.adapter.OperationPanelAdapter;
import jp.agentec.adf.util.DateTimeFormat;
import jp.agentec.adf.util.DateTimeUtil;
import jp.agentec.adf.util.StringUtil;
import static jp.agentec.abook.abv.bl.acms.type.OperationType.PANO; import static jp.agentec.abook.abv.bl.acms.type.OperationType.PANO;
import static jp.agentec.abook.abv.cl.util.PreferenceUtil.getUserPref; import static jp.agentec.abook.abv.cl.util.PreferenceUtil.getUserPref;
...@@ -67,7 +71,12 @@ public class OperationListHelper { ...@@ -67,7 +71,12 @@ public class OperationListHelper {
operationDtoList = mOperationLogic.getRefreshOperation(mAppActivity.mSearchWord, mAppActivity.mStartDateStr, mAppActivity.mEndDateStr, reportTypeStr); operationDtoList = mOperationLogic.getRefreshOperation(mAppActivity.mSearchWord, mAppActivity.mStartDateStr, mAppActivity.mEndDateStr, reportTypeStr);
for (OperationDto operationDto : operationDtoList) { for (OperationDto operationDto : operationDtoList) {
String syncedDate = getUserPref(mAppActivity, String.format(AppDefType.UserPrefKey.SYNCED_OPERATION_ID, operationDto.operationId), ""); // 該当する作業の最後に同期した日付を取得
String syncedDateStr = getUserPref(mAppActivity, String.format(AppDefType.UserPrefKey.SYNCED_OPERATION_ID, operationDto.operationId), "");
Date syncedDate = null;
if (!StringUtil.isNullOrEmpty(syncedDateStr)) {
syncedDate = DateTimeUtil.toDate(syncedDateStr, DateTimeFormat.yyyyMMddHHmmss_slash);
}
mOperationLogic.updateOperationNeedSyncFlg(operationDto, syncedDate); mOperationLogic.updateOperationNeedSyncFlg(operationDto, syncedDate);
} }
} catch (Exception e) { } catch (Exception e) {
......
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