|
|
@@ -2,6 +2,7 @@ package com.xzjmyk.pm.activity.ui.erp.fragment;
|
|
|
|
|
|
import android.content.Intent;
|
|
|
import android.content.res.Resources;
|
|
|
+import android.util.Log;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.Menu;
|
|
|
import android.view.MenuInflater;
|
|
|
@@ -13,6 +14,7 @@ import android.widget.TextView;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.common.config.BaseConfig;
|
|
|
import com.common.data.JSONUtil;
|
|
|
import com.common.data.ListUtils;
|
|
|
import com.core.api.wxapi.ApiPlatform;
|
|
|
@@ -112,10 +114,10 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
@Override
|
|
|
protected void initDatas() {
|
|
|
getLocalMenu();
|
|
|
- if (isFirstLoad) {
|
|
|
- loadOrdersCaller();
|
|
|
- }
|
|
|
-// obtainCityIndustryService();
|
|
|
+// if (isFirstLoad) {
|
|
|
+ loadOrdersCaller();
|
|
|
+// }
|
|
|
+ obtainCityIndustryService();
|
|
|
}
|
|
|
|
|
|
private void getLocalMenu() {
|
|
|
@@ -153,14 +155,15 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
private void obtainCityIndustryService() {
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
params.put("kind", "app");
|
|
|
- params.put("Cookie", "JSESSIONID=" + com.core.utils.CommonUtil.getSharedPreferences(mContext, "sessionId"));
|
|
|
+ params.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
|
|
|
|
|
|
LinkedHashMap<String, Object> header = new LinkedHashMap<>();
|
|
|
- header.put("Cookie", "JSESSIONID=" + com.core.utils.CommonUtil.getSharedPreferences(mContext, "sessionId"));
|
|
|
+ header.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
|
|
|
|
|
|
HttpParams request = new HttpParams.Builder()
|
|
|
.flag(OBTAIN_APP_CITY_INDUSTRY_SERVICE)
|
|
|
- .url("api/serve/mainPage/getServices.action")
|
|
|
+// .url("api/serve/mainPage/getServices.action")
|
|
|
+ .url("mobile/common/getServices.action")
|
|
|
.setHeaders(header)
|
|
|
.setParams(params)
|
|
|
.method(Method.GET)
|
|
|
@@ -196,7 +199,8 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
String url = "mobile/oa/getoaconifg.action";
|
|
|
HttpParams request = new HttpParams.Builder()
|
|
|
.url(url)
|
|
|
- .setParams(new HashMap<String, Object>())
|
|
|
+ .addParam("master", CommonUtil.getMaster())
|
|
|
+ .addHeader("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(BaseConfig.getContext(), "sessionId"))
|
|
|
.flag(LOAD_ORDERS_CALLER)
|
|
|
.method(Method.GET)
|
|
|
.build();
|
|
|
@@ -215,6 +219,8 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
|
|
|
@Override
|
|
|
public void requestSuccess(int what, Object object) {
|
|
|
+ if (object != null)
|
|
|
+ Log.d("worksuccess", object.toString());
|
|
|
if (what == Constants.LOAD_WORK_MENU_CACHE) {
|
|
|
mCacheMenuTypeBeans = (List<WorkMenuBean>) object;
|
|
|
mWorkMenuBeans.clear();
|
|
|
@@ -248,7 +254,8 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
workMenuBean.setModuleVisible(true);
|
|
|
workMenuBean.setIsLocalModule(false);
|
|
|
workMenuBean.setModuleName(JSONUtil.getText(configObject, "st_name"));
|
|
|
- workMenuBean.setModuleTag(JSONUtil.getText(configObject, "st_id"));
|
|
|
+ // TODO: 2018/3/16 待修改
|
|
|
+ workMenuBean.setModuleTag(JSONUtil.getText(configObject, "st_tag"));
|
|
|
workMenuBean.setModuleId(JSONUtil.getText(configObject, "st_id"));
|
|
|
|
|
|
JSONArray serviceArray = configObject.getJSONArray("serves");
|
|
|
@@ -260,10 +267,12 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
WorkMenuBean.ModuleListBean moduleListBean = new WorkMenuBean.ModuleListBean();
|
|
|
moduleListBean.setMenuUrl("");
|
|
|
moduleListBean.setMenuName(JSONUtil.getText(serviceObject, "sv_name"));
|
|
|
- moduleListBean.setMenuActivity("com.modular.work.CommonDataFormActivity");
|
|
|
+ moduleListBean.setMenuActivity("com.modular.form.DataFormDetailActivity");
|
|
|
+ // TODO: 2018/3/16 待修改
|
|
|
+ moduleListBean.setMenuTag(JSONUtil.getText(serviceObject, "sv_tag"));
|
|
|
moduleListBean.setIsLocalMenu(false);
|
|
|
moduleListBean.setIsHide(false);
|
|
|
- moduleListBean.setCaller(JSONUtil.getText(serviceObject, "sv_id"));
|
|
|
+ moduleListBean.setCaller(JSONUtil.getText(serviceObject, "sv_caller"));
|
|
|
|
|
|
JSONObject logourlObject = serviceObject.getJSONObject("sv_logourl");
|
|
|
if (logourlObject != null) {
|
|
|
@@ -279,45 +288,30 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //循环遍历网络数据,更新本地的网络应用,添加新增的网络应用
|
|
|
for (WorkMenuBean netWorkMenuBean : netWorkMenuBeans) {
|
|
|
boolean isExist = false;
|
|
|
- String netModuleName = netWorkMenuBean.getModuleName();
|
|
|
+ String netModuleTag = netWorkMenuBean.getModuleTag();
|
|
|
List<WorkMenuBean.ModuleListBean> netModuleList = netWorkMenuBean.getModuleList();
|
|
|
for (WorkMenuBean cacheWorkMenuBean : mCacheMenuTypeBeans) {
|
|
|
- String cacheModuleName = null;
|
|
|
- if (cacheWorkMenuBean.isLocalModule()) {
|
|
|
- try {
|
|
|
- cacheModuleName = getString(mResources.getIdentifier(cacheWorkMenuBean.getModuleName(), "string", mContext.getPackageName()));
|
|
|
- } catch (Exception e) {
|
|
|
- cacheModuleName = cacheWorkMenuBean.getModuleName();
|
|
|
- }
|
|
|
- } else {
|
|
|
- cacheModuleName = cacheWorkMenuBean.getModuleName();
|
|
|
- }
|
|
|
+ String cacheModuleTag = cacheWorkMenuBean.getModuleTag();
|
|
|
List<WorkMenuBean.ModuleListBean> cacheModuleList = cacheWorkMenuBean.getModuleList();
|
|
|
- if (cacheModuleName.equals(netModuleName)) {
|
|
|
+ //如果缓存数据中存在网络返回的模块,则根据网络数据更新缓存
|
|
|
+ if (cacheModuleTag.equals(netModuleTag)) {
|
|
|
isExist = true;
|
|
|
cacheWorkMenuBean.setModuleId(netWorkMenuBean.getModuleId());
|
|
|
cacheWorkMenuBean.setModuleTag(netWorkMenuBean.getModuleTag());
|
|
|
for (WorkMenuBean.ModuleListBean netModuleListBean : netModuleList) {
|
|
|
boolean isFuncExist = false;
|
|
|
- String netMenuName = netModuleListBean.getMenuName();
|
|
|
+ String netMenuTag = netModuleListBean.getMenuTag();
|
|
|
for (WorkMenuBean.ModuleListBean cacheModuleListBean : cacheModuleList) {
|
|
|
- String cacheMenuName = null;
|
|
|
- if (cacheModuleListBean.isLocalMenu()) {
|
|
|
- try {
|
|
|
- cacheMenuName = getString(mResources.getIdentifier(cacheModuleListBean.getMenuName(), "string", mContext.getPackageName()));
|
|
|
- } catch (Exception e) {
|
|
|
- cacheMenuName = cacheModuleListBean.getMenuName();
|
|
|
- }
|
|
|
- } else {
|
|
|
- cacheMenuName = cacheModuleListBean.getMenuName();
|
|
|
- }
|
|
|
- if (cacheMenuName.equals(netMenuName)) {
|
|
|
+ String cacheMenuTag = cacheModuleListBean.getMenuTag();
|
|
|
+ if (cacheMenuTag.equals(netMenuTag)) {
|
|
|
isFuncExist = true;
|
|
|
if (!cacheModuleListBean.isLocalMenu()) {
|
|
|
cacheModuleListBean.setCaller(netModuleListBean.getCaller());
|
|
|
cacheModuleListBean.setMenuActivity(netModuleListBean.getMenuActivity());
|
|
|
+ cacheModuleListBean.setMenuTag(netModuleListBean.getMenuTag());
|
|
|
cacheModuleListBean.setMenuIcon(netModuleListBean.getMenuIcon());
|
|
|
cacheModuleListBean.setMenuName(netModuleListBean.getMenuName());
|
|
|
cacheModuleListBean.setMenuUrl(netModuleListBean.getMenuUrl());
|
|
|
@@ -325,28 +319,21 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ //如果缓存中不存在,说明是新增的网络引用,则直接添加到缓存中
|
|
|
if (!isFuncExist) {
|
|
|
cacheModuleList.add(netModuleListBean);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //循环缓存数据和网络数据,将缓存中多余的网络应用去掉
|
|
|
for (int i = cacheModuleList.size() - 1; i >= 0; i--) {
|
|
|
WorkMenuBean.ModuleListBean cacheModuleListBean = cacheModuleList.get(i);
|
|
|
if (!cacheModuleListBean.isLocalMenu()) {
|
|
|
boolean isCacheExist = false;
|
|
|
- String cacheMenuName = null;
|
|
|
- if (cacheModuleListBean.isLocalMenu()) {
|
|
|
- try {
|
|
|
- cacheMenuName = getString(mResources.getIdentifier(cacheModuleListBean.getMenuName(), "string", mContext.getPackageName()));
|
|
|
- } catch (Exception e) {
|
|
|
- cacheMenuName = cacheModuleListBean.getMenuName();
|
|
|
- }
|
|
|
- } else {
|
|
|
- cacheMenuName = cacheModuleListBean.getMenuName();
|
|
|
- }
|
|
|
+ String cacheMenuTag = cacheModuleListBean.getMenuTag();
|
|
|
for (WorkMenuBean.ModuleListBean netModuleListBean : netModuleList) {
|
|
|
- String netMenuName = netModuleListBean.getMenuName();
|
|
|
- if (cacheMenuName.equals(netMenuName)) {
|
|
|
+ String netMenuTag = netModuleListBean.getMenuTag();
|
|
|
+ if (cacheMenuTag.equals(netMenuTag)) {
|
|
|
isCacheExist = true;
|
|
|
break;
|
|
|
}
|
|
|
@@ -360,37 +347,21 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ //如果缓存数据中不存在,说明是网络数据新增的模块,则直接添加进缓存中
|
|
|
if (!isExist) {
|
|
|
mCacheMenuTypeBeans.add(netWorkMenuBean);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //循环遍历缓存数据和网络数据,如果缓存数据中存在网络数据中不存在的模块,则需要去除
|
|
|
for (int i = mCacheMenuTypeBeans.size() - 1; i >= 0; i--) {
|
|
|
WorkMenuBean cacheWorkMenuBean = mCacheMenuTypeBeans.get(i);
|
|
|
if (!cacheWorkMenuBean.isLocalModule()) {
|
|
|
boolean isCacheExist = false;
|
|
|
- String cacheModuleName = null;
|
|
|
- if (cacheWorkMenuBean.isLocalModule()) {
|
|
|
- try {
|
|
|
- cacheModuleName = getString(mResources.getIdentifier(cacheWorkMenuBean.getModuleName(), "string", mContext.getPackageName()));
|
|
|
- } catch (Exception e) {
|
|
|
- cacheModuleName = cacheWorkMenuBean.getModuleName();
|
|
|
- }
|
|
|
- } else {
|
|
|
- cacheModuleName = cacheWorkMenuBean.getModuleName();
|
|
|
- }
|
|
|
+ String cacheModuleTag = cacheWorkMenuBean.getModuleTag();
|
|
|
for (WorkMenuBean netWorkMenuBean : netWorkMenuBeans) {
|
|
|
- String netModuleName = null;
|
|
|
- if (netWorkMenuBean.isLocalModule()) {
|
|
|
- try {
|
|
|
- netModuleName = getString(mResources.getIdentifier(netWorkMenuBean.getModuleName(), "string", mContext.getPackageName()));
|
|
|
- } catch (Exception e) {
|
|
|
- netModuleName = netWorkMenuBean.getModuleName();
|
|
|
- }
|
|
|
- } else {
|
|
|
- netModuleName = netWorkMenuBean.getModuleName();
|
|
|
- }
|
|
|
- if (cacheModuleName.equals(netModuleName)) {
|
|
|
+ String netModuleTag = netWorkMenuBean.getModuleTag();
|
|
|
+ if (cacheModuleTag.equals(netModuleTag)) {
|
|
|
isCacheExist = true;
|
|
|
break;
|
|
|
}
|
|
|
@@ -436,8 +407,8 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
|
|
|
|
|
|
@Override
|
|
|
public void requestError(int what, String errorMsg) {
|
|
|
- if (errorMsg != null && errorMsg.length() <= 40) {
|
|
|
- toast(errorMsg);
|
|
|
- }
|
|
|
+// if (errorMsg != null && errorMsg.length() <= 40) {
|
|
|
+// toast(errorMsg);
|
|
|
+// }
|
|
|
}
|
|
|
}
|