lmw
2024-05-21 0af0750101f969b6ff18d7ade37354b4bcdccd03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package com.future.dispatch.ui.order
 
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.oktrip.netUtls.createView
import com.example.oktrip.netUtls.getMapByAny
import com.future.dispatch.R
import com.future.dispatch.base.BaseRecyclerActivity
import com.future.dispatch.base.BaseRvAdapter
import com.future.dispatch.bean.LineClassBean
import com.future.dispatch.netUtls.Api
import com.future.dispatch.ui.adapter.LineClassAdapter
import com.future.dispatch.ui.adapter.SeatClassAdapter
import com.future.dispatch.utils.DateUtil
import kotlinx.android.synthetic.main.view_line_class.view.*
import org.jetbrains.anko.startActivity
import java.util.*
 
/**
 * @ClassName LineClassManagerDetActivity
 * @Description 线路班次管理详情
 * @Author Administrator
 * @Date 2020/10/22 11:38
 * @Version 1.0
 */
class LineClassManagerDetActivity : BaseRecyclerActivity<LineClassBean.DataBean>() {
 
    val lineId by lazy {
        intent.getStringExtra("lineId")
    }
 
    var isToday = true //true:今天 false:其他
 
    var time = DateUtil.getTime(DateUtil.TYPE1, Calendar.getInstance().timeInMillis)
 
    val lineClassAdapter by lazy {
        LineClassAdapter()
    }
 
    override fun getDatas(t: String?): List<LineClassBean.DataBean> {
        return gson.fromJson<LineClassBean>(t, LineClassBean::class.java).data
    }
 
    override fun pathUrl(): String? {
        return Api.queryLineShiftByLineId
    }
 
    override fun mapObject(): HashMap<String?, Any?>? {
        var map = getMapByAny()
        map["lineId"] = lineId
        map["time"] = time
        return map
    }
 
    override fun getAdapter(): BaseRvAdapter<LineClassBean.DataBean>? {
        return lineClassAdapter
    }
 
    override fun getlayoutManager(): RecyclerView.LayoutManager? {
        return LinearLayoutManager(this)
    }
 
    override fun setOnItemClickListener(view: View?, position: Int) {
 
        startActivity<WorkDetailActivity>(
            "lineShiftId" to lineClassAdapter.data[position].id.toString(),
            "time" to DateUtil.getTime(DateUtil.TYPE1, lineClassAdapter.calendar.timeInMillis),
            "isUse" to getUse(lineClassAdapter.data[position]) //isUse 0:没过时间  1:过了 不能切换司机等
        )
    }
 
    private fun getUse(item: LineClassBean.DataBean): String {
        if (isToday) {
            var todayHour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY).toFloat()+Calendar.getInstance().get(Calendar.MINUTE).toFloat()/100f
            var selectHour = item.content.split("-")[1].replace(":",".").toFloat()
            if (selectHour < todayHour) {
                return "1"
            }
        }
        return "0"
    }
 
    var listCalendar = mutableListOf<Calendar>()
 
    override fun initView() {
        time = intent.getStringExtra("time")
        setTitleText("排班表")
        var views = createView(R.layout.view_line_class, this)
        addTopView(views)
        for (i in 0..6){
            var calendar = Calendar.getInstance()
            calendar.timeInMillis = System.currentTimeMillis() + (3600L * 1000 * 24 * i)
            listCalendar.add(calendar)
        }
        time = DateUtil.getTime(DateUtil.TYPE1, listCalendar[0].timeInMillis)
        views.recycler_view_day.layoutManager = LinearLayoutManager(this,RecyclerView.HORIZONTAL,false)
        var seatAdapter = SeatClassAdapter()
        seatAdapter.data.addAll(listCalendar)
        views.recycler_view_day.adapter = seatAdapter
        seatAdapter.setOnItemClickListener { view, position ->
            isToday = position == 0
            seatAdapter.selectPosition = position
            seatAdapter.notifyDataSetChanged()
            views.recycler_view_day.smoothScrollBy(view.x.toInt()-view.width,view.y.toInt())
            lineClassAdapter.calendar = seatAdapter.data[position]
            time = DateUtil.getTime(DateUtil.TYPE1, seatAdapter.data[position].timeInMillis)
            callRefresh()
        }
 
    }
 
 
    override fun setOnclick() {
    }
}