Browse Source

修改外勤签到参数错误问题
修改oa首页 显示问题
修改选择人员问题

Bitliker 9 years ago
parent
commit
d71a4bd325

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/oa/SelectEmUser.java

@@ -15,7 +15,7 @@ public class SelectEmUser implements Parcelable {
     private int defaultorid;//部门id
     private int number;     //部门人员数量
 
-    private String emCode;  //emcode
+    private String emCode;  //emcode(人员编号,部门编号)
     private String emName;  //名字
     private String position;//职位
     private String depart;//部门名称

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java

@@ -381,7 +381,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             Crouton.makeText(ct, "截止时间不能大于当前系统时间");
             return false;
         }
-        if (!StringUtils.isEmpty(end) && !StringUtils.isEmpty(start) && start.compareTo(end) > 0) {
+        if (!StringUtils.isEmpty(end) && !StringUtils.isEmpty(start) && start.compareTo(end) >= 0) {
             Crouton.makeText(ct, "开始时间不能大于截止时间");
             return false;
         }

+ 22 - 12
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddFlihtsActivity.java

@@ -16,6 +16,7 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
+import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.FlightsModel;
 import com.xzjmyk.pm.activity.ui.erp.presenter.AddFlihtsPresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IAddFlihtsView;
@@ -94,6 +95,7 @@ public class AddFlihtsActivity extends OABaseActivity implements IAddFlihtsView,
     @Override
     public void onClick(View view) {
         Intent intent = null;
+        SelectCollisionTurnBean bean = null;
         switch (view.getId()) {
             case R.id.time_tv:
                 intent = new Intent(ct, FlihtsTimeActivity.class);
@@ -107,12 +109,14 @@ public class AddFlihtsActivity extends OABaseActivity implements IAddFlihtsView,
                 break;
             case R.id.department_tv:
                 intent = new Intent(ct, SelectDepartmentActivity.class);
-                intent.putExtra(OAConfig.STRING_DATA,presenter.getHrorgsNames());
+                intent.putExtra(OAConfig.STRING_DATA, presenter.getHrorgsEmCode());
                 startActivityForResult(intent, DEPARTMENT_TV);
                 break;
             case R.id.munber_tv:
                 intent = new Intent(ct, SelectCollisionActivity.class);
-                intent.putExtra(OAConfig.STRING_DATA, presenter.getEmployeeNames());
+                bean = new SelectCollisionTurnBean()
+                        .setSelectCode(presenter.getEmployeeEmCode());
+                intent.putExtra(OAConfig.MODEL_DATA, bean);
                 startActivityForResult(intent, MUNBER_TV);
                 break;
             case R.id.click_btn:
@@ -122,21 +126,27 @@ public class AddFlihtsActivity extends OABaseActivity implements IAddFlihtsView,
             case R.id.collision_munber_tv:
                 if (ListUtils.isEmpty(mans)) return;
                 intent = new Intent(ct, SelectCollisionActivity.class);
-                intent.putParcelableArrayListExtra(OAConfig.ARRAY_DATA, mans);
-                intent.putExtra("backClicked", false);
-                intent.putExtra("SureText", "使用本班次");
-                intent.putExtra("tag", "人员");
-                intent.putExtra("title", "冲突人员");
+                bean = new SelectCollisionTurnBean()
+                        .setSureText("使用本班次")
+                        .setSelectType("人员")
+                        .setTitle("冲突人员")
+                        .setReBackSelect(false)
+                        .setSelectCode(presenter.getEmployeeEmCode())
+                        .setSelectList(mans);
+                intent.putExtra(OAConfig.MODEL_DATA, bean);
                 startActivityForResult(intent, COLLISION_MUNBER_TV);
                 break;
             case R.id.collision_department_tv:
                 if (ListUtils.isEmpty(defaultirs)) return;
                 intent = new Intent(ct, SelectCollisionActivity.class);
-                intent.putParcelableArrayListExtra(OAConfig.ARRAY_DATA, defaultirs);
-                intent.putExtra("backClicked", false);
-                intent.putExtra("tag", "部门");
-                intent.putExtra("SureText", "使用本班次");
-                intent.putExtra("title", "冲突部门");
+                bean = new SelectCollisionTurnBean()
+                        .setSureText("使用本班次")
+                        .setSelectType("部门")
+                        .setTitle("冲突部门")
+                        .setReBackSelect(false)
+                        .setSelectCode(presenter.getEmployeeEmCode())
+                        .setSelectList(defaultirs);
+                intent.putExtra(OAConfig.MODEL_DATA, bean);
                 presenter.putData2Intent(view.getId(), intent);
                 startActivityForResult(intent, COLLISION_DEPARTMENT_TV);
                 break;

+ 6 - 17
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/PlatWDdetailyActivity.java

@@ -33,11 +33,13 @@ import com.xzjmyk.pm.activity.adapter.PlatComAfAdapter;
 import com.xzjmyk.pm.activity.bean.oa.PlatComAfBean;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomerScrollView;
 import com.xzjmyk.pm.activity.ui.platform.activity.ChangeDealManActivity;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
@@ -419,24 +421,11 @@ public class PlatWDdetailyActivity extends BaseActivity {
     }
 
     private void doSelectDealMan() {
-//        HashMap param = new HashMap<>();
-//        param.put("enuu", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getEnuu());
-//        Bundle bundle = new Bundle();
-//        bundle.putSerializable("param", param);
-//        Intent intent = new Intent(ct, SelectActivity.class);
-//        intent.putExtra("type", 1);
-//        intent.putExtra("isSingle",true);
-//        intent.putExtra("reid", R.style.OAThemeMeet);
-//        intent.putExtras(bundle);
-//        intent.putExtra("key", "data");
-//        intent.putExtra("method", "get");
-//        intent.putExtra("showKey", "emname");
-//        intent.putExtra("action", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getUsersInfo);//
-//        startActivityForResult(intent, 0x01);
-
         Intent intent = new Intent(ct, SelectCollisionActivity.class);
-        intent.putExtra("title", "选择执行人");
-        intent.putExtra("single", true);
+        SelectCollisionTurnBean bean = new SelectCollisionTurnBean()
+                .setTitle("选择执行人")
+                .setSingleAble(true);
+        intent.putExtra(OAConfig.MODEL_DATA, bean);
         startActivityForResult(intent, 0x01);
     }
 

+ 18 - 25
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectCollisionActivity.java

@@ -24,12 +24,14 @@ import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
 import com.xzjmyk.pm.activity.sortlist.SideBar;
 import com.xzjmyk.pm.activity.ui.erp.adapter.oa.SelectCollisionAdapter;
 import com.xzjmyk.pm.activity.ui.erp.entity.EditChangeListener;
+import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
 import com.xzjmyk.pm.activity.ui.erp.presenter.SelectCollisionPresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
 import com.xzjmyk.pm.activity.view.ClearEditText;
 
@@ -59,8 +61,7 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
     private int allSelect = 0;
     private boolean isClickCb = true;
     private EmptyLayout emptyLayout;
-    private String tag;
-    private boolean single;
+    private SelectCollisionTurnBean selectBean;
 
 
     @Override
@@ -81,17 +82,18 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
         sidebar.setTextView(text_dialog);
         presenter = new SelectCollisionPresenter(this);
         if (getIntent() != null) {
-            String title = getIntent().getStringExtra("title");
-            if (!StringUtils.isEmpty(title))
-                getSupportActionBar().setTitle(title);
-            single = getIntent().getBooleanExtra("single", false);
-            select_rl.setVisibility(single ? View.GONE : View.VISIBLE);
+            selectBean = getIntent().getParcelableExtra(OAConfig.MODEL_DATA);
+            if (selectBean == null) {
+                LogUtil.i("selectBean == null");
+                new NullPointerException("selectBean cannot be Null");
+            } else if (!StringUtils.isEmpty(selectBean.getTitle()))
+                getSupportActionBar().setTitle(selectBean.getTitle());
+            select_rl.setVisibility(selectBean.isSingleAble() ? View.GONE : View.VISIBLE);
+        } else {
+            LogUtil.i("selectBean == null");
+            new NullPointerException("Intent cannot be Null");
         }
-        if (getIntent() != null)
-            tag = getIntent().getStringExtra("tag");
-        if (StringUtils.isEmpty(tag)) tag = "员工";
-        presenter.start(getIntent());
-
+        presenter.start(selectBean);
     }
 
     private void initEvent() {
@@ -141,7 +143,7 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 if (adapter == null) return;
-                if (single) {
+                if (selectBean.isSingleAble()) {
                     if (ListUtils.isEmpty(adapter.getListData()) || position >= adapter.getListData().size()) {
                         LogUtil.i("选择错误");
                         return;
@@ -173,7 +175,6 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
 
     @Override
     public void showModel(List<BaseSortModel<SelectEmUser>> models) {
-        //TODO 出现显示异常
         adapter = new SelectCollisionAdapter(models);
         listView.setAdapter(adapter);
         if (ListUtils.isEmpty(models)) {
@@ -182,24 +183,16 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
             select_rl.setVisibility(View.GONE);
         } else {
             sidebar.setVisibility(View.VISIBLE);
-            if (!single)
+            if (!selectBean.isSingleAble())
                 select_rl.setVisibility(View.VISIBLE);
         }
-//        if (adapter == null) {
-//            adapter = new SelectCollisionAdapter(models);
-//            listView.setAdapter(adapter);
-//        } else {
-//            //由于item是可变高度item,所以出现搜索后的item总高度小于前面的对应数量的item总高度,出现显示异常
-//            adapter.setListData(models);
-//            adapter.notifyDataSetChanged();
-//        }
     }
 
 
     @Override
     public void showNumber(int number) {
         allSelect = number;
-        mumber_tv.setText("已选择" + number + " " + tag);
+        mumber_tv.setText("已选择" + number + " " + selectBean.getSelectType());
     }
 
     @Override
@@ -236,7 +229,7 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
             all_sure_cb.setChecked(true);
             all_sure_cb.setText("取消全选");
         }
-        mumber_tv.setText("已选择" + allSelect + " " + tag);
+        mumber_tv.setText("已选择" + allSelect + " " + selectBean.getSelectType());
     }
 
     @Override

+ 146 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/entity/SelectCollisionTurnBean.java

@@ -0,0 +1,146 @@
+package com.xzjmyk.pm.activity.ui.erp.entity;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
+
+import java.util.List;
+
+/**
+ * Created by Bitliker on 2017/4/17.
+ */
+
+public class SelectCollisionTurnBean implements Parcelable {
+
+    private String title;//标题
+    private String sureText = "确定";//选择按钮显示
+    private String selectType = "人员";//提示选择的类型
+    private boolean reBackSelect = true;//是否返回选中人员,否返回非选中人员
+    private String selectCode;//选中的人员Code
+    private int resultCode = 0x20;//返回的code
+    private boolean singleAble = false;//是否单选
+    private List<SelectEmUser> selectList;
+
+    public SelectCollisionTurnBean() {
+
+    }
+
+
+    protected SelectCollisionTurnBean(Parcel in) {
+        title = in.readString();
+        sureText = in.readString();
+        selectType = in.readString();
+        reBackSelect = in.readByte() != 0;
+        selectCode = in.readString();
+        resultCode = in.readInt();
+        singleAble = in.readByte() != 0;
+        selectList = in.createTypedArrayList(SelectEmUser.CREATOR);
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeString(title);
+        dest.writeString(sureText);
+        dest.writeString(selectType);
+        dest.writeByte((byte) (reBackSelect ? 1 : 0));
+        dest.writeString(selectCode);
+        dest.writeInt(resultCode);
+        dest.writeByte((byte) (singleAble ? 1 : 0));
+        dest.writeTypedList(selectList);
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    public static final Creator<SelectCollisionTurnBean> CREATOR = new Creator<SelectCollisionTurnBean>() {
+        @Override
+        public SelectCollisionTurnBean createFromParcel(Parcel in) {
+            return new SelectCollisionTurnBean(in);
+        }
+
+        @Override
+        public SelectCollisionTurnBean[] newArray(int size) {
+            return new SelectCollisionTurnBean[size];
+        }
+    };
+
+    public String getTitle() {
+        return title;
+    }
+
+
+    public String getSureText() {
+        return sureText;
+    }
+
+
+    public String getSelectType() {
+        return selectType;
+    }
+
+    public boolean isReBackSelect() {
+        return reBackSelect;
+    }
+
+
+    public String getSelectCode() {
+        return selectCode;
+    }
+
+
+    public int getResultCode() {
+        return resultCode;
+    }
+
+
+    public boolean isSingleAble() {
+        return singleAble;
+    }
+
+    public List<SelectEmUser> getSelectList() {
+        return selectList;
+    }
+
+    public SelectCollisionTurnBean setSingleAble(boolean singleAble) {
+        this.singleAble = singleAble;
+        return this;
+    }
+
+    public SelectCollisionTurnBean setResultCode(int resultCode) {
+        this.resultCode = resultCode;
+        return this;
+    }
+
+    public SelectCollisionTurnBean setSelectCode(String selectCode) {
+        this.selectCode = selectCode;
+        return this;
+    }
+
+    public SelectCollisionTurnBean setReBackSelect(boolean reBackSelect) {
+        this.reBackSelect = reBackSelect;
+        return this;
+    }
+
+    public SelectCollisionTurnBean setSelectType(String selectType) {
+        this.selectType = selectType;
+        return this;
+    }
+
+    public SelectCollisionTurnBean setSureText(String sureText) {
+        this.sureText = sureText;
+        return this;
+    }
+
+    public SelectCollisionTurnBean setTitle(String title) {
+        this.title = title;
+        return this;
+    }
+
+    public SelectCollisionTurnBean setSelectList(List<SelectEmUser> selectList) {
+        this.selectList = selectList;
+        return this;
+    }
+}

+ 3 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/model/oa/OAModel.java

@@ -85,6 +85,8 @@ public class OAModel {
     }
 
     public String getRecorder() {
+        if (StringUtils.isEmpty(recorder))
+            return "";
         return recorder;
     }
 
@@ -183,7 +185,7 @@ public class OAModel {
             time = startdate;
         else if (enddate > 0)
             time = enddate;
-        else time =recorddate;
+        else time = recorddate;
         return TimeUtils.s_long_2_str(time);
     }
 

+ 4 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/AddFlihtsPresenter.java

@@ -526,15 +526,15 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
         }
     }
 
-    public String getEmployeeNames() {
+    public String getEmployeeEmCode() {
         if (model == null) return "";
         if (model.getEmployeesModel() == null) return "";
-        return model.getEmployeesModel().getEmployeeNames();
+        return model.getEmployeesModel().getEmployeecode();
     }
 
-    public String getHrorgsNames() {
+    public String getHrorgsEmCode() {
         if (model == null) return "";
         if (model.getHrorgsModel() == null) return "";
-        return model.getHrorgsModel().getEmployeeNames();
+        return model.getHrorgsModel().getEmployeecode();
     }
 }

+ 23 - 32
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SelectCollisionPresenter.java

@@ -17,14 +17,15 @@ import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
+import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CompanyHandlerInfoUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.HttpHandler;
-import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.tool.ThreadPool;
 
 import java.util.ArrayList;
@@ -39,41 +40,30 @@ public class SelectCollisionPresenter {
     private ISelectActiveView iSelectActiveView;
     private List<BaseSortModel<SelectEmUser>> allList;
     private BaseComparator<SelectEmUser> mBaseComparator;
-    private String selectName;
 
-    private boolean backClicked;//确定时候是否返回选中的,如果不是,就是返回不选中的
+    private SelectCollisionTurnBean selectBean;
 
     public SelectCollisionPresenter(ISelectActiveView iSelectActiveView) {
         if (iSelectActiveView == null) new NullPointerException("iSelectActiveView is Null");
         this.iSelectActiveView = iSelectActiveView;
-
     }
 
-    /**
-     * type
-     * 1.点击选择人员进来,(1.没有选过人  2.选过人了)
-     * 2.选择冲突部门
-     * 3.选择冲突员工
-     *
-     * @param intent
-     */
-    public void start(Intent intent) {
+
+    public void start(SelectCollisionTurnBean selectBean) {
+        if (selectBean == null) {
+            LogUtil.i("selectBean == null");
+            new NullPointerException("Intent cannot be Null");
+        }
+        this.selectBean = selectBean;
         allList = new ArrayList<>();
         mBaseComparator = new BaseComparator<>();
-        if (intent == null) {
-            //TODO 当专递过来的内容为空的
-        } else {
-            initdata(intent);
-        }
+        initdata();
     }
 
-    private void initdata(Intent intent) {
-        List<SelectEmUser> selects = intent.getParcelableArrayListExtra(OAConfig.ARRAY_DATA);
-        selectName = intent.getStringExtra(OAConfig.STRING_DATA);
-        String sureText = intent.getStringExtra("SureText");
-        backClicked = intent.getBooleanExtra("backClicked", true);
-        if (!StringUtils.isEmpty(sureText))
-            iSelectActiveView.showSureText(sureText);
+    private void initdata() {
+        List<SelectEmUser> selects = selectBean.getSelectList();
+        if (!StringUtils.isEmpty(selectBean.getSureText()))
+            iSelectActiveView.showSureText(selectBean.getSureText());
         if (ListUtils.isEmpty(selects))
             loadDataInThread();
         else
@@ -118,7 +108,7 @@ public class SelectCollisionPresenter {
             iSelectActiveView.showToast("数据为空,没有可选择人员", R.color.load_error);
             return;
         }
-        ArrayList<SelectEmUser> chche = backClicked ? getClickNumber() : getNoClickNumber();
+        ArrayList<SelectEmUser> chche = selectBean.isReBackSelect() ? getClickNumber() : getNoClickNumber();
         Intent intent = new Intent();
         if (chche instanceof ArrayList)
             intent.putParcelableArrayListExtra("data", chche);
@@ -227,16 +217,13 @@ public class SelectCollisionPresenter {
         setUser2Sort(users, false);
     }
 
-
     private void setUser2Sort(List<SelectEmUser> list, boolean isClickAll) {
         int numSelect = 0;
         for (SelectEmUser e : list) {
             BaseSortModel<SelectEmUser> mode = new BaseSortModel<>();
-            if (!isClickAll && !StringUtils.isEmpty(selectName)) {
-                if (StringUtils.isEmpty(e.getEmName()) && StringUtils.isInclude(selectName, e.getEmName())) {
-                    numSelect++;
-                    mode.setClick(true);
-                }
+            if (isSelected(isClickAll, selectBean.getSelectCode(), e.getEmCode())) {
+                numSelect++;
+                mode.setClick(true);
             } else {
                 mode.setClick(isClickAll);
                 if (isClickAll) numSelect++;
@@ -253,6 +240,10 @@ public class SelectCollisionPresenter {
         iSelectActiveView.showModel(allList);
     }
 
+    private boolean isSelected(boolean isClickAll, String SelectCode, String emCode) {
+        return !isClickAll && !StringUtils.isEmpty(SelectCode) && StringUtils.isInclude("," + SelectCode + ",", "," + emCode + ",");
+    }
+
     /**
      * 对特定成员进行排序
      *

+ 3 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/AutoErpSigninUitl.java

@@ -125,17 +125,15 @@ public class AutoErpSigninUitl implements OnHttpResultListener {
         formStore.put("mo_remark", remark);//备注
         formStore.put("mo_company", location);
         formStore.put("mo_address", address);
-        formStore.put("mo_man", name);
-        formStore.put("mo_mancode", emcode);
-        //b2b出现取的是这个,感觉不对
-        //formStore.put("mo_mancode", CommonUtil.getSharedPreferences(MyApplication.getInstance().getApplicationContext(), "companyEnUu"));
-//        formStore.put("emcode", CommonUtil.getEmcode());
         if (isB2b) {
             formStore.put("enuu", CommonUtil.getMaster());
             formStore.put("mpd_id", model.getId());
+            formStore.put("emcode", emcode);
         } else {
             param.put("mpd_id", model.getId());
             param.put("caller", "Mobile_outsign");
+            formStore.put("mo_man", name);
+            formStore.put("mo_mancode", emcode);
         }
         param.put("formStore", StringUtils.mapToJson(formStore));
         Bundle bundle = new Bundle();

+ 6 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/OAHttpUtil.java

@@ -61,8 +61,8 @@ public class OAHttpUtil {
             model = new OAModel();
             model.setType(type);
             model.setMe(isMe);
-            model.setStartdate(getTimeMillis(o, "vr_startdate", "startdate", "mpd_actdate", "mp_firsttime","vr_visittime"));
-            model.setEnddate(getTimeMillis(o, "enddate", "vr_enddate", "mpd_outdate", "mp_lasttime","vr_visitend"));
+            model.setStartdate(getTimeMillis(o, "vr_startdate", "startdate", "mpd_actdate", "mp_firsttime", "vr_visittime"));
+            model.setEnddate(getTimeMillis(o, "enddate", "vr_enddate", "mpd_outdate", "mp_lasttime", "vr_visitend"));
             //录入时间作为选择时间,如果没有录入,使用实际到达时间或是预计到达时间或开始时间
             model.setRecorddate(getTimeMillis(o, "recorddate", "vr_recorddate", "vr_date", "mpd_arrivedate", "startdate", "mpd_actdate"));
             model.setTitle(OACheckUtil.getJson2Text(o, "mpd_company", "name", "vr_cuname", "taskname", "custname"));
@@ -99,13 +99,14 @@ public class OAHttpUtil {
     public boolean canShow(OAModel e, Date curDate) {
         if (e.isMission() && e.getStatus().equals("已完成"))
             return false;
-        else {
+        else if (e.isTask() && "待确认".equals(e.getStatus()) && !e.getRecorder().equals(e.getHandler()))
+            return false;
+        else
             return StringUtils.isInclude(e.getFilterTime(), TimeUtils.s_format.format(curDate));
-        }
     }
 
     public boolean isTaskOk(OAModel e) {
-        if (e.isVisitRecord()||"已拜访".equals(e.getStatus()) || "已完成".equals(e.getStatus()))
+        if (e.isVisitRecord() || "已拜访".equals(e.getStatus()) || "已完成".equals(e.getStatus()))
             return true;
         else if (isMissionOk(e))
             return true;

+ 9 - 18
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/platform/pageforms/FormDetailActivity.java

@@ -41,11 +41,13 @@ import com.xzjmyk.pm.activity.ui.erp.activity.PlatLeaveAddActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.TravelActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.WorkExtraActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectCollisionActivity;
+import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomerScrollView;
 import com.xzjmyk.pm.activity.ui.platform.activity.ChangeDealManActivity;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
@@ -376,24 +378,12 @@ public class FormDetailActivity extends BaseActivity {
     }
 
     private void doSelectDealMan() {
-        //TODO 修改,自行删除
-//        HashMap param = new HashMap<>();
-//        param.put("enuu", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getEnuu());
-//        Bundle bundle = new Bundle();
-//        bundle.putSerializable("param", param);
-//        Intent intent = new Intent(ct, SelectActivity.class);
-//        intent.putExtra("type", 1);
-//        intent.putExtra("isSingle", true);
-//        intent.putExtra("reid", R.style.OAThemeMeet);
-//        intent.putExtras(bundle);
-//        intent.putExtra("key", "data");
-//        intent.putExtra("method", "get");
-//        intent.putExtra("showKey", "emname");
-//        intent.putExtra("action", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getUsersInfo);//
-//        startActivityForResult(intent, 0x01);
+
         Intent intent = new Intent(ct, SelectCollisionActivity.class);
-        intent.putExtra("title", "选择执行人");
-        intent.putExtra("single", true);
+        SelectCollisionTurnBean bean = new SelectCollisionTurnBean()
+                .setTitle("选择执行人")
+                .setSingleAble(true);
+        intent.putExtra(OAConfig.MODEL_DATA, bean);
         startActivityForResult(intent, 0x01);
     }
 
@@ -593,7 +583,8 @@ public class FormDetailActivity extends BaseActivity {
                         doc_detail_key.add(array.getJSONObject(i).keySet().toArray()[0].toString());
                         doc_detail_value.add(array.getJSONObject(i).values().toArray()[0].toString());
                     } else if ("加班单详情".equals(doc_type)) {
-                        doc_detail_key.add("加班明细" + num);doc_detail_value.add("");
+                        doc_detail_key.add("加班明细" + num);
+                        doc_detail_value.add("");
                         doc_detail_key.add(array.getJSONObject(i).keySet().toArray()[0].toString());
                         doc_detail_value.add(array.getJSONObject(i).values().toArray()[0].toString());
                         doc_detail_key.add(array.getJSONObject(i).keySet().toArray()[2].toString());

+ 13 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/platform/task/TaskAddB2BActivity.java

@@ -36,6 +36,7 @@ import com.xzjmyk.pm.activity.audio.voicerecognition.VoiceToWord;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectCollisionActivity;
+import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
@@ -112,6 +113,7 @@ public class TaskAddB2BActivity extends BaseActivity implements View.OnClickList
     private static final String PATH = "/sdcard/uu/record/";// 录音存储路径
     private String typeAmr = ".amr";
     private String selectNames;
+    private String selectCode = null;
 
     private static final int MAX_TIME = 60;// 最长录音时间
     private static final int MIN_TIME = 2;// 最短录音时间
@@ -319,9 +321,11 @@ public class TaskAddB2BActivity extends BaseActivity implements View.OnClickList
                 break;
             case R.id.iv_find:
                 Intent intent = new Intent(ct, SelectCollisionActivity.class);
-                if (!StringUtils.isEmpty(selectNames))
-                    intent.putExtra(OAConfig.STRING_DATA, selectNames);
-                intent.putExtra("title", "选择执行人");
+                SelectCollisionTurnBean bean = new SelectCollisionTurnBean()
+                        .setTitle("选择执行人")
+                        .setSingleAble(false)
+                        .setSelectCode(selectCode);
+                intent.putExtra(OAConfig.MODEL_DATA, bean);
                 startActivityForResult(intent, 0x01);
                 break;
             default:
@@ -577,21 +581,25 @@ public class TaskAddB2BActivity extends BaseActivity implements View.OnClickList
                 List<SelectEmUser> employeesList = data.getParcelableArrayListExtra("data");
                 if (ListUtils.isEmpty(employeesList)) {
                     selectNames = "";
-//                    et_task_people.setTags("");
+                    selectCode = "";
+                    tagValues=null;
                     et_task_people.setVisibility(View.GONE);
                     return;
                 }
                 int i = 0;
                 StringBuilder select = new StringBuilder();
+                StringBuilder selectCode = new StringBuilder();
                 tagValues = new String[employeesList.size()];
                 for (SelectEmUser e : employeesList) {
                     select.append(e.getEmName() + ",");
+                    selectCode.append(e.getEmCode() + ",");
                     tagValues[i++] = e.getEmCode();
                 }
                 OACheckUtil.removieLast(select);
+                OACheckUtil.removieLast(selectCode);
                 selectNames = select.toString();
+                this.selectCode = selectCode.toString();
                 String[] tag = selectNames.split(",");
-
                 et_task_people.setTags(tag);
                 break;
             default:

+ 22 - 37
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/platform/task/TaskAddErpActivity.java

@@ -21,6 +21,7 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectCollisionActivity;
+import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
@@ -56,6 +57,7 @@ public class TaskAddErpActivity extends BaseActivity implements View.OnClickList
     private TextView et_endtime;
 
     private String[] tagValues;
+    private String selectCode = null;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -80,31 +82,20 @@ public class TaskAddErpActivity extends BaseActivity implements View.OnClickList
         switch (v.getId()) {
             case R.id.et_startime:
 //                CommonUtil.showDateDialog(mContext, v);
-                showDateDialog(this,et_startime);
+                showDateDialog(this, et_startime);
                 break;
             case R.id.iv_find:
                 Intent intent = new Intent(ct, SelectCollisionActivity.class);
-                if (!StringUtils.isEmpty(selectNames))
-                    intent.putExtra(OAConfig.STRING_DATA, selectNames);
-                    intent.putExtra("title", "选择执行人");
+                SelectCollisionTurnBean bean = new SelectCollisionTurnBean()
+                        .setTitle("选择执行人")
+                        .setSingleAble(false)
+                        .setSelectCode(selectCode);
+                intent.putExtra(OAConfig.MODEL_DATA, bean);
                 startActivityForResult(intent, 0x01);
-//                HashMap param = new HashMap<>();
-//                param.put("enuu", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getEnuu());
-//                Bundle bundle = new Bundle();
-//                bundle.putSerializable("param", param);
-//                Intent intent = new Intent(ct, SelectActivity.class);
-//                intent.putExtra("type", 1);
-//                intent.putExtra("isSingle",false);
-//                intent.putExtra("reid", R.style.OAThemeMeet);
-//                intent.putExtras(bundle);
-//                intent.putExtra("key", "data");
-//                intent.putExtra("method", "get");
-//                intent.putExtra("showKey", "emname");
-//                intent.putExtra("action", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getUsersInfo);//
-//                startActivityForResult(intent, 0x01);
+
                 break;
             case R.id.et_endtime:
-                showDateDialog(this,et_endtime);
+                showDateDialog(this, et_endtime);
                 break;
             default:
                 break;
@@ -139,32 +130,26 @@ public class TaskAddErpActivity extends BaseActivity implements View.OnClickList
         switch (requestCode) {
             case 0x01://执行人多选
                 List<SelectEmUser> employeesList = data.getParcelableArrayListExtra("data");
+
                 if (ListUtils.isEmpty(employeesList)) {
-                    selectNames="";
+                    selectNames = "";
+                    selectCode = "";
                     et_task_people.setVisibility(View.GONE);
                     return;
                 }
                 StringBuilder select = new StringBuilder();
-                for (SelectEmUser e : employeesList)
+                StringBuilder selectCode = new StringBuilder();
+                for (SelectEmUser e : employeesList) {
                     select.append(e.getEmName() + ",");
+                    selectCode.append(e.getEmCode() + ",");
+                }
                 OACheckUtil.removieLast(select);
+                OACheckUtil.removieLast(selectCode);
+                this.selectCode = selectCode.toString();
                 selectNames = select.toString();
                 String[] tags = {selectNames};
                 et_task_people.setTags(tags);
-//                ArrayList<SelectBean> temps=data.getParcelableArrayListExtra("data");
-//                if (temps==null)return;
-//                String[] tag_values=new String[temps.size()];
-//                tagValues=new String[temps.size()];
-//                int i=0;
-//                for(SelectBean bean:temps){
-//                    JSONObject json= JSON.parseObject(bean.getJson());
-//                    tag_values[i]=bean.getName();
-//                    tagValues[i]= json.getString("emcode");
-//                    i++;
-//                }
-////                SelectBean d=data.getParcelableExtra("data");
-////                String[] tag_values ={d.getName()};
-//                et_task_people.setTags(tag_values);
+
                 break;
             default:
                 break;
@@ -230,9 +215,9 @@ public class TaskAddErpActivity extends BaseActivity implements View.OnClickList
             return;
         }*/
 
-        if (!StringUtils.isEmpty(selectNames)){
+        if (!StringUtils.isEmpty(selectNames)) {
             doHttpSave(selectNames);
-        }else {
+        } else {
             ToastMessage("执行人为必选项");
             return;
         }

+ 3 - 1
WeiChat/src/main/res/layout/activity_select_active.xml

@@ -43,8 +43,10 @@
         android:id="@+id/include_tag"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:orientation="vertical"
         android:layout_alignParentBottom="true"
-        android:orientation="vertical">
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true">
 
         <View
             android:layout_width="match_parent"