diff --git a/app/src/main/java/com/casic/qd/smartwell/widgets/DateSelectDialog.kt b/app/src/main/java/com/casic/qd/smartwell/widgets/DateSelectDialog.kt
index fda3a03..ee39ebd 100644
--- a/app/src/main/java/com/casic/qd/smartwell/widgets/DateSelectDialog.kt
+++ b/app/src/main/java/com/casic/qd/smartwell/widgets/DateSelectDialog.kt
@@ -6,14 +6,14 @@
import android.view.Gravity
import androidx.fragment.app.FragmentManager
import com.casic.qd.smartwell.R
-import com.casic.qd.smartwell.extensions.convertColor
-import com.casic.qd.smartwell.extensions.initDialogLayoutParams
-import com.casic.qd.smartwell.extensions.timestampToDate
-import com.casic.qd.smartwell.extensions.timestampToTime
+import com.casic.qd.smartwell.extensions.*
import com.casic.qd.smartwell.utils.Constant
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import kotlinx.android.synthetic.main.dialog_select_date.*
+import java.text.ParseException
+import java.text.SimpleDateFormat
+import java.util.*
class DateSelectDialog private constructor(builder: Builder) : Dialog(
builder.context, R.style.UserDefinedDialogStyle
@@ -132,7 +132,14 @@
dialogConfirmButton.text = positiveBtn
dialogConfirmButton.setOnClickListener {
- listener.onConfirmClick(startDateView.text.toString(), endDateView.text.toString())
+ //判断其实时间和结束时间
+ val startDate = startDateView.text.toString()
+ val endDate = endDateView.text.toString()
+ if (isEarlierThanStart(startDate, endDate)) {
+ "结束时间不能早于开始时间".show()
+ return@setOnClickListener
+ }
+ listener.onConfirmClick(startDate, endDate)
this.dismiss()
}
}
@@ -142,4 +149,24 @@
fun onCancelClick()
}
+
+ /**
+ * 判断时间是否早于当前时间
+ */
+ private fun isEarlierThanStart(start: String, end: String): Boolean {
+ if (start.isBlank() || end.isBlank()) {
+ return false
+ }
+ val dateFormat = if (type == Type.ALL) {
+ SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA)
+ } else {
+ SimpleDateFormat("yyyy-MM-dd", Locale.CHINA)
+ }
+ try {
+ return dateFormat.parse(start)?.time!! > dateFormat.parse(end)?.time!!
+ } catch (e: ParseException) {
+ e.printStackTrace();
+ }
+ return false
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/qd/smartwell/widgets/DateSelectDialog.kt b/app/src/main/java/com/casic/qd/smartwell/widgets/DateSelectDialog.kt
index fda3a03..ee39ebd 100644
--- a/app/src/main/java/com/casic/qd/smartwell/widgets/DateSelectDialog.kt
+++ b/app/src/main/java/com/casic/qd/smartwell/widgets/DateSelectDialog.kt
@@ -6,14 +6,14 @@
import android.view.Gravity
import androidx.fragment.app.FragmentManager
import com.casic.qd.smartwell.R
-import com.casic.qd.smartwell.extensions.convertColor
-import com.casic.qd.smartwell.extensions.initDialogLayoutParams
-import com.casic.qd.smartwell.extensions.timestampToDate
-import com.casic.qd.smartwell.extensions.timestampToTime
+import com.casic.qd.smartwell.extensions.*
import com.casic.qd.smartwell.utils.Constant
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import kotlinx.android.synthetic.main.dialog_select_date.*
+import java.text.ParseException
+import java.text.SimpleDateFormat
+import java.util.*
class DateSelectDialog private constructor(builder: Builder) : Dialog(
builder.context, R.style.UserDefinedDialogStyle
@@ -132,7 +132,14 @@
dialogConfirmButton.text = positiveBtn
dialogConfirmButton.setOnClickListener {
- listener.onConfirmClick(startDateView.text.toString(), endDateView.text.toString())
+ //判断其实时间和结束时间
+ val startDate = startDateView.text.toString()
+ val endDate = endDateView.text.toString()
+ if (isEarlierThanStart(startDate, endDate)) {
+ "结束时间不能早于开始时间".show()
+ return@setOnClickListener
+ }
+ listener.onConfirmClick(startDate, endDate)
this.dismiss()
}
}
@@ -142,4 +149,24 @@
fun onCancelClick()
}
+
+ /**
+ * 判断时间是否早于当前时间
+ */
+ private fun isEarlierThanStart(start: String, end: String): Boolean {
+ if (start.isBlank() || end.isBlank()) {
+ return false
+ }
+ val dateFormat = if (type == Type.ALL) {
+ SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA)
+ } else {
+ SimpleDateFormat("yyyy-MM-dd", Locale.CHINA)
+ }
+ try {
+ return dateFormat.parse(start)?.time!! > dateFormat.parse(end)?.time!!
+ } catch (e: ParseException) {
+ e.printStackTrace();
+ }
+ return false
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_statistics.xml b/app/src/main/res/layout/activity_statistics.xml
index b337919..2c9196a 100644
--- a/app/src/main/res/layout/activity_statistics.xml
+++ b/app/src/main/res/layout/activity_statistics.xml
@@ -46,6 +46,14 @@
android:layout_height="@dimen/AndroidChartHeight" />
+
+