From 707b00a0ca6604c249a110b376ac1e44e408e624 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 04 九月 2025 18:24:39 +0800
Subject: [PATCH] 2025.9.4 1. 新增走航任务统计功能(待完成)

---
 src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/CompanyServiceImpl.kt |   41 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/CompanyServiceImpl.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/CompanyServiceImpl.kt
index 9dab0f0..2c3e172 100644
--- a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/CompanyServiceImpl.kt
+++ b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/CompanyServiceImpl.kt
@@ -1,9 +1,11 @@
 package com.flightfeather.uav.lightshare.service.impl
 
+import com.flightfeather.uav.domain.entity.Assessment
 import com.flightfeather.uav.domain.entity.Company
+import com.flightfeather.uav.domain.mapper.AssessmentMapper
 import com.flightfeather.uav.domain.mapper.CompanyMapper
-import com.flightfeather.uav.lightshare.bean.BaseResponse
-import com.flightfeather.uav.lightshare.bean.CompanySOP
+import com.flightfeather.uav.domain.mapper.ComplaintMapper
+import com.flightfeather.uav.lightshare.bean.*
 import com.flightfeather.uav.lightshare.service.CompanyService
 import com.flightfeather.uav.lightshare.service.RealTimeDataService
 import com.flightfeather.uav.model.BaseModel
@@ -14,7 +16,11 @@
 
 @Service
 class CompanyServiceImpl(
-    private val companyMapper: CompanyMapper, private val realTimeDataService: RealTimeDataService) : CompanyService {
+    private val companyMapper: CompanyMapper,
+    private val realTimeDataService: RealTimeDataService,
+    private val complaintMapper: ComplaintMapper,
+    private val assessmentMapper: AssessmentMapper
+) : CompanyService {
 
 
     override fun getCompanyInfo(): BaseResponse<List<Company>> {
@@ -58,11 +64,20 @@
         var page = 1
         var totalPage = -1
         while (totalPage == -1 || page <= totalPage) {
-            realTimeDataService.getSecondData(deviceCode, startTime, endTime, page, 5000).apply {
+            realTimeDataService.getSecondData(null, deviceCode, startTime, endTime, 0, page, 5000).apply {
                 if (totalPage == -1) {
                     totalPage = head?.totalPage ?: 0
                 }
-                val dataList = data?: emptyList()
+                val dataList = data ?: emptyList()
+
+                // FIXME: 2021/7/13 姝ゅ涓轰簡娴嬭瘯鏆傛椂灏嗙珯鐐圭粡绾害鍐欐锛屽悗缁�氳繃鏁版嵁搴撻厤缃幏鍙� 
+                dataList.forEach {
+                    if (it.lng == 0.0 && it.lat == 0.0) {
+                        it.lng = 121.235813
+                        it.lat = 30.835898
+                    }
+                }
+
                 epwModel.execute(dataList, companySOPList, true)
                 page++
             }
@@ -70,4 +85,20 @@
         val r = epwModel.outputResult()
         return BaseResponse(true, data = r)
     }
+
+    override fun getComplaintInfo(): BaseResponse<List<ComplaintVo>> {
+        val map = mutableMapOf<String, ComplaintVo>()
+        complaintMapper.getComplaintInfo().apply { percent() }.forEach {
+            if (!map.containsKey(it.ciGuid)) {
+                map[it.ciGuid] = ComplaintVo(it.ciGuid, it.ciName, it.ciLng.toDouble(), it.ciLat.toDouble(), it.ciIndex.toIntOrNull() ?: 0, it.ciAddress)
+            }
+            map[it.ciGuid]?.result?.add(ComplaintType(it.coType, it.coTypeName, it.count.toInt(), it.percent))
+        }
+        return BaseResponse(true, data = map.values.toList())
+    }
+
+    override fun getAssessment(): BaseResponse<List<AssessmentVo>> {
+        val result = assessmentMapper.getAssessment()
+        return BaseResponse(true, data = result)
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3