feiyu02
2024-08-15 196bb14112448857a885e32dc4149e308e00b01a
src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/LedgerVo.kt
@@ -1,7 +1,13 @@
package cn.flightfeather.supervision.lightshare.vo
import cn.flightfeather.supervision.domain.entity.LedgerRecord
import cn.flightfeather.supervision.domain.entity.LedgerSubType
import cn.flightfeather.supervision.domain.entity.Userinfo
import cn.flightfeather.supervision.domain.enumeration.SceneType
import cn.flightfeather.supervision.infrastructure.utils.UUIDGenerator
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import java.time.LocalDateTime
import java.time.ZoneId
import java.util.*
/**
@@ -40,5 +46,33 @@
        //台账补充多媒体文件备注
        var remark2: String? = null,
        //台账所属的场景类型
        var sceneType: Int = SceneType.NoType.value
)
    var sceneType: Int = SceneType.NoType.value,
) {
    companion object {
        fun fromLedgerSubtype(ledger: LedgerSubType?) = LedgerVo().apply {
            ledgerSubTypeId = ledger?.lsSubtypeid
            ledgerName = ledger?.lsName
            ledgerTypeId = ledger?.getlTypeid()
            ledgerType = ledger?.getlTypename()
            updateDate = Date()
            fileType = 1
        }
    }
    fun toLedgerRecord(userInfo: Userinfo?) = LedgerRecord().apply {
        val updateTime = LocalDateTime.ofInstant(updateDate?.toInstant(), ZoneId.systemDefault())
        lrGuid = UUIDGenerator.generate16ShortUUID()
        lsSubtypeid = ledgerSubTypeId
        lsSubtypename = ledgerName
        lrYear = updateTime.year
        lrMonth = updateTime.monthValue.toByte()
        lrDay = updateTime.dayOfMonth.toByte()
        lrEasubmitkind = fileType?.toByte() ?: 1
        lrSubmitid = userInfo?.guid
        lrSubmitname = userInfo?.acountname
        lrIssubmitontime = updateTime.dayOfMonth <= 10
        lrSubmitdate = Date()
        lrUpdatetype = updateType
        lrExtension1 = sceneType.toString()
    }
}