From 7d74f3fd087d4a8192ed556a6c2e3a2ea3c81cff Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期五, 28 三月 2025 17:43:48 +0800 Subject: [PATCH] 1. 新增扬尘监测数据上传功能 --- src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/TaskRep.kt | 50 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/TaskRep.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/TaskRep.kt index 21133a7..85bffce 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/TaskRep.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/TaskRep.kt @@ -13,16 +13,33 @@ @Repository class TaskRep(private val taskMapper: TaskMapper, private val monitorobjectversionMapper: MonitorobjectversionMapper) { - private fun exampleTask(areaVo: AreaVo): Task?{ + private fun exampleTask(areaVo: AreaVo, levelNum: Int? = null): Example? { areaVo.starttime ?: return null val mStart = areaVo.starttime!!.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0) val mEnd = mStart.plusMonths(1).minusSeconds(1) - return Task().apply { - provincecode = areaVo.provincecode - citycode = areaVo.citycode - districtcode = areaVo.districtcode - starttime = Date.from(mStart.atZone(ZoneId.systemDefault()).toInstant()) - endtime = Date.from(mEnd.atZone(ZoneId.systemDefault()).toInstant()) +// return Task().apply { +// provincecode = areaVo.provincecode +// citycode = areaVo.citycode +// districtcode = areaVo.districtcode +// starttime = Date.from(mStart.atZone(ZoneId.systemDefault()).toInstant()) +// endtime = Date.from(mEnd.atZone(ZoneId.systemDefault()).toInstant()) +// } + + return Example(Task::class.java).apply { + createCriteria() + .apply { + if (levelNum != null) { + andEqualTo("levelnum", levelNum) + } else { + andIsNull("levelnum") + } + } + .andEqualTo("provincecode", areaVo.provincecode) + .andEqualTo("citycode", areaVo.citycode) + .andEqualTo("districtcode", areaVo.districtcode) + .andGreaterThanOrEqualTo("starttime", mStart) + .andLessThanOrEqualTo("endtime", mEnd) + orderBy("starttime") } } @@ -34,13 +51,17 @@ * 鏌ユ壘涓�涓�讳换鍔� */ fun findOneTask(areaVo: AreaVo): Task? { - val example = exampleTask(areaVo) ?: return null - return taskMapper.selectOne(example) + val list = findTasks(areaVo) + return if (list.isEmpty()) { + null + } else { + list[0] + } } fun findTasks(areaVo: AreaVo): List<Task?> { - val example = exampleTask(areaVo) ?: return emptyList() - return taskMapper.select(example) + val example = exampleTask(areaVo, 2) ?: return emptyList() + return taskMapper.selectByExample(example) } fun findTasks(task: Task): List<Task?> { @@ -58,10 +79,13 @@ /** * 鑾峰彇鏃ヤ换鍔� * @param taskId 椤跺眰浠诲姟id + * @param userId 鎵ц鐢ㄦ埛id */ - fun findDayTasks(taskId: String?): List<Task?> { + fun findDayTasks(taskId: String?, userId: String? = null): List<Task?> { return taskMapper.selectByExample(Example(Task::class.java).apply { - createCriteria().andEqualTo("tsguid", taskId) + createCriteria().andEqualTo("tsguid", taskId).apply { + userId?.let { andLike("executorguids", "%$it%") } + } orderBy("starttime").desc() }) } -- Gitblit v1.9.3