Selaa lähdekoodia

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

Arison 9 vuotta sitten
vanhempi
commit
5b4d876fab

+ 1 - 1
WeiChat/build.gradle

@@ -4,7 +4,7 @@ apply plugin: 'com.getkeepsafe.dexcount'
 android {
 android {
     signingConfigs {
     signingConfigs {
         config {
         config {
-            storeFile file('C:/Users/Arison/Desktop/applicationsignname[20150409]')
+            storeFile file('D:/config/applicationsignname[20150409]')
             storePassword '13237658359'
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'
             keyPassword '13237658359'

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

@@ -49,10 +49,10 @@ public class AlarmReceiver extends BroadcastReceiver {
                     if (ListUtils.isEmpty(beans)) return;
                     if (ListUtils.isEmpty(beans)) return;
                     boolean isOK = false;
                     boolean isOK = false;
                     for (Signin e : beans) {
                     for (Signin e : beans) {
-                        if (time.compareTo(e.getUtime()) < 0 && time.compareTo(e.getUsigmin()) > 0) {
+                        if (time.compareTo(e.getUtime()) < 0 && time.compareTo(e.getUsigmin()) > 0) {//当前时间在该打卡范围
                             isOK = isSignined(e.getUsigmin(), e.getUtime(), array);
                             isOK = isSignined(e.getUsigmin(), e.getUtime(), array);
                             break;
                             break;
-                        } else if (time.compareTo(e.getDtime()) > 0 && time.compareTo(e.getDsigmin()) < 0) {
+                        } else if (time.compareTo(e.getDtime()) > 0 && time.compareTo(e.getDsigmin()) < 0) {//当前时间在该打卡范围
                             isOK = isSignined(e.getDsigmin(), e.getDtime(), array);
                             isOK = isSignined(e.getDsigmin(), e.getDtime(), array);
                             break;
                             break;
                         }
                         }
@@ -140,7 +140,8 @@ public class AlarmReceiver extends BroadcastReceiver {
         builder.setContentIntent(pendingIntent);
         builder.setContentIntent(pendingIntent);
         mNotificationManager.notify(1000, builder.build());
         mNotificationManager.notify(1000, builder.build());
         //设置签到提醒
         //设置签到提醒
-        initArmmanager(context);
+        if (CommonUtil.getSharedPreferencesBoolean(context, "ALARMA_CLICK", false))
+            initArmmanager(context);
     }
     }
 
 
     private int getMin(String chche) {
     private int getMin(String chche) {
@@ -162,21 +163,21 @@ public class AlarmReceiver extends BroadcastReceiver {
         //获取提前和往后提醒时间
         //获取提前和往后提醒时间
         int uTime = getMin(CommonUtil.getSharedPreferences(ct, AlarmaActivity.KEY_ALAR_TIME));
         int uTime = getMin(CommonUtil.getSharedPreferences(ct, AlarmaActivity.KEY_ALAR_TIME));
         int dTime = getMin(CommonUtil.getSharedPreferences(ct, AlarmaActivity.KEY_UALAR_TIME));
         int dTime = getMin(CommonUtil.getSharedPreferences(ct, AlarmaActivity.KEY_UALAR_TIME));
-        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 distcan = (10 * 60 * 1000);
+        long utime = (uTime * 60 * 1000);//与上班时间提前的时间
+        long dtime = (dTime * 60 * 1000);//与下班时间延后的时间
         long chche = 0;//时间毫秒数
         long chche = 0;//时间毫秒数
         boolean isOk = false;
         boolean isOk = false;
         long chchelong = -1;
         long chchelong = -1;
         for (Signin e : signins) {
         for (Signin e : signins) {
-            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;
             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;
-                }
+            if (chchelong == -1) {//把最早上班时间保存下来
+                chchelong = chche;
+            } else if (chchelong > chche) {
+                chchelong = chche;
+            }
+            //如果上班时间-提前时间小于当前时间   说明已经过期
+            if (newTime < (chche - distcan)) {
                 //符合提醒
                 //符合提醒
                 isOk = true;
                 isOk = true;
                 //TODO 提醒该时间
                 //TODO 提醒该时间
@@ -184,7 +185,7 @@ public class AlarmReceiver extends BroadcastReceiver {
                 break;
                 break;
             }
             }
             chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getDtime() + ":00") + dtime;
             chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getDtime() + ":00") + dtime;
-            if (newTime < chche) {
+            if (newTime < (chche - distcan)) {
                 //TODO 提醒该时间
                 //TODO 提醒该时间
                 isOk = true;
                 isOk = true;
                 setArmmanager(ct, chche);
                 setArmmanager(ct, chche);
@@ -201,6 +202,7 @@ public class AlarmReceiver extends BroadcastReceiver {
     }
     }
 
 
     private void setArmmanager(Context ct, long time) {
     private void setArmmanager(Context ct, long time) {
+        Log.i("gongpengming", TimeUtils.f_long_2_str(time));
         //操作:发送一个广播,广播接收后Toast提示定时操作完成
         //操作:发送一个广播,广播接收后Toast提示定时操作完成
         Intent intent = new Intent(ct, AlarmReceiver.class);
         Intent intent = new Intent(ct, AlarmReceiver.class);
         intent.setAction("ALARMA_ACTION");
         intent.setAction("ALARMA_ACTION");
@@ -209,5 +211,4 @@ public class AlarmReceiver extends BroadcastReceiver {
         calendar.setTimeInMillis(time);
         calendar.setTimeInMillis(time);
         alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), PendingIntent.getBroadcast(ct, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
         alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), PendingIntent.getBroadcast(ct, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
     }
     }
-
 }
 }

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

@@ -6,7 +6,9 @@ import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.support.v7.app.AlertDialog;
 import android.support.v7.app.AlertDialog;
+import android.util.Log;
 import android.view.View;
 import android.view.View;
+import android.widget.EditText;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.ViewUtils;
@@ -30,6 +32,10 @@ import java.util.regex.Pattern;
 public class AlarmaActivity extends BaseActivity implements View.OnClickListener {
 public class AlarmaActivity extends BaseActivity implements View.OnClickListener {
     @ViewInject(R.id.isalarma_sw)
     @ViewInject(R.id.isalarma_sw)
     private SwitchView isalarma_sw;
     private SwitchView isalarma_sw;
+    @ViewInject(R.id.editText)
+    private EditText editText;
+    @ViewInject(R.id.editText2)
+    private EditText editText2;
     @ViewInject(R.id.tv_alar)
     @ViewInject(R.id.tv_alar)
     private TextView tv_alar;//上班时间
     private TextView tv_alar;//上班时间
     @ViewInject(R.id.tv_ualar)
     @ViewInject(R.id.tv_ualar)
@@ -51,6 +57,10 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
     }
     }
 
 
     private void initView() {
     private void initView() {
+        //测试使用
+        editText.setVisibility(View.GONE);
+        editText2.setVisibility(View.GONE);
+
         //初始化界面显示时间
         //初始化界面显示时间
         tv_alar.setOnClickListener(this);
         tv_alar.setOnClickListener(this);
         tv_ualar.setOnClickListener(this);
         tv_ualar.setOnClickListener(this);
@@ -87,6 +97,7 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
             public void run() {
             public void run() {
                 if (isChecked) {
                 if (isChecked) {
                     unArmmanager();
                     unArmmanager();
+//                    tast();
                     initArmmanager();
                     initArmmanager();
                 } else {
                 } else {
                     unArmmanager();
                     unArmmanager();
@@ -95,6 +106,20 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         }).start();
         }).start();
     }
     }
 
 
+    private void tast() {
+        String hh = null, mm = null;
+        if (!StringUtils.isEmpty(editText.getText().toString()))
+            hh = editText.getText().toString();
+        if (!StringUtils.isEmpty(editText2.getText().toString()))
+            mm = editText2.getText().toString();
+        if (!StringUtils.isEmpty(hh) && !StringUtils.isEmpty(mm)) {
+            String time = TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + hh + ":" + mm + ":00";
+            int uTime = getMin(CommonUtil.getSharedPreferences(ct, KEY_ALAR_TIME));
+            setArmmanager(TimeUtils.f_str_2_long(time) - (uTime * 60 * 1000));
+        }
+
+    }
+
 
 
     //初始化提醒
     //初始化提醒
     private void initArmmanager() {
     private void initArmmanager() {
@@ -113,7 +138,9 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         for (Signin e : signins) {
         for (Signin e : signins) {
             //如果上班时间-提前时间小于当前时间   说明已经过期
             //如果上班时间-提前时间小于当前时间   说明已经过期
             chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getUtime() + ":00") - utime;
             chche = TimeUtils.f_str_2_long(TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + e.getUtime() + ":00") - utime;
-            if (chchelong != -1 && chchelong > chche) {//把最早上班时间保存下来
+            if (chchelong == -1) {//把最早上班时间保存下来
+                chchelong = chche;
+            } else if (chchelong > chche) {
                 chchelong = chche;
                 chchelong = chche;
             }
             }
             if (newTime < chche) {
             if (newTime < chche) {
@@ -139,6 +166,8 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
     }
     }
 
 
     private void setArmmanager(long time) {
     private void setArmmanager(long time) {
+        if (time <= 0) return;
+        Log.i("gongpengming", TimeUtils.f_long_2_str(time));
         //操作:发送一个广播,广播接收后Toast提示定时操作完成
         //操作:发送一个广播,广播接收后Toast提示定时操作完成
         Intent intent = new Intent(AlarmaActivity.this, AlarmReceiver.class);
         Intent intent = new Intent(AlarmaActivity.this, AlarmReceiver.class);
         intent.setAction("ALARMA_ACTION");
         intent.setAction("ALARMA_ACTION");

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

@@ -199,6 +199,7 @@ public class WorkLogsActivity extends BaseActivity {
         params.put("access_token", MyApplication.getInstance().mAccessToken);
         params.put("access_token", MyApplication.getInstance().mAccessToken);
         params.put("pageSize", "" + 10);
         params.put("pageSize", "" + 10);
         params.put("type", "0");
         params.put("type", "0");
+        params.put("flag", "1");
         StringJsonArrayRequest<PublicMessage> request = new StringJsonArrayRequest<PublicMessage>(
         StringJsonArrayRequest<PublicMessage> request = new StringJsonArrayRequest<PublicMessage>(
                 mConfig.MSG_LIST, new Response.ErrorListener() {
                 mConfig.MSG_LIST, new Response.ErrorListener() {
             @Override
             @Override

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

@@ -60,7 +60,21 @@ public class SigninAdapter extends RecyclerView.Adapter<SigninAdapter.ViewHoler>
         holder.time.setText(b.getStartTime() == null ? "" : b.getStartTime());
         holder.time.setText(b.getStartTime() == null ? "" : b.getStartTime());
         holder.time2.setText(b.getEndTime() == null ? "" : b.getEndTime());
         holder.time2.setText(b.getEndTime() == null ? "" : b.getEndTime());
         if (ListUtils.isEmpty(b.getSigninList()) && b.getSigninList().size() <= 0) {
         if (ListUtils.isEmpty(b.getSigninList()) && b.getSigninList().size() <= 0) {
-
+            if (time.compareTo(b.getStartTime()) < 0) {//当前时间小于打卡时间
+                holder.tag.setVisibility(View.GONE);
+            } else if (time.compareTo(getNext90(b.getStartTime(), true)) < 0 && time.compareTo(b.getStartTime()) > 0) {
+                holder.tag.setVisibility(View.VISIBLE);
+                holder.tag.setText("迟到");
+            } else {
+                holder.tag.setVisibility(View.VISIBLE);
+                holder.tag.setText("缺勤");
+            }
+            if (time.compareTo(b.getEndSignnin()) < 0) {//当前时间小于打卡时间
+                holder.tag2.setVisibility(View.GONE);
+            } else {
+                holder.tag2.setVisibility(View.VISIBLE);
+                holder.tag2.setText("缺勤");
+            }
         } else {
         } else {
             //处理签到时间
             //处理签到时间
             String start = "",
             String start = "",

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

@@ -158,8 +158,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
 
 
         }
         }
     };
     };
-
-
     //生命周期
     //生命周期
     @Override
     @Override
     public void onAttach(Context ct) {
     public void onAttach(Context ct) {

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

@@ -95,5 +95,21 @@
             android:textSize="@dimen/text_main" />
             android:textSize="@dimen/text_main" />
     </RelativeLayout>
     </RelativeLayout>
 
 
+    <EditText
+        android:id="@+id/editText"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:ems="10"
+        android:inputType="number" />
+
+    <EditText
+        android:id="@+id/editText2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:ems="10"
+        android:inputType="number" />
+
 
 
 </LinearLayout>
 </LinearLayout>

+ 1 - 1
WeiChat/src/main/res/values/dimens.xml

@@ -15,7 +15,7 @@
     <dimen name="line_big">7.0dip</dimen>
     <dimen name="line_big">7.0dip</dimen>
     <dimen name="line_min">2.0dip</dimen>
     <dimen name="line_min">2.0dip</dimen>
     <dimen name="next_height">10.0dip</dimen>
     <dimen name="next_height">10.0dip</dimen>
-    <dimen name="text_main">13.0sp</dimen>
+    <dimen name="text_main">17.0sp</dimen>
     <dimen name="text_hine">14.0sp</dimen>
     <dimen name="text_hine">14.0sp</dimen>
     <dimen name="text_min">12.0sp</dimen>
     <dimen name="text_min">12.0sp</dimen>
     <dimen name="item_height">60.0dip</dimen>
     <dimen name="item_height">60.0dip</dimen>