|
|
@@ -21,14 +21,17 @@ import android.widget.BaseAdapter;
|
|
|
import android.widget.Button;
|
|
|
import android.widget.LinearLayout;
|
|
|
import android.widget.TextView;
|
|
|
+import android.widget.Toast;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.lidroid.xutils.ViewUtils;
|
|
|
import com.lidroid.xutils.view.annotation.ViewInject;
|
|
|
import com.xzjmyk.pm.activity.MyApplication;
|
|
|
import com.xzjmyk.pm.activity.R;
|
|
|
import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.activity.secretary.DataState;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.fragment.CalendarDateFragmet;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.model.form.Data;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
|
|
|
@@ -96,7 +99,7 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
@ViewInject(R.id.click_btn)
|
|
|
private Button click_btn;
|
|
|
|
|
|
- private List<String> mTimeData = new ArrayList<>();
|
|
|
+ private List<DataState> mTimeData = new ArrayList<>();
|
|
|
private GridDataAdapter gAdapter;
|
|
|
private PagerAdapter pagerAdapter;//当前Viewpager适配器
|
|
|
|
|
|
@@ -126,12 +129,39 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
LogUtil.d(msg.getData().getString("result"));
|
|
|
parsedResult(msg.getData().getString("result"));
|
|
|
break;
|
|
|
+ case 0x06:
|
|
|
+ String result;
|
|
|
+ try {
|
|
|
+ result = msg.getData().getString("result");
|
|
|
+ parseBookTimeResult(result);
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 0x07:
|
|
|
+ try {
|
|
|
+ result = msg.getData().getString("result");
|
|
|
+ String endtime=JSON.parseObject(result).getString("endtime");
|
|
|
+ String starttime=JSON.parseObject(result).getString("starttime");
|
|
|
+ if (!ListUtils.isEmpty(mTimeData)) {
|
|
|
+ mTimeData.clear();
|
|
|
+ }
|
|
|
+ mTimeData.addAll(timeAddMuilt(starttime,endtime,15));
|
|
|
+ gAdapter = new GridDataAdapter(mContext, mTimeData);
|
|
|
+ gv_date_list.setAdapter(gAdapter);
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ break;
|
|
|
case Constants.APP_SOCKETIMEOUTEXCEPTION:
|
|
|
initGridData();
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private Boolean mWorkovertime = false;
|
|
|
private String start_hour_min = "";
|
|
|
private String end_hour_min = "";
|
|
|
@@ -140,6 +170,9 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
private String first_start_time;
|
|
|
private String first_end_time;
|
|
|
private Boolean breastfeeding = false;
|
|
|
+ private int imId;
|
|
|
+ private int type;//0:默认erp:1:小秘书
|
|
|
+ private ArrayList<DataState> totals=new ArrayList<>();
|
|
|
|
|
|
@Override
|
|
|
public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
@@ -231,6 +264,7 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
String startDate = "";
|
|
|
String endDate = "";
|
|
|
if (intent != null) {
|
|
|
+ type=intent.getIntExtra("type",0);
|
|
|
startDate = intent.getStringExtra("startDate");
|
|
|
endDate = intent.getStringExtra("endDate");
|
|
|
field = intent.getStringExtra("field");
|
|
|
@@ -284,20 +318,27 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
Log.v("v_date_end2", v_date_end.getText().toString());
|
|
|
Log.d("currentSelectDate2", currentSelectDate);
|
|
|
}
|
|
|
+
|
|
|
+ imId=intent.getIntExtra("imId",0);
|
|
|
}
|
|
|
initListener();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onWindowFocusChanged(boolean hasFocus) {
|
|
|
+ super.onWindowFocusChanged(hasFocus);
|
|
|
+ if(imId!=0){
|
|
|
+ getBookingTime(imId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void initListener() {
|
|
|
ll_date_start.setOnClickListener(this);
|
|
|
ll_date_end.setOnClickListener(this);
|
|
|
-
|
|
|
ll_time_start.setOnClickListener(this);
|
|
|
ll_time_end.setOnClickListener(this);
|
|
|
-
|
|
|
//ll_date_end.setEnabled(false);//不可点击
|
|
|
ll_time_end.setEnabled(false);//不可点击
|
|
|
-
|
|
|
click_btn.setOnClickListener(this);
|
|
|
|
|
|
gv_date_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
|
@@ -309,6 +350,10 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
ToastMessage("请先选择日期,再选择时间段!");
|
|
|
return;
|
|
|
}
|
|
|
+ if (!modle.clicked){
|
|
|
+ ToastMessage("该时间段不能预约!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
if ((StringUtils.isEmpty(currentSelectDate) &&
|
|
|
StringUtils.isEmpty(v_date_end.getText().toString())) ||
|
|
|
(StringUtils.isEmpty(currentSelectDate) &&
|
|
|
@@ -362,8 +407,15 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
}
|
|
|
|
|
|
private void initData() {
|
|
|
-// initGridData();
|
|
|
- sendRequest();//获取班次信息
|
|
|
+ switch (type){
|
|
|
+ case 0:
|
|
|
+ sendRequest();//获取班次信息
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ getBookingTotalTime(imId);
|
|
|
+ //initGridData();
|
|
|
+ break;
|
|
|
+ }
|
|
|
initCalender();
|
|
|
}
|
|
|
|
|
|
@@ -433,6 +485,7 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
v_date_end.setText(yeas + "-" + m + "-" + d + " " +end_hour_min);
|
|
|
Log.d("Slide_date88", yeas + "-" + month + "-" + day + " " + end_hour_min);
|
|
|
}
|
|
|
+ getBookingTime(imId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -443,62 +496,210 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
if (!ListUtils.isEmpty(mTimeData)) {
|
|
|
mTimeData.clear();
|
|
|
}
|
|
|
- if (mWorkovertime) {
|
|
|
- mTimeData.add("00:00");
|
|
|
- mTimeData.add("01:00");
|
|
|
- mTimeData.add("02:00");
|
|
|
- mTimeData.add("03:00");
|
|
|
- mTimeData.add("04:00");
|
|
|
- mTimeData.add("05:00");
|
|
|
- mTimeData.add("06:00");
|
|
|
- mTimeData.add("07:00");
|
|
|
- mTimeData.add("08:00");
|
|
|
- mTimeData.add("09:00");
|
|
|
- mTimeData.add("10:00");
|
|
|
- mTimeData.add("11:00");
|
|
|
- mTimeData.add("12:00");
|
|
|
- mTimeData.add("13:00");
|
|
|
- mTimeData.add("14:00");
|
|
|
- mTimeData.add("15:00");
|
|
|
- mTimeData.add("16:00");
|
|
|
- mTimeData.add("17:00");
|
|
|
- mTimeData.add("18:00");
|
|
|
- mTimeData.add("19:00");
|
|
|
- mTimeData.add("20:00");
|
|
|
- mTimeData.add("21:00");
|
|
|
- mTimeData.add("22:00");
|
|
|
- mTimeData.add("23:00");
|
|
|
- } else {
|
|
|
- mTimeData.add("08:30");
|
|
|
- mTimeData.add("09:00");
|
|
|
- mTimeData.add("09:30");
|
|
|
- mTimeData.add("10:00");
|
|
|
- mTimeData.add("10:30");
|
|
|
- mTimeData.add("11:00");
|
|
|
- mTimeData.add("11:30");
|
|
|
- mTimeData.add("12:00");
|
|
|
- mTimeData.add("13:00");
|
|
|
- mTimeData.add("13:30");
|
|
|
- mTimeData.add("14:00");
|
|
|
- mTimeData.add("14:30");
|
|
|
- mTimeData.add("15:00");
|
|
|
- mTimeData.add("15:30");
|
|
|
- mTimeData.add("16:00");
|
|
|
- mTimeData.add("16:30");
|
|
|
- mTimeData.add("17:00");
|
|
|
- mTimeData.add("17:30");
|
|
|
- mTimeData.add("18:00");
|
|
|
- mTimeData.add("18:30");
|
|
|
+ if (type==0){
|
|
|
+ initTimeData(30);
|
|
|
+ }else{
|
|
|
+ initTimeData(15);
|
|
|
}
|
|
|
gAdapter = new GridDataAdapter(mContext, mTimeData);
|
|
|
gv_date_list.setAdapter(gAdapter);
|
|
|
}
|
|
|
|
|
|
+ private void initTimeData(int minute) {
|
|
|
+ if (mWorkovertime) {
|
|
|
+ mTimeData.addAll(timeAddMuilt("00:00","23:00",minute));
|
|
|
+// DataState dataState=new DataState();
|
|
|
+// dataState.setValue("00:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+//
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("01:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+//
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("02:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+//
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("03:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+//
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("04:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+//
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("05:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("06:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("07:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("08:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("09:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("10:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("11:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("12:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("13:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("14:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("15:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("16:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("17:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("18:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("19:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("20:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("21:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("22:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("23:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+ } else {
|
|
|
+
|
|
|
+ mTimeData.addAll(timeAddMuilt("08:30","18:30",minute));
|
|
|
+// DataState dataState=new DataState();
|
|
|
+// dataState.setValue("08:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+//
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("09:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("09:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("10:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("10:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("11:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("11:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("12:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("13:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("13:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("14:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("14:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("15:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("15:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("16:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("16:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("17:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("17:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("18:00");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+// dataState=new DataState();
|
|
|
+// dataState.setValue("18:30");
|
|
|
+// dataState.setClicked(true);
|
|
|
+// mTimeData.add(dataState);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public void parsedResult(String result) {
|
|
|
if (result == null) {
|
|
|
result = "{\"ifDefaultClass\":false,\"wd_degree\":2,\"wd_earlytime\":null,\"comAddressdata\":[{\"CS_WORKADDR\":\"深圳市南山区\",\"CS_VALIDRANGE\":\"300\",\"CS_ID\":10141,\"CS_LATITUDE\":\"22.540676518856678\",\"CS_LONGITUDE\":\"113.9528745854545\",\"CS_SHORTNAME\":\"宇声数码技术公司\",\"CS_CODE\":\"2017020234\",\"CS_INNERDISTANCE\":500,\"success\":true},{\"CS_WORKADDR\":\"广东省深圳市南山区高新区科技南六路29号万德莱大厦南座6楼\",\"CS_VALIDRANGE\":\"300\",\"CS_ID\":10143,\"CS_LATITUDE\":\"22.5416028163184\",\"CS_LONGITUDE\":\"113.95309916183191\",\"CS_SHORTNAME\":\"深圳市中兴供应链有限公司\",\"CS_CODE\":\"2017020236\",\"CS_INNERDISTANCE\":500,\"success\":true}],\"count\":null,\"wd_code\":\"TEST1\",\"Class3\":{\"wd_offend\":null,\"wd_onduty\":null,\"wd_offduty\":null,\"wd_onbeg\":null},\"Class2\":{\"wd_offend\":\"20:00\",\"wd_onduty\":\"13:30\",\"wd_offduty\":\"18:00\",\"wd_onbeg\":\"13:00\"},\"wd_id\":111281,\"Class1\":{\"wd_offend\":\"12:30\",\"wd_onduty\":\"08:30\",\"wd_offduty\":\"12:00\",\"wd_onbeg\":\"07:00\"},\"wd_pcount\":null,\"wd_name\":\"测试1\",\"ifNeedSignCard\":true,\"innerdistance\":null,\"distance\":null,\"sessionId\":\"729F70FB568EF25CC7F1CEE14A0900EE\",\"comaddressset\":false,\"longitude\":null,\"latitude\":null,\"success\":true,\"wd_day\":null}";
|
|
|
}
|
|
|
- // List<String> mTimeData=new ArrayList<String>();
|
|
|
try {
|
|
|
JSONObject root = JSON.parseObject(result);
|
|
|
JSONObject Class1=null;
|
|
|
@@ -542,56 +743,8 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- System.out.println(JSON.toJSON(mTimeData));
|
|
|
if (ListUtils.isEmpty(mTimeData)) {
|
|
|
- mTimeData.add("08:30");
|
|
|
- mTimeData.add("09:00");
|
|
|
- mTimeData.add("09:30");
|
|
|
- mTimeData.add("10:00");
|
|
|
- mTimeData.add("10:30");
|
|
|
- mTimeData.add("11:00");
|
|
|
- mTimeData.add("11:30");
|
|
|
- mTimeData.add("12:00");
|
|
|
- mTimeData.add("13:00");
|
|
|
- mTimeData.add("13:30");
|
|
|
- mTimeData.add("14:00");
|
|
|
- mTimeData.add("14:30");
|
|
|
- mTimeData.add("15:00");
|
|
|
- mTimeData.add("15:30");
|
|
|
- mTimeData.add("16:00");
|
|
|
- mTimeData.add("16:30");
|
|
|
- mTimeData.add("17:00");
|
|
|
- mTimeData.add("17:30");
|
|
|
- mTimeData.add("18:00");
|
|
|
- mTimeData.add("18:30");
|
|
|
- }
|
|
|
-
|
|
|
- if (mWorkovertime) {
|
|
|
- mTimeData.clear();
|
|
|
- mTimeData.add("00:00");
|
|
|
- mTimeData.add("01:00");
|
|
|
- mTimeData.add("02:00");
|
|
|
- mTimeData.add("03:00");
|
|
|
- mTimeData.add("04:00");
|
|
|
- mTimeData.add("05:00");
|
|
|
- mTimeData.add("06:00");
|
|
|
- mTimeData.add("07:00");
|
|
|
- mTimeData.add("08:00");
|
|
|
- mTimeData.add("09:00");
|
|
|
- mTimeData.add("10:00");
|
|
|
- mTimeData.add("11:00");
|
|
|
- mTimeData.add("12:00");
|
|
|
- mTimeData.add("13:00");
|
|
|
- mTimeData.add("14:00");
|
|
|
- mTimeData.add("15:00");
|
|
|
- mTimeData.add("16:00");
|
|
|
- mTimeData.add("17:00");
|
|
|
- mTimeData.add("18:00");
|
|
|
- mTimeData.add("19:00");
|
|
|
- mTimeData.add("20:00");
|
|
|
- mTimeData.add("21:00");
|
|
|
- mTimeData.add("22:00");
|
|
|
- mTimeData.add("23:00");
|
|
|
+ initTimeData(30);
|
|
|
}
|
|
|
gAdapter = new GridDataAdapter(MyApplication.getInstance(), mTimeData);
|
|
|
gv_date_list.setAdapter(gAdapter);
|
|
|
@@ -604,22 +757,69 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
* @param end 08:30-12:30 [首 +中间值累加半小时 + 尾]
|
|
|
* @return
|
|
|
*/
|
|
|
- public static List<String> timeAddMuilt(String start, String end) {
|
|
|
- List<String> result = new ArrayList<String>();
|
|
|
- result.add(start);
|
|
|
+ public List<DataState> timeAddMuilt(String start, String end) {
|
|
|
+ LogUtil.d("Test","timeAddMuilt start:");
|
|
|
+ List<DataState> result = new ArrayList<>();
|
|
|
+ DataState dataState=new DataState();
|
|
|
+ dataState.setValue(start);
|
|
|
+ dataState.setClicked(true);
|
|
|
+ result.add(dataState);
|
|
|
int i = 0;
|
|
|
while (true) {
|
|
|
start = DateFormatUtil.add(DateFormatUtil.getDate4StrDate(start, "HH:mm"),
|
|
|
"HH:mm", 1 * 1 * 30 * 60 * 1000);
|
|
|
if (start.compareTo(end) >= 0) {
|
|
|
- result.add(end);
|
|
|
+ DataState dataState1=new DataState();
|
|
|
+ dataState1.setValue(end);
|
|
|
+ dataState1.setClicked(true);
|
|
|
+ result.add(dataState1);
|
|
|
break;
|
|
|
} else {
|
|
|
- result.add(start);
|
|
|
+ DataState dataState2=new DataState();
|
|
|
+ dataState2.setValue(start);
|
|
|
+ dataState2.setClicked(true);
|
|
|
+ result.add(dataState2);
|
|
|
}
|
|
|
i++;
|
|
|
}
|
|
|
+ LogUtil.d("Test","timeAddMuilt end:");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
+ /**
|
|
|
+ * 返回指定时间段内 循环累加半小时
|
|
|
+ *
|
|
|
+ * @param start
|
|
|
+ * @param end 08:30-12:30 [首 +中间值累加半小时 + 尾]
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<DataState> timeAddMuilt(String start, String end,int minute) {
|
|
|
+ LogUtil.d("Test","timeAddMuilt start:");
|
|
|
+ List<DataState> result = new ArrayList<>();
|
|
|
+ DataState dataState=new DataState();
|
|
|
+ dataState.setValue(start);
|
|
|
+ dataState.setClicked(true);
|
|
|
+ result.add(dataState);
|
|
|
+ int i = 0;
|
|
|
+ while (true) {
|
|
|
+ start = DateFormatUtil.add(DateFormatUtil.getDate4StrDate(start, "HH:mm"),
|
|
|
+ "HH:mm", 1 * 1 * minute * 60 * 1000);
|
|
|
+ if (start.compareTo(end) >= 0) {
|
|
|
+ DataState dataState1=new DataState();
|
|
|
+ dataState1.setValue(end);
|
|
|
+ dataState1.setClicked(true);
|
|
|
+ result.add(dataState1);
|
|
|
+ break;
|
|
|
+ } else {
|
|
|
+ DataState dataState2=new DataState();
|
|
|
+ dataState2.setValue(start);
|
|
|
+ dataState2.setClicked(true);
|
|
|
+ result.add(dataState2);
|
|
|
+ }
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ LogUtil.d("Test","timeAddMuilt end:");
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
@@ -696,6 +896,35 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
ToastMessage("开始时间 请选择具体时间点!");
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ if (type==1){
|
|
|
+ //类型等于小秘书的时候
|
|
|
+ //判断不能跨天预约
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //结束时间不能小于或等于开始时间
|
|
|
+ if(v_date_end.getText().toString().compareTo(v_date_start.getText().toString())<=0){
|
|
|
+ ToastMessage("结束时间不能小于或等于开始时间");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
Intent intent = new Intent();
|
|
|
intent.putExtra("startDate", v_date_start.getText().toString());
|
|
|
intent.putExtra("endDate", v_date_end.getText().toString());
|
|
|
@@ -709,10 +938,15 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
ToastMessage("请选择开始时间和结束时间!");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* @desc:发送网络请求
|
|
|
@@ -778,11 +1012,11 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
private class GridDataAdapter extends BaseAdapter {
|
|
|
|
|
|
private Context ct;
|
|
|
- private List<String> mData = new ArrayList<>();
|
|
|
+ private List<DataState> mData = new ArrayList<>();
|
|
|
private LayoutInflater inflater;
|
|
|
- private int selected = 0;
|
|
|
+ private int selected = -1;
|
|
|
|
|
|
- GridDataAdapter(Context ct, List<String> data) {
|
|
|
+ GridDataAdapter(Context ct, List<DataState > data) {
|
|
|
this.ct = ct;
|
|
|
this.mData = data;
|
|
|
this.inflater = LayoutInflater.from(ct);
|
|
|
@@ -795,7 +1029,7 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
|
|
|
@Override
|
|
|
public Object getItem(int position) {
|
|
|
- return position;
|
|
|
+ return mData.get(position);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -823,20 +1057,26 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
} else {
|
|
|
modle = (ViewModle) convertView.getTag();
|
|
|
}
|
|
|
- modle.tv_text.setText(mData.get(position));
|
|
|
- if (selected == position) {
|
|
|
- modle.tv_text.setSelected(true);
|
|
|
- modle.tv_text.setTextColor(mContext.getResources().getColor(R.color.white));
|
|
|
- } else {
|
|
|
- modle.tv_text.setSelected(false);
|
|
|
- modle.tv_text.setTextColor(mContext.getResources().getColor(R.color.black));
|
|
|
- }
|
|
|
-
|
|
|
+ modle.tv_text.setText(mData.get(position).getValue());
|
|
|
+ if (mData.get(position).isClicked()){
|
|
|
+ modle.clicked=true;
|
|
|
+ modle.tv_text.setTextColor(mContext.getResources().getColor(R.color.black));
|
|
|
+ if (selected == position) {
|
|
|
+ modle.tv_text.setSelected(true);
|
|
|
+ modle.tv_text.setTextColor(mContext.getResources().getColor(R.color.white));
|
|
|
+ } else {
|
|
|
+ modle.tv_text.setSelected(false);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ modle.clicked=false;
|
|
|
+ modle.tv_text.setTextColor(mContext.getResources().getColor(R.color.light_gray));
|
|
|
+ }
|
|
|
return convertView;
|
|
|
}
|
|
|
|
|
|
class ViewModle {
|
|
|
TextView tv_text;
|
|
|
+ boolean clicked;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -905,5 +1145,91 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
|
|
|
}
|
|
|
}
|
|
|
//ToastMessage(currentSelectDate);
|
|
|
+ getBookingTime(imId);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc:获取总的时间段
|
|
|
+ * @author:Arison on 2017/6/28
|
|
|
+ */
|
|
|
+ private void getBookingTotalTime(int imId){
|
|
|
+ String url = Constants.IM_BASE_URL + "user/appUsertime";
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("token", MyApplication.getInstance().mAccessToken);
|
|
|
+ params.put("userid", imId);
|
|
|
+ LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x07, null, null, "post");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc:获取预约时间
|
|
|
+ * @author:Arison on 2017/6/28
|
|
|
+ */
|
|
|
+ public void getBookingTime(int imId) {
|
|
|
+ String url = Constants.IM_BASE_URL + "user/appBusytime";
|
|
|
+ String ym;
|
|
|
+ if (startDate){
|
|
|
+ ym=DateFormatUtil.getStrDate4String(v_date_start.getText().toString().replace("-",""),"yyyyMMdd");
|
|
|
+ }else{
|
|
|
+ ym=DateFormatUtil.getStrDate4String(v_date_end.getText().toString().replace("-",""),"yyyyMMdd");
|
|
|
+ }
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("token", MyApplication.getInstance().mAccessToken);
|
|
|
+ params.put("userid", imId);
|
|
|
+ params.put("yearmonth",ym);
|
|
|
+ LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x06, null, null, "post");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void parseBookTimeResult(String result) {
|
|
|
+ String busytime=JSON.parseObject(result).getString("busytime");
|
|
|
+ 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("ab_starttime");
|
|
|
+ String eDate=object.getString("ab_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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ gAdapter.notifyDataSetChanged();
|
|
|
+ }else{
|
|
|
+ //默认时间段:00:00-23:59
|
|
|
+ for (int y=0;y<mTimeData.size();y++){
|
|
|
+ mTimeData.get(y).setClicked(true);
|
|
|
+ }
|
|
|
+ gAdapter.notifyDataSetChanged();
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ for (int y=0;y<mTimeData.size();y++){
|
|
|
+ mTimeData.get(y).setClicked(true);
|
|
|
+ }
|
|
|
+ gAdapter.notifyDataSetChanged();
|
|
|
+ //默认时间段:00:00-23:59
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|