From 08347a810c72a401d23fbd6673560512bdfc4a87 Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 2 Nov 2024 17:57:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E6=80=A5=E9=A2=84=E6=A1=88=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 6 +- .../main/java/com/rehome/dywoa/Contans.java | 32 +-- .../dywoa/Listener/OnActionClickListener.java | 5 + .../dywoa/adapter/YjyaActionListAdapter.kt | 57 +++++ .../com/rehome/dywoa/bean/YjyaActionBean.java | 73 ++++++ .../rehome/dywoa/ui/activity/LoginActivity.kt | 14 +- .../dywoa/ui/activity/YjyaActionActivity.kt | 174 ++++++++++++++ .../rehome/dywoa/ui/activity/YjyaActivity.kt | 20 +- .../dywoa/ui/fragment/HomeFragment.java | 4 +- app/src/main/res/layout/activity_yjya.xml | 1 + .../main/res/layout/activity_yjya_action.xml | 36 +++ .../res/layout/adapter_yjya_action_list.xml | 224 ++++++++++++++++++ app/src/main/res/values/colors.xml | 1 + 13 files changed, 623 insertions(+), 24 deletions(-) create mode 100644 app/src/main/java/com/rehome/dywoa/Listener/OnActionClickListener.java create mode 100644 app/src/main/java/com/rehome/dywoa/adapter/YjyaActionListAdapter.kt create mode 100644 app/src/main/java/com/rehome/dywoa/bean/YjyaActionBean.java create mode 100644 app/src/main/java/com/rehome/dywoa/ui/activity/YjyaActionActivity.kt create mode 100644 app/src/main/res/layout/activity_yjya_action.xml create mode 100644 app/src/main/res/layout/adapter_yjya_action_list.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d15ae25..fae58d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -77,7 +77,9 @@ tools:ignore="GoogleAppIndexingWarning" tools:replace="android:allowBackup" tools:targetApi="s"> - + + android:screenOrientation="portrait" /> ,var mOnClickListener: OnActionClickListener +) : BaseViewBindingAdapter(context) { + + + override fun getCount(): Int { + return data.count() + } + + override fun getItem(position: Int): Any { + return data[position] + } + + override fun getItemId(position: Int): Long { + return position.toLong() + } + + override fun getBinding( + inflater: LayoutInflater, + parent: ViewGroup? + ) = AdapterYjyaActionListBinding.inflate(inflater, parent, false) + + override fun handleData(position: Int, binding: AdapterYjyaActionListBinding) { + val item: YjyaActionBean.Row = data[position] + binding.tvTitle.text = item.title + binding.tvYjlx.text = item.type + binding.tvYjbz.text = item.yjbz + binding.tvWorkContent.text = item.workContent + if(!TextUtils.isEmpty(item.zxzt)){ + if("0" == item.zxzt){ + binding.tvZxzt.text = "未执行" + } + if("1" == item.zxzt){ + binding.tvZxzt.text = "已执行" + } + } + + binding.tvStatus.setOnClickListener { + mOnClickListener.onActionClick(position) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/rehome/dywoa/bean/YjyaActionBean.java b/app/src/main/java/com/rehome/dywoa/bean/YjyaActionBean.java new file mode 100644 index 0000000..cf5547e --- /dev/null +++ b/app/src/main/java/com/rehome/dywoa/bean/YjyaActionBean.java @@ -0,0 +1,73 @@ +package com.rehome.dywoa.bean; + +import java.util.List; + +public class YjyaActionBean extends BaseListBean{ + + private List Rows; + + public List getRows() { + return Rows; + } + + public void setRows(List rows) { + Rows = rows; + } + + public static class Row { + private String zxid; + private String title; + private String type; + private String yjbz; + private String workContent; + private String zxzt; + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getZxzt() { + return zxzt; + } + + public void setZxzt(String zxzt) { + this.zxzt = zxzt; + } + + public String getWorkContent() { + return workContent; + } + + public void setWorkContent(String workContent) { + this.workContent = workContent; + } + + public String getYjbz() { + return yjbz; + } + + public void setYjbz(String yjbz) { + this.yjbz = yjbz; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + } +} 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 f39be23..0d4a5d8 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 @@ -199,22 +199,28 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { if (isApkInDebug(context)) { //测试 -// binding.etUsername.setText("371522") -// binding.etPassword.setText("A000000a.") + binding.etUsername.setText("371522") + binding.etPassword.setText("A000000a.") //ceshi1 // binding.etUsername.setText("ceshi1") // binding.etPassword.setText("A000000a.") + //瑞洪 RH00002/王总 RH00002/chao工 RH00003/范红波 -// binding.etUsername.setText("CY00005") +// binding.etUsername.setText("RH00002") +// binding.etPassword.setText("A000000a.") + +// binding.etUsername.setText("RH00002") // binding.etPassword.setText("A000000a.") -// binding.etUsername.setText("TD00003") + //重仪 +// binding.etUsername.setText("CY00005") // binding.etPassword.setText("A000000a.") + // binding.etUsername.setText("371543") // binding.etPassword.setText("Dyw@2024") diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/YjyaActionActivity.kt b/app/src/main/java/com/rehome/dywoa/ui/activity/YjyaActionActivity.kt new file mode 100644 index 0000000..5c9acec --- /dev/null +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/YjyaActionActivity.kt @@ -0,0 +1,174 @@ +package com.rehome.dywoa.ui.activity + +import android.content.Intent +import android.util.Log +import android.view.View +import android.widget.AdapterView +import com.rehome.dywoa.App +import com.rehome.dywoa.Contans +import com.rehome.dywoa.adapter.YjyaActionListAdapter +import com.rehome.dywoa.base.BaseActivityOaToolbarViewBinding +import com.rehome.dywoa.bean.StatusInfo +import com.rehome.dywoa.bean.YjyaActionBean +import com.rehome.dywoa.databinding.ActivityYjyaActionBinding +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.yolanda.nohttp.NoHttp +import com.yolanda.nohttp.RequestMethod +import com.yolanda.nohttp.rest.Response + +class YjyaActionActivity : BaseActivityOaToolbarViewBinding() { + + private lateinit var adapter: YjyaActionListAdapter + private var datas: MutableList = mutableListOf() + private lateinit var username: String + + + override fun getViewBinding() = ActivityYjyaActionBinding.inflate(layoutInflater) + + override fun getToolbar() = binding.toolbarView.toolbar + + override fun initView() { + initToolbar("应急预案执行状态", "") { + + } + + username = App.getInstance().userInfo.manid + adapter = YjyaActionListAdapter(context, datas + ) { position -> + var item = datas[position] + getActionTrigger(item) + } + + binding.lv.adapter = adapter + binding.tvNodata.visibility= View.VISIBLE + binding.lv.visibility= View.GONE + + + + } + + override fun initData() { + //检查服务器连接状态 + checkServerConnectStatus() + } + + //检查服务器连接状态 + 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") + //获取数据 + getListData() + } + } + } + + override fun onFailed(what: Int, response: Response?) { + showLog("connect server onFailed") + showToast("无法连接到服务器,请检查网络环境") + } + }) + } + + private fun getListData() { + + var yaid = intent.getStringExtra("YAID"); + if(yaid==null){ + showLog("预案id不能为空") + return + } + + var param = HashMap() + param["GH"] = username + param["YAID"] = yaid + val json = GsonUtils.GsonString(param) + + val url: String = Contans.IP + Contans.YJYA_GET_ACTION_LIST + val request = NoHttp.createStringRequest(url, RequestMethod.POST) + request.setDefineRequestBodyForJson(json) + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + override fun onSucceed(what: Int, response: Response?) { + if (response != null) { + val result = response.get() + showLog(result) + val bean = GsonUtils.GsonToBean(result, YjyaActionBean::class.java) + if (bean != null && bean.total != 0) { + if (bean.rows != null && bean.rows.size>0) { + datas.clear() + datas.addAll(bean.rows) + adapter.notifyDataSetChanged() + binding.tvNodata.visibility= View.GONE + binding.lv.visibility=View.VISIBLE + }else { + datas.clear() + adapter.notifyDataSetChanged() + binding.tvNodata.visibility= View.VISIBLE + binding.lv.visibility=View.GONE + } + } + } + } + + override fun onFailed(what: Int, response: Response?) { + + } + + }, true, true, "正在加载数据...") + } + + private fun getActionTrigger(item:YjyaActionBean.Row) { + + var param = HashMap() + param["ZXID"] = item.zxid + param["YHID"] = username + val json = GsonUtils.GsonString(param) + + val url: String = Contans.IP + Contans.YJYA_ACTION_URL + val request = NoHttp.createStringRequest(url, RequestMethod.POST) + request.setDefineRequestBodyForJson(json) + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + override fun onSucceed(what: Int, response: Response?) { + if (response != null) { + val result = response.get() + showLog(result) + val bean = GsonUtils.GsonToBean(result, StatusInfo::class.java) + if (bean != null) { + if (bean.state == 1) { + + showToast("执行成功") + //检查服务器连接状态 + checkServerConnectStatus() + } + if (bean.state == 2) { + showToast("执行失败") + } + } + } + } + + override fun onFailed(what: Int, response: Response?) { + + } + + }, true, true, "正在加载数据...") + } +} \ No newline at end of file diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/YjyaActivity.kt b/app/src/main/java/com/rehome/dywoa/ui/activity/YjyaActivity.kt index 5e103cb..98889d5 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/YjyaActivity.kt +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/YjyaActivity.kt @@ -1,8 +1,10 @@ package com.rehome.dywoa.ui.activity +import android.content.Intent import android.os.Bundle import android.util.Log import android.view.View +import android.widget.AdapterView import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat @@ -48,10 +50,24 @@ class YjyaActivity : BaseActivityOaToolbarViewBinding() { binding.tvNodata.visibility= View.VISIBLE binding.lv.visibility= View.GONE + binding.lv.onItemClickListener = + AdapterView.OnItemClickListener { parent: AdapterView<*>?, view: View?, position: Int, id: Long -> + val item = datas[position] + //点击进入应急预案执行状态 + val intent = Intent(context, YjyaActionActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + intent.putExtra("YAID",item.id) + startActivity(intent) + } } override fun initData() { + + } + + override fun onResume() { + super.onResume() //检查服务器连接状态 checkServerConnectStatus() } @@ -93,8 +109,8 @@ class YjyaActivity : BaseActivityOaToolbarViewBinding() { fun getListData() { var param = HashMap() - //param["GH"] = username - param["GH"] = "sysadmin" + param["GH"] = username + //param["GH"] = "sysadmin" val json = GsonUtils.GsonString(param) val url: String = Contans.IP + Contans.YJYA_GET_LIST_TJ 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 3739467..c84ed43 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 @@ -208,7 +208,7 @@ public class HomeFragment extends BaseFragment { startActivity(intentJiZhu); break; case 3: - if((firstDeparment!=null&&firstDeparment.equals("运行部"))||(firstDeparment!=null&&firstDeparment.equals("承包商"))||(username!=null&&username.equals("371522"))||(username!=null&&username.equals("ceshi1"))){ + if((firstDeparment!=null&&firstDeparment.equals("运行部"))||(firstDeparment!=null&&firstDeparment.equals("承包商"))||(username!=null&&username.equals("371522"))||(username!=null&&username.equals("ceshi1"))||(username!=null&&username.equals("RH00001"))){ Intent intentXj= new Intent(mActivity, XscbglActivity.class); intentXj.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intentXj); @@ -225,7 +225,7 @@ public class HomeFragment extends BaseFragment { break; case 5: //运行日志 - if((firstDeparment!=null&&firstDeparment.equals("运行部"))||(username!=null&&username.equals("371522"))){ + if((firstDeparment!=null&&firstDeparment.equals("运行部"))||(username!=null&&username.equals("371522"))||(username!=null&&username.equals("RH00001"))){ Intent intentLog = new Intent(mActivity, RunLogListActivity.class);//RunLogListActivity RunLogBaseActivity intentLog.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intentLog); diff --git a/app/src/main/res/layout/activity_yjya.xml b/app/src/main/res/layout/activity_yjya.xml index 0d9978a..9fbdcff 100644 --- a/app/src/main/res/layout/activity_yjya.xml +++ b/app/src/main/res/layout/activity_yjya.xml @@ -5,6 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" + android:background="#ffffff" tools:context=".ui.activity.YjyaActivity"> +> + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_yjya_action_list.xml b/app/src/main/res/layout/adapter_yjya_action_list.xml new file mode 100644 index 0000000..5d32ea6 --- /dev/null +++ b/app/src/main/res/layout/adapter_yjya_action_list.xml @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index b294738..929327b 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -11,6 +11,7 @@ #F0F5FB + #2dd52a #138CF2 #138CF2 #FF4081