From 2f9fa55238a5e10e851e78f057c2ed323d2ca4f2 Mon Sep 17 00:00:00 2001 From: hwf453 Date: Mon, 22 Jul 2024 23:35:48 +0800 Subject: [PATCH] =?UTF-8?q?1.1.0=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 5 + .../main/java/com/rehome/dywoa/Contans.java | 20 +- .../dywoa/adapter/KksSearchGongDanAdapter.kt | 47 ++++ .../dywoa/bean/DefectWorkOrderInfo.java | 101 ++++++++ .../dywoa/ui/activity/KksSearchActivity.kt | 15 +- .../ui/activity/KksSearchGongDanActivity.kt | 135 +++++++++++ .../com/rehome/dywoa/utils/DataPassUtils.java | 6 +- .../dywoa/utils/NoProgresshttpUtils.java | 5 - .../main/res/layout/activity_kks_search.xml | 35 ++- .../layout/activity_kks_search_gong_dan.xml | 37 +++ .../layout/adapter_kks_search_gong_dan.xml | 215 ++++++++++++++++++ app/src/main/res/values/styles.xml | 2 + 13 files changed, 606 insertions(+), 21 deletions(-) create mode 100644 app/src/main/java/com/rehome/dywoa/adapter/KksSearchGongDanAdapter.kt create mode 100644 app/src/main/java/com/rehome/dywoa/bean/DefectWorkOrderInfo.java create mode 100644 app/src/main/java/com/rehome/dywoa/ui/activity/KksSearchGongDanActivity.kt create mode 100644 app/src/main/res/layout/activity_kks_search_gong_dan.xml create mode 100644 app/src/main/res/layout/adapter_kks_search_gong_dan.xml diff --git a/app/build.gradle b/app/build.gradle index e706cdf..f899d90 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.rehome.dywoa" minSdk 24 targetSdk 34 - versionCode 10 - versionName "1.0.9" + versionCode 11 + versionName "1.1.0" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //每个应用拥有不同的authorities,防止相同的在同一个手机上无法同时安装 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 933b883..5d9561d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -257,6 +257,11 @@ android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:launchMode="singleInstance" /> + ) : 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? + ) = AdapterKksSearchGongDanBinding.inflate(inflater, parent, false) + override fun handleData(position: Int, binding: AdapterKksSearchGongDanBinding) { + val item: DefectWorkOrderInfo.Row = data[position] + binding.tvGongdanDesc.text = item.workOrderDesc + + binding.tvKksCode.text = item.kksCode + binding.tvGongdanCode.text = item.workOrderCode + + binding.tvGzqx.text = item.symptomsDesc + binding.tvQxyy.text = item.reason + + binding.tvZy.text = item.speciality + binding.tvBgr.text = item.reporter + + binding.tvBgsj.text = item.bgrqortDate + } +} + + + +// \ No newline at end of file diff --git a/app/src/main/java/com/rehome/dywoa/bean/DefectWorkOrderInfo.java b/app/src/main/java/com/rehome/dywoa/bean/DefectWorkOrderInfo.java new file mode 100644 index 0000000..8b4916e --- /dev/null +++ b/app/src/main/java/com/rehome/dywoa/bean/DefectWorkOrderInfo.java @@ -0,0 +1,101 @@ +package com.rehome.dywoa.bean; + +import java.util.List; + +public class DefectWorkOrderInfo extends BaseListBean { + + private List Rows; + + public List getRows() { + return Rows; + } + + public void setRows(List rows) { + Rows = rows; + } + + public static class Row { + private String id; + private String kksCode; + private String workOrderCode; + private String workOrderDesc; + private String symptomsDesc; + private String reason; + private String speciality; + private String reporter; + private String bgrqortDate; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKksCode() { + return kksCode; + } + + public void setKksCode(String kksCode) { + this.kksCode = kksCode; + } + + public String getWorkOrderCode() { + return workOrderCode; + } + + public void setWorkOrderCode(String workOrderCode) { + this.workOrderCode = workOrderCode; + } + + public String getWorkOrderDesc() { + return workOrderDesc; + } + + public void setWorkOrderDesc(String workOrderDesc) { + this.workOrderDesc = workOrderDesc; + } + + public String getSymptomsDesc() { + return symptomsDesc; + } + + public void setSymptomsDesc(String symptomsDesc) { + this.symptomsDesc = symptomsDesc; + } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + public String getSpeciality() { + return speciality; + } + + public void setSpeciality(String speciality) { + this.speciality = speciality; + } + + public String getReporter() { + return reporter; + } + + public void setReporter(String reporter) { + this.reporter = reporter; + } + + public String getBgrqortDate() { + return bgrqortDate; + } + + public void setBgrqortDate(String bgrqortDate) { + this.bgrqortDate = bgrqortDate; + } + } + +} diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/KksSearchActivity.kt b/app/src/main/java/com/rehome/dywoa/ui/activity/KksSearchActivity.kt index 177b48d..72bb851 100644 --- a/app/src/main/java/com/rehome/dywoa/ui/activity/KksSearchActivity.kt +++ b/app/src/main/java/com/rehome/dywoa/ui/activity/KksSearchActivity.kt @@ -18,14 +18,18 @@ import com.rehome.dywoa.databinding.ActivityKksSearchBinding import com.rehome.dywoa.utils.GsonUtils import com.rehome.dywoa.utils.HttpListener import com.rehome.dywoa.utils.NohttpUtils +import com.rehome.dywoa.weiget.DatePickDialog import com.yolanda.nohttp.NoHttp import com.yolanda.nohttp.RequestMethod import com.yolanda.nohttp.rest.Response +import java.util.Calendar class KksSearchActivity : BaseActivityOaToolbarViewBinding() { private val QRCODE_SCAN_CAMERA_REQUEST_CODE = 4 //扫描二維码请求摄像头权限 + private var qrCodeStrSearch: String? = null + private val permission = arrayOf( Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE @@ -44,6 +48,15 @@ class KksSearchActivity : BaseActivityOaToolbarViewBinding + if(qrCodeStrSearch!=null){ + val intent = Intent(context, KksSearchGongDanActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + intent.putExtra("kks",qrCodeStrSearch) + startActivity(intent) + } + }) } override fun initData() { @@ -147,7 +160,7 @@ class KksSearchActivity : BaseActivityOaToolbarViewBinding() { + + private lateinit var adapter: KksSearchGongDanAdapter + private var datas: MutableList = mutableListOf() + private var kks:String? = null + + override fun getViewBinding() = ActivityKksSearchGongDanBinding.inflate(layoutInflater) + + override fun getToolbar() = binding.toolbarView.toolbar + + override fun initView() { + initToolbar("工单消缺", "") { + + } + + adapter = KksSearchGongDanAdapter(context, datas) + binding.lv.adapter = adapter + + binding.tvNodata.visibility= View.VISIBLE + binding.lv.visibility= View.GONE + + kks = intent.getStringExtra("kks") + + } + + override fun initData() { + if(kks!=null){ + //检查服务器连接状态 + checkServerConnectStatus() + }else{ + showToast("kks码不能为空") + } + + } + + //检查服务器连接状态 + 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("无法连接到服务器,请检查网络环境") + } + }) + } + + fun getListData() { + + + var param = HashMap() + param["txm"] = kks!! + val json = GsonUtils.GsonString(param) + + val url: String = Contans.IP + Contans.KKS_SEARCH_GDXQ + 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, DefectWorkOrderInfo::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, "正在加载数据...") + } +} \ No newline at end of file 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 18b577c..6f7a0d6 100644 --- a/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java +++ b/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java @@ -10,7 +10,7 @@ public class DataPassUtils { try { //格式化日期的对象(转化成习惯的时间格式) SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); - Date date = sdFormat.parse("2024年07月24日"); + Date date = sdFormat.parse("2024年08月24日"); Calendar calendarOne = Calendar.getInstance(); calendarOne.setTime(date); if (!Calendar.getInstance().after(calendarOne)) { @@ -25,7 +25,7 @@ public class DataPassUtils { try { //格式化日期的对象(转化成习惯的时间格式) SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); - Date date = sdFormat.parse("2024年07月23日"); + Date date = sdFormat.parse("2024年08月23日"); Calendar calendarOne = Calendar.getInstance(); calendarOne.setTime(date); if (!Calendar.getInstance().after(calendarOne)) { @@ -41,7 +41,7 @@ public class DataPassUtils { try { //格式化日期的对象(转化成习惯的时间格式) SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); - Date date = sdFormat.parse("2024年07月26日"); + Date date = sdFormat.parse("2024年08月22日"); Calendar calendarOne = Calendar.getInstance(); calendarOne.setTime(date); if (!Calendar.getInstance().after(calendarOne)) { diff --git a/app/src/main/java/com/rehome/dywoa/utils/NoProgresshttpUtils.java b/app/src/main/java/com/rehome/dywoa/utils/NoProgresshttpUtils.java index e6bce3b..ffc8a87 100644 --- a/app/src/main/java/com/rehome/dywoa/utils/NoProgresshttpUtils.java +++ b/app/src/main/java/com/rehome/dywoa/utils/NoProgresshttpUtils.java @@ -1,25 +1,20 @@ package com.rehome.dywoa.utils; - import android.app.Activity; import android.content.Context; import android.text.TextUtils; import android.util.Log; - import com.rehome.dywoa.App; import com.rehome.dywoa.BuildConfig; -import com.rehome.dywoa.Contans; import com.rehome.dywoa.R; import com.yolanda.nohttp.NoHttp; import com.yolanda.nohttp.download.DownloadQueue; import com.yolanda.nohttp.rest.Request; import com.yolanda.nohttp.rest.RequestQueue; - import java.security.KeyStore; import java.security.SecureRandom; import java.security.cert.CertificateFactory; - import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManagerFactory; diff --git a/app/src/main/res/layout/activity_kks_search.xml b/app/src/main/res/layout/activity_kks_search.xml index f1c39ed..8e29239 100644 --- a/app/src/main/res/layout/activity_kks_search.xml +++ b/app/src/main/res/layout/activity_kks_search.xml @@ -191,7 +191,6 @@ style="@style/logItemStyle"> + + + + + + + + diff --git a/app/src/main/res/layout/activity_kks_search_gong_dan.xml b/app/src/main/res/layout/activity_kks_search_gong_dan.xml new file mode 100644 index 0000000..12a44b8 --- /dev/null +++ b/app/src/main/res/layout/activity_kks_search_gong_dan.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_kks_search_gong_dan.xml b/app/src/main/res/layout/adapter_kks_search_gong_dan.xml new file mode 100644 index 0000000..b0069fe --- /dev/null +++ b/app/src/main/res/layout/adapter_kks_search_gong_dan.xml @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 9ef142e..ec5428d 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -180,11 +180,13 @@