From 85ef942e7195abeb71466b7159c3ee30161e1e54 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 07 四月 2026 08:51:01 +0800
Subject: [PATCH] 2026.4.7
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt | 48 +++++++++++++++++++++++++++++-------------------
1 files changed, 29 insertions(+), 19 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 264e239..1b7cae2 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
@@ -40,6 +40,8 @@
val problemlistMapper: ProblemlistMapper,
val inspectionMapper: InspectionMapper,
val mediafileMapper: MediafileMapper,
+ private val subtaskService: SubtaskService,
+ private val subtaskMapper: SubtaskMapper,
private val taskRep: TaskRep,
private val subTaskRep: SubTaskRep,
private val problemRep: ProblemRep,
@@ -106,34 +108,40 @@
return problemListVolistTemp1
}
- override fun getBySceneMonth(sceneId: String, year: Int?, month: Int?): List<ProblemListVo> {
+ override fun getBySceneMonth(sceneId: String, year: Int?, month: Int?): Pair<List<SubtaskVo>, List<ProblemListVo>> {
var _year = year
var _month = month
+ var lastSubTasks = listOf<SubtaskVo>()
if (year == null) {
- PageHelper.startPage<Problemlist>(1, 1)
- val lastProblem = problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
- createCriteria().andEqualTo("sguid", sceneId)
- orderBy("time").desc()
- }).takeIf { it.isNotEmpty() }?.get(0)
- if (lastProblem == null) {
- return emptyList()
+ lastSubTasks = subtaskService.findByDate(sceneId = sceneId)
+// PageHelper.startPage<Problemlist>(1, 1)
+// val lastProblem = problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
+// createCriteria().andEqualTo("sguid", sceneId)
+// orderBy("time").desc()
+// }).takeIf { it.isNotEmpty() }?.get(0)
+ if (lastSubTasks.isEmpty()) {
+ return lastSubTasks to emptyList()
} else {
- val lt = LocalDateTime.ofInstant(lastProblem.time?.toInstant(), ZoneId.systemDefault())
+ val lt = LocalDateTime.ofInstant(lastSubTasks[0].planstarttime?.toInstant(), ZoneId.systemDefault())
_year = lt.year
_month = lt.monthValue
}
}
val sT = LocalDateTime.of(_year!!, _month!!, 1, 0, 0, 0, 0)
val eT = sT.plusMonths(1).minusSeconds(1)
- return problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
+ if (lastSubTasks.isEmpty()) {
+ lastSubTasks = subtaskMapper.selectByExample(Example(Subtask::class.java).apply {
+ createCriteria().andBetween("planstarttime", sT, eT)
+ }).map {
+ SubtaskVo().apply { BeanUtils.copyProperties(it, this) }
+ }
+ }
+ val problemList = problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
createCriteria().andBetween("time", sT,eT)
.andEqualTo("sguid", sceneId)
orderBy("time").desc()
- }).map {
- val problemVo = ProblemListVo();
- BeanUtils.copyProperties(it, problemVo)
- problemVo
- }
+ }).map { ProblemListVo().apply { BeanUtils.copyProperties(it, this) } }
+ return lastSubTasks to problemList
}
//鑾峰彇鏌愰《灞備换鍔′笅锛屾煇涓満鏅笅鐨勯棶棰樻暣鏀规儏鍐�
@@ -547,13 +555,13 @@
return "success"
}
- override fun updateProblem(problem: ProblemListVo, deleteImg: List<String>, files: Array<MultipartFile>): String {
+ override fun updateProblem(problem: ProblemListVo, deleteImg: List<String>?, files: Array<MultipartFile>): String {
problemRep.findOne(problem.guid) ?: throw BizException("璇ラ棶棰樹笉瀛樺湪")
problemRep.update(problem)
val inspection = inspectionMapper.selectByPrimaryKey(problem.iguid) ?: throw BizException("宸℃煡璁板綍涓嶅瓨鍦�")
val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: throw BizException("宸℃煡璁板綍瀵瑰簲鍦烘櫙涓嶅瓨鍦�")
mediafileService.saveMediaFile(files) { MediaFileVo.newProFile(inspection, problem, scene) }
- mediafileService.deleteList(deleteImg)
+ deleteImg?.let { mediafileService.deleteList(it) }
return "success"
}
@@ -607,9 +615,10 @@
val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply {
createCriteria().andEqualTo("businessguid", problemId)
.andEqualTo("businesstypeid", 1)
- .andEqualTo("ischanged", true)
+// .andEqualTo("ischanged", true)
})
- if (mediaFiles.isEmpty()) throw BizException("闂杩樻湭鏁存敼锛屾棤娉曚慨鏀规暣鏀�")
+ if (mediaFiles.isEmpty()) throw BizException("缂哄皯闂鍜屾暣鏀瑰浘鐗囷紝鏃犳硶淇敼")
+ if (p.ischanged != true) throw BizException("鏈暣鏀归棶棰樻棤娉曚慨鏀�")
// 淇濆瓨鏂扮殑鏁存敼鍥剧墖
val m = mediaFiles[0]
@@ -618,6 +627,7 @@
m.apply {
guid = UUIDGenerator.generate16ShortUUID()
description = p.problemname + " " + p.location + " 鏁存敼 " + UUIDGenerator.generateUUID(4) + ".jpg"
+ ischanged = true
}
}
mediafileService.deleteList(deleteImg)
--
Gitblit v1.9.3