| | |
| | | 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.* |
| | | |
| | | /** |
| | |
| | | */ |
| | | @JsonIgnoreProperties(ignoreUnknown = true) |
| | | data class LedgerVo constructor( |
| | | //台账记录id |
| | | var id: String? = null, |
| | | //台账子类型ID |
| | | var ledgerSubTypeId: Int? = null, |
| | | //台账名称 |
| | | var ledgerName: String? = null, |
| | | //台账类型ID |
| | | var ledgerTypeId: Int? = null, |
| | | //台账类型 |
| | | var ledgerType: String? = null, |
| | | //台账是否本地填写完成 |
| | | var ledgerFinished: Boolean = false, |
| | | //台账是否上传 |
| | | var isUpLoad: Boolean = false, |
| | | //台账更新日期 |
| | | var updateDate: Date? = null, |
| | | //台账更新类型(0部分更新(部分缺失、遗失)、1已更新、2无更新等) |
| | | var updateType: Byte? = null, |
| | | //台账多媒体文件类型 |
| | | var fileType: Int? = null, |
| | | //台账基础多媒体文件路径 |
| | | var path1: String? = null, |
| | | //台账基础多媒体文件备注 |
| | | var remark1: String? = null, |
| | | //台账补充多媒体文件路径 |
| | | var path2: String? = null, |
| | | //台账补充多媒体文件备注 |
| | | var remark2: String? = null, |
| | | //台账所属的场景类型 |
| | | var sceneType: Int = SceneType.NoType.value |
| | | ) |
| | | //台账记录id |
| | | var id: String? = null, |
| | | //台账子类型ID |
| | | var ledgerSubTypeId: Int? = null, |
| | | //台账名称 |
| | | var ledgerName: String? = null, |
| | | //台账类型ID |
| | | var ledgerTypeId: Int? = null, |
| | | //台账类型 |
| | | var ledgerType: String? = null, |
| | | //台账是否本地填写完成 |
| | | var ledgerFinished: Boolean = false, |
| | | //台账是否上传 |
| | | var isUpLoad: Boolean = false, |
| | | //台账更新日期 |
| | | var updateDate: Date? = null, |
| | | //台账更新类型(0部分更新(部分缺失、遗失)、1已更新、2无更新等) |
| | | var updateType: Byte? = null, |
| | | //台账多媒体文件类型 |
| | | var fileType: Int? = null, |
| | | //台账基础多媒体文件路径 |
| | | var path1: String? = null, |
| | | //台账基础多媒体文件备注 |
| | | var remark1: String? = null, |
| | | //台账补充多媒体文件路径 |
| | | var path2: String? = null, |
| | | //台账补充多媒体文件备注 |
| | | var remark2: String? = null, |
| | | //台账所属的场景类型 |
| | | 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() |
| | | } |
| | | } |