Parcourir la source

新牧场添加2

wwh il y a 1 an
Parent
commit
6adb6ef771

+ 47 - 0
huimv-env-admin/pom.xml

@@ -117,6 +117,53 @@
             <artifactId>jxls-poi</artifactId>
             <version>1.1.0</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.15</version>
+        </dependency>
+
+        <!-- poi 读取word doc-->
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-scratchpad</artifactId>
+            <version>3.15</version>
+        </dependency>
+
+        <!-- poi 读取word docx-->
+        <!--        <dependency>-->
+        <!--            <groupId>fr.opensagres.xdocreport</groupId>-->
+        <!--            <artifactId>xdocreport</artifactId>-->
+        <!--            <version>1.0.6</version>-->
+        <!--        </dependency>-->
+
+        <!-- poi xml-->
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <version>3.15</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml-schemas</artifactId>
+            <version>3.15</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.12</version>
+            <scope>provided</scope>
+        </dependency>
+
+
+        <dependency>
+            <groupId>fr.opensagres.xdocreport</groupId>
+            <artifactId>org.apache.poi.xwpf.converter.xhtml</artifactId>
+            <version>1.0.6</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 1 - 2
huimv-env-admin/src/main/java/com/huimv/env/admin/HuimvAdminApplication.java

@@ -22,8 +22,7 @@ import org.springframework.web.client.RestTemplate;
 @ComponentScans({@ComponentScan("com.huimv.env.common.utils"), @ComponentScan("com.huimv.env.common.service"),@ComponentScan("com.huimv.env.common.config")
         , @ComponentScan("com.huimv.env.admin.service")})
 @EntityScan(value = "com.huimv.env.common.entity")
-@MapperScan("com.huimv.env.admin.mapper")
-@MapperScan("com.huimv.env.common.mapper")
+@MapperScan("com.huimv.env.*.mapper")
 @EnableScheduling
 //@EnableDiscoveryClient
 public class HuimvAdminApplication {

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

@@ -2,8 +2,10 @@ package com.huimv.env.admin.controller;
 
 
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.env.common.entity.BasePigpen;
+import com.huimv.env.common.mapper.BasePigpenMapper;
 import com.huimv.env.common.service.IBasePigpenService;
 import com.huimv.env.common.utils.Result;
 import com.huimv.env.common.utils.ResultUtil;
@@ -11,6 +13,8 @@ import com.huimv.env.common.entity.dto.BasePigpenDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -27,6 +31,8 @@ import java.util.Map;
 public class BasePigpenController {
     @Autowired
     private IBasePigpenService basePigpenService;
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
 
     @PostMapping( "/addPigpen")
     public Result addPigpen(@RequestBody BasePigpenDto basePigpenDto) {
@@ -34,12 +40,32 @@ public class BasePigpenController {
     }
 
     @PostMapping( "/addUnit")
-    public Result addUnit(@RequestBody BasePigpen basePigpen) {
-        BasePigpen byId = basePigpenService.getById(basePigpen.getParentId());
-        String parentIds = byId.getOther2() + "," + basePigpen.getParentId();
-        basePigpen.setFType(3);
-        basePigpen.setOther2(parentIds);
-        if ( basePigpenService.save(basePigpen)){
+    public Result addUnit(@RequestBody Map<String,String> map) {
+        String farmId = map.get("farmId");
+        String parentId = map.get("parentId");
+        int buildNum = Integer.valueOf(map.get("buildNum"));
+        String stageCode = map.get("stageCode");
+        BasePigpen parent = basePigpenService.getById(parentId);
+        String parentIds = parent.getOther2() + "," + parentId;
+        int maxBuildNum = 0;
+        if (ObjectUtil.isNotEmpty(basePigpenMapper.getMaxBuildNum(parentId))) {
+            maxBuildNum = basePigpenMapper.getMaxBuildNum(parentId);
+        }
+        List<BasePigpen> basePigpenList = new ArrayList<>();
+        for (int i = 1; i <= buildNum; i++) {
+            int num = maxBuildNum+i;
+            BasePigpen basePigpen = new BasePigpen();
+            basePigpen.setBuildName(parent.getBuildName()+num+"单元");
+            basePigpen.setParentId(Integer.valueOf(parentId));
+            basePigpen.setFType(3);
+            basePigpen.setStageCode(Integer.valueOf(stageCode));
+            basePigpen.setFarmId(Integer.valueOf(farmId));
+            basePigpen.setOther1(String.valueOf(num));
+            basePigpen.setOther2(parentIds);
+            basePigpenList.add(basePigpen);
+        }
+
+        if ( basePigpenService.saveBatch(basePigpenList)){
             return ResultUtil.addResult(1);
         }
         return ResultUtil.addResult(0);

+ 49 - 0
huimv-env-admin/src/main/java/com/huimv/env/admin/timer/WaterAndElectricity.java

@@ -663,4 +663,53 @@ public class WaterAndElectricity {
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
         System.out.println(post);
     }
+
+    //天台27
+    @Scheduled(cron = "0 59 * * * ? ")
+    private void sendDate13() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 27);
+        List<EnergyEnvDevice> devices = envDeviceMapper.selectList(queryWrapper);
+        Date date = new Date();//获取当前时间
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.HOUR, -1);// 20分钟前
+        //获取到完整的时间
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        JSONArray jsonArray = new JSONArray();
+
+        for (EnergyEnvDevice device : devices) {
+            JSONObject jsonObject = new JSONObject();
+            if (device.getDeviceType() == 3) {
+                //电
+                QueryWrapper<EnergyElectricity> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("farm_id", 27).eq("chip_code", device.getDeviceCode());
+                queryWrapper1.between("upload_date", sdf.format(calendar.getTime()), sdf.format(date));
+                queryWrapper1.select(" IFNULL(SUM(electricity_value),0) electricityValue");
+                EnergyElectricity electricity = electricityMapper.selectOne(queryWrapper1);
+                jsonObject.put("electricity", electricity.getElectricityValue());
+                jsonObject.put("water", 0);
+            } else {
+                //水
+                QueryWrapper<EnergyWater> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("farm_id", 27).eq("chip_code", device.getDeviceCode());
+                queryWrapper1.between("upload_date", sdf.format(calendar.getTime()), sdf.format(date));
+                queryWrapper1.select(" IFNULL(SUM(water_value),0) waterValue");
+                EnergyWater water = waterMapper.selectOne(queryWrapper1);
+                jsonObject.put("water", water.getWaterValue());
+                jsonObject.put("electricity", 0);
+            }
+            jsonObject.put("deviceCode", device.getDeviceCode());
+            jsonObject.put("time", sdf.format(date));
+            jsonArray.add(jsonObject);
+        }
+        HashMap<String, String> paramsMap = new HashMap<>();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("result", jsonArray);
+        System.out.println(jsonObject);
+        paramsMap.put("Content-Type", "application/json;charset=utf-8");
+        String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData13")
+                .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
+        System.out.println(post);
+    }
 }

+ 1 - 1
huimv-env-common/src/main/java/com/huimv/env/common/mapper/BasePigpenMapper.java

@@ -14,5 +14,5 @@ import com.huimv.env.common.entity.BasePigpen;
  * @since 2023-02-13
  */
 public interface BasePigpenMapper extends BaseMapper<BasePigpen> {
-
+    int getMaxBuildNum(String parentId);
 }

+ 2 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnergyEnvDeviceService.java

@@ -29,4 +29,6 @@ public interface IEnergyEnvDeviceService extends IService<EnergyEnvDevice> {
     Result bandingUnitId(HttpServletRequest httpServletRequest, EnergyEnvDevice envDevice);
 
     Result deviceCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result importData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 }

+ 9 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyEnvDeviceServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.env.common.entity.BaseFarm;
 import com.huimv.env.common.entity.EnergyEnvDevice;
 import com.huimv.env.common.mapper.BaseFarmMapper;
+import com.huimv.env.common.mapper.BasePigpenMapper;
 import com.huimv.env.common.mapper.EnergyEnvDeviceMapper;
 import com.huimv.env.common.service.IEnergyEnvDeviceService;
 import com.huimv.env.common.utils.Result;
@@ -34,6 +35,8 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
     private EnergyEnvDeviceMapper energyEnvDeviceMapper;
     @Autowired
     private BaseFarmMapper farmMapper;
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
 
     @Override
     public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
@@ -164,4 +167,10 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
         }
         return new Result(ResultCode.SUCCESS, jsonObject);
     }
+
+    @Override
+    public Result importData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+
+        return null;
+    }
 }

+ 20 - 0
huimv-env-common/src/main/java/resources/com/huimv/env/common/mapper/BasePigpenMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.BasePigpenMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.BasePigpen">
+        <id column="id" property="id" />
+        <result column="build_name" property="buildName" />
+        <result column="parent_id" property="parentId" />
+        <result column="farm_id" property="farmId" />
+        <result column="sort" property="sort" />
+        <result column="other1" property="other1" />
+        <result column="other2" property="other2" />
+        <result column="other3" property="other3" />
+    </resultMap>
+    <select id="getMaxBuildNum" resultType="java.lang.Integer">
+        SELECT COALESCE(MAX(other1),0) FROM `base_pigpen` WHERE parent_id = #{parentId}
+    </select>
+
+</mapper>

+ 9 - 6
huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DataServiceImpl.java

@@ -66,7 +66,7 @@ public class DataServiceImpl implements DataService {
             ,Integer farmId,Integer unitId,String unitName,String farmName,int transformer,int difference) throws ParseException {
         List<EnergyElectricity> one = energyElectricityService.list(new QueryWrapper<EnergyElectricity>().eq("chip_code", nodeEui).orderByDesc("id").last("limit 1"));
         String lastData ="0";
-        if (ObjectUtil.isNotEmpty(one)){
+        if (one.size()>0){
             lastData =  one.get(0).getOriginalValue();
         }
         if (originalData == null){
@@ -89,12 +89,12 @@ public class DataServiceImpl implements DataService {
         envWater.setOther2(farmName);
 
         envWater.setDeviceType(Integer.parseInt(devType));
-        String other3 = one.get(0).getOther3();
 
-        if (StringUtils.isBlank(other3)){
-            other3 = (originalData-difference)+"";
+        BigDecimal bigDecimal = BigDecimal.valueOf(0);
+        if (one.size() > 0) {
+            bigDecimal = new BigDecimal(one.get(0).getOther3());
         }
-        BigDecimal bigDecimal = new BigDecimal(other3);
+
         if(str <0 ){
             envWater.setElectricityValue( String.format("%.1f", (double)originalData*transformer/10.0));
             BigDecimal bigDecimal1 = new BigDecimal(String.format("%.1f", (double) originalData * transformer / 10.0));
@@ -137,7 +137,10 @@ public class DataServiceImpl implements DataService {
         envWater.setOther1(unitName);
         envWater.setOther2(farmName);
         envWater.setOriginalDate(payload);
-        BigDecimal bigDecimal = new BigDecimal(one.get(0).getOther3());
+        BigDecimal bigDecimal = BigDecimal.valueOf(0);
+        if (one.size() > 0) {
+            bigDecimal = new BigDecimal(one.get(0).getOther3());
+        }
         if(str <0 ){
             envWater.setWaterValue( String.format("%.1f", (double)originalData*transformer/10.0));
             BigDecimal bigDecimal1 = new BigDecimal(String.format("%.1f", (double)originalData*transformer/10.0));