From fe031e01cc1737c2f05a133fde7c36c7a2a7b4b4 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期三, 21 一月 2026 17:38:32 +0800
Subject: [PATCH] 2026.1.21 1. 新增完善台账复制逻辑
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt | 38 ++++++++++++++++++++++++++++++++------
1 files changed, 32 insertions(+), 6 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt
index d761887..90ddb5a 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt
@@ -11,6 +11,7 @@
import cn.flightfeather.supervision.domain.repository.LedgerMediaFileRep
import cn.flightfeather.supervision.domain.repository.LedgerRep
import cn.flightfeather.supervision.domain.repository.UserInfoRep
+import cn.flightfeather.supervision.domain.repository.UserSettingRep
import cn.flightfeather.supervision.infrastructure.utils.DateUtil
import cn.flightfeather.supervision.infrastructure.utils.FileUtil
import cn.flightfeather.supervision.infrastructure.utils.UUIDGenerator
@@ -43,6 +44,7 @@
private val ledgerMediaFileRep: LedgerMediaFileRep,
private val userInfoRep: UserInfoRep,
private val ledgerRep: LedgerRep,
+ private val userSettingRep: UserSettingRep,
) : LedgerService {
@Value("\${imgPath}")
@@ -95,6 +97,7 @@
sceneType = it.getlScenetype(),
iconUrl = it.getlIconurl(),
realTime = it.getlRealTime(),
+ copy = it.getlAutoCopy() ?: false,
description = it.getlDescription(),
notRelated = it.getlNotRelatedSwitch() ?: true,
multigroup = it.getlMultiGroup() ?: false
@@ -186,6 +189,9 @@
ledgerType = type?.get(0)?.getlTypename()
ledgerFinished = true
isUpLoad = true
+ this.year = it.lrYear
+ this.month = it.lrMonth
+ this.day = it.lrDay
updateDate = it.lrSubmitdate
updateType = it.lrUpdatetype
fileType = it.lrEasubmitkind.toInt()
@@ -246,6 +252,9 @@
ledgerType = type?.get(0)?.getlTypename()
ledgerFinished = true
isUpLoad = true
+ this.year = it.lrYear
+ this.month = it.lrMonth
+ this.day = it.lrDay
updateDate = it.lrSubmitdate
updateType = it.lrUpdatetype
fileType = it.lrEasubmitkind.toInt()
@@ -509,6 +518,7 @@
sceneType: Int,
time: String,
): List<LedgerRecord> {
+ // 鏌ヨ鐩稿叧鐨勬墍鏈夊彴璐︾被鍨�
val ledgerSubTypes = ledgerSubTypeMapper.selectByExample(Example(LedgerSubType::class.java).apply {
if (ledgerSubTypeId != null) {
createCriteria().andEqualTo("lsSubtypeid", ledgerSubTypeId)
@@ -516,6 +526,17 @@
createCriteria().andEqualTo("lScenetype", sceneType)
}
})
+ // 2026.1.20 鏂板鑷贰鏌ユ壙璇哄悗锛岃嚜宸℃煡鐨勬湁鏁堝懆鏈熷欢闀胯嚦涓�骞达紙褰撳勾鍐咃級
+ val promised = userSettingRep.checkIsSelfPatrolPromised(userId)
+ if (promised) {
+ ledgerSubTypes.onEach {
+ if (it.getlTypeid() == -1) {
+ it.setlPeriod(12)
+ }
+ }
+ }
+
+
val c = Calendar.getInstance().apply { this.time = DateUtil.StringToDate(time) }
val year = c.get(Calendar.YEAR)
val month = c.get(Calendar.MONTH) + 1
@@ -529,10 +550,11 @@
}
val records = mutableListOf<LedgerRecord>()
map.forEach { (p, v) ->
+ // 鎸夌収鍛ㄦ湡鍒嗙粍锛岀粺涓�鏌ヨ鐩稿悓鍛ㄦ湡鐨勬墍鏈夊彴璐�
// FIXME: 2020/11/10 姝ゅ鏍规嵁鍛ㄦ湡鍜屽綋鍓嶆湀浠借绠楀緱鍒板綋鍓嶆湀浠芥墍鍦ㄥ懆鏈熺殑濮嬫湯鏈堬紝鍙�傜敤浜庡懆鏈熷皬浜庣瓑浜�12涓湀鐨勬儏鍐点�傚悗缁緟淇敼
val startMon = ceil(month.toDouble() / p).toInt().minus(1).times(p).plus(1)
var endMon = startMon + p - 1
- if (endMon > month) endMon = month
+// if (endMon > month) endMon = month
val r = ledgerRecordMapper.selectByExample(Example(LedgerRecord::class.java).apply {
createCriteria().andEqualTo("lrSubmitid", userId)
.andEqualTo("lrYear", year)
@@ -540,6 +562,7 @@
.andLessThanOrEqualTo("lrMonth", endMon.toByte())
.andIn("lsSubtypeid", v)
})
+ // 绛涢�夋瘡绉嶅彴璐﹁褰曚腑鐨勬渶鏂颁竴鏉�
val monMap = mutableMapOf<Int, LedgerRecord>()
r.forEach {
if (monMap.containsKey(it.lsSubtypeid)) {
@@ -560,8 +583,8 @@
}
override fun copyLedger(userId: String, time: String, copyLedgerList: List<CopyLedgerVo>): BaseResponse<String> {
- val year = time.split("-")[0]
- val month = time.split("-")[1]
+ val year = time.split("-")[0].toIntOrNull() ?: return BaseResponse(false, "骞翠唤鏍煎紡閿欒")
+ val month = time.split("-")[1].toIntOrNull() ?: return BaseResponse(false, "鏈堜唤鏍煎紡閿欒")
val date = DateUtil.StringToDate(time, DateUtil.DateStyle.YYYY_MM)
copyLedgerList.forEach {
//鍘婚噸鍒ゆ柇
@@ -575,14 +598,17 @@
return@forEach
}
- val y = it.time?.split("-")?.get(0) ?: return@forEach
- val m = it.time?.split("-")?.get(1) ?: return@forEach
+ val y = it.time?.split("-")?.get(0)
+ val m = it.time?.split("-")?.get(1)
ledgerRecordMapper.selectByExample(Example(LedgerRecord::class.java).apply {
createCriteria().andEqualTo("lrSubmitid", userId)
.andEqualTo("lsSubtypeid", it.subTypeId)
.andEqualTo("lrYear", y)
.andEqualTo("lrMonth", m)
- }).forEach record@{ lr ->
+ orderBy("lrYear").desc()
+ .orderBy("lrMonth").desc()
+ .orderBy("lrSubmitdate").desc()
+ }).takeIf { list-> list.isNotEmpty() }?.get(0)?.let record@{ lr ->
//鑾峰彇璁板綍瀵瑰簲鐨勬枃浠朵俊鎭�
val fileList = ledgerMediaFileMapper.selectByExample(Example(LedgerMediaFile::class.java).apply {
createCriteria().andEqualTo("lrGuid", lr.lrGuid)
--
Gitblit v1.9.3