Browse Source

合并代码 2.0 验证问题

Bitliker 9 years ago
parent
commit
61106d1d32
25 changed files with 240 additions and 142 deletions
  1. 39 33
      WeiChat/src/main/java/com/xzjmyk/pm/activity/broadcast/MsgBroadcast.java
  2. 2 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddFlihtsActivity.java
  3. 9 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectCollisionActivity.java
  4. 12 8
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectDepartmentActivity.java
  5. 3 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/WorkActivity.java
  6. 2 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/OAListAdapter.java
  7. 7 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/AttendanceFragment.java
  8. 9 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/ContactFragment.java
  9. 16 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/AddFlihtsPresenter.java
  10. 2 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/MissionPresenter.java
  11. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SelectActivePresenter.java
  12. 11 7
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/WorkPresenter.java
  13. 3 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/imp/ISelectActiveView.java
  14. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/imp/IWorkPresenter.java
  15. 3 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/auto/AutoErpService.java
  16. 11 8
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/auto/AutoErpSigninUitl.java
  17. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/tree/Node.java
  18. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/tree/TreeHelper.java
  19. 12 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/tree/TreeListViewAdapter.java
  20. 79 62
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/SignSeniorSettingActivity.java
  21. BIN
      WeiChat/src/main/res/drawable-xxhdpi/attend_down.png
  22. BIN
      WeiChat/src/main/res/drawable-xxhdpi/attend_up.png
  23. 1 1
      WeiChat/src/main/res/layout/activity_oamain.xml
  24. 1 1
      WeiChat/src/main/res/layout/fragment_attendance.xml
  25. 14 6
      WeiChat/src/main/res/layout/item_attendance.xml

+ 39 - 33
WeiChat/src/main/java/com/xzjmyk/pm/activity/broadcast/MsgBroadcast.java

@@ -2,45 +2,51 @@ package com.xzjmyk.pm.activity.broadcast;
 
 import android.content.Context;
 import android.content.Intent;
+import android.support.v4.content.LocalBroadcastManager;
 
 import com.xzjmyk.pm.activity.AppConfig;
+import com.xzjmyk.pm.activity.MyApplication;
 
 /**
  * 用于聊天消息的广播,更新MainActivity Tab栏显示的未读数量 和 消息界面数据的更新
- * 
  */
 public class MsgBroadcast {
-	public static final String ACTION_MSG_UI_UPDATE = AppConfig.sPackageName + ".action.msg_ui_update";// 界面的更新
-	public static final String ACTION_MSG_COMPANY_UPDATE = AppConfig.sPackageName + ".com.app.home.update";// 界面的更新
-	public static final String ACTION_MSG_NUM_UPDATE = AppConfig.sPackageName + ".intent.action.msg_num_update";// 未读数量的更新
-	public static final String ACTION_MSG_NUM_RESET = AppConfig.sPackageName + ".action.msg_num_reset";// 未读数量需要重置,即从数据库重新查
-	public static final String EXTRA_NUM_COUNT = "count";
-	public static final String EXTRA_NUM_OPERATION = "operation";
-	public static final int NUM_ADD = 0;// 消息加
-	public static final int NUM_REDUCE = 1;// 消息减
-
-	/**
-	 * 更新消息Fragment的广播
-	 * 
-	 * @return
-	 */
-	public static void broadcastMsgUiUpdate(Context context) {
-		context.sendBroadcast(new Intent(ACTION_MSG_UI_UPDATE));
-	}
-
-	public static void broadcastMsgNumReset(Context context) {
-		context.sendBroadcast(new Intent(ACTION_MSG_NUM_RESET));
-	}
-
-	public static void broadcastMsgNumUpdate(Context context, boolean add, int count) {
-		Intent intent = new Intent(ACTION_MSG_NUM_UPDATE);
-		intent.putExtra(EXTRA_NUM_COUNT, count);
-		if (add) {
-			intent.putExtra(EXTRA_NUM_OPERATION, NUM_ADD);
-		} else {
-			intent.putExtra(EXTRA_NUM_OPERATION, NUM_REDUCE);
-		}
-		context.sendBroadcast(intent);
-	}
+    public static final String ACTION_MSG_UI_UPDATE = AppConfig.sPackageName + ".action.msg_ui_update";// 界面的更新
+    public static final String ACTION_MSG_COMPANY_UPDATE = AppConfig.sPackageName + ".com.app.home.update";// 界面的更新
+    public static final String ACTION_MSG_NUM_UPDATE = AppConfig.sPackageName + ".intent.action.msg_num_update";// 未读数量的更新
+    public static final String ACTION_MSG_NUM_RESET = AppConfig.sPackageName + ".action.msg_num_reset";// 未读数量需要重置,即从数据库重新查
+    public static final String EXTRA_NUM_COUNT = "count";
+    public static final String EXTRA_NUM_OPERATION = "operation";
+    public static final int NUM_ADD = 0;// 消息加
+    public static final int NUM_REDUCE = 1;// 消息减
+
+    /**
+     * 更新消息Fragment的广播
+     *
+     * @return
+     */
+    public static void broadcastMsgUiUpdate(Context context) {
+        context.sendBroadcast(new Intent(ACTION_MSG_UI_UPDATE));
+    }
+
+    public static void broadcastMsgNumReset(Context context) {
+        context.sendBroadcast(new Intent(ACTION_MSG_NUM_RESET));
+    }
+
+    public static void sendLocalBroadcast(Intent intent) {
+        LocalBroadcastManager.getInstance(MyApplication.getInstance()).sendBroadcast(intent);
+    }
+
+
+    public static void broadcastMsgNumUpdate(Context context, boolean add, int count) {
+        Intent intent = new Intent(ACTION_MSG_NUM_UPDATE);
+        intent.putExtra(EXTRA_NUM_COUNT, count);
+        if (add) {
+            intent.putExtra(EXTRA_NUM_OPERATION, NUM_ADD);
+        } else {
+            intent.putExtra(EXTRA_NUM_OPERATION, NUM_REDUCE);
+        }
+        context.sendBroadcast(intent);
+    }
 
 }

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

@@ -4,6 +4,7 @@ import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.v7.app.AlertDialog;
+import android.util.Log;
 import android.view.View;
 import android.widget.EditText;
 import android.widget.TextView;
@@ -162,6 +163,7 @@ public class AddFlihtsActivity extends OABaseActivity implements IAddFlihtsView,
 
     @Override
     public void updateDepartment(String department) {
+        Log.i("gongpengming", "department=" + department);
         department_tv.setText(StringUtils.isEmpty(department) ? "" : department);
     }
 

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

@@ -154,6 +154,15 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
         this.type = type;
     }
 
+    @Override
+    public void isAllClicked(boolean clickAll) {
+        if (clickAll) {
+            isClickCb = false;
+            all_sure_cb.setChecked(clickAll);
+        }
+        all_sure_cb.setText(clickAll ? "全不选" : "全选");
+    }
+
 
     /**
      * 点击后

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

@@ -44,6 +44,8 @@ public class SelectDepartmentActivity extends OABaseActivity {
 
     @ViewInject(R.id.rl_empty)
     private RelativeLayout rl_empty;
+    @ViewInject(R.id.textViewMessage)
+    private TextView textViewMessage;
     @ViewInject(R.id.search_lv)
     private ListView search_lv;
     @ViewInject(R.id.search_edit)
@@ -89,7 +91,7 @@ public class SelectDepartmentActivity extends OABaseActivity {
                     if (b) {
                         if (isClick)
                             adapter.selectAll();
-                        all_sure_cb.setText("取消选");
+                        all_sure_cb.setText("取消选");
                     } else {
                         if (isClick)
                             adapter.deleteAll();
@@ -148,7 +150,7 @@ public class SelectDepartmentActivity extends OABaseActivity {
                 } else {
                     if (!all_sure_cb.isChecked()) {
                         isClick = false;
-                        all_sure_cb.setText("取消选");
+                        all_sure_cb.setText("取消选");
                     }
                 }
             }
@@ -184,8 +186,8 @@ public class SelectDepartmentActivity extends OABaseActivity {
             adapter.setOnTreeNodeClickListener(new TreeListViewAdapter.OnTreeNodeClickListener() {
                 @Override
                 public void onClick(Node node, int position) {
-                }
 
+                }
                 @Override
                 public void onCheckChange(Node node, int position,
                                           List<Node> checkedNodes) {
@@ -202,9 +204,13 @@ public class SelectDepartmentActivity extends OABaseActivity {
         setMumberSelect(clickSize);
         if (clickSize == mDatas.size()) {
             all_sure_cb.setChecked(true);
-            all_sure_cb.setText("取消选");
+            all_sure_cb.setText("取消选");
         }
         context_lv.setAdapter(adapter);
+        if (ListUtils.isEmpty(mDatas)) {
+            textViewMessage.setText("没有获取到数据,请尝试刷新通讯录");
+            rl_empty.setVisibility(View.VISIBLE);
+        }
     }
 
     private void setMumberSelect(int number) {
@@ -213,14 +219,12 @@ public class SelectDepartmentActivity extends OABaseActivity {
 
     private void endActivity() {
         ArrayList<HrorgsModel> baseNodeBeans = adapter.getClick();
-        if (ListUtils.isEmpty(baseNodeBeans)) {
-            finish();
-            return;
-        }
         StringBuilder ids = new StringBuilder();
+        if (!ListUtils.isEmpty(baseNodeBeans)) {
         for (HrorgsModel b : baseNodeBeans) {
             ids.append(b.getId() + ",");
         }
+        }
         if (ids.length() > 0) ids.deleteCharAt(ids.length() - 1);
         int numbers = getFriendsByErpDB(ids.toString());
         Intent intent = new Intent();

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

@@ -140,7 +140,7 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
         adapter = new WorkAdapter(ct);
         listview.setLayoutManager(new LinearLayoutManager(ct));
         listview.setAdapter(adapter);
-        presenter.start();
+        presenter.start(true);
         date_tv.setText(TimeUtils.long2str(System.currentTimeMillis(), "yyyy年MM月dd日") +
                 TimeUtils.getWeek(System.currentTimeMillis()));
         findViewById(R.id.signin_btn).setOnClickListener(this);
@@ -357,7 +357,7 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
                 selectTime = TimeUtils.s_str_2_long(time);
                 isToday = time.equals(TimeUtils.s_long_2_str(System.currentTimeMillis())) ? true : false;
                 date_tv.setText(year + "年" + month + "月" + day + "日  " + TimeUtils.getWeek(selectTime));
-                presenter.loadWorkData(selectTime);
+                presenter.loadWorkData(selectTime, true);
             }
         });
         picker.show();
@@ -410,7 +410,7 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
             if (isChange)
                 macError = getResources().getString(R.string.mac_changing);
         } else if (0x12 == requestCode && resultCode == 0x20) {
-            presenter.loadWorkData(selectTime);
+            presenter.loadWorkData(selectTime, false);
         }
     }
 

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

@@ -56,7 +56,7 @@ public class OAListAdapter extends BaseAdapter {
     @Override
     public View getView(int i, View view, ViewGroup viewGroup) {
         ViewHolder holder = null;
-           if (view == null) {
+        if (view == null) {
             holder = new ViewHolder();
             view = LayoutInflater.from(ct).inflate(R.layout.item_oa, null);
             holder.object_tv = (TextView) view.findViewById(R.id.object_tv);
@@ -115,6 +115,7 @@ public class OAListAdapter extends BaseAdapter {
                 }
                 holder.status_img.setImageResource(recid);
             }
+            status = "";
         }
         holder.title_remak_tv.setText(titleAndRemak);
         holder.addr_time_tv.setText(addrAndTime);

+ 7 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/AttendanceFragment.java

@@ -16,6 +16,7 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.base.EasyFragment;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.WorkModel;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
@@ -148,6 +149,9 @@ public class AttendanceFragment extends EasyFragment implements HttpHandler.OnRe
     }
 
     public void loadWorkData(long time) {
+        if (ct instanceof BaseActivity) {
+            ((BaseActivity) ct).progressDialog.show();
+        }
         Map<String, Object> param = new HashMap<>();
         param.put("date", TimeUtils.int_long_2_str(time));
         param.put("emcode", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username"));
@@ -253,6 +257,9 @@ public class AttendanceFragment extends EasyFragment implements HttpHandler.OnRe
                     e.printStackTrace();
 
                 }
+                if (ct instanceof BaseActivity) {
+                    ((BaseActivity) ct).progressDialog.dismiss();
+                }
                 break;
         }
 

+ 9 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/ContactFragment.java

@@ -7,9 +7,11 @@ import android.content.IntentFilter;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.support.v4.content.LocalBroadcastManager;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -33,6 +35,7 @@ import com.xzjmyk.pm.activity.adapter.FriendSortAdapter;
 import com.xzjmyk.pm.activity.audio.voicerecognition.JsonParser;
 import com.xzjmyk.pm.activity.audio.voicerecognition.VoiceToWord;
 import com.xzjmyk.pm.activity.bean.Friend;
+import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
 import com.xzjmyk.pm.activity.sortlist.BaseComparator;
 import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
 import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
@@ -116,6 +119,9 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
         public void onReceive(Context context, Intent intent) {
             if ("home".equals(intent.getStringExtra("falg"))) {
                 loadDataInThread();
+            } else if (MsgBroadcast.ACTION_MSG_COMPANY_UPDATE.equals(intent.getAction())) {
+                Log.i("gongpengming", "进来了的   " + MsgBroadcast.ACTION_MSG_COMPANY_UPDATE);
+                loadDataInThread();
             }
         }
     };
@@ -125,7 +131,8 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         inputFilter = new IntentFilter("com.app.home.update");
-        getActivity().registerReceiver(receiver, inputFilter);
+        inputFilter.addAction(MsgBroadcast.ACTION_MSG_COMPANY_UPDATE);
+        LocalBroadcastManager.getInstance(ct).registerReceiver(receiver, inputFilter);
         setHasOptionsMenu(true);
     }
 
@@ -136,7 +143,7 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
 
     @Override
     public void onDestroy() {
-        getActivity().unregisterReceiver(receiver);
+        LocalBroadcastManager.getInstance(ct).unregisterReceiver(receiver);
         super.onDestroyView();
         if (manager != null)
             manager.closeDB();

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

@@ -7,8 +7,10 @@ import android.util.Log;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.EmployeesModel;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.FlightsModel;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.FlightsTimeModel;
@@ -160,6 +162,18 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
                 param, bundle, this);
     }
 
+    /**
+     * 通过数据库获取数据显示
+     *
+     * @return 查询到数据列表
+     */
+    private int getFriendsByErpDB(String codes) {
+        DBManager manager = new DBManager(MyApplication.getInstance());
+        int number = manager.getEmployeeNumber(codes);
+        manager.closeDB();
+        return number;
+    }
+
     public void loadManAndDefaultor(String manCode, String defaultorCode) {
         Bundle bundle = null;
         String action = "mobile/getManAndDefaultor.action";
@@ -189,10 +203,12 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
     private String employeesCode = "";
 
     public void saveHrorgs(Intent data) {
+        Log.i("gongpengming", "进来了");
         List<HrorgsModel> hrorgsList = data.getParcelableArrayListExtra("data");
         conuInDefaultor = data.getIntExtra("number", 0);
         String hrorgsName = getHrorgs(hrorgsList, true);
         hrorgsCode = getHrorgs(hrorgsList, false);
+        Log.i("gongpengming", "hrorgsName=" + hrorgsName);
         EmployeesModel hrorgs = new EmployeesModel();
         hrorgs.setEmployeecode(hrorgsCode);
         hrorgs.setEmployeeNames(hrorgsName);

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

@@ -11,6 +11,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baidu.mapapi.model.LatLng;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
 import com.xzjmyk.pm.activity.db.dao.MissionDao;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.MissionModel;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IMission;
@@ -271,7 +272,7 @@ public class MissionPresenter implements IMissionPresenter, HttpHandler.OnResult
                                     Intent intent = new Intent();
                                     intent.setAction(AutoErpService.CHANGE_MISSION_TASK);
                                     intent.putExtra(AutoErpService.CHANGE_MISSION_TASK, true);
-                                    MyApplication.getInstance().sendBroadcast(intent);
+                                    MsgBroadcast.sendLocalBroadcast(intent);
                                 }
                             }
                         }

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

@@ -226,7 +226,6 @@ public class SelectActivePresenter implements HttpHandler.OnResultListener {
                 if (StringUtils.isInclude(selectName, e.getEmName())) {
                     numSelect++;
                     mode.setClick(true);
-
                 }
             } else {
                 mode.setClick(isClick);
@@ -240,6 +239,7 @@ public class SelectActivePresenter implements HttpHandler.OnResultListener {
         iSelectActiveView.dimssLoading();
         if (!isClick && numSelect > 0)
             iSelectActiveView.showNumber(numSelect);
+        iSelectActiveView.isAllClicked(numSelect == allList.size());
         iSelectActiveView.showModel(allList);
     }
 

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

@@ -69,6 +69,8 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
     private String days;
     private String name;
 
+    private boolean canShowTocat = true;
+
 
     private IWorkView iWorkView;
 
@@ -208,10 +210,10 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
         poiParam.setType(1);
         poiParam.setTitle("地点微调");
         poiParam.setRadius(300);
-        poiParam.setContrastLatLng( new LatLng(companyLocation.getLocation().longitude, companyLocation.getLocation().latitude));
+        poiParam.setContrastLatLng(new LatLng(companyLocation.getLocation().longitude, companyLocation.getLocation().latitude));
         poiParam.setResultCode(ADDRESS_CHANGE);
         poiParam.setDistanceTag("米");
-        intent.putExtra("data",poiParam);
+        intent.putExtra("data", poiParam);
         ct.startActivityForResult(intent, ADDRESS_CHANGE);
     }
 
@@ -393,17 +395,19 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
      *********************************/
 
     @Override
-    public void start() {
+    public void start(boolean canShowTocat) {
+        this.canShowTocat = canShowTocat;
         MyApplication.getInstance().getBdLocationHelper().requestLocation();
-        loadWorkData(System.currentTimeMillis());
+        loadWorkData(System.currentTimeMillis(), canShowTocat);
         if (MyApplication.getInstance().isNetworkActive()) {
             getMacByNet();
         }
     }
 
-    public void loadWorkData(long time) {
-        if (!MyApplication.getInstance().isNetworkActive()) {
-            iWorkView.showToast(R.string.networks_out, R.color.load_error);
+    public void loadWorkData(long time, boolean canShowTocat) {
+        this.canShowTocat = canShowTocat;
+        if (!MyApplication.getInstance().isNetworkActive() && canShowTocat) {
+            iWorkView.showToast(R.string.networks_out, R.color.load_warning);
             return;
         }
         if (iWorkView != null)

+ 3 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/imp/ISelectActiveView.java

@@ -1,7 +1,7 @@
 package com.xzjmyk.pm.activity.ui.erp.presenter.imp;
 
-import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
+import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
 
 import java.util.List;
 
@@ -19,4 +19,6 @@ public interface ISelectActiveView extends HttpImp {
     void showSureText(String text);
 
     void setType(int type);
+
+    void isAllClicked(boolean clickAll);
 }

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

@@ -11,7 +11,7 @@ import java.util.ArrayList;
 public interface IWorkPresenter {
 
 
-    void start();
+    void start( boolean canShowTocat);
 
 //    void loadWorkData(long time);//下拉班次,只有打卡界面才有
 

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

@@ -9,6 +9,7 @@ import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
+import android.support.v4.content.LocalBroadcastManager;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -169,8 +170,7 @@ public class AutoErpService extends Service {
     @Override
     public void onDestroy() {
         super.onDestroy();
-        unregisterReceiver(updateReceiver);
-
+        LocalBroadcastManager.getInstance(MyApplication.getInstance()).unregisterReceiver(updateReceiver);
         //TODO 获取此刻精确时间并转换为yyyy-MM-dd HH:mm:ss
         String nowtime = TimeUtils.f_long_2_str(System.currentTimeMillis());
         String saved_time = PreferenceUtils.getString(MyApplication.getInstance(), TimeStatisticsActivity.Killed);
@@ -193,6 +193,7 @@ public class AutoErpService extends Service {
             for (String e : flags)
                 filter.addAction(e);
         }
+        LocalBroadcastManager.getInstance(MyApplication.getInstance()).registerReceiver(updateReceiver, filter);
         registerReceiver(updateReceiver, filter);
     }
 

+ 11 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/auto/AutoErpSigninUitl.java

@@ -15,6 +15,7 @@ import com.xzjmyk.pm.activity.AppConfig;
 import com.xzjmyk.pm.activity.BdLocationHelper;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
 import com.xzjmyk.pm.activity.db.dao.MissionDao;
 import com.xzjmyk.pm.activity.db.dao.WorkModelDao;
 import com.xzjmyk.pm.activity.ui.MainActivity;
@@ -40,6 +41,7 @@ import java.util.List;
 import java.util.Map;
 
 import static com.xzjmyk.pm.activity.ui.erp.util.CommonUtil.getSharedPreferences;
+import static com.xzjmyk.pm.activity.ui.erp.util.auto.AutoErpService.CHANGE_WORK_TASK;
 
 /**
  * 负责签到   内外勤
@@ -398,7 +400,7 @@ public class AutoErpSigninUitl implements HttpHandler.OnResultListener {
                     Intent intent = new Intent();
                     intent.putExtra(AutoErpService.CHANGE_MISSION_TASK, true);
                     intent.setAction(AutoErpService.CHANGE_MISSION_TASK);
-                    MyApplication.getInstance().sendBroadcast(intent);
+                    MsgBroadcast.sendLocalBroadcast(intent);
                 } catch (Exception e) {
 
                 }
@@ -545,7 +547,7 @@ public class AutoErpSigninUitl implements HttpHandler.OnResultListener {
                 Intent intent = new Intent();
                 intent.setAction(AutoErpService.CHANGE_WORK_TASK);
                 intent.putExtra(AutoErpService.CHANGE_WORK_TASK, false);
-                MyApplication.getInstance().sendBroadcast(intent);
+                MsgBroadcast.sendLocalBroadcast(intent);
             }
         } else if (StringUtils.isEmpty(model.getOffSignin()) && model.getOffTime().compareTo(time) <= 0
                 && model.getOffend().compareTo(time) >= 0) {
@@ -560,6 +562,7 @@ public class AutoErpSigninUitl implements HttpHandler.OnResultListener {
                 Intent intent = new Intent();
                 intent.setAction(AutoErpService.CHANGE_WORK_TASK);
                 intent.putExtra(AutoErpService.CHANGE_WORK_TASK, false);
+                MsgBroadcast.sendLocalBroadcast(intent);
             }
         }
     }
@@ -620,9 +623,9 @@ public class AutoErpSigninUitl implements HttpHandler.OnResultListener {
             boolean saveOK = WorkModelDao.getInstance().createOrUpdata(models);
             if (saveOK) {
                 Intent intent = new Intent();
-                intent.putExtra(AutoErpService.CHANGE_WORK_TASK, true);
-                intent.setAction(AutoErpService.CHANGE_WORK_TASK);//保存到数据库成功,开启
-                MyApplication.getInstance().sendBroadcast(intent);
+                intent.putExtra(CHANGE_WORK_TASK, true);
+                intent.setAction(CHANGE_WORK_TASK);//保存到数据库成功,开启
+                MsgBroadcast.sendLocalBroadcast(intent);
             }
         }
     }
@@ -640,7 +643,7 @@ public class AutoErpSigninUitl implements HttpHandler.OnResultListener {
                 Intent intent = new Intent();
                 intent.putExtra(AutoErpService.CHANGE_MISSION_TASK, true);
                 intent.setAction(AutoErpService.CHANGE_MISSION_TASK);
-                MyApplication.getInstance().sendBroadcast(intent);
+                MsgBroadcast.sendLocalBroadcast(intent);
             }
             return;
         } else {
@@ -698,7 +701,7 @@ public class AutoErpSigninUitl implements HttpHandler.OnResultListener {
                                     Intent intent = new Intent();
                                     intent.putExtra(AutoErpService.CHANGE_MISSION_TASK, true);
                                     intent.setAction(AutoErpService.CHANGE_MISSION_TASK);
-                                    MyApplication.getInstance().sendBroadcast(intent);
+                                    MsgBroadcast.sendLocalBroadcast(intent);
                                     log("发送广播成功");
                                 }
                             });
@@ -748,7 +751,7 @@ public class AutoErpSigninUitl implements HttpHandler.OnResultListener {
         Intent intent = new Intent();
         intent.setAction(AutoErpService.CHANGE_MISSION_TASK);
         intent.putExtra(AutoErpService.CHANGE_MISSION_TASK, false);
-        MyApplication.getInstance().sendBroadcast(intent);
+        MsgBroadcast.sendLocalBroadcast(intent);
     }
 
     //获取当前时间鱼下班时间的差

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/tree/Node.java

@@ -6,7 +6,7 @@ import com.xzjmyk.pm.activity.ui.erp.view.tree.bean.BaseNodeBean;
 import java.util.ArrayList;
 import java.util.List;
 
-public class Node  {
+public class Node {
 
     private BaseNodeBean t;
     /**

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/tree/TreeHelper.java

@@ -44,7 +44,7 @@ public class TreeHelper {
         List<Node> nodes = convertData2Nodes(datas, isHide);
         // 拿到根节点
         List<Node> rootNodes = getRootNodes(nodes);
-        // 排序以及设置Node间关系
+        //排序以及设置Node间关系
         for (Node node : rootNodes) {
             addNode(sortedNodes, node, defaultExpandLevel, 1);
         }

+ 12 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/tree/TreeListViewAdapter.java

@@ -82,6 +82,16 @@ public abstract class TreeListViewAdapter<T extends BaseNodeBean> extends BaseAd
          * 过滤出可见的Node
          */
         mNodes = TreeHelper.filterVisibleNode(mAllNodes);
+//        mTree.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+//            @Override
+//            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+//                if (onTreeNodeClickListener != null) {
+//                    onTreeNodeClickListener.onClick(mNodes.get(position),
+//                            position);
+//                }
+//                expandOrCollapse(position);
+//            }
+//        });
         mInflater = LayoutInflater.from(context);
 
 
@@ -123,6 +133,8 @@ public abstract class TreeListViewAdapter<T extends BaseNodeBean> extends BaseAd
     public View getView(final int position, View convertView, ViewGroup parent) {
         Node node = mNodes.get(position);
         convertView = getConvertView(node, position, convertView, parent);
+        // 设置内边距
+        convertView.setPadding(node.getLevel() * 30, 3, 3, 3);
         convertView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -133,8 +145,6 @@ public abstract class TreeListViewAdapter<T extends BaseNodeBean> extends BaseAd
                 expandOrCollapse(position);
             }
         });
-        // 设置内边距
-        convertView.setPadding(node.getLevel() * 30, 3, 3, 3);
         return convertView;
     }
 

+ 79 - 62
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/SignSeniorSettingActivity.java

@@ -13,6 +13,7 @@ import android.widget.TextView;
 import android.widget.Toast;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
@@ -24,6 +25,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 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.auto.AutoMemoryUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.SwitchView;
 
 import java.util.ArrayList;
@@ -37,7 +39,7 @@ import static com.xzjmyk.pm.activity.AppConfig.AUTO_SIGNIN;
  * Created by FANGlh on 2017/1/16.
  * function:高级设置
  */
-public class SignSeniorSettingActivity extends BaseActivity implements View.OnClickListener,SwitchView.OnCheckedChangeListener{
+public class SignSeniorSettingActivity extends BaseActivity implements View.OnClickListener, SwitchView.OnCheckedChangeListener {
     private static final int LATE_TIME_CODE = 11701;
     private static final int ERIOUS_LATE_TIME = 11702;
     private static final int LEAVE_EARLY_TIME = 11703;
@@ -60,7 +62,7 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
     @ViewInject(R.id.senior_setting_absenteeism_tv)
     private TextView absenteeism_time_tv;
     @ViewInject(R.id.senior_setting_save_bt)
-    private  Button save_btn;
+    private Button save_btn;
     private boolean isAuto;
     private String caller = "MOBILE_ATTENDSYSTEM";
     private int save_return_id;
@@ -70,44 +72,44 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
     private String first_overlatetime;
     private String first_earlyoff;
     private String first_nonclass;
-    private Handler handler = new Handler(){
+    private Handler handler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
 
-            switch (msg.what){
+            switch (msg.what) {
                 case GET_SENIOR_CONFIGS_TIME:
                     String getconfigs_time_result = msg.getData().getString("result");
-                    LogUtil.prinlnLongMsg("getconfigs_time_result",getconfigs_time_result);
+                    LogUtil.prinlnLongMsg("getconfigs_time_result", getconfigs_time_result);
                     doShowGetConfigsTime(getconfigs_time_result);
                     break;
                 case SENIOR_TIME_SAVE_REQUEST:
-                    if (msg.getData() != null){
+                    if (msg.getData() != null) {
                         String sava_time_result = msg.getData().getString("result");
-                        LogUtil.prinlnLongMsg("sava_time_result",sava_time_result);
-                        if (JSON.parseObject(sava_time_result).getBoolean("success")){
-                            Toast.makeText(ct,"保存成功",Toast.LENGTH_LONG).show();
+                        LogUtil.prinlnLongMsg("sava_time_result", sava_time_result);
+                        if (JSON.parseObject(sava_time_result).getBoolean("success")) {
+                            Toast.makeText(ct, "保存成功", Toast.LENGTH_LONG).show();
                             try {
                                 save_return_id = JSON.parseObject(sava_time_result).getIntValue("id");
                             } catch (Exception e) {
                                 e.printStackTrace();
                             }
                             finish();
-                        }else {
-                            Toast.makeText(ct,"保存失败",Toast.LENGTH_LONG).show();
+                        } else {
+                            Toast.makeText(ct, "保存失败", Toast.LENGTH_LONG).show();
                         }
                         progressDialog.dismiss();
                     }
 
                     break;
                 case AUTO_SIGN_REQUEST:
-                    if (msg.getData() != null){
+                    if (msg.getData() != null) {
                         String auto_sign_result = msg.getData().getString("result");
-                        LogUtil.prinlnLongMsg("auto_sign_result",auto_sign_result);
-                        if (JSON.parseObject(auto_sign_result).getBoolean("success")){
+                        LogUtil.prinlnLongMsg("auto_sign_result", auto_sign_result);
+                        if (JSON.parseObject(auto_sign_result).getBoolean("success")) {
                             if (auto_sign == 1) {
                                 ToastMessage("已设置自动打卡");
-                            }else {
+                            } else {
                                 ToastMessage("您已关闭自动打卡,系统无法将帮您自动打卡");
 
                             }
@@ -151,6 +153,7 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
         progressDialog.show();
         save_btn.setEnabled(false);
     }
+
     private void initData() {
         late_time_tv.setText(default_late_time);
         serious_late_time_tv.setText(default_serious_late_time);
@@ -159,7 +162,7 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
 
         //获取考勤高级设置时间请求
         String url_getconfigs = Constants.getAppBaseUrl(getApplicationContext()) + "/mobile/getconfigs.action";
-        Map<String,Object> param = new HashMap<>();
+        Map<String, Object> param = new HashMap<>();
         param.put("code", 1);
         LinkedHashMap headers = new LinkedHashMap();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(getApplicationContext(), "sessionId"));
@@ -176,30 +179,36 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
             first_earlyoff = JSON.parseObject(getconfigs_time_result).getString("earlyoff");
             first_nonclass = JSON.parseObject(getconfigs_time_result).getString("nonclass");
             first_autosign = JSON.parseObject(getconfigs_time_result).getString("autosign");
-
+            JSONObject o = JSON.parseObject(getconfigs_time_result);
+            AutoMemoryUtil.nonclass = getIntByJson(o, "nonclass");     //矿工时间
+            AutoMemoryUtil.autosign = getIntByJson(o, "autosign") == 1;     //是否自动考勤
+            AutoMemoryUtil.earlyoff = getIntByJson(o, "earlyoff");     //早退时间
+            AutoMemoryUtil.overlatetime = getIntByJson(o, "overlatetime"); //严重迟到时间
+            AutoMemoryUtil.latetime = getIntByJson(o, "latetime");    //迟到时间
+            AutoMemoryUtil.loadWorkSeted = true;//是否下拉过高级考勤数据
             auto_sign = CommonUtil.getNumByString(first_autosign);
 
-            if (auto_sign == 1){
+            if (auto_sign == 1) {
                 auto_sign_sw.setChecked(true);
-            }else if (auto_sign == 0){
+            } else if (auto_sign == 0) {
                 auto_sign_sw.setChecked(false);
             }
         } catch (Exception e) {
             e.printStackTrace();
         }
 
-        if (!TextUtils.isEmpty(first_latetime)){
+        if (!TextUtils.isEmpty(first_latetime)) {
             late_time_tv.setText(first_latetime + "分钟");
         }
-        if (!TextUtils.isEmpty(first_overlatetime)){
+        if (!TextUtils.isEmpty(first_overlatetime)) {
             serious_late_time_tv.setText(first_overlatetime + "分钟");
         }
 
-        if (!TextUtils.isEmpty(first_earlyoff)){
+        if (!TextUtils.isEmpty(first_earlyoff)) {
             leave_early_tv.setText(first_earlyoff + "分钟");
         }
 
-        if (!TextUtils.isEmpty(first_nonclass)){
+        if (!TextUtils.isEmpty(first_nonclass)) {
             absenteeism_time_tv.setText(first_nonclass + "分钟");
         }
 
@@ -211,27 +220,27 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
     public void onClick(View v) {
         int requestCode = 0;
         String[] time = null;
-        switch (v.getId()){
-            case R.id.senior_setting_late_time_tv :
+        switch (v.getId()) {
+            case R.id.senior_setting_late_time_tv:
                 time = getResources().getStringArray(R.array.late_time);
                 requestCode = LATE_TIME_CODE;
                 break;
-            case R.id.senior_setting_serious_late_time_tv :
+            case R.id.senior_setting_serious_late_time_tv:
                 time = getResources().getStringArray(R.array.serious_late_time);
                 requestCode = ERIOUS_LATE_TIME;
                 break;
-            case R.id.senior_setting_leave_early_tv :
+            case R.id.senior_setting_leave_early_tv:
                 time = getResources().getStringArray(R.array.serious_leave_early_time);
                 requestCode = LEAVE_EARLY_TIME;
                 break;
-            case R.id.senior_setting_absenteeism_tv :
+            case R.id.senior_setting_absenteeism_tv:
                 time = getResources().getStringArray(R.array.absenteeism_time);
                 requestCode = ABSENTEEISM_TIME;
                 break;
             case R.id.senior_setting_save_bt:
                 doTimejudgment();
                 break;
-            case  R.id.senior_setting_auto_sign_sw:
+            case R.id.senior_setting_auto_sign_sw:
                 doCheckjudge();
                 break;
             default:
@@ -239,7 +248,7 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
         }
         ArrayList<SelectBean> beans = new ArrayList<>();
         SelectBean bean = null;
-        if (time != null){
+        if (time != null) {
             for (String e : time) {
                 bean = new SelectBean();
                 bean.setName(e);
@@ -255,9 +264,9 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
     }
 
     private void doCheckjudge() {
-        if (auto_sign == 1){
+        if (auto_sign == 1) {
             new AlertDialog.Builder(mContext).setTitle("温馨提示").setMessage("关闭后系统无法帮您自动打卡,确认关闭?")
-                    .setNegativeButton("取消",null)
+                    .setNegativeButton("取消", null)
                     .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                         @Override
                         public void onClick(DialogInterface dialog, int which) {
@@ -266,7 +275,7 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
                             doAutoSignSetting();
                         }
                     }).show();
-        }else if (auto_sign == 0){
+        } else if (auto_sign == 0) {
             auto_sign = 1;
             auto_sign_sw.setChecked(true);
             doAutoSignSetting();
@@ -278,34 +287,35 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         if (data == null) return;
-        if (resultCode == 0x20){
+        if (resultCode == 0x20) {
             SelectBean b = data.getParcelableExtra("data");
             if (b == null) return;
             String selected_time = StringUtils.isEmpty(b.getName()) ? "" : b.getName();
-            if (requestCode == LATE_TIME_CODE){
+            if (requestCode == LATE_TIME_CODE) {
                 late_time_tv.setText(selected_time);
-            }else if (requestCode == ERIOUS_LATE_TIME){
+            } else if (requestCode == ERIOUS_LATE_TIME) {
                 serious_late_time_tv.setText(selected_time);
-            }else if (requestCode == LEAVE_EARLY_TIME){
+            } else if (requestCode == LEAVE_EARLY_TIME) {
                 leave_early_tv.setText(selected_time);
-            }else if (requestCode == ABSENTEEISM_TIME){
+            } else if (requestCode == ABSENTEEISM_TIME) {
                 absenteeism_time_tv.setText(selected_time);
             }
         }
     }
+
     private void doTimejudgment() {
         int latetime = CommonUtil.getNumByString(late_time_tv.getText().toString());  //迟到
-        int seniouslatetime = CommonUtil.getNumByString(serious_late_time_tv.getText().toString()) ;//严重迟到
+        int seniouslatetime = CommonUtil.getNumByString(serious_late_time_tv.getText().toString());//严重迟到
         int leaveearlytime = CommonUtil.getNumByString(leave_early_tv.getText().toString()); //早退
         int absenteeismtime = CommonUtil.getNumByString(absenteeism_time_tv.getText().toString());//旷工
 
-        if (seniouslatetime > latetime && absenteeismtime > leaveearlytime && absenteeismtime > seniouslatetime){
-            doSaveSeniorSetting(latetime,seniouslatetime,leaveearlytime,absenteeismtime);
-        }else {
-            if (seniouslatetime <= latetime){
+        if (seniouslatetime > latetime && absenteeismtime > leaveearlytime && absenteeismtime > seniouslatetime) {
+            doSaveSeniorSetting(latetime, seniouslatetime, leaveearlytime, absenteeismtime);
+        } else {
+            if (seniouslatetime <= latetime) {
                 ToastMessage("迟到时间必须小于严重迟到时间!");
             }
-            if (absenteeismtime <= seniouslatetime){
+            if (absenteeismtime <= seniouslatetime) {
                 ToastMessage("严重迟到时间必须小于旷工时间!");
             }
             if (absenteeismtime <= leaveearlytime) {
@@ -313,20 +323,21 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
             }
         }
     }
+
     //保存操作
-    private void doSaveSeniorSetting(int t1,int t2,int t3,int t4) {
+    private void doSaveSeniorSetting(int t1, int t2, int t3, int t4) {
         progressDialog.show();
-        Map<String,Object> formStoreMap = new HashMap<>();
-        formStoreMap.put("MA_LATETIME",t1);
-        formStoreMap.put("MA_SERIOUSLATETIME",t2);
-        formStoreMap.put("MA_EARLYTIME",t3);
-        formStoreMap.put("MA_ABSENTTIME",t4);
-
-        String url = CommonUtil.getSharedPreferences(ct,"erp_baseurl") + "/mobile/saveconfigs.action";
-        HashMap<String,Object> params = new HashMap<>();
-        String formStore  = JSON.toJSONString(formStoreMap);
-        params.put("caller",caller);
-        params.put("formStore",formStore);
+        Map<String, Object> formStoreMap = new HashMap<>();
+        formStoreMap.put("MA_LATETIME", t1);
+        formStoreMap.put("MA_SERIOUSLATETIME", t2);
+        formStoreMap.put("MA_EARLYTIME", t3);
+        formStoreMap.put("MA_ABSENTTIME", t4);
+
+        String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "/mobile/saveconfigs.action";
+        HashMap<String, Object> params = new HashMap<>();
+        String formStore = JSON.toJSONString(formStoreMap);
+        params.put("caller", caller);
+        params.put("formStore", formStore);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(this, url, params, handler, headers, SENIOR_TIME_SAVE_REQUEST, null, null, "post");
@@ -347,16 +358,22 @@ public class SignSeniorSettingActivity extends BaseActivity implements View.OnCl
         }
     }
 
+    private int getIntByJson(JSONObject object, String key) {
+        if (object.containsKey(key))
+            return object.getIntValue(key);
+        else return 1;
+    }
+
     private void doAutoSignSetting() {
         Map<String, Object> formStoreMap = new HashMap<>();
-        formStoreMap.put("ma_id",save_return_id);
-        formStoreMap.put("AUTOCARDLOG",auto_sign);
+        formStoreMap.put("ma_id", save_return_id);
+        formStoreMap.put("AUTOCARDLOG", auto_sign);
 
-        String url = CommonUtil.getSharedPreferences(ct,"erp_baseurl") + "/mobile/autoCardLog.action";
-        HashMap<String,Object> params = new HashMap<>();
+        String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "/mobile/autoCardLog.action";
+        HashMap<String, Object> params = new HashMap<>();
         String formStore = JSON.toJSONString(formStoreMap);
-        params.put("caller",caller);
-        params.put("formStore",formStore);
+        params.put("caller", caller);
+        params.put("formStore", formStore);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(this, url, params, handler, headers, AUTO_SIGN_REQUEST, null, null, "post");

BIN
WeiChat/src/main/res/drawable-xxhdpi/attend_down.png


BIN
WeiChat/src/main/res/drawable-xxhdpi/attend_up.png


+ 1 - 1
WeiChat/src/main/res/layout/activity_oamain.xml

@@ -393,7 +393,7 @@
                         android:layout_weight="1"
                         android:orientation="vertical"
                         android:layout_marginTop="2dp"
-                        android:visibility="invisible"
+                        android:visibility="visible"
                         >
                         <FrameLayout
                             android:id="@+id/notice_head_area"

+ 1 - 1
WeiChat/src/main/res/layout/fragment_attendance.xml

@@ -16,7 +16,7 @@
     <com.xzjmyk.pm.activity.ui.erp.view.oacalender.CalenderView
         android:id="@+id/calender"
         android:layout_width="match_parent"
-        android:layout_height="230dp" />
+        android:layout_height="210dp" />
 
     <FrameLayout
         android:layout_width="match_parent"

+ 14 - 6
WeiChat/src/main/res/layout/item_attendance.xml

@@ -21,17 +21,25 @@
         android:padding="10dp">
 
         <ImageView
-            android:id="@+id/tag"
-            android:layout_width="4dp"
-            android:layout_height="50dp"
-            android:background="@color/item_line" />
+            android:id="@+id/up_tag"
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/attend_up" />
+
+        <ImageView
+            android:id="@+id/down_tag"
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:layout_below="@id/up_tag"
+            android:layout_marginTop="30dp"
+            android:background="@drawable/attend_down" />
 
         <TextView
             android:id="@+id/work_tv"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="10dp"
-            android:layout_toRightOf="@id/tag"
+            android:layout_toRightOf="@id/up_tag"
             android:text="09:20" />
 
         <TextView
@@ -46,7 +54,7 @@
             android:id="@+id/off_tv"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_alignBottom="@id/tag"
+            android:layout_alignBottom="@id/down_tag"
             android:layout_alignLeft="@id/work_tv"
             android:layout_toRightOf="@id/tag"
             android:text="09:20" />