diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f9e8484..aee43fe 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1041,7 +1041,7 @@
android:windowSoftInputMode="adjustResize|stateHidden" />
() {
private var deviceCode:String?=null
+ private var deviceName:String?=null
+
override fun getViewBinding() = ActivityDeviceAlarmInfoDetailBinding.inflate(layoutInflater)
override fun getToolbar() = binding.toolbarView.toolbar
@@ -21,6 +23,7 @@ class DeviceAlarmInfoDetailActivity : BaseActivityOaToolbarViewBinding {
private String deviceCode;
+ private String deviceName;
+ //格式化日期的对象(转化成习惯的时间格式)
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdfHourMinute = new SimpleDateFormat("HH:mm");
private List deviceAlarmDataList = new ArrayList<>();
+ private ArrayList xlabellistdatas = new ArrayList<>();;
+
@Override
protected ActivityDeviceAlarmInfoLineChartBinding getBinding() {
return ActivityDeviceAlarmInfoLineChartBinding.inflate(LayoutInflater.from(this));
@@ -57,57 +91,161 @@ public class DeviceAlarmInfoLineChartActivity extends BaseViewBindingActivity {
+ try {
+ Date date = sdf.parse(binding.tvSt.getText().toString());
+ if(date != null){
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ DateTimeMinutePickDialog dialog = new DateTimeMinutePickDialog(context, calendar, true,true, (outPutDate, outPutDate1, outPutDate2) -> {
+ binding.tvSt.setText(outPutDate+":00");
+ });
+ dialog.show();
+ }
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ });
+ binding.tvEt.setOnClickListener(view -> {
+ try {
+ Date date = sdf.parse(binding.tvEt.getText().toString());
+ if(date != null){
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ DateTimeMinutePickDialog dialog = new DateTimeMinutePickDialog(context, calendar, true,true, (outPutDate, outPutDate1, outPutDate2) -> {
+ binding.tvEt.setText(outPutDate+":59");
+ });
+ dialog.show();
+ }
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ });
+
+ initRadioGroup();
+
String deviceCodeTemp = getIntent().getStringExtra("deviceCode");
if(deviceCodeTemp != null&&deviceCodeTemp.contains("\"")){
deviceCode=deviceCodeTemp.replace("\"","").trim();
}
+ String deviceNameTemp = getIntent().getStringExtra("deviceName");
+ if(deviceNameTemp != null&&deviceNameTemp.contains("\"")){
+ deviceName=deviceNameTemp.replace("\"","").trim();
+ }
}
@Override
protected void initData() {
- //http://10.19.0.17:1700/dserver/device/vibration/monitoring/list?deviceCode=002c005e&startTime=2026-01-21+14:37:00&endTime=2026-01-22+23:59:59&v=1769063841074
- /**
- * deviceCode
- * 002c005e
- * startTime
- * 2026-01-21 14:37:00
- * endTime
- * 2026-01-22 23:59:59
- * v
- * 1769063841074
- */
+ setDes();
if(deviceCode!=null){
showLog(deviceCode);
getDeviceAlarmInfoLineChartData();
}
}
- public void getDeviceAlarmInfoLineChartData() {
- //格式化日期的对象(转化成习惯的时间格式)
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd");
- //静态方法getInstance()使用默认时区和语言环境获得一个日历。
- Calendar calendar = Calendar.getInstance();
- //输出当前系统时间;
- //System.out.println("当前系统时间: "+sdFormat.format(calendar.getTime()));
- //add()增加日期,以天为单位(Calendar封装了很多静态的操作时间的单位)
- //增加10天,负数则为减少天数
- calendar.add(Calendar.DATE, -1);
- //输出增加10天后的时间;
- String startTime = sdf.format(calendar.getTime());
- showLog("startTime: "+startTime);
- Calendar calendarEnd = Calendar.getInstance();
- String endTime = sdfDay.format(calendarEnd.getTime())+" 23:59:59";
- showLog("endTime: "+endTime);
-
-
+ private void initRadioGroup(){
+ binding.rb1.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ if(isChecked){
+ binding.rb1.setChecked(true);
+ binding.rb2.setChecked(false);
+ binding.rb3.setChecked(false);
+ binding.rb4.setChecked(false);
+ binding.rb5.setChecked(false);
+ binding.rb6.setChecked(false);
+ binding.rb7.setChecked(false);
+ }
+ });
+ binding.rb2.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ if(isChecked){
+ binding.rb1.setChecked(false);
+ binding.rb2.setChecked(true);
+ binding.rb3.setChecked(false);
+ binding.rb4.setChecked(false);
+ binding.rb5.setChecked(false);
+ binding.rb6.setChecked(false);
+ binding.rb7.setChecked(false);
+ }
+ });
+ binding.rb3.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ if(isChecked){
+ binding.rb1.setChecked(false);
+ binding.rb2.setChecked(false);
+ binding.rb3.setChecked(true);
+ binding.rb4.setChecked(false);
+ binding.rb5.setChecked(false);
+ binding.rb6.setChecked(false);
+ binding.rb7.setChecked(false);
+ }
+ });
+ binding.rb4.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ if(isChecked){
+ binding.rb1.setChecked(false);
+ binding.rb2.setChecked(false);
+ binding.rb3.setChecked(false);
+ binding.rb4.setChecked(true);
+ binding.rb5.setChecked(false);
+ binding.rb6.setChecked(false);
+ binding.rb7.setChecked(false);
+ }
+ });
+ binding.rb5.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ if(isChecked){
+ binding.rb1.setChecked(false);
+ binding.rb2.setChecked(false);
+ binding.rb3.setChecked(false);
+ binding.rb4.setChecked(false);
+ binding.rb5.setChecked(true);
+ binding.rb6.setChecked(false);
+ binding.rb7.setChecked(false);
+ }
+ });
+ binding.rb6.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ if(isChecked){
+ binding.rb1.setChecked(false);
+ binding.rb2.setChecked(false);
+ binding.rb3.setChecked(false);
+ binding.rb4.setChecked(false);
+ binding.rb5.setChecked(false);
+ binding.rb6.setChecked(true);
+ binding.rb7.setChecked(false);
+ }
+ });
+ binding.rb7.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ if(isChecked){
+ binding.rb1.setChecked(false);
+ binding.rb2.setChecked(false);
+ binding.rb3.setChecked(false);
+ binding.rb4.setChecked(false);
+ binding.rb5.setChecked(false);
+ binding.rb6.setChecked(false);
+ binding.rb7.setChecked(true);
+ }
+ });
+ }
+ public void getDeviceAlarmInfoLineChartData() {
String url = Contans.IP + Contans.DeviceAlermInfoDataListUrl;
Request request = NoHttp.createStringRequest(url, RequestMethod.GET);
request.add("deviceCode", deviceCode);
- request.add("startTime", startTime);
- request.add("endTime", endTime);
+ request.add("startTime", binding.tvSt.getText().toString());
+ request.add("endTime", binding.tvEt.getText().toString());
NohttpUtils.getInstance().add(this,0, request, new HttpListener() {
@@ -121,7 +259,27 @@ public class DeviceAlarmInfoLineChartActivity extends BaseViewBindingActivity entries1 = new ArrayList<>();
+ for (int i = 0; i < deviceAlarmDataList.size(); i++) {
+ try {
+ DeviceAlarmInfoLineChartBean.DeviceVibrationMonitoringData item = deviceAlarmDataList.get(i);
+ entries1.add(new Entry(i, Float.parseFloat(item.getTemperature().toString())));
+ Date date = sdf.parse(item.getDeviceTime());
+ if(date != null){
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ xlabellistdatas.add(sdfHourMinute.format(calendar.getTime()));
+ }
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ showLog(String.valueOf(deviceAlarmDataList.size()));
+ setDatas(entries1);
+ }else{
+ showLog("is emply");
}
}
@@ -131,4 +289,80 @@ public class DeviceAlarmInfoLineChartActivity extends BaseViewBindingActivity datas) {
+ String deviceNameLine = deviceName+"温度";
+ List sets = new ArrayList<>();
+ LineDataSet dataSet1 = new LineDataSet(datas, deviceNameLine);
+ dataSet1.setValueTextSize(12);
+ dataSet1.setValueTextColor(Color.parseColor("#FC863E"));
+ dataSet1.setMode(LineDataSet.Mode.CUBIC_BEZIER);
+ dataSet1.setLineWidth(1);
+ dataSet1.setCircleHoleRadius(4);
+ dataSet1.enableDashedLine(5, 5, 0);
+ dataSet1.setCircleColor(Color.parseColor("#FC863E"));
+ dataSet1.setColor(Color.parseColor("#FC863E"));
+ dataSet1.setDrawHighlightIndicators(false);
+ dataSet1.setDrawFilled(true);
+ dataSet1.setFillDrawable(new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[]{Color.argb(127, 235, 170, 106), Color.parseColor("#00FA5544")}));
+ dataSet1.setLineWidth(1);
+ dataSet1.setDrawValues(false);
+// dataSet1.setValueFormatter(new MyValueFormatter());
+
+ sets.add(dataSet1);
+ LineData lineData = new LineData(sets);
+ binding.linechart.setData(lineData);
+ binding.linechart.invalidate();
+ XAxis xAxis = binding.linechart.getXAxis();
+ xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
+ xAxis.setAxisMinimum(1);//设置x轴最小
+ xAxis.setTextSize(8);
+ xAxis.setTextColor(Color.parseColor("#FC863E"));
+ xAxis.setEnabled(true);//是否显示x轴是否禁用
+ xAxis.setDrawLabels(true); //设置x轴标签 即x轴上显示的数值
+ xAxis.setDrawGridLines(true);//是否设置x轴上每个点对应的线 即 竖向的网格线
+ xAxis.enableGridDashedLine(2, 2, 2); //竖线 虚线样式 lineLength控制虚线段的长度 spaceLength控制线之间的空间
+ xAxis.setLabelRotationAngle(40f);//设置x轴标签的旋转角度
+ String[] timearray = xlabellistdatas.toArray(new String[xlabellistdatas.size()]);
+ xAxis.setValueFormatter(new IndexAxisValueFormatter(timearray));
+ YAxis yAxis = binding.linechart.getAxisRight();
+ yAxis.setEnabled(false);
+
+ float ratio = (float) xlabellistdatas.size() / (float) 10;
+ if (ratio < 1) {
+ ratio = 1.0f;
+ }
+ //显示的时候是按照多大的比率缩放显示,1f表示不放大缩小
+ //着重说明一下下面代码的用途
+ /**
+ * 先将缩放比设置成0后,再去设置你想要的缩放比。
+ * 若不这样做的话,在当前页面重新加载数据时,你所设置的缩放比会失效,并且出现你意向不到的显示问题。
+ * 如果你的图表只在页面加载一次的话不需要这么做。
+ */
+ binding.linechart.zoom(0f, 1f, 0, 0);
+ binding.linechart.zoom(ratio, 1f, 0, 0);
+ //设置为不可缩放
+ binding.linechart.setScaleEnabled(false);
+ //设置为可左右滑动
+ binding.linechart.setDragEnabled(true);
+
+
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt
index 57e68d9..e87d121 100644
--- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt
+++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt
@@ -240,6 +240,9 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() {
binding.etUsername.setText("ZHPS_Admin")
binding.etPassword.setText("Rehome.zhps@996")
+// binding.etUsername.setText("310249")
+// binding.etPassword.setText("GZgs#@0249")
+
//公司内网215管理员
// binding.etUsername.setText("ZHPS_Admin")
diff --git a/app/src/main/res/layout/activity_device_alarm_info_line_chart.xml b/app/src/main/res/layout/activity_device_alarm_info_line_chart.xml
index 16aee34..105ac6a 100644
--- a/app/src/main/res/layout/activity_device_alarm_info_line_chart.xml
+++ b/app/src/main/res/layout/activity_device_alarm_info_line_chart.xml
@@ -1,21 +1,204 @@
-
+ android:orientation="vertical"
+ tools:context=".ui.activity.DeviceAlarmInfoLineChartActivity">
+ layout="@layout/toolbar_yx" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:layout_height="400dp"/>