فهرست منبع

临时用地字段调整

liutao 3 روز پیش
والد
کامیت
1048e0ab71

+ 3 - 1
YHYZT/client/src/views/DataManage/Gd.vue

@@ -113,7 +113,9 @@
           </el-table-column>
           <el-table-column
               prop="dkMj"
-              label="项目面积(公顷)">
+              label="项目面积(公顷)"
+              :formatter="(row) => row.dkMj ? (Math.round(row.dkMj / 10000 * 100) / 100).toFixed(2) : ''"
+          >
           </el-table-column>
           <el-table-column
               prop="dkYt"

+ 4 - 4
YHYZT/client/src/views/DataManage/Nzy.vue

@@ -44,11 +44,11 @@
                 />
               </el-form-item>
             </el-col>
-            <!-- <el-col :span="6">
+            <el-col :span="6">
               <el-form-item label="批次总面积:">
                 <el-input v-model="searchParam.pzmj" placeholder="请输入批次总面积(公顷)"  clearable></el-input>
               </el-form-item>
-            </el-col> -->
+            </el-col>
             <el-col :span="6">
               <el-form-item label="是否农民建房:">
                 <el-select style="width: 100%;" v-model="searchParam.nmjf">
@@ -123,7 +123,7 @@
               label="批准日期">
           </el-table-column>
           <el-table-column
-              prop="dkMj"
+              prop="pzmj"
               label="批准总面积(公顷)">
           </el-table-column>
           <el-table-column
@@ -216,7 +216,7 @@ export default {
         pwh: '',
         pzrqStart: '',
         pzrqEnd: '',
-        // pzmj: '',
+        pzmj: '',
         nmjf: '',
         current: 1,
         size: 10

+ 20 - 2
YHYZT/client/src/views/DataManage/gd/Detail.vue

@@ -59,7 +59,7 @@
           <div class="title">项目面积(公顷)</div>
           <div class="content">
             <el-input
-              v-model="detailData.dkMj"
+              v-model="dkMjHa"
               placeholder="请输入项目面积(公顷)"
               clearable
               :disabled="!editor"
@@ -235,7 +235,25 @@ export default {
         this.$message.success("绘制结束");
       }
     },
-  }
+  },
+  computed: {
+    dkMjHa: {
+      get() {
+        // 平方米转公顷,保留2位小数
+        if (!this.detailData.dkMj && this.detailData.dkMj !== 0) return '';
+        return (this.detailData.dkMj / 10000).toFixed(2);
+      },
+      set(val) {
+        // 输入公顷转回平方米
+        let num = parseFloat(val);
+        if (isNaN(num)) {
+          this.detailData.dkMj = '';
+        } else {
+          this.detailData.dkMj = Math.round(num * 10000);
+        }
+      }
+    }
+  },
 };
 </script>
 

+ 11 - 22
YHYZT/server/src/main/java/com/zjugis/yzt/controller/StNzydkController.java

@@ -87,29 +87,18 @@ public class StNzydkController extends BaseRestController {
         // 获取所有数据
         List<StNzydkVO> allList = StNzydkConvert.INSTANCE.convertVOList(stNzydkService.list(queryWrapper));
 
-        // 按pch分组,统计每组dkmj总和,并保留objectid最小的记录
+        // 按pch去重,保留id最小的记录
         List<StNzydkVO> distinctList = allList.stream()
-            .collect(Collectors.groupingBy(StNzydkVO::getPch))
-            .values()
-            .stream()
-            .map(list -> {
-                // 计算总面积
-                BigDecimal sumDkmj = list.stream()
-                    .map(StNzydkVO::getDkMj)
-                    .filter(Objects::nonNull)
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
-                // 找到objectid最小的记录
-                StNzydkVO minObj = list.stream()
-                    .min(Comparator.comparing(StNzydkVO::getObjectid))
-                    .orElse(null);
-                if (minObj != null) {
-                    minObj.setDkMj(sumDkmj);
-                }
-                return minObj;
-            })
-            .filter(Objects::nonNull)
-            .sorted(Comparator.comparing(StNzydkVO::getObjectid).reversed())
-            .collect(Collectors.toList());
+                .collect(Collectors.groupingBy(
+                        StNzydkVO::getPch,
+                        Collectors.minBy(Comparator.comparing(StNzydkVO::getObjectid))
+                ))
+                .values()
+                .stream()
+                .filter(Optional::isPresent)
+                .map(Optional::get)
+                .sorted(Comparator.comparing(StNzydkVO::getObjectid).reversed())
+                .collect(Collectors.toList());
 
         // 计算总记录数
         long total = distinctList.size();