浏览代码

存栏数据修改

wwh 2 年之前
父节点
当前提交
a904be049e

+ 39 - 5
huimv-cattle/src/main/java/com/huimv/cattle/controller/StockController.java

@@ -1,13 +1,20 @@
 package com.huimv.cattle.controller;
 
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.cattle.mapper.SysFarmMapper;
 import com.huimv.cattle.pojo.DataSource;
+import com.huimv.cattle.pojo.SysFarm;
 import com.huimv.cattle.service.DataSourceService;
 import com.huimv.cattle.service.StockService;
+import com.huimv.cattle.service.SysFarmService;
+import com.huimv.cattle.utils.FarmCodeUtils;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
@@ -18,6 +25,7 @@ import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -39,10 +47,13 @@ public class StockController {
     private DataSourceService dataSourceService;
     @Resource
     private RestTemplate restTemplate;
+    @Autowired
+    private SysFarmService farmService;
 
     @PostMapping("/getStock")
     public Result list(HttpServletRequest httpServletRequest,@RequestBody Map<String,String> paramsMap) {
-        //读取模式切换
+        String farmCode = FarmCodeUtils.getFarmCode(paramsMap.get("farmCode"), httpServletRequest);
+        //        //读取模式切换
         DataSource dataSource = dataSourceService.getDataSourceStatus();
         if (dataSource.getViewType() == 1) {
             //view=1,显示县填写数据
@@ -54,23 +65,46 @@ public class StockController {
                 return stockService.getStock(httpServletRequest,paramsMap);
             } else {
                 //status=2,显示镇汇总(养殖云)数据
-                return getStockFromBreedCloud(paramsMap);
+                System.out.println("status=2,显示镇汇总(养殖云)数据");
+                String farmCodes =   getFarmCodeByAdcode(farmCode);
+                System.out.println(farmCodes);
+                if (StringUtils.isBlank(farmCodes)){
+                    return new Result(ResultCode.SUCCESS,new ArrayList<>());
+                }
+                return getStockFromBreedCloud(farmCodes);
+                //++++++++++++++++++++++++++++++++++++++++++++++++++
+            }
+        }
+    }
+
+    private String getFarmCodeByAdcode(String farmCode) {
+        String adcode  = "620826";
+        if (!"0".equals(farmCode)){
+            SysFarm list = farmService.getOne(new QueryWrapper<SysFarm>().eq("farm_code", farmCode));
+            if (ObjectUtil.isNotEmpty(list)){
+                String[] split = list.getAdcode().split(",");
+                adcode =  split[split.length-1];
             }
         }
+        String remoteUrl = "http://123.60.134.84:10001/admin/v1.0.0/account/getFarmCodeByAdcode";
+        Map map = new HashMap();
+        map.put("adcode",adcode);
+        ResponseEntity<String> stringResponseEntity = restTemplate.postForEntity(remoteUrl, map, String.class);
+        return stringResponseEntity.getBody();
     }
 
     //从养殖云获取数据
-    private Result getStockFromBreedCloud(Map<String, String> paramsMap) {
+    private Result getStockFromBreedCloud(String farmCodes) {
         HttpHeaders httpHeaders = new HttpHeaders();
         MediaType type = MediaType.parseMediaType("application/json;charset=UTF-8");
         httpHeaders.setContentType(type);
 //        MultiValueMap<String, Object> map=new LinkedMultiValueMap<>();
         HashMap<String, Object> map = new HashMap<>();
         //这里提交的是区县编码或乡镇编码
-        map.put("farmCode", paramsMap.get("farmCode"));
+        map.put("farmCode", farmCodes);
         HttpEntity<Map<String, Object>> objectHttpEntity = new HttpEntity<>(map, httpHeaders);
         //读取真实数据
-        String remoteUrl = "http://123.60.134.84:10001/breed/api/v1.0.0/cattle/getStockByDivision";
+        String remoteUrl = "http://localhost:10001/breed/api/v1.0.0/cattle/getStockByDivision";
         ResponseEntity<String> entity = restTemplate.postForEntity(remoteUrl, objectHttpEntity, String.class);
         if(entity.getStatusCode().toString().contains("200")){
             String body = entity.getBody();

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

@@ -20,4 +20,6 @@ public interface StockService extends IService<Stock> {
     Result getStock(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
 
     Result add(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
+
+    Result getListStock(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
 }

+ 1 - 2
huimv-cattle/src/main/java/com/huimv/cattle/service/impl/DataSourceServiceImpl.java

@@ -30,8 +30,7 @@ public class DataSourceServiceImpl extends ServiceImpl<DataSourceMapper, DataSou
 
     @Override
     public Result getDataSource() {
-        QueryWrapper<DataSource> totalQueryWrapper = new QueryWrapper();
-        return new Result(ResultCode.SUCCESS, dataSourceMapper.selectOne(totalQueryWrapper));
+        return new Result(ResultCode.SUCCESS, dataSourceMapper.selectOne(null));
     }
 
     @Override

+ 58 - 17
huimv-cattle/src/main/java/com/huimv/cattle/service/impl/StockServiceImpl.java

@@ -8,7 +8,6 @@ import com.huimv.cattle.mapper.StockMapper;
 import com.huimv.cattle.service.StockService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.cattle.token.TokenSign;
-import com.huimv.cattle.utils.FarmCodeUtils;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,6 +16,7 @@ import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
 import java.text.NumberFormat;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -35,15 +35,13 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     @Override
     public Result getStock(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
       //  Stock stock = stockMapper.getList();
-        String farmCode =paramsMap.get("farmCode");
-        if (farmCode==null) {
-            farmCode = TokenSign.getFarmCode(httpServletRequest);
-        }
-        QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_code", farmCode);
-        Stock stock = stockMapper.selectOne(queryWrapper);
+        List<Stock> stocks = stockMapper.selectList(null);
         JSONObject jsonObject = new JSONObject();
-        if (ObjectUtil.isEmpty(stock)) {
+        int count=0;
+        int fatCount=0;
+        int cowStock=0;
+        int bullStock=0;
+        if (stocks.size()==0) {
             jsonObject.put("fatStock", 0);
             jsonObject.put("cowStock", 0);
             jsonObject.put("bullStock", 0);
@@ -53,22 +51,26 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
             jsonObject.put("bull", 0);
             jsonObject.put("farmCode", 0);
         } else {
-            Integer count=stock.getFatStock()+stock.getBullStock()+stock.getCowStock();
+            for (int i = 0; i < stocks.size(); i++) {
+               count=count+stocks.get(i).getFatStock()+stocks.get(i).getCowStock()+stocks.get(i).getBullStock();
+                fatCount = fatCount + stocks.get(i).getFatStock();
+                cowStock = cowStock + stocks.get(i).getCowStock();
+                bullStock = bullStock + stocks.get(i).getBullStock();
+            }
             //创建一个数值格式化对象
             NumberFormat numberFormat = NumberFormat.getInstance();
             //设置精确到小数点后2位
             numberFormat.setMaximumFractionDigits(2);
-            String fat=numberFormat.format((float)stock.getFatStock() / (float)count * 100) + "%";
-            String cow=numberFormat.format((float)stock.getCowStock() / (float)count * 100) + "%";
-            String bull=numberFormat.format((float)stock.getBullStock() /(float) count * 100) + "%";
-            jsonObject.put("fatStock", stock.getFatStock());
-            jsonObject.put("cowStock", stock.getCowStock());
-            jsonObject.put("bullStock", stock.getBullStock());
+            String fat=numberFormat.format((float)fatCount/ (float)count * 100) + "%";
+            String cow=numberFormat.format((float)cowStock / (float)count * 100) + "%";
+            String bull=numberFormat.format((float)bullStock /(float) count * 100) + "%";
+            jsonObject.put("fatStock", fatCount);
+            jsonObject.put("cowStock", cowStock);
+            jsonObject.put("bullStock", bullStock);
             jsonObject.put("count", count);
             jsonObject.put("fat", fat);
             jsonObject.put("cow", cow);
             jsonObject.put("bull", bull);
-            jsonObject.put("farmCode", stock.getFarmCode());
         }
         return new Result(ResultCode.SUCCESS,jsonObject);
     }
@@ -103,4 +105,43 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
             return new Result(ResultCode.SUCCESS);
         }
     }
+
+    @Override
+    public Result getListStock(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmCode =paramsMap.get("farmCode");
+        if (farmCode==null) {
+            farmCode = TokenSign.getFarmCode(httpServletRequest);
+        }
+        JSONObject jsonObject = new JSONObject();
+        QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_code", farmCode);
+        Stock stock = stockMapper.selectOne(queryWrapper);
+        if (ObjectUtil.isEmpty(stock)) {
+            jsonObject.put("fatStock", 0);
+            jsonObject.put("cowStock", 0);
+            jsonObject.put("bullStock", 0);
+            jsonObject.put("count", 0);
+            jsonObject.put("fat", 0);
+            jsonObject.put("cow", 0);
+            jsonObject.put("bull", 0);
+            jsonObject.put("farmCode", 0);
+        } else {
+            Integer count = stock.getFatStock() + stock.getBullStock() + stock.getCowStock();
+            //创建一个数值格式化对象
+            NumberFormat numberFormat = NumberFormat.getInstance();
+            //设置精确到小数点后2位
+            numberFormat.setMaximumFractionDigits(2);
+            String fat=numberFormat.format((float)stock.getFatStock()/ (float)count * 100) + "%";
+            String cow=numberFormat.format((float)stock.getCowStock() / (float)count * 100) + "%";
+            String bull=numberFormat.format((float)stock.getBullStock()  /(float) count * 100) + "%";
+            jsonObject.put("fatStock", stock.getFatStock());
+            jsonObject.put("cowStock", stock.getCowStock());
+            jsonObject.put("bullStock", stock.getBullStock());
+            jsonObject.put("count", count);
+            jsonObject.put("fat", fat);
+            jsonObject.put("cow", cow);
+            jsonObject.put("bull", bull);
+        }
+        return new Result(ResultCode.SUCCESS,jsonObject);
+    }
 }