From a3cc1d220f8a1de11874bebceba0130d32157ff1 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 30 九月 2025 09:26:32 +0800 Subject: [PATCH] 2025.9.30 1. 联合前端调试数据产品接口(待完成) --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt | 141 +++++++++++++++++++++++++--------------------- 1 files changed, 77 insertions(+), 64 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt index e84b05a..d33ffe5 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt @@ -130,11 +130,11 @@ //鏍规嵁鍖哄幙銆佸満鏅被鍨嬨�佹椂闂磋幏鍙栧悇涓棶棰樻暟閲� override fun getStatisticalResult(areaVo: AreaVo): List<StatisticsVo> { - val districtcode = areaVo.districtcode - val sceneType = areaVo.scensetypeid - val startTime = areaVo.starttime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) - val endTime = areaVo.endtime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) - return problemlistMapper.getStatisticalResult(districtcode, startTime, endTime, sceneType, areaVo.sceneId) +// val districtcode = areaVo.districtcode +// val sceneType = areaVo.scensetypeid +// val startTime = areaVo.starttime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) +// val endTime = areaVo.endtime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + return problemlistMapper.getStatisticalResult(areaVo) } override fun getChargeResult(areaVo: AreaVo): ChargeInfoVo { @@ -373,7 +373,7 @@ userId: String, userName: String, ): BaseResponse<String> { - if (action !in 0..3) { + if (action !in 0..5) { return BaseResponse(false, "闈炴硶鐨勬搷浣滄寚浠�") } val p = problemlistMapper.selectByPrimaryKey(pId) ?: return BaseResponse(false, "闂涓嶅瓨鍦�") @@ -398,6 +398,14 @@ response.success = false response.message = "闂鎻愪氦杩樻湭瀹℃牳锛屾棤娉曡繘琛屾暣鏀瑰鏍革紒" } + 4.toByte() -> { + response.success = false + response.message = "闂鎻愪氦杩樻湭瀹℃牳锛屾棤娉曡繘琛屾挙鍥炲鏍革紒" + } + 5.toByte() -> { + response.success = false + response.message = "闂鏁存敼杩樻湭鎻愪氦锛屾棤娉曡繘琛屾挙鍥炲鏍革紒" + } } } else if (extension3 == Constant.PROBLEM_CHECK_PASS || extension3 == Constant.PROBLEM_CHECK_FAIL) { when (action) { @@ -419,6 +427,13 @@ response.message = "闂杩樻湭鏁存敼锛屾棤娉曡繘琛屾暣鏀瑰鏍革紒鎿嶄綔鏃犳晥" } } + 4.toByte() -> { + extension3 = Constant.PROBLEM_UNCHECKED + } + 5.toByte() -> { + response.success = false + response.message = "闂鏁存敼杩樻湭瀹℃牳锛屾棤娉曡繘琛屾暣鏀瑰鏍告挙鍥炴搷浣滐紒鎿嶄綔鏃犳晥" + } } } else if (extension3 == Constant.CHANGE_UNCHECKED) { event = "鍦�${subtask?.scensename}瀹℃牳浜嗕竴涓暣鏀�" @@ -431,6 +446,14 @@ } 2.toByte() -> extension3 = Constant.CHANGE_CHECK_PASS 3.toByte() -> extension3 = Constant.CHANGE_CHECK_FAIL + 4.toByte() -> { + response.success = false + response.message = "闂鏁存敼杩樻湭瀹℃牳锛屾棤娉曡繘琛屾挙鍥炲鏍革紒" + } + 5.toByte() -> { + response.success = false + response.message = "闂鎻愪氦宸插鏍革紝骞朵笖宸茶鏁存敼銆傛搷浣滄棤鏁�" + } } } else if (extension3 == Constant.CHANGE_CHECK_PASS || extension3 == Constant.CHANGE_CHECK_FAIL) { when (action) { @@ -442,6 +465,13 @@ } 2.toByte() -> extension3 = Constant.CHANGE_CHECK_PASS 3.toByte() -> extension3 = Constant.CHANGE_CHECK_FAIL + 4.toByte() -> { + response.success = false + response.message = "闂鎻愪氦宸插鏍革紝骞朵笖宸茶鏁存敼锛屾棤娉曡繘琛岄棶棰樺鏍告挙閿�鎿嶄綔銆傛搷浣滄棤鏁�" + } + 5.toByte() -> { + extension3 = Constant.CHANGE_UNCHECKED + } } } } @@ -459,20 +489,17 @@ } override fun newProblem(problem: String, files: Array<MultipartFile>): BaseResponse<String> { - val mapper = ObjectMapper() - //json杞琽bject - val problemVo = mapper.readValue(problem, object : TypeReference<ProblemVo>() {}) + val problemVo = ObjectMapper().readValue(problem, object : TypeReference<ProblemVo>() {}) val inspection = inspectionMapper.selectByPrimaryKey(problemVo.insGuid) ?: return BaseResponse(false, "宸℃煡璁板綍涓嶅瓨鍦�") val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: return BaseResponse(false, "宸℃煡璁板綍瀵瑰簲鍦烘櫙涓嶅瓨鍦�") - // 淇濆瓨闂 val problemlist = ProblemListVo.newPro(inspection, problemVo, scene) problemlistMapper.insert(problemlist) // 淇濆瓨鍥剧墖 - saveProFile(problemlist, inspection, scene, files) + mediafileService.saveMediaFile(files) { MediaFileVo.newProFile(inspection, problemlist, scene) } //鏇存柊宸℃煡淇℃伅鐨勯棶棰樻暟 if (inspection.problemcount != null) { @@ -491,41 +518,26 @@ override fun updateProblem(problem: ProblemListVo, deleteImg: List<String>, files: Array<MultipartFile>): String { problemRep.findOne(problem.guid) ?: throw BizException("璇ラ棶棰樹笉瀛樺湪") - val inspection = inspectionMapper.selectByPrimaryKey(problem.guid) ?: throw BizException("宸℃煡璁板綍涓嶅瓨鍦�") + problemRep.update(problem) + val inspection = inspectionMapper.selectByPrimaryKey(problem.iguid) ?: throw BizException("宸℃煡璁板綍涓嶅瓨鍦�") val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: throw BizException("宸℃煡璁板綍瀵瑰簲鍦烘櫙涓嶅瓨鍦�") - saveProFile(problem, inspection, scene, files) + mediafileService.saveMediaFile(files) { MediaFileVo.newProFile(inspection, problem, scene) } mediafileService.deleteList(deleteImg) return "success" } - override fun saveProFile( - problemlist: Problemlist, - inspection: Inspection, - scene: Scense, - files: Array<MultipartFile>, - ): Int { - var res = 0 - // 淇濆瓨鍥剧墖 - for (image in files) { - val mediaFile = MediaFileVo.newProFile(inspection, problemlist, scene) - res += mediafileMapper.insert(mediaFile) - - val path = mediaFile.extension1 - val fileName = mediaFile.guid + ".jpg" - val filePath = "${imgPath}/$path/" - try { - //璋冪敤鏂囦欢淇濆瓨鏂规硶 - FileUtil.uploadFile(image.bytes, filePath, fileName) - } catch (e: Exception) { - // TODO: handle exception - } - } - return res - } override fun changeProblem(problemId: String, files: Array<MultipartFile>): BaseResponse<String> { - // 鏇存柊闂 + // 闂鍜岄棶棰樺浘鐗囧悎娉曟�ф鏌� val p = problemlistMapper.selectByPrimaryKey(problemId) ?: return BaseResponse(false, "闂涓嶅瓨鍦�") + val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply { + createCriteria().andEqualTo("businessguid", p.guid) + .andEqualTo("businesstypeid", 1) + .andEqualTo("ischanged", false) + }) + if (mediaFiles.isEmpty()) return BaseResponse(false, "闂涓嶅瓨鍦ㄦ垨宸叉暣鏀癸紝鏃犳硶閲嶅鏁存敼") + + // 鏇存柊闂 p.apply { ischanged = true changedtime = Date() @@ -544,39 +556,41 @@ } problemlistMapper.updateByPrimaryKey(p) - // 淇濆瓨鍥剧墖 - val now = LocalDateTime.now() - val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply { - createCriteria().andEqualTo("businessguid", p.guid) - .andEqualTo("businesstypeid", 1) - .andEqualTo("ischanged", false) - }) - if (mediaFiles.isEmpty()) return BaseResponse(false, "鍦烘櫙闂鏁伴噺涓�0锛屾棤娉曟暣鏀�") + // 淇濆瓨鏁存敼鍥剧墖 val m = mediaFiles[0] m.path = m.path + "鏁存敼/" m.savetime = Date() m.ischanged = true - - for (image in files) { + mediafileService.saveMediaFile(files) { m.apply { guid = UUIDGenerator.generate16ShortUUID() description = p.problemname + " " + p.location + " 鏁存敼 " + UUIDGenerator.generateUUID(4) + ".jpg" } - mediafileMapper.insert(m) - - val path = m.extension1 - val fileName = m.guid + ".jpg" -// val filePath = "E:\\work\\绗笁鏂圭洃绠pp\\鑷姩璇勫垎\\椁愰ギ\\" - val filePath = "${imgPath}/$path" - try { - //璋冪敤鏂囦欢淇濆瓨鏂规硶 - FileUtil.uploadFile(image.bytes, filePath, fileName) - } catch (e: Exception) { - println(e) - } } return BaseResponse(true) + } + + override fun updateChange(problemId: String, deleteImg: List<String>, files: Array<MultipartFile>): String { + val p = problemRep.findOne(problemId) ?: throw BizException("璇ラ棶棰樹笉瀛樺湪") + val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply { + createCriteria().andEqualTo("businessguid", problemId) + .andEqualTo("businesstypeid", 1) + .andEqualTo("ischanged", true) + }) + if (mediaFiles.isEmpty()) throw BizException("闂杩樻湭鏁存敼锛屾棤娉曚慨鏀规暣鏀�") + + // 淇濆瓨鏂扮殑鏁存敼鍥剧墖 + val m = mediaFiles[0] + m.savetime = Date() + mediafileService.saveMediaFile(files) { + m.apply { + guid = UUIDGenerator.generate16ShortUUID() + description = p.problemname + " " + p.location + " 鏁存敼 " + UUIDGenerator.generateUUID(4) + ".jpg" + } + } + mediafileService.deleteList(deleteImg) + return "success" } override fun getBySubTask(stGuid: String, all: Boolean?): List<ProblemListVo> { @@ -612,14 +626,13 @@ override fun getSceneProSummary( areaVo: AreaVo, - sortBy: String, page: Int, per_page: Int, ): Pair<DataHead?, List<SceneProblemSummary>?> { - areaVo.scensetypeid ?: throw BizException("缂哄皯鍦烘櫙绫诲瀷鍙傛暟") - val task = taskRep.findOneTask(areaVo) ?: throw BizException("鏈壘鍒板搴旂殑宸℃煡鎬讳换鍔�") +// areaVo.scensetypeid ?: throw BizException("缂哄皯鍦烘櫙绫诲瀷鍙傛暟") +// val task = taskRep.findOneTask(areaVo) ?: throw BizException("鏈壘鍒板搴旂殑宸℃煡鎬讳换鍔�") val p = PageHelper.startPage<SceneProblemSummary>(page, per_page) - val res = problemRep.selectSceneProSummary(task.tguid!!, areaVo.scensetypeid!!, areaVo.sort, sortBy) + val res = problemRep.selectSceneProSummary(areaVo) return DataHead(p.pageNum, p.pages, p.total) to res } } \ No newline at end of file -- Gitblit v1.9.3