| | |
| | | @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") |
| | | } |
| | | } |
| | | |
| | |
| | | * 查找一个总任务 |
| | | */ |
| | | 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?> { |
| | |
| | | /** |
| | | * 获取日任务 |
| | | * @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() |
| | | }) |
| | | } |