Parcourir la source

测试版本5.2 9-7

Arison il y a 9 ans
Parent
commit
7fc3375776

+ 24 - 18
WeiChat/src/main/AndroidManifest.xml

@@ -6,8 +6,7 @@
     android:versionName="5.2">
     <uses-sdk
         android:minSdkVersion="11"
-        android:targetSdkVersion="22" 
-        />
+        android:targetSdkVersion="22" />
     <!-- 拨打电话 -->
     <uses-permission android:name="android.permission.CALL_PHONE" />
     <uses-feature android:name="android.hardware.camera" />
@@ -63,11 +62,11 @@
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <!--全局样式不要随意改动  @style/AppTheme-->
     <application
-        android:largeHeap="true"
         android:name=".MyApplication"
         android:allowBackup="true"
         android:icon="@drawable/uuu"
         android:label="@string/app_name"
+        android:largeHeap="true"
         android:theme="@style/AppTheme">
         <meta-data
             android:name="UMENG_APPKEY"
@@ -150,8 +149,9 @@
             android:name=".ui.message.AddContactsActivity"
             android:configChanges="orientation|keyboardHidden"
             android:windowSoftInputMode="adjustUnspecified|stateHidden" />
-        <activity android:name=".ui.erp.activity.SubcribeManageActivity"
-            android:theme="@style/StyledIndicators"/>
+        <activity
+            android:name=".ui.erp.activity.SubcribeManageActivity"
+            android:theme="@style/StyledIndicators" />
         <!-- 群聊 -->
         <activity android:name=".ui.groupchat.SelectContactsActivity" />
 
@@ -410,24 +410,30 @@
             android:theme="@style/Theme.AppCompat.NoActionBar" />
         <activity
             android:name=".ui.erp.activity.oa.AddMeetingActivity"
-            android:label="新会议"
+            android:label="新会议"
             android:theme="@style/OAThemeMeet" />
         <activity android:name=".ui.erp.activity.oa.OAActivity" />
         <activity
             android:name=".ui.erp.activity.oa.StatisticsActivity"
             android:label="考勤统计" />
-        <activity android:name=".ui.erp.activity.crm.BusinessActivity"
-            android:theme="@style/CrmThemeBlue"/>
-        <activity android:name=".ui.erp.activity.crm.BusinessDetailActivty"
-            android:theme="@style/CrmThemeBlue"/>
-        <activity android:name=".ui.erp.activity.crm.BusinessDetailInfoActivity"
-            android:theme="@style/CrmThemeBlue"/>
-        <activity android:name=".ui.erp.activity.crm.BusinessLessActivity"
-            android:theme="@style/CrmThemeBlue"/>
-        <activity android:name=".ui.erp.activity.crm.BusinessTransferActivity"
-            android:theme="@style/CrmThemeBlue"/>
-        <activity android:name=".ui.erp.activity.crm.BusinessSelectCustomerActivity"
-            android:theme="@style/CrmThemeBlue"/>
+        <activity
+            android:name=".ui.erp.activity.crm.BusinessActivity"
+            android:theme="@style/CrmThemeBlue" />
+        <activity
+            android:name=".ui.erp.activity.crm.BusinessDetailActivty"
+            android:theme="@style/CrmThemeBlue" />
+        <activity
+            android:name=".ui.erp.activity.crm.BusinessDetailInfoActivity"
+            android:theme="@style/CrmThemeBlue" />
+        <activity
+            android:name=".ui.erp.activity.crm.BusinessLessActivity"
+            android:theme="@style/CrmThemeBlue" />
+        <activity
+            android:name=".ui.erp.activity.crm.BusinessTransferActivity"
+            android:theme="@style/CrmThemeBlue" />
+        <activity
+            android:name=".ui.erp.activity.crm.BusinessSelectCustomerActivity"
+            android:theme="@style/CrmThemeBlue" />
         <activity
             android:name=".ui.message.uas.B2bMsgActivity"
             android:launchMode="singleTask" />

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

@@ -171,6 +171,7 @@ public class AddMeetTaskActivity extends BaseActivity {
                 holder.name_tv = (TextView) view.findViewById(R.id.name_tv);
                 holder.time_tv = (TextView) view.findViewById(R.id.time_tv);
                 holder.theme_tv = (TextView) view.findViewById(R.id.theme_tv);
+                holder.status_tv = (TextView) view.findViewById(R.id.status_tv);
                 holder.date_tv = (TextView) view.findViewById(R.id.date_tv);
                 holder.headler_tv = (TextView) view.findViewById(R.id.headler_tv);
                 view.setTag(holder);
@@ -186,6 +187,7 @@ public class AddMeetTaskActivity extends BaseActivity {
         private void bindData(ViewHolder holder, JSONObject object) {
             holder.name_tv.setText(object.containsKey("recorder") ? object.getString("recorder") : "");
             holder.theme_tv.setText(object.containsKey("description") ? object.getString("description") : "");
+            holder.status_tv.setText("执行中");
             holder.headler_tv.setText("执行人:" + (object.containsKey("recorder") ? object.getString("recorder") : "无"));
             String name = object.containsKey("recorder") ? object.getString("recorder") : "";
             if (name != null && name.length() > 0) {
@@ -198,7 +200,7 @@ public class AddMeetTaskActivity extends BaseActivity {
 
         class ViewHolder {
             TextView head_img;
-            TextView name_tv, time_tv, theme_tv, date_tv, headler_tv;
+            TextView name_tv, time_tv, theme_tv, date_tv, headler_tv, status_tv;
         }
     }
 

+ 51 - 158
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AlarmReceiver.java

@@ -7,24 +7,18 @@ import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
-import android.os.Handler;
-import android.os.Message;
 import android.support.v7.app.NotificationCompat;
+import android.util.Log;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.Signin;
 import com.xzjmyk.pm.activity.db.dao.SigninDao;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
-import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 
 import java.util.ArrayList;
 import java.util.Calendar;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -32,90 +26,23 @@ import java.util.regex.Pattern;
  * AlarmReceiver
  */
 public class AlarmReceiver extends BroadcastReceiver {
-
-    private Context ct;
-    private boolean isU;
-
-    private Handler handler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            if (msg.what == 0x11) {
-                String message = msg.getData().getString("result");
-                if (JSON.parseObject(message).containsKey("listdata")) {
-                    JSONArray array = JSON.parseObject(message).getJSONArray("listdata");
-                    String[] time = new String[array.size()];
-                    for (int i = 0; i < array.size(); i++) {
-                        time[i] = array.getJSONObject(i).containsKey("cl_time") ? array.getJSONObject(i).getString("cl_time") : "--";
-                    }
-                    //判断是否已经签到过了
-                    ArrayList<Signin> signins = SigninDao.getInstance(ct).query();
-                    String str = TimeUtils.long2str(System.currentTimeMillis(), "HH:mm");
-                    //判断当前时间在哪个区间
-                    for (Signin e : signins) {
-                        if (str.compareTo(e.getUsigmin()) > 0 && str.compareTo(e.getDsigmin()) < 0) {
-                            //当前时间在这个打卡时间之内,判断是否已经打卡
-                            if (e.getUtime() == null || e.getDtime() == null) {
-                                //提醒
-                                sendNotification(ct, isU);
-                                return;
-                            }
-                            if (isU && time.length > 0 && time[0].compareTo(e.getUtime()) < 0) {
-                                //已经打卡到上班卡了
-
-                            } else if (!isU && time.length > 0 && time[time.length - 1].compareTo(e.getDtime()) > 0) {
-                                //已经打卡到下班卡了
-                            } else {
-                                //提醒
-                                sendNotification(ct, isU);
-                            }
-                            break;
-                        }
-                    }
-
-                }
-            }
-
-        }
-    };
+    private long newTime = System.currentTimeMillis();//当前时间(先取网络时间在取本地时间)
 
     @Override
     public void onReceive(Context context, Intent intent) {
-        this.ct = context;
-        if (intent.getAction().equals(AlarmaActivity.KEY_ALAR_ACTION)) {//上班签到提醒
-            isU = true;
-        } else {//下班签到提醒
-            isU = true;
+        if (intent.getAction() != null && "ALARMA_ACTION".equals(intent.getAction())) {
+            if (CommonUtil.getSharedPreferencesBoolean(context, "ALARMA_CLICK", false))
+                sendNotification(context);
         }
-        loadLog(context);
     }
 
 
-    //获取打卡记录 date:yyyy-MM-dd
-    private void loadLog(Context ct) {
-        //获取网络数据
-        String code = CommonUtil.getSharedPreferences(ct, "erp_username");
-        String date = TimeUtils.s_long_2_str(System.currentTimeMillis());
-        String url = "mobile/common/list.action";
-        final Map<String, Object> param = new HashMap<>();
-        param.put("currentMaster", CommonUtil.getSharedPreferences(ct, "erp_master"));
-        param.put("page", 1);
-        param.put("pageSize", 1000);
-        param.put("condition", "cl_emcode='" + code + "' and to_char(cl_time,'yyyy-MM-dd')='" + date + "'");
-        param.put("caller", "CardLog");
-        param.put("emcode", code);
-        param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
-        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x11, null, null, "get");
-    }
-
     /**
      * 签到提醒弹出通知栏
      *
      * @param context
-     * @param isAlar  下一次提醒为上班还是下班(前一次为上班 下一次为下班)
      */
-    private void sendNotification(Context context, boolean isAlar) {
+    private void sendNotification(Context context) {
         NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
         NotificationCompat.Builder builder = new NotificationCompat.Builder(
                 context.getApplicationContext());
@@ -123,46 +50,28 @@ public class AlarmReceiver extends BroadcastReceiver {
         builder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
         builder.setAutoCancel(true);
         builder.setContentTitle("签到提醒");
-        CharSequence stringExtra = "";
-        if (isAlar) {
-            stringExtra = context.getResources().getString(R.string.alar_content);
-        } else {
-            stringExtra = context.getResources().getString(R.string.ualar_content);
-        }
+        CharSequence stringExtra = "注意按时打卡";
         builder.setContentText(stringExtra);
         Intent intent = new Intent(context, SigninActivity.class);
         PendingIntent pendingIntent = PendingIntent.getActivity(context.getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
         builder.setContentIntent(pendingIntent);
         mNotificationManager.notify(1000, builder.build());
         //设置签到提醒
-        initArmmanager(context, isAlar);
+        initArmmanager(context);
     }
 
-    private void setArmmanager(Context context, Calendar calendar, boolean isAlar) {
-        //操作:发送一个广播,广播接收后Toast提示定时操作完成
-        Intent intent = new Intent(context, AlarmReceiver.class);
-        String actionArg;
-        if (isAlar)
-            actionArg = AlarmaActivity.KEY_ALAR_ACTION;
-        else
-            actionArg = AlarmaActivity.KEY_UALAR_ACTION;
-        intent.setAction(actionArg);
-        AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
-        Calendar c = Calendar.getInstance();
-        c.setTimeInMillis(System.currentTimeMillis());
-        alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), getPendingIntent(context, intent));
-    }
-
-    private PendingIntent getPendingIntent(Context context, Intent intent) {
-        return PendingIntent.getBroadcast(context, 0, intent, 0);
+    private int getMin(String chche) {
+        if (StringUtils.isEmpty(chche)) return 5;
+        Pattern p = Pattern.compile("(\\d+)");
+        Matcher m = p.matcher(chche);
+        if (m.find()) {
+            return Integer.parseInt(m.group(0));
+        }
+        return -1;
     }
 
-    /**
-     * 设置下一次提醒
-     *
-     * @param isAlar 需要提醒为上班还是下班,如果前一次为上班提醒,则为下班,如果前一次为下班,则为下班
-     */
-    private void initArmmanager(Context ct, boolean isAlar) {
+    //初始化提醒
+    private void initArmmanager(Context ct) {
         //1.获取打卡时间
         ArrayList<Signin> signins = SigninDao.getInstance(ct).query();
         if (signins == null) return;
@@ -170,68 +79,52 @@ public class AlarmReceiver extends BroadcastReceiver {
         //获取提前和往后提醒时间
         int uTime = getMin(CommonUtil.getSharedPreferences(ct, AlarmaActivity.KEY_ALAR_TIME));
         int dTime = getMin(CommonUtil.getSharedPreferences(ct, AlarmaActivity.KEY_UALAR_TIME));
-        long utime = System.currentTimeMillis();
-        long dtime = System.currentTimeMillis();
-        if (uTime != 0) {
-            utime = System.currentTimeMillis() - (uTime * 60 * 1000) + (30 * 60 * 1000);
-        }
-        if (dTime != 0) {
-            dtime = System.currentTimeMillis() + (dTime * 60 * 1000) + (30 * 60 * 1000);
-        }
-        Calendar c = Calendar.getInstance();
+        Log.i("gongpengming", "uTime=" + uTime);
+        Log.i("gongpengming", "dTime=" + dTime);
+        long utime = (uTime * 60 * 1000) + (10 * 60 * 1000);//与上班时间提前的时间
+        long dtime = (dTime * 60 * 1000) + (10 * 60 * 1000);//与下班时间延后的时间
         long chche = 0;//时间毫秒数
         boolean isOk = false;
+        long chchelong = -1;
         for (Signin e : signins) {
-            if (e.getUtime() != null && e.getUtime().length() > 0)
-                chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getUtime() + ":00");
-            if (chche > utime) {//当前时间大于选定的班次的上班时间
+            Log.i("gongpengming", "e.getDtime()=" + e.getDtime() + "   e.getUtime()" + e.getUtime());
+            //如果上班时间-提前时间小于当前时间   说明已经过期
+            chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getUtime() + ":00") - utime;
+            if (newTime < chche) {
+                if (chchelong != -1 && chchelong > chche) {
+                    chchelong = chche;
+                }
+                //符合提醒
                 isOk = true;
-                //TODO
-                c.setTimeInMillis(chche);
+                //TODO 提醒该时间
+                setArmmanager(ct, chche);
                 break;
             }
-            if (e.getDtime() != null && e.getDtime().length() > 0)
-                chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getUtime() + ":00");
-            if (chche > dtime) {//当前时间大于选定的班次的下班时间
+            chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getDtime() + ":00") + dtime;
+            if (newTime < chche) {
+                //TODO 提醒该时间
                 isOk = true;
-                //TODO
-                c.setTimeInMillis(chche);
+                setArmmanager(ct, chche);
                 break;
             }
         }
-        if (!isOk) {//在班次时间内
-            chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + signins.get(0).getUtime() + ":00");
-            chche += 24 * 60 * 60 * 1000;
-            c.setTimeInMillis(chche);
-        }
-        setArmmanager(ct, c, isAlar);
-    }
 
-    private int getMin(String chche) {
-        if (chche == null || chche.length() <= 0) return 0;
-        Pattern p = Pattern.compile("(\\d+)");
-        Matcher m = p.matcher(chche);
-        if (m.find()) {
-            return Integer.parseInt(m.group(0));
+        if (!isOk) {//不在当天允许提醒范围内
+            if (chchelong != -1) {
+                chchelong += 24 * 60 * 60 * 1000;
+                setArmmanager(ct, chchelong);
+            }
         }
-        return -1;
-    }
-
-    private int[] getHourAndM(String temp) {
-        int[] time = new int[2];
-        Calendar c = Calendar.getInstance();
-        c.setTimeInMillis(TimeUtils.f_str_2_long(temp));
-        time[0] = c.get(Calendar.HOUR_OF_DAY);
-        time[1] = c.get(Calendar.MINUTE);
-        return time;
     }
 
-    private String getTimeFormat(int hh, int mm) {
-        String h = (hh < 10 ? "0" : "") + hh;
-        String m = (mm < 10 ? "0" : "") + mm;
-        String temp = TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + h + ":" + m + ":" + "00";
-        return temp;
+    private void setArmmanager(Context ct, long time) {
+        //操作:发送一个广播,广播接收后Toast提示定时操作完成
+        Intent intent = new Intent(ct, AlarmReceiver.class);
+        intent.setAction("ALARMA_ACTION");
+        AlarmManager alarm = (AlarmManager) ct.getSystemService(ct.ALARM_SERVICE);
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTimeInMillis(time);
+        alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), PendingIntent.getBroadcast(ct, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
     }
 
-
 }

+ 50 - 58
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AlarmaActivity.java

@@ -17,13 +17,10 @@ import com.xzjmyk.pm.activity.bean.oa.Signin;
 import com.xzjmyk.pm.activity.db.dao.SigninDao;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.view.SwitchView;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.regex.Matcher;
@@ -39,12 +36,10 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
     private TextView tv_ualar;//下班时间
     private boolean isClick;//判断是否为提醒
     private AlarmaActivity ct;
-
     private static String ALARMA_CLICK = "ALARMA_CLICK";//判断是否选中
-    public static String KEY_ALAR_ACTION = "KEY_ALAR_ACTION";//发送上班
-    public static String KEY_UALAR_ACTION = "KEY_UALAR_ACTION";//发送下班提醒
     public static String KEY_ALAR_TIME = "KEY_ALAR_TIME";
     public static String KEY_UALAR_TIME = "KEY_UALAR_TIME";
+    private long newTime = System.currentTimeMillis();//当前时间(先取网络时间在取本地时间)
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -55,9 +50,6 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         initView();
     }
 
-
-
-
     private void initView() {
         //初始化界面显示时间
         tv_alar.setOnClickListener(this);
@@ -76,9 +68,9 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         }
         tv_alar.setText(uDateTime);
         tv_ualar.setText(dDateTime);
-        if (isClick) {
-            startThread(isClick);
-        }
+//        if (isClick) {
+//            startThread(isClick);
+//        }
         isalarma_sw.setOnCheckedChangeListener(new SwitchView.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(View view, boolean isChecked) {
@@ -103,6 +95,9 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         }).start();
     }
 
+
+
+
     //初始化提醒
     private void initArmmanager() {
         //1.获取打卡时间
@@ -112,48 +107,57 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         //获取提前和往后提醒时间
         int uTime = getMin(CommonUtil.getSharedPreferences(ct, KEY_ALAR_TIME));
         int dTime = getMin(CommonUtil.getSharedPreferences(ct, KEY_UALAR_TIME));
-        long utime = System.currentTimeMillis();
-        long dtime = System.currentTimeMillis();
-        if (uTime != 0) {
-            utime = System.currentTimeMillis() - (uTime * 60 * 1000);
-        }
-        if (dTime != 0) {
-            dtime = System.currentTimeMillis() + (dTime * 60 * 1000);
-        }
-        Calendar c = Calendar.getInstance();
-
+        Log.i("gongpengming", "uTime=" + uTime);
+        Log.i("gongpengming", "dTime=" + dTime);
+        long utime = (uTime * 60 * 1000);//与上班时间提前的时间
+        long dtime = (dTime * 60 * 1000);//与下班时间延后的时间
         long chche = 0;//时间毫秒数
         boolean isOk = false;
-        boolean isAlar = false;
+        long chchelong = -1;
         for (Signin e : signins) {
-            if (e.getUtime() != null && e.getUtime().length() > 0)
-                chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getUtime() + ":00");
-            if (chche > utime) {//当前时间大于选定的班次的上班时间
-                isAlar = isOk = true;
-                //TODO
-                c.setTimeInMillis(chche);
+            Log.i("gongpengming", "e.getDtime()=" + e.getDtime() + "   e.getUtime()" + e.getUtime());
+            //如果上班时间-提前时间小于当前时间   说明已经过期
+            chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getUtime() + ":00") - utime;
+            if (chchelong != -1 && chchelong > chche) {//把最早上班时间保存下来
+                chchelong = chche;
+            }
+            if (newTime < chche) {
+                //符合提醒
+                isOk = true;
+                //TODO 提醒该时间
+                setArmmanager(chche);
                 break;
             }
-            if (e.getDtime() != null && e.getDtime().length() > 0)
-                chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getUtime() + ":00");
-            if (chche > dtime) {//当前时间大于选定的班次的下班时间
+            chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getDtime() + ":00") + dtime;
+            if (newTime < chche) {
+                //TODO 提醒该时间
                 isOk = true;
-                isAlar = false;
-                //TODO
-                c.setTimeInMillis(chche);
+                setArmmanager(chche);
                 break;
             }
         }
-        if (!isOk) {//在班次时间内
-            chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + signins.get(0).getUtime() + ":00");
-            chche += 24 * 60 * 60 * 1000;
-            c.setTimeInMillis(chche);
+
+        if (!isOk) {//不在当天允许提醒范围内
+            if (chchelong != -1) {
+                chchelong += 24 * 60 * 60 * 1000;
+                setArmmanager(chchelong);
+            }
         }
-        setArmmanager(c, isAlar);
     }
 
+    private void setArmmanager(long time) {
+        //操作:发送一个广播,广播接收后Toast提示定时操作完成
+        Intent intent = new Intent(AlarmaActivity.this, AlarmReceiver.class);
+        intent.setAction("ALARMA_ACTION");
+        AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE);
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTimeInMillis(time);
+        alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), getPendingIntent(intent));
+    }
+
+
     private int getMin(String chche) {
-        if (chche == null || chche.length() <= 0) return 0;
+        if (StringUtils.isEmpty(chche)) return 5;
         Pattern p = Pattern.compile("(\\d+)");
         Matcher m = p.matcher(chche);
         if (m.find()) {
@@ -162,20 +166,6 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         return -1;
     }
 
-    private void setArmmanager(Calendar calendar, boolean isAlar) {
-        //操作:发送一个广播,广播接收后Toast提示定时操作完成
-        Intent intent = new Intent(AlarmaActivity.this, AlarmReceiver.class);
-        String actionArg;
-        actionArg = KEY_ALAR_ACTION;
-        intent.setAction(actionArg);
-        CommonUtil.setSharedPreferences(this, "ALARMA_ACTION", actionArg);
-        AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE);
-
-        Calendar c = Calendar.getInstance();
-        c.setTimeInMillis(System.currentTimeMillis());
-        alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), getPendingIntent(intent));
-    }
-
     private PendingIntent getPendingIntent(Intent intent) {
         return PendingIntent.getBroadcast(AlarmaActivity.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
     }
@@ -183,7 +173,7 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
     //清空提醒
     private void unArmmanager() {
         Intent intent = new Intent(AlarmaActivity.this, AlarmReceiver.class);
-        intent.setAction(CommonUtil.getSharedPreferences(this, "ALARMA_ACTION"));
+        intent.setAction("ALARMA_ACTION");
         PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
         AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE);
         alarm.cancel(pi);
@@ -220,7 +210,9 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
                     CommonUtil.setSharedPreferences(ct, KEY_ALAR_TIME, str[i]);//保存上班签到的
                 } else {
                     CommonUtil.setSharedPreferences(ct, KEY_UALAR_TIME, str[i]);//保存下班班签到的
-
+                }
+                if (isClick) {
+                    startThread(isClick);
                 }
             }
         });

+ 5 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MeetingActivity.java

@@ -143,7 +143,7 @@ public class MeetingActivity extends BaseActivity {
 
             @Override
             public void afterTextChanged(Editable editable) {
-                String strChche = editable.toString();
+                String strChche = editable.toString().replace(" ", "");//去除空格
                 List<MeetEntity> chche = new ArrayList<MeetEntity>();
                 if (entities == null || entities.size() <= 0) return;
                 for (MeetEntity e : entities) {
@@ -271,6 +271,7 @@ public class MeetingActivity extends BaseActivity {
             bindData(viewholder, i);
             return view;
         }
+
         private void bindData(ViewHolder viewholder, int i) {
             MeetEntity entity = entities.get(i);
             //当系统时间<开始时间 会议状态为未开始,
@@ -295,7 +296,7 @@ public class MeetingActivity extends BaseActivity {
             viewholder.oa_meeting_addr_tv.setText(entity.getMa_mrname());
             viewholder.oa_meeting_user_tv.setText(entity.getMa_recorder());
             if (entity.getMa_tag() == null || entity.getMa_tag().length() <= 0) return;
-            viewholder.oa_meeting_tag_tv.setText(entity.getMa_type() == null ? "" : entity.getMa_type());
+            viewholder.oa_meeting_tag_tv.setText(entity.getMa_type() == null ? "未填写" : entity.getMa_type());
         }
 
         class ViewHolder {
@@ -314,7 +315,7 @@ public class MeetingActivity extends BaseActivity {
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (data == null) return;
-        Log.i("gongpengming","onActivityResult");
+        Log.i("gongpengming", "onActivityResult");
         if (requestCode == this.requestCode) {
             if (resultCode == 0x14) {
                 if ("data".equals(data.getStringExtra("data"))) {
@@ -322,7 +323,7 @@ public class MeetingActivity extends BaseActivity {
                     loadNetData(1);
                 }
             } else if (resultCode == 0x15) {
-                Log.i("gongpengming","resultCode == 0x15");
+                Log.i("gongpengming", "resultCode == 0x15");
                 int i = data.getIntExtra("item", -1);
                 if (i >= 0 && data.getBooleanExtra("data", false)) {//是否结束会议
                     entities = adapter.getData();

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

@@ -2,7 +2,6 @@ package com.xzjmyk.pm.activity.ui.erp.adapter;
 
 import android.content.Context;
 import android.support.v7.widget.RecyclerView;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -64,8 +63,8 @@ public class SigninAdapter extends RecyclerView.Adapter<SigninAdapter.ViewHoler>
         String start = "",
                 end = "";
         if (!ListUtils.isEmpty(b.getSigninList()) && b.getSigninList().size() > 0) {
-            holder.signin.setText(b.getSigninList().get(0));//填充时间
             if (b.getSigninList().get(0).compareTo(b.getStartSignin()) > 0 && b.getSigninList().get(0).compareTo(getNext90(b.getStartTime(), true)) < 0) {
+                holder.signin.setText(b.getSigninList().get(0));//填充时间
             } else {
                 holder.signin.setText("");
             }
@@ -76,6 +75,14 @@ public class SigninAdapter extends RecyclerView.Adapter<SigninAdapter.ViewHoler>
                     holder.signin2.setText(b.getSigninList().get(b.getSigninList().size() - 1));//填充时间
                 }
                 end = getTag(b.getEndTime(), getNext90(b.getEndTime(), false), b.getEndSignnin(), b.getSigninList().get(b.getSigninList().size() - 1), false);
+            } else {
+                if (b.getSigninList().get(0).compareTo(b.getEndSignnin()) < 0 && b.getSigninList().get(0).compareTo(getNext90(b.getEndTime(), false)) > 0) {
+                    String signin = b.getSigninList().get(b.getSigninList().size() - 1);
+                    if (signin.compareTo(getNext90(b.getEndTime(), false)) > 0 && signin.compareTo(b.getEndSignnin()) < 0) {
+                        holder.signin2.setText(b.getSigninList().get(b.getSigninList().size() - 1));//填充时间
+                    }
+                    end = getTag(b.getEndTime(), getNext90(b.getEndTime(), false), b.getEndSignnin(), b.getSigninList().get(b.getSigninList().size() - 1), false);
+                }
             }
         } else {
             start = end = "-1";

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

@@ -196,14 +196,14 @@
             <TextView
                 android:id="@+id/user_tag"
                 style="@style/form_relative_left_text"
-                android:text="管    员"
+                android:text="管理员"
                 android:textColor="@color/text_main"
                 android:textSize="@dimen/text_main" />
 
             <TextView
                 android:id="@+id/user_tv"
                 style="@style/add_meet_tv"
-                android:layout_marginLeft="20dp"
+                android:layout_marginLeft="40dp"
                 android:layout_toRightOf="@id/user_tag" />
         </RelativeLayout>
 

+ 2 - 0
WeiChat/src/main/res/layout/activity_oa__alarma.xml

@@ -94,4 +94,6 @@
             android:drawableRight="@drawable/oa_next"
             android:textSize="@dimen/text_main" />
     </RelativeLayout>
+
+
 </LinearLayout>

+ 7 - 5
WeiChat/src/main/res/layout/activity_out_signin_ok.xml

@@ -34,6 +34,8 @@
                 android:layout_height="wrap_content"
                 android:layout_alignBottom="@+id/com_tag"
                 android:layout_toRightOf="@+id/com_tag"
+                android:ellipsize="end"
+                android:lines="1"
                 android:textSize="@dimen/text_main" />
         </RelativeLayout>
 
@@ -50,8 +52,8 @@
                 android:layout_height="wrap_content"
                 android:layout_marginRight="10dp"
                 android:drawableLeft="@drawable/outoffice_time"
-                android:text="签到时间:"
                 android:drawablePadding="6dp"
+                android:text="签到时间:"
                 android:textSize="@dimen/text_main" />
 
             <TextView
@@ -60,7 +62,7 @@
                 android:layout_height="wrap_content"
                 android:layout_alignBottom="@id/time_tag"
                 android:layout_toRightOf="@id/time_tag"
-                android:textStyle="bold"/>
+                android:textStyle="bold" />
 
             <TextView
                 android:id="@+id/addr_tag"
@@ -70,8 +72,8 @@
                 android:layout_marginRight="10dp"
                 android:layout_marginTop="5dp"
                 android:drawableLeft="@drawable/outffice_addr"
-                android:text="签到地点:"
                 android:drawablePadding="6dp"
+                android:text="签到地点:"
                 android:textSize="@dimen/text_main" />
 
             <TextView
@@ -80,8 +82,8 @@
                 android:layout_height="wrap_content"
                 android:layout_alignTop="@id/addr_tag"
                 android:layout_toRightOf="@+id/addr_tag"
-                android:textStyle="bold"
-                android:maxLines="2" />
+                android:maxLines="2"
+                android:textStyle="bold" />
         </RelativeLayout>
 
         <View

+ 7 - 1
WeiChat/src/main/res/layout/item_activity_meettask.xml

@@ -13,7 +13,13 @@
         android:layout_marginRight="10dp"
         android:gravity="center"
         android:textSize="20sp" />
-
+<TextView
+    android:id="@+id/status_tv"
+    android:textColor="@color/text_hine"
+    android:layout_alignParentRight="true"
+    android:layout_alignTop="@id/head_img"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content" />
     <TextView
         android:id="@+id/name_tv"
         android:layout_width="wrap_content"

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

@@ -113,7 +113,7 @@
         android:drawableLeft="@drawable/ic_metting_people"
         android:drawablePadding="5dp"
         android:gravity="center_vertical"
-        android:text="发    人"
+        android:text="发起人"
         android:textColor="@color/hintColor" />
 
     <TextView

+ 6 - 3
WeiChat/src/main/res/layout/oa_mylistview_item.xml

@@ -36,23 +36,26 @@
 
     <TextView
         android:id="@+id/item_addr_tv"
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_below="@+id/item_name_tv"
         android:layout_marginTop="3dp"
-        android:clickable="true"
+        android:layout_toLeftOf="@id/item_doit_tv"
         android:drawableLeft="@drawable/oa_signin"
         android:drawablePadding="5dp"
+        android:ellipsize="end"
+        android:lines="1"
         android:text="main"
         android:textColor="@color/text_hine"
         android:textSize="@dimen/text_hine" />
 
     <TextView
         android:id="@+id/item_object_tv"
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_below="@+id/item_addr_tv"
         android:layout_marginTop="5dp"
+        android:layout_toLeftOf="@id/item_doit_tv"
         android:text="市场>李四"
         android:textColor="@color/text_hine"
         android:textSize="@dimen/text_hine" />