|
|
@@ -1,6 +1,10 @@
|
|
|
package com.modular.booking.activity.business;
|
|
|
|
|
|
+import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
+import android.util.Log;
|
|
|
+import android.view.Menu;
|
|
|
+import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
import android.view.animation.Animation;
|
|
|
import android.view.animation.AnimationUtils;
|
|
|
@@ -17,11 +21,17 @@ 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.app.Constants;
|
|
|
import com.core.app.MyApplication;
|
|
|
-import com.core.base.BaseActivity;
|
|
|
+import com.core.base.OABaseActivity;
|
|
|
+import com.core.model.OAConfig;
|
|
|
+import com.core.model.SelectCollisionTurnBean;
|
|
|
+import com.core.model.SelectEmUser;
|
|
|
import com.core.utils.helper.AvatarHelper;
|
|
|
import com.core.widget.MyListView;
|
|
|
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 com.modular.booking.R;
|
|
|
@@ -37,7 +47,7 @@ import de.hdodenhof.circleimageview.CircleImageView;
|
|
|
* @desc:商务预约详情
|
|
|
* @author:Arison on 2017/9/11
|
|
|
*/
|
|
|
-public class BBookingDetailActivity extends BaseActivity implements View.OnClickListener{
|
|
|
+public class BBookingDetailActivity extends OABaseActivity implements View.OnClickListener{
|
|
|
|
|
|
private MyListView mListDetail;
|
|
|
private RelativeLayout rvTop;
|
|
|
@@ -69,6 +79,45 @@ public class BBookingDetailActivity extends BaseActivity implements View.OnClic
|
|
|
initEvent();
|
|
|
initData();
|
|
|
}
|
|
|
+ Menu mMenu;
|
|
|
+ @Override
|
|
|
+ public boolean onPrepareOptionsMenu(Menu menu) {
|
|
|
+ mMenu=menu;
|
|
|
+ Log.e("isMenuShuffle",isMenuShuffle + "");
|
|
|
+ if(isMenuShuffle)
|
|
|
+ {
|
|
|
+ menu.findItem(R.id.app_about).setVisible(true);
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ menu.findItem(R.id.app_about).setVisible(false);
|
|
|
+ }
|
|
|
+ return super.onPrepareOptionsMenu(menu);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
+ getMenuInflater().inflate(R.menu.menu_about, menu);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
+ int i = item.getItemId();
|
|
|
+ if (i == R.id.app_about) {
|
|
|
+ Intent intent = new Intent("com.modular.main.SelectCollisionActivity");
|
|
|
+ SelectCollisionTurnBean bean = new SelectCollisionTurnBean()
|
|
|
+ .setTitle(getString(R.string.select_share_friend))
|
|
|
+ .setSingleAble(false);
|
|
|
+ intent.putExtra(OAConfig.MODEL_DATA, bean);
|
|
|
+ startActivityForResult(intent, 0x02);
|
|
|
+
|
|
|
+ } else if (i == android.R.id.home) {
|
|
|
+ onBackPressed();
|
|
|
+
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
|
|
|
public void initView(){
|
|
|
getSupportActionBar().setTitle("商务预约");
|
|
|
@@ -119,10 +168,12 @@ public class BBookingDetailActivity extends BaseActivity implements View.OnClic
|
|
|
ll_bottom.setVisibility(View.VISIBLE);
|
|
|
ivResultInfo.startAnimation(animation);
|
|
|
if( MyApplication.getInstance().mLoginUser.getUserId().equals(model.getAb_recordid())){
|
|
|
+ //发起人
|
|
|
((Button)findViewById(R.id.bt_change)).setText("变更");
|
|
|
((Button)findViewById(R.id.bt_change)).setTextColor(getResources().getColor(R.color.white));
|
|
|
((Button)findViewById(R.id.bt_cancle)).setText("取消");
|
|
|
}else{
|
|
|
+ //被预约人
|
|
|
((Button)findViewById(R.id.bt_change)).setText("确认");
|
|
|
((Button)findViewById(R.id.bt_cancle)).setText("拒绝");
|
|
|
}
|
|
|
@@ -190,7 +241,8 @@ public class BBookingDetailActivity extends BaseActivity implements View.OnClic
|
|
|
HttpClient httpClient=new HttpClient.Builder("http://113.105.74.140:8092/").build();
|
|
|
httpClient.Api()
|
|
|
.send(new HttpClient.Builder().url("user/appBusinessDetail")
|
|
|
- .add("id", "10002")
|
|
|
+ .add("id", model.getAb_id())
|
|
|
+ .add("userid",MyApplication.getInstance().mLoginUser.getUserId())
|
|
|
.add("token", MyApplication.getInstance().mAccessToken)
|
|
|
.build(), new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
|
|
|
@@ -242,12 +294,162 @@ public class BBookingDetailActivity extends BaseActivity implements View.OnClic
|
|
|
public void onClick(View v) {
|
|
|
int i = v.getId();
|
|
|
if (i == R.id.bt_change) {
|
|
|
-
|
|
|
+ updateBookingState((Button) v);
|
|
|
} else if (i == R.id.bt_cancle) {
|
|
|
-
|
|
|
+ updateBookingState((Button) v);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
+ if (data==null)return;
|
|
|
+ switch (requestCode){
|
|
|
+ case 0x02:
|
|
|
+ try {
|
|
|
+ List<SelectEmUser> employeesList = data.getParcelableArrayListExtra("data");
|
|
|
+ LogUtil.d("Test",JSON.toJSONString(employeesList));
|
|
|
+ StringBuilder stringBuilder=new StringBuilder("");
|
|
|
+ for(int i=0;i<employeesList.size();i++){
|
|
|
+ if (i==employeesList.size()-1){
|
|
|
+ stringBuilder.append(employeesList.get(i).getImId());
|
|
|
+ }else{
|
|
|
+ stringBuilder.append(employeesList.get(i).getImId());
|
|
|
+ stringBuilder.append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ LogUtil.d("Test",stringBuilder.toString());
|
|
|
+ LogUtil.d("Test",model.getAb_id());
|
|
|
+ if (!StringUtil.isEmpty(stringBuilder.toString())&&!StringUtil.isEmpty(model.getAb_id())){
|
|
|
+ shareBooking(model.getAb_id(),stringBuilder.toString());
|
|
|
+ }else {
|
|
|
+ ToastMessage("共享失败!");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void shareBooking(String id,String imids){
|
|
|
+ showLoading();
|
|
|
+ //map包括planids 个人计划id,bplanids商务计划id,userids共享人员imid,多个id用逗号连接
|
|
|
+ String map="{\"planids\":\"" +"" + "\",\"bplanids\":\""+id+"\",\"userids\":\""+imids+"\"}";
|
|
|
+ LogUtil.d("HttpLogs","map:"+map);
|
|
|
+ HttpClient httpClient=new HttpClient.Builder(Constants.IM_BASE_URL).isDebug(true).build();
|
|
|
+ httpClient.Api().send(new HttpClient.Builder()
|
|
|
+ .url("/user/appBatchShare")
|
|
|
+ .add("token", MyApplication.getInstance().mAccessToken)
|
|
|
+ .add("map", map)
|
|
|
+ .method(Method.POST)
|
|
|
+ .build(),new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(Object o) {
|
|
|
+ dimssLoading();
|
|
|
+ }
|
|
|
+ }));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void updateBookingState(Button button){
|
|
|
+ // 发起人 可以变更和取消
|
|
|
+ //被预约人 不能变更和取消
|
|
|
+ String map="{\"ab_confirmstatus \":\"已确认\",\"ab_bmanid\":\""+model.getAb_bmanid()+"\"}";
|
|
|
+ String time=model.getAb_starttime().substring(0,16)+"-"+model.getAb_endtime().substring(11,16);
|
|
|
+ if (button.getText().equals("变更")){
|
|
|
+ if (MyApplication.getInstance().mLoginUser.getUserId().equals(model.getAb_bmanid())){
|
|
|
+ String content=model.getAb_bman()+"变更了您"+time+"的预约计划";
|
|
|
+ // sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
|
|
|
+ }else{
|
|
|
+ String content=model.getAb_recordman()+"变更了您"+time+"的预约计划";
|
|
|
+ // sendMessage(model.getAb_recordid(),model.getAb_recordman(),model.getAb_bmanid(),content);
|
|
|
+ }
|
|
|
+
|
|
|
+ Bundle bundle=new Bundle();
|
|
|
+ bundle.putParcelable("model",model);
|
|
|
+// startActivity(new Intent(mContext,BookingAddActivity.class)
|
|
|
+// .putExtras(bundle));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ showLoading();
|
|
|
+ if (button.getText().equals("确认")){
|
|
|
+ String content=model.getAb_bman()+"确认了您"+time+"的预约计划";
|
|
|
+ // sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
|
|
|
+ String action="已确认";
|
|
|
+ map="{\"ad_confirmstatus \":\""+action+"\",\"ad_bmanid\":\""+model.getAb_bmanid()+"\",\"ad_sharestatus\":\"" +"未共享"+ "\"}";
|
|
|
+ }
|
|
|
+ if (button.getText().equals("拒绝")){
|
|
|
+ String content=model.getAb_bman()+"拒绝了您"+time+"的预约计划";
|
|
|
+ // sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
|
|
|
+ String action="已拒绝";
|
|
|
+ map="{\"ad_confirmstatus \":\""+action+"\",\"ad_bmanid\":\""+model.getAb_bmanid()+"\",\"ad_sharestatus\":\"" +"未共享"+ "\"}";
|
|
|
+ }
|
|
|
+ if (button.getText().equals("取消")){
|
|
|
+ if (MyApplication.getInstance().mLoginUser.getUserId().equals(model.getAb_bmanid())){
|
|
|
+ String content=model.getAb_bman()+"取消了您"+time+"的预约计划";
|
|
|
+ ToastMessage("您不能取消!");
|
|
|
+ return;
|
|
|
+ // sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
|
|
|
+ }else{
|
|
|
+ String content=model.getAb_recordman()+"取消了您"+time+"的预约计划";
|
|
|
+ // sendMessage(model.getAb_recordid(),model.getAb_recordman(),model.getAb_bmanid(),content);
|
|
|
+ }
|
|
|
+ String action="已取消";
|
|
|
+ map="{\"ad_confirmstatus \":\""+action+"\",\"ad_bmanid\":\""+model.getAb_bmanid()+"\",\"ad_sharestatus\":\"" +"未共享"+ "\"}";
|
|
|
+ }
|
|
|
+ actionOrder(model.getAb_id(),map);
|
|
|
+ }
|
|
|
|
|
|
+ //变更
|
|
|
+ public void updateOrder(String id ,String map){
|
|
|
+ ///user/appUpdateBusiness
|
|
|
+ HttpClient httpClient=new HttpClient.Builder(Constants.IM_BASE_URL).isDebug(true).build();
|
|
|
+ httpClient.Api().send(new HttpClient.Builder()
|
|
|
+ .url("/user/appUpdateBusiness")
|
|
|
+ .add("token", MyApplication.getInstance().mAccessToken)
|
|
|
+ .add("map", map)
|
|
|
+ .add("id",id)
|
|
|
+ .method(Method.POST)
|
|
|
+ .build(),new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(Object o) {
|
|
|
+ dimssLoading();
|
|
|
+ if (JSONUtil.validate(o.toString())){
|
|
|
+ String result=JSON.parseObject(o.toString()).getString("result");
|
|
|
+ if ("true".equals(result)){
|
|
|
+ ToastMessage("变更");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }));
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
+ //确认和取消
|
|
|
+ public void actionOrder(String id, String map){
|
|
|
+ LogUtil.d("HttpLogs","id:"+id);
|
|
|
+ LogUtil.d("HttpLogs","map:"+map);
|
|
|
+ HttpClient httpClient=new HttpClient.Builder(Constants.IM_BASE_URL).isDebug(true).build();
|
|
|
+ httpClient.Api().send(new HttpClient.Builder()
|
|
|
+ .url("/user/appBatchShare")
|
|
|
+ .header("Content-Type","application/x-www-form-urlencoded;charset=UTF-8")
|
|
|
+ .add("token", MyApplication.getInstance().mAccessToken)
|
|
|
+ .add("map", map)
|
|
|
+ .add("id",id)
|
|
|
+ .method(Method.POST)
|
|
|
+ .build(),new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(Object o) {
|
|
|
+ dimssLoading();
|
|
|
+ //{"result":"true"}
|
|
|
+ if (JSONUtil.validate(o.toString())){
|
|
|
+ String result=JSON.parseObject(o.toString()).getString("result");
|
|
|
+ if ("true".equals(result)){
|
|
|
+ ToastMessage("操作成功!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }));
|
|
|
+
|
|
|
+ }
|
|
|
}
|