Browse Source

1、外勤人脸交付
2、外勤设置

RaoMeng 6 years ago
parent
commit
df4d552b26

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Wed May 22 19:29:50 CST 2019
+#Thu Jun 06 17:31:05 CST 2019
 debugName=972
 debugName=972
-versionName=680
+versionName=684
 debugCode=972
 debugCode=972
-versionCode=235
+versionCode=239

+ 1 - 1
app_core/common/src/main/res/layout/activity_setting.xml

@@ -266,8 +266,8 @@
                     android:id="@+id/tv_sign_new"
                     android:id="@+id/tv_sign_new"
                     android:layout_width="10dp"
                     android:layout_width="10dp"
                     android:layout_height="10dp"
                     android:layout_height="10dp"
-                    android:layout_alignParentRight="true"
                     android:layout_alignTop="@+id/tv_oa"
                     android:layout_alignTop="@+id/tv_oa"
+                    android:layout_alignParentRight="true"
                     android:layout_centerVertical="true"
                     android:layout_centerVertical="true"
                     android:layout_marginRight="10dp"
                     android:layout_marginRight="10dp"
                     android:background="@drawable/hongdian"
                     android:background="@drawable/hongdian"

+ 5 - 7
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/ApprovaPresenter.java

@@ -885,12 +885,11 @@ public class ApprovaPresenter implements OnHttpResultListener {
                         if (renderer.contains("字段需要设置为app显示")) {
                         if (renderer.contains("字段需要设置为app显示")) {
                             newValues = renderer;
                             newValues = renderer;
                         } else {
                         } else {
-                            newValues=renderer;
-                            //先不格式化
-//                            double val = MathUtil.eval(renderer);
-//                            if (val != Double.NEGATIVE_INFINITY && val != Double.POSITIVE_INFINITY) {
-//                                newValues = getDecimalFormat(val);
-//                            }
+                            newValues = renderer;
+                            double val = MathUtil.eval(renderer);
+                            if (val != Double.NEGATIVE_INFINITY && val != Double.POSITIVE_INFINITY) {
+                                newValues = getDecimalFormat(val);
+                            }
                         }
                         }
 
 
                     } catch (Exception e) {
                     } catch (Exception e) {
@@ -1034,7 +1033,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
                     return str + "字段需要设置为app显示";
                     return str + "字段需要设置为app显示";
                 } else {
                 } else {
                     renderer = renderer.replaceAll(str, val);
                     renderer = renderer.replaceAll(str, val);
-
                 }
                 }
             }
             }
         }
         }

+ 5 - 1
app_modular/apputils/src/main/java/com/modular/apputils/adapter/BillAdapter.java

@@ -372,7 +372,6 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
         @Override
         @Override
         public void initView(View view) {
         public void initView(View view) {
             mTabLayout = (TabLayout) view.findViewById(R.id.bill_tab_tl);
             mTabLayout = (TabLayout) view.findViewById(R.id.bill_tab_tl);
-            mTabLayout.setTabMode(TabLayout.MODE_FIXED);
             final List<BillGroupModel.GridTab> tabList = mShowBillModels.get(mTabIndex).getTabList();
             final List<BillGroupModel.GridTab> tabList = mShowBillModels.get(mTabIndex).getTabList();
             if (tabList != null && tabList.size() > 0) {
             if (tabList != null && tabList.size() > 0) {
                 for (int i = 0; i < tabList.size(); i++) {
                 for (int i = 0; i < tabList.size(); i++) {
@@ -382,6 +381,11 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
                     }
                     }
                 }
                 }
             }
             }
+            if (mTabLayout.getTabCount() > 4) {
+                mTabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
+            } else {
+                mTabLayout.setTabMode(TabLayout.MODE_FIXED);
+            }
         }
         }
 
 
     }
     }

+ 5 - 1
app_modular/apputils/src/main/java/com/modular/apputils/adapter/BillDetailsAdapter.java

@@ -420,7 +420,6 @@ public class BillDetailsAdapter extends RecyclerView.Adapter<BillDetailsAdapter.
         @Override
         @Override
         public void initView(View view) {
         public void initView(View view) {
             mTabLayout = (TabLayout) view.findViewById(R.id.bill_tab_tl);
             mTabLayout = (TabLayout) view.findViewById(R.id.bill_tab_tl);
-            mTabLayout.setTabMode(TabLayout.MODE_FIXED);
             final List<BillGroupModel.GridTab> tabList = mShowBillModels.get(mTabIndex).getTabList();
             final List<BillGroupModel.GridTab> tabList = mShowBillModels.get(mTabIndex).getTabList();
             if (tabList != null && tabList.size() > 0) {
             if (tabList != null && tabList.size() > 0) {
                 for (int i = 0; i < tabList.size(); i++) {
                 for (int i = 0; i < tabList.size(); i++) {
@@ -430,6 +429,11 @@ public class BillDetailsAdapter extends RecyclerView.Adapter<BillDetailsAdapter.
                     }
                     }
                 }
                 }
             }
             }
+            if (mTabLayout.getTabCount() > 4) {
+                mTabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
+            } else {
+                mTabLayout.setTabMode(TabLayout.MODE_FIXED);
+            }
         }
         }
 
 
     }
     }

+ 1 - 1
app_modular/apputils/src/main/res/layout/common_refresh_recycler.xml

@@ -6,7 +6,7 @@
     android:layout_height="match_parent"
     android:layout_height="match_parent"
     app:fectiveScroll="30dp">
     app:fectiveScroll="30dp">
 
 
-    <com.modular.apputils.widget.EmptyRecyclerView
+    <android.support.v7.widget.RecyclerView
         android:id="@+id/mRecyclerView"
         android:id="@+id/mRecyclerView"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
         android:layout_height="match_parent" />

+ 5 - 3
app_modular/apputils/src/main/res/layout/item_bill_tab.xml

@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="50dp"
     android:layout_height="50dp"
     android:orientation="vertical">
     android:orientation="vertical">
+
     <View
     <View
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="8dp"
         android:layout_height="8dp"
-        android:background="#f2f2f2"/>
+        android:background="#f2f2f2" />
+
     <android.support.design.widget.TabLayout
     <android.support.design.widget.TabLayout
         android:id="@+id/bill_tab_tl"
         android:id="@+id/bill_tab_tl"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
@@ -16,6 +17,7 @@
         android:background="@color/white"
         android:background="@color/white"
         app:tabIndicatorColor="#33A2EE"
         app:tabIndicatorColor="#33A2EE"
         app:tabIndicatorHeight="4dp"
         app:tabIndicatorHeight="4dp"
+        app:tabMode="scrollable"
         app:tabSelectedTextColor="#1084D1"
         app:tabSelectedTextColor="#1084D1"
         app:tabTextColor="#666666" />
         app:tabTextColor="#666666" />
 </LinearLayout>
 </LinearLayout>

+ 2 - 0
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/MissionSetActivity.java

@@ -104,6 +104,8 @@ public class MissionSetActivity extends SupportToolBarActivity implements View.O
         auto_sv.setClickable(adminStatus);
         auto_sv.setClickable(adminStatus);
         needprocess_sv.setFocusable(adminStatus);
         needprocess_sv.setFocusable(adminStatus);
         needprocess_sv.setClickable(adminStatus);
         needprocess_sv.setClickable(adminStatus);
+        mFaceSignSwitchView.setFocusable(adminStatus);
+        mFaceSignSwitchView.setClickable(adminStatus);
     }
     }
 
 
     private void initView() {
     private void initView() {

+ 31 - 1
app_modular/facesdk/src/main/java/com/baidu/aip/excep/activity/FaceManageActivity.java

@@ -16,6 +16,7 @@ import com.baidu.aip.excep.utils.FaceConfig;
 import com.common.LogUtil;
 import com.common.LogUtil;
 import com.common.data.JSONUtil;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.common.data.ListUtils;
+import com.core.app.MyApplication;
 import com.core.model.EmployeesEntity;
 import com.core.model.EmployeesEntity;
 import com.core.utils.CommonUtil;
 import com.core.utils.CommonUtil;
 import com.core.utils.ToastUtil;
 import com.core.utils.ToastUtil;
@@ -23,7 +24,10 @@ import com.core.widget.EmptyLayout;
 import com.core.widget.VoiceSearchView;
 import com.core.widget.VoiceSearchView;
 import com.core.widget.listener.EditChangeListener;
 import com.core.widget.listener.EditChangeListener;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
+import com.me.network.app.base.HttpCallback;
+import com.me.network.app.base.HttpParams;
 import com.me.network.app.http.HttpClient;
 import com.me.network.app.http.HttpClient;
+import com.me.network.app.http.HttpRequest;
 import com.me.network.app.http.Method;
 import com.me.network.app.http.Method;
 import com.me.network.app.http.rx.Result2Listener;
 import com.me.network.app.http.rx.Result2Listener;
 import com.me.network.app.http.rx.ResultSubscriber;
 import com.me.network.app.http.rx.ResultSubscriber;
@@ -185,11 +189,37 @@ public class FaceManageActivity extends BaseNetActivity {
             ToastUtil.showToast(ct, R.string.delete_succeed_notice1);
             ToastUtil.showToast(ct, R.string.delete_succeed_notice1);
             allDatas.remove(model);
             allDatas.remove(model);
             search(TextUtils.isEmpty(voiceSearchView.getText()) ? "" : voiceSearchView.getText().toString());
             search(TextUtils.isEmpty(voiceSearchView.getText()) ? "" : voiceSearchView.getText().toString());
+            faceDeleteErp(model);
         } else {
         } else {
             ToastUtil.showToast(ct, R.string.delete_failed);
             ToastUtil.showToast(ct, R.string.delete_failed);
         }
         }
     }
     }
 
 
+    /**
+     * 向erp删除人脸
+     */
+    private void faceDeleteErp(EmployeesEntity model) {
+        HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(this),
+                new HttpParams.Builder()
+                        .url("mobile/updateUploadPictureSign.action")
+                        .method(Method.POST)
+                        .addParam("master", CommonUtil.getMaster())
+                        .addParam("em_imid", model.getEm_IMID())
+                        .addParam("emcode", model.getEM_CODE())
+                        .addParam("em_uploadsign", 0)
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+
+                    }
+                });
+    }
+
     private void handlerUserList(final JSONArray userListArray) throws Exception {
     private void handlerUserList(final JSONArray userListArray) throws Exception {
         if (ListUtils.isEmpty(userListArray)) {
         if (ListUtils.isEmpty(userListArray)) {
             mEmptyLayout.showEmpty();
             mEmptyLayout.showEmpty();
@@ -221,7 +251,7 @@ public class FaceManageActivity extends BaseNetActivity {
                                 notHasUser.add(userId);
                                 notHasUser.add(userId);
                             }
                             }
                         }
                         }
-                        LogUtil.i("gong","notHasUser="+JSON.toJSONString(notHasUser));
+                        LogUtil.i("gong", "notHasUser=" + JSON.toJSONString(notHasUser));
                         if (ListUtils.isEmpty(hasFaceModels)) {
                         if (ListUtils.isEmpty(hasFaceModels)) {
                             ToastUtil.showToast(ct, R.string.not_load_ok_fefresh);
                             ToastUtil.showToast(ct, R.string.not_load_ok_fefresh);
                         } else {
                         } else {

+ 78 - 8
app_modular/facesdk/src/main/java/com/baidu/aip/excep/activity/RealTimeDetectFaceActivty.java

@@ -3,6 +3,7 @@ package com.baidu.aip.excep.activity;
 import android.content.Intent;
 import android.content.Intent;
 import android.os.Looper;
 import android.os.Looper;
 import android.text.TextUtils;
 import android.text.TextUtils;
+import android.util.Log;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
@@ -16,14 +17,17 @@ import com.core.app.Constants;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
 import com.core.model.User;
 import com.core.model.User;
 import com.core.utils.CommonUtil;
 import com.core.utils.CommonUtil;
+import com.me.network.app.base.HttpCallback;
+import com.me.network.app.base.HttpParams;
 import com.me.network.app.http.HttpClient;
 import com.me.network.app.http.HttpClient;
+import com.me.network.app.http.HttpRequest;
 import com.me.network.app.http.Method;
 import com.me.network.app.http.Method;
 import com.me.network.app.http.rx.Result2Listener;
 import com.me.network.app.http.rx.Result2Listener;
 import com.me.network.app.http.rx.ResultSubscriber;
 import com.me.network.app.http.rx.ResultSubscriber;
 import com.modular.apputils.widget.VeriftyDialog;
 import com.modular.apputils.widget.VeriftyDialog;
 
 
 public class RealTimeDetectFaceActivty extends DetectLoginActivity {
 public class RealTimeDetectFaceActivty extends DetectLoginActivity {
-    private final int MAX_DETECT_COUNT = 2;
+    private final int MAX_DETECT_COUNT = 1;
 
 
 
 
     @Override
     @Override
@@ -38,7 +42,7 @@ public class RealTimeDetectFaceActivty extends DetectLoginActivity {
         runOnUiThread(new Runnable() {
         runOnUiThread(new Runnable() {
             @Override
             @Override
             public void run() {
             public void run() {
-                verify(faceBase64, master, imid);
+                verify(faceBase64, master, imid, true);
             }
             }
         });
         });
     }
     }
@@ -103,9 +107,12 @@ public class RealTimeDetectFaceActivty extends DetectLoginActivity {
      * @param faceBase64    脸部信息
      * @param faceBase64    脸部信息
      * @param group_id_list 组Id
      * @param group_id_list 组Id
      * @param user_id       用户Id
      * @param user_id       用户Id
+     * @param isFirst       是否是第一次验证,如果是第一次,验证失败的话重新验证
      */
      */
-    private void verify(final String faceBase64, final String group_id_list, final String user_id) {
-        showProgress();
+    private void verify(final String faceBase64, final String group_id_list, final String user_id, final boolean isFirst) {
+        if (isFirst) {
+            showProgress();
+        }
         LogUtil.i("gong", "isMain" + (Looper.getMainLooper() == Looper.myLooper()));
         LogUtil.i("gong", "isMain" + (Looper.getMainLooper() == Looper.myLooper()));
         mUploading = true;
         mUploading = true;
         FaceConfig.loadToken(new FaceConfig.FaceTokenListener() {
         FaceConfig.loadToken(new FaceConfig.FaceTokenListener() {
@@ -126,7 +133,7 @@ public class RealTimeDetectFaceActivty extends DetectLoginActivity {
                     @Override
                     @Override
                     public void onResponse(Object o) {
                     public void onResponse(Object o) {
                         try {
                         try {
-                            handleDetectResult(o.toString(), faceBase64, group_id_list, user_id);
+                            handleDetectResult(o.toString(), faceBase64, group_id_list, user_id, isFirst);
                         } catch (Exception e) {
                         } catch (Exception e) {
                             e.printStackTrace();
                             e.printStackTrace();
                         }
                         }
@@ -171,6 +178,7 @@ public class RealTimeDetectFaceActivty extends DetectLoginActivity {
                             JSONObject object = JSON.parseObject(o.toString());
                             JSONObject object = JSON.parseObject(o.toString());
                             String error_msg = JSONUtil.getText(object, "error_msg");
                             String error_msg = JSONUtil.getText(object, "error_msg");
                             if (TextUtils.isEmpty(error_msg) || error_msg.equals("SUCCESS")) {
                             if (TextUtils.isEmpty(error_msg) || error_msg.equals("SUCCESS")) {
+                                faceRegisterErp();
                                 okAndEnd(faceBase64);
                                 okAndEnd(faceBase64);
                             } else {
                             } else {
                                 showErrorDialog(error_msg);
                                 showErrorDialog(error_msg);
@@ -192,13 +200,39 @@ public class RealTimeDetectFaceActivty extends DetectLoginActivity {
         });
         });
     }
     }
 
 
+    /**
+     * 向erp注册人脸
+     */
+    private void faceRegisterErp() {
+        HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(this),
+                new HttpParams.Builder()
+                        .url("mobile/updateUploadPictureSign.action")
+                        .method(Method.POST)
+                        .addParam("master", CommonUtil.getMaster())
+                        .addParam("em_imid", MyApplication.getInstance().mLoginUser.getUserId())
+                        .addParam("emcode", CommonUtil.getEmcode())
+                        .addParam("em_uploadsign", 1)
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+
+                    }
+                });
+    }
+
     /**
     /**
      * 处理人脸扫描
      * 处理人脸扫描
      *
      *
      * @param messgae
      * @param messgae
-     * @throws Exception
+     * @param isFirst
+     * @throws
      */
      */
-    private void handleDetectResult(String messgae, String faceBase64, final String group_id_list, final String user_id) throws Exception {
+    private void handleDetectResult(String messgae, final String faceBase64, final String group_id_list, final String user_id, boolean isFirst) throws Exception {
         LogUtil.i("gong", "onResponse=" + messgae);
         LogUtil.i("gong", "onResponse=" + messgae);
         JSONObject object = JSON.parseObject(messgae);
         JSONObject object = JSON.parseObject(messgae);
         String error_msg = JSONUtil.getText(object, "error_msg");
         String error_msg = JSONUtil.getText(object, "error_msg");
@@ -231,7 +265,43 @@ public class RealTimeDetectFaceActivty extends DetectLoginActivity {
                 }
                 }
             }
             }
         } else if (222207 == error_code) {
         } else if (222207 == error_code) {
-            showRegisterDialog(faceBase64, group_id_list, user_id);
+//            if (isFirst) {
+//                verify(faceBase64, group_id_list, user_id, false);
+//            } else {
+//                Log.e("facesignresult","222207");
+            HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(this),
+                    new HttpParams.Builder()
+                            .url("mobile/getUploadPictureSign.action")
+                            .method(Method.POST)
+                            .addParam("master", CommonUtil.getMaster())
+                            .addParam("em_imid", MyApplication.getInstance().mLoginUser.getUserId())
+                            .addParam("emcode", CommonUtil.getEmcode())
+                            .build(), new HttpCallback() {
+                        @Override
+                        public void onSuccess(int flag, Object o) throws Exception {
+                            dismissProgress();
+                            try {
+                                String result = o.toString();
+                                JSONObject resultObject = JSON.parseObject(result);
+                                int uploadsign = JSONUtil.getInt(resultObject, "em_uploadsign");
+                                if (uploadsign == 1) {
+                                    detectError();
+                                } else {
+                                    showRegisterDialog(faceBase64, group_id_list, user_id);
+                                }
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                                detectError();
+                            }
+                        }
+
+                        @Override
+                        public void onFail(int flag, String failStr) throws Exception {
+                            dismissProgress();
+                            detectError();
+                        }
+                    });
+//            }
         } else {
         } else {
             detectError();
             detectError();
         }
         }

+ 1 - 1
gradle/wrapper/gradle-wrapper.properties

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip