feiyu02
2025-12-20 5a003a42d2b34e8362910ac1d3e5a8866768e5fe
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt
@@ -33,20 +33,28 @@
    @Autowired
    lateinit var taskService: TaskService
    @Autowired
    lateinit var taskMapper: TaskMapper
    @Autowired
    lateinit var evaluationMapper: EvaluationMapper
    @Autowired
    lateinit var problemlistMapper: ProblemlistMapper
    @Autowired
    lateinit var mediafileMapper: MediafileMapper
    @Autowired
    lateinit var scenseMapper: ScenseMapper
    @Autowired
    lateinit var inspectionMapper: InspectionMapper
    @Autowired
    lateinit var monitorobjectversionMapper: MonitorobjectversionMapper
    @Autowired
    lateinit var problemtypeMapper: ProblemtypeMapper
@@ -114,8 +122,10 @@
                problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
                    createCriteria().andEqualTo("stguid", it.stguid)
                    and(createCriteria().orIsNull("remark")
                            .orNotEqualTo("remark", Constant.PROBLEM_DELETED))
                    and(
                        createCriteria().orIsNull("remark")
                            .orNotEqualTo("remark", Constant.PROBLEM_DELETED)
                    )
                }).forEach {problem ->
                    //子任务中有问题未审核时,设置未审核提示
                    if (problem.extension3 == Constant.PROBLEM_UNCHECKED) {
@@ -197,16 +207,19 @@
                two = dateString
                three = DateUtil.addMonth(dateString, 1)
            }
            "Left" -> {
                one = DateUtil.addMonth(dateString, 1)
                two = DateUtil.addMonth(dateString, 2)
                three = DateUtil.addMonth(dateString, 3)
            }
            "Right" -> {
                one = DateUtil.addMonth(dateString, -1)
                two = DateUtil.addMonth(dateString, -2)
                three = DateUtil.addMonth(dateString, -3)
            }
            else -> {
                //参数不正确就返回
                return taskPackList
@@ -251,16 +264,19 @@
                two = dateString
                three = DateUtil.addMonth(dateString, 1)
            }
            "Left" -> {
                one = DateUtil.addMonth(dateString, 1)
                two = DateUtil.addMonth(dateString, 2)
                three = DateUtil.addMonth(dateString, 3)
            }
            "Right" -> {
                one = DateUtil.addMonth(dateString, -1)
                two = DateUtil.addMonth(dateString, -2)
                three = DateUtil.addMonth(dateString, -3)
            }
            else -> {
                //参数不正确就返回
                return taskPackList
@@ -422,7 +438,8 @@
            subtask.tsguid = daytaskVo.tguid
            //*(修改)*日任务正在执行,子任务结束,遍历所有其余子任务,都是结束时才将日任务修改为结束****
            if (subtask.status == Constant.TaskProgress.RUNINGSTATUS3.text
                && daytaskVo.runingstatus == Constant.TaskProgress.RUNINGSTATUS2.text){
                && daytaskVo.runingstatus == Constant.TaskProgress.RUNINGSTATUS2.text
            ) {
                val subtaskVolist = findByDayTaskID(daytaskVo.tguid!!)
                var bool = false
                subtaskVolist.forEach {
@@ -500,7 +517,15 @@
    }
    override fun searchSubTask(token: String, sceneType: Int?, districtCode: String?, startTime: String?, endTime: String?, page: Int?, perPage: Int?): BaseSearchResultVo {
    override fun searchSubTask(
        token: String,
        sceneType: Int?,
        districtCode: String?,
        startTime: String?,
        endTime: String?,
        page: Int?,
        perPage: Int?,
    ): BaseSearchResultVo {
        if (token != "jingan") {
            return BaseSearchResultVo().apply {
                head = DataHead().apply {
@@ -647,8 +672,10 @@
                        .andNotEqualTo("extension3", Constant.CHANGE_CHECK_FAIL)
                        .andIsNotNull("extension3")
                    time?.let {
                        and(createCriteria().orGreaterThan("time", it)
                            .orGreaterThan("changedtime", it))
                        and(
                            createCriteria().orGreaterThan("time", it)
                                .orGreaterThan("changedtime", it)
                        )
                    }
                }).forEach { p ->
                    val problem = ProblemDetail().apply {
@@ -743,7 +770,16 @@
        return BaseResponse(true, "请求成功", data = result)
    }
    override fun searchSubTask3(token: String, updateTime: String?, sceneType: Int?, districtCode: String?, startTime: String?, endTime: String?, page: Int?, perPage: Int?): BaseResponse<BaseSearchResultVo> {
    override fun searchSubTask3(
        token: String,
        updateTime: String?,
        sceneType: Int?,
        districtCode: String?,
        startTime: String?,
        endTime: String?,
        page: Int?,
        perPage: Int?,
    ): BaseResponse<BaseSearchResultVo> {
        if (token != "jinshan") {
            return BaseResponse(false, "请求token错误")
        }
@@ -798,8 +834,10 @@
                        .andNotEqualTo("extension3", Constant.CHANGE_CHECK_FAIL)
                        .andIsNotNull("extension3")
                    time?.let {
                        and(createCriteria().orGreaterThan("time", it)
                            .orGreaterThan("changedtime", it))
                        and(
                            createCriteria().orGreaterThan("time", it)
                                .orGreaterThan("changedtime", it)
                        )
                    }
                }).forEach { p ->
                    val problem = ProblemDetail().apply {
@@ -899,15 +937,37 @@
        return BaseResponse(true, "请求成功", data = result)
    }
    override fun findByDate(date: String, userId: String): List<SubtaskVo> {
        val time = DateUtil.StringToDate(date)
    override fun findByDate(date: String?, userId: String?, sceneId: String?): List<SubtaskVo> {
        val time = if (date == null) null else DateUtil.StringToDate(date)
        val resultList = mutableListOf<SubtaskVo>()
        val subtasks = if (time != null) {
            // 获取某一天的巡查任务
        subtaskMapper.selectByExample(Example(Subtask::class.java).apply {
            createCriteria().andLessThanOrEqualTo("planstarttime", time)
                    .andGreaterThanOrEqualTo("planendtime", time)
        }).forEach {
                    .apply { sceneId?.let { andEqualTo("scenseid", it) } }
            })
        } else {
            // 获取最近一个月内的(某个场景的)所有巡查任务
            PageHelper.startPage<Subtask>(1, 1)
            val lastOne = subtaskMapper.selectByExample(Example(Subtask::class.java).apply {
                createCriteria().apply {
                    sceneId?.let { andEqualTo("scenseid", it) }
                }
                orderBy("planstarttime").desc()
            }).takeIf { it.isNotEmpty() }?.get(0)
            if (lastOne == null) {
                emptyList()
            } else {
                subtaskMapper.selectByExample(Example(Subtask::class.java).apply {
                    createCriteria().andEqualTo("tguid", lastOne.tguid)
                        .andEqualTo("scenseid", lastOne.scenseid)
                })
            }
        }
        subtasks.forEach {
            val vo = SubtaskVo()
            BeanUtils.copyProperties(it, vo)
            resultList.add(vo)
@@ -920,7 +980,7 @@
        topTaskId: String,
        startTime: String?,
        endTime: String?,
        sceneTypeId: Int?
        sceneTypeId: Int?,
    ): List<Subtask> {
        return subtaskMapper.selectByTopTask2(topTaskId, sceneTypeId)