|
|
@@ -3,6 +3,8 @@ package com.uas.appworks.activity;
|
|
|
import android.content.Intent;
|
|
|
import android.graphics.Color;
|
|
|
import android.os.Bundle;
|
|
|
+import android.os.Handler;
|
|
|
+import android.os.Message;
|
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.TextUtils;
|
|
|
@@ -11,7 +13,9 @@ import android.view.Menu;
|
|
|
import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
+import android.widget.AdapterView;
|
|
|
import android.widget.Button;
|
|
|
+import android.widget.ImageView;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
@@ -22,13 +26,20 @@ import com.common.data.DateFormatUtil;
|
|
|
import com.common.data.JSONUtil;
|
|
|
import com.common.data.ListUtils;
|
|
|
import com.common.data.StringUtil;
|
|
|
+import com.core.api.wxapi.ApiUAS;
|
|
|
+import com.core.api.wxapi.ApiUtils;
|
|
|
import com.core.app.MyApplication;
|
|
|
import com.core.model.MissionModel;
|
|
|
+import com.core.net.http.ViewUtil;
|
|
|
import com.core.utils.CommonUtil;
|
|
|
import com.core.utils.ToastUtil;
|
|
|
import com.core.utils.WorkHandlerUtil;
|
|
|
+import com.core.utils.sp.UserSp;
|
|
|
+import com.core.widget.view.MyGridView;
|
|
|
import com.modular.apputils.activity.BaseNetActivity;
|
|
|
+import com.modular.apputils.adapter.EasyBaseAdapter;
|
|
|
import com.modular.apputils.listener.OnSmartHttpListener;
|
|
|
+import com.modular.apputils.model.EasyBaseModel;
|
|
|
import com.modular.apputils.network.Parameter;
|
|
|
import com.modular.apputils.network.Tags;
|
|
|
import com.modular.apputils.widget.compactcalender.CompactCalendarView;
|
|
|
@@ -36,8 +47,10 @@ import com.modular.apputils.widget.compactcalender.Lunar;
|
|
|
import com.modular.apputils.widget.compactcalender.domain.Event;
|
|
|
import com.modular.booking.activity.business.BBookingDetailActivity;
|
|
|
import com.modular.booking.activity.services.BServiceAddActivity;
|
|
|
+import com.modular.booking.activity.shares.BBSharesListActivity;
|
|
|
import com.modular.booking.model.BookingModel;
|
|
|
import com.modular.booking.model.SBListModel;
|
|
|
+import com.uas.appworks.OA.erp.activity.AddMeetingActivity;
|
|
|
import com.uas.appworks.OA.erp.activity.CommonDocDetailsActivity;
|
|
|
import com.uas.appworks.OA.erp.activity.MeetDetailsActivity;
|
|
|
import com.uas.appworks.OA.erp.activity.MissionActivity;
|
|
|
@@ -50,8 +63,11 @@ import com.uas.appworks.utils.ScheduleUtils;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Locale;
|
|
|
+import java.util.Map;
|
|
|
import java.util.TimeZone;
|
|
|
|
|
|
public class ScheduleActivity extends BaseNetActivity {
|
|
|
@@ -67,6 +83,7 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
private String lastMonth;
|
|
|
private String mCurrentDateStr;
|
|
|
private ScheduleAdapter mScheduleAdapter;
|
|
|
+ private ArrayList<BookingModel> mShareDatas = new ArrayList<>();
|
|
|
|
|
|
@Override
|
|
|
public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
@@ -92,8 +109,8 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
|
|
|
@Override
|
|
|
protected void init() throws Exception {
|
|
|
+ initAdd();
|
|
|
initView();
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -101,6 +118,83 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
return CommonUtil.getSchedulerBaseUrl();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private void initAdd() {
|
|
|
+ MyGridView addGridView = findViewById(R.id.addGridView);
|
|
|
+ addGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
|
|
|
+ switch ((int) l) {
|
|
|
+ case 0:
|
|
|
+ startActivityForResult(new Intent("com.ui.erp.activity.secretary.BookingAddActivity")
|
|
|
+ .putExtra("whichPage", "ScheduleActivity"), 0x11);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ startActivityForResult(new Intent(ct, SchedulerCreateActivity.class), 0x11);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ startActivityForResult(new Intent(ct, BBSharesListActivity.class).putParcelableArrayListExtra("model", mShareDatas), 0x11);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ startActivityForResult(new Intent(ct, MissionActivity.class), 0x11);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ Intent intent = new Intent("com.modular.form.TravelDataFormDetailActivity");
|
|
|
+ if (ApiUtils.getApiModel() instanceof ApiUAS) {
|
|
|
+ String travelCaller = CommonUtil.getSharedPreferences(ct, com.core.app.Constants.WORK_TRAVEL_CALLER_CACHE);
|
|
|
+ if (!TextUtils.isEmpty(travelCaller) && "FeePlease!CCSQ!new".equals(travelCaller)) {
|
|
|
+ intent.putExtra("caller", travelCaller);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intent.setAction("com.modular.form.DataFormDetailActivity");
|
|
|
+ startActivityForResult(intent, 0x11);
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ startActivityForResult(new Intent(ct, AddMeetingActivity.class), 0x11);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ addGridView.setAdapter(new EasyBaseAdapter(ct, getAddItems()) {
|
|
|
+ @Override
|
|
|
+ public View bindView(View view, int position, EasyBaseModel model) {
|
|
|
+ ViewHolder mViewHolder = null;
|
|
|
+ if (view.getTag() == null) {
|
|
|
+ mViewHolder = new ViewHolder();
|
|
|
+ mViewHolder.iconIv = view.findViewById(R.id.iconIv);
|
|
|
+ mViewHolder.titleTv = view.findViewById(R.id.titleTv);
|
|
|
+ view.setTag(mViewHolder);
|
|
|
+ } else {
|
|
|
+ mViewHolder = (ViewHolder) view.getTag();
|
|
|
+ }
|
|
|
+ mViewHolder.iconIv.setImageResource(model.getIconId());
|
|
|
+ mViewHolder.titleTv.setText(model.getTitle());
|
|
|
+ return view;
|
|
|
+ }
|
|
|
+
|
|
|
+ class ViewHolder {
|
|
|
+ private ImageView iconIv;
|
|
|
+ private TextView titleTv;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getLayoutRes() {
|
|
|
+ return R.layout.item_schedule_add_menu;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<EasyBaseModel> getAddItems() {
|
|
|
+ List<EasyBaseModel> models = new ArrayList<>();
|
|
|
+ models.add(new EasyBaseModel().setTitle("个人预约").setIconId(R.drawable.booking_personal));
|
|
|
+ models.add(new EasyBaseModel().setTitle("新建日程").setIconId(R.drawable.ic_create_scheduler_menu));
|
|
|
+ models.add(new EasyBaseModel().setTitle("预约共享").setIconId(R.drawable.booking_share));
|
|
|
+ models.add(new EasyBaseModel().setTitle("外勤计划").setIconId(R.drawable.ic_create_mission_menu));
|
|
|
+ models.add(new EasyBaseModel().setTitle("出差申请").setIconId(R.drawable.ic_create_work_out_menu));
|
|
|
+ models.add(new EasyBaseModel().setTitle("会议申请").setIconId(R.drawable.ic_create_meeting_menu));
|
|
|
+ return models;
|
|
|
+ }
|
|
|
+
|
|
|
private void initView() {
|
|
|
mCurrentDate = new Date();
|
|
|
mCurrentDateStr = DateFormatUtil.date2Str(mCurrentDate, "yyyy-MM-dd");
|
|
|
@@ -155,6 +249,57 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void loadListData(String month) {
|
|
|
+ if (TextUtils.isEmpty(month)) return;
|
|
|
+ month = month.replace("-", "");
|
|
|
+ String url = com.core.app.Constants.IM_BASE_URL() + "user/appBookingList";
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("token", UserSp.getInstance(MyApplication.getInstance()).getAccessToken(""));
|
|
|
+ params.put("userid", MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
+ params.put("telephone", UserSp.getInstance(MyApplication.getInstance()).getTelephone(""));
|
|
|
+ params.put("yearmonth", month);
|
|
|
+ LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x01, null, null, "post");
|
|
|
+ }
|
|
|
+
|
|
|
+ private Handler mHandler = new Handler() {
|
|
|
+ @Override
|
|
|
+ public void handleMessage(Message msg) {
|
|
|
+ try {
|
|
|
+ if (msg.what == 0x01) {
|
|
|
+ String result = msg.getData().getString("result");
|
|
|
+ JSONArray shareArray = JSON.parseArray(JSON.parseObject(result).getString("sharelist"));
|
|
|
+ mShareDatas.clear();
|
|
|
+ if (shareArray != null) {
|
|
|
+ for (int i = 0; i < shareArray.size(); i++) {
|
|
|
+ JSONObject object = shareArray.getJSONObject(i);
|
|
|
+ BookingModel model = new BookingModel();
|
|
|
+ model.setAb_address(object.getString("ab_address"));
|
|
|
+ model.setAb_bman(object.getString("ab_bman"));
|
|
|
+ model.setAb_bmanid(object.getString("ab_bmanid"));
|
|
|
+ model.setAd_reason(object.getString("ad_reason"));
|
|
|
+ model.setAb_confirmstatus(object.getString("ab_confirmstatus"));
|
|
|
+ model.setAb_content(object.getString("ab_content"));
|
|
|
+ model.setAb_endtime(object.getString("ab_endtime"));
|
|
|
+ model.setAb_id(object.getString("ab_id"));
|
|
|
+ model.setAb_latitude(object.getString("ab_latitude"));
|
|
|
+ model.setAb_longitude(object.getString("ab_longitude"));
|
|
|
+ model.setAb_recorddate(object.getString("ab_recorddate"));
|
|
|
+ model.setAb_recordid(object.getString("ab_recordid"));
|
|
|
+ model.setAb_recordman(object.getString("ab_recordman"));
|
|
|
+ model.setAb_sharestatus(object.getString("ab_sharestatus"));
|
|
|
+ model.setAb_starttime(object.getString("ab_starttime"));
|
|
|
+ model.setAb_type(object.getString("ab_type"));
|
|
|
+ model.setKind(object.getString("kind"));
|
|
|
+ mShareDatas.add(model);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
private void loadByMonth(String month) {
|
|
|
requestHttp(new Parameter.Builder()
|
|
|
@@ -167,6 +312,7 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
.url("schedule/getByMonthSchedule")
|
|
|
.record(LOAD_MONTH)
|
|
|
, mOnSmartHttpListener);
|
|
|
+ loadListData(month);
|
|
|
}
|
|
|
|
|
|
private void loadByDay(String dateStr) {
|
|
|
@@ -199,7 +345,6 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
dismissProgress();
|
|
|
} catch (Exception e) {
|
|
|
LogUtil.i("gong", "e=" + e.getMessage());
|
|
|
-
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -222,10 +367,10 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
cal.set(Calendar.MILLISECOND, 0);
|
|
|
long startTime = cal.getTimeInMillis();
|
|
|
long endTime = cal.getTimeInMillis() + 24 * 60 * 60 * 1000;
|
|
|
- List<Schedule> systemSchedule =null;
|
|
|
- try{
|
|
|
- systemSchedule = ScheduleUtils.getSystemCalendar(MyApplication.getInstance(), startTime, endTime);
|
|
|
- }catch (Exception e){
|
|
|
+ List<Schedule> systemSchedule = null;
|
|
|
+ try {
|
|
|
+ systemSchedule = ScheduleUtils.getSystemCalendar(MyApplication.getInstance(), startTime, endTime);
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
|
}
|
|
|
if (!ListUtils.isEmpty(jsonArray)) {
|
|
|
@@ -258,7 +403,9 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- schedules.addAll(systemSchedule);
|
|
|
+ if (!ListUtils.isEmpty(systemSchedule)) {
|
|
|
+ schedules.addAll(systemSchedule);
|
|
|
+ }
|
|
|
} else {
|
|
|
schedules = systemSchedule;
|
|
|
}
|
|
|
@@ -354,7 +501,7 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
((CreateViewHoder) holder).createBookBtn.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
- startActivityForResult(new Intent("com.modular.booking.BookingListActivity").putExtra("whichPage","ScheduleActivity"), 0x11);
|
|
|
+ startActivityForResult(new Intent("com.modular.booking.BookingListActivity").putExtra("whichPage", "ScheduleActivity"), 0x11);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -399,10 +546,10 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
startActivity(new Intent(ct, MeetDetailsActivity.class)
|
|
|
.putExtra("data", meetEntity));
|
|
|
} else if ("外勤".equals(mSchedule.getType())) {
|
|
|
- MissionModel mission= WorkHandlerUtil.handlerEntity(false, JSON.parseObject(mSchedule.getDetails()));
|
|
|
+ MissionModel mission = WorkHandlerUtil.handlerEntity(false, JSON.parseObject(mSchedule.getDetails()));
|
|
|
mission.setStatus(5);
|
|
|
startActivity(new Intent(ct, MissionActivity.class).putExtra("model", mission)
|
|
|
- .putExtra("showSubmit",false));
|
|
|
+ .putExtra("showSubmit", false));
|
|
|
} else if ("出差".equals(mSchedule.getType())) {
|
|
|
if (JSONUtil.validateJSONObject(mSchedule.getDetails())) {
|
|
|
JSONObject object = JSON.parseObject(mSchedule.getDetails());
|
|
|
@@ -414,7 +561,7 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
.putExtra("caller", caller)
|
|
|
.putExtra("title", "出差单")
|
|
|
.putExtra("keyValue", keyId)
|
|
|
- .putExtra("status", TextUtils.isEmpty(status)?"已提交":status));
|
|
|
+ .putExtra("status", TextUtils.isEmpty(status) ? "已提交" : status));
|
|
|
}
|
|
|
} else {
|
|
|
startActivityForResult(new Intent(ct, SchedulerCreateActivity.class)
|
|
|
@@ -485,7 +632,7 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
|
|
|
@Override
|
|
|
public int getItemCount() {
|
|
|
- return ListUtils.getSize(mSchedules) + 1;
|
|
|
+ return ListUtils.getSize(mSchedules);
|
|
|
}
|
|
|
|
|
|
class ViewHoder extends RecyclerView.ViewHolder {
|
|
|
@@ -509,7 +656,7 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
}
|
|
|
|
|
|
class CreateViewHoder extends RecyclerView.ViewHolder {
|
|
|
- Button createBtn,createBookBtn;
|
|
|
+ Button createBtn, createBookBtn;
|
|
|
|
|
|
public CreateViewHoder(View itemView) {
|
|
|
super(itemView);
|
|
|
@@ -522,7 +669,7 @@ public class ScheduleActivity extends BaseNetActivity {
|
|
|
@Override
|
|
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
|
- if (requestCode == 0x11 && resultCode == 0x11) {
|
|
|
+ if (requestCode == 0x11) {
|
|
|
loadByMonth(lastMonth);
|
|
|
String dayStr = TextUtils.isEmpty(monthTv.getText()) ? DateFormatUtil.long2Str(DateFormatUtil.YMD) : monthTv.getText().toString();
|
|
|
loadByDay(dayStr);
|