Bitliker il y a 9 ans
Parent
commit
5c6ae02c89

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

@@ -72,8 +72,8 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         }
         int[] u = getHourAndM(uDateTime);
         int[] d = getHourAndM(dDateTime);
-        tv_alar.setText(u[0] + ":" + u[1]);
-        tv_ualar.setText(d[0] + ":" + d[1]);
+        tv_alar.setText((u[0] < 10 ? "0" : "") + u[0] + ":" + (u[1] < 10 ? "0" : "") + u[1]);
+        tv_ualar.setText((d[0] < 10 ? "0" : "") + d[0] + ":" + (d[1] < 10 ? "0" : "") + d[1]);
         if (isClick) {
             startThread(isClick);
         }

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

@@ -24,6 +24,9 @@ import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.ErpMenActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.crm.TaskAddActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.crm.VisitReportAddActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.crm.VisitReportPlanActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.util.JsonUtils;
@@ -349,14 +352,23 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
             poAddMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                 @Override
                 public boolean onMenuItemClick(MenuItem menuItem) {
+                    Intent intent = null;
                     switch (menuItem.getItemId()) {
                         case R.id.add_task:
+                            intent = new Intent(ct, TaskAddActivity.class);
+                            intent.putExtra("type", 0);
+                            startActivity(intent);
                             break;
                         case R.id.add_date:
+                            intent = new Intent(ct, TaskAddActivity.class);
+                            intent.putExtra("type", 1);
+                            startActivity(intent);
                             break;
                         case R.id.add_visit:
+                            startActivity(new Intent(ct, VisitReportPlanActivity.class));
                             break;
                         case R.id.add_visit_item:
+                            startActivity(new Intent(ct, VisitReportAddActivity.class));
                             break;
                     }
                     poAddMenu.dismiss();
@@ -431,7 +443,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
                 name = (String) mapList.get(postin).get("schetitle");
                 addr = "结束时间:" + mapList.get(postin).get("enddate");
                 object = (String) mapList.get(postin).get("handler");
-                if (mapList.get(postin).get("status") == null ||"null".equals(mapList.get(postin).get("status") + ""))
+                if (mapList.get(postin).get("status") == null || "null".equals(mapList.get(postin).get("status") + ""))
                     status = "未完成";
                 else
                     status = "" + mapList.get(postin).get("status");

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

@@ -43,7 +43,6 @@ public class OutSigninOKActivity extends BaseActivity {
     @ViewInject(R.id.text_edit)//签到按钮
     private EditText text_edit;
     private String baseUrl;
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

+ 72 - 46
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/alarmreceiver.java

@@ -12,7 +12,7 @@ import android.util.Log;
 
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
-import com.xzjmyk.pm.activity.util.CalendarUtils;
+import com.xzjmyk.pm.activity.util.TimeUtils;
 
 import java.util.Calendar;
 
@@ -21,16 +21,19 @@ public class AlarmReceiver extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
         if (intent.getAction().equals(AlarmaActivity.KEY_ALAR_ACTION)) {//上班签到提醒
-            String content = context.getResources().getString(R.string.alar_content);
-            sendNotification(context, content, true);
+            sendNotification(context, false);//当前为上班   则下一次为下班
         } else if (intent.getAction().equals(AlarmaActivity.KEY_UALAR_ACTION)) {//下班签到提醒
-            String content = context.getResources().getString(R.string.alar_content);
-            sendNotification(context, content, false);
+            sendNotification(context, true);
         }
     }
 
-    private void sendNotification(Context context, String stringExtra, boolean isAlar) {
-        Log.i("gongpengming", stringExtra);
+    /**
+     * 签到提醒弹出通知栏
+     *
+     * @param context
+     * @param isAlar  下一次提醒为上班还是下班(前一次为上班 下一次为下班)
+     */
+    private void sendNotification(Context context, boolean isAlar) {
         NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
         NotificationCompat.Builder builder = new NotificationCompat.Builder(
                 context.getApplicationContext());
@@ -38,58 +41,81 @@ 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);
+        }
         builder.setContentText(stringExtra);
         Intent intent = new Intent(context, AlarmaActivity.class);
         PendingIntent pendingIntent = PendingIntent.getActivity(context.getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
         builder.setContentIntent(pendingIntent);
         mNotificationManager.notify(1000, builder.build());
-        int year = CalendarUtils.getCurrentYear();
-        int month = CalendarUtils.getCurrentMonth();
-        int day = CalendarUtils.getCurrentDate();
-        int hh = 0;
-        int mm = 0;
-        if (isAlar) {//当前为上班时间提醒
-            //下班提醒
-            hh = CommonUtil.getSharedPreferencesInt(context, AlarmaActivity.KEY_UALAR_HH);
-            mm = CommonUtil.getSharedPreferencesInt(context, AlarmaActivity.KEY_UALAR_MM);
-        } else {
-            if (day == CalendarUtils.getCurrentMaxNumOfMonth()) {//为当月最大
-                day = 1;
-                if (month == 12) {
-                    month = 1;
-                    year++;
-                } else {
-                    month++;
-                }
-            } else {
-                day++;
-            }
-            hh = CommonUtil.getSharedPreferencesInt(context, AlarmaActivity.KEY_UALAR_HH);
-            mm = CommonUtil.getSharedPreferencesInt(context, AlarmaActivity.KEY_UALAR_MM);
-        }
-        setArmmanager(context, year, month, day, hh, mm, isAlar);
+
+        //设置签到提醒
+        initArmmanager(context, isAlar);
+
     }
 
-    private void setArmmanager(Context context, int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minute, boolean isAlar) {
+    private void setArmmanager(Context context, Calendar calendar, boolean isAlar) {
         //操作:发送一个广播,广播接收后Toast提示定时操作完成
         Intent intent = new Intent(context, AlarmReceiver.class);
         String actionArg;
         if (isAlar)
-            actionArg = AlarmaActivity.KEY_UALAR_ACTION;
-        else
             actionArg = AlarmaActivity.KEY_ALAR_ACTION;
-
+        else
+            actionArg = AlarmaActivity.KEY_UALAR_ACTION;
         intent.setAction(actionArg);
-        CommonUtil.setSharedPreferences(context, "ALARMA_ACTION", actionArg);
-        AlarmManager alarm = (AlarmManager) context.getSystemService(context.ALARM_SERVICE);
+        AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
         Calendar c = Calendar.getInstance();
-        c.set(Calendar.YEAR, year);
-        c.set(Calendar.MONTH, monthOfYear - 1);
-        c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
-        c.set(Calendar.HOUR_OF_DAY, hourOfDay);
-        c.set(Calendar.MINUTE, minute);
-        c.set(Calendar.SECOND, 0);
-        c.set(Calendar.MILLISECOND, 0);
-        alarm.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), PendingIntent.getBroadcast(context, 0, intent, 0));
+        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);
     }
+
+    /**
+     * 设置下一次提醒
+     *
+     * @param context context
+     * @param isAlar  需要提醒为上班还是下班,如果前一次为上班提醒,则为下班,如果前一次为下班,则为下班
+     */
+    private void initArmmanager(Context context, boolean isAlar) {
+        //先判断两个(上下班)的提醒那个距离当前时间最近
+        //将上下班时间设置为今天时间
+        String dateTime = "";
+        if (isAlar) {//要设置上班提醒
+            dateTime = CommonUtil.getSharedPreferences(context, AlarmaActivity.KEY_ALAR_TIME);//获取上班时间
+        } else {
+            dateTime = CommonUtil.getSharedPreferences(context, AlarmaActivity.KEY_UALAR_TIME);//获取下班时间
+        }
+        int[] hm = getHourAndM(dateTime);
+        String time = getTimeFormat(hm[0], hm[1]);
+        long timeLong = TimeUtils.f_str_2_long(time);
+        Calendar c = Calendar.getInstance();
+        c.setTimeInMillis(timeLong);
+        setArmmanager(context, c, isAlar);
+    }
+
+    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);
+        Log.i("gongpengming", "time[0]=" + time[0] + "@@ time[1]=" + time[1]);
+        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;
+    }
+
+
 }

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

@@ -114,8 +114,8 @@ public class OutofficeFragment extends EasyFragment implements View.OnClickListe
         name_tv.setText(MyApplication.getInstance().mLoginUser.getNickName());
         com_tv.setText(CommonUtil.getSharedPreferences(ct, "erp_commpany"));
         long timeLong = System.currentTimeMillis();
-        date_tag.setText(TimeUtils.getWeek(timeLong)+":");//星期
-        out_date_tv.setText(TimeUtils.s_long_2_str(time));//日期
+        date_tag.setText(TimeUtils.getWeek(timeLong) + ":");//星期
+        out_date_tv.setText(TimeUtils.s_long_2_str(System.currentTimeMillis()));//日期
         out_time_tv.setText((mHour < 10 ? "0" : "") + mHour + ":" + (mMin < 10 ? "0" : "") + mMin);//时间点
         BdLocationHelper locationHelper = MyApplication.getInstance().getBdLocationHelper();
         double latitude = locationHelper.getLatitude();

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

@@ -81,11 +81,8 @@ public class SigninFragment extends EasyFragment {
     private final int thrad = 0x13;
     private static final double X = 22.540551;
     private static final double Y = 113.953345;
-
-
     private AlertDialog dateDialog;
     private SigninActivity ct;
-
     private int requcode = 0x11;
     private PoiInfo myPoInfo;
     private String baseUrl;

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

@@ -59,7 +59,7 @@
         android:layout_below="@+id/top_tag"
         android:background="@drawable/full_edit_bg"
         android:gravity="top"
-        android:hint="请填写备注"
+        android:hint="请填写备注(不能超过8个字)"
         android:inputType="textMultiLine"
         android:minHeight="150dp"
         android:padding="10dp"