diff --git a/app/build.gradle b/app/build.gradle index 7f1d8ab..58c3588 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.rehome.dywoa" minSdk 24 targetSdk 34 - versionCode 12 - versionName "1.1.1" + versionCode 13 + versionName "1.1.2" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //每个应用拥有不同的authorities,防止相同的在同一个手机上无法同时安装 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9121093..23f694e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -78,6 +78,7 @@ tools:replace="android:allowBackup" tools:targetApi="s"> + + + + + - () { } }) } + } \ No newline at end of file diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/LoginActivity.kt b/app/src/main/java/com/rehome/dywoa/ui/activity/LoginActivity.kt index e1074b7..4d5f47d 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/LoginActivity.kt +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/LoginActivity.kt @@ -669,7 +669,7 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { // finish() } } else { - Log.i("login", userInfo.statusMsg) + showLog(userInfo.statusMsg) toastviewbymyself.makeText( context, userInfo.statusMsg, @@ -678,13 +678,13 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { } } else { showToast("服务器请求失败") - Log.i("app", "to gson is null") + showLog("to gson is null") } } } override fun onFailed(what: Int, response: Response?) { - Log.i("login", "onError") + showLog("onError") } }, true, true, "登录中...") } diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/RunLogActivity.java b/app/src/main/java/com/rehome/dywoa/ui/activity/RunLogActivity.java index 326161a..e93b716 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/RunLogActivity.java +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/RunLogActivity.java @@ -147,7 +147,7 @@ public class RunLogActivity extends AppCompatActivity { private void getSingleLogin() { // String url = Contans.FW_SINGLE_LOGIN_IP + urlToken + App.getInstance().getUserInfo().getManid(); - String url = Contans.FW_SINGLE_LOGIN_IP + urlToken + "371543"; + String url = Contans.IP + urlToken + App.getInstance().getUserInfo().getManid(); Request request = NoHttp.createStringRequest(url, RequestMethod.GET); showLog(url); diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/RunLogBaseActivity.kt b/app/src/main/java/com/rehome/dywoa/ui/activity/RunLogBaseActivity.kt index 633d004..3bc0585 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/RunLogBaseActivity.kt +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/RunLogBaseActivity.kt @@ -34,15 +34,8 @@ import com.yolanda.nohttp.rest.Response class RunLogBaseActivity : BaseActivityOaToolbarViewBinding() { // private val urlToken = "api/singer/singerLogin?account=" - private val urlToken = "api/login/singleLogin?account=" + private val urlToken = "api/app/login/singleLogin?account=" -//RunLogListActivity - - -// private var sisMainPage = "opgview/direct2?filePath=mainmenu.zxml&showToolbar=false&view=view&token="; -// -// private var sisTokenBeanData: SisTokenBeanData? = null -// private var exitTime: Long = 0 private lateinit var startUrl:String private var urlFinish: String? = null @@ -283,8 +276,9 @@ class RunLogBaseActivity : BaseActivityOaToolbarViewBinding { + override fun onSucceed(what: Int, response: Response?) { + val jsonResult = response?.get() + showLog("-----login------") + showLog(jsonResult?:"") + val jsonDecode = RSAUtils.decryptBASE64StrClient(jsonResult) + if (TextUtils.isEmpty(jsonDecode)) { + showToast(UiUtlis.getString(context, R.string.data_error)) + } else { + val loginResult: FwSingleLoginResult? = GsonUtils.GsonToBean(jsonDecode, FwSingleLoginResult::class.java) + showLog(jsonDecode); + if (loginResult != null) { + if (loginResult.errmsg!=null&&loginResult.errmsg.equals("success")) { + if(!TextUtils.isEmpty(loginResult.token)){ + loadSisPage(loginResult.token) + } + }else{ + showToast(loginResult.errmsg) + } + } + } + if (jsonResult != null && jsonResult.startsWith("http")) { + + //FwSingleLoginResult + loadSisPage(jsonResult) + } + } + + override fun onFailed(what: Int, response: Response?) { + Log.i("login", "onError") + } + }, true, true, "登录中...") + } + + private fun loadSisPage(token: String) { + val tempUrl = "https://mis.dywzhny.com.cn/papi/open/singleSignon?oauthType=singlesign&singleToken=$token&redirect_uri=" + startUrl = tempUrl + urlLog + showLog(startUrl) + + //startUrl = "https://www.hao123.com"; + mAgentWeb.urlLoader.loadUrl(startUrl) + } + + //检查服务器连接状态 + private fun checkServerConnectStatus() { + var param = HashMap() + param["login"] = "dywoa"; + val json = GsonUtils.GsonString(param) + val url = Contans.IP + Contans.check_server_connect + Log.i("app",url) + Log.i("app",json) + val request = NoHttp.createStringRequest( + url, + RequestMethod.POST + ) + request.setDefineRequestBodyForJson(json) + NoProgresshttpUtils.getInstance().add(this, 0, request, object : HttpListener { + override fun onSucceed(what: Int, response: Response?) { + val result = response?.get() + if (result != null) { + showLog("-----onSucceed----") + showLog(result) + if(result == "1"){ + showLog("connect server success") + getSingleLoginToken() + }else{ + showToast("无法连接到服务器,请检查网络环境") + } + } + } + + override fun onFailed(what: Int, response: Response?) { + showLog("connect server onFailed") + showToast("无法连接到服务器,请检查网络环境") + } + }) + } + + + override fun getAgentWebParent(): ViewGroup { + return findViewById(R.id.container) as ViewGroup + } + + override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { + if (mAgentWeb != null && mAgentWeb.handleKeyEvent(keyCode, event)) { + return true + } + + return super.onKeyDown(keyCode, event) + } + + override fun getIndicatorColor(): Int { + return Color.parseColor("#ff0000") + } + + override fun setTitle(view: WebView?, title: String?) { + super.setTitle(view, title) + if (!TextUtils.isEmpty(title)) { + if (mTitleTextView != null) { + mTitleTextView.text = type + } + } + } + + override fun getIndicatorHeight(): Int { + return 3 + } + + override fun getUrl(): String? { + return null + //return "https://www.baidu.com/"; + } + + private fun showLog(logText: String) { + if (BuildConfig.LOG_ERROR) { + if (TextUtils.isEmpty(logText)) { + Log.i("app", "logText is null") + } else { + Log.i("app", logText) + } + } + } + + fun showToast(msg: String?) { + Toast.makeText(this, msg, Toast.LENGTH_SHORT).show() + } + + fun showToast(strId: Int) { + Toast.makeText(this, strId, Toast.LENGTH_SHORT).show() + } +} diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/UseSealActivity.kt b/app/src/main/java/com/rehome/dywoa/ui/activity/UseSealActivity.kt new file mode 100644 index 0000000..320f9b9 --- /dev/null +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/UseSealActivity.kt @@ -0,0 +1,221 @@ +package com.rehome.dywoa.ui.activity + + + +import android.content.Context +import android.graphics.Color +import android.os.Bundle +import android.text.TextUtils +import android.util.Log +import android.view.KeyEvent +import android.view.View +import android.view.ViewGroup +import android.webkit.WebView +import android.widget.TextView +import android.widget.Toast +import androidx.appcompat.widget.Toolbar +import com.rehome.dywoa.App +import com.rehome.dywoa.BuildConfig +import com.rehome.dywoa.Contans +import com.rehome.dywoa.R +import com.rehome.dywoa.base.BaseAgentWebActivity +import com.rehome.dywoa.bean.FwSingleLoginResult +import com.rehome.dywoa.databinding.ActivityUseSealBinding +import com.rehome.dywoa.utils.GsonUtils +import com.rehome.dywoa.utils.HttpListener +import com.rehome.dywoa.utils.NoProgresshttpUtils +import com.rehome.dywoa.utils.NohttpUtils +import com.rehome.dywoa.utils.RSAUtils +import com.rehome.dywoa.utils.UiUtlis +import com.yolanda.nohttp.NoHttp +import com.yolanda.nohttp.RequestMethod +import com.yolanda.nohttp.rest.Response + + +class UseSealActivity : BaseAgentWebActivity() { + + private val urlToken = "api/app/login/singleLogin?account=" + private lateinit var startUrl:String + + private lateinit var type:String + private lateinit var urlLog:String + + private lateinit var mToolbar: Toolbar + private lateinit var mTitleTextView: TextView + + private lateinit var context:Context + + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_wait_for_to_do) + + context = this; + type = intent.getStringExtra("type")!! + urlLog = intent.getStringExtra("urlLog")!! + if (TextUtils.isEmpty(type)) { + type = "" + } + + mToolbar = this.findViewById(R.id.toolbar) + mToolbar.setTitleTextColor(Color.WHITE) + mToolbar.title = "" + mToolbar.setNavigationIcon(R.drawable.ac_back_icon) + mTitleTextView = this.findViewById(R.id.toolbar_title) + mTitleTextView.text = type + this.setSupportActionBar(mToolbar) + if (supportActionBar != null) { + supportActionBar!!.setDisplayHomeAsUpEnabled(true) + } + mToolbar.setNavigationOnClickListener { finish() } + + + //支持缩放 + mAgentWeb.webCreator.webView.settings.builtInZoomControls = true + mAgentWeb.webCreator.webView.settings.displayZoomControls = false + mAgentWeb.webCreator.webView.settings.setSupportZoom(true) + + checkServerConnectStatus() + } + + + private fun getSingleLoginToken() { + + val url = Contans.IP + urlToken + App.getInstance().userInfo.manid; + + + //url = Contans.IP + urlToken + "280846"; + + val request = NoHttp.createStringRequest(url, RequestMethod.GET) + showLog(url) + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + override fun onSucceed(what: Int, response: Response?) { + val jsonResult = response?.get() + showLog("-----login------") + showLog(jsonResult?:"") + val jsonDecode = RSAUtils.decryptBASE64StrClient(jsonResult) + if (TextUtils.isEmpty(jsonDecode)) { + showToast(UiUtlis.getString(context, R.string.data_error)) + } else { + val loginResult: FwSingleLoginResult? = GsonUtils.GsonToBean(jsonDecode, FwSingleLoginResult::class.java) + showLog(jsonDecode); + if (loginResult != null) { + if (loginResult.errmsg!=null&&loginResult.errmsg.equals("success")) { + if(!TextUtils.isEmpty(loginResult.token)){ + loadSisPage(loginResult.token) + } + }else{ + showToast(loginResult.errmsg) + } + } + } + if (jsonResult != null && jsonResult.startsWith("http")) { + + //FwSingleLoginResult + loadSisPage(jsonResult) + } + } + + override fun onFailed(what: Int, response: Response?) { + Log.i("login", "onError") + } + }, true, true, "登录中...") + } + + private fun loadSisPage(token: String) { + val tempUrl = "https://mis.dywzhny.com.cn/papi/open/singleSignon?oauthType=singlesign&singleToken=$token&redirect_uri=" + startUrl = tempUrl + urlLog + showLog(startUrl) + + //startUrl = "https://www.hao123.com"; + mAgentWeb.urlLoader.loadUrl(startUrl) + } + + //检查服务器连接状态 + private fun checkServerConnectStatus() { + var param = HashMap() + param["login"] = "dywoa"; + val json = GsonUtils.GsonString(param) + val url = Contans.IP + Contans.check_server_connect + Log.i("app",url) + Log.i("app",json) + val request = NoHttp.createStringRequest( + url, + RequestMethod.POST + ) + request.setDefineRequestBodyForJson(json) + NoProgresshttpUtils.getInstance().add(this, 0, request, object : HttpListener { + override fun onSucceed(what: Int, response: Response?) { + val result = response?.get() + if (result != null) { + showLog("-----onSucceed----") + showLog(result) + if(result == "1"){ + showLog("connect server success") + getSingleLoginToken() + }else{ + showToast("无法连接到服务器,请检查网络环境") + } + } + } + + override fun onFailed(what: Int, response: Response?) { + showLog("connect server onFailed") + showToast("无法连接到服务器,请检查网络环境") + } + }) + } + + + override fun getAgentWebParent(): ViewGroup { + return findViewById(R.id.container) as ViewGroup + } + + override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { + if (mAgentWeb != null && mAgentWeb.handleKeyEvent(keyCode, event)) { + return true + } + + return super.onKeyDown(keyCode, event) + } + + override fun getIndicatorColor(): Int { + return Color.parseColor("#ff0000") + } + + override fun setTitle(view: WebView?, title: String?) { + super.setTitle(view, title) + if (!TextUtils.isEmpty(title)) { + if (mTitleTextView != null) { + mTitleTextView.text = type + } + } + } + + override fun getIndicatorHeight(): Int { + return 3 + } + + override fun getUrl(): String? { + return null + //return "https://www.baidu.com/"; + } + + private fun showLog(logText: String) { + if (BuildConfig.LOG_ERROR) { + if (TextUtils.isEmpty(logText)) { + Log.i("app", "logText is null") + } else { + Log.i("app", logText) + } + } + } + + fun showToast(msg: String?) { + Toast.makeText(this, msg, Toast.LENGTH_SHORT).show() + } + + fun showToast(strId: Int) { + Toast.makeText(this, strId, Toast.LENGTH_SHORT).show() + } +} diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/WaitForToDoActivity.java b/app/src/main/java/com/rehome/dywoa/ui/activity/WaitForToDoActivity.java new file mode 100644 index 0000000..1ea0fce --- /dev/null +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/WaitForToDoActivity.java @@ -0,0 +1,277 @@ +package com.rehome.dywoa.ui.activity; + + + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; + +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.Color; +import android.os.Bundle; +import android.text.TextUtils; +import android.util.Log; +import android.view.KeyEvent; +import android.view.ViewGroup; +import android.webkit.WebResourceRequest; +import android.webkit.WebView; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import com.just.agentweb.AgentWeb; +import com.just.agentweb.DefaultWebClient; +import com.just.agentweb.WebChromeClient; +import com.just.agentweb.WebViewClient; +import com.rehome.dywoa.App; +import com.rehome.dywoa.BuildConfig; +import com.rehome.dywoa.Contans; +import com.rehome.dywoa.R; +import com.rehome.dywoa.base.BaseAgentWebActivity; +import com.rehome.dywoa.bean.FwSingleLoginResult; +import com.rehome.dywoa.bean.SisTokenBeanData; +import com.rehome.dywoa.utils.GsonUtils; +import com.rehome.dywoa.utils.HttpListener; +import com.rehome.dywoa.utils.NoProgresshttpUtils; +import com.rehome.dywoa.utils.NohttpUtils; +import com.rehome.dywoa.utils.RSAUtils; +import com.rehome.dywoa.utils.UiUtlis; +import com.rehome.dywoa.weiget.WebLayout; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; + +import java.text.ParseException; +import java.util.HashMap; +import java.util.Map; + +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocketFactory; + +public class WaitForToDoActivity extends BaseAgentWebActivity { + + private Toolbar mToolbar; + private TextView mTitleTextView; + + private String urlToken = "api/app/login/singleLogin?account="; + private String startUrl; + + + String type; + String urlLog; + + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_wait_for_to_do); + + type = getIntent().getStringExtra("type"); + urlLog = getIntent().getStringExtra("urlLog"); + if(TextUtils.isEmpty(type)){ + type = ""; + } + + mToolbar = this.findViewById(R.id.toolbar); + mToolbar.setTitleTextColor(Color.WHITE); + mToolbar.setTitle(""); + mToolbar.setNavigationIcon(R.drawable.ac_back_icon); + mTitleTextView = this.findViewById(R.id.toolbar_title); + mTitleTextView.setText(type); + this.setSupportActionBar(mToolbar); + if (getSupportActionBar() != null) { + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } + mToolbar.setNavigationOnClickListener(v -> WaitForToDoActivity.this.finish()); + + + //支持缩放 + mAgentWeb.getWebCreator().getWebView().getSettings().setBuiltInZoomControls(true); + mAgentWeb.getWebCreator().getWebView().getSettings().setDisplayZoomControls(false); + mAgentWeb.getWebCreator().getWebView().getSettings().setSupportZoom(true); + + checkServerConnectStatus(); + + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + } + + + //检查服务器连接状态 + private void checkServerConnectStatus() { + Map param = new HashMap<>(); + param.put("login","dywoa"); + String json = GsonUtils.GsonString(param); + String url = Contans.IP + Contans.check_server_connect; + showLog(url); + showLog(json); + Request request = NoHttp.createStringRequest( + url, + RequestMethod.POST + ); + request.setDefineRequestBodyForJson(json); + NoProgresshttpUtils.getInstance().add(this, 0, request, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + String result = response.get(); + showLog("-----onSucceed----"); + showLog(result); + if(result.equals("1")){ + showLog("connect server success"); + //可以连接到服务器,请求数据 + getSingleLoginToken(); + }else{ + showToast("无法连接到服务器,请检查网络环境"); + } + } + + @Override + public void onFailed(int what, Response response) { + showLog("connect server onFailed"); + showToast("无法连接到服务器,请检查网络环境"); + } + }); + } + + + private void getSingleLoginToken() { + String url = Contans.IP + urlToken + App.getInstance().getUserInfo().getManid(); + + //url = Contans.IP + urlToken + "280846"; + + + Request request = NoHttp.createStringRequest(url, RequestMethod.GET); + showLog(url); + +// SSLSocketFactory socketFactory = NohttpUtils.getSisSSLSocketFactory(WaitForToDoActivity.this); +// if (socketFactory != null) { +// request.setSSLSocketFactory(socketFactory); +// request.setHostnameVerifier(new HostnameVerifier() { +// @Override +// public boolean verify(String s, SSLSession sslSession) { +// return true; +// } +// }); +// } + + NohttpUtils.getInstance().add(this,1,request,new HttpListener(){ + @Override + public void onSucceed(int what, Response response) throws ParseException { + + String jsonResult = response.get(); + showLog("-----login------"); + showLog(jsonResult); + + String jsonDecode = RSAUtils.decryptBASE64StrClient(jsonResult); + if (TextUtils.isEmpty(jsonDecode)) { + showToast(UiUtlis.getString(WaitForToDoActivity.this, R.string.data_error)); + } else { + FwSingleLoginResult loginResult = GsonUtils.GsonToBean(jsonDecode, FwSingleLoginResult.class); + showLog(jsonDecode); + if (loginResult != null) { + if (loginResult.getErrmsg()!=null&&loginResult.getErrmsg().equals("success")) { + if(!TextUtils.isEmpty(loginResult.getToken())){ + loadSisPage(loginResult.getToken()); + } + }else{ + showToast(loginResult.getErrmsg()); + } + } + } + } + + @Override + public void onFailed(int what, Response response) { + showLog("getSisToken onFailed"); + } + }, true, true, "请稍候..."); + } + + private void loadSisPage(String token) { + var tempUrl = "https://mis.dywzhny.com.cn/papi/open/singleSignon?oauthType=singlesign&singleToken="+ token +"&redirect_uri="; + startUrl = tempUrl + urlLog; + showLog(startUrl); + + //startUrl = "https://www.hao123.com"; + + this.mAgentWeb.getUrlLoader().loadUrl(startUrl); + } + + + + @NonNull + @Override + protected ViewGroup getAgentWebParent() { + return (ViewGroup) this.findViewById(R.id.container); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (mAgentWeb != null && mAgentWeb.handleKeyEvent(keyCode, event)) { + return true; + } + + return super.onKeyDown(keyCode, event); + } + + @Override + protected int getIndicatorColor() { + return Color.parseColor("#ff0000"); + } + + @Override + protected void setTitle(WebView view, String title) { + super.setTitle(view, title); + if (!TextUtils.isEmpty(title)) { + if (mTitleTextView != null) { + mTitleTextView.setText(type); + } + } + } + + @Override + protected int getIndicatorHeight() { + return 3; + } + + @Nullable + @Override + protected String getUrl() { + return null; + //return "https://www.baidu.com/"; + } + + + private void showLog(String logText) { + if (BuildConfig.LOG_ERROR) { + if (TextUtils.isEmpty(logText)) { + Log.i("app", "logText is null"); + } else { + Log.i("app", logText); + } + } + } + + public void showToast(String msg) { + Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); + } + + public void showToast(int strId) { + Toast.makeText(this, strId, Toast.LENGTH_SHORT).show(); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/WaitForToDoBaseActivity.java b/app/src/main/java/com/rehome/dywoa/ui/activity/WaitForToDoBaseActivity.java new file mode 100644 index 0000000..a78fd5a --- /dev/null +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/WaitForToDoBaseActivity.java @@ -0,0 +1,270 @@ +package com.rehome.dywoa.ui.activity; + + + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.Toolbar; + +import android.graphics.Color; +import android.os.Bundle; +import android.text.TextUtils; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.webkit.WebView; +import android.widget.TextView; +import android.widget.Toast; + +import com.rehome.dywoa.App; +import com.rehome.dywoa.BuildConfig; +import com.rehome.dywoa.Contans; +import com.rehome.dywoa.R; +import com.rehome.dywoa.base.BaseAgentWebActivity; +import com.rehome.dywoa.bean.FwSingleLoginResult; +import com.rehome.dywoa.bean.SisTokenBeanData; +import com.rehome.dywoa.utils.GsonUtils; +import com.rehome.dywoa.utils.HttpListener; +import com.rehome.dywoa.utils.NoProgresshttpUtils; +import com.rehome.dywoa.utils.NohttpUtils; +import com.rehome.dywoa.utils.RSAUtils; +import com.rehome.dywoa.utils.UiUtlis; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; + +import java.text.ParseException; +import java.util.HashMap; +import java.util.Map; + +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocketFactory; + +public class WaitForToDoBaseActivity extends BaseAgentWebActivity { + + + private Toolbar mToolbar; + private TextView mTitleTextView; + + private String urlToken = "api/app/login/singleLogin?account="; + private String startUrl; + + + String type; + String urlLog; + + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_wait_for_to_do_base); + + type = getIntent().getStringExtra("type"); + urlLog = getIntent().getStringExtra("urlLog"); + if(TextUtils.isEmpty(type)){ + type = ""; + } + + mToolbar = this.findViewById(R.id.toolbar); + mToolbar.setTitleTextColor(Color.WHITE); + mToolbar.setTitle(""); + mToolbar.setNavigationIcon(R.drawable.ac_back_icon); + mTitleTextView = this.findViewById(R.id.toolbar_title); + mTitleTextView.setText(type); + this.setSupportActionBar(mToolbar); + if (getSupportActionBar() != null) { + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } + mToolbar.setNavigationOnClickListener(v -> WaitForToDoBaseActivity.this.finish()); + + + //支持缩放 + mAgentWeb.getWebCreator().getWebView().getSettings().setBuiltInZoomControls(true); + mAgentWeb.getWebCreator().getWebView().getSettings().setDisplayZoomControls(false); + mAgentWeb.getWebCreator().getWebView().getSettings().setSupportZoom(true); + + checkServerConnectStatus(); + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + } + + + //检查服务器连接状态 + private void checkServerConnectStatus() { + Map param = new HashMap<>(); + param.put("login","dywoa"); + String json = GsonUtils.GsonString(param); + String url = Contans.IP + Contans.check_server_connect; + showLog(url); + showLog(json); + Request request = NoHttp.createStringRequest( + url, + RequestMethod.POST + ); + request.setDefineRequestBodyForJson(json); + NoProgresshttpUtils.getInstance().add(this, 0, request, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + String result = response.get(); + showLog("-----onSucceed----"); + showLog(result); + if(result.equals("1")){ + showLog("connect server success"); + //可以连接到服务器,请求数据 + getSingleLoginToken(); + }else{ + showToast("无法连接到服务器,请检查网络环境"); + } + } + + @Override + public void onFailed(int what, Response response) { + showLog("connect server onFailed"); + showToast("无法连接到服务器,请检查网络环境"); + } + }); + } + + + private void getSingleLoginToken() { + String url = Contans.IP + urlToken + App.getInstance().getUserInfo().getManid(); + + url = Contans.IP + urlToken + "280846"; + + + Request request = NoHttp.createStringRequest(url, RequestMethod.GET); + showLog(url); + +// SSLSocketFactory socketFactory = NohttpUtils.getSisSSLSocketFactory(WaitForToDoActivity.this); +// if (socketFactory != null) { +// request.setSSLSocketFactory(socketFactory); +// request.setHostnameVerifier(new HostnameVerifier() { +// @Override +// public boolean verify(String s, SSLSession sslSession) { +// return true; +// } +// }); +// } + + NohttpUtils.getInstance().add(this,1,request,new HttpListener(){ + @Override + public void onSucceed(int what, Response response) throws ParseException { + + String jsonResult = response.get(); + showLog("-----login------"); + showLog(jsonResult); + + String jsonDecode = RSAUtils.decryptBASE64StrClient(jsonResult); + if (TextUtils.isEmpty(jsonDecode)) { + showToast(UiUtlis.getString(WaitForToDoBaseActivity.this, R.string.data_error)); + } else { + FwSingleLoginResult loginResult = GsonUtils.GsonToBean(jsonDecode, FwSingleLoginResult.class); + showLog(jsonDecode); + if (loginResult != null) { + if (loginResult.getErrmsg()!=null&&loginResult.getErrmsg().equals("success")) { + if(!TextUtils.isEmpty(loginResult.getToken())){ + loadSisPage(loginResult.getToken()); + } + }else{ + showToast(loginResult.getErrmsg()); + } + } + } + } + + @Override + public void onFailed(int what, Response response) { + showLog("getSisToken onFailed"); + } + }, true, true, "请稍候..."); + } + + private void loadSisPage(String token) { + var tempUrl = "https://mis.dywzhny.com.cn/papi/open/singleSignon?oauthType=singlesign&singleToken="+ token +"&redirect_uri="; + startUrl = tempUrl + urlLog; + showLog(startUrl); + + //startUrl = "https://www.hao123.com"; + + this.mAgentWeb.getUrlLoader().loadUrl(startUrl); + } + + + + @NonNull + @Override + protected ViewGroup getAgentWebParent() { + return (ViewGroup) this.findViewById(R.id.container); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (mAgentWeb != null && mAgentWeb.handleKeyEvent(keyCode, event)) { + return true; + } + + return super.onKeyDown(keyCode, event); + } + + @Override + protected int getIndicatorColor() { + return Color.parseColor("#ff0000"); + } + + @Override + protected void setTitle(WebView view, String title) { + super.setTitle(view, title); + if (!TextUtils.isEmpty(title)) { + if (mTitleTextView != null) { + mTitleTextView.setText(type); + } + } + } + + @Override + protected int getIndicatorHeight() { + return 3; + } + + @Nullable + @Override + protected String getUrl() { + return null; + //return "https://www.baidu.com/"; + } + + + private void showLog(String logText) { + if (BuildConfig.LOG_ERROR) { + if (TextUtils.isEmpty(logText)) { + Log.i("app", "logText is null"); + } else { + Log.i("app", logText); + } + } + } + + public void showToast(String msg) { + Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); + } + + public void showToast(int strId) { + Toast.makeText(this, strId, Toast.LENGTH_SHORT).show(); + } + +} + diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/CJFragment.java b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/CJFragment.java index cf74ddb..32abd31 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/CJFragment.java +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/CJFragment.java @@ -11,6 +11,7 @@ import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RadioButton; import android.widget.RadioGroup; +import android.widget.ScrollView; import android.widget.TextView; import com.rehome.dywoa.DBModel.DjjhRwQy; import com.rehome.dywoa.R; @@ -46,6 +47,7 @@ public class CJFragment extends BaseFragment { Button btn_next; LinearLayout ll_bz; + ScrollView sv; private boolean isEdit; @@ -85,6 +87,22 @@ public class CJFragment extends BaseFragment { } findView(); et_jg.setEnabled(isEdit); + et_jg.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + + } + }); updata(info, index, zj); } @@ -112,6 +130,7 @@ public class CJFragment extends BaseFragment { tv_bz = view.findViewById(R.id.tv_bz); btn_next = view.findViewById(R.id.btn_next); ll_bz = view.findViewById(R.id.ll_bz); + sv = view.findViewById(R.id.sv); btn_next.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -236,6 +255,13 @@ public class CJFragment extends BaseFragment { llFxnr.setVisibility(View.GONE); } } + + sv.post(new Runnable() { + @Override + public void run() { + sv.fullScroll(View.FOCUS_DOWN); + } + }); } diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/SdjgzActivity.java b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/SdjgzActivity.java index 9d971ba..6667145 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/SdjgzActivity.java +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/SdjgzActivity.java @@ -418,7 +418,7 @@ public class SdjgzActivity extends BaseActivity { public void handleNfc(String result) { //super.handleNfc(result); // tvNodata.setText(result); -// result = "041F51EA211990"; + //result = "04D49CEAC21B90"; if (list.size() != 0) { showLog("--------"); showLog(GsonUtils.GsonString(list)); diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/SbxjcjsbActivity.java b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/SbxjcjsbActivity.java index 2355a51..9d519c6 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/SbxjcjsbActivity.java +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/SbxjcjsbActivity.java @@ -331,7 +331,14 @@ public class SbxjcjsbActivity extends BaseActivity { if (i != 0) { xsjjhDataBeanArrayList.get(item - 1).setChecked(true); xsjjhDataBeanArrayList.get(item - 1).setCJJG(xjcjFragment.getCJJG()); - showToast("保存成功"); + //showToast("保存成功"); + if(xsjjhDataBeanArrayList.get(item - 1).getQymc()!=null&&xsjjhDataBeanArrayList.get(item - 1).getSb()!=null){ + showToast(xsjjhDataBeanArrayList.get(item - 1).getQymc()+ "区域" + "打卡保存成功"); + }else{ + showToast("保存成功"); + } + + //更新编辑的内容 updateItem(xjcjFragment.getCJJG(), item - 1); } diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/SxgzActivity.java b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/SxgzActivity.java index 9713610..25c0ae4 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/SxgzActivity.java +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/SxgzActivity.java @@ -419,9 +419,9 @@ public class SxgzActivity extends BaseActivity { public void handleNfc(String result) { - //result = "04D16FEA211990"; +// result = "048B94EAC21B91"; //result = "041894EAC21B91"; - //result = "043F9CEAC21B91"; + //result = "04A953EA211990"; if(TextUtils.isEmpty(result)){ return; diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/XJCJFragment.java b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/XJCJFragment.java index 880b5d6..4ecd0cc 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/XJCJFragment.java +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/XJCJFragment.java @@ -58,6 +58,7 @@ public class XJCJFragment extends BaseFragment { + private boolean isEdit; private XSJJHDataBean info; private int zj; @@ -278,6 +279,12 @@ public class XJCJFragment extends BaseFragment { } } } + sv.post(new Runnable() { + @Override + public void run() { + sv.fullScroll(View.FOCUS_DOWN); + } + }); } diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/XzxsjhFragment.java b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/XzxsjhFragment.java index 67cf35c..a0a110d 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/XzxsjhFragment.java +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxj/XzxsjhFragment.java @@ -290,6 +290,9 @@ public class XzxsjhFragment extends BaseFragment { index = dataCount; } + List listDBH = new ArrayList<>(); + + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { xsjjhxzDataBeanList.get(i).setSN(++index); @@ -302,7 +305,12 @@ public class XzxsjhFragment extends BaseFragment { showLog("------前----"); showLog(GsonUtils.GsonString(getData)); for (int j = 0; j < getData.size(); j++) { + + + XSJJHDataBean bean = getData.get(j); + + listDBH.add(bean.getDbh()); bean.setUsername(username); //bean.setZxid(zxid); bean.setNfcbm(xsjjhxzDataBeanList.get(i).getNfcbm()); @@ -316,6 +324,9 @@ public class XzxsjhFragment extends BaseFragment { DataSupport.saveAll(getData); } DataSupport.saveAll(xsjjhxzDataBeanList); + + showLog(GsonUtils.GsonString(listDBH)); + } else { showToast(UiUtlis.getString(context, R.string.data_error)); } diff --git a/app/src/main/java/com/rehome/dywoa/ui/fragment/HomeFragment.java b/app/src/main/java/com/rehome/dywoa/ui/fragment/HomeFragment.java index 3f657bb..82b14b4 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/fragment/HomeFragment.java +++ b/app/src/main/java/com/rehome/dywoa/ui/fragment/HomeFragment.java @@ -1,25 +1,42 @@ package com.rehome.dywoa.ui.fragment; +import static com.rehome.dywoa.utils.GsonUtils.GsonToBean; + import android.content.Intent; +import android.text.TextUtils; +import android.view.View; import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.rehome.dywoa.App; import com.rehome.dywoa.Contans; +import com.rehome.dywoa.DBModel.Xjjh; +import com.rehome.dywoa.DBModel.XjjhList; import com.rehome.dywoa.MainActivity; import com.rehome.dywoa.R; import com.rehome.dywoa.adapter.GridViewAdapter; import com.rehome.dywoa.base.BaseFragment; import com.rehome.dywoa.bean.GridItem; +import com.rehome.dywoa.bean.WaitForBean; import com.rehome.dywoa.ui.activity.JiZhuActivity; import com.rehome.dywoa.ui.activity.KksSearchActivity; import com.rehome.dywoa.ui.activity.RunLogActivity; import com.rehome.dywoa.ui.activity.RunLogBaseActivity; import com.rehome.dywoa.ui.activity.RunLogListActivity; import com.rehome.dywoa.ui.activity.SisBaseActivity; +import com.rehome.dywoa.ui.activity.UseCarActivity; +import com.rehome.dywoa.ui.activity.UseSealActivity; +import com.rehome.dywoa.ui.activity.WaitForToDoActivity; +import com.rehome.dywoa.ui.activity.WaitForToDoBaseActivity; import com.rehome.dywoa.ui.activity.sbxdjgl.SbxdjglActivity; import com.rehome.dywoa.ui.activity.sbxj.XscbglActivity; +import com.rehome.dywoa.utils.GsonUtils; import com.rehome.dywoa.utils.HttpListener; +import com.rehome.dywoa.utils.NoProgresshttpUtils; import com.rehome.dywoa.utils.NohttpUtils; import com.rehome.dywoa.weiget.AutoGridView; import com.yolanda.nohttp.NoHttp; @@ -27,21 +44,28 @@ import com.yolanda.nohttp.RequestMethod; import com.yolanda.nohttp.rest.Request; import com.yolanda.nohttp.rest.Response; +import org.litepal.crud.DataSupport; + import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class HomeFragment extends BaseFragment { + private String username; private String firstDeparment; public static final int REQUEST_CODE_ADD = 1; public static final int REQUEST_CODE_AUDIT = 2; private static HomeFragment instance = null; + TextView tv_todo_count; + LinearLayout ll_account; ImageView iv; AutoGridView gv; // XUILinearLayout mTestLayout; @@ -78,6 +102,20 @@ public class HomeFragment extends BaseFragment { findView(); initLists(); setAdapter(); + + ll_account.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intentWaitFor = new Intent(mActivity, WaitForToDoActivity.class); + intentWaitFor.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + + String typeWaitFor = "待办"; + String urlWaitFor = "https://mis.dywzhny.com.cn/mobile/workflow/list/todo?cusMenuId=5116426542447237804&urlPageTitle=5b6F5Yqe5rWB56iL"; + intentWaitFor.putExtra("type",typeWaitFor); + intentWaitFor.putExtra("urlLog",urlWaitFor); + startActivity(intentWaitFor); + } + }); } @Override @@ -93,11 +131,14 @@ public class HomeFragment extends BaseFragment { String yesterday = sp.format(d); String beforeyesterday = sp.format(d2); String today = formatter.format(cal0.getTime()); + getWaitForToDo(); } private void findView() { iv = view.findViewById(R.id.iv); gv = view.findViewById(R.id.gv); + tv_todo_count = view.findViewById(R.id.tv_todo_count); + ll_account = view.findViewById(R.id.ll_account); // mTestLayout = view.findViewById(R.id.layout_xui); // mTestLayout2 = view.findViewById(R.id.layout_xui2); // recyclerView = view.findViewById(R.id.recycler_view); @@ -197,8 +238,44 @@ public class HomeFragment extends BaseFragment { intentKks.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intentKks); break; -// case 7: -// TAG = GridViewDialog.TAG_CHECK; + case 7: + Intent intentUseCar = new Intent(mActivity, UseCarActivity.class); + intentUseCar.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + + String type = "用车管理"; + String urlLog = "https://mis.dywzhny.com.cn/mobile/ebdapp/view/943483742495604737/SEARCH/943525549724041323-8440288166160908898?cusMenuId=8440288166160908898&urlPageTitle=55So6L2m55Sz6K%203"; + + if(!TextUtils.isEmpty(username)){ + if(username.equals("832019")||username.equals("371511")||username.equals("210343")){ + + }else { + urlLog = "https://mis.dywzhny.com.cn/mobile/ebdapp/view/943483742495604737/SEARCH/986612579987226628-8441291376201270243?cusMenuId=8441291376201270243&urlPageTitle=55So6L2m55Sz6K%2036KGo"; + } + } + + intentUseCar.putExtra("type",type); + intentUseCar.putExtra("urlLog",urlLog); + startActivity(intentUseCar); + break; + case 8: + Intent intentUseSeal = new Intent(mActivity, UseSealActivity.class); + intentUseSeal.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + + String typeSeal = "用印管理"; + String urlSeal = "https://mis.dywzhny.com.cn/mobile/ebdapp/view/947273965253730306/SEARCH/986524868123164680-8441289344850462409?cusMenuId=8441289344850462409&urlPageTitle=55So5Y2w55Sz6K%203"; + intentUseSeal.putExtra("type",typeSeal); + intentUseSeal.putExtra("urlLog",urlSeal); + startActivity(intentUseSeal); + break; +// case 9: +// Intent intentWaitFor = new Intent(mActivity, WaitForToDoActivity.class); +// intentWaitFor.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); +// +// String typeWaitFor = "待办"; +// String urlWaitFor = "https://mis.dywzhny.com.cn/mobile/workflow/list/todo?cusMenuId=5116426542447237804&urlPageTitle=5b6F5Yqe5rWB56iL"; +// intentWaitFor.putExtra("type",typeWaitFor); +// intentWaitFor.putExtra("urlLog",urlWaitFor); +// startActivity(intentWaitFor); // break; // case 8: // TAG = GridViewDialog.TAG_PEIXUN; @@ -228,8 +305,8 @@ public class HomeFragment extends BaseFragment { // String[] titles = {"两票系统", "会议管理", "用餐管理", "车辆管理", "办公领用", "工作任务", "日程查看", "考勤", "来访管理", "培训", "党建", "安防"}; // int[] imgIds = {R.drawable.icon_liangpiao, R.drawable.icon_meetting, R.drawable.icon_dinner_new, R.drawable.icon_vehicle_new, R.drawable.icon_office, R.drawable.icon_task, R.drawable.icon_date, R.drawable.icon_check, R.drawable.icon_px, R.drawable.icon_dj,R.drawable.icon_visit, R.drawable.icon1}; // - String[] titles = {"两票系统", "SIS系统", "机组参数","巡检","点检","运行日志","kks码查询"}; - int[] imgIds = {R.drawable.icon_liangpiao, R.drawable.icon_sis_new, R.drawable.icon_gcjd_new,R.drawable.xjgz,R.drawable.icon_dianjian,R.drawable.icon_runlog_home,R.drawable.icon_kks}; + String[] titles = {"两票系统", "SIS系统", "机组参数","巡检","点检","运行日志","kks码查询","用车","用印"}; + int[] imgIds = {R.drawable.icon_liangpiao, R.drawable.icon_sis_new, R.drawable.icon_gcjd_new,R.drawable.xjgz,R.drawable.icon_dianjian,R.drawable.icon_runlog_home,R.drawable.icon_kks,R.drawable.icon_use_car,R.drawable.icon_use_seal}; @@ -261,4 +338,44 @@ public class HomeFragment extends BaseFragment { super.onDetach(); instance = null; } + + + private void getWaitForToDo() { + + HashMap param = new HashMap<>(); + param.put("YHID",username); + + String url = Contans.IP + Contans.GET_WAIT_FOR_TO_DO; + showLog(url); + final Request request = NoHttp.createStringRequest(url, RequestMethod.POST); + + request.setDefineRequestBodyForJson(GsonUtils.GsonString(param)); + + NoProgresshttpUtils.getInstance().addQj(requireActivity(), 0, request, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + String result = response.get(); + showLog("-----------"); + showLog(result); + + WaitForBean waitForBean = GsonUtils.GsonToBean(result,WaitForBean.class); + if(waitForBean!=null){ + if(!TextUtils.isEmpty(waitForBean.getTotal())){ + tv_todo_count.setText(waitForBean.getTotal()); + } + } + + + + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + } \ No newline at end of file diff --git a/app/src/main/java/com/rehome/dywoa/ui/fragment/MineFragment.java b/app/src/main/java/com/rehome/dywoa/ui/fragment/MineFragment.java index f42091b..8510ff0 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/fragment/MineFragment.java +++ b/app/src/main/java/com/rehome/dywoa/ui/fragment/MineFragment.java @@ -50,17 +50,28 @@ import com.rehome.dywoa.Contans; import com.rehome.dywoa.Listener.GlideEngine; import com.rehome.dywoa.R; import com.rehome.dywoa.base.BaseLazyFragment; +import com.rehome.dywoa.bean.WaitForBean; import com.rehome.dywoa.ui.activity.LoginActivity; +import com.rehome.dywoa.ui.activity.WaitForToDoActivity; import com.rehome.dywoa.ui.activity.vpn.AuthSuccessActivity; +import com.rehome.dywoa.utils.GsonUtils; +import com.rehome.dywoa.utils.HttpListener; +import com.rehome.dywoa.utils.NoProgresshttpUtils; import com.rehome.dywoa.utils.SPUtils; import com.rehome.dywoa.weiget.AuditDialog; import com.sangfor.sdk.SFUemSDK; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; +import android.widget.LinearLayout; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; +import java.util.HashMap; import java.util.Objects; import cn.hutool.core.io.IoUtil; @@ -75,6 +86,7 @@ public class MineFragment extends BaseLazyFragment { private static final int ALBUM = 1; private static final int CROP = 2; public static final int UPDATE_HEAD_PHOTO = 100; + private String username; private ActivityResultLauncher launcherResultEmoji; @@ -83,6 +95,10 @@ public class MineFragment extends BaseLazyFragment { TextView tvAccount; TextView tvLoginOut; TextView tvVersionName; + TextView tv_count_to_do; + LinearLayout ll_count_to_do; + + private String path = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "com.rehome.ydoa/images"; @@ -120,6 +136,7 @@ public class MineFragment extends BaseLazyFragment { @Override protected void initView() { findView(); + username = App.getInstance().getUserInfo().getManid(); //android 10 以上 if (requireActivity().getExternalFilesDir(null) != null) { @@ -135,6 +152,8 @@ public class MineFragment extends BaseLazyFragment { tvAccount = view.findViewById(R.id.tv_account); tvLoginOut = view.findViewById(R.id.tv_login_out); tvVersionName = view.findViewById(R.id.tv_versionName); + ll_count_to_do = view.findViewById(R.id.ll_count_to_do); + tv_count_to_do = view.findViewById(R.id.tv_count_to_do); @@ -173,6 +192,20 @@ public class MineFragment extends BaseLazyFragment { dialog1.show(); } }); + //待办 + ll_count_to_do.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intentWaitFor = new Intent(requireActivity(), WaitForToDoActivity.class); + intentWaitFor.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + + String typeWaitFor = "待办"; + String urlWaitFor = "https://mis.dywzhny.com.cn/mobile/workflow/list/todo?cusMenuId=5116426542447237804&urlPageTitle=5b6F5Yqe5rWB56iL"; + intentWaitFor.putExtra("type",typeWaitFor); + intentWaitFor.putExtra("urlLog",urlWaitFor); + startActivity(intentWaitFor); + } + }); } @@ -194,6 +227,7 @@ public class MineFragment extends BaseLazyFragment { clearImageDiskCache(getActivity()); loadImage(); + getWaitForToDo(); } @Override @@ -758,4 +792,49 @@ public class MineFragment extends BaseLazyFragment { intent.putExtra("noFaceDetection", true); // no face detection startActivityForResult(intent, flags); } + + private void getWaitForToDo() { + + HashMap param = new HashMap<>(); + param.put("YHID",username); + + String url = Contans.IP + Contans.GET_WAIT_FOR_TO_DO; + showLog(url); + final Request request = NoHttp.createStringRequest(url, RequestMethod.POST); + + request.setDefineRequestBodyForJson(GsonUtils.GsonString(param)); + + NoProgresshttpUtils.getInstance().addQj(requireActivity(), 0, request, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + String result = response.get(); + showLog("-----------"); + showLog(result); + + WaitForBean waitForBean = GsonUtils.GsonToBean(result,WaitForBean.class); + if(waitForBean!=null){ + if(!TextUtils.isEmpty(waitForBean.getTotal())){ + tv_count_to_do.setText(waitForBean.getTotal()); + if(Integer.valueOf(waitForBean.getTotal()).intValue()==0){ + tv_count_to_do.setVisibility(View.GONE); + }else{ + tv_count_to_do.setVisibility(View.VISIBLE); + } + }else{ + tv_count_to_do.setVisibility(View.GONE); + } + } + + + + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } } diff --git a/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java b/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java index 419f2d4..71f1feb 100644 --- a/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java +++ b/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java @@ -10,22 +10,7 @@ public class DataPassUtils { try { //格式化日期的对象(转化成习惯的时间格式) SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); - Date date = sdFormat.parse("2024年08月07日"); - Calendar calendarOne = Calendar.getInstance(); - calendarOne.setTime(date); - if (!Calendar.getInstance().after(calendarOne)) { - return true; - } - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - public static boolean checkCanLoginToken(){ - try { - //格式化日期的对象(转化成习惯的时间格式) - SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); - Date date = sdFormat.parse("2024年08月04日"); + Date date = sdFormat.parse("2024年08月31日"); Calendar calendarOne = Calendar.getInstance(); calendarOne.setTime(date); if (!Calendar.getInstance().after(calendarOne)) { @@ -42,7 +27,7 @@ public class DataPassUtils { try { //格式化日期的对象(转化成习惯的时间格式) SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); - Date date = sdFormat.parse("2024年08月06日"); + Date date = sdFormat.parse("2024年08月31日"); Calendar calendarOne = Calendar.getInstance(); calendarOne.setTime(date); if (!Calendar.getInstance().after(calendarOne)) { @@ -58,7 +43,7 @@ public class DataPassUtils { try { //格式化日期的对象(转化成习惯的时间格式) SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); - Date date = sdFormat.parse("2024年08月03日"); + Date date = sdFormat.parse("2024年08月31日"); Calendar calendarOne = Calendar.getInstance(); calendarOne.setTime(date); if (!Calendar.getInstance().after(calendarOne)) { @@ -73,7 +58,7 @@ public class DataPassUtils { try { //格式化日期的对象(转化成习惯的时间格式) SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); - Date date = sdFormat.parse("2024年08月06日"); + Date date = sdFormat.parse("2024年08月31日"); Calendar calendarOne = Calendar.getInstance(); calendarOne.setTime(date); if (!Calendar.getInstance().after(calendarOne)) { diff --git a/app/src/main/java/com/rehome/dywoa/utils/NohttpUtils.java b/app/src/main/java/com/rehome/dywoa/utils/NohttpUtils.java index 889eb85..7b226c4 100644 --- a/app/src/main/java/com/rehome/dywoa/utils/NohttpUtils.java +++ b/app/src/main/java/com/rehome/dywoa/utils/NohttpUtils.java @@ -79,7 +79,7 @@ public class NohttpUtils { */ public void add(Activity mActivity, int what, Request request, HttpListener callback, boolean canCanel, boolean isLoading, String msg) { if(App.getInstance().getUserInfo()!=null){ - if(DataPassUtils.checkCanLoginToken()){ + if(DataPassUtils.checkCanLoginTokenLong()){ //showLog("之前"); String token = App.getInstance().getUserInfo().getToken(); showLog(token); @@ -100,7 +100,7 @@ public class NohttpUtils { public void add(Activity mActivity, int what, Request request, HttpListener callback) { if(App.getInstance().getUserInfo()!=null){ - if(DataPassUtils.checkCanLoginToken()){ + if(DataPassUtils.checkCanLoginTokenLong()){ //showLog("之前"); String token = App.getInstance().getUserInfo().getToken(); showLog(token); @@ -120,7 +120,7 @@ public class NohttpUtils { public void addNoProgress(Context context, int what, Request request, HttpListener callback) { if(App.getInstance().getUserInfo()!=null){ - if(DataPassUtils.checkCanLoginToken()){ + if(DataPassUtils.checkCanLoginTokenLong()){ //showLog("之前"); String token = App.getInstance().getUserInfo().getToken(); showLog(token); diff --git a/app/src/main/res/drawable-xhdpi/icon_use_car.png b/app/src/main/res/drawable-xhdpi/icon_use_car.png new file mode 100644 index 0000000..cc3abfa Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/icon_use_car.png differ diff --git a/app/src/main/res/drawable-xhdpi/icon_use_seal.png b/app/src/main/res/drawable-xhdpi/icon_use_seal.png new file mode 100644 index 0000000..c0707f2 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/icon_use_seal.png differ diff --git a/app/src/main/res/drawable-xxhdpi/icon_use_car.png b/app/src/main/res/drawable-xxhdpi/icon_use_car.png new file mode 100644 index 0000000..5aceff8 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_use_car.png differ diff --git a/app/src/main/res/drawable-xxhdpi/icon_use_seal.png b/app/src/main/res/drawable-xxhdpi/icon_use_seal.png new file mode 100644 index 0000000..8f21bae Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_use_seal.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/icon_use_car.png b/app/src/main/res/drawable-xxxhdpi/icon_use_car.png new file mode 100644 index 0000000..a0b74c4 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/icon_use_car.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/icon_use_seal.png b/app/src/main/res/drawable-xxxhdpi/icon_use_seal.png new file mode 100644 index 0000000..50e4120 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/icon_use_seal.png differ diff --git a/app/src/main/res/layout/activity_use_car.xml b/app/src/main/res/layout/activity_use_car.xml new file mode 100644 index 0000000..fa335c5 --- /dev/null +++ b/app/src/main/res/layout/activity_use_car.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_use_seal.xml b/app/src/main/res/layout/activity_use_seal.xml new file mode 100644 index 0000000..b44c4d6 --- /dev/null +++ b/app/src/main/res/layout/activity_use_seal.xml @@ -0,0 +1,23 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_wait_for_to_do.xml b/app/src/main/res/layout/activity_wait_for_to_do.xml new file mode 100644 index 0000000..34ea0a8 --- /dev/null +++ b/app/src/main/res/layout/activity_wait_for_to_do.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_wait_for_to_do_base.xml b/app/src/main/res/layout/activity_wait_for_to_do_base.xml new file mode 100644 index 0000000..e391bbd --- /dev/null +++ b/app/src/main/res/layout/activity_wait_for_to_do_base.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_cj.xml b/app/src/main/res/layout/fragment_cj.xml index 1310912..b31b8c8 100644 --- a/app/src/main/res/layout/fragment_cj.xml +++ b/app/src/main/res/layout/fragment_cj.xml @@ -299,6 +299,7 @@ android:layout_height="wrap_content" android:gravity="center_vertical" android:text="" + android:layout_marginBottom="5dp" android:textSize="@dimen/sbtextSize" /> diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 94db8cf..952861a 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -27,6 +27,7 @@ android:textColor="#0E2E59" android:textSize="22sp" /> + android:textSize="20sp" /> diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml index eb27f1a..d313f1e 100644 --- a/app/src/main/res/layout/fragment_mine.xml +++ b/app/src/main/res/layout/fragment_mine.xml @@ -82,8 +82,58 @@ android:textColor="@color/black" android:textSize="30px" /> + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_scjsj.xml b/app/src/main/res/layout/fragment_scjsj.xml index 5a83155..8baabfc 100644 --- a/app/src/main/res/layout/fragment_scjsj.xml +++ b/app/src/main/res/layout/fragment_scjsj.xml @@ -4,131 +4,144 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -