From 5670e4a15fba292ef5f8fb90e96072de976bb621 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 28 六月 2022 14:00:22 +0800
Subject: [PATCH] 1. 中小企业守法自助相关接口更新

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt |  106 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 96 insertions(+), 10 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 868eb5b..5aa39e2 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
@@ -13,8 +13,7 @@
 import cn.flightfeather.supervision.infrastructure.utils.FileUtil
 import cn.flightfeather.supervision.infrastructure.utils.UUIDGenerator
 import cn.flightfeather.supervision.lightshare.service.LedgerService
-import cn.flightfeather.supervision.lightshare.vo.LedgerSubTypeVo
-import cn.flightfeather.supervision.lightshare.vo.LedgerVo
+import cn.flightfeather.supervision.lightshare.vo.*
 import com.fasterxml.jackson.core.type.TypeReference
 import com.fasterxml.jackson.databind.ObjectMapper
 import com.github.pagehelper.PageHelper
@@ -66,19 +65,24 @@
         val resultList = mutableListOf<LedgerSubTypeVo>()
         ledgerSubTypes.forEach {
             val l = LedgerSubTypeVo(
-                    it.lsSubtypeid,
-                    it.lsName,
-                    it.getlTypeid(),
-                    it.getlTypename(),
-                    needUpdate = it.getlNeedupdate(),
-                    sceneType = it.getlScenetype(),
-                    iconUrl = it.getlIconurl()
+                it.lsSubtypeid,
+                it.lsName,
+                it.getlTypeid(),
+                it.getlTypename(),
+                needUpdate = it.getlNeedupdate(),
+                sceneType = it.getlScenetype(),
+                iconUrl = it.getlIconurl(),
+                realTime = it.getlRealTime()
             )
             for (r in records) {
                 if (l.ledgerSubTypeId == r.lsSubtypeid) {
                     l.ledgerFinished = true
                     l.upLoad = true
-                    l.checkStatus = r.lrVerifyrst?.toIntOrNull() ?: LedgerCheckStatus.UnCheck.value
+//                    l.checkStatus = r.lrVerifyrst?.toIntOrNull() ?: LedgerCheckStatus.UnCheck.value
+                    l.verified
+                    l.verifierName = r.lrVerifierrealname
+                    l.verified = r.lrIsverify
+                    l.verifyRst = l.verifyRst
                     break
                 }
             }
@@ -373,4 +377,86 @@
 
         return records
     }
+
+    override fun copyLedger(userId: String, time: String, copyLedgerList: List<CopyLedgerVo>): BaseResponse<String> {
+        val year = time.split("-")[0]
+        val month = time.split("-")[1]
+        copyLedgerList.forEach {
+            //鍘婚噸鍒ゆ柇
+            val r = ledgerRecordMapper.selectByExample(Example(LedgerRecord::class.java).apply {
+                createCriteria().andEqualTo("lrSubmitid", userId)
+                    .andEqualTo("lsSubtypeid", it.subTypeId)
+                    .andEqualTo("lrYear", year)
+                    .andEqualTo("lrMonth", month)
+            })
+            if (r.size > 0) {
+                return@forEach
+            }
+
+            val y = it.time?.split("-")?.get(0) ?: return@forEach
+            val m = it.time?.split("-")?.get(1) ?: return@forEach
+            ledgerRecordMapper.selectByExample(Example(LedgerRecord::class.java).apply {
+                createCriteria().andEqualTo("lrSubmitid", userId)
+                    .andEqualTo("lsSubtypeid", it.subTypeId)
+                    .andEqualTo("lrYear", y)
+                    .andEqualTo("lrMonth", m)
+            }).forEach record@ {lr ->
+                //鑾峰彇璁板綍瀵瑰簲鐨勬枃浠朵俊鎭�
+                val fileList = ledgerMediaFileMapper.selectByExample(Example(LedgerMediaFile::class.java).apply {
+                    createCriteria().andEqualTo("lrGuid", lr.lrGuid)
+                })
+                if (fileList.size == 0) return@record
+                val file = fileList[0] ?: return@record
+
+                //淇敼璁板綍淇℃伅锛屽鍒朵负鏂扮殑鍙拌处
+                lr.lrGuid = UUIDGenerator.generate16ShortUUID()
+                lr.lrYear = year.toInt()
+                lr.lrMonth = month.toByte()
+                lr.lrIssubmitontime = true
+                lr.lrSubmitdate = Date()
+                lr.lrExtension2 = "copy"//琛ㄦ槑鏄鍒剁殑鍙拌处
+                ledgerRecordMapper.insert(lr)
+
+                //淇敼瀵瑰簲鐨勬枃浠朵俊鎭�
+                file.apply {
+                    mfGuid = UUIDGenerator.generate16ShortUUID()
+                    lrGuid = lr.lrGuid
+                    mfSavetime = Date()
+                }
+                ledgerMediaFileMapper.insert(file)
+            }
+        }
+
+        return BaseResponse(true)
+    }
+
+    override fun checkLedger(verifierId: String, remark: String?, recordList: List<LedgerCheckVo>): BaseResponse<Boolean> {
+        val recordIdList = mutableListOf<String?>()
+        recordList.forEach { recordIdList.add(it.recordId) }
+        val records = ledgerRecordMapper.selectByExample(Example(LedgerRecord::class.java).apply {
+            createCriteria().andIn("lrGuid", recordIdList)
+                .andIsNotNull("lrGuid")
+        })
+        return if (records.isEmpty()) {
+            BaseResponse(false, "鎵�閫夎褰曚笉瀛樺湪")
+        } else {
+            records.forEach {
+                for (r in recordList) {
+                    if (r.recordId == it.lrGuid) {
+                        it.lrVerifierid = verifierId
+                        it.lrVerifierrealname
+                        it.lrVerifydate = Date()
+                        it.lrIsverify = r.result
+                        it.lrVerifyrst = r.remark
+                        it.lrAiverifytime = if (it.lrAiverifytime == null) 0 else it.lrAiverifytime++
+                        it.lrIsai = false
+
+                        ledgerRecordMapper.updateByPrimaryKey(it)
+                        continue
+                    }
+                }
+            }
+            BaseResponse(true)
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3