فهرست منبع

fix: 修复不动产管理策略-维修异常监控-自有房产人均办公面积被除数为0异常

weijianghai 1 سال پیش
والد
کامیت
ac15783669

+ 11 - 3
src/main/java/com/example/controller/WzBuildManageDetailsController.java

@@ -519,8 +519,12 @@ public class WzBuildManageDetailsController {
             List<WzBuildmanageAvageareaVo> appointmentRecordList = wzBuildmanageAvageareaService.queryVoList(map1);
             Map<String, List<WzBuildmanageAvageareaVo>> map = new HashMap<>();
             for (WzBuildmanageAvageareaVo wzBuildmanageAvageareaVo : appointmentRecordList) {
-                double avera = wzBuildmanageAvageareaVo.getOfficeArea() / wzBuildmanageAvageareaVo.getEmployees();
-                avera = formatDouble(avera);
+                double avera = 0;
+                if (wzBuildmanageAvageareaVo.getOfficeArea() != null
+                        && wzBuildmanageAvageareaVo.getEmployees() != null
+                        && !wzBuildmanageAvageareaVo.getEmployees().equals(0d)) {
+                    avera = wzBuildmanageAvageareaVo.getOfficeArea() / wzBuildmanageAvageareaVo.getEmployees();
+                }                avera = formatDouble(avera);
                 wzBuildmanageAvageareaVo.setAverage(avera);
                 List<WzBuildmanageAvageareaVo> list;
                 if (map.get(wzBuildmanageAvageareaVo.getCity()) != null) {
@@ -581,7 +585,11 @@ public class WzBuildManageDetailsController {
                         allEmp += wzBuildmanageAvageareaVo.getEmployees();
                     }
                     WzBuildmanageAvageareaVo countyObject = new WzBuildmanageAvageareaVo();
-                    double avera = formatDouble(areaNum / emp);
+                    double avera = 0;
+                    if (emp != 0) {
+                        avera = areaNum / emp;
+                    }
+                    avera = formatDouble(avera);
                     countyObject.setOfficeArea(formatDouble(areaNum));
                     countyObject.setEmployees(emp);
                     countyObject.setCity(countyEntry.getValue().get(0).getCounty());

+ 13 - 2
src/main/java/com/example/controller/WzBuildmanageAvageareaController.java

@@ -9,6 +9,7 @@ import com.example.utils.PageMap;
 import com.example.utils.PageUtils;
 import com.example.utils.Query;
 import com.example.utils.R;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,6 +21,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+@Slf4j
 @RestController
 @RequestMapping("/house-car/house/dist/api/WzBuildmanageAvagearea")
 public class WzBuildmanageAvageareaController {
@@ -45,7 +47,12 @@ public class WzBuildmanageAvageareaController {
         List<WzBuildmanageAvageareaVo> appointmentRecordList = wzBuildmanageAvageareaService.queryVoList(query);
         Map<String, List<WzBuildmanageAvageareaVo>> map = new HashMap<>();
         for (WzBuildmanageAvageareaVo wzBuildmanageAvageareaVo : appointmentRecordList) {
-            double avera = wzBuildmanageAvageareaVo.getOfficeArea() / wzBuildmanageAvageareaVo.getEmployees();
+            double avera = 0;
+            if (wzBuildmanageAvageareaVo.getOfficeArea() != null
+                    && wzBuildmanageAvageareaVo.getEmployees() != null
+                    && !wzBuildmanageAvageareaVo.getEmployees().equals(0d)) {
+                avera = wzBuildmanageAvageareaVo.getOfficeArea() / wzBuildmanageAvageareaVo.getEmployees();
+            }
             avera = formatDouble(avera);
             wzBuildmanageAvageareaVo.setAverage(avera);
             List<WzBuildmanageAvageareaVo> list;
@@ -107,7 +114,11 @@ public class WzBuildmanageAvageareaController {
                     allEmp += wzBuildmanageAvageareaVo.getEmployees();
                 }
                 WzBuildmanageAvageareaVo countyObject = new WzBuildmanageAvageareaVo();
-                double avera = formatDouble(areaNum / emp);
+                double avera = 0;
+                if (emp != 0) {
+                    avera = areaNum / emp;
+                }
+                avera = formatDouble(avera);
                 countyObject.setOfficeArea(formatDouble(areaNum));
                 countyObject.setEmployees(emp);
                 countyObject.setCity(countyEntry.getValue().get(0).getCounty());