[6.10.0]数据落盘更换日历用法
This commit is contained in:
@@ -1,17 +1,13 @@
|
||||
package com.mogo.eagle.core.function.hmi.ui.diskcopy
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.util.AttributeSet
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import com.mogo.eagle.core.data.deva.diskcopy.CopyCalendarInfo
|
||||
import com.mogo.eagle.core.function.api.devatools.IDiskCopyListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDiskCopyManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
@@ -32,14 +28,14 @@ import kotlinx.android.synthetic.main.view_disk_copy.view.tvDiskFreeSpace
|
||||
import kotlinx.android.synthetic.main.view_disk_copy.view.tvDiskUsedPercent
|
||||
import kotlinx.android.synthetic.main.view_disk_copy.view.viewDiskCopyDate
|
||||
import packet_mytest_upload.CopyBag
|
||||
import java.time.DayOfWeek
|
||||
import java.time.LocalDate
|
||||
import java.time.Month
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Calendar
|
||||
import java.util.Locale
|
||||
import java.util.TimeZone
|
||||
|
||||
/**
|
||||
* 数据落盘辅助工具
|
||||
*/
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class DiskCopyView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
@@ -63,15 +59,14 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
val gridLayoutManager = GridLayoutManager(context,7)
|
||||
diskCopyCalendarAdapter = DiskCopyCalendarAdapter()
|
||||
diskCopyCalendarAdapter?.setDateSelectListener(object: DiskCopyCalendarAdapter.DateSelectListener{
|
||||
override fun onDateSelect(date: String) {
|
||||
//
|
||||
override fun onDateSelect(info: CopyCalendarInfo) {
|
||||
//切换页面隐藏日历显示,切换为硬盘接入页面
|
||||
pbDiskCopyProgress.visibility = View.GONE
|
||||
groupDiskCopy.visibility = View.VISIBLE
|
||||
groupDateSelect.visibility = View.GONE
|
||||
//显示选择日期
|
||||
|
||||
|
||||
tvCurrentDate.text = info.uiDateFormat
|
||||
tvCurrentWeek.text = parseWeekDescribe(info.currentDayOfWeek)
|
||||
}
|
||||
})
|
||||
rvCalendar.adapter = diskCopyCalendarAdapter
|
||||
@@ -95,13 +90,9 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
private fun initData(){
|
||||
|
||||
//TODO 当前选择日期显示
|
||||
tvCurrentDate.text = "2025.2.8"
|
||||
tvCurrentWeek.text = "周六"
|
||||
|
||||
val formatIpc = SimpleDateFormat("yyyyMMdd", Locale.CHINA)
|
||||
val formatUi = SimpleDateFormat("yyyy.MM.dd",Locale.CHINA)
|
||||
//添加日历星期标题头
|
||||
calendarList.add(CopyCalendarInfo(true,"日"))
|
||||
calendarList.add(CopyCalendarInfo(true,"一"))
|
||||
@@ -111,86 +102,113 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
calendarList.add(CopyCalendarInfo(true,"五"))
|
||||
calendarList.add(CopyCalendarInfo(true,"六"))
|
||||
|
||||
val dateNow = LocalDate.now()
|
||||
|
||||
tvCurrentMonth.text = when(dateNow.month){
|
||||
Month.JANUARY->{
|
||||
val calendar: Calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"))
|
||||
val currentMonth = calendar.get(Calendar.MONTH)
|
||||
tvCurrentMonth.text = when(currentMonth){
|
||||
Calendar.JANUARY->{
|
||||
"一月"
|
||||
}
|
||||
Month.FEBRUARY->{
|
||||
Calendar.FEBRUARY->{
|
||||
"二月"
|
||||
}
|
||||
Month.MARCH->{
|
||||
Calendar.MARCH->{
|
||||
"三月"
|
||||
}
|
||||
Month.APRIL->{
|
||||
Calendar.APRIL->{
|
||||
"四月"
|
||||
}
|
||||
Month.MAY->{
|
||||
Calendar.MAY->{
|
||||
"五月"
|
||||
}
|
||||
Month.JUNE->{
|
||||
Calendar.JUNE->{
|
||||
"六月"
|
||||
}
|
||||
Month.JULY->{
|
||||
Calendar.JULY->{
|
||||
"七月"
|
||||
}
|
||||
Month.AUGUST->{
|
||||
Calendar.AUGUST->{
|
||||
"八月"
|
||||
}
|
||||
Month.SEPTEMBER->{
|
||||
Calendar.SEPTEMBER->{
|
||||
"九月"
|
||||
}
|
||||
Month.OCTOBER->{
|
||||
Calendar.OCTOBER->{
|
||||
"十月"
|
||||
}
|
||||
Month.NOVEMBER->{
|
||||
Calendar.NOVEMBER->{
|
||||
"十一月"
|
||||
}
|
||||
Month.DECEMBER->{
|
||||
Calendar.DECEMBER->{
|
||||
"十二月"
|
||||
}
|
||||
else -> {
|
||||
""
|
||||
}
|
||||
}
|
||||
val today = dateNow.dayOfMonth
|
||||
val yesterday = dateNow.minusDays(1).dayOfMonth
|
||||
val twoDaysAgo = dateNow.minusDays(2).dayOfMonth
|
||||
val threeDaysAgo = dateNow.minusDays(3).dayOfMonth
|
||||
val fourDaysAgo = dateNow.minusDays(4).dayOfMonth
|
||||
val fiveDaysAgo = dateNow.minusDays(5).dayOfMonth
|
||||
val sixDaysAgo = dateNow.minusDays(6).dayOfMonth
|
||||
|
||||
when(dateNow.minusDays(6).dayOfWeek){
|
||||
val today = calendar.get(Calendar.DAY_OF_MONTH)
|
||||
val todayOfIpc = formatIpc.format(calendar.time)
|
||||
val todayOfUi = formatUi.format(calendar.time)
|
||||
val todayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1)
|
||||
val yesterday = calendar.get(Calendar.DAY_OF_MONTH)
|
||||
val yesterdayOfIpc = formatIpc.format(calendar.time)
|
||||
val yesterdayOfUi = formatUi.format(calendar.time)
|
||||
val yesterdayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1)
|
||||
val twoDaysAgo = calendar.get(Calendar.DAY_OF_MONTH)
|
||||
val twoDaysAgoOfIpc = formatIpc.format(calendar.time)
|
||||
val twoDaysAgoOfUi = formatUi.format(calendar.time)
|
||||
val twoDaysAgoOfWeek = calendar.get(Calendar.DAY_OF_WEEK)
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1)
|
||||
val threeDaysAgo = calendar.get(Calendar.DAY_OF_MONTH)
|
||||
val threeDaysAgoOfIpc = formatIpc.format(calendar.time)
|
||||
val threeDaysAgoOfUi = formatUi.format(calendar.time)
|
||||
val threeDaysAgoOfWeek = calendar.get(Calendar.DAY_OF_WEEK)
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1)
|
||||
val fourDaysAgo = calendar.get(Calendar.DAY_OF_MONTH)
|
||||
val fourDaysAgoOfIpc = formatIpc.format(calendar.time)
|
||||
val fourDaysAgoOfUi = formatUi.format(calendar.time)
|
||||
val fourDaysAgoOfWeek = calendar.get(Calendar.DAY_OF_WEEK)
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1)
|
||||
val fiveDaysAgo = calendar.get(Calendar.DAY_OF_MONTH)
|
||||
val fiveDaysAgoOfIpc = formatIpc.format(calendar.time)
|
||||
val fiveDaysAgoOfUi = formatUi.format(calendar.time)
|
||||
val fiveDaysAgoOfWeek = calendar.get(Calendar.DAY_OF_WEEK)
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1)
|
||||
val sixDaysAgo = calendar.get(Calendar.DAY_OF_MONTH)
|
||||
val sixDaysAgoOfIpc = formatIpc.format(calendar.time)
|
||||
val sixDaysAgoOfUi = formatUi.format(calendar.time)
|
||||
val sixDaysAgoOfWeek = calendar.get(Calendar.DAY_OF_WEEK)
|
||||
//根据判断六天前是几增加空格占位
|
||||
when(calendar.get(Calendar.DAY_OF_WEEK)){
|
||||
//星期日
|
||||
DayOfWeek.SUNDAY->{
|
||||
Calendar.SUNDAY->{
|
||||
|
||||
}
|
||||
//星期一
|
||||
DayOfWeek.MONDAY->{
|
||||
Calendar.MONDAY->{
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
}
|
||||
//星期二
|
||||
DayOfWeek.TUESDAY->{
|
||||
Calendar.TUESDAY->{
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
}
|
||||
//星期三
|
||||
DayOfWeek.WEDNESDAY->{
|
||||
Calendar.WEDNESDAY->{
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
}
|
||||
//星期四
|
||||
DayOfWeek.THURSDAY->{
|
||||
Calendar.THURSDAY->{
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
}
|
||||
//星期五
|
||||
DayOfWeek.FRIDAY->{
|
||||
Calendar.FRIDAY->{
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
@@ -198,7 +216,7 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
}
|
||||
//星期六
|
||||
DayOfWeek.SATURDAY->{
|
||||
Calendar.SATURDAY->{
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
calendarList.add(CopyCalendarInfo(false,""))
|
||||
@@ -211,17 +229,54 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
calendarList.add(CopyCalendarInfo(false,sixDaysAgo.toString()))
|
||||
calendarList.add(CopyCalendarInfo(false,fiveDaysAgo.toString()))
|
||||
calendarList.add(CopyCalendarInfo(false,fourDaysAgo.toString()))
|
||||
calendarList.add(CopyCalendarInfo(false,threeDaysAgo.toString()))
|
||||
calendarList.add(CopyCalendarInfo(false,twoDaysAgo.toString()))
|
||||
calendarList.add(CopyCalendarInfo(false,yesterday.toString()))
|
||||
calendarList.add(CopyCalendarInfo(false,today.toString()))
|
||||
|
||||
|
||||
calendarList.add(CopyCalendarInfo(false,sixDaysAgo.toString(),sixDaysAgoOfIpc,sixDaysAgoOfUi,sixDaysAgoOfWeek))
|
||||
calendarList.add(CopyCalendarInfo(false,fiveDaysAgo.toString(),fiveDaysAgoOfIpc,fiveDaysAgoOfUi,fiveDaysAgoOfWeek))
|
||||
calendarList.add(CopyCalendarInfo(false,fourDaysAgo.toString(),fourDaysAgoOfIpc,fourDaysAgoOfUi,fourDaysAgoOfWeek))
|
||||
calendarList.add(CopyCalendarInfo(false,threeDaysAgo.toString(),threeDaysAgoOfIpc,threeDaysAgoOfUi,threeDaysAgoOfWeek))
|
||||
calendarList.add(CopyCalendarInfo(false,twoDaysAgo.toString(),twoDaysAgoOfIpc,twoDaysAgoOfUi,twoDaysAgoOfWeek))
|
||||
calendarList.add(CopyCalendarInfo(false,yesterday.toString(),yesterdayOfIpc,yesterdayOfUi,yesterdayOfWeek))
|
||||
calendarList.add(CopyCalendarInfo(false,today.toString(),todayOfIpc,todayOfUi,todayOfWeek))
|
||||
diskCopyCalendarAdapter?.setData(calendarList)
|
||||
//展示当天日期
|
||||
tvCurrentDate.text = todayOfUi
|
||||
tvCurrentWeek.text = parseWeekDescribe(todayOfWeek)
|
||||
}
|
||||
|
||||
private fun parseWeekDescribe(currentWeek: Int?): String{
|
||||
return when(currentWeek){
|
||||
//星期日
|
||||
Calendar.SUNDAY->{
|
||||
"周日"
|
||||
}
|
||||
//星期一
|
||||
Calendar.MONDAY->{
|
||||
"周一"
|
||||
}
|
||||
//星期二
|
||||
Calendar.TUESDAY->{
|
||||
"周二"
|
||||
}
|
||||
//星期三
|
||||
Calendar.WEDNESDAY->{
|
||||
"周三"
|
||||
}
|
||||
//星期四
|
||||
Calendar.THURSDAY->{
|
||||
"周四"
|
||||
}
|
||||
//星期五
|
||||
Calendar.FRIDAY->{
|
||||
"周五"
|
||||
}
|
||||
//星期六
|
||||
Calendar.SATURDAY->{
|
||||
"周六"
|
||||
}
|
||||
else->{
|
||||
""
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
|
||||
@@ -39,15 +39,15 @@ class DiskCopyCalendarAdapter(): RecyclerView.Adapter<RecyclerView.ViewHolder>()
|
||||
when(holder){
|
||||
is CalendarTitleHolder->{
|
||||
data?.let {
|
||||
holder.tvCalendarTitle.text = it[position].content
|
||||
holder.tvCalendarTitle.text = it[position].calendarDateFormat
|
||||
}
|
||||
}
|
||||
is CalendarContentHolder->{
|
||||
data?.let {
|
||||
val dateInfo = it[position]
|
||||
holder.tvCalendarContent.text = dateInfo.content
|
||||
holder.tvCalendarContent.text = dateInfo.calendarDateFormat
|
||||
holder.tvCalendarContent.setOnClickListener {
|
||||
dateSelectListener?.onDateSelect(dateInfo.content)
|
||||
dateSelectListener?.onDateSelect(dateInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -78,7 +78,7 @@ class DiskCopyCalendarAdapter(): RecyclerView.Adapter<RecyclerView.ViewHolder>()
|
||||
* 日期选择回调接口
|
||||
*/
|
||||
interface DateSelectListener{
|
||||
fun onDateSelect(date: String)
|
||||
fun onDateSelect(info: CopyCalendarInfo)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
package com.mogo.eagle.core.data.deva.diskcopy
|
||||
|
||||
data class CopyCalendarInfo(var isTitle: Boolean, var content: String)
|
||||
/**
|
||||
* @param isTitle 是否是日历标题头
|
||||
* @param calendarDateFormat 日历格式日期
|
||||
* @param ipcDateFormat 工控机约定格式日期
|
||||
* @param uiDateFormat UI约定显示日期
|
||||
* @param currentDayOfWeek 当前星期
|
||||
*/
|
||||
data class CopyCalendarInfo(var isTitle: Boolean, var calendarDateFormat: String,var ipcDateFormat: String? = "",
|
||||
var uiDateFormat: String? = "",var currentDayOfWeek: Int? = 0)
|
||||
Reference in New Issue
Block a user