Browse Source

#NEW 833 [Android] 요청 취소 화면 구성 변경 및 API 변경
http://www.junstarok.com/redmine/issues/833

sanghoonkwon 7 years ago
parent
commit
0eae128ccc

+ 28 - 22
app/src/main/java/kr/co/hanwha/hifive/adapter/viewholder/TaskDetailHeaderViewHolder.java

@@ -20,6 +20,7 @@ import kr.co.hanwha.hifive.base.BaseViewHolder;
 import kr.co.hanwha.hifive.data.model.TaskDetailData;
 import kr.co.hanwha.hifive.data.model.TaskDetailRoot;
 import kr.co.hanwha.hifive.data.source.MemberDataRepository;
+import kr.co.hanwha.hifive.enums.TaskEvaluationType;
 import kr.co.hanwha.hifive.enums.TaskFlagType;
 import kr.co.hanwha.hifive.enums.TaskStatusType;
 import kr.co.hanwha.hifive.util.HFCommonUtil;
@@ -106,25 +107,6 @@ public class TaskDetailHeaderViewHolder extends BaseViewHolder {
             final TaskDetailData data = root.getTaskResult();
 
             if (data != null) {
-                //Log
-                if (HFApplication.DEV_LOG) {
-                    mLayoutLog.setVisibility(View.VISIBLE);
-                    try {
-//                        mTextViewLog.setText(data.toString());
-                        mTextViewLog.setText(root.toString());
-                        mTextViewLog.setOnClickListener(new View.OnClickListener() {
-                            @Override
-                            public void onClick(View v) {
-                                HFCommonUtil.copyClipboard(getContext(), data.toString(), "클립보드에 복사되었습니다.");
-                            }
-                        });
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                } else {
-                    mLayoutLog.setVisibility(View.GONE);
-                }
-
                 if (data.getAuthor_member_id() == data.getMember_id() &&
                         data.getMember_id() == MemberDataRepository.getInstance().getMemberId()) {
                     mTextViewAuthorName.setVisibility(View.GONE);
@@ -159,9 +141,14 @@ public class TaskDetailHeaderViewHolder extends BaseViewHolder {
                     mTextViewDueDate.setTextColor(HFTaskUtil.getDueDateFontColor(getContext(), data.getStatus()));
                     mTextViewDueDate.setText(HFDateUtil.getChangeDateFormat(data.getDue_to(), HFDateUtil.FORMAT_COMMON_SERVER, HFDateUtil.FORMAT_YYYY_MM_DD));
 
-                    mViewClosedLine.setVisibility(View.VISIBLE);
-                    mTextViewClosedDate.setText(HFStringUtil.getDisplayClosedDateTaskDetail(getContext(), data.getUpdated_at()));
-                    mTextViewClosedDate.setVisibility(View.VISIBLE);
+                    if (data.getEvaluation() != TaskEvaluationType.CANCELED.getCode()) {
+                        mViewClosedLine.setVisibility(View.VISIBLE);
+                        mTextViewClosedDate.setText(HFStringUtil.getDisplayClosedDateTaskDetail(getContext(), data.getUpdated_at()));
+                        mTextViewClosedDate.setVisibility(View.VISIBLE);
+                    } else {
+                        mViewClosedLine.setVisibility(View.GONE);
+                        mTextViewClosedDate.setVisibility(View.GONE);
+                    }
                 } else {
                     mImageViewDueDate.setImageDrawable(HFTaskUtil.getDueDateIconDrawable(getContext(), data.getDue_to(), root.getServer_time()));
 
@@ -196,6 +183,25 @@ public class TaskDetailHeaderViewHolder extends BaseViewHolder {
                 } else {
                     mLayoutAction.setVisibility(View.GONE);
                 }
+
+                //Log
+                if (HFApplication.DEV_LOG) {
+                    mLayoutLog.setVisibility(View.VISIBLE);
+                    try {
+//                        mTextViewLog.setText(data.toString());
+                        mTextViewLog.setText(root.toString());
+                        mTextViewLog.setOnClickListener(new View.OnClickListener() {
+                            @Override
+                            public void onClick(View v) {
+                                HFCommonUtil.copyClipboard(getContext(), data.toString(), "클립보드에 복사되었습니다.");
+                            }
+                        });
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                } else {
+                    mLayoutLog.setVisibility(View.GONE);
+                }
             }
         }
     }

+ 2 - 4
app/src/main/java/kr/co/hanwha/hifive/data/source/TaskDataRepository.java

@@ -606,8 +606,7 @@ public class TaskDataRepository implements TaskDataSource {
 
         String encryption_member_id = MemberDataRepository.getInstance().getEncryptionMemberId();
         HFNetworkUtil networkUtil = new HFNetworkUtil();
-//        networkUtil.requestTaskAccept(context, encryption_member_id, taskData, campaignData, callback);
-        networkUtil.requestTaskStatusAccept(context, encryption_member_id, taskData.getTask_id(), callback);//TODO - TEST
+        networkUtil.requestTaskStatusAccept(context, encryption_member_id, taskData.getTask_id(), callback);
     }
 
     @Override
@@ -708,10 +707,9 @@ public class TaskDataRepository implements TaskDataSource {
         }
 
         String encryption_member_id = MemberDataRepository.getInstance().getEncryptionMemberId();
-        taskData.setStatus(TaskStatusType.CLOSED.getCode());
 
         HFNetworkUtil networkUtil = new HFNetworkUtil();
-        networkUtil.requestUpdateTask(context, encryption_member_id, taskData, null, callback);
+        networkUtil.requestTaskStatusCancel(context, encryption_member_id, taskData.getTask_id(), callback);
     }
 
     @Override

+ 1 - 1
app/src/main/java/kr/co/hanwha/hifive/data/source/contract/TaskDataSource.java

@@ -217,7 +217,7 @@ public interface TaskDataSource extends BaseDataSource {
 
 
     /**
-     * 반려된 TASK 요청 삭제
+     * 반려된 TASK 요청 삭제(취소)
      *
      * @param context  Context
      * @param taskData Task 데이터

+ 18 - 0
app/src/main/java/kr/co/hanwha/hifive/network/HFNetworkContract.java

@@ -491,6 +491,24 @@ public interface HFNetworkContract {
                                  @NonNull int task_id,
                                  @Nullable HanwhaNetworkCallback callback);
 
+    /**
+     * TASK 취소 (Status : 80)
+     * <p>
+     * <b>Sample</b><br>
+     * request url : https://qtalk.dreamplus.center/newgw/a/v2/tasks/update/status/cs
+     * BODY : {"encryption_member_id": "Oe+Y/1wLWImqigM+TWXHbQ==","task_id": 249}
+     * <br><br><br>
+     *
+     * @param context              Context
+     * @param encryption_member_id 암호화된 멤버 ID
+     * @param task_id              TASK ID
+     * @param callback             콜백
+     */
+    void requestTaskStatusCancel(@NonNull Context context,
+                                 @NonNull String encryption_member_id,
+                                 @NonNull int task_id,
+                                 @Nullable HanwhaNetworkCallback callback);
+
     /**
      * TASK 수락
      *

+ 20 - 0
app/src/main/java/kr/co/hanwha/hifive/network/HFNetworkUtil.java

@@ -210,6 +210,10 @@ public class HFNetworkUtil extends HanwhaNetworkUtil implements HFNetworkContrac
      * tasks.status update 기능 생성 - assigned(status:20)
      **************************************************/
     protected final String TASKS2_UPDATE_STATUS_AS = BASE_URL + "/tasks2/update/status/as";
+    /**************************************************
+     * tasks.status update 기능 생성 - closed(status:80)
+     **************************************************/
+    protected final String TASKS2_UPDATE_STATUS_CS = BASE_URL + "/tasks2/update/status/cs";
 
 
     @Override
@@ -541,6 +545,22 @@ public class HFNetworkUtil extends HanwhaNetworkUtil implements HFNetworkContrac
         client.request(rest, url, getDefaultHeader(context), map, BaseData.class, mCommonHanwhaNetworkCallback);
     }
 
+    @Override
+    public void requestTaskStatusCancel(@NonNull Context context,
+                                        @NonNull String encryption_member_id,
+                                        @NonNull int task_id,
+                                        @Nullable HanwhaNetworkCallback callback) {
+        HanwhaNetworkClient.REST rest = HanwhaNetworkClient.REST.POST;
+        String url = TASKS2_UPDATE_STATUS_CS;
+        HashMap<String, Object> map = new HashMap<>();
+        map.put(PARAM_ENCRYPTION_MEMBER_ID, encryption_member_id);
+        map.put(PARAM_TASK_ID, task_id);
+
+        HanwhaNetworkClient client = new HanwhaNetworkClient();
+        mHanwhaNetworkCallback = callback;
+        client.request(rest, url, getDefaultHeader(context), map, BaseData.class, mCommonHanwhaNetworkCallback);
+    }
+
     @Override
     public void requestTaskAccept(@NonNull Context context,
                                   @NonNull String encryption_member_id,