feiyu02
2025-09-18 baf2cc2ce3dfd1235c012a3750132769fcd9ad2f
2025.9.18
1. 联合前端调试数据产品接口(待完成)
已修改6个文件
58 ■■■■ 文件已修改
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt
@@ -12,5 +12,7 @@
    fun signFile(userId: String, fileNum: String, id: Int): BaseResponse<Int>
    fun updateRecord(recordId: Int, userId: String?, sceneId: String?): NightConstruction
    fun getSummary(cityCode: String?, districtCode: String): BaseResponse<NightWorkSummary>
}
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt
@@ -120,11 +120,23 @@
                })
                if (subtaskList.isEmpty()) return@queryCache emptyList<DPEvaluateInfo>()
                val sceneList = aopDbMapper.scenseMapper.selectByExample(Example(Scense::class.java).apply {
                    createCriteria().andIn("guid", subtaskList.map { it.scenseid })
                        .andEqualTo("typeid", queryOpt.sceneTypeId)
                })
                val validSubtaskList = subtaskList.filter { sceneList.find { scene -> scene.guid == it.scenseid } != null }
                aopDbMapper.evaluationMapper.selectByExample(Example(Evaluation::class.java).apply {
                    createCriteria().andIn("stguid", subtaskList.map { it.stguid })
                    createCriteria().andIn("stguid", validSubtaskList.map { it.stguid })
                }).forEach {
                    res.add(DPEvaluateInfo().apply {
                        subTask = subtaskList.find { sub-> sub.stguid == it.stguid }
                        val scene = sceneList.find { sce-> sce.guid == it.sguid }
                        index = scene?.index
                        subTask = validSubtaskList.find { sub-> sub.stguid == it.stguid }?.apply {
                            towncode = scene?.towncode
                            townname = scene?.townname
                        }
                        evaluate = it
                        val score = it.resultscorebef?.toIntOrNull() ?: -1
                        scoreLevel = when {
@@ -136,6 +148,7 @@
                        }
                    })
                }
                res.sortBy { it.index }
                return@queryCache res
            },
            save = {  }
@@ -152,16 +165,27 @@
                })
                if (subtaskList.isEmpty()) return@queryCache emptyList<DPInspectionInfo>()
                val sceneList = aopDbMapper.scenseMapper.selectByExample(Example(Scense::class.java).apply {
                    createCriteria().andIn("guid", subtaskList.map { it.scenseid })
                        .andEqualTo("typeid", queryOpt.sceneTypeId)
                })
                val validSubtaskList = subtaskList.filter { sceneList.find { scene -> scene.guid == it.scenseid } != null }
                val problemList = aopDbMapper.problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
                    createCriteria().andIn("stguid", subtaskList.map { it.stguid })
                    createCriteria().andIn("stguid", validSubtaskList.map { it.stguid })
                })
                val problemTypeList = aopDbMapper.problemtypeMapper.selectByExample(Example(Problemtype::class.java)
                    .apply { createCriteria().andIn("guid", problemList.map { it.ptguid }) })
                subtaskList.forEach {
                validSubtaskList.forEach {
                    res.add(DPInspectionInfo().apply {
                        subTask = it
                        val scene = sceneList.find { sce-> sce.guid == it.scenseid }
                        index = scene?.index
                        subTask = it.apply {
                            towncode = scene?.towncode
                            townname = scene?.townname
                        }
                        problems = problemList.filter { problem-> problem.stguid == it.stguid }.map { problem->
                            val problemListVo = ProblemListVo()
                            BeanUtils.copyProperties(problem, problemListVo)
@@ -175,7 +199,7 @@
                        }
                    })
                }
                res.sortBy { it.index }
                return@queryCache res
            },
            save = {  }
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt
@@ -1,5 +1,6 @@
package cn.flightfeather.supervision.lightshare.service.impl
import cn.flightfeather.supervision.common.exception.BizException
import cn.flightfeather.supervision.domain.ds1.entity.NightConstruction
import cn.flightfeather.supervision.domain.ds1.mapper.NightConstructionMapper
import cn.flightfeather.supervision.domain.ds1.mapper.UserinfoMapper
@@ -24,7 +25,7 @@
                    .andEqualTo("ncDistrictCode", districtCode)
            orderBy("ncRead").orderBy("ncId").desc()
        })
        return BaseResponse(true, head = DataHead(p.pageNum, p.pages), data = result)
        return BaseResponse(true, head = DataHead(p.pageNum, p.pages, p.total), data = result)
    }
    override fun getNightWorkFile(userId: String, isRead: Boolean?, page: Int, perPage: Int): BaseResponse<List<NightConstruction?>> {
@@ -64,6 +65,14 @@
        }
    }
    override fun updateRecord(recordId: Int, userId: String?, sceneId: String?): NightConstruction {
        val record = nightConstructionMapper.selectByPrimaryKey(recordId) ?: throw BizException("夜间许可证记录不存在")
        record.ncUserId = userId
        record.ncSceneId = sceneId
        nightConstructionMapper.updateByPrimaryKey(record)
        return record
    }
    override fun getSummary(cityCode: String?, districtCode: String): BaseResponse<NightWorkSummary> {
        val total = nightConstructionMapper.selectCountByExample(Example(NightConstruction::class.java).apply {
            createCriteria().andEqualTo("ncCityCode", cityCode ?: "3100")
src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt
@@ -10,6 +10,7 @@
 * @author feiyu02
 */
class DPEvaluateInfo {
    var index: Int? = null
    var subTask:Subtask? = null
    var evaluate: Evaluation? = null
    var scoreLevel: String? = null
src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt
@@ -10,6 +10,7 @@
 * @author feiyu02
 */
class DPInspectionInfo {
    var index: Int? = null
    var subTask: Subtask? = null
    var problems: List<ProblemListVo>? = null
}
src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt
@@ -32,6 +32,13 @@
            @RequestParam("id") id: Int
    ) = nightConstructionService.signFile(userId, fileNum, id)
    @PostMapping("/record")
    fun updateRecord(
        @RequestParam recordId: Int,
        @RequestParam(required = false) userId: String?,
        @RequestParam(required = false) sceneId: String?,
    ) = resPack { nightConstructionService.updateRecord(recordId, userId, sceneId) }
    @GetMapping("/summary")
    fun getSummary(
            @RequestParam(value = "cityCode", required = false) cityCode: String?,