feiyu02
2022-10-21 f22c4b9230808fed4fec80c435eccb4c833349a0
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt
@@ -60,6 +60,7 @@
            if (sceneType != SceneType.NoType.value) {
                createCriteria().andEqualTo("lScenetype", sceneType)
            }
            orderBy("lTypeid")
        })
        val records = getLedgerRecords(userId, null, sceneType, time)
        val resultList = mutableListOf<LedgerSubTypeVo>()
@@ -106,8 +107,8 @@
            return result
        }
        val startDate = DateUtil().StringToDate(startTime)
        val endDate = DateUtil().StringToDate(endTime)
        val startDate = DateUtil.StringToDate(startTime)
        val endDate = DateUtil.StringToDate(endTime)
        val cal = Calendar.getInstance().apply { time = startDate }
        val year = cal.get(Calendar.YEAR)
        val month = cal.get(Calendar.MONTH) + 1
@@ -170,8 +171,19 @@
    }
    override fun getLedgerDetail2(userId: String, ledgerSubTypeId: Int?, sceneType: Int, time: String): List<LedgerVo> {
        val records = getLedgerRecords(userId, ledgerSubTypeId, sceneType, time)
    override fun getLedgerDetail2(userId: String, ledgerSubTypeId: Int?, sceneType: Int, time: String?): List<LedgerVo> {
        val records = if (time != null) {
            getLedgerRecords(userId, ledgerSubTypeId, sceneType, time)
        } else {
            // FIXME: 2022/10/13 暂时只支持ledgerSubTypeId不为null的情况
            if (ledgerSubTypeId == null) return emptyList()
            PageHelper.startPage<LedgerRecord>(1, 1)
            ledgerRecordMapper.selectByExample(Example(LedgerRecord::class.java).apply {
                createCriteria().andEqualTo("lrSubmitid", userId)
                    .andEqualTo("lsSubtypeid", ledgerSubTypeId)
                orderBy("lrSubmitdate").desc()
            })
        }
        val result = ArrayList<LedgerVo>()
        records.forEach {
            val media = ledgerMediaFileMapper.selectByExample(
@@ -215,41 +227,22 @@
        val ledgerVos = mapper.readValue<List<LedgerVo>>(ledgerVoList, object :TypeReference<List<LedgerVo>>(){})
        ledgerVos.forEach {
            it.id = it.id ?: UUIDGenerator.generate16ShortUUID()
            it.fileType = it.fileType ?: 1
            val userInfo = userinfoMapper.selectByPrimaryKey(userId)
            userInfo.extension2?.toInt()?.let {s-> it.sceneType = s }
            val today = Calendar.getInstance().apply { time = Date() }
                    .get(Calendar.DAY_OF_MONTH)
            val cal = Calendar.getInstance().apply { time = it.updateDate }
            val cal = Calendar.getInstance().apply { time = it.updateDate ?: Date() }
            val updateYear = cal.get(Calendar.YEAR)
            val updateMonth = cal.get(Calendar.MONTH) + 1
            val updateDay = cal.get(Calendar.DAY_OF_MONTH)
            //生成台账更新记录
            val ledgerRecord = LedgerRecord().apply {
                lrGuid = it.id
                lsSubtypeid = it.ledgerSubTypeId
                lsSubtypename = it.ledgerName
                lrYear = updateYear
                lrMonth = updateMonth.toByte()
                lrDay = updateDay.toByte()
                lrEasubmitkind = it.fileType?.toByte() ?: 1
                lrSubmitid = userId
                lrSubmitname = userInfo?.acountname ?: ""
                lrIssubmitontime = today <= 10
                lrSubmitdate = Date()
                lrUpdatetype = it.updateType
                lrExtension1 = it.sceneType.toString()
            }
            //检查数据库是否已有记录,选择插入或更新
            val tmp = ledgerRecordMapper.selectByPrimaryKey(ledgerRecord.lrGuid)
            if (tmp == null || tmp.lrGuid == null) {
                ledgerRecordMapper.insert(ledgerRecord)
            } else {
                ledgerRecordMapper.updateByPrimaryKey(ledgerRecord)
            }
            //对每张图片生成相应的路径并保存
            var picPath = ""
            val time = DateUtil().DateToString(Date(), DateUtil.DateStyle.YYYY_MM)
            val time = DateUtil.DateToString(Date(), DateUtil.DateStyle.YYYY_MM)
            files.forEach {file->
                val fileName = file.originalFilename
                //TODO 此处的文件路径需要修改为动态配置
@@ -262,7 +255,7 @@
                }
                try {
                    //调用文件保存方法
                    FileUtil().uploadFile(file.bytes, basePath + path, fileName!!)
                    FileUtil.uploadFile(file.bytes, basePath + path, fileName!!)
                } catch (e: Exception) {
                    e.printStackTrace()
                }
@@ -292,6 +285,31 @@
            //插入新的多媒体文件记录数据
            ledgerMediaFileMapper.insert(ledgerMedia)
            //生成台账更新记录
            val ledgerRecord = LedgerRecord().apply {
                lrGuid = it.id
                lsSubtypeid = it.ledgerSubTypeId
                lsSubtypename = it.ledgerName
                lrYear = updateYear
                lrMonth = updateMonth.toByte()
                lrDay = updateDay.toByte()
                lrEasubmitkind = it.fileType?.toByte() ?: 1
                lrSubmitid = userId
                lrSubmitname = userInfo?.acountname ?: ""
                lrIssubmitontime = today <= 10
                lrSubmitdate = Date()
                lrUpdatetype = it.updateType
                lrExtension1 = it.sceneType.toString()
            }
            //检查数据库是否已有记录,选择插入或更新
            val tmp = ledgerRecordMapper.selectByPrimaryKey(ledgerRecord.lrGuid)
            if (tmp == null || tmp.lrGuid == null) {
                ledgerRecordMapper.insert(ledgerRecord)
            } else {
                ledgerRecordMapper.updateByPrimaryKey(ledgerRecord)
            }
            return true
        }
@@ -343,7 +361,7 @@
                createCriteria().andEqualTo("lScenetype", sceneType)
            }
        })
        val c = Calendar.getInstance().apply { this.time = DateUtil().StringToDate(time) }
        val c = Calendar.getInstance().apply { this.time = DateUtil.StringToDate(time) }
        val year = c.get(Calendar.YEAR)
        val month = c.get(Calendar.MONTH) + 1
        val map = mutableMapOf<Int, MutableList<Int>>()
@@ -381,6 +399,7 @@
    override fun copyLedger(userId: String, time: String, copyLedgerList: List<CopyLedgerVo>): BaseResponse<String> {
        val year = time.split("-")[0]
        val month = time.split("-")[1]
        val date = DateUtil.StringToDate(time, DateUtil.DateStyle.YYYY_MM)
        copyLedgerList.forEach {
            //去重判断
            val r = ledgerRecordMapper.selectByExample(Example(LedgerRecord::class.java).apply {
@@ -413,7 +432,7 @@
                lr.lrYear = year.toInt()
                lr.lrMonth = month.toByte()
                lr.lrIssubmitontime = true
                lr.lrSubmitdate = Date()
                lr.lrSubmitdate = date
                lr.lrExtension2 = "copy"//表明是复制的台账
                ledgerRecordMapper.insert(lr)