Преглед изворни кода

Merge branch 'developer' of https://gitlab.com/Arisono/SkWeiChat-Baidu into fix_bug

# Conflicts:
#	WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java
Arison пре 9 година
родитељ
комит
5a39c4d0d5

+ 3 - 1
WeiChat/src/main/AndroidManifest.xml

@@ -772,7 +772,9 @@
         <activity
             android:name=".ui.message.Subscription2Activity"
             android:label="订阅号" />
-        <activity android:name=".ui.erp.activity.oa.LocationSearchActivity" />
+        <activity android:name=".ui.erp.activity.oa.LocationSearchActivity"
+            android:windowSoftInputMode="stateUnspecified|adjustNothing"
+            />
         <activity
             android:name=".ui.erp.activity.oa.MissionPlanActivity"
             android:label="@string/activity_mission_plan" />

+ 15 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/BdLocationHelper.java

@@ -9,6 +9,7 @@ import com.baidu.location.LocationClient;
 import com.baidu.location.LocationClientOption;
 import com.baidu.location.Poi;
 import com.xzjmyk.pm.activity.sp.LocationSp;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 
 import java.util.List;
 
@@ -33,12 +34,19 @@ public class BdLocationHelper {
     BdLocationHelper(Context context) {
         mContext = context;
         // 获取上一次的定位数据
-        mLongitude = LocationSp.getInstance(context).getLongitude(0);
-        mLatitude = LocationSp.getInstance(context).getLatitude(0);
-        mAddress = LocationSp.getInstance(context).getAddress("");
-        mProvinceName = LocationSp.getInstance(context).getProvinceName("");
-        mCityName = LocationSp.getInstance(context).getCityName("");
-        mDistrictName = LocationSp.getInstance(context).getDistrictName("");
+//        mLongitude = LocationSp.getInstance(context).getLongitude(0);
+//        mLatitude = LocationSp.getInstance(context).getLatitude(0);
+//        mAddress = LocationSp.getInstance(context).getAddress("");
+//        mProvinceName = LocationSp.getInstance(context).getProvinceName("");
+//        mCityName = LocationSp.getInstance(context).getCityName("");
+//        mDistrictName = LocationSp.getInstance(context).getDistrictName("");
+        //关闭缓存
+        mLongitude = 0;
+        mLatitude = 0;
+        mAddress = "";
+        mProvinceName = "";
+        mCityName = "";
+        mDistrictName = "";
 
         mLocationClient = new LocationClient(context.getApplicationContext()); // 声明LocationClient类
         mLocationClient.registerLocationListener(mMyLocationListener); // 注册监听函数
@@ -150,7 +158,7 @@ public class BdLocationHelper {
 
 
     public String getName() {
-        return pois == null ? (name == null ? "当前位置" : name) : (pois.get(0) == null ? (name == null ? "当前位置" : name) : pois.get(0).getName());
+        return pois == null ? (StringUtils.isEmail(name)? "当前位置" : name) : (pois.get(0) == null ? (name == null ? "当前位置" : name) : pois.get(0).getName());
     }
 
     public void setName(String name) {

+ 41 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/CommonDocApprovalFlowAdapter.java

@@ -2,6 +2,7 @@ package com.xzjmyk.pm.activity.adapter;
 
 import android.content.Context;
 import android.support.v7.app.AlertDialog;
+import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
@@ -10,10 +11,16 @@ import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
+import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.CommonApprovalFlowBean;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
+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.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 java.util.List;
 
@@ -28,6 +35,7 @@ public class CommonDocApprovalFlowAdapter extends BaseAdapter {
     private Context mContext;
     //DBManager manager;
     private List<String> im_ids;
+    private String af_name;
 
     public List<String> getIm_ids() {
         return im_ids;
@@ -85,8 +93,39 @@ public class CommonDocApprovalFlowAdapter extends BaseAdapter {
         //获取 已审批节点数量 和总审批节点数
         final int nodesnum = mCommonApprovalFlowBean.getNodes().size();
         int datanum = mCommonApprovalFlowBean.getData().size();
-        int processnum = mCommonApprovalFlowBean.getProcesss().size();
-        viewHolder.AppFlowName.setText(mCommonApprovalFlowBean.getData().get(getCount() - position - 1).getJP_NODEDEALMANNAME());
+        af_name = new String();
+        if (mCommonApprovalFlowBean.getProcesss() != null && !ListUtils.isEmpty(mCommonApprovalFlowBean.getData())){
+            int pronum = mCommonApprovalFlowBean.getProcesss().size();
+            if (getCount() - position - 1<pronum && mCommonApprovalFlowBean.getProcesss().get(getCount() - position - 1).getJp_nodeDealMan() !=null){
+                String em_code = mCommonApprovalFlowBean.getProcesss().get(getCount() - position - 1).getJp_nodeDealMan();
+                String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
+                String[] selectionArgs = {em_code == null ? "":em_code, whichsys};
+                String selection = "em_code=? and whichsys=? ";
+                DBManager manager = new DBManager(mContext);
+
+                try {
+                    //获取数据库数据
+                    EmployeesEntity bean = manager.selectForEmployee(selectionArgs, selection);
+                    if (bean != null) {
+                        String imName = String.valueOf(bean.getEM_NAME());
+                        if (!StringUtils.isEmpty(imName)) {
+                            af_name = imName;
+                        }else {
+                            af_name = mCommonApprovalFlowBean.getProcesss().get(getCount() - position - 1).getJp_nodeDealMan();
+                        }
+                    }else {
+                        af_name = mCommonApprovalFlowBean.getProcesss().get(getCount() - position - 1).getJp_nodeDealMan();
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }else {
+                af_name = mCommonApprovalFlowBean.getData().get(getCount() - position - 1).getJP_NODEDEALMANNAME();
+            }
+        }else {
+            af_name = mCommonApprovalFlowBean.getData().get(getCount() - position - 1).getJP_NODEDEALMANNAME();
+        }
+        viewHolder.AppFlowName.setText(af_name);
         if (im_ids == null || im_ids.get(getCount() - position - 1).equals("")
                 || im_ids.get(getCount() - position - 1).equals("0")) {
            // viewHolder.AppFlowPhoto.setImageDrawable(new BitmapDrawable());

+ 34 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/DailyDetailsApprovalFlowAdapter.java

@@ -24,6 +24,7 @@ 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.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 
 import java.util.List;
@@ -37,6 +38,7 @@ public class DailyDetailsApprovalFlowAdapter extends BaseAdapter {
     private Context mContext;
     DBManager manager;
     private List<String> im_ids;
+    private String af_name;
 
     public List<String> getIm_ids() {
         return im_ids;
@@ -152,9 +154,39 @@ public class DailyDetailsApprovalFlowAdapter extends BaseAdapter {
            //获取 已审批节点数量 和总审批节点数
            final int nodesnum = mCommonApprovalFlowBean.getNodes().size();
            final int datanum = mCommonApprovalFlowBean.getData().size();
-           int processnum = mCommonApprovalFlowBean.getProcesss().size();
-           viewHolder.AppFlowName.setText(mCommonApprovalFlowBean.getData().get(getCount() - position - 1).getJP_NODEDEALMANNAME());
+           af_name = new String();
+           if (mCommonApprovalFlowBean.getProcesss() != null){
+               int pronum = mCommonApprovalFlowBean.getProcesss().size();
+               if (getCount() - position - 1<pronum && mCommonApprovalFlowBean.getProcesss().get(getCount() - position - 1).getJp_nodeDealMan() !=null){
+                   String em_code = mCommonApprovalFlowBean.getProcesss().get(getCount() - position - 1).getJp_nodeDealMan();
+                   String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
+                   String[] selectionArgs = {em_code == null ? "":em_code, whichsys};
+                   String selection = "em_code=? and whichsys=? ";
+                   DBManager manager = new DBManager(mContext);
 
+                   try {
+                       //获取数据库数据
+                       EmployeesEntity bean = manager.selectForEmployee(selectionArgs, selection);
+                       if (bean != null) {
+                           String imName = String.valueOf(bean.getEM_NAME());
+                           if (!StringUtils.isEmpty(imName)) {
+                               af_name = imName;
+                           }else {
+                               af_name = mCommonApprovalFlowBean.getProcesss().get(getCount() - position - 1).getJp_nodeDealMan();
+                           }
+                       }else {
+                           af_name = mCommonApprovalFlowBean.getProcesss().get(getCount() - position - 1).getJp_nodeDealMan();
+                       }
+                   } catch (Exception e) {
+                       e.printStackTrace();
+                   }
+               }else {
+                   af_name = mCommonApprovalFlowBean.getData().get(getCount() - position - 1).getJP_NODEDEALMANNAME();
+               }
+           }else {
+               af_name = mCommonApprovalFlowBean.getData().get(getCount() - position - 1).getJP_NODEDEALMANNAME();
+           }
+           viewHolder.AppFlowName.setText(af_name);
            if (im_ids == null || im_ids.get(getCount() - position - 1).equals("")
                    || im_ids.get(getCount() - position - 1).equals("0")) {
                // viewHolder.AppFlowPhoto.setImageDrawable(new BitmapDrawable());

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/MissionDao.java

@@ -118,7 +118,7 @@ public class MissionDao {
     }
 
     public boolean updataOrCreate(MissionModel mission) {
-        if (mission == null || StringUtils.isEmpty(mission.getVisitTime()))return false;
+        if (mission == null || StringUtils.isEmpty(mission.getVisitTime())) return false;
         show("updataOrCreate");
         SQLiteDatabase db = null;
         long i = 0;

+ 10 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CommonDocDetailsActivity.java

@@ -276,7 +276,6 @@ public class CommonDocDetailsActivity extends BaseActivity {
                                     .putExtra("caller", mCaller)
                                     .putExtra("id", mkeyValue)
                                     .putExtra("submittype", "resubmit"));
-                            finish();
                         }
                     }
                     break;
@@ -465,15 +464,16 @@ public class CommonDocDetailsActivity extends BaseActivity {
                     for (int i = 0; i < mCommonApprovalFlowBean.getData().size(); i++) {
                         if (manager == null) manager = new DBManager(mContext);
                         String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
-                        emCode = mCommonApprovalFlowBean.getData().get(i).getJP_NODEDEALMAN();
-//                        if (mCommonApprovalFlowBean.getProcesss() != null){
-//                            int pronum = mCommonApprovalFlowBean.getProcesss().size();
-//                            if (i<pronum && mCommonApprovalFlowBean.getProcesss().get(i).getJp_nodeDealMan() !=null){
-//                                emCode = mCommonApprovalFlowBean.getProcesss().get(i).getJp_nodeDealMan();
-//                            }
-//                        }else {
-//                            emCode = mCommonApprovalFlowBean.getData().get(i).getJP_NODEDEALMAN();
-//                        }
+                        if (mCommonApprovalFlowBean.getProcesss() != null){
+                            int pronum = mCommonApprovalFlowBean.getProcesss().size();
+                            if (i<pronum && mCommonApprovalFlowBean.getProcesss().get(i).getJp_nodeDealMan() !=null){
+                                emCode = mCommonApprovalFlowBean.getProcesss().get(i).getJp_nodeDealMan();
+                            }else {
+                                emCode = mCommonApprovalFlowBean.getData().get(i).getJP_NODEDEALMAN();
+                            }
+                        }else {
+                            emCode = mCommonApprovalFlowBean.getData().get(i).getJP_NODEDEALMAN();
+                        }
                         try {
                             if (emCode.contains(",")) {
 //                                im_ids.add("");

+ 7 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/DailydetailsActivity.java

@@ -203,14 +203,13 @@ public class DailydetailsActivity extends BaseActivity {
                     for (int i = 0; i < mCommonApprovalFlowBean.getData().size(); i++) {
                         if (manager == null) manager = new DBManager(mContext);
                         String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
-                        emCode = mCommonApprovalFlowBean.getData().get(i).getJP_NODEDEALMAN();
-//                        if (mCommonApprovalFlowBean.getProcesss() != null  &&
-//                                i < mCommonApprovalFlowBean.getProcesss().size() &&
-//                                    mCommonApprovalFlowBean.getProcesss().get(i).getJp_nodeDealMan() !=null){
-//                            emCode = mCommonApprovalFlowBean.getProcesss().get(i).getJp_nodeDealMan();
-//                        }else {
-//                            emCode = mCommonApprovalFlowBean.getData().get(i).getJP_NODEDEALMAN();
-//                        }
+                        if (mCommonApprovalFlowBean.getProcesss() != null  &&
+                                i < mCommonApprovalFlowBean.getProcesss().size() &&
+                                    mCommonApprovalFlowBean.getProcesss().get(i).getJp_nodeDealMan() !=null){
+                            emCode = mCommonApprovalFlowBean.getProcesss().get(i).getJp_nodeDealMan();
+                        }else {
+                            emCode = mCommonApprovalFlowBean.getData().get(i).getJP_NODEDEALMAN();
+                        }
                         if( emCode.contains(",")){
                             String str[] = emCode.split(",");
                             emCode = str[0];

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

@@ -1,8 +1,14 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.IntentFilter;
 import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
 import android.support.v7.widget.RecyclerView;
+import android.util.Log;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
@@ -42,11 +48,23 @@ public class MissionActivity extends BaseActivity implements View.OnClickListene
     private int flag;
     private boolean adminStatus;
 
+    private BroadcastReceiver receiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent != null && !StringUtils.isEmpty(intent.getAction()) && "error_bdlocation".equals(intent.getAction())) {
+                Crouton.showToast(MissionActivity.this, "定位失败,请检查定位权限", R.color.load_warning);
+            }
+        }
+    };
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_mission);
         ViewUtils.inject(this);
+        IntentFilter filter = new IntentFilter();
+        filter.addAction("error_bdlocation");
+        registerReceiver(receiver, filter);
         initView();
         initEvent();
     }
@@ -83,12 +101,18 @@ public class MissionActivity extends BaseActivity implements View.OnClickListene
     private void initView() {
         if (getIntent() != null)
             flag = getIntent().getIntExtra("flag", 0);
+        String addrName = MyApplication.getInstance().getBdLocationHelper().getName();
+        if (StringUtils.isEmpty(addrName) || "当前位置".equals(addrName)) {
+            Crouton.showToast(ct, "定位失败,请检查定位权限", R.color.load_warning);
+        }
         adminStatus = getIntent() == null ? false : getIntent().getBooleanExtra(AppConfig.IS_ADMIN, false);
         adapter = new MissionAdapter(this, this);
         recycler.setLayoutManager(new MostLinearLayoutManager(ct));
         recycler.setAdapter(adapter);
         presenter = new MissionPresenter(this);
         presenter.start();
+
+
     }
 
 
@@ -188,28 +212,36 @@ public class MissionActivity extends BaseActivity implements View.OnClickListene
                 startActivityForResult(intent, 0x21);
                 break;
             case R.id.item_delete_tv://删除选项
-//                MissionModel m = adapter.getModels().remove(position);
-//                if (!StringUtils.isEmpty(m.getCompanyName()) || !StringUtils.isEmpty(m.getCompanyAddr()) ||
-//                        !StringUtils.isEmpty(m.getVisitTime())) {
-//                    AlertDialog.Builder builder = new AlertDialog.Builder(ct);
-//                    builder.setTitle(R.string.prompt_title).setMessage("是否确认删除单号" + (position + 1)).setPositiveButton("确定", new DialogInterface.OnClickListener() {
-//                        @Override
-//                        public void onClick(DialogInterface dialogInterface, int i) {
-//                            adapter.getModels().remove(position);
-//                            adapter.notifyItemRemoved(position);
-//                            adapter.notifyItemRangeChanged(position, adapter.getModels().size());
-//                        }
-//                    }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
-//                        @Override
-//                        public void onClick(DialogInterface dialogInterface, int i) {
-//
-//                        }
-//                    }).show();
-//                } else {
-                adapter.getModels().remove(position);
-                adapter.notifyItemRemoved(position);
-                adapter.notifyItemRangeChanged(position, adapter.getModels().size());
-//                }
+                try {
+                    MissionModel m = adapter.getModels().get(position);
+                    Log.i("gongpengming","position1="+position);
+                    if (!StringUtils.isEmpty(m.getCompanyName()) || !StringUtils.isEmpty(m.getCompanyAddr()) ||
+                            !StringUtils.isEmpty(m.getVisitTime())) {
+                        AlertDialog.Builder builder = new AlertDialog.Builder(ct);
+                        builder.setTitle(R.string.prompt_title).setMessage("是否确认删除单号" + (position + 1)).setPositiveButton("确定", new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialogInterface, int i) {
+                                Log.i("gongpengming","position2="+position);
+                                adapter.getModels().remove(position);
+                                adapter.notifyItemRemoved(position);
+                                adapter.notifyItemRangeChanged(position, adapter.getModels().size());
+                            }
+                        }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialogInterface, int i) {
+
+                            }
+                        }).show();
+                    } else {
+                        adapter.getModels().remove(position);
+                        adapter.notifyItemRemoved(position);
+                        adapter.notifyItemRangeChanged(position, adapter.getModels().size());
+                    }
+                } catch (Exception e) {
+                    Log.i("gongpengming", "Exception e=" + e.getMessage());
+
+                }
+
                 break;
             case R.id.item_reckontime_tv://预计到达时间
                 if (model == null || model.getStatus() == 1) return;

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

@@ -112,6 +112,8 @@ public class WorkActivity extends BaseActivity implements View.OnClickListener,
     public void showLocation(String location) {
         if (!StringUtils.isEmpty(location))
             office_addr.setText(location);
+        else
+            Crouton.showToast(ct, "定位失败,请检查定位权限", R.color.load_warning);
     }
 
     @Override
@@ -210,15 +212,16 @@ public class WorkActivity extends BaseActivity implements View.OnClickListener,
 //                if (ListUtils.isEmpty(pois)) {
 //                    Crouton.showToast(ct, "距离太远,无法微调至有效打卡范围", R.color.load_message);
 //                } else {
-                Intent intent = new Intent(ct, LocationSearchActivity.class);
-                intent.putExtra("type", 1);
-                intent.putExtra("title", "地点微调");
-                intent.putExtra("single", true);
-                intent.putExtra("radius", 300);
-                intent.putExtra("latlng", latLng);
-                intent.putExtra("resultCode", ADDRESS_CHANGE);
-                intent.putExtra("resultName", "resultName");
-                startActivityForResult(intent, ADDRESS_CHANGE);
+                presenter.gotoLocationActivity(WorkActivity.this);
+//                Intent intent = new Intent(ct, LocationSearchActivity.class);
+//                intent.putExtra("type", 1);
+//                intent.putExtra("title", "地点微调");
+//                intent.putExtra("single", true);
+//                intent.putExtra("radius", 300);
+//                intent.putExtra("latlng", latLng);
+//                intent.putExtra("resultCode", ADDRESS_CHANGE);
+//                intent.putExtra("resultName", "resultName");
+//                startActivityForResult(intent, ADDRESS_CHANGE);
 //                }
                 break;
         }

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

@@ -249,7 +249,7 @@ public class WorkDailyAddActivity extends BaseActivity {
                         .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                             @Override
                             public void onClick(DialogInterface dialog, int which) {
-                                if (!TextUtils.isEmpty(resubmit) && "unsub_tosub".equals(resubmit)){
+                                if (!TextUtils.isEmpty(resubmit) && ("unsub_tosub".equals(resubmit) ||"resubmit".equals(resubmit))){
                                     startActivity(new Intent(WorkDailyAddActivity.this,WorkDailyShowActivity.class));
                                 }else {
                                     startActivity(new Intent(WorkDailyAddActivity.this,OAActivity.class));

+ 34 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/WorkPresenter.java

@@ -1,5 +1,7 @@
 package com.xzjmyk.pm.activity.ui.erp.presenter;
 
+import android.app.Activity;
+import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
 
@@ -15,6 +17,7 @@ import com.xzjmyk.pm.activity.BdLocationHelper;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.db.dao.WorkModelDao;
+import com.xzjmyk.pm.activity.ui.erp.activity.oa.LocationSearchActivity;
 import com.xzjmyk.pm.activity.ui.erp.model.WorkModel;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IWorkPresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IWorkView;
@@ -158,8 +161,27 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
         }
     }
 
+    private final int ADDRESS_CHANGE = 0x14;
+
+    public void gotoLocationActivity(Activity ct) {
+//                        if (ListUtils.isEmpty(pois)) {
+//                    Crouton.showToast(ct, "距离太远,无法微调至有效打卡范围", R.color.load_message);
+//                } else {
+        Intent intent = new Intent(ct, LocationSearchActivity.class);
+        intent.putExtra("type", 1);
+        intent.putExtra("title", "地点微调");
+        intent.putExtra("single", true);
+        intent.putExtra("radius", 300);
+        intent.putExtra("latlng", new LatLng(companyLongitude, companyLatitude));
+        intent.putExtra("resultCode", ADDRESS_CHANGE);
+        intent.putExtra("resultName", "resultName");
+        ct.startActivityForResult(intent, ADDRESS_CHANGE);
+//                }
+    }
+
     private void getPoi() {
-        final LatLng compayLng = new LatLng(companyLatitude, companyLongitude);
+        //公司地址必须反过来
+        final LatLng compayLng = new LatLng(companyLongitude, companyLatitude);
         LatLng latLng = new LatLng(latitude, longitude);
         BaiduMapUtil.getInstence().getNearInfo(500, 0, latLng,
                 "公司", new BaiduMapUtil.OnSearchPoiListener() {
@@ -170,6 +192,10 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
                             if (ListUtils.isEmpty(pois)) return;
                             for (int i = 0; i < pois.size(); i++) {
                                 double dis = BaiduMapUtil.getInstence().distance(compayLng, pois.get(i).location);
+                                log("name=" + pois.get(i).name);
+                                log("address=" + pois.get(i).address);
+                                log("dis=" + dis);
+                                log("___________________________");
                                 if (companyDistance < dis) {
                                     pois.remove(i);
                                     i--;
@@ -368,6 +394,7 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
         return TimeUtils.long2str(time, "HH:mm");
     }
 
+    long subMitTime;
 
     private boolean isSubmitAble() {
         if (isSubmiting) {
@@ -378,6 +405,10 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
             if (iWorkView != null)
                 iWorkView.showToast(R.string.too_long, R.color.load_warning);
             return false;
+        } else if (subMitTime != 0 && (System.currentTimeMillis() - subMitTime) < (20 * 1000)) {
+            if (iWorkView != null)
+                iWorkView.showToast(R.string.not_signin_agin, R.color.load_warning);
+            return false;
         }
         return true;
     }
@@ -456,6 +487,7 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
      * @param macAddress mac地址
      */
     public void submitWork(ArrayList<WorkModel> models, String macAddress) {
+        subMitTime = System.currentTimeMillis();
         validatorMac(models, macAddress);
     }
 
@@ -543,6 +575,7 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
     @Override
     public void error(int what, int statuCode, String message, Bundle bundle) {
         try {
+            isSubmiting = false;
             if (iWorkView != null) iWorkView.dimssLoading();
 
             if (StringUtils.isInclude(message, "该设备不是考勤打卡常用设备")) {

+ 1 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/attendance/AutoErpService.java

@@ -132,7 +132,7 @@ public class AutoErpService extends Service {
                 } else if (intent.getAction().equals(CHANGE_MISSION_TASK)) {
                     log(CHANGE_MISSION_TASK);
                     canMission = intent.getBooleanExtra(CHANGE_MISSION_TASK, true);
-                }else if (intent.getAction().equals(INIT_MISSION_TASK)){
+                } else if (intent.getAction().equals(INIT_MISSION_TASK)) {
                     initMission();
                 }
             } catch (Exception e) {
@@ -255,7 +255,6 @@ public class AutoErpService extends Service {
                             isMissionRuning = false;
                             break;
                         }
-
                         log("startMissionTask run");
                         List<MissionModel> plans = MissionDao.getInstance().queryByEnCode();
                         log("自动外勤 plans==" + (ListUtils.isEmpty(plans) ? 0 : plans.size()));

+ 2 - 2
WeiChat/src/main/res/layout/item_comdoc_am.xml

@@ -8,7 +8,7 @@
         android:layout_marginTop="5dp"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_weight="2"
+        android:layout_weight="1"
         android:text="开始时间:"
         android:layout_marginRight="10dp"
         android:textColor="#6E6E6E"
@@ -19,7 +19,7 @@
         android:layout_marginTop="5dp"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_weight="3"
+        android:layout_weight="2"
         android:text="2016-11-25-21:22"
         android:textColor="@color/done_approval"/>