Parcourir la source

优化大屏地图牧场存栏

Newspaper il y a 2 ans
Parent
commit
5bf26b17c4

+ 2 - 0
huimv-cattle/src/main/java/com/huimv/cattle/service/OverviewService.java

@@ -29,4 +29,6 @@ public interface OverviewService extends IService<Overview> {
     Integer getOutStock(JSONObject townJo);
 
     Result getListOverviewVillageScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Integer getAllOutStock(JSONObject jsonObject);
 }

+ 2 - 0
huimv-cattle/src/main/java/com/huimv/cattle/service/StockService.java

@@ -30,4 +30,6 @@ public interface StockService extends IService<Stock> {
     Result getAllTownStock(HttpServletRequest request, JSONArray allTownsJa);
 
     Result getListVillageStockScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result getAllVillageStock(HttpServletRequest request, JSONArray allVillageJa);
 }

+ 31 - 0
huimv-cattle/src/main/java/com/huimv/cattle/service/impl/OverviewServiceImpl.java

@@ -228,4 +228,35 @@ public class OverviewServiceImpl extends ServiceImpl<OverviewMapper, Overview> i
         }
         return new Result(ResultCode.SUCCESS,jsonObject);
     }
+
+    @Override
+    public Integer getAllOutStock(JSONObject jsonObject) {
+        String farmCode = jsonObject.getString("farmCode");
+        String[] city = sysRegionCounTownVillMapper.listSub(farmCode).split(",");
+        Integer allOutStock =0;
+        for (String s : city) {
+            Overview overview = overviewMapper.selectOne(new QueryWrapper<Overview>().eq("farm_code", s));
+            if (ObjectUtil.isEmpty(overview)){
+                overview = new Overview();
+                overview.setFarmCode(s);
+                overview.setOutCount(0);
+                overview.setBreedCount(0);
+                overview.setOutputValue(BigDecimal.ZERO);
+                overview.setVariety("0");
+                overview.setFarmCount(0);
+                overview.setStockCount(0);
+                overviewMapper.insert(overview);
+            }
+            Integer outCount = overview.getOutCount();
+            if (ObjectUtil.isEmpty(outCount)){
+                outCount = 0;
+            }
+            allOutStock += outCount;
+        }
+        if (ObjectUtil.isEmpty(allOutStock)){
+            return 0;
+        }else {
+            return allOutStock;
+        }
+    }
 }

+ 39 - 0
huimv-cattle/src/main/java/com/huimv/cattle/service/impl/StockServiceImpl.java

@@ -262,6 +262,45 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         return new Result(ResultCode.SUCCESS, jsonObject);
     }
 
+    @Override
+    public Result getAllVillageStock(HttpServletRequest request, JSONArray allVillageJa) {
+        for (int a =0; a<allVillageJa.size(); a++){
+            JSONObject jsonObject = allVillageJa.getJSONObject(a);
+            JSONObject allStockByTown = getAllStockByTown(jsonObject);
+
+            jsonObject.put("fatStock", allStockByTown.getString("fatStock"));
+            jsonObject.put("sowStock", allStockByTown.getString("cowStock"));
+            jsonObject.put("boarStock", allStockByTown.getString("bullStock"));
+            jsonObject.put("totalStock", allStockByTown.getString("totalStock"));
+
+            Integer outStock = overviewService.getAllOutStock(jsonObject);
+            jsonObject.put("outStock", String.valueOf(outStock));
+        }
+        return new Result(ResultCode.SUCCESS, allVillageJa);
+    }
+
+    private JSONObject getAllStockByTown(JSONObject jsonObject) {
+        JSONObject jsonObject1 = new JSONObject();
+        String farmCode = jsonObject.getString("farmCode");
+        String[] city = sysRegionCounTownVillMapper.listSub(farmCode).split(",");
+        Integer allCow =0;
+        Integer allBull =0;
+        Integer allFat =0;
+
+        for (String s : city) {
+            allCow += stockMapper.selectOne(new QueryWrapper<Stock>().eq("farm_code",s)).getCowStock();
+            allBull += stockMapper.selectOne(new QueryWrapper<Stock>().eq("farm_code",s)).getBullStock();
+            allFat += stockMapper.selectOne(new QueryWrapper<Stock>().eq("farm_code",s)).getFatStock();
+        }
+        Integer allCount = allBull+allCow+allFat;
+        jsonObject1.put("fatStock",allFat);
+        jsonObject1.put("cowStock",allCow);
+        jsonObject1.put("bullStock",allBull);
+        jsonObject1.put("totalStock",allCount);
+        jsonObject1.put("outStock",String.valueOf(0));
+        return jsonObject1;
+    }
+
     @Resource
     private OverviewService overviewService;
 

+ 19 - 1
huimv-cattle/src/main/java/com/huimv/cattle/service/impl/SysFarmServiceImpl.java

@@ -261,6 +261,7 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
 
         //读取所有乡镇
         JSONArray allTownsJa = getAllTowns();
+        JSONArray allVillageJa = getAllVillage();
         System.out.println("allTownsJa=" + allTownsJa);
         if (allTownsJa.size() == 0) {
             return new Result(0, "当前未查询到任何乡镇数据.", false);
@@ -270,7 +271,7 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
         if (dataSource.getDsStatus() == 2){
             return getStockFromBreedCloud(allTownsJa);
         }else if (dataSource.getViewType() == 3){
-            return null;
+            return stockService.getAllVillageStock(request,allVillageJa);
         }else {
             return stockService.getAllTownStock(request, allTownsJa);
         }
@@ -374,6 +375,23 @@ public class SysFarmServiceImpl extends ServiceImpl<SysFarmMapper, SysFarm> impl
         }
         return townsJa;
     }
+    //获取所有乡镇信息
+    private JSONArray getAllVillage() {
+        QueryWrapper<SysFarm> queryWrapper = new QueryWrapper<>();
+        queryWrapper.orderByAsc("id");
+        queryWrapper.eq("parent_code","0");
+        List<SysFarm> sysFarmList = sysFarmMapper.selectList(queryWrapper);
+        JSONArray townsJa = new JSONArray();
+        for (SysFarm farmData : sysFarmList) {
+            JSONObject townJo = new JSONObject();
+            townsJa.add(townJo);
+            townJo.put("farmName", farmData.getFarmName());
+            townJo.put("farmCode", farmData.getFarmCode());
+            townJo.put("adCode", farmData.getAdcode());
+            townJo.put("townCode", farmData.getAdcode().substring(farmData.getAdcode().lastIndexOf(",") + 1, farmData.getAdcode().length()));
+        }
+        return townsJa;
+    }
 
     //显示镇汇总(养殖云)数据
     private Result getStockFromBreedCloud(JSONArray allTownsJa) {