From bdd3b95a503393f8eb79279d0653f8f88dc8d992 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 15 三月 2024 15:29:37 +0800
Subject: [PATCH] 添加长度统计功能

---
 src/main/java/com/lf/server/entity/ctrl/CountEntity.java   |   10 ++++++++++
 src/main/resources/mapper/sys/ReportMapper.xml             |    4 ++--
 src/main/java/com/lf/server/service/sys/ReportService.java |   13 ++++++++++++-
 3 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/lf/server/entity/ctrl/CountEntity.java b/src/main/java/com/lf/server/entity/ctrl/CountEntity.java
index 06c01a5..4aa1012 100644
--- a/src/main/java/com/lf/server/entity/ctrl/CountEntity.java
+++ b/src/main/java/com/lf/server/entity/ctrl/CountEntity.java
@@ -19,6 +19,8 @@
 
     private Double area;
 
+    private Double len;
+
     public CountEntity() {
     }
 
@@ -77,4 +79,12 @@
     public void setArea(Double area) {
         this.area = area;
     }
+
+    public Double getLen() {
+        return len;
+    }
+
+    public void setLen(Double len) {
+        this.len = len;
+    }
 }
diff --git a/src/main/java/com/lf/server/service/sys/ReportService.java b/src/main/java/com/lf/server/service/sys/ReportService.java
index 0e6c212..3d6eb56 100644
--- a/src/main/java/com/lf/server/service/sys/ReportService.java
+++ b/src/main/java/com/lf/server/service/sys/ReportService.java
@@ -365,7 +365,13 @@
                 case "countMptAreaByPrj":
                 case "countOsgbAreaByPrj":
                 case "countLasAreaByPrj":
+                case "countDlgAreaByPrj":
+                case "countDomAreaByPrj":
+                case "countGeoModelAreaByPrj":
                     addList.add(new String[]{"" + ce.getNo(), ce.getM1(), ce.getM3()});
+                    break;
+                case "countLineLength":
+                    addList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getLen()});
                     break;
                 default:
                     addList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getCount()});
@@ -399,7 +405,7 @@
 
         int rows = 1;
         long allCount = 0;
-        Double allSize = 0d, allArea = 0d;
+        Double allSize = 0d, allArea = 0d, allLen = 0d;
         for (CountEntity ce : list) {
             ce.setNo(rows++);
             if (StringUtils.isEmpty(ce.getM2())) {
@@ -409,6 +415,7 @@
             allCount += ce.getCount();
             allSize += ce.getSizes();
             allArea += ce.getArea();
+            allLen += ce.getLen();
         }
         if (list.size() > 0) {
             CountEntity ce = new CountEntity();
@@ -419,6 +426,7 @@
                 ce.setM2(FileHelper.getSizes(allSize));
             }
             ce.setM3(FileHelper.getSquareMeter(allArea));
+            ce.setLen(allLen);
             list.add(ce);
         }
 
@@ -453,6 +461,9 @@
             if (null == ce.getArea()) {
                 ce.setArea(0d);
             }
+            if (null == ce.getLen()) {
+                ce.setLen(0d);
+            }
         }
 
         return list;
diff --git a/src/main/resources/mapper/sys/ReportMapper.xml b/src/main/resources/mapper/sys/ReportMapper.xml
index 94e34ea..fe6adaf 100644
--- a/src/main/resources/mapper/sys/ReportMapper.xml
+++ b/src/main/resources/mapper/sys/ReportMapper.xml
@@ -284,9 +284,9 @@
 
     <!-- 缁熻绠$嚎闀垮害 -->
     <select id="countLineLength" resultType="com.lf.server.entity.ctrl.CountEntity">
-        select name "m1", code,
+        select name "m1",
 		  (select cast( coalesce(sum( ST_Length( ST_GeographyFromText( ST_AsText(geom) ) ) ) / 1000, 0) as decimal(20, 2) )
-		   from bs.m_pipeline b where b.dirid like a.code || '%') as  "sizes"
+		   from bs.m_pipeline b where b.dirid like a.code || '%') as  "len"
         from lf.sys_dir a
         where pid = 0
         order by a.code;

--
Gitblit v1.9.3