|
|
@@ -5,6 +5,7 @@ import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
import android.os.Message;
|
|
|
+import android.os.Parcelable;
|
|
|
import android.support.v4.app.Fragment;
|
|
|
import android.support.v4.app.FragmentManager;
|
|
|
import android.support.v4.app.FragmentPagerAdapter;
|
|
|
@@ -28,6 +29,7 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.common.LogUtil;
|
|
|
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.ApiConfig;
|
|
|
@@ -44,6 +46,10 @@ import com.core.utils.CommonUtil;
|
|
|
import com.core.widget.view.selectcalendar.bean.Data;
|
|
|
import com.core.widget.view.selectcalendar.bean.DataState;
|
|
|
import com.lidroid.xutils.ViewUtils;
|
|
|
+import com.me.network.app.http.HttpClient;
|
|
|
+import com.me.network.app.http.Method;
|
|
|
+import com.me.network.app.http.rx.ResultListener;
|
|
|
+import com.me.network.app.http.rx.ResultSubscriber;
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
@@ -69,7 +75,10 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
private LinearLayout ll_time_start;
|
|
|
private LinearLayout ll_time_end;
|
|
|
private LinearLayout ll_bottom;
|
|
|
+ private LinearLayout ll_time_point;//时间点
|
|
|
+ private LinearLayout ll_time_top;
|
|
|
|
|
|
+ private TextView tv_time_point;
|
|
|
private TextView tv_date_start;
|
|
|
private TextView tv_date_end;
|
|
|
|
|
|
@@ -174,6 +183,13 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
+
|
|
|
+ private String serviceId;
|
|
|
+ private String businessType;
|
|
|
+ private String companyId;
|
|
|
+ private String bookType;
|
|
|
+ private String bStartTime;
|
|
|
+ private String bEndTime;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -247,7 +263,6 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
setContentView(R.layout.activity_select_calendar);
|
|
|
initView();
|
|
|
initData();
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -255,10 +270,12 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
private Data object;
|
|
|
|
|
|
private void initView() {
|
|
|
- ViewUtils.inject(this);
|
|
|
getSupportActionBar().setTitle("选择时间");
|
|
|
|
|
|
-
|
|
|
+ ll_time_top= (LinearLayout) findViewById(R.id.ll_time_top);
|
|
|
+ ll_time_point= (LinearLayout) findViewById(R.id.ll_time_point);
|
|
|
+ tv_time_point= (TextView) findViewById(R.id.tv_time_point);
|
|
|
+
|
|
|
ll_date_start = (LinearLayout) findViewById(R.id.ll_date_start);
|
|
|
tv_date_start = (TextView) findViewById(R.id.tv_date_start);
|
|
|
v_date_start = (TextView) findViewById(R.id.v_date_start);
|
|
|
@@ -275,21 +292,35 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
viewPager = (ViewPager) findViewById(R.id.viewPager);
|
|
|
ll_bottom = (LinearLayout) findViewById(R.id.ll_bottom);
|
|
|
tv_date_end = (TextView) findViewById(R.id.tv_date_end);
|
|
|
- v_date_start= (TextView) findViewById(R.id.v_date_start);
|
|
|
- //getSupportActionBar().setSubtitle("只适合普通请假");
|
|
|
+ v_date_start = (TextView) findViewById(R.id.v_date_start);
|
|
|
swichDateButton(true);
|
|
|
Intent intent = getIntent();
|
|
|
String startDate = "";
|
|
|
String endDate = "";
|
|
|
if (intent != null) {
|
|
|
- type = intent.getIntExtra("type", 0);
|
|
|
+ type = intent.getIntExtra("type", 0); //默认是0
|
|
|
field = intent.getStringExtra("field");
|
|
|
id = intent.getIntExtra("id", 0);
|
|
|
object = intent.getParcelableExtra("object");
|
|
|
+ imId = intent.getStringExtra("imId");
|
|
|
startDate = intent.getStringExtra("startDate");
|
|
|
endDate = intent.getStringExtra("endDate");
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ serviceId=intent.getStringExtra("serviceId");
|
|
|
+ businessType=intent.getStringExtra("businessType");
|
|
|
+ bookType=intent.getStringExtra("bookType");
|
|
|
+ if (!StringUtil.isEmpty(bookType)){
|
|
|
+ if ("0".equals(bookType)){
|
|
|
+ type=3;//设置单一时间点
|
|
|
+ }else if("1".equals(bookType)){
|
|
|
+ type=1;//回到预约--设置时间段
|
|
|
+ }
|
|
|
+ }
|
|
|
+ companyId=intent.getStringExtra("companyId");
|
|
|
+
|
|
|
+ bStartTime =intent.getStringExtra("startTime");
|
|
|
+ bEndTime =intent.getStringExtra("endTime");
|
|
|
+
|
|
|
String mcaller = intent.getStringExtra("caller");
|
|
|
String bf = intent.getStringExtra("breastfeeding");
|
|
|
LogUtil.d(bf);
|
|
|
@@ -342,8 +373,14 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
Log.v("v_date_end2", v_date_end.getText().toString());
|
|
|
Log.d("currentSelectDate2", currentSelectDate);
|
|
|
}
|
|
|
+
|
|
|
+ if (type==3){
|
|
|
+ ll_time_point.setVisibility(View.VISIBLE);
|
|
|
+ ll_time_top.setVisibility(View.GONE);
|
|
|
+ tv_time_point.setText(DateFormatUtil.getStrDate4Date(new Date(),"yyyy-MM-dd HH:mm"));
|
|
|
+ }
|
|
|
}
|
|
|
- imId = intent.getStringExtra("imId");
|
|
|
+
|
|
|
}
|
|
|
initListener();
|
|
|
|
|
|
@@ -371,6 +408,9 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
//ToastMessage(modle.tv_text.getText().toString());
|
|
|
gAdapter.setSelected(position);
|
|
|
gAdapter.notifyDataSetChanged();
|
|
|
+ if (type==3){
|
|
|
+ tv_time_point.setText(tv_time_point.getText().toString().substring(0,10)+" "+modle.tv_text.getText().toString());
|
|
|
+ }
|
|
|
if (type == 2) {
|
|
|
//按时间请假:
|
|
|
if (startDate) {//按钮状态
|
|
|
@@ -453,19 +493,20 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
|
|
|
private void initData() {
|
|
|
switch (type) {
|
|
|
- case 0:
|
|
|
+ case 0://普通请假时间段选择 动态获取时间段信息
|
|
|
sendRequest();//获取班次信息
|
|
|
break;
|
|
|
- case 1:
|
|
|
- getBookingTotalTime(imId);
|
|
|
+ case 1://预约时间段---繁忙赶时间段不可点击 固定 时间间隔十五分钟
|
|
|
+ getBookingTotalTime(imId);//获取预约总时间
|
|
|
break;
|
|
|
- case 2:
|
|
|
+ case 2://预约时间段设置--在设置界面
|
|
|
initTimeData();
|
|
|
-// ll_date_end.setVisibility(View.GONE);
|
|
|
-// ll_date_start.setVisibility(View.GONE);
|
|
|
viewPager.setVisibility(View.GONE);
|
|
|
currentSelectDate = "";
|
|
|
break;
|
|
|
+ case 3://时间点选择 固定时间间隔半小时
|
|
|
+ getBServiceTimes();
|
|
|
+ break;
|
|
|
}
|
|
|
initCalender();
|
|
|
}
|
|
|
@@ -557,9 +598,9 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
if (!ListUtils.isEmpty(mTimeData)) {
|
|
|
mTimeData.clear();
|
|
|
}
|
|
|
- if (type == 0) {
|
|
|
+ if (type == 0||type==3) {
|
|
|
initTimeData(30);
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
initTimeData(15);
|
|
|
}
|
|
|
if (mContext != null) {
|
|
|
@@ -589,6 +630,13 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
gv_date_list.setAdapter(gAdapter);
|
|
|
}
|
|
|
}
|
|
|
+ if (type==3){
|
|
|
+ mTimeData.addAll(timeAddMuilt(bStartTime, bEndTime, 30));
|
|
|
+ if (mContext != null) {
|
|
|
+ gAdapter = new GridDataAdapter(mContext, mTimeData);
|
|
|
+ gv_date_list.setAdapter(gAdapter);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public void parsedResult(String result) {
|
|
|
@@ -741,120 +789,129 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
- if (v.getId() == R.id.ll_date_start){
|
|
|
+ if (v.getId() == R.id.ll_date_start) {
|
|
|
startDate = true;
|
|
|
ll_date_end.setEnabled(true);
|
|
|
swichDateButton(startDate);
|
|
|
- }else if (v.getId() == R.id.ll_date_end){
|
|
|
+ } else if (v.getId() == R.id.ll_date_end) {
|
|
|
startDate = false;
|
|
|
swichDateButton(startDate);
|
|
|
v_date_end.setText(v_date_start.getText().toString());
|
|
|
- }else if (v.getId() == R.id.ll_time_start){
|
|
|
+ } else if (v.getId() == R.id.ll_time_start) {
|
|
|
startTime = true;
|
|
|
ll_time_end.setEnabled(true);
|
|
|
swichTimeButton(startTime);
|
|
|
- }else if (v.getId() == R.id.ll_time_end){
|
|
|
- startTime = false;
|
|
|
- swichTimeButton(startTime);
|
|
|
- v_date_end.setText(v_date_start.getText().toString());
|
|
|
- }else if (v.getId() == R.id.click_btn){
|
|
|
- if (swich) {
|
|
|
- //时间段
|
|
|
- if (!StringUtil.isEmpty(v_date_start.getText().toString()) && !
|
|
|
- StringUtil.isEmpty(v_date_end.getText().toString())) {
|
|
|
- if (!checkDateStr(v_date_end.getText().toString() + " " + v_time_end.getText().toString())) {
|
|
|
- if (type == 1) {
|
|
|
- ToastMessage("不能预约过去时间!");
|
|
|
- } else {
|
|
|
- ToastMessage("结束时间 请选择具体时间点!");
|
|
|
- }
|
|
|
- return;
|
|
|
+ } else if (v.getId() == R.id.ll_time_end) {
|
|
|
+ startTime = false;
|
|
|
+ swichTimeButton(startTime);
|
|
|
+ v_date_end.setText(v_date_start.getText().toString());
|
|
|
+ } else if (v.getId() == R.id.click_btn) {
|
|
|
+ if (type==3){
|
|
|
+ if (!StringUtil.isEmpty(tv_time_point.getText().toString())){
|
|
|
+ Intent intent = new Intent();
|
|
|
+ intent.putExtra("startDate", tv_time_point.getText().toString());
|
|
|
+ setResult(0x11, intent);
|
|
|
+ finish();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (swich) {
|
|
|
+ //时间段
|
|
|
+ if (!StringUtil.isEmpty(v_date_start.getText().toString()) && !
|
|
|
+ StringUtil.isEmpty(v_date_end.getText().toString())) {
|
|
|
+ if (!checkDateStr(v_date_end.getText().toString() + " " + v_time_end.getText().toString())) {
|
|
|
+ if (type == 1) {
|
|
|
+ ToastMessage("不能预约过去时间!");
|
|
|
+ } else {
|
|
|
+ ToastMessage("结束时间 请选择具体时间点!");
|
|
|
}
|
|
|
- if (!checkDateStr(v_date_start.getText().toString() + " " + v_time_start.getText().toString())) {
|
|
|
- if (type == 1) {
|
|
|
- ToastMessage("不能预约过去时间!");
|
|
|
- } else {
|
|
|
- ToastMessage("开始时间 请选择具体时间点!");
|
|
|
- }
|
|
|
- return;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!checkDateStr(v_date_start.getText().toString() + " " + v_time_start.getText().toString())) {
|
|
|
+ if (type == 1) {
|
|
|
+ ToastMessage("不能预约过去时间!");
|
|
|
+ } else {
|
|
|
+ ToastMessage("开始时间 请选择具体时间点!");
|
|
|
}
|
|
|
- Intent intent = new Intent();
|
|
|
- intent.putExtra("startDate", v_date_start.getText().toString() + " " + v_time_start.getText().toString());
|
|
|
- intent.putExtra("endDate", v_date_end.getText().toString() + " " + v_time_end.getText().toString());
|
|
|
- intent.putExtra("object", object);
|
|
|
- intent.putExtra("field", field);
|
|
|
- intent.putExtra("id", id);
|
|
|
- setResult(0x11, intent);
|
|
|
- finish();
|
|
|
-
|
|
|
- } else {
|
|
|
- ToastMessage("请选择开始时间和结束时间!");
|
|
|
+ return;
|
|
|
}
|
|
|
+ Intent intent = new Intent();
|
|
|
+ intent.putExtra("startDate", v_date_start.getText().toString() + " " + v_time_start.getText().toString());
|
|
|
+ intent.putExtra("endDate", v_date_end.getText().toString() + " " + v_time_end.getText().toString());
|
|
|
+ intent.putExtra("object", object);
|
|
|
+ intent.putExtra("field", field);
|
|
|
+ intent.putExtra("id", id);
|
|
|
+ setResult(0x11, intent);
|
|
|
+ finish();
|
|
|
+
|
|
|
} else {
|
|
|
- //时间
|
|
|
- if (!StringUtil.isEmpty(v_date_start.getText().toString()) && !
|
|
|
- StringUtil.isEmpty(v_date_end.getText().toString())) {
|
|
|
- if (type == 2) {
|
|
|
- setResultIntent();
|
|
|
- return;
|
|
|
+ ToastMessage("请选择开始时间和结束时间!");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //时间
|
|
|
+ if (!StringUtil.isEmpty(v_date_start.getText().toString()) && !
|
|
|
+ StringUtil.isEmpty(v_date_end.getText().toString())) {
|
|
|
+ if (type == 2) {
|
|
|
+ setResultIntent();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!checkDateStr(v_date_end.getText().toString())) {
|
|
|
+ if (type == 1) {
|
|
|
+ ToastMessage("不能预约过去时间!");
|
|
|
+ } else {
|
|
|
+ ToastMessage("结束时间 请选择具体时间点!");
|
|
|
}
|
|
|
- if (!checkDateStr(v_date_end.getText().toString())) {
|
|
|
- if (type == 1) {
|
|
|
- ToastMessage("不能预约过去时间!");
|
|
|
- } else {
|
|
|
- ToastMessage("结束时间 请选择具体时间点!");
|
|
|
- }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!checkDateStr(v_date_start.getText().toString())) {
|
|
|
+ if (type == 1) {
|
|
|
+ ToastMessage("不能预约过去时间!");
|
|
|
+ } else {
|
|
|
+ ToastMessage("开始时间 请选择具体时间点!");
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (type == 1) {
|
|
|
+ if (v_date_start.getText().toString().compareTo(DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS)) < 0) {
|
|
|
+ ToastMessage("不能预约过去的时间!");
|
|
|
return;
|
|
|
}
|
|
|
- if (!checkDateStr(v_date_start.getText().toString())) {
|
|
|
- if (type == 1) {
|
|
|
- ToastMessage("不能预约过去时间!");
|
|
|
- } else {
|
|
|
- ToastMessage("开始时间 请选择具体时间点!");
|
|
|
- }
|
|
|
+ //类型等于小秘书的时候
|
|
|
+ //判断不能跨天预约
|
|
|
+ if (!v_date_end.getText().toString().substring(0, 10).equals(v_date_start.getText().toString().substring(0, 10))) {
|
|
|
+ ToastMessage("不能跨天预约!");
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- if (type == 1) {
|
|
|
- if (v_date_start.getText().toString().compareTo(DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS)) < 0) {
|
|
|
- ToastMessage("不能预约过去的时间!");
|
|
|
- return;
|
|
|
- }
|
|
|
- //类型等于小秘书的时候
|
|
|
- //判断不能跨天预约
|
|
|
- if (!v_date_end.getText().toString().substring(0, 10).equals(v_date_start.getText().toString().substring(0, 10))) {
|
|
|
- ToastMessage("不能跨天预约!");
|
|
|
- return;
|
|
|
- }
|
|
|
- //判断时间段不能有被预约的天数
|
|
|
- String start = v_date_start.getText().toString().substring(11, 16);
|
|
|
- String end = v_date_end.getText().toString().substring(11, 16);
|
|
|
- List<DataState> dataStates = timeAddMuilt(start, end, 15);
|
|
|
- for (int i = 0; i < dataStates.size(); i++) {
|
|
|
- DataState dataState = dataStates.get(i);
|
|
|
- for (int j = 0; j < totals.size(); j++) {
|
|
|
- DataState nData = totals.get(j);
|
|
|
- if (dataState.getValue().equals(nData.getValue())) {
|
|
|
- ToastMessage("该时间段不能预约!");
|
|
|
- return;
|
|
|
- }
|
|
|
+ //判断时间段不能有被预约的天数
|
|
|
+ String start = v_date_start.getText().toString().substring(11, 16);
|
|
|
+ String end = v_date_end.getText().toString().substring(11, 16);
|
|
|
+ List<DataState> dataStates = timeAddMuilt(start, end, 15);
|
|
|
+ for (int i = 0; i < dataStates.size(); i++) {
|
|
|
+ DataState dataState = dataStates.get(i);
|
|
|
+ for (int j = 0; j < totals.size(); j++) {
|
|
|
+ DataState nData = totals.get(j);
|
|
|
+ if (dataState.getValue().equals(nData.getValue())) {
|
|
|
+ ToastMessage("该时间段不能预约!");
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //结束时间不能小于或等于开始时间
|
|
|
- if (v_date_end.getText().toString().compareTo(v_date_start.getText().toString()) <= 0) {
|
|
|
- ToastMessage("结束时间不能小于或等于开始时间");
|
|
|
- return;
|
|
|
- }
|
|
|
- //getUsersBusyTime();
|
|
|
- //return;
|
|
|
}
|
|
|
- setResultIntent();
|
|
|
|
|
|
- } else {
|
|
|
- ToastMessage("请选择开始时间和结束时间!");
|
|
|
+ //结束时间不能小于或等于开始时间
|
|
|
+ if (v_date_end.getText().toString().compareTo(v_date_start.getText().toString()) <= 0) {
|
|
|
+ ToastMessage("结束时间不能小于或等于开始时间");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //getUsersBusyTime();
|
|
|
+ //return;
|
|
|
}
|
|
|
+ setResultIntent();
|
|
|
+
|
|
|
+ } else {
|
|
|
+ ToastMessage("请选择开始时间和结束时间!");
|
|
|
}
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -869,24 +926,7 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
finish();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * @desc:获取用户的繁忙时间
|
|
|
- * @author:Arison on 2017/7/11
|
|
|
- */
|
|
|
-// public void getUsersBusyTime() {
|
|
|
-// String time = DateFormatUtil.getStrDate4String(v_date_end.getText().toString().replace("-", ""), "yyyyMMdd");
|
|
|
-// String url = Constants.IM_BASE_URL + "user/appBusytime";
|
|
|
-// Map<String, Object> params = new HashMap<>();
|
|
|
-// params.put("token", MyApplication.getInstance().mAccessToken);
|
|
|
-// params.put("userid", MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
-// params.put("yearmonth", time);
|
|
|
-// LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
-// headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
-// ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x08, null, null, "post");
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* @desc:发送网络请求
|
|
|
* @author:Arison on 2017/2/15
|
|
|
@@ -1064,12 +1104,19 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
}
|
|
|
|
|
|
/*当点击了指定日期(点击日期、滑动时候触发)*/
|
|
|
+ /**
|
|
|
+ * @desc:点击日历控件触发
|
|
|
+ * @author:Arison on 2017/10/12
|
|
|
+ */
|
|
|
public void setClickDay(Date date) {
|
|
|
currentSelectDate = DateFormatUtil.getStrDate4Date(date, "yyyy-MM-dd");
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
c.setTime(date);
|
|
|
selectDay = c.get(Calendar.DAY_OF_MONTH);
|
|
|
String today = DateFormatUtil.long2Str(DateFormatUtil.YMD);
|
|
|
+ if (type==3){
|
|
|
+ tv_time_point.setText(currentSelectDate);
|
|
|
+ }
|
|
|
if (today.compareTo(currentSelectDate) > 0 && type == 1) {
|
|
|
ToastMessage("不能预约过去时间");
|
|
|
//按时间
|
|
|
@@ -1117,10 +1164,10 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //ToastMessage(currentSelectDate);
|
|
|
getBookingTime(imId);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1218,4 +1265,91 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private void parseSBookTimeResult(String result) {
|
|
|
+ String busytime = JSON.parseObject(result).getString("reslut");
|
|
|
+ JSONArray jsonArray = JSON.parseArray(busytime);
|
|
|
+ if (totals != null) totals.clear();
|
|
|
+ if (jsonArray != null) {
|
|
|
+ if (jsonArray.size() != 0) {
|
|
|
+ for (int i = 0; i < jsonArray.size(); i++) {
|
|
|
+ JSONObject object = jsonArray.getJSONObject(i);
|
|
|
+ String sDate = object.getString("sb_starttime");
|
|
|
+ String eDate = object.getString("sb_endtime");
|
|
|
+ sDate = sDate.substring(11, 16);
|
|
|
+ eDate = eDate.substring(11, 16);
|
|
|
+ LogUtil.d("Test", "时间段:" + sDate + "-" + eDate);
|
|
|
+ List<DataState> dataStates = timeAddMuilt(sDate, eDate, 15);
|
|
|
+ totals.addAll(dataStates);
|
|
|
+ }
|
|
|
+ LogUtil.d("Test", "被预约的时间段:" + JSON.toJSONString(totals));
|
|
|
+ for (int j = 0; j < mTimeData.size(); j++) {
|
|
|
+ DataState dataState = mTimeData.get(j);
|
|
|
+ mTimeData.get(j).setClicked(true);
|
|
|
+ for (int n = 0; n < totals.size(); n++) {
|
|
|
+ DataState nDataState = totals.get(n);
|
|
|
+ if (dataState.getValue().equals(nDataState.getValue())) {
|
|
|
+ dataState.setClicked(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (gAdapter != null) {
|
|
|
+ gAdapter.notifyDataSetChanged();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ initTimeData();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ initTimeData();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //服务预约时间段
|
|
|
+ private void getBServiceTimes(){
|
|
|
+ String ym;
|
|
|
+ if (startDate) {
|
|
|
+ ym = DateFormatUtil.formatChange(v_date_start.getText().toString().replace("-", ""), "yyyyMMdd");
|
|
|
+ } else {
|
|
|
+ ym = DateFormatUtil.formatChange(v_date_end.getText().toString().replace("-", ""), "yyyyMMdd");
|
|
|
+ }
|
|
|
+ LogUtil.d("HttpLogs","businessType:"+businessType);
|
|
|
+ LogUtil.d("HttpLogs","serviceId:"+serviceId);
|
|
|
+ LogUtil.d("HttpLogs","ym:"+ym);
|
|
|
+ LogUtil.d("HttpLogs","companyId:"+companyId);
|
|
|
+ HttpClient httpClient=new HttpClient.Builder(Constants.IM_BASE_URL).isDebug(true).build();
|
|
|
+ httpClient.Api().send(new HttpClient.Builder()
|
|
|
+ .url("user/appServiceBusytime")
|
|
|
+ .add("type",businessType)
|
|
|
+ .add("commonid",serviceId)
|
|
|
+ .add("yearmonth",ym)
|
|
|
+ .add("companyid",companyId)
|
|
|
+ .add("token",MyApplication.getInstance().mAccessToken)
|
|
|
+ .method(Method.GET)
|
|
|
+ .build(),new ResultSubscriber<Object>(new ResultListener<Object>() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onResponse(Object o) {
|
|
|
+ LogUtil.d("HttpLogs","result:"+o.toString());
|
|
|
+ if (JSONUtil.validate(o.toString())){
|
|
|
+ String result = o.toString();
|
|
|
+ final String resu = result;
|
|
|
+ try {
|
|
|
+ OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ parseSBookTimeResult(resu);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (Exception e) {
|
|
|
+ initTimeData();
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ initTimeData();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
}
|