package com.flightfeather.ducha.module.task
|
|
import android.annotation.SuppressLint
|
import android.app.Activity
|
import android.app.AlertDialog
|
import android.app.DatePickerDialog
|
import android.arch.lifecycle.Observer
|
import android.arch.lifecycle.ViewModelProviders
|
import android.content.Intent
|
import android.os.Build
|
import android.os.Bundle
|
import android.support.annotation.RequiresApi
|
import android.view.MenuItem
|
import android.view.View
|
import android.widget.AdapterView
|
import cn.flightfeather.thirdappmodule.CommonApplication
|
import cn.flightfeather.thirdappmodule.adapter.AllListViewAdapter
|
import cn.flightfeather.thirdappmodule.bean.*
|
import cn.flightfeather.thirdappmodule.bean.entity.*
|
import cn.flightfeather.thirdappmodule.bean.vo.TaskVo
|
import cn.flightfeather.thirdappmodule.common.net.ResultCallBack
|
import cn.flightfeather.thirdappmodule.module.base.BaseActivity
|
import cn.flightfeather.thirdappmodule.module.common.MapLocationActivity
|
import cn.flightfeather.thirdappmodule.module.common.UserInfoViewModel
|
import cn.flightfeather.thirdappmodule.module.task.NO_CHOICE
|
import cn.flightfeather.thirdappmodule.module.task.START_LOCATION
|
import cn.flightfeather.thirdappmodule.module.task.SceneDetailViewModel
|
import cn.flightfeather.thirdappmodule.module.task.TaskViewModel
|
import cn.flightfeather.thirdappmodule.util.Constant
|
import cn.flightfeather.thirdappmodule.util.DateFormatter
|
import cn.flightfeather.thirdappmodule.util.Domain
|
import cn.flightfeather.thirdappmodule.util.UUIDGenerator
|
import com.flightfeather.ducha.R
|
import kotlinx.android.synthetic.main.dc_activity_new_temp_task.*
|
import org.jetbrains.anko.toast
|
import java.text.DecimalFormat
|
import java.util.*
|
|
/**
|
* @author riku
|
* Date: 2020/6/4
|
* 新建临时子任务activity
|
*
|
* 临时子任务即不通过总任务下已有的监测点进行选择制订,而是直接生成一个子任务,
|
* 再可选择对应的场景信息(可以是已有场景,也可以是随时通过获取定位信息及其他一些必要信息生成的新的场景),
|
* 再选择所属的总任务
|
*
|
* 用于应对巡查时的突发巡查
|
*/
|
class DCNewTempTaskActivity : BaseActivity(), View.OnClickListener {
|
|
companion object {
|
const val DEFAULT_DISTRICT = "金山区"
|
const val DEFAULT_TASK_TYPE = "督查"
|
const val DEFAULT_SCENE_TYPE = "全部"
|
const val DEFAULT_TEMP = "临时"
|
const val DEFAULT_TASK = "任务"
|
const val LEADER = "0"
|
const val MEMBER = "1"
|
}
|
|
private lateinit var taskViewModel: TaskViewModel
|
private lateinit var sceneViewModel: SceneDetailViewModel
|
private lateinit var userInfoViewModel: UserInfoViewModel
|
private lateinit var newTempTaskViewModel: DCNewTempTaskViewModel
|
|
private val calS = Calendar.getInstance()
|
private var calE:Calendar = Calendar.getInstance()
|
|
private lateinit var provinceAdapter: AllListViewAdapter<Province>
|
private lateinit var cityAdapter: AllListViewAdapter<City>
|
private lateinit var districtAdapter: AllListViewAdapter<District>
|
|
private lateinit var taskTypeAdapter: AllListViewAdapter<Domainitem>
|
private lateinit var sceneTypeAdapter: AllListViewAdapter<Domainitem>
|
|
private lateinit var topTaskAdapter: AllListViewAdapter<TaskVo>
|
|
private lateinit var mCurrentTask: Subtask
|
|
private var sceneLocation: MapLocationActivity.Location? = null
|
|
private var tempTaskCount = 0//今日已有临时任务数
|
|
override fun getLayoutId(): Int = R.layout.dc_activity_new_temp_task
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
taskViewModel = ViewModelProviders.of(this).get(TaskViewModel::class.java)
|
sceneViewModel = ViewModelProviders.of(this).get(SceneDetailViewModel::class.java)
|
userInfoViewModel = ViewModelProviders.of(this).get(UserInfoViewModel::class.java)
|
newTempTaskViewModel = ViewModelProviders.of(this).get(DCNewTempTaskViewModel::class.java)
|
|
supportActionBar?.apply {
|
setDisplayHomeAsUpEnabled(true)
|
title = "临时任务"
|
}
|
|
initSpinner()
|
initObserver()
|
initData()
|
|
txt_start_time.setOnClickListener(this)
|
txt_end_time.setOnClickListener(this)
|
img_location.setOnClickListener(this)
|
sp_team_leader.setOnClickListener(this)
|
sp_team_members.setOnClickListener(this)
|
// sp_top_task.setOnClickListener(this)
|
txt_submit.setOnClickListener(this)
|
}
|
|
@RequiresApi(api = Build.VERSION_CODES.N)
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
when (item.itemId) {
|
android.R.id.home -> finish()
|
else -> {
|
}
|
}
|
return super.onOptionsItemSelected(item)
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (requestCode == START_LOCATION && resultCode == Activity.RESULT_OK) {
|
data?.let {
|
val location = it.getParcelableExtra<MapLocationActivity.Location>(MapLocationActivity.RESULT_CODE_LOCATION)
|
sceneLocation = location
|
val df = DecimalFormat("0.000000")
|
edt_scene_name.setText(location.name)
|
edt_scene_address.setText(location.address)
|
}
|
}
|
}
|
|
private fun showDatePickerDialog(cal: Calendar, isStartTime: Boolean) {
|
val mYear = cal[Calendar.YEAR]
|
val mMonth = cal[Calendar.MONTH]
|
val mDay = cal[Calendar.DAY_OF_MONTH]
|
|
val dpDialog = DatePickerDialog(this, DatePickerDialog.OnDateSetListener { _, year, month, dayOfMonth ->
|
if (isStartTime) {
|
calS.set(year, month, dayOfMonth, 0, 0, 0)
|
val dateString = DateFormatter.dateTimeFormat2.format(calS.time)
|
txt_start_time.text = dateString
|
}
|
calE.set(year, month, dayOfMonth, 23, 59, 59)
|
val dateString = DateFormatter.dateTimeFormat2.format(calE.time)
|
txt_end_time.text = dateString
|
|
refreshTaskName()
|
taskViewModel.refreshTopTaskByTime(calS.time)
|
}, mYear, mMonth, mDay)
|
|
//结束时间的选择不能小于开始时间
|
if (!isStartTime) {
|
try {
|
dpDialog.datePicker.minDate = DateFormatter.dateTimeFormat2.parse(txt_start_time.text.toString()).time
|
} catch (e: Exception) {
|
e.printStackTrace()
|
}
|
}
|
dpDialog.show()
|
}
|
|
private fun initSpinner() {
|
provinceAdapter = object : AllListViewAdapter<Province>(sceneViewModel.provinceList.value, R.layout.item_scense_detail_list) {
|
override fun bindView(holder: ViewHolder?, obj: Province?) {
|
holder?.setText(R.id.tv_item, obj?.provincename)
|
}
|
}
|
cityAdapter = object : AllListViewAdapter<City>(sceneViewModel.cityList, R.layout.item_scense_detail_list) {
|
override fun bindView(holder: ViewHolder?, obj: City?) {
|
holder?.setText(R.id.tv_item, obj?.cityname)
|
}
|
}
|
districtAdapter = object : AllListViewAdapter<District>(sceneViewModel.districtList, R.layout.item_scense_detail_list) {
|
override fun bindView(holder: ViewHolder?, obj: District?) {
|
holder?.setText(R.id.tv_item, obj?.districtname)
|
}
|
}
|
taskTypeAdapter = object : AllListViewAdapter<Domainitem>(taskViewModel.allTaskTypeList.value, R.layout.item_scense_detail_list) {
|
override fun bindView(holder: ViewHolder?, obj: Domainitem?) {
|
holder?.setText(R.id.tv_item, obj?.text)
|
}
|
}
|
sceneTypeAdapter = object : AllListViewAdapter<Domainitem>(sceneViewModel.allSceneTypeList.value, R.layout.item_scense_detail_list) {
|
override fun bindView(holder: ViewHolder?, obj: Domainitem?) {
|
holder?.setText(R.id.tv_item, obj?.text)
|
}
|
}
|
topTaskAdapter = object : AllListViewAdapter<TaskVo>(taskViewModel.topTaskList.value, R.layout.item_scense_detail_list) {
|
override fun bindView(holder: ViewHolder?, obj: TaskVo?) {
|
holder?.setText(R.id.tv_item, obj?.name)
|
}
|
}
|
|
sp_province.apply {
|
adapter = provinceAdapter
|
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
override fun onNothingSelected(parent: AdapterView<*>?) = Unit
|
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
sceneViewModel.cityList.apply {
|
clear()
|
val pId = (sp_province.selectedItem as Province).provinceid
|
sceneViewModel.allCityList.forEach {
|
if (it.pronvinceid == pId) {
|
add(it)
|
}
|
}
|
}
|
|
cityAdapter.notifyDataSetChanged()
|
}
|
}
|
}
|
|
sp_city.apply {
|
adapter = cityAdapter
|
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
override fun onNothingSelected(parent: AdapterView<*>?) = Unit
|
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
sceneViewModel.districtList.apply {
|
clear()
|
add(District().apply { districtname = NO_CHOICE })
|
val cId = (sp_city.selectedItem as City).cityId
|
sceneViewModel.allDistrictList.forEach {
|
if (it.cityid == cId) {
|
add(it)
|
}
|
}
|
}
|
var index = 0
|
for (i in sceneViewModel.districtList.indices) {
|
if (sceneViewModel.districtList[i].districtname == DEFAULT_DISTRICT) {
|
index = i
|
break
|
}
|
}
|
|
districtAdapter.notifyDataSetChanged()
|
sp_district.setSelection(index)
|
}
|
}
|
}
|
|
sp_district.apply {
|
adapter = districtAdapter
|
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
override fun onNothingSelected(parent: AdapterView<*>?) = Unit
|
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
val districtCode = sceneViewModel.districtList[position].districtcode ?: ""
|
taskViewModel.refreshTopTaskByDistrict(districtCode)
|
refreshTaskName()
|
}
|
}
|
}
|
sp_scene_type.adapter = sceneTypeAdapter
|
sp_task_type.apply {
|
adapter = taskTypeAdapter
|
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
override fun onNothingSelected(parent: AdapterView<*>?) = Unit
|
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
refreshTaskName()
|
}
|
}
|
}
|
sp_top_task.adapter = topTaskAdapter
|
}
|
|
private fun initObserver() {
|
sceneViewModel.provinceList.observe(this, Observer {
|
provinceAdapter.notifyDataSetChanged()
|
})
|
taskViewModel.allTaskTypeList.observe(this, Observer {
|
taskTypeAdapter.notifyDataSetChanged()
|
it?.let {
|
var index = 0
|
for (i in it.indices) {
|
if (it[i].text == DEFAULT_TASK_TYPE) {
|
index = i
|
break
|
}
|
}
|
sp_task_type.setSelection(index)
|
}
|
})
|
sceneViewModel.allSceneTypeList.observe(this, Observer {
|
sceneTypeAdapter.notifyDataSetChanged()
|
it?.let {
|
var index = 0
|
for (i in it.indices) {
|
if (it[i].text == DEFAULT_SCENE_TYPE) {
|
index = i
|
break
|
}
|
}
|
sp_scene_type.setSelection(index)
|
}
|
})
|
taskViewModel.topTaskList.observe(this, Observer {
|
topTaskAdapter.notifyDataSetChanged()
|
})
|
|
userInfoViewModel.userList.observe(this, Observer { list ->
|
list?.let {
|
//获取上次选择的人员信息
|
userInfoViewModel.getLastLeaders {
|
//更新任务结构体组长信息
|
mCurrentTask.stAssessorguid = it.first
|
mCurrentTask.assessorusername = it.second
|
mCurrentTask.assessorrealname = it.third
|
//筛选人员中的组长
|
val leaderList = mutableListOf<Userinfo>()
|
list.forEach {user ->
|
if (user.extension2 == LEADER) {
|
leaderList.add(user)
|
}
|
}
|
//初始化组长复选框选择记录
|
if (leaderCheckedArray == null && leaderList.isNotEmpty()) {
|
leaderCheckedArray = BooleanArray(leaderList.size)
|
}
|
//更新复选框选择记录
|
for (i in leaderList.indices) {
|
leaderCheckedArray!![i] = it.first.contains(leaderList[i].guid)
|
}
|
sp_team_leader.text = it.third.replace(Constant.CONNECTOR.toRegex(), Constant.CONNECTOR_FOR_VIEW)
|
}
|
userInfoViewModel.getLastMembers {
|
mCurrentTask.executorguids = it.first
|
mCurrentTask.executorusernames = it.second
|
mCurrentTask.executorrealtimes = it.third
|
|
if (memberCheckedArray == null && list.isNotEmpty()) {
|
memberCheckedArray = BooleanArray(list.size)
|
}
|
for (i in list.indices) {
|
memberCheckedArray!![i] = it.first.contains(list[i].guid)
|
}
|
sp_team_members.text = it.third.replace(Constant.CONNECTOR.toRegex(), Constant.CONNECTOR_FOR_VIEW)
|
}
|
}
|
})
|
}
|
|
private fun initData() {
|
|
taskViewModel.getSubTaskByDate(resultCallBack = object : ResultCallBack<List<Subtask>> {
|
override fun onSuccess(result: List<Subtask>?) {
|
tempTaskCount = 0
|
result?.forEach {
|
if (it.name?.contains(DEFAULT_TEMP) == true) {
|
tempTaskCount++
|
}
|
}
|
refreshTaskName()
|
}
|
|
override fun onFailure() {
|
|
}
|
})
|
|
refreshTaskName()
|
|
mCurrentTask = Subtask()
|
|
calS.apply {
|
set(Calendar.HOUR_OF_DAY, 0)
|
set(Calendar.MINUTE, 0)
|
set(Calendar.SECOND, 0)
|
}
|
calE.apply {
|
set(Calendar.HOUR_OF_DAY, 23)
|
set(Calendar.MINUTE, 59)
|
set(Calendar.SECOND, 59)
|
}
|
val dateStart = DateFormatter.dateTimeFormat2.format(calS.time)
|
txt_start_time.text = dateStart
|
val dateEnd = DateFormatter.dateTimeFormat2.format(calE.time)
|
txt_end_time.text = dateEnd
|
|
sceneViewModel.getData()
|
sceneViewModel.getSceneType()
|
// fixme: 2020/6/5 人员类型需要设置为枚举类
|
userInfoViewModel.getUsersByType(1)//1: 监管人员
|
taskViewModel.getTaskType()
|
taskViewModel.getTopTask()
|
}
|
|
private var leaderCheckedArray: BooleanArray? = null
|
private var memberCheckedArray: BooleanArray? = null
|
|
/**
|
* 显示任务执行者多选对话框
|
*/
|
private fun showExecutorsDialog(mCheckedArray: BooleanArray?, userList: List<Userinfo>, onSelected: (executors: Triple<String, String, String>, firstUserGroupName: String) -> Unit) {
|
if (mCheckedArray==null) return
|
// 设置默认选中的选项,全为false默认均未选中
|
var firstUserGroupName = ""//选择的第一位用户的组名称
|
|
val multiChoiceDialog = AlertDialog.Builder(this)
|
multiChoiceDialog.setTitle("选择任务执行者")
|
val items = arrayOfNulls<String>(userList.size)
|
for (i in items.indices) {
|
items[i] = userList[i].realname
|
}
|
multiChoiceDialog.setMultiChoiceItems(items, mCheckedArray
|
) { _, which, isChecked ->
|
mCheckedArray[which] = isChecked
|
}
|
multiChoiceDialog.setPositiveButton("确定"
|
) { _, _ ->
|
var i = 0
|
val sb = StringBuilder()
|
val sb_un = StringBuilder() //用户名字符串
|
val sb_rn = StringBuilder() //真实姓名字符串,用于界面显示
|
mCheckedArray.forEach { isChecked ->
|
if (isChecked) {
|
val user: Userinfo = userList[i]
|
//将第一个选择的用户的组名记录下来
|
if (sb.isEmpty()) {
|
firstUserGroupName = user.extension1
|
}
|
sb.append(user.guid).append(Constant.CONNECTOR)
|
sb_un.append(user.acountname).append(Constant.CONNECTOR)
|
sb_rn.append(user.realname).append(Constant.CONNECTOR)
|
}
|
i++
|
}
|
if (sb.isNotEmpty()) {
|
val executors = sb.deleteCharAt(sb.length - 1).toString()
|
val executors_un = sb_un.deleteCharAt(sb_un.length - 1).toString()
|
val executors_rn = sb_rn.deleteCharAt(sb_rn.length - 1).toString()
|
onSelected(Triple(executors, executors_un, executors_rn), firstUserGroupName)
|
}
|
}
|
multiChoiceDialog.show()
|
}
|
|
private fun newScene(): Scense =
|
Scense().apply {
|
guid = UUIDGenerator.generate16ShortUUID()
|
name = edt_scene_name.text.toString()
|
|
(sp_scene_type.selectedItem as Domainitem).let {
|
typeid = it.value.toByte()
|
type = it.text
|
}
|
location = edt_scene_address.text.toString()
|
sceneLocation?.let {
|
longitude = it.longitude
|
latitude = it.latitude
|
}
|
(sp_province.selectedItem as Province).let {
|
provincecode = it.provincecode
|
provincename = it.provincename
|
}
|
(sp_city.selectedItem as City).let {
|
citycode = it.citycode
|
cityname = it.cityname
|
}
|
(sp_district.selectedItem as District).let {
|
districtcode = it.districtcode
|
districtname = it.districtname
|
}
|
// (sp_town.selectedItem as Town).let {
|
// towncode = it.towncode
|
// townname = it.townname
|
// }
|
createdate = Date()
|
updatedate = Date()
|
extension1 = Domain.SCENSE_AVAILABLE
|
}
|
|
private fun newSubTask(scene: Scense):Subtask=
|
mCurrentTask.apply {
|
val topTask = sp_top_task.selectedItem as TaskVo
|
|
val startTime = DateFormatter.dateTimeFormat2.parse(txt_start_time.text.toString())
|
val endTime = DateFormatter.dateTimeFormat2.parse(txt_end_time.text.toString())
|
val todayTask = newTempTaskViewModel.updateDayTask(topTask, startTime, endTime)
|
|
|
stguid = UUIDGenerator.generate16ShortUUID()
|
tguid = topTask.tguid
|
if (topTask.levelnum == Domain.TASK_LEVEL_2) {
|
tsguid = todayTask.tguid
|
}
|
provincecode = topTask.provincecode
|
provincename = topTask.provincename
|
citycode = topTask.citycode
|
cityname = topTask.cityname
|
districtcode = topTask.districtcode
|
districtname = topTask.districtname
|
towncode = topTask.towncode
|
townname = topTask.townname
|
typeno = topTask.typeno
|
type = topTask.typename
|
scenseid = scene.guid
|
scensename = scene.name
|
planstarttime = todayTask.starttime
|
planendtime = todayTask.endtime
|
scenseaddress = scene.location
|
deployerguid = CommonApplication.getInstance().currentUser.guid
|
deployerusername = CommonApplication.getInstance().currentUser.acountname
|
deployerrealname = CommonApplication.getInstance().currentUser.realname
|
name = if (edt_sub_task_name.text.toString().isBlank()) {
|
scene.name + todayTask.typename
|
} else {
|
edt_sub_task_name.text.toString()
|
}
|
status = Domain.TASK_STATUS_WAITING
|
}
|
|
private fun editCheck(): Boolean {
|
return if (edt_scene_name.text.isNullOrBlank() || edt_scene_address.text.isNullOrBlank()) {
|
toast("请填写场景地址")
|
false
|
}else if (sp_team_leader.text.isNullOrBlank()) {
|
toast("请选择任务组长")
|
false
|
}else if (sp_team_members.text.isNullOrBlank()) {
|
toast("请选择任务组员")
|
false
|
}else if ((sp_top_task.selectedItem as TaskVo).name == TaskViewModel.NO_TOP_TASK) {
|
toast("当前条件下无总任务,请先去创建总任务")
|
false
|
} else {
|
true
|
}
|
}
|
|
@SuppressLint("SetTextI18n")
|
private fun refreshTaskName(date: Date = calS.time) {
|
edt_sub_task_name.setText("${DateFormatter.monthDayFormat.format(date)}${(sp_district.selectedItem as District?)?.districtname ?: ""}" +
|
"$DEFAULT_TEMP${(sp_task_type.selectedItem as Domainitem?)?.text ?: ""}$DEFAULT_TASK${tempTaskCount + 1}")
|
}
|
|
override fun onClick(v: View?) {
|
when (v?.id) {
|
R.id.txt_start_time -> showDatePickerDialog(calS, true)
|
R.id.txt_end_time -> {
|
// showDatePickerDialog(calS, false)
|
}
|
R.id.img_location -> {
|
startActivityForResult(Intent(this, MapLocationActivity::class.java), START_LOCATION)
|
}
|
R.id.sp_team_leader -> {
|
userInfoViewModel.userList.value?.let { list ->
|
//筛选人员中的组长
|
val leaderList = mutableListOf<Userinfo>()
|
list.forEach {user ->
|
if (user.extension2 == LEADER) {
|
leaderList.add(user)
|
}
|
}
|
if (leaderCheckedArray == null && leaderList.isNotEmpty()) {
|
leaderCheckedArray = BooleanArray(leaderList.size)
|
}
|
showExecutorsDialog(leaderCheckedArray, leaderList) {t,g ->
|
mCurrentTask.stAssessorguid = t.first
|
mCurrentTask.assessorusername = t.second
|
mCurrentTask.assessorrealname = t.third
|
userInfoViewModel.saveLeaders(t)
|
sp_team_leader.text = t.third.replace(Constant.CONNECTOR.toRegex(), Constant.CONNECTOR_FOR_VIEW)
|
|
//选择组长之后,自动查找同组的组员,添加至组员选择框中
|
val memberList = mutableListOf<Userinfo>()
|
userInfoViewModel.userList.value?.forEach {
|
if (it.extension1 == g && it.extension2 == MEMBER) {
|
memberList.add(it)
|
}
|
}
|
val userIds = StringBuilder()
|
val userNames = StringBuilder()
|
val userRealNames = StringBuilder()
|
for (i in memberList.indices) {
|
val u = memberList[i]
|
if (i > 0) {
|
userIds.append(Constant.CONNECTOR)
|
userNames.append(Constant.CONNECTOR)
|
userRealNames.append(Constant.CONNECTOR)
|
}
|
userIds.append(u.guid)
|
userNames.append(u.acountname)
|
userRealNames.append(u.realname)
|
}
|
mCurrentTask.executorguids = userIds.toString()
|
mCurrentTask.executorusernames = userNames.toString()
|
mCurrentTask.executorrealtimes = userRealNames.toString()
|
sp_team_members.text = userRealNames.replace(Constant.CONNECTOR.toRegex(), Constant.CONNECTOR_FOR_VIEW)
|
|
if (memberCheckedArray == null && list.isNotEmpty()) {
|
memberCheckedArray = BooleanArray(list.size)
|
}
|
for (i in list.indices) {
|
memberCheckedArray!![i] = userIds.contains(list[i].guid)
|
}
|
}
|
}
|
}
|
R.id.sp_team_members -> {
|
userInfoViewModel.userList.value?.let { list ->
|
if (memberCheckedArray == null && list.isNotEmpty()) {
|
memberCheckedArray = BooleanArray(list.size)
|
}
|
showExecutorsDialog(memberCheckedArray, list) {t, _ ->
|
mCurrentTask.executorguids = t.first
|
mCurrentTask.executorusernames = t.second
|
mCurrentTask.executorrealtimes = t.third
|
userInfoViewModel.saveMembers(t)
|
sp_team_members.text = t.third.replace(Constant.CONNECTOR.toRegex(), Constant.CONNECTOR_FOR_VIEW)
|
}
|
}
|
}
|
R.id.txt_submit -> {
|
if(editCheck()) {
|
txt_submit.isClickable = false
|
val newScene = newScene()
|
val subTask = newSubTask(newScene)
|
newTempTaskViewModel.uploadScene(newScene) {
|
newTempTaskViewModel.uploadSubTask(subTask) {
|
onBackPressed()
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|