浏览代码

生物防控人员2

523096025 2 月之前
父节点
当前提交
5da22e8050
共有 19 个文件被更改,包括 5802 次插入5755 次删除
  1. 34 34
      huimv-admin/src/main/java/com/huimv/admin/HuimvAdminApplication.java
  2. 46 0
      huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/EnergyFeedTimer.java
  3. 103 103
      huimv-admin/src/main/java/com/huimv/admin/timer/CarmeraTimer.java
  4. 27 28
      huimv-admin/src/main/java/com/huimv/admin/timer/EnergyFeedTimer.java
  5. 159 159
      huimv-admin/src/main/java/com/huimv/admin/timer/EnergyTimer.java
  6. 524 524
      huimv-admin/src/main/java/com/huimv/admin/timer/EnvTimer.java
  7. 50 50
      huimv-admin/src/main/java/com/huimv/admin/timer/FermentTimer.java
  8. 499 499
      huimv-admin/src/main/java/com/huimv/admin/timer/GasTimer.java
  9. 215 215
      huimv-admin/src/main/java/com/huimv/admin/timer/NewEnvTimer.java
  10. 184 184
      huimv-admin/src/main/java/com/huimv/admin/timer/ProdWarningTimer.java
  11. 569 569
      huimv-admin/src/main/java/com/huimv/admin/timer/ProtTimer.java
  12. 528 528
      huimv-admin/src/main/java/com/huimv/admin/timer/ShenChanTimer.java
  13. 2706 2706
      huimv-admin/src/main/java/com/huimv/admin/timer/WaterAndElcTimer.java
  14. 144 144
      huimv-admin/src/main/java/com/huimv/admin/timer/test.java
  15. 7 6
      huimv-admin/src/main/resources/application-dev.yml
  16. 2 2
      huimv-admin/src/main/resources/application.properties
  17. 3 1
      huimv-receive/src/main/java/com/huimv/receive/config/InterceptorConfig.java
  18. 0 1
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseWashoutPointServiceImpl.java
  19. 2 2
      huimv-receive/src/main/resources/application-dev.yml

+ 34 - 34
huimv-admin/src/main/java/com/huimv/admin/HuimvAdminApplication.java

@@ -28,40 +28,40 @@ public class HuimvAdminApplication {
         return new RestTemplate();
     }
 
-    @Bean
-    public WebServerFactoryCustomizer<TomcatServletWebServerFactory> cookieProcessorCustomizer() {
-        return tomcatServletWebServerFactory -> tomcatServletWebServerFactory.addContextCustomizers((TomcatContextCustomizer) context -> {
-            context.setCookieProcessor(new LegacyCookieProcessor());
-        });
-    }
-    @Bean
-    public TomcatServletWebServerFactory servletContainer() {
-        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
-            @Override
-            protected void postProcessContext(Context context) {
-                SecurityConstraint constraint = new SecurityConstraint();
-                constraint.setUserConstraint("CONFIDENTIAL");
-                SecurityCollection collection = new SecurityCollection();
-                collection.addPattern("/*");
-                constraint.addCollection(collection);
-                context.addConstraint(constraint);
-            }
-        };
-        tomcat.addAdditionalTomcatConnectors(httpConnector());
-        return tomcat;
-    }
-
-    @Bean
-    public Connector httpConnector() {
-        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
-        connector.setScheme("http");
-        //Connector监听的http的默认端口号
-        connector.setPort(8012);
-        connector.setSecure(false);
-        //监听到http的端口号后转向到的https的端口号,也就是项目配置的port
-        connector.setRedirectPort(8011);
-        return connector;
-    }
+//    @Bean
+//    public WebServerFactoryCustomizer<TomcatServletWebServerFactory> cookieProcessorCustomizer() {
+//        return tomcatServletWebServerFactory -> tomcatServletWebServerFactory.addContextCustomizers((TomcatContextCustomizer) context -> {
+//            context.setCookieProcessor(new LegacyCookieProcessor());
+//        });
+//    }
+//    @Bean
+//    public TomcatServletWebServerFactory servletContainer() {
+//        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
+//            @Override
+//            protected void postProcessContext(Context context) {
+//                SecurityConstraint constraint = new SecurityConstraint();
+//                constraint.setUserConstraint("CONFIDENTIAL");
+//                SecurityCollection collection = new SecurityCollection();
+//                collection.addPattern("/*");
+//                constraint.addCollection(collection);
+//                context.addConstraint(constraint);
+//            }
+//        };
+//        tomcat.addAdditionalTomcatConnectors(httpConnector());
+//        return tomcat;
+//    }
+//
+//    @Bean
+//    public Connector httpConnector() {
+//        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
+//        connector.setScheme("http");
+//        //Connector监听的http的默认端口号
+//        connector.setPort(8012);
+//        connector.setSecure(false);
+//        //监听到http的端口号后转向到的https的端口号,也就是项目配置的port
+//        connector.setRedirectPort(8011);
+//        return connector;
+//    }
 
 
 }

+ 46 - 0
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/EnergyFeedTimer.java

@@ -0,0 +1,46 @@
+package com.huimv.admin.jinghongtimer;
+
+import com.huimv.admin.mapper.BasePigpenMapper;
+import com.huimv.admin.mapper.EnergyDataMapper;
+import com.huimv.admin.mapper.ProdStockMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@Configuration
+@EnableScheduling
+public class EnergyFeedTimer {
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
+    @Autowired
+    private EnergyDataMapper energyDataMapper;
+    @Autowired
+    private ProdStockMapper prodStockMapper;
+    //华统料塔
+//    @Scheduled(cron = "0 0 * * * ? ")
+//    private void action(){
+//        BigDecimal feedConsume;
+//        BasePigpen basePigpen = basePigpenMapper.selectOne(new QueryWrapper<BasePigpen>().lambda()
+//                .eq(BasePigpen::getFType, 3)
+//                .eq(BasePigpen::getFarmId, 26).last("Limit 1"));
+//        if (ObjectUtil.isNotEmpty(basePigpen)){
+//            EnergyData energyData = new EnergyData();
+//            ProdStock prodStock = prodStockMapper.selectOne(new QueryWrapper<ProdStock>().lambda()
+//                    .eq(ProdStock::getFarmId, 26)
+//                    .eq(ProdStock::getDisplayType, 0).orderByDesc(ProdStock::getCreatTime).last("LIMIT 1"));
+//            if (ObjectUtil.isNotEmpty(prodStock)){
+//                feedConsume = BigDecimal.valueOf((800*2.5)*prodStock.getZcl()/1000/12);
+//                feedConsume = feedConsume.setScale(2, RoundingMode.UP);
+//                energyData.setFeedValue(feedConsume.toString());
+//                energyData.setFarmId(26);
+//                energyData.setCreateDate(new Date());
+//                energyData.setDisplayType(1);
+//                energyData.setUnitId(basePigpen.getId());
+//                energyData.setUnitName(basePigpen.getBuildName());
+//                energyDataMapper.insert(energyData);
+//            }
+//
+//        }
+//    }
+    //景宏料塔
+}

+ 103 - 103
huimv-admin/src/main/java/com/huimv/admin/timer/CarmeraTimer.java

@@ -1,103 +1,103 @@
-package com.huimv.admin.timer;
-
-import cn.hutool.core.codec.Base64;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONUtil;
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.huimv.admin.common.utils.Digests;
-import com.huimv.admin.common.utils.HttpClientSSLUtils;
-import com.huimv.admin.entity.EnvData;
-import com.huimv.admin.entity.EnvDevice;
-import com.huimv.admin.entity.EnvWarningInfo;
-import com.huimv.admin.entity.EnvWarningThreshold;
-import com.huimv.admin.entity.hkwsdto.CameraDto1;
-import com.huimv.admin.entity.hkwsdto.HkvsCameraDto;
-import com.huimv.admin.entity.zengxindto.*;
-import com.huimv.admin.service.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.*;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.client.RestTemplate;
-
-import java.lang.invoke.MethodHandleProxies;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Configuration
-@EnableScheduling
-public class CarmeraTimer {
-    private static final String APPKEY = "1c9ee657";
-    private static final String SECRET = "a5d723941c804a429447e71db2707ce8";
-    private static final String OPENAPI_IP_PORT_HTTP = "http://61.153.248.106:100";
-    private static final String OPENAPI_IP_PORT_HTTPS = "https://61.153.248.106:4430";
-    private static final String ITF_ADDRESS_GET_CAMERAS = "/openapi/service/vss/res/getCameras";
-    private static final String OP_USER_UUID = "5b2eb534696b11e89c2e438f92627767";
-
-    @Autowired
-    private ICameraBaseService cameraBaseService;
-        //数据库账号密码加密
-    //更新摄像头状态
-    @Scheduled(cron = "0 0/10 * * * ? ")
-    private void updateCameraOnlin() throws Exception {
-        String cameras = testGetCameras();
-        HkvsCameraDto hkvsCameraDto = JSONUtil.toBean(cameras, HkvsCameraDto.class);
-        if (ObjectUtil.isNotEmpty(hkvsCameraDto) && hkvsCameraDto.getErrorCode() ==0 ){
-            List<CameraDto1> list = hkvsCameraDto.getData().getList();
-            if (ObjectUtil.isNotEmpty(list)){
-                cameraBaseService.updateCameraOnlin(list);
-            }
-            System.out.println("更新成功");
-        }else {
-            System.out.println("摄像头信息为空");
-        }
-    }
-    /**
-     * HTTP方式
-     * 分页获取监控点信息 测试
-     * @return
-     * @throws Exception
-     */
-    private static String testGetCameras() throws Exception{
-        String url = OPENAPI_IP_PORT_HTTP + ITF_ADDRESS_GET_CAMERAS;
-        Map<String, Object> map = new HashMap<String, Object>();
-        map.put("appkey", APPKEY);//设置APPKEY
-        map.put("time", System.currentTimeMillis());//设置时间参数
-        map.put("pageNo", 1);//设置分页参数
-        map.put("pageSize", 1000);//设置分页参数
-        map.put("opUserUuid", OP_USER_UUID);//设置操作用户UUID
-        String params = JSON.toJSONString(map);
-        System.out.println(" ====== getCameras请求参数:【" + params + "】");
-        String data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, null, SECRET), params);
-        System.out.println(" ====== getCameras请求返回结果:【{" + data + "}】");
-        return data;
-    }
-
-
-    public static void main(String[] args) {
-        RestTemplate restTemplate = new RestTemplate();
-        String envUrl = "https://dnqyt.envchina.com/api/public/station-data";
-        LocalDate previousDay = LocalDate.now().minusDays(1);
-        LocalDateTime previousDayStart = LocalDateTime.of(previousDay, LocalTime.MIN);
-
-        String sgToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJkYW9ub25nIiwidWlkIjozLCJ1biI6IlpYUUxZWktKMjMwN0EyIiwiZXhwIjoxNjg5MDcwNTYxLCJqdGkiOiIzIn0.BEFESZrKOwBej4rxOfoj7qPcHGomh6KN7xbXdjOB__w";
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("token",sgToken);
-        headers.setContentType(MediaType.APPLICATION_JSON);
-        HttpEntity<Map<String, Object>> formEntity = new HttpEntity<Map<String, Object>>(headers);
-
-        String urlWithParams = envUrl + "?type=D&mn=33330424001391" + "&startTime=" + "2023-07-10 00:00:00" + "&endTime=" + "2023-07-10 00:00:00";
-        ResponseEntity<String> result = restTemplate.exchange(urlWithParams, HttpMethod.GET,formEntity,String.class);
-        System.out.println(result);
-    }
-
-}
+//package com.huimv.admin.timer;
+//
+//import cn.hutool.core.codec.Base64;
+//import cn.hutool.core.util.ObjectUtil;
+//import cn.hutool.json.JSONUtil;
+//import com.alibaba.fastjson.JSON;
+//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+//import com.huimv.admin.common.utils.Digests;
+//import com.huimv.admin.common.utils.HttpClientSSLUtils;
+//import com.huimv.admin.entity.EnvData;
+//import com.huimv.admin.entity.EnvDevice;
+//import com.huimv.admin.entity.EnvWarningInfo;
+//import com.huimv.admin.entity.EnvWarningThreshold;
+//import com.huimv.admin.entity.hkwsdto.CameraDto1;
+//import com.huimv.admin.entity.hkwsdto.HkvsCameraDto;
+//import com.huimv.admin.entity.zengxindto.*;
+//import com.huimv.admin.service.*;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.http.*;
+//import org.springframework.scheduling.annotation.EnableScheduling;
+//import org.springframework.scheduling.annotation.Scheduled;
+//import org.springframework.transaction.annotation.Transactional;
+//import org.springframework.web.client.RestTemplate;
+//
+//import java.lang.invoke.MethodHandleProxies;
+//import java.time.LocalDate;
+//import java.time.LocalDateTime;
+//import java.time.LocalTime;
+//import java.util.Date;
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//
+//@Configuration
+//@EnableScheduling
+//public class CarmeraTimer {
+//    private static final String APPKEY = "1c9ee657";
+//    private static final String SECRET = "a5d723941c804a429447e71db2707ce8";
+//    private static final String OPENAPI_IP_PORT_HTTP = "http://61.153.248.106:100";
+//    private static final String OPENAPI_IP_PORT_HTTPS = "https://61.153.248.106:4430";
+//    private static final String ITF_ADDRESS_GET_CAMERAS = "/openapi/service/vss/res/getCameras";
+//    private static final String OP_USER_UUID = "5b2eb534696b11e89c2e438f92627767";
+//
+//    @Autowired
+//    private ICameraBaseService cameraBaseService;
+//        //数据库账号密码加密
+//    //更新摄像头状态
+//    @Scheduled(cron = "0 0/10 * * * ? ")
+//    private void updateCameraOnlin() throws Exception {
+//        String cameras = testGetCameras();
+//        HkvsCameraDto hkvsCameraDto = JSONUtil.toBean(cameras, HkvsCameraDto.class);
+//        if (ObjectUtil.isNotEmpty(hkvsCameraDto) && hkvsCameraDto.getErrorCode() ==0 ){
+//            List<CameraDto1> list = hkvsCameraDto.getData().getList();
+//            if (ObjectUtil.isNotEmpty(list)){
+//                cameraBaseService.updateCameraOnlin(list);
+//            }
+//            System.out.println("更新成功");
+//        }else {
+//            System.out.println("摄像头信息为空");
+//        }
+//    }
+//    /**
+//     * HTTP方式
+//     * 分页获取监控点信息 测试
+//     * @return
+//     * @throws Exception
+//     */
+//    private static String testGetCameras() throws Exception{
+//        String url = OPENAPI_IP_PORT_HTTP + ITF_ADDRESS_GET_CAMERAS;
+//        Map<String, Object> map = new HashMap<String, Object>();
+//        map.put("appkey", APPKEY);//设置APPKEY
+//        map.put("time", System.currentTimeMillis());//设置时间参数
+//        map.put("pageNo", 1);//设置分页参数
+//        map.put("pageSize", 1000);//设置分页参数
+//        map.put("opUserUuid", OP_USER_UUID);//设置操作用户UUID
+//        String params = JSON.toJSONString(map);
+//        System.out.println(" ====== getCameras请求参数:【" + params + "】");
+//        String data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, null, SECRET), params);
+//        System.out.println(" ====== getCameras请求返回结果:【{" + data + "}】");
+//        return data;
+//    }
+//
+//
+//    public static void main(String[] args) {
+//        RestTemplate restTemplate = new RestTemplate();
+//        String envUrl = "https://dnqyt.envchina.com/api/public/station-data";
+//        LocalDate previousDay = LocalDate.now().minusDays(1);
+//        LocalDateTime previousDayStart = LocalDateTime.of(previousDay, LocalTime.MIN);
+//
+//        String sgToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJkYW9ub25nIiwidWlkIjozLCJ1biI6IlpYUUxZWktKMjMwN0EyIiwiZXhwIjoxNjg5MDcwNTYxLCJqdGkiOiIzIn0.BEFESZrKOwBej4rxOfoj7qPcHGomh6KN7xbXdjOB__w";
+//        HttpHeaders headers = new HttpHeaders();
+//        headers.add("token",sgToken);
+//        headers.setContentType(MediaType.APPLICATION_JSON);
+//        HttpEntity<Map<String, Object>> formEntity = new HttpEntity<Map<String, Object>>(headers);
+//
+//        String urlWithParams = envUrl + "?type=D&mn=33330424001391" + "&startTime=" + "2023-07-10 00:00:00" + "&endTime=" + "2023-07-10 00:00:00";
+//        ResponseEntity<String> result = restTemplate.exchange(urlWithParams, HttpMethod.GET,formEntity,String.class);
+//        System.out.println(result);
+//    }
+//
+//}

+ 27 - 28
huimv-admin/src/main/java/com/huimv/admin/timer/EnergyFeedTimer.java

@@ -27,32 +27,31 @@ public class EnergyFeedTimer {
     private EnergyDataMapper energyDataMapper;
     @Autowired
     private ProdStockMapper prodStockMapper;
-
-    @Scheduled(cron = "0 0 * * * ? ")
-    private void action(){
-        BigDecimal feedConsume;
-        BasePigpen basePigpen = basePigpenMapper.selectOne(new QueryWrapper<BasePigpen>().lambda()
-                .eq(BasePigpen::getFType, 3)
-                .eq(BasePigpen::getFarmId, 26).last("Limit 1"));
-        if (ObjectUtil.isNotEmpty(basePigpen)){
-            EnergyData energyData = new EnergyData();
-            ProdStock prodStock = prodStockMapper.selectOne(new QueryWrapper<ProdStock>().lambda()
-                    .eq(ProdStock::getFarmId, 26)
-                    .eq(ProdStock::getDisplayType, 0).orderByDesc(ProdStock::getCreatTime).last("LIMIT 1"));
-            if (ObjectUtil.isNotEmpty(prodStock)){
-                feedConsume = BigDecimal.valueOf((800*2.5)*prodStock.getZcl()/1000/12);
-                feedConsume = feedConsume.setScale(2, RoundingMode.UP);
-                energyData.setFeedValue(feedConsume.toString());
-                energyData.setFarmId(26);
-                energyData.setCreateDate(new Date());
-                energyData.setDisplayType(1);
-                energyData.setUnitId(basePigpen.getId());
-                energyData.setUnitName(basePigpen.getBuildName());
-                energyDataMapper.insert(energyData);
-            }
-
-        }
-
-
-    }
+    //华统料塔
+//    @Scheduled(cron = "0 0 * * * ? ")
+//    private void action(){
+//        BigDecimal feedConsume;
+//        BasePigpen basePigpen = basePigpenMapper.selectOne(new QueryWrapper<BasePigpen>().lambda()
+//                .eq(BasePigpen::getFType, 3)
+//                .eq(BasePigpen::getFarmId, 26).last("Limit 1"));
+//        if (ObjectUtil.isNotEmpty(basePigpen)){
+//            EnergyData energyData = new EnergyData();
+//            ProdStock prodStock = prodStockMapper.selectOne(new QueryWrapper<ProdStock>().lambda()
+//                    .eq(ProdStock::getFarmId, 26)
+//                    .eq(ProdStock::getDisplayType, 0).orderByDesc(ProdStock::getCreatTime).last("LIMIT 1"));
+//            if (ObjectUtil.isNotEmpty(prodStock)){
+//                feedConsume = BigDecimal.valueOf((800*2.5)*prodStock.getZcl()/1000/12);
+//                feedConsume = feedConsume.setScale(2, RoundingMode.UP);
+//                energyData.setFeedValue(feedConsume.toString());
+//                energyData.setFarmId(26);
+//                energyData.setCreateDate(new Date());
+//                energyData.setDisplayType(1);
+//                energyData.setUnitId(basePigpen.getId());
+//                energyData.setUnitName(basePigpen.getBuildName());
+//                energyDataMapper.insert(energyData);
+//            }
+//
+//        }
+//    }
+    //景宏料塔
 }

+ 159 - 159
huimv-admin/src/main/java/com/huimv/admin/timer/EnergyTimer.java

@@ -1,159 +1,159 @@
-package com.huimv.admin.timer;
-
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.huimv.admin.common.utils.NumberUtils;
-import com.huimv.admin.entity.*;
-import com.huimv.admin.mapper.*;
-import org.apache.commons.lang.time.DateUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-
-import java.text.DecimalFormat;
-import java.util.Date;
-import java.util.List;
-
-@Configuration
-@EnableScheduling
-public class EnergyTimer {
-
-    @Autowired
-    private EnergyEnvDeviceMapper deviceMapper;
-    @Autowired
-    private EnergyDataMapper dataMapper;
-    @Autowired
-    private BasePigpenMapper basePigpenMapper;
-    @Autowired
-    private EnergyWarningThresholdMapper warningThresholdMapper;
-    @Autowired
-    private EnergyWarningInfoMapper infoMapper;
-    @Autowired
-    private BaseFarmMapper baseFarmMapper;
-
-    //    能耗数据
-    @Scheduled(cron = "0 0 */1 * * ? ")
-//    @Scheduled(cron = "0 */1 * * * ? ")
-    private void getShenChan() throws Exception {
-        List<EnergyEnvDevice> energyEnvDevices = deviceMapper.selectList(new QueryWrapper<EnergyEnvDevice>().ne("farm_id",26)
-                .ne("farm_id",29).ne("farm_id",21).ne("farm_id",28).ne("farm_id",27).
-                        ne("farm_id",35).ne("farm_id",33).ne("farm_id",22).ne("farm_id",23)
-                .ne("farm_id",34) .ne("farm_id",36) .ne("farm_id",37).ne("farm_id",38)
-                .ne("farm_id",40).ne("farm_id",41).ne("farm_id",39).ne("farm_id",42)
-                .ne("farm_id",24));
-
-        for (EnergyEnvDevice energyEnvDevice : energyEnvDevices) {
-            QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
-            basePigpenQueryWrapper.eq("id", energyEnvDevice.getUnitId()).eq("farm_id", energyEnvDevice.getFarmId());
-            BasePigpen basePigpen1 = basePigpenMapper.selectOne(basePigpenQueryWrapper);
-            QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("id", basePigpen1.getParentId());
-            BasePigpen basePigpen = basePigpenMapper.selectOne(queryWrapper);
-
-            String feed = NumberUtils.getNumFloat2(6.00, 6.50);
-            String water = NumberUtils.getNumFloat2(0.08, 0.15);
-//            String gas = NumberUtils.getNum(200, 280, 1);
-            String gas = "0";
-            String electricity = NumberUtils.getNumFloat2(1.0, 1.45);
-
-            EnergyData energyData = new EnergyData();
-            energyData.setCreateDate(new Date());
-            energyData.setFarmId(energyEnvDevice.getFarmId());
-            energyData.setUnitId(energyEnvDevice.getUnitId());
-            if (energyEnvDevice.getFarmId() == 23) {
-                energyData.setFeedValue("0");
-            } else {
-                energyData.setFeedValue(feed);
-            }
-
-            energyData.setWaterValue(water);
-            energyData.setGasValue(gas);
-            energyData.setElectricityValue(electricity);
-            if (energyEnvDevice.getFarmId() == 24) {
-                String feed1 = NumberUtils.getNumFloat2(1.40, 1.50);
-                String water1 = NumberUtils.getNumFloat2(20.80, 20.84);
-                String electricity1 = NumberUtils.getNumFloat2(333.30, 333.34);
-                energyData.setElectricityValue(electricity1);
-                energyData.setWaterValue(water1);
-                energyData.setFeedValue(feed1);
-            }
-            dataMapper.insert(energyData);
-
-            QueryWrapper<EnergyWarningThreshold> wrapper = new QueryWrapper<>();
-            wrapper.eq("other1", basePigpen.getStageCode()).eq("farm_id", energyEnvDevice.getFarmId());
-            EnergyWarningThreshold threshold = warningThresholdMapper.selectOne(wrapper);
-
-            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
-            dataQueryWrapper.eq("farm_id", energyEnvDevice.getFarmId()).eq("unit_id", energyEnvDevice.getUnitId());
-            DateTime dateTime = DateUtil.beginOfDay(new Date());
-            dataQueryWrapper.ge("create_date", dateTime);
-            EnergyData energyData1 = dataMapper.listDataCount(dataQueryWrapper);
-
-            if (Float.parseFloat(energyData1.getWaterValue()) + Float.parseFloat(water) > Float.parseFloat(threshold.getMaxWater())) {
-                float waterCount = Float.parseFloat(energyData1.getWaterValue()) + Float.parseFloat(water);
-                DecimalFormat df = new DecimalFormat("#.00");
-                String format = df.format(waterCount);
-                EnergyWarningInfo warningInfo = new EnergyWarningInfo();
-                warningInfo.setWarningType(1);
-                warningInfo.setWarningContent("今日累计用水量" + format + "t,超过阈值");
-                warningInfo.setUnitName(basePigpen1.getBuildName());
-                warningInfo.setUnitId(energyEnvDevice.getUnitId());
-                warningInfo.setDeviceId(energyEnvDevice.getId());
-                warningInfo.setDate(new Date());
-                warningInfo.setFarmId(energyEnvDevice.getFarmId());
-                warningInfo.setUserIds(threshold.getUserIds());
-                infoMapper.insert(warningInfo);
-            }
-            if (Float.parseFloat(energyData1.getElectricityValue()) + Float.parseFloat(electricity) > Float.parseFloat(threshold.getMaxElectricity())) {
-                float electricityCount = Float.parseFloat(energyData1.getElectricityValue()) + Float.parseFloat(electricity);
-                DecimalFormat df = new DecimalFormat("#.00");
-                String format = df.format(electricityCount);
-                EnergyWarningInfo warningInfo = new EnergyWarningInfo();
-                warningInfo.setWarningType(2);
-                warningInfo.setWarningContent("今日累计用电量" + format + "kw/h,超过阈值");
-                warningInfo.setUnitName(basePigpen1.getBuildName());
-                warningInfo.setUnitId(energyEnvDevice.getUnitId());
-                warningInfo.setDeviceId(energyEnvDevice.getId());
-                warningInfo.setDate(new Date());
-                warningInfo.setFarmId(energyEnvDevice.getFarmId());
-                warningInfo.setUserIds(threshold.getUserIds());
-                infoMapper.insert(warningInfo);
-            }
-            if (Float.parseFloat(energyData1.getFeedValue()) + Float.parseFloat(feed) > Float.parseFloat(threshold.getMaxFeed())) {
-                float feedCount = Float.parseFloat(energyData1.getFeedValue()) + Float.parseFloat(feed);
-                DecimalFormat df = new DecimalFormat("#.00");
-                String format = df.format(feedCount);
-                EnergyWarningInfo warningInfo = new EnergyWarningInfo();
-                warningInfo.setWarningType(3);
-                warningInfo.setWarningContent("今日累计用料量" + format + "kg,超过阈值");
-                warningInfo.setUnitName(basePigpen.getBuildName());
-                warningInfo.setUnitId(energyEnvDevice.getUnitId());
-                warningInfo.setDeviceId(energyEnvDevice.getId());
-                warningInfo.setDate(new Date());
-                warningInfo.setFarmId(energyEnvDevice.getFarmId());
-                warningInfo.setUserIds(threshold.getUserIds());
-                infoMapper.insert(warningInfo);
-            }
-            if (Float.parseFloat(energyData1.getGasValue()) + Float.parseFloat(gas) > Float.parseFloat(threshold.getMaxGas())) {
-                float gasCount = Float.parseFloat(energyData1.getGasValue()) + Float.parseFloat(gas);
-                DecimalFormat df = new DecimalFormat("#.00");
-                String format = df.format(gasCount);
-                EnergyWarningInfo warningInfo = new EnergyWarningInfo();
-                warningInfo.setWarningType(4);
-                warningInfo.setWarningContent("今日累计用气量" + format + "m³,超过阈值");
-                warningInfo.setUnitName(basePigpen.getBuildName());
-                warningInfo.setUnitId(energyEnvDevice.getUnitId());
-                warningInfo.setDeviceId(energyEnvDevice.getId());
-                warningInfo.setDate(new Date());
-                warningInfo.setFarmId(energyEnvDevice.getFarmId());
-                warningInfo.setUserIds(threshold.getUserIds());
-                infoMapper.insert(warningInfo);
-            }
-
-        }
-
-
-    }
-}
+//package com.huimv.admin.timer;
+//
+//import cn.hutool.core.date.DateTime;
+//import cn.hutool.core.date.DateUtil;
+//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+//import com.huimv.admin.common.utils.NumberUtils;
+//import com.huimv.admin.entity.*;
+//import com.huimv.admin.mapper.*;
+//import org.apache.commons.lang.time.DateUtils;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.scheduling.annotation.EnableScheduling;
+//import org.springframework.scheduling.annotation.Scheduled;
+//
+//import java.text.DecimalFormat;
+//import java.util.Date;
+//import java.util.List;
+//
+//@Configuration
+//@EnableScheduling
+//public class EnergyTimer {
+//
+//    @Autowired
+//    private EnergyEnvDeviceMapper deviceMapper;
+//    @Autowired
+//    private EnergyDataMapper dataMapper;
+//    @Autowired
+//    private BasePigpenMapper basePigpenMapper;
+//    @Autowired
+//    private EnergyWarningThresholdMapper warningThresholdMapper;
+//    @Autowired
+//    private EnergyWarningInfoMapper infoMapper;
+//    @Autowired
+//    private BaseFarmMapper baseFarmMapper;
+//
+//    //    能耗数据
+//    @Scheduled(cron = "0 0 */1 * * ? ")
+////    @Scheduled(cron = "0 */1 * * * ? ")
+//    private void getShenChan() throws Exception {
+//        List<EnergyEnvDevice> energyEnvDevices = deviceMapper.selectList(new QueryWrapper<EnergyEnvDevice>().ne("farm_id",26)
+//                .ne("farm_id",29).ne("farm_id",21).ne("farm_id",28).ne("farm_id",27).
+//                        ne("farm_id",35).ne("farm_id",33).ne("farm_id",22).ne("farm_id",23)
+//                .ne("farm_id",34) .ne("farm_id",36) .ne("farm_id",37).ne("farm_id",38)
+//                .ne("farm_id",40).ne("farm_id",41).ne("farm_id",39).ne("farm_id",42)
+//                .ne("farm_id",24));
+//
+//        for (EnergyEnvDevice energyEnvDevice : energyEnvDevices) {
+//            QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
+//            basePigpenQueryWrapper.eq("id", energyEnvDevice.getUnitId()).eq("farm_id", energyEnvDevice.getFarmId());
+//            BasePigpen basePigpen1 = basePigpenMapper.selectOne(basePigpenQueryWrapper);
+//            QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+//            queryWrapper.eq("id", basePigpen1.getParentId());
+//            BasePigpen basePigpen = basePigpenMapper.selectOne(queryWrapper);
+//
+//            String feed = NumberUtils.getNumFloat2(6.00, 6.50);
+//            String water = NumberUtils.getNumFloat2(0.08, 0.15);
+////            String gas = NumberUtils.getNum(200, 280, 1);
+//            String gas = "0";
+//            String electricity = NumberUtils.getNumFloat2(1.0, 1.45);
+//
+//            EnergyData energyData = new EnergyData();
+//            energyData.setCreateDate(new Date());
+//            energyData.setFarmId(energyEnvDevice.getFarmId());
+//            energyData.setUnitId(energyEnvDevice.getUnitId());
+//            if (energyEnvDevice.getFarmId() == 23) {
+//                energyData.setFeedValue("0");
+//            } else {
+//                energyData.setFeedValue(feed);
+//            }
+//
+//            energyData.setWaterValue(water);
+//            energyData.setGasValue(gas);
+//            energyData.setElectricityValue(electricity);
+//            if (energyEnvDevice.getFarmId() == 24) {
+//                String feed1 = NumberUtils.getNumFloat2(1.40, 1.50);
+//                String water1 = NumberUtils.getNumFloat2(20.80, 20.84);
+//                String electricity1 = NumberUtils.getNumFloat2(333.30, 333.34);
+//                energyData.setElectricityValue(electricity1);
+//                energyData.setWaterValue(water1);
+//                energyData.setFeedValue(feed1);
+//            }
+//            dataMapper.insert(energyData);
+//
+//            QueryWrapper<EnergyWarningThreshold> wrapper = new QueryWrapper<>();
+//            wrapper.eq("other1", basePigpen.getStageCode()).eq("farm_id", energyEnvDevice.getFarmId());
+//            EnergyWarningThreshold threshold = warningThresholdMapper.selectOne(wrapper);
+//
+//            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+//            dataQueryWrapper.eq("farm_id", energyEnvDevice.getFarmId()).eq("unit_id", energyEnvDevice.getUnitId());
+//            DateTime dateTime = DateUtil.beginOfDay(new Date());
+//            dataQueryWrapper.ge("create_date", dateTime);
+//            EnergyData energyData1 = dataMapper.listDataCount(dataQueryWrapper);
+//
+//            if (Float.parseFloat(energyData1.getWaterValue()) + Float.parseFloat(water) > Float.parseFloat(threshold.getMaxWater())) {
+//                float waterCount = Float.parseFloat(energyData1.getWaterValue()) + Float.parseFloat(water);
+//                DecimalFormat df = new DecimalFormat("#.00");
+//                String format = df.format(waterCount);
+//                EnergyWarningInfo warningInfo = new EnergyWarningInfo();
+//                warningInfo.setWarningType(1);
+//                warningInfo.setWarningContent("今日累计用水量" + format + "t,超过阈值");
+//                warningInfo.setUnitName(basePigpen1.getBuildName());
+//                warningInfo.setUnitId(energyEnvDevice.getUnitId());
+//                warningInfo.setDeviceId(energyEnvDevice.getId());
+//                warningInfo.setDate(new Date());
+//                warningInfo.setFarmId(energyEnvDevice.getFarmId());
+//                warningInfo.setUserIds(threshold.getUserIds());
+//                infoMapper.insert(warningInfo);
+//            }
+//            if (Float.parseFloat(energyData1.getElectricityValue()) + Float.parseFloat(electricity) > Float.parseFloat(threshold.getMaxElectricity())) {
+//                float electricityCount = Float.parseFloat(energyData1.getElectricityValue()) + Float.parseFloat(electricity);
+//                DecimalFormat df = new DecimalFormat("#.00");
+//                String format = df.format(electricityCount);
+//                EnergyWarningInfo warningInfo = new EnergyWarningInfo();
+//                warningInfo.setWarningType(2);
+//                warningInfo.setWarningContent("今日累计用电量" + format + "kw/h,超过阈值");
+//                warningInfo.setUnitName(basePigpen1.getBuildName());
+//                warningInfo.setUnitId(energyEnvDevice.getUnitId());
+//                warningInfo.setDeviceId(energyEnvDevice.getId());
+//                warningInfo.setDate(new Date());
+//                warningInfo.setFarmId(energyEnvDevice.getFarmId());
+//                warningInfo.setUserIds(threshold.getUserIds());
+//                infoMapper.insert(warningInfo);
+//            }
+//            if (Float.parseFloat(energyData1.getFeedValue()) + Float.parseFloat(feed) > Float.parseFloat(threshold.getMaxFeed())) {
+//                float feedCount = Float.parseFloat(energyData1.getFeedValue()) + Float.parseFloat(feed);
+//                DecimalFormat df = new DecimalFormat("#.00");
+//                String format = df.format(feedCount);
+//                EnergyWarningInfo warningInfo = new EnergyWarningInfo();
+//                warningInfo.setWarningType(3);
+//                warningInfo.setWarningContent("今日累计用料量" + format + "kg,超过阈值");
+//                warningInfo.setUnitName(basePigpen.getBuildName());
+//                warningInfo.setUnitId(energyEnvDevice.getUnitId());
+//                warningInfo.setDeviceId(energyEnvDevice.getId());
+//                warningInfo.setDate(new Date());
+//                warningInfo.setFarmId(energyEnvDevice.getFarmId());
+//                warningInfo.setUserIds(threshold.getUserIds());
+//                infoMapper.insert(warningInfo);
+//            }
+//            if (Float.parseFloat(energyData1.getGasValue()) + Float.parseFloat(gas) > Float.parseFloat(threshold.getMaxGas())) {
+//                float gasCount = Float.parseFloat(energyData1.getGasValue()) + Float.parseFloat(gas);
+//                DecimalFormat df = new DecimalFormat("#.00");
+//                String format = df.format(gasCount);
+//                EnergyWarningInfo warningInfo = new EnergyWarningInfo();
+//                warningInfo.setWarningType(4);
+//                warningInfo.setWarningContent("今日累计用气量" + format + "m³,超过阈值");
+//                warningInfo.setUnitName(basePigpen.getBuildName());
+//                warningInfo.setUnitId(energyEnvDevice.getUnitId());
+//                warningInfo.setDeviceId(energyEnvDevice.getId());
+//                warningInfo.setDate(new Date());
+//                warningInfo.setFarmId(energyEnvDevice.getFarmId());
+//                warningInfo.setUserIds(threshold.getUserIds());
+//                infoMapper.insert(warningInfo);
+//            }
+//
+//        }
+//
+//
+//    }
+//}

文件差异内容过多而无法显示
+ 524 - 524
huimv-admin/src/main/java/com/huimv/admin/timer/EnvTimer.java


+ 50 - 50
huimv-admin/src/main/java/com/huimv/admin/timer/FermentTimer.java

@@ -1,50 +1,50 @@
-package com.huimv.admin.timer;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.huimv.admin.common.utils.NumberUtils;
-import com.huimv.admin.entity.ProdFermentData;
-import com.huimv.admin.entity.ProdFermentDevice;
-import com.huimv.admin.mapper.ProdFermentDataMapper;
-import com.huimv.admin.mapper.ProdFermentDeviceMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-
-import java.util.Date;
-import java.util.List;
-
-@Configuration
-@EnableScheduling
-public class FermentTimer {
-    @Autowired
-    private ProdFermentDeviceMapper deviceMapper;
-    @Autowired
-    private ProdFermentDataMapper dataMapper;
-
-    @Scheduled(cron = "0 0/30 * * * ? ")
-    private void getFerment() {
-        QueryWrapper<ProdFermentDevice> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", 26);
-        List<ProdFermentDevice> devices = deviceMapper.selectList(queryWrapper);
-        for (ProdFermentDevice device : devices) {
-            String temp = NumberUtils.getNumFloat(20.0, 50.0);//温度20-50
-            String hum = NumberUtils.getNumFloat(50.0, 90.0);//湿度50-90
-            String ph = NumberUtils.getNumFloat(6.5, 7.5);//PH6.5-7.5
-            String o2 = NumberUtils.getNumFloat(50.0, 500.0);//氧气
-            String co2 = NumberUtils.getNumFloat(50.0, 500.0);//二氧化碳
-            ProdFermentData data = new ProdFermentData();
-            data.setDeviceCode(device.getDeviceCode());
-            data.setBuildName(device.getBuildName());
-            data.setFarmId(device.getFarmId());
-            data.setCreateTime(new Date());
-            data.setCo2(co2);
-            data.setHum(hum);
-            data.setPh(ph);
-            data.setO2(o2);
-            data.setTemp(temp);
-            dataMapper.insert(data);
-        }
-
-    }
-}
+//package com.huimv.admin.timer;
+//
+//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+//import com.huimv.admin.common.utils.NumberUtils;
+//import com.huimv.admin.entity.ProdFermentData;
+//import com.huimv.admin.entity.ProdFermentDevice;
+//import com.huimv.admin.mapper.ProdFermentDataMapper;
+//import com.huimv.admin.mapper.ProdFermentDeviceMapper;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.scheduling.annotation.EnableScheduling;
+//import org.springframework.scheduling.annotation.Scheduled;
+//
+//import java.util.Date;
+//import java.util.List;
+//
+//@Configuration
+//@EnableScheduling
+//public class FermentTimer {
+//    @Autowired
+//    private ProdFermentDeviceMapper deviceMapper;
+//    @Autowired
+//    private ProdFermentDataMapper dataMapper;
+//
+//    @Scheduled(cron = "0 0/30 * * * ? ")
+//    private void getFerment() {
+//        QueryWrapper<ProdFermentDevice> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.eq("farm_id", 26);
+//        List<ProdFermentDevice> devices = deviceMapper.selectList(queryWrapper);
+//        for (ProdFermentDevice device : devices) {
+//            String temp = NumberUtils.getNumFloat(20.0, 50.0);//温度20-50
+//            String hum = NumberUtils.getNumFloat(50.0, 90.0);//湿度50-90
+//            String ph = NumberUtils.getNumFloat(6.5, 7.5);//PH6.5-7.5
+//            String o2 = NumberUtils.getNumFloat(50.0, 500.0);//氧气
+//            String co2 = NumberUtils.getNumFloat(50.0, 500.0);//二氧化碳
+//            ProdFermentData data = new ProdFermentData();
+//            data.setDeviceCode(device.getDeviceCode());
+//            data.setBuildName(device.getBuildName());
+//            data.setFarmId(device.getFarmId());
+//            data.setCreateTime(new Date());
+//            data.setCo2(co2);
+//            data.setHum(hum);
+//            data.setPh(ph);
+//            data.setO2(o2);
+//            data.setTemp(temp);
+//            dataMapper.insert(data);
+//        }
+//
+//    }
+//}

文件差异内容过多而无法显示
+ 499 - 499
huimv-admin/src/main/java/com/huimv/admin/timer/GasTimer.java


+ 215 - 215
huimv-admin/src/main/java/com/huimv/admin/timer/NewEnvTimer.java

@@ -1,215 +1,215 @@
-package com.huimv.admin.timer;
-
-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.admin.entity.*;
-import com.huimv.admin.service.*;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
-import org.springframework.web.client.RestTemplate;
-
-import java.math.BigDecimal;
-import java.text.ParseException;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-
-@Configuration
-@EnableScheduling
-public class NewEnvTimer {
-    @Autowired
-    private RestTemplate restTemplate;
-
-    @Autowired
-    private IEnvDeviceService envDeviceService;
-
-    @Autowired
-    private IEnvDataService envDataService;
-
-    @Autowired
-    private IEnvWarningThresholdService envWarningThresholdService;
-
-    @Autowired
-    private IEnvWarningInfoService envWarningInfoService;
-
-    @Autowired
-    private IEnvNh3nService nh3nService;
-
-
-    @Scheduled(cron = "0 0/59 * * * ?")  //每10分钟执行一次
-//    @Scheduled(cron = "0 * * * * ?")  //每10分钟执行一次
-//    @Scheduled(cron = "*/5 * * * * ?")  //每10秒钟执行一次
-    public void getDeviceFlowData() throws ParseException {
-        String userId = "-1618620464";
-        String farmCode = "26";
-
-        List<EnvDevice> farm_id = envDeviceService.list(new QueryWrapper<EnvDevice>().eq("farm_id", farmCode));
-        EnvWarningThreshold envWarningThreshold = envWarningThresholdService.getOne(new QueryWrapper<EnvWarningThreshold>().eq("farm_id", farmCode));
-        System.out.println("开始");
-        Date date = new Date();
-        for (EnvDevice envDevice : farm_id) {
-            String deviceCode = envDevice.getDeviceCode();
-            if (StringUtils.isNotBlank(deviceCode)) {
-                JSONObject resultJo = JSONObject.parseObject(getDeviceFlowFromRemoteURL(userId, deviceCode));
-                System.out.println("resultJo >>>>>>>>>>>> =" + resultJo);
-                if (resultJo.getInteger("code") != 1000) {
-                    System.out.println("牧场[" + farmCode + "]设备组编号(" + deviceCode + ")调用远程接口返回结果出错.");
-                } else {
-                    JSONArray dataJa = resultJo.getJSONArray("data");
-                    JSONObject dataJo = dataJa.getJSONObject(0);
-                    JSONArray realTimeDataJa = dataJo.getJSONArray("realTimeData");
-                    JSONObject tempJo = realTimeDataJa.getJSONObject(0);
-                    String temp = tempJo.getString("dataValue");
-                    JSONObject humiJo = realTimeDataJa.getJSONObject(1);
-                    String humi = humiJo.getString("dataValue");
-                    if (StringUtils.isBlank(humi)) {
-                        humi = "0";
-                    }
-                    if (StringUtils.isBlank(temp)) {
-                        temp = "0";
-                    }
-                    EnvData envData = new EnvData();
-                    envData.setUnitId(envDevice.getUnitId());
-                    envData.setEnvTemp(temp);
-                    envData.setEnvHum(humi);
-                    envData.setFarmId(envDevice.getFarmId());
-                    envData.setCreateTime(date);
-                    envData.setDeviceId(envDevice.getDeviceCode());
-                    saveTemWarning(temp, envWarningThreshold, envDevice);
-                    saveHumWarning(humi, envWarningThreshold, envDevice);
-                    envDataService.save(envData);
-                    String remark = envDevice.getRemark();
-                    if (StringUtils.isNotBlank(remark)) {
-                        QueryWrapper<EnvNh3n> queryWrapper = new QueryWrapper<>();
-                        queryWrapper.eq("farm_id", farmCode).eq("device_code", remark);
-                        Calendar calendar = Calendar.getInstance();
-                        calendar.setTime(new Date());
-                        calendar.add(Calendar.MINUTE, -40);//
-                        queryWrapper.between("create_date", calendar.getTime(), new Date());
-                        List<EnvNh3n> list = nh3nService.list(queryWrapper);
-                        if (list.size() == 0 && humi.equals("0") && temp.equals("0")) {
-                            envDevice.setDeviceStatus(0);
-                        } else {
-                            envDevice.setDeviceStatus(1);
-                        }
-                        envDeviceService.updateById(envDevice);
-                    }
-                }
-            }
-        }
-
-    }
-
-
-    //获取远程数据
-    private String getDeviceFlowFromRemoteURL(String userId, String groupId) {
-        //请求头
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("userId", userId);
-        //Body参数
-        MultiValueMap<String, Object> paramsMap = new LinkedMultiValueMap<String, Object>();
-        HttpEntity<MultiValueMap> objectHttpEntity = new HttpEntity<MultiValueMap>(paramsMap, headers);
-        System.out.println("URL_ENVIRON_DEVICE_SERVICE=" + "http://www.0531yun.com/app/GetDeviceData");
-        ResponseEntity<String> result = restTemplate.exchange("http://www.0531yun.com/app/GetDeviceData?groupId=" + groupId, HttpMethod.GET, objectHttpEntity, String.class);
-        System.out.println("result.getBody()=" + result.getBody());
-        return result.getBody();
-    }
-
-    private void saveTemWarning(String val, EnvWarningThreshold envWarningThreshold, EnvDevice envDevice) {
-        if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(val)) {
-            String maxTem;
-            String minTem;
-            if (ObjectUtil.isEmpty(envWarningThreshold) || com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(envWarningThreshold.getMaxTem())) {
-                maxTem = "40";
-            } else {
-                maxTem = envWarningThreshold.getMaxTem();
-            }
-            if (ObjectUtil.isEmpty(envWarningThreshold) || com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(envWarningThreshold.getMinTem())) {
-                minTem = "0";
-            } else {
-                minTem = envWarningThreshold.getMinTem();
-            }
-            System.out.println("maxTem:" + Double.parseDouble(maxTem) + "  minTem:" + Double.parseDouble(minTem) + "   val:" + Double.parseDouble(val));
-            if (Double.parseDouble(maxTem) < Double.parseDouble(val)) {
-                EnvWarningInfo envWarningInfo = new EnvWarningInfo();
-                envWarningInfo.setBuildLocation(envDevice.getUnitName());
-                envWarningInfo.setDate(new Date());
-                envWarningInfo.setDeviceId(envDevice.getDeviceCode());
-                envWarningInfo.setFarmId(envDevice.getFarmId());
-                envWarningInfo.setUnitId(envDevice.getUnitId());
-                envWarningInfo.setUnitName(envDevice.getUnitName());
-                envWarningInfo.setUserIds(envWarningThreshold.getUserIds());
-                envWarningInfo.setWarningContent("当前温度为" + val + "°超过阈值,请及时检查");
-                envWarningInfo.setWarningType(1);
-                envWarningInfoService.save(envWarningInfo);
-            }
-            if (Double.parseDouble(minTem) > Double.parseDouble(val)) {
-                EnvWarningInfo envWarningInfo = new EnvWarningInfo();
-                envWarningInfo.setBuildLocation(envDevice.getUnitName());
-                envWarningInfo.setDate(new Date());
-                envWarningInfo.setDeviceId(envDevice.getDeviceCode());
-                envWarningInfo.setFarmId(envDevice.getFarmId());
-                envWarningInfo.setUnitId(envDevice.getUnitId());
-                envWarningInfo.setUnitName(envDevice.getUnitName());
-                envWarningInfo.setUserIds(envWarningThreshold.getUserIds());
-                envWarningInfo.setWarningContent("当前温度为" + val + "°低于阈值,请及时检查");
-                envWarningInfo.setWarningType(1);
-                envWarningInfoService.save(envWarningInfo);
-            }
-        }
-    }
-
-    public void saveHumWarning(String val, EnvWarningThreshold envWarningThreshold, EnvDevice envDevice) {
-        if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(val)) {
-            String maxHum;
-            String minHum;
-            if (ObjectUtil.isEmpty(envWarningThreshold) || com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(envWarningThreshold.getMaxHum())) {
-                maxHum = "90";
-            } else {
-                maxHum = envWarningThreshold.getMaxHum();
-            }
-            if (ObjectUtil.isEmpty(envWarningThreshold) || com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(envWarningThreshold.getMinHum())) {
-                minHum = "0";
-            } else {
-                minHum = envWarningThreshold.getMinHum();
-            }
-            if (Double.parseDouble(maxHum) < Double.parseDouble(val)) {
-                EnvWarningInfo envWarningInfo = new EnvWarningInfo();
-                envWarningInfo.setBuildLocation(envDevice.getUnitName());
-                envWarningInfo.setDate(new Date());
-                envWarningInfo.setDeviceId(envDevice.getDeviceCode());
-                envWarningInfo.setFarmId(envDevice.getFarmId());
-                envWarningInfo.setUnitId(envDevice.getUnitId());
-                envWarningInfo.setUnitName(envDevice.getUnitName());
-                envWarningInfo.setUserIds(envWarningThreshold.getUserIds());
-                envWarningInfo.setWarningContent("当前湿度为" + val + "%超过阈值,请及时检查");
-                envWarningInfo.setWarningType(2);
-                envWarningInfoService.save(envWarningInfo);
-            }
-            if (Double.parseDouble(minHum) > Double.parseDouble(val)) {
-                EnvWarningInfo envWarningInfo = new EnvWarningInfo();
-                envWarningInfo.setBuildLocation(envDevice.getUnitName());
-                envWarningInfo.setDate(new Date());
-                envWarningInfo.setDeviceId(envDevice.getDeviceCode());
-                envWarningInfo.setFarmId(envDevice.getFarmId());
-                envWarningInfo.setUnitId(envDevice.getUnitId());
-                envWarningInfo.setUnitName(envDevice.getUnitName());
-                envWarningInfo.setUserIds(envWarningThreshold.getUserIds());
-                envWarningInfo.setWarningContent("当前湿度为" + val + "%低于阈值,请及时检查");
-                envWarningInfo.setWarningType(2);
-                envWarningInfoService.save(envWarningInfo);
-            }
-        }
-    }
-}
+//package com.huimv.admin.timer;
+//
+//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.admin.entity.*;
+//import com.huimv.admin.service.*;
+//import org.apache.commons.lang.StringUtils;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.http.HttpEntity;
+//import org.springframework.http.HttpHeaders;
+//import org.springframework.http.HttpMethod;
+//import org.springframework.http.ResponseEntity;
+//import org.springframework.scheduling.annotation.EnableScheduling;
+//import org.springframework.scheduling.annotation.Scheduled;
+//import org.springframework.util.LinkedMultiValueMap;
+//import org.springframework.util.MultiValueMap;
+//import org.springframework.web.client.RestTemplate;
+//
+//import java.math.BigDecimal;
+//import java.text.ParseException;
+//import java.util.Calendar;
+//import java.util.Date;
+//import java.util.List;
+//
+//@Configuration
+//@EnableScheduling
+//public class NewEnvTimer {
+//    @Autowired
+//    private RestTemplate restTemplate;
+//
+//    @Autowired
+//    private IEnvDeviceService envDeviceService;
+//
+//    @Autowired
+//    private IEnvDataService envDataService;
+//
+//    @Autowired
+//    private IEnvWarningThresholdService envWarningThresholdService;
+//
+//    @Autowired
+//    private IEnvWarningInfoService envWarningInfoService;
+//
+//    @Autowired
+//    private IEnvNh3nService nh3nService;
+//
+//
+//    @Scheduled(cron = "0 0/59 * * * ?")  //每10分钟执行一次
+////    @Scheduled(cron = "0 * * * * ?")  //每10分钟执行一次
+////    @Scheduled(cron = "*/5 * * * * ?")  //每10秒钟执行一次
+//    public void getDeviceFlowData() throws ParseException {
+//        String userId = "-1618620464";
+//        String farmCode = "26";
+//
+//        List<EnvDevice> farm_id = envDeviceService.list(new QueryWrapper<EnvDevice>().eq("farm_id", farmCode));
+//        EnvWarningThreshold envWarningThreshold = envWarningThresholdService.getOne(new QueryWrapper<EnvWarningThreshold>().eq("farm_id", farmCode));
+//        System.out.println("开始");
+//        Date date = new Date();
+//        for (EnvDevice envDevice : farm_id) {
+//            String deviceCode = envDevice.getDeviceCode();
+//            if (StringUtils.isNotBlank(deviceCode)) {
+//                JSONObject resultJo = JSONObject.parseObject(getDeviceFlowFromRemoteURL(userId, deviceCode));
+//                System.out.println("resultJo >>>>>>>>>>>> =" + resultJo);
+//                if (resultJo.getInteger("code") != 1000) {
+//                    System.out.println("牧场[" + farmCode + "]设备组编号(" + deviceCode + ")调用远程接口返回结果出错.");
+//                } else {
+//                    JSONArray dataJa = resultJo.getJSONArray("data");
+//                    JSONObject dataJo = dataJa.getJSONObject(0);
+//                    JSONArray realTimeDataJa = dataJo.getJSONArray("realTimeData");
+//                    JSONObject tempJo = realTimeDataJa.getJSONObject(0);
+//                    String temp = tempJo.getString("dataValue");
+//                    JSONObject humiJo = realTimeDataJa.getJSONObject(1);
+//                    String humi = humiJo.getString("dataValue");
+//                    if (StringUtils.isBlank(humi)) {
+//                        humi = "0";
+//                    }
+//                    if (StringUtils.isBlank(temp)) {
+//                        temp = "0";
+//                    }
+//                    EnvData envData = new EnvData();
+//                    envData.setUnitId(envDevice.getUnitId());
+//                    envData.setEnvTemp(temp);
+//                    envData.setEnvHum(humi);
+//                    envData.setFarmId(envDevice.getFarmId());
+//                    envData.setCreateTime(date);
+//                    envData.setDeviceId(envDevice.getDeviceCode());
+//                    saveTemWarning(temp, envWarningThreshold, envDevice);
+//                    saveHumWarning(humi, envWarningThreshold, envDevice);
+//                    envDataService.save(envData);
+//                    String remark = envDevice.getRemark();
+//                    if (StringUtils.isNotBlank(remark)) {
+//                        QueryWrapper<EnvNh3n> queryWrapper = new QueryWrapper<>();
+//                        queryWrapper.eq("farm_id", farmCode).eq("device_code", remark);
+//                        Calendar calendar = Calendar.getInstance();
+//                        calendar.setTime(new Date());
+//                        calendar.add(Calendar.MINUTE, -40);//
+//                        queryWrapper.between("create_date", calendar.getTime(), new Date());
+//                        List<EnvNh3n> list = nh3nService.list(queryWrapper);
+//                        if (list.size() == 0 && humi.equals("0") && temp.equals("0")) {
+//                            envDevice.setDeviceStatus(0);
+//                        } else {
+//                            envDevice.setDeviceStatus(1);
+//                        }
+//                        envDeviceService.updateById(envDevice);
+//                    }
+//                }
+//            }
+//        }
+//
+//    }
+//
+//
+//    //获取远程数据
+//    private String getDeviceFlowFromRemoteURL(String userId, String groupId) {
+//        //请求头
+//        HttpHeaders headers = new HttpHeaders();
+//        headers.add("userId", userId);
+//        //Body参数
+//        MultiValueMap<String, Object> paramsMap = new LinkedMultiValueMap<String, Object>();
+//        HttpEntity<MultiValueMap> objectHttpEntity = new HttpEntity<MultiValueMap>(paramsMap, headers);
+//        System.out.println("URL_ENVIRON_DEVICE_SERVICE=" + "http://www.0531yun.com/app/GetDeviceData");
+//        ResponseEntity<String> result = restTemplate.exchange("http://www.0531yun.com/app/GetDeviceData?groupId=" + groupId, HttpMethod.GET, objectHttpEntity, String.class);
+//        System.out.println("result.getBody()=" + result.getBody());
+//        return result.getBody();
+//    }
+//
+//    private void saveTemWarning(String val, EnvWarningThreshold envWarningThreshold, EnvDevice envDevice) {
+//        if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(val)) {
+//            String maxTem;
+//            String minTem;
+//            if (ObjectUtil.isEmpty(envWarningThreshold) || com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(envWarningThreshold.getMaxTem())) {
+//                maxTem = "40";
+//            } else {
+//                maxTem = envWarningThreshold.getMaxTem();
+//            }
+//            if (ObjectUtil.isEmpty(envWarningThreshold) || com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(envWarningThreshold.getMinTem())) {
+//                minTem = "0";
+//            } else {
+//                minTem = envWarningThreshold.getMinTem();
+//            }
+//            System.out.println("maxTem:" + Double.parseDouble(maxTem) + "  minTem:" + Double.parseDouble(minTem) + "   val:" + Double.parseDouble(val));
+//            if (Double.parseDouble(maxTem) < Double.parseDouble(val)) {
+//                EnvWarningInfo envWarningInfo = new EnvWarningInfo();
+//                envWarningInfo.setBuildLocation(envDevice.getUnitName());
+//                envWarningInfo.setDate(new Date());
+//                envWarningInfo.setDeviceId(envDevice.getDeviceCode());
+//                envWarningInfo.setFarmId(envDevice.getFarmId());
+//                envWarningInfo.setUnitId(envDevice.getUnitId());
+//                envWarningInfo.setUnitName(envDevice.getUnitName());
+//                envWarningInfo.setUserIds(envWarningThreshold.getUserIds());
+//                envWarningInfo.setWarningContent("当前温度为" + val + "°超过阈值,请及时检查");
+//                envWarningInfo.setWarningType(1);
+//                envWarningInfoService.save(envWarningInfo);
+//            }
+//            if (Double.parseDouble(minTem) > Double.parseDouble(val)) {
+//                EnvWarningInfo envWarningInfo = new EnvWarningInfo();
+//                envWarningInfo.setBuildLocation(envDevice.getUnitName());
+//                envWarningInfo.setDate(new Date());
+//                envWarningInfo.setDeviceId(envDevice.getDeviceCode());
+//                envWarningInfo.setFarmId(envDevice.getFarmId());
+//                envWarningInfo.setUnitId(envDevice.getUnitId());
+//                envWarningInfo.setUnitName(envDevice.getUnitName());
+//                envWarningInfo.setUserIds(envWarningThreshold.getUserIds());
+//                envWarningInfo.setWarningContent("当前温度为" + val + "°低于阈值,请及时检查");
+//                envWarningInfo.setWarningType(1);
+//                envWarningInfoService.save(envWarningInfo);
+//            }
+//        }
+//    }
+//
+//    public void saveHumWarning(String val, EnvWarningThreshold envWarningThreshold, EnvDevice envDevice) {
+//        if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(val)) {
+//            String maxHum;
+//            String minHum;
+//            if (ObjectUtil.isEmpty(envWarningThreshold) || com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(envWarningThreshold.getMaxHum())) {
+//                maxHum = "90";
+//            } else {
+//                maxHum = envWarningThreshold.getMaxHum();
+//            }
+//            if (ObjectUtil.isEmpty(envWarningThreshold) || com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(envWarningThreshold.getMinHum())) {
+//                minHum = "0";
+//            } else {
+//                minHum = envWarningThreshold.getMinHum();
+//            }
+//            if (Double.parseDouble(maxHum) < Double.parseDouble(val)) {
+//                EnvWarningInfo envWarningInfo = new EnvWarningInfo();
+//                envWarningInfo.setBuildLocation(envDevice.getUnitName());
+//                envWarningInfo.setDate(new Date());
+//                envWarningInfo.setDeviceId(envDevice.getDeviceCode());
+//                envWarningInfo.setFarmId(envDevice.getFarmId());
+//                envWarningInfo.setUnitId(envDevice.getUnitId());
+//                envWarningInfo.setUnitName(envDevice.getUnitName());
+//                envWarningInfo.setUserIds(envWarningThreshold.getUserIds());
+//                envWarningInfo.setWarningContent("当前湿度为" + val + "%超过阈值,请及时检查");
+//                envWarningInfo.setWarningType(2);
+//                envWarningInfoService.save(envWarningInfo);
+//            }
+//            if (Double.parseDouble(minHum) > Double.parseDouble(val)) {
+//                EnvWarningInfo envWarningInfo = new EnvWarningInfo();
+//                envWarningInfo.setBuildLocation(envDevice.getUnitName());
+//                envWarningInfo.setDate(new Date());
+//                envWarningInfo.setDeviceId(envDevice.getDeviceCode());
+//                envWarningInfo.setFarmId(envDevice.getFarmId());
+//                envWarningInfo.setUnitId(envDevice.getUnitId());
+//                envWarningInfo.setUnitName(envDevice.getUnitName());
+//                envWarningInfo.setUserIds(envWarningThreshold.getUserIds());
+//                envWarningInfo.setWarningContent("当前湿度为" + val + "%低于阈值,请及时检查");
+//                envWarningInfo.setWarningType(2);
+//                envWarningInfoService.save(envWarningInfo);
+//            }
+//        }
+//    }
+//}

+ 184 - 184
huimv-admin/src/main/java/com/huimv/admin/timer/ProdWarningTimer.java

@@ -1,184 +1,184 @@
-package com.huimv.admin.timer;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.huimv.admin.entity.*;
-import com.huimv.admin.mapper.*;
-import com.huimv.admin.service.IDisplayTypeService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Configuration
-@EnableScheduling
-public class ProdWarningTimer {
-    @Autowired
-    private BaseFarmMapper baseFarmMapper;
-    @Autowired
-    private ProdWarningInfoMapper prodWarningInfoMapper;
-    @Autowired
-    private ProdProductionMapper prodProductionMapper;
-    @Autowired
-    private ProdProductionThresholdMapper prodProductionThresholdMapper;
-    @Autowired
-    private ProdStockMapper prodStockMapper;
-    @Autowired
-    private ProdStockThresholdMapper prodStockThresholdMapper;
-    @Autowired
-    private IDisplayTypeService displayTypeService;
-
-//    @Scheduled(cron = "*/5 * * * * ?")
-    @Scheduled(cron = "0 0 0 * * ?")
-    private void action(){
-        Integer type1 = 0;
-        List<BaseFarm> baseFarms = baseFarmMapper.selectList(new QueryWrapper<BaseFarm>().lambda().ne(BaseFarm::getId, 25));
-        for (BaseFarm baseFarm : baseFarms) {
-            Integer farmId = baseFarm.getId();
-            DisplayType displayType1 = displayTypeService.getOne(new QueryWrapper<DisplayType>().lambda().eq(DisplayType::getFarmId, farmId).eq(DisplayType::getEventType, 3));
-            if (ObjectUtil.isNotEmpty(displayType1)){
-                type1 = displayType1.getDisplayType();
-            }
-            ProdStock prodStock = prodStockMapper.selectOne(new QueryWrapper<ProdStock>().lambda()
-                    .eq(ProdStock::getDisplayType, type1)
-                    .eq(ProdStock::getFarmId, farmId)
-                    .orderByDesc(ProdStock::getCreatTime).last("LIMIT 1"));
-            if (ObjectUtil.isNotEmpty(prodStock)){
-                ProdStockThreshold threshold = prodStockThresholdMapper.selectOne(new QueryWrapper<ProdStockThreshold>().lambda().eq(ProdStockThreshold::getFarmId, farmId));
-                if (ObjectUtil.isNotEmpty(threshold)){
-                    Integer minBrzcl = threshold.getMinBrzcl();
-                    Integer minByzcl = threshold.getMinByzcl();
-                    Integer minGzcl = threshold.getMinGzcl();
-                    Integer minHbzcl = threshold.getMinHbzcl();
-                    Integer minMzcl = threshold.getMinMzcl();
-                    Integer minYfzcl = threshold.getMinYfzcl();
-                    if (ObjectUtil.isNotEmpty(minBrzcl)){
-                        if (ObjectUtil.isNotEmpty(prodStock.getBrzcl())){
-                            if (prodStock.getBrzcl().compareTo(minBrzcl) < 0){
-                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
-                                prodWarningInfo.setDate(LocalDateTime.now());
-                                prodWarningInfo.setFarmId(farmId);
-                                prodWarningInfo.setWarningContent("哺乳猪存栏小于阈值!");
-                                prodWarningInfo.setWarningType(0);
-                                prodWarningInfoMapper.insert(prodWarningInfo);
-                            }
-                        }
-                    }
-                    if (ObjectUtil.isNotEmpty(minByzcl)){
-                        if (ObjectUtil.isNotEmpty(prodStock.getByzcl())){
-                            if (prodStock.getByzcl().compareTo(minByzcl) < 0){
-                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
-                                prodWarningInfo.setDate(LocalDateTime.now());
-                                prodWarningInfo.setFarmId(farmId);
-                                prodWarningInfo.setWarningContent("保育猪存栏小于阈值!");
-                                prodWarningInfo.setWarningType(0);
-                                prodWarningInfoMapper.insert(prodWarningInfo);
-                            }
-                        }
-                    }
-                    if (ObjectUtil.isNotEmpty(minGzcl)){
-                        if (ObjectUtil.isNotEmpty(prodStock.getGzcl())){
-                            if (prodStock.getGzcl().compareTo(minGzcl) < 0){
-                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
-                                prodWarningInfo.setDate(LocalDateTime.now());
-                                prodWarningInfo.setFarmId(farmId);
-                                prodWarningInfo.setWarningContent("公猪存栏小于阈值!");
-                                prodWarningInfo.setWarningType(0);
-                                prodWarningInfoMapper.insert(prodWarningInfo);
-                            }
-                        }
-                    }
-                    if (ObjectUtil.isNotEmpty(minHbzcl)){
-                        if (ObjectUtil.isNotEmpty(prodStock.getHbzcl())){
-                            if (prodStock.getHbzcl().compareTo(minHbzcl) < 0){
-                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
-                                prodWarningInfo.setDate(LocalDateTime.now());
-                                prodWarningInfo.setFarmId(farmId);
-                                prodWarningInfo.setWarningContent("后备猪存栏小于阈值!");
-                                prodWarningInfo.setWarningType(0);
-                                prodWarningInfoMapper.insert(prodWarningInfo);
-                            }
-                        }
-                    }
-                    if (ObjectUtil.isNotEmpty(minMzcl)){
-                        if (ObjectUtil.isNotEmpty(prodStock.getMzcl())){
-                            if (prodStock.getMzcl().compareTo(minMzcl) < 0){
-                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
-                                prodWarningInfo.setDate(LocalDateTime.now());
-                                prodWarningInfo.setFarmId(farmId);
-                                prodWarningInfo.setWarningContent("母猪存栏小于阈值!");
-                                prodWarningInfo.setWarningType(0);
-                                prodWarningInfoMapper.insert(prodWarningInfo);
-                            }
-                        }
-                    }
-                    if (ObjectUtil.isNotEmpty(minYfzcl)){
-                        if (ObjectUtil.isNotEmpty(prodStock.getYfzcl())){
-                            if (prodStock.getYfzcl().compareTo(minYfzcl) < 0){
-                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
-                                prodWarningInfo.setDate(LocalDateTime.now());
-                                prodWarningInfo.setFarmId(farmId);
-                                prodWarningInfo.setWarningContent("育肥猪存栏小于阈值!");
-                                prodWarningInfo.setWarningType(0);
-                                prodWarningInfoMapper.insert(prodWarningInfo);
-                            }
-                        }
-                    }
-                }
-            }
-            ProdProduction prodProduction = prodProductionMapper.selectOne(new QueryWrapper<ProdProduction>().lambda()
-                    .eq(ProdProduction::getFarmId, farmId).orderByDesc(ProdProduction::getCreatTime).last("LIMIT 1"));
-            if (ObjectUtil.isNotEmpty(prodProduction)){
-                ProdProductionThreshold prodProductionThreshold = prodProductionThresholdMapper.selectOne(new QueryWrapper<ProdProductionThreshold>().lambda().eq(ProdProductionThreshold::getFarmId,farmId));
-                if (ObjectUtil.isNotEmpty(prodProductionThreshold)){
-                    checkAndWarn(prodProductionThreshold.getMinBychl(), prodProduction.getBychl(),farmId, 1, "保育成活率小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinCfchl(), prodProduction.getCfchl(),farmId, 1, "产房成活率小于阈值!");
-                    checkAndWarn2(prodProductionThreshold.getMinFccts(), prodProduction.getFccts(),farmId, 1, "非生产天数大于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinFzchl(), prodProduction.getFzchl(),farmId, 1, "肥猪成活率小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinMrwll(), prodProduction.getMrwll(),farmId, 1, "每日喂料量小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinPjwchzs(), prodProduction.getPjwchzs(),farmId, 1, "平均窝产活仔数小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinPjwczczs(), prodProduction.getPjwczczs(),farmId, 1, "平均窝产正常仔数小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinPjwdnz(), prodProduction.getPjwdnz(),farmId, 1, "平均窝断奶窝重小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinPsy(), prodProduction.getPsy(),farmId, 1, "PSY小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinPzfml(), prodProduction.getPzfml(),farmId, 1, "配种分娩率小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinQrdpl(), prodProduction.getQrdpl(),farmId, 1, "7日断配率小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinRzz(), prodProduction.getRzz(),farmId, 1, "日增重小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinScws(), prodProduction.getScws(),farmId, 1, "年产窝数小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinWdnzzs(), prodProduction.getWdnzzs(),farmId, 1, "窝断奶仔猪数小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinYfchl(), prodProduction.getYfchl(),farmId, 1, "育肥成活率小于阈值!");
-                    checkAndWarn(prodProductionThreshold.getMinPjwczs(), prodProduction.getPjwczs(),farmId, 1, "平均窝产仔数小于阈值!");
-                }
-            }
-        }
-    }
-
-    private void checkAndWarn(String threshold, String actualValue,Integer farmId, int warningType, String warningContent) {
-        if (ObjectUtil.isNotEmpty(threshold) && ObjectUtil.isNotEmpty(actualValue)) {
-            if (Double.valueOf(actualValue).compareTo(Double.valueOf(threshold)) < 0) {
-                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
-                prodWarningInfo.setDate(LocalDateTime.now());
-                prodWarningInfo.setFarmId(farmId);
-                prodWarningInfo.setWarningContent(warningContent);
-                prodWarningInfo.setWarningType(warningType);
-                prodWarningInfoMapper.insert(prodWarningInfo);
-            }
-        }
-    }
-
-    private void checkAndWarn2(String threshold, String actualValue,Integer farmId, int warningType, String warningContent) {
-        if (ObjectUtil.isNotEmpty(threshold) && ObjectUtil.isNotEmpty(actualValue)) {
-            if (Double.valueOf(actualValue).compareTo(Double.valueOf(threshold)) > 0) {
-                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
-                prodWarningInfo.setDate(LocalDateTime.now());
-                prodWarningInfo.setFarmId(farmId);
-                prodWarningInfo.setWarningContent(warningContent);
-                prodWarningInfo.setWarningType(warningType);
-                prodWarningInfoMapper.insert(prodWarningInfo);
-            }
-        }
-    }
-
-}
+//package com.huimv.admin.timer;
+//
+//import cn.hutool.core.util.ObjectUtil;
+//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+//import com.huimv.admin.entity.*;
+//import com.huimv.admin.mapper.*;
+//import com.huimv.admin.service.IDisplayTypeService;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.scheduling.annotation.EnableScheduling;
+//import org.springframework.scheduling.annotation.Scheduled;
+//
+//import java.time.LocalDateTime;
+//import java.util.List;
+//
+//@Configuration
+//@EnableScheduling
+//public class ProdWarningTimer {
+//    @Autowired
+//    private BaseFarmMapper baseFarmMapper;
+//    @Autowired
+//    private ProdWarningInfoMapper prodWarningInfoMapper;
+//    @Autowired
+//    private ProdProductionMapper prodProductionMapper;
+//    @Autowired
+//    private ProdProductionThresholdMapper prodProductionThresholdMapper;
+//    @Autowired
+//    private ProdStockMapper prodStockMapper;
+//    @Autowired
+//    private ProdStockThresholdMapper prodStockThresholdMapper;
+//    @Autowired
+//    private IDisplayTypeService displayTypeService;
+//
+////    @Scheduled(cron = "*/5 * * * * ?")
+//    @Scheduled(cron = "0 0 0 * * ?")
+//    private void action(){
+//        Integer type1 = 0;
+//        List<BaseFarm> baseFarms = baseFarmMapper.selectList(new QueryWrapper<BaseFarm>().lambda().ne(BaseFarm::getId, 25));
+//        for (BaseFarm baseFarm : baseFarms) {
+//            Integer farmId = baseFarm.getId();
+//            DisplayType displayType1 = displayTypeService.getOne(new QueryWrapper<DisplayType>().lambda().eq(DisplayType::getFarmId, farmId).eq(DisplayType::getEventType, 3));
+//            if (ObjectUtil.isNotEmpty(displayType1)){
+//                type1 = displayType1.getDisplayType();
+//            }
+//            ProdStock prodStock = prodStockMapper.selectOne(new QueryWrapper<ProdStock>().lambda()
+//                    .eq(ProdStock::getDisplayType, type1)
+//                    .eq(ProdStock::getFarmId, farmId)
+//                    .orderByDesc(ProdStock::getCreatTime).last("LIMIT 1"));
+//            if (ObjectUtil.isNotEmpty(prodStock)){
+//                ProdStockThreshold threshold = prodStockThresholdMapper.selectOne(new QueryWrapper<ProdStockThreshold>().lambda().eq(ProdStockThreshold::getFarmId, farmId));
+//                if (ObjectUtil.isNotEmpty(threshold)){
+//                    Integer minBrzcl = threshold.getMinBrzcl();
+//                    Integer minByzcl = threshold.getMinByzcl();
+//                    Integer minGzcl = threshold.getMinGzcl();
+//                    Integer minHbzcl = threshold.getMinHbzcl();
+//                    Integer minMzcl = threshold.getMinMzcl();
+//                    Integer minYfzcl = threshold.getMinYfzcl();
+//                    if (ObjectUtil.isNotEmpty(minBrzcl)){
+//                        if (ObjectUtil.isNotEmpty(prodStock.getBrzcl())){
+//                            if (prodStock.getBrzcl().compareTo(minBrzcl) < 0){
+//                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
+//                                prodWarningInfo.setDate(LocalDateTime.now());
+//                                prodWarningInfo.setFarmId(farmId);
+//                                prodWarningInfo.setWarningContent("哺乳猪存栏小于阈值!");
+//                                prodWarningInfo.setWarningType(0);
+//                                prodWarningInfoMapper.insert(prodWarningInfo);
+//                            }
+//                        }
+//                    }
+//                    if (ObjectUtil.isNotEmpty(minByzcl)){
+//                        if (ObjectUtil.isNotEmpty(prodStock.getByzcl())){
+//                            if (prodStock.getByzcl().compareTo(minByzcl) < 0){
+//                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
+//                                prodWarningInfo.setDate(LocalDateTime.now());
+//                                prodWarningInfo.setFarmId(farmId);
+//                                prodWarningInfo.setWarningContent("保育猪存栏小于阈值!");
+//                                prodWarningInfo.setWarningType(0);
+//                                prodWarningInfoMapper.insert(prodWarningInfo);
+//                            }
+//                        }
+//                    }
+//                    if (ObjectUtil.isNotEmpty(minGzcl)){
+//                        if (ObjectUtil.isNotEmpty(prodStock.getGzcl())){
+//                            if (prodStock.getGzcl().compareTo(minGzcl) < 0){
+//                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
+//                                prodWarningInfo.setDate(LocalDateTime.now());
+//                                prodWarningInfo.setFarmId(farmId);
+//                                prodWarningInfo.setWarningContent("公猪存栏小于阈值!");
+//                                prodWarningInfo.setWarningType(0);
+//                                prodWarningInfoMapper.insert(prodWarningInfo);
+//                            }
+//                        }
+//                    }
+//                    if (ObjectUtil.isNotEmpty(minHbzcl)){
+//                        if (ObjectUtil.isNotEmpty(prodStock.getHbzcl())){
+//                            if (prodStock.getHbzcl().compareTo(minHbzcl) < 0){
+//                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
+//                                prodWarningInfo.setDate(LocalDateTime.now());
+//                                prodWarningInfo.setFarmId(farmId);
+//                                prodWarningInfo.setWarningContent("后备猪存栏小于阈值!");
+//                                prodWarningInfo.setWarningType(0);
+//                                prodWarningInfoMapper.insert(prodWarningInfo);
+//                            }
+//                        }
+//                    }
+//                    if (ObjectUtil.isNotEmpty(minMzcl)){
+//                        if (ObjectUtil.isNotEmpty(prodStock.getMzcl())){
+//                            if (prodStock.getMzcl().compareTo(minMzcl) < 0){
+//                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
+//                                prodWarningInfo.setDate(LocalDateTime.now());
+//                                prodWarningInfo.setFarmId(farmId);
+//                                prodWarningInfo.setWarningContent("母猪存栏小于阈值!");
+//                                prodWarningInfo.setWarningType(0);
+//                                prodWarningInfoMapper.insert(prodWarningInfo);
+//                            }
+//                        }
+//                    }
+//                    if (ObjectUtil.isNotEmpty(minYfzcl)){
+//                        if (ObjectUtil.isNotEmpty(prodStock.getYfzcl())){
+//                            if (prodStock.getYfzcl().compareTo(minYfzcl) < 0){
+//                                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
+//                                prodWarningInfo.setDate(LocalDateTime.now());
+//                                prodWarningInfo.setFarmId(farmId);
+//                                prodWarningInfo.setWarningContent("育肥猪存栏小于阈值!");
+//                                prodWarningInfo.setWarningType(0);
+//                                prodWarningInfoMapper.insert(prodWarningInfo);
+//                            }
+//                        }
+//                    }
+//                }
+//            }
+//            ProdProduction prodProduction = prodProductionMapper.selectOne(new QueryWrapper<ProdProduction>().lambda()
+//                    .eq(ProdProduction::getFarmId, farmId).orderByDesc(ProdProduction::getCreatTime).last("LIMIT 1"));
+//            if (ObjectUtil.isNotEmpty(prodProduction)){
+//                ProdProductionThreshold prodProductionThreshold = prodProductionThresholdMapper.selectOne(new QueryWrapper<ProdProductionThreshold>().lambda().eq(ProdProductionThreshold::getFarmId,farmId));
+//                if (ObjectUtil.isNotEmpty(prodProductionThreshold)){
+//                    checkAndWarn(prodProductionThreshold.getMinBychl(), prodProduction.getBychl(),farmId, 1, "保育成活率小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinCfchl(), prodProduction.getCfchl(),farmId, 1, "产房成活率小于阈值!");
+//                    checkAndWarn2(prodProductionThreshold.getMinFccts(), prodProduction.getFccts(),farmId, 1, "非生产天数大于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinFzchl(), prodProduction.getFzchl(),farmId, 1, "肥猪成活率小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinMrwll(), prodProduction.getMrwll(),farmId, 1, "每日喂料量小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinPjwchzs(), prodProduction.getPjwchzs(),farmId, 1, "平均窝产活仔数小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinPjwczczs(), prodProduction.getPjwczczs(),farmId, 1, "平均窝产正常仔数小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinPjwdnz(), prodProduction.getPjwdnz(),farmId, 1, "平均窝断奶窝重小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinPsy(), prodProduction.getPsy(),farmId, 1, "PSY小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinPzfml(), prodProduction.getPzfml(),farmId, 1, "配种分娩率小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinQrdpl(), prodProduction.getQrdpl(),farmId, 1, "7日断配率小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinRzz(), prodProduction.getRzz(),farmId, 1, "日增重小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinScws(), prodProduction.getScws(),farmId, 1, "年产窝数小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinWdnzzs(), prodProduction.getWdnzzs(),farmId, 1, "窝断奶仔猪数小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinYfchl(), prodProduction.getYfchl(),farmId, 1, "育肥成活率小于阈值!");
+//                    checkAndWarn(prodProductionThreshold.getMinPjwczs(), prodProduction.getPjwczs(),farmId, 1, "平均窝产仔数小于阈值!");
+//                }
+//            }
+//        }
+//    }
+//
+//    private void checkAndWarn(String threshold, String actualValue,Integer farmId, int warningType, String warningContent) {
+//        if (ObjectUtil.isNotEmpty(threshold) && ObjectUtil.isNotEmpty(actualValue)) {
+//            if (Double.valueOf(actualValue).compareTo(Double.valueOf(threshold)) < 0) {
+//                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
+//                prodWarningInfo.setDate(LocalDateTime.now());
+//                prodWarningInfo.setFarmId(farmId);
+//                prodWarningInfo.setWarningContent(warningContent);
+//                prodWarningInfo.setWarningType(warningType);
+//                prodWarningInfoMapper.insert(prodWarningInfo);
+//            }
+//        }
+//    }
+//
+//    private void checkAndWarn2(String threshold, String actualValue,Integer farmId, int warningType, String warningContent) {
+//        if (ObjectUtil.isNotEmpty(threshold) && ObjectUtil.isNotEmpty(actualValue)) {
+//            if (Double.valueOf(actualValue).compareTo(Double.valueOf(threshold)) > 0) {
+//                ProdWarningInfo prodWarningInfo = new ProdWarningInfo();
+//                prodWarningInfo.setDate(LocalDateTime.now());
+//                prodWarningInfo.setFarmId(farmId);
+//                prodWarningInfo.setWarningContent(warningContent);
+//                prodWarningInfo.setWarningType(warningType);
+//                prodWarningInfoMapper.insert(prodWarningInfo);
+//            }
+//        }
+//    }
+//
+//}

文件差异内容过多而无法显示
+ 569 - 569
huimv-admin/src/main/java/com/huimv/admin/timer/ProtTimer.java


文件差异内容过多而无法显示
+ 528 - 528
huimv-admin/src/main/java/com/huimv/admin/timer/ShenChanTimer.java


文件差异内容过多而无法显示
+ 2706 - 2706
huimv-admin/src/main/java/com/huimv/admin/timer/WaterAndElcTimer.java


+ 144 - 144
huimv-admin/src/main/java/com/huimv/admin/timer/test.java

@@ -1,144 +1,144 @@
-package com.huimv.admin.timer;
-
-
-
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONUtil;
-import com.alibaba.fastjson.JSON;
-import com.huimv.admin.entity.zengxindto.ProdStockDto;
-import org.springframework.web.client.RestTemplate;
-
-import java.io.IOException;
-import java.security.GeneralSecurityException;
-import java.security.MessageDigest;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-
-/**
- * @Project : huimv.shiwan
- * @Package : com.huimv.admin.timer
- * @Description : TODO
- * @Author : yuxuexuan
- * @Create : 2024/1/24 0024 18:16
- **/
-public class test {
-  /*  public static void main(String[] args) throws IOException {
-        Map<String, String> params = new HashMap();
-        params.put("token","E0FE7EE553814E338A339A7BC43F2D82");
-        params.put("data","{\"db_name\":\"MSSQL\",\"proc_name\":\"rep_yz_kc_hz\",\"method\":\"open_proc\",\"params\":[{\"name\":\"@fdate\",\"value\":\"2024-01-24\"}]}");
-        params.put("sign_method","md5");
-        params.put("timestamp","2024-01-24 19:59:29");
-        params.put("version","2.0");
-        String[] keys =  params.keySet().toArray(new String[0]);
-        Arrays.sort(keys);
-        for (String key : keys) {
-            System.out.println(key);
-        }
-
-        System.out.println(signTopRequest(params, "E911CE7BE0B84208B77DC50CEDA2B3C8", "MD5"));
-
-    }*/
-  public static void main(String[] args) throws IOException {
-      DateTime dateTime = DateUtil.offsetDay(new Date(), -352);
-      String substring = dateTime.toString().substring(0, 10);
-      System.out.println(substring);
-
-      String url = "http://test.htpig.cn/rest/db/storedproc";
-      Map<String, Object> map = new HashMap<String, Object>();
-      map.put("db_name", "MSSQL");
-      map.put("proc_name", "rep_yz_hm_sw");
-      map.put("method", "open_proc");
-      List list = new ArrayList();
-      HashMap<String, Object> maps = new HashMap<>();
-      maps.put("name", "@fdate1");
-      maps.put("value", substring);
-      HashMap<String, Object> maps2 = new HashMap<>();
-      maps2.put("name", "@fdate2");
-      maps2.put("value", substring);
-      list.add(maps);
-      list.add(maps2);
-      map.put("params", list);
-      String params = JSON.toJSONString(map);
-
-      LocalDateTime timestamp = LocalDateTime.now();
-      DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-      // 格式化日期时间为字符串
-      String formattedDateTime = timestamp.format(formatter);
-      Map<String,String> tokenMap = new HashMap<>();
-        String token = "36F1C87C390E4F15AE5BAA82996DFB8D";
-        String secret = "E911CE7BE0B84208B77DC50CEDA2B3C8";
-      tokenMap.put("token",token);
-      tokenMap.put("data",params);
-      tokenMap.put("sign_method","md5");
-      tokenMap.put("timestamp",formattedDateTime);
-      tokenMap.put("version","2.0");
-      String sign = signTopRequest(tokenMap, secret, "md5");
-      tokenMap.put("sign",sign);
-      String url1 = url + "?token=" + token + "&sign_method=md5" + "&timestamp=" + formattedDateTime + "&version=2.0" + "&sign=" + sign + "&data={data}" ;
-      RestTemplate restTemplate = new RestTemplate();
-      String forObject = restTemplate.getForObject(url1 , String.class,params);
-
-      ProdStockDto jz2 = JSONUtil.toBean(forObject, ProdStockDto.class);
-      List<List<Object>> jzdata = jz2.getData();
-      Integer intjz = ObjectUtil.isEmpty(jzdata) ? 0:Integer.parseInt(jzdata.get(0).get(3).toString());
-      System.out.println(intjz);
-      System.out.println(forObject);
-  }
-
-
-
-    public static String signTopRequest(Map<String, String> params, String secret, String signMethod) throws IOException {
-        // 第一步:检查参数是否已经排序
-        String[] keys = params.keySet().toArray(new String[0]);
-        Arrays.sort(keys);
-
-        // 第二步:把所有参数名和参数值串在一起
-        StringBuilder query = new StringBuilder();
-            query.append(secret);
-        for (String key : keys) {
-            String value = params.get(key);
-            query.append(key).append(value);
-        }
-        query.append(secret);
-
-        // 第三步:使用MD5/HMAC加密
-        byte[] bytes;
-
-        System.out.println(query);
-        bytes = encryptMD5(query.toString());
-
-        // 第四步:把二进制转化为大写的十六进制(正确签名应该为32大写字符串,此方法需要时使用)
-        return byte2hex(bytes);
-    }
-
-
-    public static byte[] encryptMD5(String data) throws IOException {
-        return encryptMD5(data.getBytes("UTF-8"));
-    }
-    public static byte[] encryptMD5(byte[] data) throws IOException {
-        byte[] bytes = null;
-        try {
-            MessageDigest md = MessageDigest.getInstance("MD5");
-            bytes = md.digest(data);
-        } catch (GeneralSecurityException gse) {
-            throw new IOException(gse.toString());
-        }
-        return bytes;
-    }
-    public static String byte2hex(byte[] bytes) {
-        StringBuilder sign = new StringBuilder();
-        for (int i = 0; i < bytes.length; i++) {
-            String hex = Integer.toHexString(bytes[i] & 0xFF);if (hex.length() == 1) {
-                sign.append("0");
-            }
-            sign.append(hex.toUpperCase());
-        }
-        return sign.toString();
-    }
-
-
-
-}
+//package com.huimv.admin.timer;
+//
+//
+//
+//import cn.hutool.core.date.DateTime;
+//import cn.hutool.core.date.DateUtil;
+//import cn.hutool.core.util.ObjectUtil;
+//import cn.hutool.json.JSONUtil;
+//import com.alibaba.fastjson.JSON;
+//import com.huimv.admin.entity.zengxindto.ProdStockDto;
+//import org.springframework.web.client.RestTemplate;
+//
+//import java.io.IOException;
+//import java.security.GeneralSecurityException;
+//import java.security.MessageDigest;
+//import java.time.LocalDateTime;
+//import java.time.format.DateTimeFormatter;
+//import java.util.*;
+//
+///**
+// * @Project : huimv.shiwan
+// * @Package : com.huimv.admin.timer
+// * @Description : TODO
+// * @Author : yuxuexuan
+// * @Create : 2024/1/24 0024 18:16
+// **/
+//public class test {
+//  /*  public static void main(String[] args) throws IOException {
+//        Map<String, String> params = new HashMap();
+//        params.put("token","E0FE7EE553814E338A339A7BC43F2D82");
+//        params.put("data","{\"db_name\":\"MSSQL\",\"proc_name\":\"rep_yz_kc_hz\",\"method\":\"open_proc\",\"params\":[{\"name\":\"@fdate\",\"value\":\"2024-01-24\"}]}");
+//        params.put("sign_method","md5");
+//        params.put("timestamp","2024-01-24 19:59:29");
+//        params.put("version","2.0");
+//        String[] keys =  params.keySet().toArray(new String[0]);
+//        Arrays.sort(keys);
+//        for (String key : keys) {
+//            System.out.println(key);
+//        }
+//
+//        System.out.println(signTopRequest(params, "E911CE7BE0B84208B77DC50CEDA2B3C8", "MD5"));
+//
+//    }*/
+//  public static void main(String[] args) throws IOException {
+//      DateTime dateTime = DateUtil.offsetDay(new Date(), -352);
+//      String substring = dateTime.toString().substring(0, 10);
+//      System.out.println(substring);
+//
+//      String url = "http://test.htpig.cn/rest/db/storedproc";
+//      Map<String, Object> map = new HashMap<String, Object>();
+//      map.put("db_name", "MSSQL");
+//      map.put("proc_name", "rep_yz_hm_sw");
+//      map.put("method", "open_proc");
+//      List list = new ArrayList();
+//      HashMap<String, Object> maps = new HashMap<>();
+//      maps.put("name", "@fdate1");
+//      maps.put("value", substring);
+//      HashMap<String, Object> maps2 = new HashMap<>();
+//      maps2.put("name", "@fdate2");
+//      maps2.put("value", substring);
+//      list.add(maps);
+//      list.add(maps2);
+//      map.put("params", list);
+//      String params = JSON.toJSONString(map);
+//
+//      LocalDateTime timestamp = LocalDateTime.now();
+//      DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+//      // 格式化日期时间为字符串
+//      String formattedDateTime = timestamp.format(formatter);
+//      Map<String,String> tokenMap = new HashMap<>();
+//        String token = "36F1C87C390E4F15AE5BAA82996DFB8D";
+//        String secret = "E911CE7BE0B84208B77DC50CEDA2B3C8";
+//      tokenMap.put("token",token);
+//      tokenMap.put("data",params);
+//      tokenMap.put("sign_method","md5");
+//      tokenMap.put("timestamp",formattedDateTime);
+//      tokenMap.put("version","2.0");
+//      String sign = signTopRequest(tokenMap, secret, "md5");
+//      tokenMap.put("sign",sign);
+//      String url1 = url + "?token=" + token + "&sign_method=md5" + "&timestamp=" + formattedDateTime + "&version=2.0" + "&sign=" + sign + "&data={data}" ;
+//      RestTemplate restTemplate = new RestTemplate();
+//      String forObject = restTemplate.getForObject(url1 , String.class,params);
+//
+//      ProdStockDto jz2 = JSONUtil.toBean(forObject, ProdStockDto.class);
+//      List<List<Object>> jzdata = jz2.getData();
+//      Integer intjz = ObjectUtil.isEmpty(jzdata) ? 0:Integer.parseInt(jzdata.get(0).get(3).toString());
+//      System.out.println(intjz);
+//      System.out.println(forObject);
+//  }
+//
+//
+//
+//    public static String signTopRequest(Map<String, String> params, String secret, String signMethod) throws IOException {
+//        // 第一步:检查参数是否已经排序
+//        String[] keys = params.keySet().toArray(new String[0]);
+//        Arrays.sort(keys);
+//
+//        // 第二步:把所有参数名和参数值串在一起
+//        StringBuilder query = new StringBuilder();
+//            query.append(secret);
+//        for (String key : keys) {
+//            String value = params.get(key);
+//            query.append(key).append(value);
+//        }
+//        query.append(secret);
+//
+//        // 第三步:使用MD5/HMAC加密
+//        byte[] bytes;
+//
+//        System.out.println(query);
+//        bytes = encryptMD5(query.toString());
+//
+//        // 第四步:把二进制转化为大写的十六进制(正确签名应该为32大写字符串,此方法需要时使用)
+//        return byte2hex(bytes);
+//    }
+//
+//
+//    public static byte[] encryptMD5(String data) throws IOException {
+//        return encryptMD5(data.getBytes("UTF-8"));
+//    }
+//    public static byte[] encryptMD5(byte[] data) throws IOException {
+//        byte[] bytes = null;
+//        try {
+//            MessageDigest md = MessageDigest.getInstance("MD5");
+//            bytes = md.digest(data);
+//        } catch (GeneralSecurityException gse) {
+//            throw new IOException(gse.toString());
+//        }
+//        return bytes;
+//    }
+//    public static String byte2hex(byte[] bytes) {
+//        StringBuilder sign = new StringBuilder();
+//        for (int i = 0; i < bytes.length; i++) {
+//            String hex = Integer.toHexString(bytes[i] & 0xFF);if (hex.length() == 1) {
+//                sign.append("0");
+//            }
+//            sign.append(hex.toUpperCase());
+//        }
+//        return sign.toString();
+//    }
+//
+//
+//
+//}

+ 7 - 6
huimv-admin/src/main/resources/application-dev.yml

@@ -1,9 +1,9 @@
 server:
   port: 8011
-  ssl:
-    key-store: classpath:10767421_huatong.ifarmcloud.com.jks
-    key-store-type: jks
-    key-store-password: sjp124g3
+#  ssl:
+#    key-store: classpath:10767421_huatong.ifarmcloud.com.jks
+#    key-store-type: jks
+#    key-store-password: sjp124g3
 
 spring:
   application:
@@ -11,9 +11,10 @@ spring:
 
 
   datasource:
-    url: jdbc:mysql://192.168.1.7:3306/huimv-huatong?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://127.0.0.1:3306/huimv-huatong?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    url: jdbc:mysql://192.168.1.7:3306/huimv-huatong?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
     username: root
-    password: hm123456
+    password: 123456
     driver-class-name: com.mysql.cj.jdbc.Driver
 
   #配置rabbitMq 服务器

+ 2 - 2
huimv-admin/src/main/resources/application.properties

@@ -1,5 +1,5 @@
-#spring.profiles.active=dev
-spring.profiles.active=prod
+spring.profiles.active=dev
+#spring.profiles.active=prod
 
 #¿ªÆô½¡¿µ¼à¿Ø
 management.endpoints.web.exposure.include=*

+ 3 - 1
huimv-receive/src/main/java/com/huimv/receive/config/InterceptorConfig.java

@@ -65,7 +65,9 @@ public class InterceptorConfig implements WebMvcConfigurer {
                         ,"/secureApi/bill-luggage/selectLuggage"
                         ,"/secureApi/bill-luggage/delete"
 
-
+                        ,"/secureApi/bill-sampling/listAll"
+                        ,"/secureApi/bill-clean-before/listCleanBefore"
+                        ,"/secureApi/bill-goods-inventory/list"
 
 
                         ,"/secureApi/bill-personnel-admission/jingJiAdmission"

+ 0 - 1
huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseWashoutPointServiceImpl.java

@@ -7,7 +7,6 @@ import com.huimv.receive.common.token.TokenSign;
 import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.common.utils.ResultCode;
 import com.huimv.receive.entity.BaseProcess;
-import com.huimv.receive.entity.BaseVisiting;
 import com.huimv.receive.entity.BaseVisitingMid;
 import com.huimv.receive.entity.BaseWashoutPoint;
 import com.huimv.receive.entity.dto.GetWashoutPointDto;

+ 2 - 2
huimv-receive/src/main/resources/application-dev.yml

@@ -12,8 +12,8 @@ spring:
 
   datasource:
 #    url: jdbc:mysql://192.168.1.7:3306/huimv-huatong?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
-#    url: jdbc:mysql://127.0.0.1:3306/huimv-huatong-test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
-    url: jdbc:mysql://192.168.1.254:3306/huimv-huatong-test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://127.0.0.1:3306/huimv-huatong-test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    url: jdbc:mysql://192.168.1.254:3306/huimv-huatong-test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
     username: root
     password: 123456
     driver-class-name: com.mysql.cj.jdbc.Driver