Browse Source

fix 美化通讯录界面分割线,统一app列表分割线样式,解决样式不统一的情况。

Arison 8 years ago
parent
commit
30db64d2f5
22 changed files with 572 additions and 216 deletions
  1. 37 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/secretary/BookingListActivity.java
  2. 24 2
      WeiChat/src/main/res/layout/activity_select_calendar.xml
  3. 2 0
      app_core/common/build.gradle
  4. 261 127
      app_core/common/src/main/java/com/core/widget/view/selectcalendar/SelectCalendarActivity.java
  5. 1 1
      app_core/common/src/main/res/layout/activity_basic_info.xml
  6. 21 1
      app_core/common/src/main/res/layout/activity_select_calendar.xml
  7. 1 0
      app_core/common/src/main/res/values-en/strings.xml
  8. 1 0
      app_core/common/src/main/res/values-zh-rCN/strings.xml
  9. 1 0
      app_core/common/src/main/res/values-zh-rTW/strings.xml
  10. 1 0
      app_core/common/src/main/res/values/strings.xml
  11. 1 1
      app_core/common/src/main/res/values/styles.xml
  12. 0 1
      app_core/network/build.gradle
  13. 4 7
      app_core/network/src/main/java/com/me/network/app/http/interceptor/LogInterceptor.java
  14. 103 44
      app_modular/appbooking/src/main/java/com/modular/booking/activity/services/BServiceAddActivity.java
  15. 31 1
      app_modular/appbooking/src/main/java/com/modular/booking/activity/services/BServiceListActivity.java
  16. 6 2
      app_modular/appbooking/src/main/java/com/modular/booking/activity/services/BServicesActivity.java
  17. 18 6
      app_modular/appbooking/src/main/java/com/modular/booking/adapter/BookAdapter.java
  18. 34 2
      app_modular/appbooking/src/main/java/com/modular/booking/model/SBListModel.java
  19. 19 13
      app_modular/appbooking/src/main/res/layout/activity_bservice_add.xml
  20. 2 2
      app_modular/appbooking/src/main/res/values-en/strings.xml
  21. 2 2
      app_modular/appbooking/src/main/res/values-zh-rCN/strings.xml
  22. 2 2
      app_modular/appbooking/src/main/res/values-zh-rTW/strings.xml

+ 37 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/secretary/BookingListActivity.java

@@ -36,6 +36,7 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.modular.booking.activity.business.BBookingAddActivity;
 import com.modular.booking.activity.business.BBookingDetailActivity;
+import com.modular.booking.activity.services.BServiceAddActivity;
 import com.modular.booking.activity.services.BServicesActivity;
 import com.modular.booking.activity.shares.BBSharesListActivity;
 import com.modular.booking.activity.shares.MuiltSelectShareActivity;
@@ -176,10 +177,15 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
                 BookAdapter.ViewHolder viewHolder = (BookAdapter.ViewHolder) view.getTag();
                 Bundle bundle = new Bundle();
                 bundle.putParcelable("model", viewHolder.model);
+                LogUtil.d("OnItemClickListener","model:"+JSON.toJSONString(viewHolder.model));
                 bundle.putBoolean("isShared", tv_book_shared.isSelected());
                 if ("个人".equals(viewHolder.model.getKind())) {
                     startActivity(new Intent(mContext, BookingDetailActivity.class)
                             .putExtras(bundle));
+                } 
+                else if("服务".equals(viewHolder.model.getKind())){
+                    startActivity(new Intent(mContext, BServiceAddActivity.class)
+                            .putExtras(bundle));
                 } else {
                     startActivity(new Intent(mContext, BBookingDetailActivity.class)
                             .putExtras(bundle));
@@ -336,7 +342,6 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
                 case 0x01:
                     try {
                         String result = msg.getData().getString("result");
-
                         if (!ListUtils.isEmpty(mDatas)) {
                             mDatas.clear();
                         }
@@ -349,6 +354,7 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
 //                        if (tv_book_me.isSelected()) {
                         JSONArray jsonArray = JSON.parseArray(JSON.parseObject(result).getString("bookinglist"));
                         JSONArray buinessArray = JSON.parseArray(JSON.parseObject(result).getString("businessList"));
+                        JSONArray serviceArray = JSON.parseArray(JSON.parseObject(result).getString("servicelist"));
                         if (jsonArray != null) {
                             Set<Integer> tags = new HashSet<>();
                             for (int i = 0; i < jsonArray.size(); i++) {
@@ -413,6 +419,34 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
                                 }
                             }
 
+                            //服务预约
+                            if (serviceArray!=null){
+                                for (int i=0;i<serviceArray.size();i++){
+                                    JSONObject object = serviceArray.getJSONObject(i);
+                                    BookingModel model = new BookingModel();
+                                    model.setAb_address(object.getString("sb_address"));
+                                    model.setAb_bman(object.getString("sb_companyname"));//被预约人
+                                    model.setAb_bmanid(object.getString("sb_companyid"));//被预约人的IMID
+                                    // model.setAd_reason(object.getString("ad_reason"));
+                                    model.setAb_confirmstatus(object.getString("sb_status"));
+                                    //  model.setAb_content(object.getString("ab_content"));
+                                    model.setAb_endtime(object.getString("sb_endtime"));
+                                    model.setAb_id(object.getString("sb_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("sb_recordid"));
+                                    model.setAb_recordman(object.getString("sb_recordor"));
+                                    model.setAb_sharestatus("未共享");
+                                    model.setAb_starttime(object.getString("ab_starttime"));
+                                    model.setAb_type(object.getString("sb_stname"));//科目
+                                    model.setKind(object.getString("kind"));//关键字段
+                                    if (model.getAb_endtime().contains(DateFormatUtil.getStrDate4Date(curDate, "yyyy-MM-dd"))) {
+                                        mDatas.add(model);
+                                    }
+                                }
+                            }
+
                             if (DateFormatUtil.getStrDate4Date(curDate, "yyyy-MM-dd").equals(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd"))) {
                                 JSONArray tenArray = JSON.parseArray(JSON.parseObject(result).getString("tenlist"));
 
@@ -490,6 +524,8 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
                             }
                         }
 //                        } else {
+                       
+                        
                         mShareDatas.clear();
                         JSONArray shareArray = JSON.parseArray(JSON.parseObject(result).getString("sharelist"));
                         JSONArray businessshare = JSON.parseArray(JSON.parseObject(result).getString("businessshare"));
@@ -501,7 +537,6 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
                                 model.setAb_bman(object.getString("ab_bman"));
                                 model.setAb_bmanid(object.getString("ab_bmanid"));
                                 model.setAd_reason(object.getString("ad_reason"));
-                                model.setAb_reason(object.getString("ab_reason"));
                                 model.setAb_confirmstatus(object.getString("ab_confirmstatus"));
                                 model.setAb_content(object.getString("ab_content"));
                                 model.setAb_endtime(object.getString("ab_endtime"));

+ 24 - 2
WeiChat/src/main/res/layout/activity_select_calendar.xml

@@ -17,8 +17,30 @@
             android:orientation="vertical">
 
             <View style="@style/app_comm_list_line_gray" />
-
             <LinearLayout
+                android:id="@+id/ll_time_point"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center_horizontal"
+                android:visibility="gone"
+                android:orientation="vertical">
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_margin="@dimen/default_corner_radius"
+                    android:text="@string/app_time_selecting"/>
+                <TextView
+                    android:id="@+id/tv_time_point"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textColor="@color/black"
+                    android:layout_margin="@dimen/default_corner_radius"
+                    android:textSize="14sp"
+                    android:text="2017-09-15 19:00"/>
+                <View style="@style/app_comm_list_line_gray" />
+            </LinearLayout>
+            <LinearLayout
+                android:id="@+id/ll_time_top"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"
@@ -168,7 +190,7 @@
             android:scrollbars="none"
             android:verticalSpacing="10dp">
 
-            
+
         </GridView>
         <Button
             android:id="@+id/click_btn"

+ 2 - 0
app_core/common/build.gradle

@@ -40,6 +40,8 @@ dependencies {
     compile deps.stickyGridHeaders
     compile 'com.squareup.okhttp3:okhttp:3.9.0'
 
+
+    compile project(':network')
     compile project(':pullToRefershLibraryMy')
     compile project(':MPAndroidChart')
     compile project(':libedittextformlibrary')

+ 261 - 127
app_core/common/src/main/java/com/core/widget/view/selectcalendar/SelectCalendarActivity.java

@@ -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();
+                }
+               
+            }
+        }));
+    }
+
 }

+ 1 - 1
app_core/common/src/main/res/layout/activity_basic_info.xml

@@ -56,7 +56,7 @@
                     android:id="@+id/max_img"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
-                    android:alpha="0.16"
+                    android:alpha="0.35"
                     android:scaleType="fitXY" />
 
                 <RelativeLayout

+ 21 - 1
app_core/common/src/main/res/layout/activity_select_calendar.xml

@@ -17,8 +17,28 @@
             android:orientation="vertical">
 
             <View style="@style/app_comm_list_line_gray" />
-
             <LinearLayout
+                android:id="@+id/ll_time_point"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center_horizontal"
+                android:orientation="vertical">
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content" 
+                    android:layout_margin="@dimen/default_corner_radius"
+                    android:text="@string/app_time_selecting"/>
+                <TextView
+                    android:id="@+id/tv_time_point"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_margin="@dimen/default_corner_radius"
+                    android:textSize="12sp"
+                    android:text="2017-09-15 19:00"/>
+                <View style="@style/app_comm_list_line_gray" />
+            </LinearLayout>
+            <LinearLayout
+                android:id="@+id/ll_time_top"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"

+ 1 - 0
app_core/common/src/main/res/values-en/strings.xml

@@ -1426,4 +1426,5 @@
     <string name="common_service_query">常用业务查询</string>
     <string name="more_queries">更多查询</string>
     <string name="select_query_service">选择查询业务</string>
+    <string name="app_time_selecting">选择时间</string>
 </resources>

+ 1 - 0
app_core/common/src/main/res/values-zh-rCN/strings.xml

@@ -1539,4 +1539,5 @@
     <string name="common_service_query">常用业务查询</string>
     <string name="more_queries">更多查询</string>
     <string name="select_query_service">选择查询业务</string>
+    <string name="app_time_selecting">选择时间</string>
 </resources>

+ 1 - 0
app_core/common/src/main/res/values-zh-rTW/strings.xml

@@ -1527,4 +1527,5 @@
     <string name="common_service_query">常用业务查询</string>
     <string name="more_queries">更多查询</string>
     <string name="select_query_service">选择查询业务</string>
+    <string name="app_time_selecting">选择时间</string>
 </resources>

+ 1 - 0
app_core/common/src/main/res/values/strings.xml

@@ -1877,5 +1877,6 @@
     <string name="schedule_title_must_input">日程标题为必填项</string>
     <string name="schedule_detail_must_input">日程详情为必填项</string>
     <string name="not_camera_permission">应用没有获取到权限,请允许打开摄像头权限或到设置中打开摄像头权限</string>
+    <string name="app_time_selecting">选择时间</string>
 
 </resources>

+ 1 - 1
app_core/common/src/main/res/values/styles.xml

@@ -940,7 +940,7 @@
     <!--横线-->
     <style name="app_line_horizontal_05p">
         <item name="android:layout_width">match_parent</item>
-        <item name="android:layout_height">0.1dp</item>
+        <item name="android:layout_height">1dp</item>
         <item name="android:background">@color/transparent</item>
     </style>
     <!--竖线-->

+ 0 - 1
app_core/network/build.gradle

@@ -32,5 +32,4 @@ dependencies {
     compile deps.converterGson
     compile deps.adapterRxjava
     compile deps.fastjson
-    compile project(':common')
 }

+ 4 - 7
app_core/network/src/main/java/com/me/network/app/http/interceptor/LogInterceptor.java

@@ -1,11 +1,8 @@
 package com.me.network.app.http.interceptor;
 
-import com.alibaba.fastjson.JSON;
-import com.common.LogUtil;
 import com.me.network.app.http.HttpClient;
 
 import java.io.IOException;
-import java.net.URLDecoder;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -80,10 +77,10 @@ public class LogInterceptor implements Interceptor {
 		  okhttp3.MediaType mediaType = response.body().contentType();
           String content = response.body().string();
          if (builder.isDebug()) {
-			 LogUtil.d("HttpLogs","接口URL:" + JSON.toJSONString(response.request().url().toString()));
-			 LogUtil.d("HttpLogs","请求头:"+ JSON.toJSONString(response.request().headers().toMultimap()));
-			 LogUtil.d("HttpLogs","参数:" + URLDecoder.decode(postParam.toString(),"UTF-8"));
-			 LogUtil.d("HttpLogs","返回结果:" + content);
+//			 LogUtil.d("HttpLogs","接口URL:" + JSON.toJSONString(response.request().url().toString()));
+//			 LogUtil.d("HttpLogs","请求头:"+ JSON.toJSONString(response.request().headers().toMultimap()));
+//			 LogUtil.d("HttpLogs","参数:" + URLDecoder.decode(postParam.toString(),"UTF-8"));
+//			 LogUtil.d("HttpLogs","返回结果:" + content);
 		}
     
 		return response.newBuilder()

+ 103 - 44
app_modular/appbooking/src/main/java/com/modular/booking/activity/services/BServiceAddActivity.java

@@ -6,6 +6,7 @@ import android.text.TextUtils;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
@@ -21,6 +22,7 @@ import com.core.app.Constants;
 import com.core.app.MyApplication;
 import com.core.base.OABaseActivity;
 import com.core.model.SelectBean;
+import com.core.utils.CommonUtil;
 import com.core.utils.ToastUtil;
 import com.core.utils.helper.AvatarHelper;
 import com.core.widget.view.Activity.SelectActivity;
@@ -58,10 +60,13 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 	private TextView tv_ktv_times, tv_ktv_rooms, tv_ktv_peoples;//时间、房间、人数
 	//抬头信息
 	private CircleImageView iv_header;
+	private ImageView max_img;
 	private TextView tv_title, tv_sub;
 	private SBListModel model;
 	private boolean submiting = false;
 	private String sb_userid, sb_username;
+	private String serviceId;//服务id
+	private String serviceName;//服务名称
 
 	@Override
 	protected void onCreate(Bundle savedInstanceState) {
@@ -102,11 +107,13 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 		tv_ktv_peoples = (TextView) findViewById(R.id.tv_ktv_peoples);
 
 		iv_header = (CircleImageView) findViewById(R.id.iv_header);
+		max_img= (ImageView) findViewById(R.id.max_img);
 		tv_title = (TextView) findViewById(R.id.tv_title);
 		tv_sub = (TextView) findViewById(R.id.tv_sub);
 
 		submit_btn.setOnClickListener(this);
-
+		et_book_name.setText(CommonUtil.getName());
+		et_book_phone.setText(CommonUtil.getSharedPreferences(mContext,"user_phone"));
 	}
 
 
@@ -122,6 +129,8 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 				tv_title.setText(model.getName());
 				tv_sub.setText(model.getAddress());
 				AvatarHelper.getInstance().display(model.getUrl(), iv_header, true);
+				AvatarHelper.getInstance().display(model.getUrl(), 	max_img, true);
+			
 			} else {
 				//TODO 由于该界面必须要转进来的对象,如果model缺失,应返回
 			}
@@ -141,8 +150,9 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 						return tv_food_peoples;
 
 					case TIME_SELECT://时间选择
-					default:
 						return tv_food_times;
+					default:
+						return tv_food_rooms;
 				}
 			case "美容美发"://  美容美发
 				switch (requestCode) {
@@ -224,9 +234,14 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 							.putExtra("startDate", DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS))
 							.putExtra("endDate", DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS))
 							.putExtra("hasMenu", false)
-							.putExtra("booktype", model.getBookType())//TODO 根据1\0 判断是否有开始时间和结束时间
 							.putExtra("imId", model.getImid())
-							.putExtra("type", 1)
+							.putExtra("bookType", model.getBookType())//TODO 根据1\0 判断是否有开始时间和结束时间
+					        .putExtra("companyId",model.getCompanyid())
+							.putExtra("businessType",model.getType())
+							.putExtra("startTime",model.getStarttime())
+							.putExtra("endTime",model.getEndtime())
+							.putExtra("serviceId",StringUtil.isEmpty(serviceId)==true?"":serviceId)
+							.putExtra("type", 3)
 					, TIME_SELECT);
 		}
 		//人数选择(1~10以上)
@@ -245,23 +260,24 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 			startActivityForResult(intent, NUMBER_SELECT);
 		}
 		//是否包间(餐饮时候独有)
-		else if (id == R.id.tv_food_rooms) {
-			ArrayList<SelectBean> formBeaan = new ArrayList<>();
-			formBeaan.add(new SelectBean("是"));
-			formBeaan.add(new SelectBean("否"));
-			Intent intent = new Intent(this, SelectActivity.class)
-					.putExtra("type", 2)
-					.putExtra("title", getString(R.string.service_food_rooms))
-					.putParcelableArrayListExtra("data", formBeaan);
-			startActivityForResult(intent, FOOD_ROOMS);
-		}
+//		else if (id == R.id.tv_food_rooms) {
+//			ArrayList<SelectBean> formBeaan = new ArrayList<>();
+//			formBeaan.add(new SelectBean("是"));
+//			formBeaan.add(new SelectBean("否"));
+//			Intent intent = new Intent(this, SelectActivity.class)
+//					.putExtra("type", 2)
+//					.putExtra("title", getString(R.string.service_food_rooms))
+//					.putParcelableArrayListExtra("data", formBeaan);
+//			startActivityForResult(intent, FOOD_ROOMS);
+//		}
 
 		//服务项目
 		else if (id == R.id.tv_hair_rooms
 				|| id == R.id.tv_sport_rooms
 				|| id == R.id.tv_hospital_rooms
 				|| id == R.id.tv_club_technician
-				|| id == R.id.tv_ktv_rooms) {
+				|| id == R.id.tv_ktv_rooms
+				|| id== R.id.tv_food_rooms) {
 			loadStoreService();
 		}
 
@@ -277,10 +293,17 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 				ToastUtil.showToast(ct, "请先选择科室");
 			}
 		} else if (id == R.id.submit_btn) {
-			save();
+			if (((Button)v).getText().equals("提交")){
+				save();
+			}else if(((Button)v).getText().equals("取消")){
+				cancle();
+			}
 		}
 	}
 
+	public void cancle(){
+		
+	}
 
 	@Override
 	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
@@ -302,13 +325,21 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 				}
 				tv.setText(name);
 				break;
-			case TIME_SELECT:
-				String startTime = data.getStringExtra("startDate");
-				String endTime = data.getStringExtra("endDate");
-				String displayDate = startTime + "-" + endTime.substring(11, 16);
-				tv.setTag(R.id.tag_id2, endTime);
-				tv.setTag(R.id.tag_id, startTime);
-				tv.setText(displayDate);
+			case TIME_SELECT://时间段设置
+				if("0".equals(model.getBookType())){//只能开始时间
+					String startTime = data.getStringExtra("startDate");
+					String displayDate = startTime;
+//					tv.setTag(R.id.tag_id2, endTime);
+//					tv.setTag(R.id.tag_id, startTime);
+					tv.setText(displayDate);
+				}else{
+					String startTime = data.getStringExtra("startDate");
+					String endTime = data.getStringExtra("endDate");
+					String displayDate = startTime + "-" + endTime.substring(11, 16);
+					tv.setTag(R.id.tag_id2, endTime);
+					tv.setTag(R.id.tag_id, startTime);
+					tv.setText(displayDate);
+				}
 				break;
 			case NUMBER_SELECT://人数选择
 				String number = "";
@@ -316,7 +347,7 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 				if (numberBean != null && numberBean.getName() != null) {
 					number = numberBean.getName();
 				}
-				tv.setText(number);
+				tv.setText(number.substring(0,number.length()-1));
 				break;
 			case SERVICE_SELECT:
 			case MAN_SELECT:
@@ -324,9 +355,11 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 				if (service != null && service.getName() != null) {
 					LogUtil.i("service=" + JSON.toJSONString(service));
 					tvMessage = service.getName();
-					String serviceId = service.getFields();
+					serviceId = service.getFields();
+					serviceName=service.getName();
 					if (tv != null) {
 						tv.setTag(R.id.tag_id, serviceId);
+						tv.setTag(R.id.tag_id2,serviceName);
 					}
 				}
 				break;
@@ -342,7 +375,8 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 	//load 服务项目
 	public void loadStoreService() {
 		progressDialog.show();
-		HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL).isDebug(BaseConfig.isDebug()).build();
+		HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL)
+				.isDebug(BaseConfig.isDebug()).build();
 		httpClient.Api().send(new HttpClient.Builder()
 				.url("/user/appStoreService")
 				.add("companyid", model.getCompanyid())
@@ -369,6 +403,7 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 							bean.setId(id);
 							bean.setFields(String.valueOf(id));
 							bean.setName(name);
+							bean.setObject(object.toJSONString());
 							selectBeens.add(bean);
 						}
 					}
@@ -388,9 +423,11 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 	//load 选择服务人员
 	public void loadServiceMan(String serviceId) {
 		progressDialog.show();
+		LogUtil.d("HttpLogs","serviceId:"+serviceId);
+		LogUtil.d("HttpLogs","companyid:"+model.getCompanyid());
 		HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL).isDebug(BaseConfig.isDebug()).build();
 		httpClient.Api().send(new HttpClient.Builder()
-				.url("/user/appStoreman")
+				.url("user/appStoreman")
 				.add("companyid", model.getCompanyid())
 				.add("serviceid", serviceId)
 				.add("token", MyApplication.getInstance().mAccessToken)
@@ -411,7 +448,7 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 						for (int i = 0; i < array.size(); i++) {
 							JSONObject object = array.getJSONObject(i);
 							bean = new SelectBean();
-							int id = JSONUtil.getInt(object, "sm_id");
+							int id = JSONUtil.getInt(object, "sm_userid");
 							String name = JSONUtil.getText(object, "sm_username");
 							bean.setId(id);
 							bean.setFields(String.valueOf(id));
@@ -447,12 +484,13 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 			return;
 		} else {
 			LogUtil.i("map=" + JSONUtil.map2JSON(map));
-			if (1 == 1) {
-				submiting = false;
-				progressDialog.dismiss();
-				return;
-			}
+//			if (1 == 1) {
+//				submiting = false;
+//				progressDialog.dismiss();
+//				return;
+//			}
 		}
+		final String startTime=map.get("sb_endtime").toString();
 		new HttpClient
 				.Builder(Constants.IM_BASE_URL)
 				.isDebug(BaseConfig.isDebug())
@@ -466,7 +504,21 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 						.build(), new ResultSubscriber<>(new ResultListener<Object>() {
 					@Override
 					public void onResponse(Object o) {
-
+                         LogUtil.d("result","result:"+o.toString());
+						progressDialog.dismiss();
+						submiting=true;
+						//{"result":"true"}
+						if (JSONUtil.validate(o.toString())){
+							String result=JSON.parseObject(o.toString()).getString("result");
+							if ("true".equals(result)){
+								Intent intent = new Intent("com.modular.booking.BookingListActivity");
+								intent.putExtra("curDate", startTime==null?"":startTime);
+								startActivity(intent);
+							}else{
+								ToastMessage(getString(R.string.save_failed));
+							}
+						}
+						
 					}
 				}));
 	}
@@ -493,8 +545,11 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 		} else {
 			map.put("sb_remark", StringUtil.getTextRexHttp(et_book_notes));//姓名
 		}
-
-
+      
+		map.put("sb_industry",model.getIndustrycode());
+		map.put("sb_companyid", StringUtil.toHttpString(model.getCompanyid()));//商家ID
+		map.put("sb_companyname", StringUtil.toHttpString(model.getName()));//商家名称
+		map.put("sb_address", StringUtil.toHttpString(model.getAddress()));//地址
 		return map;
 	}
 
@@ -551,24 +606,28 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 				} else {
 					map.put("sb_spname", StringUtil.getTextRexHttp(tv_sport_peoples));//场地名称
 				}
+				break;
 			case "医疗":
 				if (TextUtils.isEmpty(tv_hospital_time.getText())) {
 					return null;
 				} else {
 					setTime(map, tv_hospital_time);
 				}
-				if (TextUtils.isEmpty(tv_hospital_rooms.getText()) || tv_hospital_rooms.getTag(R.id.tag_id) == null) {
+				//|| tv_hospital_rooms.getTag(R.id.tag_id) == null
+				if (TextUtils.isEmpty(tv_hospital_rooms.getText()) ) {
 					return null;
 				} else {
 					map.put("sb_stname", StringUtil.getTextRexHttp(tv_hospital_rooms));//服务项目名称
 					map.put("sb_stid", tv_hospital_rooms.getTag(R.id.tag_id));//服务项目ID
 				}
-				if (TextUtils.isEmpty(tag_hospital_doctor.getText()) || tag_hospital_doctor.getTag(R.id.tag_id) == null) {
+				//|| tag_hospital_doctor.getTag(R.id.tag_id) == null
+				if (TextUtils.isEmpty(tag_hospital_doctor.getText()) ) {
 					return null;
 				} else {
 					map.put("sb_username", StringUtil.getTextRexHttp(tag_hospital_doctor));//服务项目名称
 					map.put("sb_userid", tag_hospital_doctor.getTag(R.id.tag_id));//服务项目ID
 				}
+				break;
 			case "会所":
 				if (TextUtils.isEmpty(tv_club_time.getText())) {
 					return null;
@@ -593,6 +652,7 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 				if (!StringUtil.isEmpty(sb_username)) {
 					map.put("sb_username", sb_username);//技师名字
 				}
+				break;
 			case "KTV":
 				if (TextUtils.isEmpty(tv_ktv_times.getText())) {
 					return null;
@@ -609,10 +669,9 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 				} else {
 					map.put("sb_spname", StringUtil.getTextRexHttp(tv_ktv_rooms));//服务项目名称
 				}
+				break;
 		}
-		map.put("sb_companyid", StringUtil.toHttpString(model.getCompanyid()));//商家ID
-		map.put("sb_company", StringUtil.toHttpString(model.getName()));//商家名称
-		map.put("sb_address", StringUtil.toHttpString(model.getAddress()));//地址
+	
 		return map;
 	}
 
@@ -623,17 +682,17 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 			return;
 		}
 		String message = tv.getText().toString();
-		if (model.getBookType().equals("1")) {//时段
+		if ("1".equals(model.getBookType())) {//时段
 			Object start = tv.getTag(R.id.tag_id);
 			Object end = tv.getTag(R.id.tag_id2);
 			if (start != null && start instanceof String) {
 				map.put("sb_startdate", start.toString() + ":00");
 			}
 			if (end != null && end instanceof String) {
-				map.put("sb_enddate", end.toString() + ":00");
+				map.put("sb_endtime", end.toString() + ":00");
 			}
 		} else {//时间点
-			map.put("sb_enddate", message + ":00");
+			map.put("sb_endtime", message + ":00");
 
 		}
 

+ 31 - 1
app_modular/appbooking/src/main/java/com/modular/booking/activity/services/BServiceListActivity.java

@@ -1,6 +1,9 @@
 package com.modular.booking.activity.services;
 
+import android.content.Intent;
 import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -61,7 +64,24 @@ public class BServiceListActivity extends OABaseActivity {
     }
  
     private void initEvent() {
-        
+        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                LogUtil.i("position=" + position);
+                LogUtil.i("id=" + id);
+                SBListModel model = mListAdapter.getItem((int) id);
+                Intent intent =null;
+                if (model.getType().equals("会所")||model.getType().equals("美容美发")){
+                    intent = new Intent(ct, BServiceDetailActivity.class);
+                }else{
+                    intent = new Intent(ct, BServiceAddActivity.class);
+                }
+                LogUtil.d(TAG,"model:"+JSON.toJSONString(model));
+                intent.putExtra("model", model);
+                startActivity(intent);
+                //@update by Bitliker 由于不同类型的预约详情界面差别很大,需要判断当前点击的进行分类
+            }
+        });
     }
     
     private void initData() {
@@ -92,8 +112,18 @@ public class BServiceListActivity extends OABaseActivity {
                             JSONObject mObject=jsonArray.getJSONObject(i);
                             SBListModel sbListModel=new SBListModel();
                             sbListModel.setName(mObject.getString("sc_companyname"));
+                            sbListModel.setAddress(mObject.getString("sc_address"));
+                            sbListModel.setBookType(mObject.getString("sc_booktype"));
                             sbListModel.setUrl(mObject.getString("sc_imageurl"));
                             sbListModel.setType(mObject.getString("sc_industry"));
+                            sbListModel.setIndustrycode(mObject.getString("sc_industrycode"));
+                            sbListModel.setDistance("1239m");
+                            sbListModel.setCash("80代120");
+                            sbListModel.setCompanyid(mObject.getString("sc_uu"));
+                            sbListModel.setImid(mObject.getString("sc_imid"));
+                            sbListModel.setId(mObject.getInteger("sc_id"));
+                            sbListModel.setStarttime(mObject.getString("sc_starttime"));
+                            sbListModel.setEndtime(mObject.getString("sc_endtime"));
                             modelList.add(sbListModel);
                         }
                         LogUtil.d("myTest", JSON.toJSONString(modelList));

+ 6 - 2
app_modular/appbooking/src/main/java/com/modular/booking/activity/services/BServicesActivity.java

@@ -152,7 +152,7 @@ public class BServicesActivity extends OABaseActivity implements View.OnClickLis
                 }else{
                      intent = new Intent(ct, BServiceAddActivity.class);
                 }
-	            intent.putExtra("model", mListAdapter.getItem((int) id));
+	            intent.putExtra("model", model);
 	            startActivity(intent);
 	            //@update by Bitliker 由于不同类型的预约详情界面差别很大,需要判断当前点击的进行分类
             }
@@ -193,10 +193,14 @@ public class BServicesActivity extends OABaseActivity implements View.OnClickLis
 		                        sbListModel.setBookType(mObject.getString("sc_booktype"));
 		                        sbListModel.setUrl(mObject.getString("sc_imageurl"));
 		                        sbListModel.setType(mObject.getString("sc_industry"));
-
+                                sbListModel.setIndustrycode(mObject.getString("sc_industrycode"));
 		                        sbListModel.setCompanyid(mObject.getString("sc_uu"));
+		                        sbListModel.setDistance("1239m");
+		                        sbListModel.setCash("80代120");
 		                        sbListModel.setImid(mObject.getString("sc_imid"));
 		                        sbListModel.setId(mObject.getInteger("sc_id"));
+                                sbListModel.setStarttime(mObject.getString("sc_starttime"));
+                                sbListModel.setEndtime(mObject.getString("sc_endtime"));
 		                        modelList.add(sbListModel);
 	                        }
 	                        LogUtil.d("myTest", JSON.toJSONString(modelList));

+ 18 - 6
app_modular/appbooking/src/main/java/com/modular/booking/adapter/BookAdapter.java

@@ -9,6 +9,7 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.common.data.DateFormatUtil;
+import com.common.data.StringUtil;
 import com.modular.booking.R;
 import com.modular.booking.model.BookingModel;
 
@@ -93,20 +94,30 @@ public class BookAdapter extends BaseAdapter {
         try {
             BookingModel model=datas.get(position);
             holder.model=model;
-
-            if (DateFormatUtil.getStrDate4Date(currentDate, "yyyy-MM-dd").equals(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd"))){
-                holder.title_tv.setText(model.getAb_starttime().substring(0,10)+" "+model.getAb_starttime().substring(11,16)+"-"+
-                        model.getAb_endtime().substring(11,16));
+            if (DateFormatUtil.getStrDate4Date(currentDate, "yyyy-MM-dd")
+                    .equals(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd"))){
+                if (StringUtil.isEmpty(model.getAb_starttime())){
+                    holder.title_tv.setText(model.getAb_endtime().substring(11,16));
+                }else{
+                    holder.title_tv.setText(model.getAb_starttime().substring(0,10)+" "+model.getAb_starttime().substring(11,16)+"-"+
+                            model.getAb_endtime().substring(11,16)); 
+                }
             }else{
              
                
             }
             if (isTime){
+                //显示具体天
                 holder.title_tv.setText(model.getAb_starttime().substring(0,10)+" "+model.getAb_starttime().substring(11,16)+"-"+
                         model.getAb_endtime().substring(11,16));
             }else{
-                holder.title_tv.setText(model.getAb_starttime().substring(11,16)+"-"+
-                        model.getAb_endtime().substring(11,16));
+                //不显示具体天
+               if (StringUtil.isEmpty(model.getAb_starttime())){
+                   holder.title_tv.setText(model.getAb_endtime().substring(11,16));
+               }else{
+                   holder.title_tv.setText(model.getAb_starttime().substring(11,16)+"-"+
+                           model.getAb_endtime().substring(11,16));
+               }
             }
            
             holder.status_tv.setText(model.getAb_confirmstatus());
@@ -126,6 +137,7 @@ public class BookAdapter extends BaseAdapter {
             holder.model.setAb_type(model.getAb_type());
          
         } catch (Exception e) {
+            e.printStackTrace();
         }
         return convertView;
     }

+ 34 - 2
app_modular/appbooking/src/main/java/com/modular/booking/model/SBListModel.java

@@ -25,7 +25,8 @@ public class SBListModel implements Parcelable {
 //            "sc_uu":"201"
 	private String url;
 	private String name;
-	private String type;
+	private String type;//行业名
+	private String industrycode;//行业号码
 	private String stars;
 	private String distance;
 	private String cash;
@@ -34,7 +35,8 @@ public class SBListModel implements Parcelable {
 	private String companyid;//新加字段
 	private String address;//新加字段
 	private int id;//新加字段
-
+	private String starttime;
+	private String	 endtime;
 
 	public String getUrl() {
 		return url;
@@ -124,6 +126,14 @@ public class SBListModel implements Parcelable {
 		this.address = address;
 	}
 
+	public String getIndustrycode() {
+		return industrycode;
+	}
+
+	public void setIndustrycode(String industrycode) {
+		this.industrycode = industrycode;
+	}
+
 	public SBListModel() {
 	}
 
@@ -133,6 +143,22 @@ public class SBListModel implements Parcelable {
 		return JSON.toJSONString(this);
 	}
 
+	public String getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(String starttime) {
+		this.starttime = starttime;
+	}
+
+	public String getEndtime() {
+		return endtime;
+	}
+
+	public void setEndtime(String endtime) {
+		this.endtime = endtime;
+	}
+
 	@Override
 	public int describeContents() {
 		return 0;
@@ -143,6 +169,7 @@ public class SBListModel implements Parcelable {
 		dest.writeString(this.url);
 		dest.writeString(this.name);
 		dest.writeString(this.type);
+		dest.writeString(this.industrycode);
 		dest.writeString(this.stars);
 		dest.writeString(this.distance);
 		dest.writeString(this.cash);
@@ -151,12 +178,15 @@ public class SBListModel implements Parcelable {
 		dest.writeString(this.companyid);
 		dest.writeString(this.address);
 		dest.writeInt(this.id);
+		dest.writeString(this.starttime);
+		dest.writeString(this.endtime);
 	}
 
 	protected SBListModel(Parcel in) {
 		this.url = in.readString();
 		this.name = in.readString();
 		this.type = in.readString();
+		this.industrycode = in.readString();
 		this.stars = in.readString();
 		this.distance = in.readString();
 		this.cash = in.readString();
@@ -165,6 +195,8 @@ public class SBListModel implements Parcelable {
 		this.companyid = in.readString();
 		this.address = in.readString();
 		this.id = in.readInt();
+		this.starttime = in.readString();
+		this.endtime = in.readString();
 	}
 
 	public static final Creator<SBListModel> CREATOR = new Creator<SBListModel>() {

+ 19 - 13
app_modular/appbooking/src/main/res/layout/activity_bservice_add.xml

@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout
+<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:orientation="vertical"
     tools:context="com.modular.booking.activity.services.BServiceAddActivity">
 
     <ScrollView
-        android:layout_width="368dp"
-        android:layout_height="495dp"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:fillViewport="true"
         android:scrollbars="none"
-        tools:layout_editor_absoluteX="8dp"
-        tools:layout_editor_absoluteY="8dp">
+        >
 
         <LinearLayout
             android:layout_width="match_parent"
@@ -25,10 +25,14 @@
             <!--抬头信息-->
             <RelativeLayout
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_centerHorizontal="true"
-                android:padding="10dp">
-
+                android:layout_height="80dp"
+                android:layout_centerHorizontal="true">
+                <ImageView
+                    android:id="@+id/max_img"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:alpha="0.7"
+                    android:scaleType="fitXY" />
                 <de.hdodenhof.circleimageview.CircleImageView
                     android:id="@+id/iv_header"
                     android:layout_width="55dp"
@@ -37,15 +41,16 @@
                     android:layout_alignParentStart="true"
                     android:layout_centerVertical="true"
                     android:layout_marginLeft="12dp"
-                    android:layout_marginRight="10dp"
                     android:layout_marginStart="12dp"
                     android:background="@null"
-                    android:src="@drawable/defaultpic"></de.hdodenhof.circleimageview.CircleImageView>
+                    android:src="@drawable/defaultpic">
+                </de.hdodenhof.circleimageview.CircleImageView>
 
                 <LinearLayout
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_centerVertical="true"
+                    android:layout_marginLeft="15dp"
                     android:layout_toRightOf="@+id/iv_header"
                     android:orientation="vertical">
 
@@ -450,7 +455,8 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
-                android:visibility="gone">
+                android:visibility="gone"
+               >
 
                 <RelativeLayout
                     android:id="@+id/food_peoples_rl"
@@ -630,4 +636,4 @@
             </RelativeLayout>
         </LinearLayout>
     </ScrollView>
-</android.support.constraint.ConstraintLayout>
+</LinearLayout>

+ 2 - 2
app_modular/appbooking/src/main/res/values-en/strings.xml

@@ -25,8 +25,8 @@
     <string name="service_hair_rooms">服务项目</string>
 
     <string name="service_food_times">用餐时间</string>
-    <string name="service_food_rooms">用餐人数</string>
-    <string name="service_food_peoples">需要包间</string>
+    <string name="service_food_rooms">需要包间</string>
+    <string name="service_food_peoples">用餐人数</string>
     
     <!--预约功能-->
     <string name="booking_personal">个人预约</string>

+ 2 - 2
app_modular/appbooking/src/main/res/values-zh-rCN/strings.xml

@@ -25,8 +25,8 @@
     <string name="service_hair_rooms">服务项目</string>
 
     <string name="service_food_times">用餐时间</string>
-    <string name="service_food_rooms">用餐人数</string>
-    <string name="service_food_peoples">需要包间</string>
+    <string name="service_food_rooms">需要包间</string>
+    <string name="service_food_peoples">用餐人数</string>
     
     <!--预约功能-->
     <string name="booking_personal">个人预约</string>

+ 2 - 2
app_modular/appbooking/src/main/res/values-zh-rTW/strings.xml

@@ -25,8 +25,8 @@
     <string name="service_hair_rooms">服务项目</string>
 
     <string name="service_food_times">用餐时间</string>
-    <string name="service_food_rooms">用餐人数</string>
-    <string name="service_food_peoples">需要包间</string>
+    <string name="service_food_rooms">需要包间</string>
+    <string name="service_food_peoples">用餐人数</string>
     
     <!--预约功能-->
     <string name="booking_personal">个人预约</string>