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" /> + +