diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 49a8458..95e0b63 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1209,7 +1209,11 @@ + android:windowSoftInputMode="adjustResize|stateHidden" /> + diff --git a/app/src/main/java/com/rehome/zhdcoa/adapter/WeatherHistoryAdapter.java b/app/src/main/java/com/rehome/zhdcoa/adapter/WeatherHistoryAdapter.java new file mode 100644 index 0000000..fe9c471 --- /dev/null +++ b/app/src/main/java/com/rehome/zhdcoa/adapter/WeatherHistoryAdapter.java @@ -0,0 +1,60 @@ +package com.rehome.zhdcoa.adapter; + + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.rehome.zhdcoa.base.BaseViewBindingAdapter; +import com.rehome.zhdcoa.bean.WeatherHistoryBean; +import com.rehome.zhdcoa.databinding.AdapterWeatherHistoryBinding; +import java.util.List; + +public class WeatherHistoryAdapter extends BaseViewBindingAdapter { + private List datas; + + public WeatherHistoryAdapter(Context context, List datas) { + super(context); + this.datas = datas; + } + + @Override + protected void handleData(int position, AdapterWeatherHistoryBinding binding) { + WeatherHistoryBean.DataBean item = datas.get(position); + if (item != null) { + binding.tvTime.setText(item.getTime()); + binding.tvValue.setText(item.getVal()); + } + } + + @Override + protected AdapterWeatherHistoryBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup parent) { + return AdapterWeatherHistoryBinding.inflate(inflater, parent, false); + } + + @Override + public int getCount() { + return datas.size(); + } + + @Override + public Object getItem(int position) { + return datas.get(position); + } + + @Override + public long getItemId(int position) { + return Long.valueOf(position); + } + + public interface OnWorkRiskLevelClickListener { + void onItemClick(int position); + } + public interface OnWorkRiskContentlickListener { + void onItemClick(int position); + } + public interface OnPaoHaolickListener { + void onItemClick(int position); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/rehome/zhdcoa/bean/WeatherHistoryBean.java b/app/src/main/java/com/rehome/zhdcoa/bean/WeatherHistoryBean.java new file mode 100644 index 0000000..def8ee3 --- /dev/null +++ b/app/src/main/java/com/rehome/zhdcoa/bean/WeatherHistoryBean.java @@ -0,0 +1,54 @@ +package com.rehome.zhdcoa.bean; + +import java.util.List; + +public class WeatherHistoryBean extends AIBaseBean{ + private int TotalPage; + private int Total; + private List data; + + public int getTotalPage() { + return TotalPage; + } + + public void setTotalPage(int totalPage) { + TotalPage = totalPage; + } + + public int getTotal() { + return Total; + } + + public void setTotal(int total) { + Total = total; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + private String time; + private String val; + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } + + public String getVal() { + return val; + } + + public void setVal(String val) { + this.val = val; + } + } +} diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WeatherActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WeatherActivity.kt index e5cc500..9f7153c 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WeatherActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WeatherActivity.kt @@ -37,30 +37,6 @@ import javax.net.ssl.HostnameVerifier */ class WeatherActivity : BaseActivityOaToolbarViewBinding() { - private lateinit var headView: View - - private var datas: MutableList = mutableListOf() - private lateinit var mAdapter: WorkRiskLevelListAdapter - - private var selectList: MutableList = mutableListOf() - private var jobNoList: MutableList = mutableListOf() - - private var selectListAssistant: MutableList = mutableListOf() - private var jobNoListAssistant: MutableList = mutableListOf() - - private var selectListCustom: MutableList = mutableListOf() - private var jobNoListCustom: MutableList = mutableListOf() - - private var dataA: MutableList = mutableListOf() - private var dataB: MutableList = mutableListOf() - private var dataC1: MutableList = mutableListOf() - private var dataC2: MutableList = mutableListOf() - private var dataC3: MutableList = mutableListOf() - private var dataLowRisk: MutableList = mutableListOf() - - - - override fun getViewBinding() = ActivityWeatherBinding.inflate(layoutInflater) override fun getToolbar() = binding.toolbarView.toolbar @@ -106,13 +82,13 @@ class WeatherActivity : BaseActivityOaToolbarViewBinding binding.rlQiya.setOnClickListener { showHistoryPage("大气气压") } - binding.rlFengqiang.setOnClickListener { + binding.rlFengshu.setOnClickListener { showHistoryPage("实时风速") } - binding.rlYuliang.setOnClickListener { + binding.rlFengqiang.setOnClickListener { showHistoryPage("实时风向") } - binding.rlFengshu.setOnClickListener { + binding.rlYuliang.setOnClickListener { showHistoryPage("日雨量累计") } } @@ -122,10 +98,9 @@ class WeatherActivity : BaseActivityOaToolbarViewBinding } private fun showHistoryPage(type: String) { - val intent = Intent(context, WorkTickerAssistantSelectListActivity::class.java) + val intent = Intent(context, WeatherHistoryActivity::class.java) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) - intent.putExtra("selectList", GsonUtils.GsonString(selectListAssistant)) - intent.putExtra("jobNoList", GsonUtils.GsonString(jobNoListAssistant)) + intent.putExtra("dataType", type) startActivity(intent) } @@ -173,14 +148,4 @@ class WeatherActivity : BaseActivityOaToolbarViewBinding } }) } - - - - private fun toWorkRiskListHuiBaoActivity(type:String){ - //工作情况汇报 - val intent = Intent(context, WorkRiskListHuiBaoActivity::class.java) - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) - intent.putExtra("type",type) - startActivity(intent) - } } \ No newline at end of file diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WeatherHistoryActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WeatherHistoryActivity.kt new file mode 100644 index 0000000..4451476 --- /dev/null +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WeatherHistoryActivity.kt @@ -0,0 +1,190 @@ +package com.rehome.zhdcoa.ui.activity + + +import android.annotation.SuppressLint +import android.content.Intent +import android.text.TextUtils +import android.view.View +import android.widget.TextView +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts +import com.rehome.zhdcoa.Contans +import com.rehome.zhdcoa.R +import com.rehome.zhdcoa.adapter.WeatherHistoryAdapter +import com.rehome.zhdcoa.adapter.WorkRiskLevelListAdapter +import com.rehome.zhdcoa.base.BaseActivityOaToolbarTwoViewBinding +import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding +import com.rehome.zhdcoa.bean.WeatherHistoryBean +import com.rehome.zhdcoa.bean.WeatherRealDataBean +import com.rehome.zhdcoa.bean.WorkRiskLevelListBean +import com.rehome.zhdcoa.completionUtil.ReplaceSpan +import com.rehome.zhdcoa.completionUtil.ReplaceSpan.OnClickListener +import com.rehome.zhdcoa.databinding.ActivityWeatherBinding +import com.rehome.zhdcoa.databinding.ActivityWeatherHistoryBinding +import com.rehome.zhdcoa.databinding.ActivityWorkRiskListBinding +import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils +import com.rehome.zhdcoa.utils.GsonUtils +import com.rehome.zhdcoa.utils.HttpListener +import com.rehome.zhdcoa.utils.NohttpUtils +import com.rehome.zhdcoa.utils.RSAAndroid +import com.yolanda.nohttp.NoHttp +import com.yolanda.nohttp.RequestMethod +import com.yolanda.nohttp.rest.Response +import java.text.SimpleDateFormat +import java.util.Calendar + + +/** + * Create By HuangWenFei + * 创建日期:2025-09-19 16:51 + * 描述:气象 历史数据 + */ +class WeatherHistoryActivity : BaseActivityOaToolbarViewBinding() { + + private lateinit var headView: View + + private var datas: MutableList = mutableListOf() + private lateinit var mAdapter: WeatherHistoryAdapter + private lateinit var dataType: String + + private var selectList: MutableList = mutableListOf() + private var jobNoList: MutableList = mutableListOf() + + private var selectListAssistant: MutableList = mutableListOf() + private var jobNoListAssistant: MutableList = mutableListOf() + + private var selectListCustom: MutableList = mutableListOf() + private var jobNoListCustom: MutableList = mutableListOf() + + private var dataA: MutableList = mutableListOf() + private var dataB: MutableList = mutableListOf() + private var dataC1: MutableList = mutableListOf() + private var dataC2: MutableList = mutableListOf() + private var dataC3: MutableList = mutableListOf() + private var dataLowRisk: MutableList = mutableListOf() + + private var page = 1 + private var pageSize = 500 + + override fun getViewBinding() = ActivityWeatherHistoryBinding.inflate(layoutInflater) + + override fun getToolbar() = binding.toolbarView.toolbar + + override fun initView() { + + initToolbar("历史数据", "", { + + }) + dataType = intent.getStringExtra("dataType").toString() + binding.itemHead.tvDataType.text = dataType + +// item_weather_list +// item_weather_header + + //格式化日期的对象(转化成习惯的时间格式) + val sdFormat = SimpleDateFormat("yyyy.MM.dd HH:mm:ss") + //静态方法getInstance()使用默认时区和语言环境获得一个日历。 + val calendar = Calendar.getInstance() + //输出当前系统时间; + //binding.tvTime.text = sdFormat.format(calendar.time) + + binding.lv.emptyView = binding.tvNodata + binding.tvNodata.visibility = View.VISIBLE + binding.lv.visibility = View.GONE + mAdapter = WeatherHistoryAdapter(this, datas) + binding.lv.adapter = mAdapter + + } + + @SuppressLint("SimpleDateFormat") + override fun initData() { + //格式化日期的对象(转化成习惯的时间格式) + val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") + //静态方法getInstance()使用默认时区和语言环境获得一个日历。 + val calendarSt = Calendar.getInstance() + val calendarEt = Calendar.getInstance() + + calendarSt.add(Calendar.HOUR, -2) + val st = sdf.format(calendarSt.time) + val et = sdf.format(calendarEt.time) + + requestData(st, et); + } + + private fun requestData(st: String, et: String) { + val request = NoHttp.createStringRequest( + Contans.BASE_URL + Contans.GET_WEATHER_HISTORY_DATA, + RequestMethod.GET + ) + + request.add("page", page) + request.add("pageSize", pageSize) +// request.add("dataType",dataType) + request.add("times", st) + request.add("timee", et) + + if ("大气温度" == dataType) { + request.add("dataType", "E16") + } + if ("大气湿度" == dataType) { + request.add("dataType", "E14") + } + if ("大气气压" == dataType) { + request.add("dataType", "E15") + } + if ("实时风速" == dataType) { + request.add("dataType", "E1") + } + if ("实时风向" == dataType) { + request.add("dataType", "E12") + } + if ("日雨量累计" == dataType) { + request.add("dataType", "E4") + } + +// 数据类型: +// E1:风速(米/秒) +// E4:日雨量(毫米) +// E12:风向(度) +// E14:湿度(%) +// E15:气压(hPa) +// E16:气温(摄氏度) + + + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + + override fun onSucceed(what: Int, response: Response?) { + val result = response?.get() + showLog("----------------") + showLog(result) + val bean = GsonUtils.GsonToBean( + result, + WeatherHistoryBean::class.java + ) + if (bean != null && bean.code == 1 && bean.data != null && bean.data.size > 0) { + binding.tvNodata.visibility = View.GONE + binding.lv.visibility = View.VISIBLE + datas.clear() + datas.addAll(bean.data) + mAdapter.notifyDataSetChanged() + } else { + binding.tvNodata.visibility = View.VISIBLE + binding.lv.visibility = View.GONE + } + } + + override fun onFailed(what: Int, response: Response?) { + + } + }) + } + + + private fun toWorkRiskListHuiBaoActivity(type: String) { + //工作情况汇报 + val intent = Intent(context, WorkRiskListHuiBaoActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + intent.putExtra("type", type) + startActivity(intent) + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_weather.xml b/app/src/main/res/layout/activity_weather.xml index 1be05ff..310beb1 100644 --- a/app/src/main/res/layout/activity_weather.xml +++ b/app/src/main/res/layout/activity_weather.xml @@ -283,7 +283,7 @@ android:layout_marginStart="12dp" android:text="0" android:textColor="#000000" - android:textSize="20sp" /> + android:textSize="15sp" /> + android:textSize="15sp" /> + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_weather_history.xml b/app/src/main/res/layout/adapter_weather_history.xml new file mode 100644 index 0000000..62cd97e --- /dev/null +++ b/app/src/main/res/layout/adapter_weather_history.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_weather_header.xml b/app/src/main/res/layout/item_weather_header.xml new file mode 100644 index 0000000..b995d35 --- /dev/null +++ b/app/src/main/res/layout/item_weather_header.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_weather_list.xml b/app/src/main/res/layout/item_weather_list.xml new file mode 100644 index 0000000..ce59b15 --- /dev/null +++ b/app/src/main/res/layout/item_weather_list.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + +