| | |
| | | */ |
| | | fun reset() { |
| | | rowData.index = 0 |
| | | rowData.subTask = sourceList.first() |
| | | rowData.subTask = if (sourceList.isEmpty()) null else sourceList.first() |
| | | rowData.clear() |
| | | } |
| | | |
| | |
| | | */ |
| | | fun areaName(): String { |
| | | val t = dbMapper.taskMapper.selectByPrimaryKey(config.topTaskGuid) |
| | | return "${DateUtil.DateToString(t.starttime, DateUtil.DateStyle.YYYY_MM_CN)}${t.districtname}${if (area != t.districtname) area else ""}${Constant.SceneType.getDes(config.sceneType)}" |
| | | return "${DateUtil.DateToString(config.startTime, DateUtil.DateStyle.YYYY_MM_CN)}${t.districtname}${if (area != t.districtname) area else ""}${Constant.SceneType.getDes(config.sceneType)}" |
| | | } |
| | | |
| | | /** |
| | |
| | | })?.takeIf { it.isNotEmpty() }?.get(0)?.let { area = it.townname ?: "" } |
| | | } |
| | | |
| | | dbMapper.taskMapper.selectByPrimaryKey(config.topTaskGuid).let { |
| | | dbMapper.taskMapper.selectByPrimaryKey(config.topTaskGuid)?.let { |
| | | val time = LocalDateTime.ofInstant(it.starttime?.toInstant(), ZoneId.systemDefault()) |
| | | this.year = time.year |
| | | this.month = time.monthValue |
| | | if (area.isBlank()) area = it.districtname ?: "" |
| | | } |
| | | |
| | | //1. 查找特定的巡查任务或者所有的计划巡查任务 |
| | | var taskSceneIdList = listOf<String>() |
| | | val subTaskList = if (config.subTaskIdList?.isNotEmpty() == true || |
| | | (config.startTime != null || config.endTime != null) |
| | | ) { |
| | | dbMapper.subtaskMapper.selectByExample(Example(Subtask::class.java).apply { |
| | | createCriteria().apply { |
| | | if (config.subTaskIdList?.isNotEmpty() == true) { |
| | | andIn("stguid", config.subTaskIdList) |
| | | } |
| | | config.startTime?.let { andGreaterThanOrEqualTo("planstarttime", it) } |
| | | config.endTime?.let { andLessThanOrEqualTo("planendtime", it) } |
| | | config.districtCode?.let { andEqualTo("districtcode", it) } |
| | | // andEqualTo("tguid", config.topTaskGuid) |
| | | } |
| | | }) |
| | | } else { |
| | | taskSceneIdList = dbMapper.scenseMapper.getSceneByType(config.topTaskGuid, config |
| | | .sceneType, config.townCode).map { it.guid ?: "" } |
| | | dbMapper.subtaskMapper.selectByExample(Example(Subtask::class.java).apply { |
| | | createCriteria().andIn("scenseid", taskSceneIdList) |
| | | .andEqualTo("tguid", config.topTaskGuid) |
| | | }) |
| | | } |
| | | // 统计总任务下所有场景 |
| | | if (config.allScene) { |
| | | //1. 查找特定的巡查任务或者所有的计划巡查任务 |
| | | val taskSceneIdList = dbMapper.scenseMapper.getSceneByType(config.topTaskGuid, config.sceneType, |
| | | config.townCode).map { it.guid ?: "" } |
| | | |
| | | if (taskSceneIdList.isNotEmpty()) { |
| | | taskSceneIdList.forEach { |
| | | var subtask: Subtask? = null |
| | | for (s in subTaskList) { |
| | | if (s.scenseid == it) { |
| | | subtask = s |
| | | result.add(s) |
| | | val subTaskList = dbMapper.subtaskMapper.selectByExample(Example(Subtask::class.java).apply { |
| | | createCriteria().apply { |
| | | if (taskSceneIdList.isNotEmpty()) andIn("scenseid", taskSceneIdList) |
| | | }.andEqualTo("tguid", config.topTaskGuid) |
| | | }) |
| | | // 给还未巡查的场景生成空的子任务对象 |
| | | if (taskSceneIdList.isNotEmpty()) { |
| | | taskSceneIdList.forEach { |
| | | var subtask: Subtask? = null |
| | | for (s in subTaskList) { |
| | | if (s.scenseid == it) { |
| | | subtask = s |
| | | result.add(s) |
| | | } |
| | | } |
| | | if (subtask == null) { |
| | | result.add(Subtask().apply { scenseid = it }) |
| | | } |
| | | } |
| | | if (subtask == null) { |
| | | result.add(Subtask().apply { scenseid = it }) |
| | | } |
| | | } else { |
| | | result.addAll(subTaskList) |
| | | } |
| | | } else { |
| | | } |
| | | else { |
| | | val subTaskList = dbMapper.subtaskMapper.selectByExample(Example(Subtask::class.java).apply { |
| | | createCriteria().apply { |
| | | if (config.subTaskIdList?.isNotEmpty() == true) andIn("stguid", config.subTaskIdList) |
| | | config.startTime?.let { andGreaterThanOrEqualTo("planstarttime", it) } |
| | | config.endTime?.let { andLessThanOrEqualTo("planendtime", it) } |
| | | config.districtCode?.let { andEqualTo("districtcode", it) } |
| | | andEqualTo("tguid", config.topTaskGuid) |
| | | } |
| | | }) |
| | | result.addAll(subTaskList) |
| | | } |
| | | |