Browse Source

Merge branch 'feature_bitliker' of https://gitlab.com/Arisono/SkWeiChat-Baidu into feature

# Conflicts:
#	WeiChat/build.gradle
#	WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java
#	WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java
#	app_modular/faceplatform-ui/src/main/java/com/baidu/idl/face/platform/ui/FaceVeriftyActivity.java
Bitliker 7 years ago
parent
commit
4949ba38ce

+ 1 - 2
app_modular/appcontact/build.gradle

@@ -22,6 +22,5 @@ dependencies {
     compile fileTree(include: ['*.jar'], dir: 'libs')
     testCompile deps.junit
     compile deps.appcompatV7
-    compile project(':common')
-    compile project(':network')
+    compile project(path: ':apputils')
 }

+ 1 - 1
app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/ContactsFragment.java

@@ -41,10 +41,10 @@ import com.core.utils.sortlist.SideBar;
 import com.core.widget.CustomProgressDialog;
 import com.core.widget.VoiceSearchView;
 import com.core.widget.listener.EditChangeListener;
+import com.modular.apputils.manager.ContactsManager;
 import com.uas.appcontact.R;
 import com.uas.appcontact.adapter.FriendSortAdapter;
 import com.uas.appcontact.listener.ImStatusListener;
-import com.uas.appcontact.manager.ContactsManager;
 import com.uas.appcontact.ui.activity.CommonFragmentActivity;
 import com.uas.appcontact.ui.activity.CompanyContactsActivity;
 import com.uas.appcontact.ui.activity.ContactsActivity;

+ 1 - 9
app_modular/appcontact/src/main/java/com/uas/appcontact/manager/ContactsManager.java → app_modular/apputils/src/main/java/com/modular/apputils/manager/ContactsManager.java

@@ -1,35 +1,27 @@
-package com.uas.appcontact.manager;
+package com.modular.apputils.manager;
 
 
-import android.os.Bundle;
 import android.os.Looper;
 import android.text.TextUtils;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.common.LogUtil;
 import com.common.config.BaseConfig;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
-import com.common.data.TextUtil;
 import com.common.thread.ThreadUtil;
-import com.core.api.wxapi.ApiConfig;
 import com.core.api.wxapi.ApiModel;
 import com.core.api.wxapi.ApiPlatform;
 import com.core.api.wxapi.ApiUtils;
-import com.core.app.Constants;
 import com.core.app.MyApplication;
 import com.core.dao.DBManager;
 import com.core.model.EmployeesEntity;
 import com.core.model.Friend;
 import com.core.model.HrorgsEntity;
 import com.core.net.http.http.OAHttpHelper;
-import com.core.net.http.http.OnHttpResultListener;
-import com.core.net.http.http.Request;
 import com.core.utils.CommonUtil;
-import com.core.utils.ToastUtil;
 import com.me.network.app.http.HttpClient;
 import com.me.network.app.http.Method;
 import com.me.network.app.http.rx.ResultListener;

BIN
app_modular/apputils/src/main/res/drawable-hdpi/ic_menu_delete.png


BIN
app_modular/apputils/src/main/res/drawable-xhdpi/ic_menu_delete.png


BIN
app_modular/apputils/src/main/res/drawable-xxhdpi/ic_menu_delete.png


+ 20 - 0
app_modular/apputils/src/main/res/menu/meun_data_from.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <item
+        android:id="@+id/deleteIt"
+        android:icon="@drawable/ic_menu_delete"
+        android:title="@string/delete"
+        app:showAsAction="always" />
+    <item
+        android:id="@+id/oa_signin_set"
+        android:title="编辑模板"
+        app:showAsAction="always" />
+    <item
+        android:id="@+id/oa_leave"
+        android:icon="@drawable/xlist"
+        android:title="查看列表"
+        app:showAsAction="always" />
+
+</menu>

+ 71 - 11
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/DataFormDetailActivity.java

@@ -24,6 +24,7 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -95,6 +96,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
     private DataAdapter mAdapter;
 
     private final int load_success = 2;
+    private final int DELETE_DOC_REQUEST = 43;
     //    private ArrayList<Data> datas = new ArrayList<Data>();
     private ArrayList<GroupData> mDatas = new ArrayList<>();//适配器装载数据
     private ArrayList<GroupData> mDatasNet = new ArrayList<>();//网络数据
@@ -129,6 +131,12 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             String result = msg.getData().getString("result");
             progressDialog.dismiss();
             switch (msg.what) {
+                case DELETE_DOC_REQUEST:
+                    ToastUtil.showToast(ct, R.string.delete_all_succ);
+                    formid = 0;
+                    supportInvalidateOptionsMenu();
+                    loadData(formid);
+                    break;
                 case load_success:
                     if (!ListUtils.isEmpty(mDatas)) mDatas.clear();
                     if (!ListUtils.isEmpty(mDatasNet)) mDatasNet.clear();
@@ -186,7 +194,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                 if (TextUtils.isEmpty(data.getValue()) && !TextUtils.isEmpty(fd_defaultvalue)) {
                                     data.setValue(fd_defaultvalue);
                                 }
-                                String type=items.getString("fd_type");
+                                String type = items.getString("fd_type");
                                 if (!TextUtils.isEmpty(type) && type.equals("D")) {
                                     data.setValue(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss"));
                                 }
@@ -560,12 +568,23 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     }
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    LogUtil.i("gong","result="+result);
                     btn_update.setEnabled(true);
                     click_btn.setEnabled(true);
-                    if (JSONUtil.validate(result)) {
-                        ToastMessage(JSON.parseObject(result).getString("exceptionInfo"));
-                    } else {
-                        ToastMessage(result);
+                    if (!TextUtils.isEmpty(result)){
+                        if (JSONUtil.validate(result)) {
+                            ToastMessage(JSON.parseObject(result).getString("exceptionInfo"));
+
+                        } else {
+                            ToastMessage(result);
+                        }
+                        if (!result.contains("时间段有重复")){
+                            Toast.makeText(ct,result,Toast.LENGTH_SHORT).show();
+                            //TODO 错误时候向列表走
+                            toDataFormList();
+                            FormListSelectActivity.reload = true;
+                            finish();
+                        }
                     }
                     break;
 
@@ -742,7 +761,19 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_signin_set, menu);
+        getMenuInflater().inflate(R.menu.meun_data_from, menu);
+        try {
+            MenuItem deleteIt = menu.getItem(0);
+            if (deleteIt != null && deleteIt.getItemId() == R.id.deleteIt) {
+                if (formid > 0) {
+                    deleteIt.setVisible(true);
+                } else {
+                    deleteIt.setVisible(false);
+                }
+            }
+        } catch (Exception e) {
+
+        }
         return super.onCreateOptionsMenu(menu);
     }
 
@@ -759,7 +790,6 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         fields.add(group.getDatas().get(j));
                     }
                 }
-
             }
             for (int i = 0; i < mDatas.size(); i++) {
                 GroupData group = mDatas.get(i);
@@ -776,14 +806,13 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                             .putExtra("caller", caller),
                     0x25);
         } else if (item.getItemId() == R.id.oa_leave) {
-            startActivity(new Intent(mContext, FormListSelectActivity.class)
-                    .putExtra("caller", caller)
-                    .putExtra("statusKey", statusKey)//传状态key
-                    .putExtra("title", getToolBarTitle().toString()));
+            toDataFormList();
             if (formid != 0) {
                 FormListSelectActivity.reload = true;
                 finish();
             }
+        } else if (R.id.deleteIt == item.getItemId()) {
+            deleteDataForm(caller, formid);
         } else if (item.getItemId() == android.R.id.home) {
             if ("在录入".equals(status)) {
                 FormListSelectActivity.reload = false;
@@ -794,6 +823,14 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         return super.onOptionsItemSelected(item);
     }
 
+    private void toDataFormList() {
+        startActivity(new Intent(mContext, FormListSelectActivity.class)
+                .putExtra("caller", caller)
+                .putExtra("statusKey", statusKey)//传状态key
+                .putExtra("title", getToolBarTitle().toString()));
+
+    }
+
     private void loadData(int id) {
         progressDialog.show();
         if (!CommonUtil.isNetWorkConnected(mContext)) {
@@ -2521,6 +2558,29 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         ViewUtil.httpSendRequest(ct, url, param, mHandler, headers, 0x16, null, null, "post");
     }
 
+    /**
+     * 新加接口,删除
+     *
+     * @param mCaller
+     * @param mkeyValue
+     */
+    private void deleteDataForm(String mCaller, int mkeyValue) {
+        progressDialog.show();
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("caller", mCaller);
+        params.put("id", mkeyValue);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        String url = "";
+        if ("ExtraWork$".equals(mCaller)) {
+            url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "/hr/attendance/deleteExtraWork.action";
+            ViewUtil.httpSendRequest(this, url, params, mHandler, headers, DELETE_DOC_REQUEST, null, null, "post");
+        } else {
+            url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "/mobile/commondelete.action";
+            ViewUtil.httpSendRequest(this, url, params, mHandler, headers, DELETE_DOC_REQUEST, null, null, "get");
+        }
+    }
+
     private void sendToSelect(String noid, JSONArray data) {
         this.noid = noid;
         ArrayList<SelectBean> beans = new ArrayList<>();

+ 112 - 0
app_modular/faceplatform-ui/src/main/java/com/baidu/idl/face/platform/ui/activity/FaceListActivity.java

@@ -0,0 +1,112 @@
+package com.baidu.idl.face.platform.ui.activity;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baidu.idl.face.platform.ui.config.FaceConfig;
+import com.common.LogUtil;
+import com.common.data.JSONUtil;
+import com.common.data.ListUtils;
+import com.common.data.StringUtil;
+import com.core.model.EmployeesEntity;
+import com.core.utils.CommonUtil;
+import com.me.network.app.http.HttpClient;
+import com.me.network.app.http.Method;
+import com.me.network.app.http.rx.Result2Listener;
+import com.me.network.app.http.rx.ResultSubscriber;
+import com.modular.apputils.activity.BaseNetActivity;
+import com.modular.apputils.manager.ContactsManager;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 当前账套保存的人脸列表
+ */
+public class FaceListActivity extends BaseNetActivity implements ContactsManager.OnEmployListener {
+    private Map<String, Integer> faceIdList;
+
+
+    @Override
+    protected String getBaseUrl() {
+        return "https://aip.baidubce.com/";
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return 0;
+    }
+
+    @Override
+    protected void init() throws Exception {
+        initData();
+    }
+
+
+    private void initData() {
+        loadFaceList();
+    }
+
+    private void loadFaceList() {
+        showProgress();
+        FaceConfig.loadToken(new FaceConfig.FaceTokenListener() {
+            @Override
+            public void callBack(String accessToken) {
+                LogUtil.i("gong", "accessToken=" + accessToken);
+                httpClient.Api().send(new HttpClient.Builder()
+                        .url("rest/2.0/face/v3/faceset/group/getusers")
+                        .add("access_token", accessToken)
+                        .header("Content-Type", "application/json")
+                        .add("length", 1000)
+                        .add("group_id", CommonUtil.getEnuu(ct))
+                        .isDebug(true)
+                        .method(Method.GET).build(), new ResultSubscriber<>(new Result2Listener<Object>() {
+                    @Override
+                    public void onResponse(Object o) {
+                        try {
+                            JSONObject jsonObject = JSON.parseObject(o.toString());
+                            JSONObject result = JSONUtil.getJSONObject(jsonObject, "result");
+                            if (JSONUtil.getText(jsonObject,"error_msg").equals("SUCCESS") || !result.isEmpty()) {
+                                JSONArray user_id_list = JSONUtil.getJSONArray(result, "user_id_list");
+                                if (!ListUtils.isEmpty(user_id_list)) {
+                                    if (faceIdList == null) {
+                                        faceIdList = new HashMap<>();
+                                    } else {
+                                        faceIdList.clear();
+                                    }
+                                    for (int i = 0; i < user_id_list.size(); i++) {
+                                        if (!StringUtil.isEmpty(user_id_list.getString(i))) {
+                                            faceIdList.put(user_id_list.getString(i), 1);
+                                        }
+                                    }
+                                }
+                            }
+                        } catch (Exception e) {
+                        }
+                        ContactsManager.getInstance().loadContact(FaceListActivity.this);
+                        dismissProgress();
+                    }
+
+                    @Override
+                    public void onFailure(Object t) {
+                        dismissProgress();
+                        LogUtil.i("gong", "verify onFailure=" + t.toString());
+                    }
+                }));
+            }
+        });
+    }
+
+    @Override
+    public void callback(List<EmployeesEntity> employees) {
+        Iterator<EmployeesEntity> iterator = employees.iterator();
+        while (iterator.hasNext()) {
+            EmployeesEntity e = iterator.next();
+            if (!faceIdList.containsKey(e.getEm_IMID())) {
+                iterator.remove();
+            }
+        }
+    }
+}