Jelajahi Sumber

编写dbfind逻辑代码

Bitliker 8 tahun lalu
induk
melakukan
bcc1578ca5

+ 4 - 0
app_core/common/src/main/java/com/core/api/wxapi/ApiPlatform.java

@@ -83,4 +83,8 @@ public class ApiPlatform extends ApiBase implements ApiModel {
         super.list_workOvertime = mBaseUrl + "mobile/workOvertime/getWorkOvertime";
         super.list_feePlease = mBaseUrl + "mobile/feePlease/getFeePlease";
     }
+
+    public String getmBaseUrl() {
+        return mBaseUrl;
+    }
 }

+ 28 - 2
app_core/common/src/main/java/com/core/model/Approval.java

@@ -38,10 +38,12 @@ public class Approval {
     private String idKey;
     private String caller;
     private String dfType;//返回的字段类型
+    private String dbFind;//是否dbfind的判断
     private String caption = "";//字幕,表示备注
     private String values = "";//字幕对应的值显示
     private String oldValues = "";//变更前的值
     private String valuesKey = "";//字幕对应的值显示的key值
+    private String valuesMtKey = "";//合并字段被合并的值的key记录
     private List<Data> datas = new ArrayList<>();
 
     public Approval(@Duration int type) {
@@ -59,6 +61,22 @@ public class Approval {
         this.oldValues = oldValues;
     }
 
+    public String getValuesMtKey() {
+        return valuesMtKey;
+    }
+
+    public void setValuesMtKey(String valuesMtKey) {
+        this.valuesMtKey = valuesMtKey;
+    }
+
+    public String getDbFind() {
+        return dbFind==null?"":dbFind;
+    }
+
+    public void setDbFind(String dbFind) {
+        this.dbFind = dbFind;
+    }
+
     public boolean isNeerInput() {
         return neerInput;
     }
@@ -189,7 +207,7 @@ public class Approval {
             return 2;
         } else if (isDftypeEQ("C", "YN", "B")) {
             return 3;
-        } else if (isDftypeEQ("dbfind")) {
+        } else if (isDBFind()) {
             return 4;
         }
         return 0;
@@ -237,9 +255,17 @@ public class Approval {
     }
 
     public boolean isDftypeEQ(String... str) {
+        return isEQ(getDfType(),str);
+    }
+
+    public boolean isDBFind() {
+        return isEQ(getDbFind(),"T","AT","M","DF");
+    }
+
+    public boolean isEQ(String key, String... str) {
         if (str != null && str.length > 0) {
             for (String s : str) {
-                if (getDfType().equals(s))
+                if (key.equals(s))
                     return true;
             }
         }

+ 20 - 9
app_modular/appcontact/src/main/java/com/uas/appcontact/manager/ContactsManager.java

@@ -8,11 +8,13 @@ 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.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;
@@ -47,9 +49,7 @@ import java.util.Map;
  * Created by Bitliker on 2017/8/30.
  */
 public class ContactsManager {
-    private final int LOAD_COMPANY_WHAT = 1;
     private static ContactsManager instance;
-
     public static ContactsManager getInstance() {
         if (instance == null) {
             synchronized (ContactsManager.class) {
@@ -93,11 +93,24 @@ public class ContactsManager {
     /*获取网络企业架构数据*/
     public void loadContactByNet(final OnEmployListener listener) {
         String master = CommonUtil.getMaster();
-        final boolean isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
-        String url = isB2b ? ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getUsersInfo
-                : CommonUtil.getAppBaseUrl(MyApplication.getInstance()) + "mobile/getAllHrorgEmps.action";
-        HttpClient httpClient = new HttpClient.Builder().isDebug(true).build();
-        LogUtil.i("发送请求");
+        ApiModel apiModel = ApiUtils.getApiModel();
+        final boolean isB2b = apiModel instanceof ApiPlatform;
+        String baseUrl = null;
+        if (isB2b) {
+            baseUrl = ((ApiPlatform) apiModel).getmBaseUrl();
+        } else {
+            baseUrl = CommonUtil.getAppBaseUrl(MyApplication.getInstance());
+        }
+        String url = isB2b ? "mobile/approvalflow/getUsersInfo" : "mobile/getAllHrorgEmps.action";
+        String sessionId = CommonUtil.getSharedPreferences(BaseConfig.getContext(), "sessionId");
+        HttpClient httpClient = new HttpClient.Builder(baseUrl)
+                .header("Cookie", "JSESSIONID=" + sessionId)
+                .add("master", CommonUtil.getMaster())
+                .add("sessionUser", CommonUtil.getEmcode())
+                .add("sessionId", sessionId)
+                .connectTimeout(5000)
+                .readTimeout(5000)
+                .isDebug(true).build();
         httpClient.Api().send(new HttpClient.Builder()
                 .url(url)
                 .add("master", master)
@@ -107,8 +120,6 @@ public class ContactsManager {
             @Override
             public void onResponse(Object o) {
                 try {
-                    LogUtil.i("请求结果=");
-                    LogUtil.i("请求结果=" + o.toString());
                     handEmployees(isB2b, JSON.parseObject(o.toString()), listener);
                 } catch (Exception e) {
                     listener.callback(null);

+ 10 - 4
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/ApprovalActivity.java

@@ -6,6 +6,7 @@ import android.support.annotation.NonNull;
 import android.support.v7.widget.DefaultItemAnimator;
 import android.support.v7.widget.RecyclerView;
 import android.text.Editable;
+import android.util.Log;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -21,8 +22,11 @@ import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.afollestad.materialdialogs.MaterialDialog;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.andreabaccega.widget.FormEditText;
+import com.common.LogUtil;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.common.preferences.PreferenceUtils;
@@ -151,15 +155,17 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, Appro
             mPresenter.initLoad();
         } else if (90 == requestCode && 90 == resultCode) {
             String json = data.getStringExtra("data");
+            Log.i("gongpengming","json="+json);
             if (!StringUtil.isEmpty(json)) {
-                Map<String, String> dbFindData = new HashMap<>();
+                JSONObject object = JSON.parseObject(json);
                 if (mAdapter != null) {
                     List<Approval> models = mAdapter.getApprovals();
                     for (Approval e : models) {
                         if (e.isMustInput() && (e.getType() == Approval.MAIN || e.getType() == Approval.DETAIL)) {
-                            for (Map.Entry<String, String> map : dbFindData.entrySet()) {
-                                if (map.getKey().equals(e.getValuesKey())) {
-                                    e.setValues(map.getValue());
+                            for (Map.Entry<String, Object> map : object.entrySet()) {
+                                if (map.getKey().equals(e.getValuesKey())&&map.getValue()!=null) {
+                                    Log.i("gongpengming","map.getKey()="+map.getKey());
+                                    e.setValues(map.getValue().toString());
                                 }
                             }
                         }

+ 3 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/ApprovaPresenter.java

@@ -841,7 +841,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
             String valueKey = JSONUtil.getText(config, "FD_FIELD", "DG_FIELD");
             JSONArray combostore = JSONUtil.getJSONArray(config, "COMBOSTORE");
             String type = JSONUtil.getText(config, "FD_TYPE", "DG_TYPE");
+            String dbFind = JSONUtil.getText(config, "FD_DBFIND", "DG_TYPE");
             //添加类型
+            approval.setDbFind(dbFind);
             approval.setDfType(type);
             approval.setCaption(caption);
             approval.setValuesKey(valueKey);
@@ -944,6 +946,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
             }
             if (mergeAble) {
                 String valueTagKey = JSONUtil.getText(config, "FD_LOGICTYPE", "DG_LOGICTYPE");//获取第二个值的key
+                approval.setValuesMtKey(valueTagKey);
                 if (!StringUtil.isEmpty(valueTagKey)) {
                     String valueTag = JSONUtil.getText(data, valueTagKey);
                     if (!StringUtil.isEmpty(valueTag)) {

+ 2 - 1
app_modular/apputils/src/main/AndroidManifest.xml

@@ -6,7 +6,8 @@
         android:label="@string/app_name"
         android:supportsRtl="true">
         <activity android:name=".activity.SingleImagePreviewActivity"></activity>
-
+        <activity android:name=".activity.SelectNetAcitivty"
+            android:label="搜索字段"/>
 
 
         <!-- alipay sdk begin -->

File diff ditekan karena terlalu besar
+ 14 - 2
app_modular/apputils/src/main/java/com/modular/apputils/activity/SelectNetAcitivty.java


+ 10 - 4
app_modular/apputils/src/main/res/layout/acitivty_net_select.xml

@@ -2,16 +2,22 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:focusableInTouchMode="true"
     android:orientation="vertical">
 
     <com.core.widget.VoiceSearchView
         android:id="@+id/voiceSearchView"
         android:layout_width="match_parent"
+        android:focusableInTouchMode="false"
         android:layout_height="48dp" />
 
-    <android.support.v7.widget.RecyclerView
-        android:id="@+id/recyclerView"
+    <com.handmark.pulltorefresh.library.PullToRefreshListView
+        android:id="@+id/refreshListView"
+        style="@style/ListViewBasic"
         android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
+        android:layout_height="match_parent"
+        android:divider="@color/item_line"
+        android:dividerHeight="@dimen/line"
+        android:scrollbars="none"
+        android:scrollingCache="false" />
 </LinearLayout>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini