Browse Source

栋舍排序

wwh 1 năm trước cách đây
mục cha
commit
d641c8e071

+ 2 - 2
huimv-env-admin/src/main/java/com/huimv/env/admin/controller/BasePigpenController.java

@@ -61,7 +61,7 @@ public class BasePigpenController {
             BasePigpen basePigpen = new BasePigpen();
             BasePigpen basePigpen = new BasePigpen();
             basePigpen.setBuildName(parent.getBuildName()+num+"单元");
             basePigpen.setBuildName(parent.getBuildName()+num+"单元");
             basePigpen.setParentId(Integer.valueOf(parentId));
             basePigpen.setParentId(Integer.valueOf(parentId));
-            basePigpen.setFType(3);
+            basePigpen.setFType(2);
 //            basePigpen.setStageCode(Integer.valueOf(stageCode));
 //            basePigpen.setStageCode(Integer.valueOf(stageCode));
             basePigpen.setFarmId(Integer.valueOf(farmId));
             basePigpen.setFarmId(Integer.valueOf(farmId));
             basePigpen.setOther4(num);
             basePigpen.setOther4(num);
@@ -187,7 +187,7 @@ public class BasePigpenController {
     public Result listCeng(@RequestBody Map<String,Integer> map) {
     public Result listCeng(@RequestBody Map<String,Integer> map) {
         Integer id = map.get("id");
         Integer id = map.get("id");
         QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
         QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("parent_id", id).eq("f_type", 2);
+        queryWrapper.like("other2", id).eq("f_type", 3);
         return new Result(ResultCode.SUCCESS, basePigpenMapper.selectList(queryWrapper));
         return new Result(ResultCode.SUCCESS, basePigpenMapper.selectList(queryWrapper));
     }
     }
 
 

+ 2 - 1
huimv-env-admin/src/main/java/com/huimv/env/admin/entity/dto/BasePigpenDto.java

@@ -22,7 +22,7 @@ public class BasePigpenDto implements Serializable {
     private Integer parentId;
     private Integer parentId;
 
 
     /**
     /**
-     * 1栋 2单元 3房间
+     * 1栋 2单元 3楼层 4房间
      */
      */
     private Integer fType;
     private Integer fType;
     private Integer stageCode;
     private Integer stageCode;
@@ -42,5 +42,6 @@ public class BasePigpenDto implements Serializable {
 
 
     private String lat;
     private String lat;
 
 
+    private Integer unitNum;
 
 
 }
 }

+ 102 - 81
huimv-env-admin/src/main/java/com/huimv/env/admin/service/impl/BasePigpenServiceImpl.java

@@ -71,17 +71,34 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
         Integer id = basePigpen.getId();
         Integer id = basePigpen.getId();
         String buildName = basePigpen.getBuildName();
         String buildName = basePigpen.getBuildName();
         Integer floorNum = basePigpenDto.getFloorNum();
         Integer floorNum = basePigpenDto.getFloorNum();
-        for (Integer integer = 1; integer <= floorNum; integer++) {
+        Integer unitNum = basePigpenDto.getUnitNum();
+        for (Integer integer = 1; integer <= unitNum; integer++) {
             BasePigpen basePigpen1 = new BasePigpen();
             BasePigpen basePigpen1 = new BasePigpen();
             basePigpen1.setFType(2);
             basePigpen1.setFType(2);
             basePigpen1.setParentId(id);
             basePigpen1.setParentId(id);
-            basePigpen1.setBuildName(buildName + Convert.numberToChinese(integer, false) + "");
-            basePigpen1.setOther1(Convert.numberToChinese(integer, false) + "");
+            basePigpen1.setBuildName(buildName + Convert.numberToChinese(integer, false) + "单元");
+            basePigpen1.setOther1(Convert.numberToChinese(integer, false) + "单元");
             basePigpen1.setOther2("0," + id);
             basePigpen1.setOther2("0," + id);
             basePigpen1.setFarmId(basePigpen.getFarmId());
             basePigpen1.setFarmId(basePigpen.getFarmId());
             basePigpen1.setStageCode(basePigpen.getStageCode());
             basePigpen1.setStageCode(basePigpen.getStageCode());
             basePigpenMapper.insert(basePigpen1);
             basePigpenMapper.insert(basePigpen1);
         }
         }
+        QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("parent_id", id);
+        List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
+        for (BasePigpen pigpen : basePigpens) {
+            for (Integer integer = 1; integer <= floorNum; integer++) {
+                BasePigpen basePigpen1 = new BasePigpen();
+                basePigpen1.setFType(3);
+                basePigpen1.setParentId(pigpen.getId());
+                basePigpen1.setBuildName(pigpen.getBuildName() + Convert.numberToChinese(integer, false) + "层");
+                basePigpen1.setOther1(Convert.numberToChinese(integer, false) + "层");
+                basePigpen1.setOther2(pigpen.getOther2()+","+pigpen.getId());
+                basePigpen1.setFarmId(basePigpen.getFarmId());
+                basePigpen1.setStageCode(basePigpen.getStageCode());
+                basePigpenMapper.insert(basePigpen1);
+            }
+        }
         return ResultUtil.addResult(insert);
         return ResultUtil.addResult(insert);
     }
     }
 
 
@@ -158,43 +175,46 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
         gateways.forEach(item->{
         gateways.forEach(item->{
             idList.add(item.getId());
             idList.add(item.getId());
         });
         });
-        QueryWrapper<Terminal> queryWrapper1 = new QueryWrapper<>();
-        queryWrapper1.in("gateway_id", idList);
-        List<Terminal> terminals = terminalMapper.selectList(queryWrapper1);
-        for (Terminal terminal : terminals) {
-            if (terminal.getStatus() == 0) {
-                offTerminal++;
-            } else {
-                onTerminal++;
-            }
-        }
-
-        List<Integer> idList2 = new ArrayList<>();
-        terminals.forEach(item->{
-            idList2.add(item.getId());
-        });
-
-        QueryWrapper<TerminalPort> queryWrapper2 = new QueryWrapper<>();
-        queryWrapper2.in("terminal_id", idList2);
-        List<TerminalPort> terminalPorts = portMapper.selectList(queryWrapper2);
-        for (TerminalPort terminal : terminalPorts) {
-            if (terminal.getLocationId() != null) {
+        if (idList.size() > 0) {
+            QueryWrapper<Terminal> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.in("gateway_id", idList);
+            List<Terminal> terminals = terminalMapper.selectList(queryWrapper1);
+            for (Terminal terminal : terminals) {
                 if (terminal.getStatus() == 0) {
                 if (terminal.getStatus() == 0) {
-                    offPort++;
+                    offTerminal++;
                 } else {
                 } else {
-                    onPort++;
-                }
-                if (terminal.getHeightTempWarning() == 1) {
-                    tempCount++;
+                    onTerminal++;
                 }
                 }
-                if (terminal.getChargingWarning() == 1) {
-                    chargingCount++;
-                }
-                if (terminal.getLeakageWarning() == 1) {
-                    leakageCount++;
+            }
+            List<Integer> idList2 = new ArrayList<>();
+            terminals.forEach(item->{
+                idList2.add(item.getId());
+            });
+            if (idList2.size() > 0) {
+                QueryWrapper<TerminalPort> queryWrapper2 = new QueryWrapper<>();
+                queryWrapper2.in("terminal_id", idList2);
+                List<TerminalPort> terminalPorts = portMapper.selectList(queryWrapper2);
+                for (TerminalPort terminal : terminalPorts) {
+                    if (terminal.getLocationId() != null) {
+                        if (terminal.getStatus() == 0) {
+                            offPort++;
+                        } else {
+                            onPort++;
+                        }
+                        if (terminal.getHeightTempWarning() == 1) {
+                            tempCount++;
+                        }
+                        if (terminal.getChargingWarning() == 1) {
+                            chargingCount++;
+                        }
+                        if (terminal.getLeakageWarning() == 1) {
+                            leakageCount++;
+                        }
+                    }
                 }
                 }
             }
             }
         }
         }
+
         JSONObject jsonObject = new JSONObject();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("onGateway", onGateway);
         jsonObject.put("onGateway", onGateway);
         jsonObject.put("offGateway", offGateway);
         jsonObject.put("offGateway", offGateway);
@@ -229,12 +249,13 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
         queryWrapper.like(StringUtils.isNotBlank(stageCode), "stage_code", stageCode);
         queryWrapper.like(StringUtils.isNotBlank(stageCode), "stage_code", stageCode);
         queryWrapper.eq(StringUtils.isNotBlank(farmCode), "farm_id", farmCode);
         queryWrapper.eq(StringUtils.isNotBlank(farmCode), "farm_id", farmCode);
         queryWrapper.eq("other3", type);
         queryWrapper.eq("other3", type);
-        queryWrapper.orderByAsc("sort");
+        queryWrapper.orderByAsc("id");
         //创建排序
         //创建排序
         List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
         List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
         //将结果List改为树
         //将结果List改为树
         List<TreeBasePigpen> treeBasePigpens = parseBizBaseArea(basePigpens);
         List<TreeBasePigpen> treeBasePigpens = parseBizBaseArea(basePigpens);
-        return new Result(ResultCode.SUCCESS, treeBasePigpens);
+        List<TreeBasePigpen> pigpens = jsonArraySort(treeBasePigpens, false);
+        return new Result(ResultCode.SUCCESS, pigpens);
     }
     }
 
 
     /**
     /**
@@ -276,49 +297,49 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
     }
     }
 
 
     /*数组排序*/
     /*数组排序*/
-//    public static List<TreeBasePigpen> jsonArraySort(List<BasePigpen> bizBaseAreas, String sortKey, boolean is_desc) {
-//        //存放排序结果json数组
-//        JSONArray sortedJsonArray = new JSONArray();
-//        //用于排序的list
-//
-//        List<JSONObject> jsonValues = new ArrayList<JSONObject>();
-//        //将参数json数组每一项取出,放入list
-//        for (int i = 0; i < bizBaseAreas.size(); i++) {
-//            jsonValues.add(jsonArr.getJSONObject(i));
-//        }
-//        //快速排序,重写compare方法,完成按指定字段比较,完成排序
-//        Collections.sort(jsonValues, new Comparator<JSONObject>() {
-//            //排序字段
-//            private final String KEY_NAME = sortKey;
-//
-//            //重写compare方法
-//            @Override
-//            public int compare(JSONObject a, JSONObject b) {
-//                //如果用String接会导致一位数和两位数混合比对的时候不能准确比出来,要用int类型接
-//                //String valA = new String();
-//                //String valB = new String();
-//                Float valA = 0.00f;
-//                Float valB = 0.00f;
-//                try {
-//                    valA = Float.parseFloat(a.getString(KEY_NAME));
-//                    valB = Float.parseFloat(b.getString(KEY_NAME));
-//                } catch (JSONException e) {
-//                    e.printStackTrace();
-//                }
-//                //是升序还是降序
-//                if (is_desc) {
-//                    return -valA.compareTo(valB);
-//                } else {
-//                    return -valB.compareTo(valA);
-//                }
-//
-//            }
-//        });
-//        //将排序后结果放入结果jsonArray
-//        for (int i = 0; i < jsonArr.size(); i++) {
-//            sortedJsonArray.add(jsonValues.get(i));
-//        }
-//
-//        return sortedJsonArray;
-//    }
+    public static List<TreeBasePigpen> jsonArraySort(List<TreeBasePigpen> bizBaseAreas, boolean is_desc) {
+        //存放排序结果json数组
+        List<TreeBasePigpen> sortedJsonArray = new ArrayList<>();
+        //用于排序的list
+
+        List<TreeBasePigpen> jsonValues = new ArrayList<TreeBasePigpen>();
+        //将参数json数组每一项取出,放入list
+        for (int i = 0; i < bizBaseAreas.size(); i++) {
+            jsonValues.add(bizBaseAreas.get(i));
+        }
+        //快速排序,重写compare方法,完成按指定字段比较,完成排序
+        Collections.sort(jsonValues, new Comparator<TreeBasePigpen>() {
+            //排序字段
+
+
+            //重写compare方法
+            @Override
+            public int compare(TreeBasePigpen a, TreeBasePigpen b) {
+                //如果用String接会导致一位数和两位数混合比对的时候不能准确比出来,要用int类型接
+                //String valA = new String();
+                //String valB = new String();
+                Float valA = 0.00f;
+                Float valB = 0.00f;
+                try {
+                    valA = Float.parseFloat(a.getId());
+                    valB = Float.parseFloat(b.getId());
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+                //是升序还是降序
+                if (is_desc) {
+                    return -valA.compareTo(valB);
+                } else {
+                    return -valB.compareTo(valA);
+                }
+
+            }
+        });
+        //将排序后结果放入结果jsonArray
+        for (int i = 0; i < jsonValues.size(); i++) {
+            sortedJsonArray.add(jsonValues.get(i));
+        }
+
+        return sortedJsonArray;
+    }
 }
 }