|
|
@@ -116,12 +116,15 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
|
|
|
if (isSubmiting) return;
|
|
|
List<MissionModel> plans = new ArrayList<>();
|
|
|
for (MissionModel e : models) {
|
|
|
+ LogUtil.i("==" + JSON.toJSONString(e));
|
|
|
if (e.getStatus() != 0) {
|
|
|
plans.add(e);
|
|
|
}
|
|
|
}
|
|
|
MissionModel mission = reckonMission(plans);//判断
|
|
|
- if (mission != null) {
|
|
|
+ if (mission == null) {
|
|
|
+ iMission.showToast("无可签到签退的计划", R.color.load_error);
|
|
|
+ } else {
|
|
|
LogUtil.i(JSON.toJSONString(mission));
|
|
|
signinMission(mission);
|
|
|
}
|
|
|
@@ -360,8 +363,11 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
|
|
|
if (!ListUtils.isEmpty(models)) {
|
|
|
if (iMission != null) {
|
|
|
iMission.dimssLoading();
|
|
|
- for (int i = 0; i < models.size(); i++)
|
|
|
- models.get(i).setStatus(1);
|
|
|
+ for (int i = 0; i < models.size(); i++) {
|
|
|
+ if (models.get(i).getStatus() == 0) {
|
|
|
+ models.get(i).setStatus(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (modelIntent != null) {
|
|
|
modelIntent.setStatus(0);
|
|
|
models.add(modelIntent);
|
|
|
@@ -466,20 +472,23 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
|
|
|
/**
|
|
|
* 更新外勤计划状态
|
|
|
*
|
|
|
- * @param id 外勤id
|
|
|
- * @param isDone 是否已完成,否则未签退
|
|
|
+ * @param mission 外勤id
|
|
|
+ * @param isDone 是否已完成,否则未签退
|
|
|
*/
|
|
|
- public void endMission(int id, boolean isDone) {
|
|
|
- if (id == 0) return;
|
|
|
+ public void endMission(MissionModel mission, boolean isDone) {
|
|
|
+ if (mission == null) return;
|
|
|
boolean isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
- param.put("id", id);
|
|
|
+ param.put("id", mission.getId());
|
|
|
String url = isB2b ? ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().updateOutplanStatus : "mobile/mobileplanUpdate.action";
|
|
|
if (isB2b)
|
|
|
param.put("statuscode", isDone ? "done" : "CHECKOUT");
|
|
|
+ Bundle bundle = new Bundle();
|
|
|
+ bundle.putParcelable("data", mission);
|
|
|
Request request = new Request.Bulider()
|
|
|
.setWhat(END_MISSION)
|
|
|
.setUrl(url)
|
|
|
+ .setBundle(bundle)
|
|
|
.setParam(param)
|
|
|
.setMode(Request.Mode.POST)
|
|
|
.bulid();
|
|
|
@@ -551,15 +560,16 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
|
|
|
}
|
|
|
break;
|
|
|
case SIGNIN_MISSION:
|
|
|
- if (JSON.parseObject(message).containsKey("success") && JSON.parseObject(message).getBoolean("success")) {
|
|
|
+ if (JSONUtil.getBoolean(message, "success")) {
|
|
|
//成功 更新数据库
|
|
|
if (bundle != null) {
|
|
|
MissionModel mission = bundle.getParcelable("data");
|
|
|
- if (mission == null) {
|
|
|
+ if (mission != null) {
|
|
|
if (mission.getStatus() == 2) {//签退
|
|
|
iMission.showToast("手动签退成功", R.color.load_error);
|
|
|
- endMission(mission.getId(), false);
|
|
|
+ endMission(mission, false);
|
|
|
} else {
|
|
|
+ iMission.showToast("手动签到成功", R.color.load_error);
|
|
|
loadMissionPlan();
|
|
|
}
|
|
|
}
|
|
|
@@ -567,6 +577,13 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
|
|
|
}
|
|
|
break;
|
|
|
case END_MISSION:
|
|
|
+ if (bundle != null) {
|
|
|
+ MissionModel mission = bundle.getParcelable("data");
|
|
|
+ if (mission != null) {
|
|
|
+ mission.setStatus(2);
|
|
|
+ MissionDao.getInstance().updata(mission);
|
|
|
+ }
|
|
|
+ }
|
|
|
loadMissionPlan();
|
|
|
break;
|
|
|
case FIND_LIKER:
|
|
|
@@ -584,7 +601,6 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
break;
|
|
|
}
|
|
|
}
|