wwh 1 vuosi sitten
vanhempi
commit
3efee94581

+ 1 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/config/InterceptorConfig.java

@@ -28,6 +28,6 @@ public class InterceptorConfig implements WebMvcConfigurer {
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(jwtInterceptor()).
                 excludePathPatterns("/admin/my/*")
-                .excludePathPatterns("/receive/feed","/base-duck-info/printDuck","/env-regular-call-egg/printEgg","/send/play","/energy-water/printWater");
+                .excludePathPatterns("/receive/feed","/base-duck-info/printDuck","/env-regular-call-egg/printEgg","/send/play","/energy-water/printWater","/energy-electricity/printElectricity");
     }
 }

+ 21 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnergyElectricityController.java

@@ -1,11 +1,14 @@
 package com.huimv.guowei.admin.controller;
 
 
+import com.huimv.guowei.admin.common.utils.PdfUtil;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.service.IEnergyElectricityService;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -47,4 +50,22 @@ public class EnergyElectricityController {
     public Result listScreenElectricity(@RequestBody Map<String ,String> paramsMap){
         return energyElectricityService.listScreenElectricity(paramsMap);
     }
+
+    @GetMapping("/printElectricity")
+    public void printDuck(HttpServletResponse response, @RequestParam(name = "type") String type,
+                          @RequestParam(name = "farmId") String farmId,
+                          @RequestParam(name = "startTime", required = false) String startTime,
+                          @RequestParam(name = "endTime", required = false) String endTime) throws Exception {
+
+        Map<String, String> map = new HashMap<>();
+        map.put("type", type);
+        map.put("farmId", farmId);
+        if (startTime != null) {
+            map.put("startTime", startTime);
+            map.put("endTime", endTime);
+        }
+        energyElectricityService.printElectricity(response, map);
+        String path = "/opt/guowei/electricity.xls";
+        PdfUtil.returnPdfStream3(response, path, "用电信息");
+    }
 }

+ 11 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnergyWaterController.java

@@ -57,9 +57,18 @@ public class EnergyWaterController {
     }
 
     @GetMapping("/printWater")
-    public void printDuck(HttpServletResponse response, @RequestParam(name = "duckCode") String duckCode) throws Exception {
+    public void printDuck(HttpServletResponse response, @RequestParam(name = "type") String type,
+                          @RequestParam(name = "farmId") String farmId,
+                          @RequestParam(name = "startTime", required = false) String startTime,
+                          @RequestParam(name = "endTime", required = false) String endTime) throws Exception {
+
         Map<String, String> map = new HashMap<>();
-        map.put("duckCode", duckCode);
+        map.put("type", type);
+        map.put("farmId", farmId);
+        if (startTime != null) {
+            map.put("startTime", startTime);
+            map.put("endTime", endTime);
+        }
         energyWaterService.printWater(response, map);
         String path = "/opt/guowei/water.xls";
         PdfUtil.returnPdfStream3(response, path, "用水信息");

+ 1 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/WaterVo.java

@@ -8,8 +8,7 @@ import java.util.Date;
 @Data
 public class WaterVo {
 
-    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
-    private Date date;
+    private String date;
     private String location;
     private String water;
 }

+ 4 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnergyElectricityMapper.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.guowei.admin.entity.EnergyElectricity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.guowei.admin.entity.EnergyWater;
+import com.huimv.guowei.admin.entity.vo.EnergyWaterVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -44,4 +46,6 @@ public interface EnergyElectricityMapper extends BaseMapper<EnergyElectricity> {
     List<EnergyElectricity> listUnitDayElectricity(String farmId, String unitId);
 
     List<EnergyElectricity> listUnitMonthElectricity(String farmId, String unitId);
+
+    List<EnergyWaterVo> printElectricity(@Param(Constants.WRAPPER) QueryWrapper<EnergyElectricity> queryWrapper);
 }

+ 3 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/IEnergyElectricityService.java

@@ -4,6 +4,7 @@ import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.EnergyElectricity;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.Map;
 
 /**
@@ -25,4 +26,6 @@ public interface IEnergyElectricityService extends IService<EnergyElectricity> {
     Result listScreenElectricity(Map<String, String> paramsMap);
 
     Result listUnitElectricity(Map<String, String> paramsMap);
+
+    void printElectricity(HttpServletResponse response, Map<String, String> paramsMap)throws Exception ;
 }

+ 61 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyElectricityServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.guowei.admin.service.impl;
 
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -7,14 +8,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.guowei.admin.common.utils.DataUill;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.entity.BaseBuilding;
+import com.huimv.guowei.admin.entity.BaseDuckInfo;
 import com.huimv.guowei.admin.entity.EnergyElectricity;
 import com.huimv.guowei.admin.entity.EnergyWater;
+import com.huimv.guowei.admin.entity.vo.EnergyWaterVo;
+import com.huimv.guowei.admin.mapper.BaseBuildingMapper;
+import com.huimv.guowei.admin.mapper.BaseDuckInfoMapper;
 import com.huimv.guowei.admin.mapper.EnergyElectricityMapper;
 import com.huimv.guowei.admin.service.IEnergyElectricityService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.guowei.admin.utils.Print;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import javax.xml.crypto.Data;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
@@ -35,6 +44,9 @@ import java.util.*;
 public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityMapper, EnergyElectricity> implements IEnergyElectricityService {
     @Resource
     private EnergyElectricityMapper energyElectricityMapper;
+    @Autowired
+    private BaseBuildingMapper buildingMapper;
+
 
     @Override
     public Result getElectricity(Map<String, String> paramsMap) {
@@ -170,4 +182,53 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
         }
         return new Result(ResultCode.SUCCESS,energyElectricityList);
     }
+
+    @Override
+    public void printElectricity(HttpServletResponse response, Map<String, String> paramsMap) throws Exception {
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");//选择要导出的类型
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+
+        List<EnergyWaterVo> waterVos = new ArrayList<>();
+        //今日
+        QueryWrapper<EnergyElectricity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        if (type.equals("1")) {
+            Date timesmorning = DataUill.getTimesmorning();
+            queryWrapper.ge("create_date", timesmorning);
+            waterVos = energyElectricityMapper.printElectricity(queryWrapper);
+        }
+        //本周
+
+        if (type.equals("2")) {
+            DateTime dateTime = DateUtil.beginOfWeek(new Date());
+            queryWrapper.ge("create_date", dateTime);
+            waterVos = energyElectricityMapper.printElectricity(queryWrapper);
+        }
+        //本月
+
+        if (type.equals("3")) {
+            Date timesMonthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("create_date", timesMonthmorning);
+            waterVos = energyElectricityMapper.printElectricity(queryWrapper);
+        }
+        //自定义
+
+        if (type.equals("4")) {
+            endTime = endTime + " 23:59:59";
+            queryWrapper.between("create_date", startTime, endTime);
+            waterVos = energyElectricityMapper.printElectricity(queryWrapper);
+        }
+        List<EnergyWaterVo> waterVoList = new ArrayList<>();
+        for (EnergyWaterVo waterVo : waterVos) {
+            EnergyWaterVo waterVo1 = new EnergyWaterVo();
+            BaseBuilding baseBuilding = buildingMapper.selectById(waterVo.getUnitId());
+            waterVo1.setWaterValue(waterVo.getWaterValue());
+            waterVo1.setChipName(baseBuilding.getBuildName());
+            waterVo1.setCreateDate(waterVo.getCreateDate());
+            waterVoList.add(waterVo1);
+        }
+        Print.printElectricity(waterVoList);
+    }
 }

+ 26 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/utils/Print.java

@@ -175,7 +175,32 @@ public class Print {
         List<WaterVo> list = new ArrayList<>();
         for (EnergyWaterVo waterVo : waterVos) {
             WaterVo waterVo1 = new WaterVo();
-            waterVo1.setDate(waterVo.getCreateDate());
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            waterVo1.setDate(sdf.format(waterVo.getCreateDate()));
+            waterVo1.setLocation(waterVo.getChipName());
+            waterVo1.setWater(waterVo.getWaterValue());
+            list.add(waterVo1);
+        }
+        context.putVar("list", list);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
+
+    public static void printElectricity(List<EnergyWaterVo> waterVos) throws Exception {
+
+        //准备数据
+        String path = "/opt/guowei/electricity.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("/opt/guowei/electricity.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+        List<WaterVo> list = new ArrayList<>();
+        for (EnergyWaterVo waterVo : waterVos) {
+            WaterVo waterVo1 = new WaterVo();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            waterVo1.setDate(sdf.format(waterVo.getCreateDate()));
             waterVo1.setLocation(waterVo.getChipName());
             waterVo1.setWater(waterVo.getWaterValue());
             list.add(waterVo1);

+ 7 - 0
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnergyElectricityMapper.xml

@@ -119,4 +119,11 @@ ORDER BY calendar.date;
         AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
         GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
     </select>
+
+    <select id="printElectricity" resultType="com.huimv.guowei.admin.entity.vo.EnergyWaterVo">
+        SELECT (IFNUll(sum(electricity_value),'0')) 'waterValue',unit_id 'chipName',create_date 'createDate' FROM `energy_electricity`
+         ${ew.customSqlSegment}
+        GROUP BY DATE_FORMAT(create_date,'%Y-%m-%d')
+        ORDER BY create_date ASC
+    </select>
 </mapper>