浏览代码

存栏数据村汇总

Newspaper 2 年之前
父节点
当前提交
ab9559dbc8

+ 15 - 10
huimv-cattle/src/main/java/com/huimv/cattle/controller/StockController.java

@@ -58,14 +58,17 @@ public class StockController {
         if (dataSource.getViewType() == 1) {
             //view=1,显示县填写数据
             return stockService.getStock(httpServletRequest,paramsMap);
-        } else {
+        } else if (dataSource.getViewType() == 2){
             //view=2,显示镇汇总数据
+            return stockService.getListStock(httpServletRequest,paramsMap);
+        }else {
+            //view=3,显示村汇总数据
             if (dataSource.getDsStatus() == 1) {
-                //status=1,显示镇汇总(手填)数据
+                //status=1,显示汇总(手填)数据
                 return stockService.getListStock(httpServletRequest,paramsMap);
             } else {
-                //status=2,显示汇总(养殖云)数据
-                System.out.println("status=2,显示汇总(养殖云)数据");
+                //status=2,显示汇总(养殖云)数据
+                System.out.println("status=2,显示汇总(养殖云)数据");
                 String farmCodes =   getFarmCodeByAdcode(farmCode);
                 System.out.println(farmCodes);
                 if (StringUtils.isBlank(farmCodes)){
@@ -84,14 +87,16 @@ public class StockController {
         if (dataSource.getViewType() == 1) {
             //view=1,显示县填写数据
             return stockService.getStock(httpServletRequest,paramsMap);
-        } else {
+        } else if (dataSource.getViewType() == 2){
             //view=2,显示镇汇总数据
+            return stockService.getListStockScreen(httpServletRequest,paramsMap);
+        }else {
             if (dataSource.getDsStatus() == 1) {
-                //status=1,显示镇汇总(手填)数据
-                return stockService.getListStockScreen(httpServletRequest,paramsMap);
-            } else {
-                //status=2,显示汇总(养殖云)数据
-                System.out.println("status=2,显示汇总(养殖云)数据");
+                //status=1,显示汇总(手填)数据
+                return stockService.getListVillageStockScreen(httpServletRequest,paramsMap);
+            }else {
+                //status=2,显示汇总(养殖云)数据
+                System.out.println("status=2,显示汇总(养殖云)数据");
                 String farmCodes =   getFarmCodeByAdcode(farmCode);
                 System.out.println(farmCodes);
                 if (StringUtils.isBlank(farmCodes)){

+ 2 - 1
huimv-cattle/src/main/java/com/huimv/cattle/mapper/StockMapper.java

@@ -2,6 +2,7 @@ package com.huimv.cattle.mapper;
 
 import com.huimv.cattle.pojo.Stock;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import javax.xml.transform.Result;
@@ -20,5 +21,5 @@ public interface StockMapper extends BaseMapper<Stock> {
 
     Stock getList();
 
-    Stock getListStock();
+    Stock getListStock(String[] farmCode);
 }

+ 4 - 1
huimv-cattle/src/main/java/com/huimv/cattle/mapper/SysRegionCounTownVillMapper.java

@@ -2,6 +2,8 @@ package com.huimv.cattle.mapper;
 
 import com.huimv.cattle.pojo.SysRegionCounTownVill;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 /**
  * <p>
@@ -11,6 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author author
  * @since 2023-02-20
  */
+@Repository
 public interface SysRegionCounTownVillMapper extends BaseMapper<SysRegionCounTownVill> {
-
+    String listSub (@Param("cityCode") String cityCode);
 }

+ 4 - 1
huimv-cattle/src/main/java/com/huimv/cattle/mapper/xml/StockMapper.xml

@@ -21,7 +21,10 @@
 
     <select id="getListStock" resultType="com.huimv.cattle.pojo.Stock">
         SELECT SUM(fat_stock) fatStock ,SUM(cow_stock) cowStock ,SUM(bull_stock) bullStock FROM `stock`
-        WHERE farm_code != 0
+        WHERE farm_code IN
+        <foreach collection="farmCode"   item="cityCode" open="(" separator="," close=")">
+            #{cityCode}
+        </foreach>
     </select>
 
 </mapper>

+ 3 - 0
huimv-cattle/src/main/java/com/huimv/cattle/mapper/xml/SysRegionCounTownVillMapper.xml

@@ -9,4 +9,7 @@
         <result column="city_code_sub" property="cityCodeSub" />
     </resultMap>
 
+    <select id="listSub" resultType="java.lang.String" parameterType="java.lang.String">
+        select city_code_sub from `sys_region_coun_town_vill` where city_code =#{cityCode}
+    </select>
 </mapper>

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

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

+ 70 - 2
huimv-cattle/src/main/java/com/huimv/cattle/service/impl/StockServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.cattle.mapper.SysRegionCounTownVillMapper;
 import com.huimv.cattle.pojo.Stock;
 import com.huimv.cattle.mapper.StockMapper;
 import com.huimv.cattle.service.OverviewService;
@@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.text.NumberFormat;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -36,10 +38,15 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     @Autowired
     private StockMapper stockMapper;
 
+    @Autowired
+    private SysRegionCounTownVillMapper sysRegionCounTownVillMapper;
+
     @Override
     public Result getStock(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         //  Stock stock = stockMapper.getList();
-        List<Stock> stocks = stockMapper.selectList(null);
+        QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_Code",0);
+        List<Stock> stocks = stockMapper.selectList(queryWrapper);
         JSONObject jsonObject = new JSONObject();
         int count = 0;
         int fatCount = 0;
@@ -157,8 +164,69 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         }
         JSONObject jsonObject = new JSONObject();
         Stock stock = new Stock();
+        String cityCode ="";
+        if (farmCode == null || farmCode.equals("0")){
+            cityCode= sysRegionCounTownVillMapper.listSub(farmCode);
+            System.out.println(cityCode);
+            String[] city = cityCode.split(",");
+            stock = stockMapper.getListStock(city);
+        }else {
+            QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_code", farmCode);
+            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);
+    }
+
+    @Override
+    public Result getListVillageStockScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmCode = paramsMap.get("farmCode");
+        if (farmCode == null) {
+            farmCode = TokenSign.getFarmCode(httpServletRequest);
+        }
+        JSONObject jsonObject = new JSONObject();
+        Stock stock = new Stock();
+        String cityCode ="";
+        String subCityCode="";
+        List<String> subCityList = new ArrayList<>();
         if (farmCode == null || farmCode.equals("0")){
-            stock = stockMapper.getListStock();
+            cityCode= sysRegionCounTownVillMapper.listSub(farmCode);
+            String[] city = cityCode.split(",");
+            for (String s : city) {
+                subCityCode = sysRegionCounTownVillMapper.listSub(s);
+                String[] strings = subCityCode.split(",");
+                for (String string : strings) {
+                    subCityList.add(string);
+                }
+            }
+            String[] subCity = subCityList.toArray(new String[subCityList.size()]);
+            stock = stockMapper.getListStock(subCity);
         }else {
             QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("farm_code", farmCode);