4 Komitmen 772911aa49 ... e235d6568a

Pembuat SHA1 Pesan Tanggal
  wwh e235d6568a 修改122 2 bulan lalu
  wwh ab312f4ddf Merge remote-tracking branch 'origin/master' 2 bulan lalu
  wwh 5108dff471 Merge remote-tracking branch 'origin/master' 2 bulan lalu
  wwh ee7e8da068 修改122 2 bulan lalu
40 mengubah file dengan 7432 tambahan dan 6709 penghapusan
  1. 131 131
      huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/EnergyFeedTimer.java
  2. 86 86
      huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/EnvTimer.java
  3. 101 101
      huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/ProtTimer.java
  4. 8 5
      huimv-admin/src/main/java/com/huimv/admin/server/EnvInputServerHandler.java
  5. 3 2
      huimv-admin/src/main/java/com/huimv/admin/service/impl/ProtDataServiceImpl.java
  6. 103 103
      huimv-admin/src/main/java/com/huimv/admin/timer/CarmeraTimer.java
  7. 56 56
      huimv-admin/src/main/java/com/huimv/admin/timer/EnergyFeedTimer.java
  8. 159 159
      huimv-admin/src/main/java/com/huimv/admin/timer/EnergyTimer.java
  9. 524 524
      huimv-admin/src/main/java/com/huimv/admin/timer/EnvTimer.java
  10. 296 296
      huimv-admin/src/main/java/com/huimv/admin/timer/FeedTimer.java
  11. 50 50
      huimv-admin/src/main/java/com/huimv/admin/timer/FermentTimer.java
  12. 499 499
      huimv-admin/src/main/java/com/huimv/admin/timer/GasTimer.java
  13. 215 215
      huimv-admin/src/main/java/com/huimv/admin/timer/NewEnvTimer.java
  14. 184 184
      huimv-admin/src/main/java/com/huimv/admin/timer/ProdWarningTimer.java
  15. 569 569
      huimv-admin/src/main/java/com/huimv/admin/timer/ProtTimer.java
  16. 528 528
      huimv-admin/src/main/java/com/huimv/admin/timer/ShenChanTimer.java
  17. 2974 2974
      huimv-admin/src/main/java/com/huimv/admin/timer/WaterAndElcTimer.java
  18. 8 1
      huimv-receive/src/main/java/com/huimv/receive/common/utils/FlowUtil.java
  19. 2 2
      huimv-receive/src/main/java/com/huimv/receive/controller/BaseProcessController.java
  20. 15 0
      huimv-receive/src/main/java/com/huimv/receive/controller/BillPcrController.java
  21. 2 0
      huimv-receive/src/main/java/com/huimv/receive/entity/BillClean.java
  22. 2 0
      huimv-receive/src/main/java/com/huimv/receive/entity/BillCleanBefore.java
  23. 1 1
      huimv-receive/src/main/java/com/huimv/receive/entity/BillDry.java
  24. 2 0
      huimv-receive/src/main/java/com/huimv/receive/entity/BillGoodsInventory.java
  25. 2 0
      huimv-receive/src/main/java/com/huimv/receive/entity/BillIsolate.java
  26. 2 0
      huimv-receive/src/main/java/com/huimv/receive/entity/BillPcr.java
  27. 1 1
      huimv-receive/src/main/java/com/huimv/receive/entity/BillSampling.java
  28. 4 0
      huimv-receive/src/main/java/com/huimv/receive/mapper/BillCleanMapper.java
  29. 1 1
      huimv-receive/src/main/java/com/huimv/receive/service/IBaseProcessService.java
  30. 5 0
      huimv-receive/src/main/java/com/huimv/receive/service/IBillPcrService.java
  31. 29 3
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseProcessServiceImpl.java
  32. 7 5
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillCleanBeforeServiceImpl.java
  33. 84 32
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillCleanServiceImpl.java
  34. 8 4
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillGoodsInventoryServiceImpl.java
  35. 617 13
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPcrServiceImpl.java
  36. 83 151
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPersonnelAdmissionServiceImpl.java
  37. 5 3
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillSamplingServiceImpl.java
  38. 3 3
      huimv-receive/src/main/java/com/huimv/receive/timer/DiBangimer.java
  39. 4 2
      huimv-receive/src/main/java/com/huimv/receive/timer/SafeTimer.java
  40. 59 5
      huimv-receive/src/main/resources/com/huimv/receive/mapper/BillCleanMapper.xml

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

@@ -1,136 +1,136 @@
-//package com.huimv.admin.jinghongtimer;
-//
-//import cn.hutool.core.date.DateTime;
-//import cn.hutool.core.date.DateUtil;
-//import cn.hutool.core.util.ObjectUtil;
-//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-//import com.huimv.admin.entity.EnergyData;
-//import com.huimv.admin.entity.EnergyEnvDevice;
-//import com.huimv.admin.jinghongtimer.Vo.EneryDataVo;
-//import com.huimv.admin.jinghongtimer.Vo.EneryDataVo3;
-//import com.huimv.admin.jinghongtimer.Vo.TokenVo;
-//import com.huimv.admin.mapper.EnergyDataMapper;
-//import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
-//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.MediaType;
-//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.util.StringUtils;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//import org.springframework.web.client.RestTemplate;
-//
-//import java.util.Date;
-//import java.util.List;
-//
-//
-////@RestController
-////@RequestMapping("/test")
-//@Configuration
-//@EnableScheduling
-//public class EnergyFeedTimer {
-//    @Autowired
-//    private EnergyEnvDeviceMapper energyEnvDeviceMapper;
-//    @Autowired
-//    private EnergyDataMapper energyDataMapper;
-//    @Autowired
-//    private RestTemplate restTemplate;
-//
-//
-////    @GetMapping("/test3")
+package com.huimv.admin.jinghongtimer;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.entity.EnergyData;
+import com.huimv.admin.entity.EnergyEnvDevice;
+import com.huimv.admin.jinghongtimer.Vo.EneryDataVo;
+import com.huimv.admin.jinghongtimer.Vo.EneryDataVo3;
+import com.huimv.admin.jinghongtimer.Vo.TokenVo;
+import com.huimv.admin.mapper.EnergyDataMapper;
+import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
+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.MediaType;
+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.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.Date;
+import java.util.List;
+
+
+//@RestController
+//@RequestMapping("/test")
+@Configuration
+@EnableScheduling
+public class EnergyFeedTimer {
+    @Autowired
+    private EnergyEnvDeviceMapper energyEnvDeviceMapper;
+    @Autowired
+    private EnergyDataMapper energyDataMapper;
+    @Autowired
+    private RestTemplate restTemplate;
+
+
+//    @GetMapping("/test3")
+    @Scheduled(cron = "0 0 * * * ? ")
+    public void action(){
+        DateTime dateTime = DateUtil.offsetHour(new Date(),-1);
+        DateTime endOfMonth = new DateTime();
+        List<EnergyEnvDevice> remark = energyEnvDeviceMapper.selectList(new QueryWrapper<EnergyEnvDevice>().eq("remark", 3));
+        String url = "http://api.infoexdata.cn/foreignApps/foreignerDevice/getDeviceInventoryList";
+        String token = getToke();
+        for (EnergyEnvDevice energyEnvDevice : remark) {
+
+            MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
+            formData.add("pageNum", "1");
+            formData.add("pageSize", "20");
+            formData.add("uniqueNo", energyEnvDevice.getDeviceCode());
+            formData.add("type", "2");
+            formData.add("compensate", "0");
+            formData.add("startTime", dateTime.toString("yyyy-MM-dd HH:mm:ss"));
+            formData.add("endTime", endOfMonth.toString("yyyy-MM-dd HH:mm:ss"));
+
+            // 设置请求头,指定内容类型为 form-data
+            HttpHeaders headers = new HttpHeaders();
+            headers.set("token",token);
+            headers.setContentType(MediaType.MULTIPART_FORM_DATA);
+            // 创建 HttpEntity
+            HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers);
+            // 发送 POST 请求
+            ResponseEntity<EneryDataVo> response = restTemplate.postForEntity(url, requestEntity, EneryDataVo.class);
+            EneryDataVo body = response.getBody();
+            System.out.println(body);
+            if (ObjectUtil.isEmpty(body) || ObjectUtil.isEmpty(body.getData())){
+                continue;
+            }
+            if (body.getData().getRecords() !=null){
+                List<EneryDataVo3> records = body.getData().getRecords();
+                for (EneryDataVo3 record : records) {
+                    EnergyData energyData = new EnergyData();
+//                    energyData.setCreateDate(DateUtil.parse(record.getEndTime(),"yyyy-MM-dd HH:mm:ss"));
+                    energyData.setCreateDate(record.getEndTime());
+                    energyData.setDisplayType(0);
+                    energyData.setFeedValue(record.getNum()+"");
+                    energyData.setUnitId(energyEnvDevice.getUnitId());
+                    energyData.setUnitName(energyEnvDevice.getUnitName());
+                    energyData.setFarmId(energyEnvDevice.getFarmId());
+                    energyDataMapper.insert(energyData);
+                }
+            }
+        }
+
+    }
+
+
+    private  String getToke(){
+        String url = "http://api.infoexdata.cn/foreignApps/foreignApplications/getToken?appId=farnek23dxr5yk8ymvwuhbmup&appKey=x6re4jt63kcpyt3jhyjzb4ckj";
+        TokenVo forObject = restTemplate.getForObject(url, TokenVo.class);
+        if (ObjectUtil.isNotEmpty(forObject) &&forObject.getCode() ==200 ){
+            return forObject.getData();
+        }else {
+            return null;
+        }
+    }
+
+
+    //华统料塔
 //    @Scheduled(cron = "0 0 * * * ? ")
 //    @Scheduled(cron = "0 0 * * * ? ")
-//    public void action(){
-//        DateTime dateTime = DateUtil.offsetHour(new Date(),-1);
-//        DateTime endOfMonth = new DateTime();
-//        List<EnergyEnvDevice> remark = energyEnvDeviceMapper.selectList(new QueryWrapper<EnergyEnvDevice>().eq("remark", 3));
-//        String url = "http://api.infoexdata.cn/foreignApps/foreignerDevice/getDeviceInventoryList";
-//        String token = getToke();
-//        for (EnergyEnvDevice energyEnvDevice : remark) {
-//
-//            MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
-//            formData.add("pageNum", "1");
-//            formData.add("pageSize", "20");
-//            formData.add("uniqueNo", energyEnvDevice.getDeviceCode());
-//            formData.add("type", "2");
-//            formData.add("compensate", "0");
-//            formData.add("startTime", dateTime.toString("yyyy-MM-dd HH:mm:ss"));
-//            formData.add("endTime", endOfMonth.toString("yyyy-MM-dd HH:mm:ss"));
-//
-//            // 设置请求头,指定内容类型为 form-data
-//            HttpHeaders headers = new HttpHeaders();
-//            headers.set("token",token);
-//            headers.setContentType(MediaType.MULTIPART_FORM_DATA);
-//            // 创建 HttpEntity
-//            HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers);
-//            // 发送 POST 请求
-//            ResponseEntity<EneryDataVo> response = restTemplate.postForEntity(url, requestEntity, EneryDataVo.class);
-//            EneryDataVo body = response.getBody();
-//            System.out.println(body);
-//            if (ObjectUtil.isEmpty(body) || ObjectUtil.isEmpty(body.getData())){
-//                continue;
+//    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);
 //            }
 //            }
-//            if (body.getData().getRecords() !=null){
-//                List<EneryDataVo3> records = body.getData().getRecords();
-//                for (EneryDataVo3 record : records) {
-//                    EnergyData energyData = new EnergyData();
-////                    energyData.setCreateDate(DateUtil.parse(record.getEndTime(),"yyyy-MM-dd HH:mm:ss"));
-//                    energyData.setCreateDate(record.getEndTime());
-//                    energyData.setDisplayType(0);
-//                    energyData.setFeedValue(record.getNum()+"");
-//                    energyData.setUnitId(energyEnvDevice.getUnitId());
-//                    energyData.setUnitName(energyEnvDevice.getUnitName());
-//                    energyData.setFarmId(energyEnvDevice.getFarmId());
-//                    energyDataMapper.insert(energyData);
-//                }
-//            }
-//        }
-//
-//    }
 //
 //
-//
-//    private  String getToke(){
-//        String url = "http://api.infoexdata.cn/foreignApps/foreignApplications/getToken?appId=farnek23dxr5yk8ymvwuhbmup&appKey=x6re4jt63kcpyt3jhyjzb4ckj";
-//        TokenVo forObject = restTemplate.getForObject(url, TokenVo.class);
-//        if (ObjectUtil.isNotEmpty(forObject) &&forObject.getCode() ==200 ){
-//            return forObject.getData();
-//        }else {
-//            return null;
 //        }
 //        }
 //    }
 //    }
-//
-//
-//    //华统料塔
-////    @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);
-////            }
-////
-////        }
-////    }
-//    //景宏料塔
-//}
+    //景宏料塔
+}

+ 86 - 86
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/EnvTimer.java

@@ -1,86 +1,86 @@
-//package com.huimv.admin.jinghongtimer;
-//
-//import cn.hutool.core.date.DateTime;
-//import cn.hutool.core.date.DateUtil;
-//import cn.hutool.core.util.ObjectUtil;
-//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-//import com.huimv.admin.entity.EnergyData;
-//import com.huimv.admin.entity.EnergyEnvDevice;
-//import com.huimv.admin.entity.EnvData;
-//import com.huimv.admin.entity.EnvDevice;
-//import com.huimv.admin.jinghongtimer.Vo.*;
-//import com.huimv.admin.mapper.EnergyDataMapper;
-//import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
-//import com.huimv.admin.mapper.EnvDataMapper;
-//import com.huimv.admin.mapper.EnvDeviceMapper;
-//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.MediaType;
-//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.bind.annotation.*;
-//import org.springframework.web.client.RestTemplate;
-//
-//import java.io.IOException;
-//import java.util.Date;
-//import java.util.List;
-//
-//
-//@RestController
-//@RequestMapping("/test")
-//public class EnvTimer {
-//    @Autowired
-//    private EnvDataMapper envDataMapper;
-//    @Autowired
-//    private EnvDeviceMapper envDeviceMapper;
-//    @GetMapping("/test3")
-//    public Object test3(@RequestParam String verify) throws IOException {
-//        System.out.println(verify);
-//        return verify;
-//    }
-//    @PostMapping("/test3")
-//    public Object test3( @RequestBody JingHongWenShi data) throws IOException {
-//        System.out.println("test3");
-//        System.out.println(data.toString());
-//        JingHongWenShi2 data1 = data.getData();
-//        String deviceId = data1.getDeviceId();
-//        EnvDevice envDevice = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().eq("device_code", deviceId));
-//
-//        EnvData envData = new EnvData();
-//        envData.setDeviceId(envDevice.getDeviceCode());
-//        envData.setCreateTime(new Date());
-//        envData.setFarmId(envDevice.getFarmId());
-//        envData.setEnvHum(getHum(data1));
-//        envData.setEnvTemp(getTem(data1));
-//        envData.setUnitId(envDevice.getUnitId());
-////        envData.setReceiveDate();
-//        envDataMapper.insert(envData);
-//        return data;
-//    }
-//
-//    private String getHum(JingHongWenShi2 data1) {
-//        List<JingHongWenShi3> dataPoints = data1.getDataPoints();
-//        for (JingHongWenShi3 dataPoint : dataPoints) {
-//            if ("湿度".equals(dataPoint.getVariableName())){
-//                return dataPoint.getValue();
-//            }
-//        }
-//        return "0";
-//    }
-//    private String getTem(JingHongWenShi2 data1) {
-//        List<JingHongWenShi3> dataPoints = data1.getDataPoints();
-//        for (JingHongWenShi3 dataPoint : dataPoints) {
-//            if ("温度".equals(dataPoint.getVariableName())){
-//                return dataPoint.getValue();
-//            }
-//        }
-//        return "0";
-//    }
-//
-//
-//}
+package com.huimv.admin.jinghongtimer;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.entity.EnergyData;
+import com.huimv.admin.entity.EnergyEnvDevice;
+import com.huimv.admin.entity.EnvData;
+import com.huimv.admin.entity.EnvDevice;
+import com.huimv.admin.jinghongtimer.Vo.*;
+import com.huimv.admin.mapper.EnergyDataMapper;
+import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
+import com.huimv.admin.mapper.EnvDataMapper;
+import com.huimv.admin.mapper.EnvDeviceMapper;
+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.MediaType;
+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.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
+
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+
+
+@RestController
+@RequestMapping("/test")
+public class EnvTimer {
+    @Autowired
+    private EnvDataMapper envDataMapper;
+    @Autowired
+    private EnvDeviceMapper envDeviceMapper;
+    @GetMapping("/test3")
+    public Object test3(@RequestParam String verify) throws IOException {
+        System.out.println(verify);
+        return verify;
+    }
+    @PostMapping("/test3")
+    public Object test3( @RequestBody JingHongWenShi data) throws IOException {
+        System.out.println("test3");
+        System.out.println(data.toString());
+        JingHongWenShi2 data1 = data.getData();
+        String deviceId = data1.getDeviceId();
+        EnvDevice envDevice = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().eq("device_code", deviceId));
+
+        EnvData envData = new EnvData();
+        envData.setDeviceId(envDevice.getDeviceCode());
+        envData.setCreateTime(new Date());
+        envData.setFarmId(envDevice.getFarmId());
+        envData.setEnvHum(getHum(data1));
+        envData.setEnvTemp(getTem(data1));
+        envData.setUnitId(envDevice.getUnitId());
+//        envData.setReceiveDate();
+        envDataMapper.insert(envData);
+        return data;
+    }
+
+    private String getHum(JingHongWenShi2 data1) {
+        List<JingHongWenShi3> dataPoints = data1.getDataPoints();
+        for (JingHongWenShi3 dataPoint : dataPoints) {
+            if ("湿度".equals(dataPoint.getVariableName())){
+                return dataPoint.getValue();
+            }
+        }
+        return "0";
+    }
+    private String getTem(JingHongWenShi2 data1) {
+        List<JingHongWenShi3> dataPoints = data1.getDataPoints();
+        for (JingHongWenShi3 dataPoint : dataPoints) {
+            if ("温度".equals(dataPoint.getVariableName())){
+                return dataPoint.getValue();
+            }
+        }
+        return "0";
+    }
+
+
+}

+ 101 - 101
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/ProtTimer.java

@@ -1,101 +1,101 @@
-//package com.huimv.admin.jinghongtimer;
-//
-//import com.huimv.admin.entity.ProtData;
-//import com.huimv.admin.jinghongtimer.Vo.JinghongWater;
-//import com.huimv.admin.mapper.*;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.context.annotation.Configuration;
-//import org.springframework.http.ResponseEntity;
-//import org.springframework.scheduling.annotation.EnableScheduling;
-//import org.springframework.scheduling.annotation.Scheduled;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//import org.springframework.web.client.RestClientException;
-//import org.springframework.web.client.RestTemplate;
-//
-//import java.util.List;
-//import java.util.Objects;
-//
-////@RestController
-////@RequestMapping("/test")
-//@Configuration
-//@EnableScheduling
-//public class ProtTimer {
-//
-//    @Autowired
-//    private ProtDataMapper protDataMapper;
-//    @Autowired
-//    private RestTemplate restTemplate;
-//
-//    @Scheduled(cron = "0 0/10 * * * ? ")
-////    @GetMapping("/test3")
-//    public void action(){
-//        String url = "http://139.9.172.209:8085/getFlow"; // 更好的做法是从配置中读取这个URL
-//        try {
-//            // 使用泛型来指定返回类型
-//            ResponseEntity<List<JinghongWater>> response = restTemplate.exchange(
-//                    url,
-//                    org.springframework.http.HttpMethod.GET,
-//                    null,
-//                    new org.springframework.core.ParameterizedTypeReference<List<JinghongWater>>() {}
-//            );
-//
-//            for (JinghongWater jinghongWater : Objects.requireNonNull(response.getBody())) {
-//                ProtData protData = new ProtData();
-//                protData.setCreateDate(jinghongWater.getCreateTime());
-//                protData.setFarmId(getFarmId(jinghongWater.getDeviceId()));
-//                protData.setFlow(jinghongWater.getValueA());
-//
-//                if ("861213058872158".equals(jinghongWater.getDeviceId())){
-//                    protData.setLoctionType(2);
-//                }else {
-//                    protData.setLoctionType(1);
-//                }
-//
-//                protData.setCod("0");
-//                protData.setNh3n("0");
-//                protData.setPh("0");
-//                protData.setTn("0");
-//                protData.setTp("0");
-//                protDataMapper.insert(protData);
-//            }
-//
-//        } catch (RestClientException e) {
-//            // 处理异常,比如记录日志或抛出更具体的业务异常
-//            e.printStackTrace();
-//            throw new RuntimeException("Failed to fetch flows", e);
-//        }
-//    }
-//    private Integer getFarmId(String deivceId){
-//        switch (deivceId){
-//            case "861213058861409":
-//                return 28;
-//            case "861213058829596":
-//                return 31;
-//            case "861213058846764":
-//                return 29;
-//            case "861213058846640":
-//                return 30;
-//            default: //"861213058872158":
-//                return 28;
-//        }
-//
-//    }
-//    private String getDevice(String deivceId){
-//        switch (deivceId){
-//            case "861213058861409":
-//                return "芙江";
-//            case "861213058829596":
-//                return "凤行";
-//            case "861213058846764":
-//                return "庙贝";
-//            case "861213058846640":
-//                return "潞水";
-//            default: //"861213058872158"
-//                return "芙江2";
-//        }
-//
-//
-//    }
-//}
+package com.huimv.admin.jinghongtimer;
+
+import com.huimv.admin.entity.ProtData;
+import com.huimv.admin.jinghongtimer.Vo.JinghongWater;
+import com.huimv.admin.mapper.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.ResponseEntity;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestClientException;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.List;
+import java.util.Objects;
+
+//@RestController
+//@RequestMapping("/test")
+@Configuration
+@EnableScheduling
+public class ProtTimer {
+
+    @Autowired
+    private ProtDataMapper protDataMapper;
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Scheduled(cron = "0 0/10 * * * ? ")
+//    @GetMapping("/test3")
+    public void action(){
+        String url = "http://139.9.172.209:8085/getFlow"; // 更好的做法是从配置中读取这个URL
+        try {
+            // 使用泛型来指定返回类型
+            ResponseEntity<List<JinghongWater>> response = restTemplate.exchange(
+                    url,
+                    org.springframework.http.HttpMethod.GET,
+                    null,
+                    new org.springframework.core.ParameterizedTypeReference<List<JinghongWater>>() {}
+            );
+
+            for (JinghongWater jinghongWater : Objects.requireNonNull(response.getBody())) {
+                ProtData protData = new ProtData();
+                protData.setCreateDate(jinghongWater.getCreateTime());
+                protData.setFarmId(getFarmId(jinghongWater.getDeviceId()));
+                protData.setFlow(jinghongWater.getValueA());
+
+                if ("861213058872158".equals(jinghongWater.getDeviceId())){
+                    protData.setLoctionType(2);
+                }else {
+                    protData.setLoctionType(1);
+                }
+
+                protData.setCod("0");
+                protData.setNh3n("0");
+                protData.setPh("0");
+                protData.setTn("0");
+                protData.setTp("0");
+                protDataMapper.insert(protData);
+            }
+
+        } catch (RestClientException e) {
+            // 处理异常,比如记录日志或抛出更具体的业务异常
+            e.printStackTrace();
+            throw new RuntimeException("Failed to fetch flows", e);
+        }
+    }
+    private Integer getFarmId(String deivceId){
+        switch (deivceId){
+            case "861213058861409":
+                return 28;
+            case "861213058829596":
+                return 31;
+            case "861213058846764":
+                return 29;
+            case "861213058846640":
+                return 30;
+            default: //"861213058872158":
+                return 28;
+        }
+
+    }
+    private String getDevice(String deivceId){
+        switch (deivceId){
+            case "861213058861409":
+                return "芙江";
+            case "861213058829596":
+                return "凤行";
+            case "861213058846764":
+                return "庙贝";
+            case "861213058846640":
+                return "潞水";
+            default: //"861213058872158"
+                return "芙江2";
+        }
+
+
+    }
+}

+ 8 - 5
huimv-admin/src/main/java/com/huimv/admin/server/EnvInputServerHandler.java

@@ -1,5 +1,6 @@
 package com.huimv.admin.server;
 package com.huimv.admin.server;
 
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.huimv.admin.entity.ProtData;
 import com.huimv.admin.entity.ProtData;
 import com.huimv.admin.mapper.ProtDataMapper;
 import com.huimv.admin.mapper.ProtDataMapper;
@@ -12,7 +13,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
-import javax.sound.midi.Soundbank;
 import java.io.IOException;
 import java.io.IOException;
 import java.text.ParseException;
 import java.text.ParseException;
 import java.util.Date;
 import java.util.Date;
@@ -91,12 +91,15 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             System.out.println("接收到消息: " + clientAskText + "  时间: " + System.currentTimeMillis());
             System.out.println("接收到消息: " + clientAskText + "  时间: " + System.currentTimeMillis());
             EnvironmentalData parse = HJ212Parser.parse(clientAskText.replace("##", ""));
             EnvironmentalData parse = HJ212Parser.parse(clientAskText.replace("##", ""));
             ProtData protData = new ProtData();
             ProtData protData = new ProtData();
+            if (ObjectUtil.isEmpty(parse.getCpData().getParameters().get("w01001").getAvg() )){
+                askTextSb.delete(0, askTextSb.length());
+                return;
+            }
             protData.setPh(parse.getCpData().getParameters().get("w01001").getAvg());
             protData.setPh(parse.getCpData().getParameters().get("w01001").getAvg());
 //        protData.setOther1(parse.getCpData().getParameters().get("w01010").getAvg());
 //        protData.setOther1(parse.getCpData().getParameters().get("w01010").getAvg());
             protData.setCod(parse.getCpData().getParameters().get("w01018").getAvg());
             protData.setCod(parse.getCpData().getParameters().get("w01018").getAvg());
             protData.setNh3n(parse.getCpData().getParameters().get("w21003").getAvg());
             protData.setNh3n(parse.getCpData().getParameters().get("w21003").getAvg());
             protData.setOther2(parse.getCpData().getParameters().get("w00000").getAvg());
             protData.setOther2(parse.getCpData().getParameters().get("w00000").getAvg());
-
             protData.setLoctionType(1);
             protData.setLoctionType(1);
             String mn = parse.getHeader().getMn();
             String mn = parse.getHeader().getMn();
             if ("01523162079470".equals(mn)){
             if ("01523162079470".equals(mn)){
@@ -106,15 +109,15 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             }
             }
             protData.setOther3(clientAskText);
             protData.setOther3(clientAskText);
             protData.setCreateDate(new Date());
             protData.setCreateDate(new Date());
-
             protDataMapper.insert(protData);
             protDataMapper.insert(protData);
-            askTextSb.delete(0, askTextSb.length());
+
+
         }catch (Exception e){
         }catch (Exception e){
             System.out.println(e);
             System.out.println(e);
             askTextSb.delete(0, askTextSb.length());
             askTextSb.delete(0, askTextSb.length());
+
         }
         }
 
 
-        //##0349QN=20250414111200085;ST=32;CN=2011;PW=123456;MN=01523162079470;Flag=4;CP=&&DataTime=20250414111200;w01018-SampleTime=20250414100000,w01018-Rtd=74.2,w01018-Flag=N;w00000-SampleTime=20250414111048,w00000-Rtd=1.968,w00000-Flag=N;w01001-Rtd=7.26,w01001-Flag=N;w01010-Rtd=21,w01010-Flag=N;w21003-SampleTime=20250414100000,w21003-Rtd=0.422,w21003-Flag=N&&3600
 
 
     }
     }
     //QN	20250412142007184	请求编号(21位时间戳:2025-04-12 14:20:07.184)
     //QN	20250412142007184	请求编号(21位时间戳:2025-04-12 14:20:07.184)

+ 3 - 2
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProtDataServiceImpl.java

@@ -1102,10 +1102,11 @@ public class ProtDataServiceImpl extends ServiceImpl<ProtDataMapper, ProtData> i
         String farmId = paramsMap.get("farmId");
         String farmId = paramsMap.get("farmId");
         QueryWrapper<ProtData> queryWrapper = new QueryWrapper<ProtData>().eq("farm_id", farmId);
         QueryWrapper<ProtData> queryWrapper = new QueryWrapper<ProtData>().eq("farm_id", farmId);
         Date date = new Date();
         Date date = new Date();
-        List list   = new ArrayList();
+        List<ProtData> list   = new ArrayList();
         for (int i = 0; i < 8; i++) {
         for (int i = 0; i < 8; i++) {
             DateTime dateTime = DateUtil.offsetDay(date, -i);
             DateTime dateTime = DateUtil.offsetDay(date, -i);
-            queryWrapper.select("create_date,MAX(CAST(ph AS DECIMAL(10,3) )) ph , MAX(CAST(cod AS DECIMAL(10,2) )) cod, MAX(CAST(NH3N AS DECIMAL(10,3) )) NH3N");
+            queryWrapper.select("create_date,MAX(CAST(ph AS DECIMAL(10,3) )) ph , MAX(CAST(cod AS DECIMAL(10,2) )) cod, MAX(CAST(NH3N AS DECIMAL(10,3) )) NH3N " +
+                    ",MAX(CAST(other2 AS DECIMAL(10,3) )) other2 ");
             queryWrapper.between("create_date",DateUtil.beginOfDay(dateTime),DateUtil.endOfDay(dateTime));
             queryWrapper.between("create_date",DateUtil.beginOfDay(dateTime),DateUtil.endOfDay(dateTime));
             ProtData protData = protDataMapper.selectOne(queryWrapper);
             ProtData protData = protDataMapper.selectOne(queryWrapper);
             if (ObjectUtil.isEmpty(protData)){
             if (ObjectUtil.isEmpty(protData)){

+ 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);
+//    }
+//
+//}

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

@@ -1,57 +1,57 @@
-package com.huimv.admin.timer;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.huimv.admin.entity.BasePigpen;
-import com.huimv.admin.entity.EnergyData;
-import com.huimv.admin.entity.ProdStock;
-import com.huimv.admin.mapper.BaseFarmMapper;
-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;
-import org.springframework.scheduling.annotation.Scheduled;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.Date;
-
-@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);
-//            }
+//package com.huimv.admin.timer;
 //
 //
-//        }
-//    }
-    //景宏料塔
-}
+//import cn.hutool.core.util.ObjectUtil;
+//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+//import com.huimv.admin.entity.BasePigpen;
+//import com.huimv.admin.entity.EnergyData;
+//import com.huimv.admin.entity.ProdStock;
+//import com.huimv.admin.mapper.BaseFarmMapper;
+//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;
+//import org.springframework.scheduling.annotation.Scheduled;
+//
+//import java.math.BigDecimal;
+//import java.math.RoundingMode;
+//import java.util.Date;
+//
+//@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);
+////            }
+////
+////        }
+////    }
+//    //景宏料塔
+//}

+ 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);
+//            }
+//
+//        }
+//
+//
+//    }
+//}

File diff ditekan karena terlalu besar
+ 524 - 524
huimv-admin/src/main/java/com/huimv/admin/timer/EnvTimer.java


+ 296 - 296
huimv-admin/src/main/java/com/huimv/admin/timer/FeedTimer.java

@@ -1,302 +1,302 @@
-package com.huimv.admin.timer;
-
-
-import cn.hutool.core.codec.Base64;
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.io.FileUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.http.HttpRequest;
-import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.huimv.admin.common.utils.HttpClientSSLUtils;
-import com.huimv.admin.common.utils.NumberUtils;
-import com.huimv.admin.common.utils.Result;
-import com.huimv.admin.entity.*;
-import com.huimv.admin.entity.zengxindto.*;
-import com.huimv.admin.mapper.FeedAreaMapper;
-import com.huimv.admin.mapper.FeedPigMapper;
-import com.huimv.admin.mapper.FeedingDataMapper;
-import com.huimv.admin.mapper.FeedingEnvMapper;
-import com.huimv.admin.service.*;
-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.transaction.annotation.Transactional;
-import org.springframework.web.client.RestTemplate;
-
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
-import java.time.Duration;
-import java.time.LocalDateTime;
-import java.util.*;
-import java.util.concurrent.ThreadLocalRandom;
-
-@Configuration
-@EnableScheduling
-public class FeedTimer {
-
-    @Autowired
-    private FeedAreaMapper feedAreaMapper;
-    @Autowired
-    private FeedingEnvMapper envMapper;
-    @Autowired
-    private FeedingDataMapper dataMapper;
-    @Autowired
-    private FeedPigMapper pigMapper;
-
-
-    //    @Scheduled(cron = "0 0 */1 * * ? ")
-    @Scheduled(cron = "0 0/59 * * * ? ")
-    @Transactional
-    public void getFeed() throws Exception {
-        QueryWrapper<FeedArea> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", 26);
-        List<FeedArea> feedAreas = feedAreaMapper.selectList(queryWrapper);
-//        Date now = new Date(); // 获取当前时间
-//        long oneHour = 1 * 60 * 60 * 1000; // 1小时的毫秒数
-//        Date oneHourAgo = new Date(now.getTime() - oneHour); // 获取1小时前的时间
-//        List<String> time = new ArrayList<>();
-//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//        time.add(sdf.format(oneHourAgo));
-//        time.add(sdf.format(new Date()));
-//        System.out.println("这个是传入的时间数组:" + time);
-        for (FeedArea feedArea : feedAreas) {
-            HashMap<String, String> paramMap = new HashMap<>();
-            JSONObject jsonObject = new JSONObject();
-//            jsonObject.put("pageNum", "1");
-//            jsonObject.put("pageSize", "50");
-//            jsonObject.put("createTime", time);
-            jsonObject.put("fdQrcode", "");
-            jsonObject.put("fenceNum", "");
-            jsonObject.put("gatewayNo", feedArea.getGatewayNo());
-            jsonObject.put("areaId", feedArea.getAreaId());
-            paramMap.put("Content-Type", "application/json;charset=utf-8");
-            paramMap.put("AuthorizationF", getToken());
-            String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/mqtt/pageQryRealtime?pageNum=1&pageSize=50").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-            JSONObject jsonObject1 = JSONObject.parseObject(post);
-            Map map = (Map) jsonObject1.get("data");
-            List<Map<String, Object>> list = (List) map.get("records");
-            System.out.println("取到了记录:" + list);
-            if (null != list) {
-                for (Map<String, Object> stringMap : list) {
-                    FeedingData data = new FeedingData();
-                    data.setFarmId(26);
-                    data.setUnitName(feedArea.getName());
-                    data.setDeviceCode(stringMap.get("fdQrcode").toString());
-
-                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-                    data.setUploadTime(dateFormat.parse(stringMap.get("createTime").toString()));
-                    data.setBlanking(stringMap.get("zkAlram").toString());
-                    data.setDeviceType(feedArea.getType());
-
-                    QueryWrapper<FeedingEnv> queryWrapper1 = new QueryWrapper<>();
-                    queryWrapper1.eq("device_code", stringMap.get("fdQrcode"));
-                    FeedingEnv env = envMapper.selectOne(queryWrapper1);
-                    if (ObjectUtil.isNotEmpty(env)) {
-                        data.setEartag(env.getEartag());
-                    }
-                    data.setMeals(Integer.parseInt(stringMap.get("dayDeliver").toString()));
-                    Integer intFdWeight = Integer.parseInt(stringMap.get("intFdWeight").toString());
-                    Double feed = Double.valueOf(intFdWeight) / 100;
-                    DecimalFormat def = new DecimalFormat("0.00");
-                    data.setFoodIntake(def.format(feed));
-                    data.setWater(stringMap.get("intDwWeight").toString());
-                    data.setDayNum(stringMap.get("dayOld").toString());
-                    data.setBodySize(stringMap.get("backfat").toString());
-                    dataMapper.insert(data);
-                }
-            }
-
-        }
-    }
-
-    public String getToken() {
-        HashMap<String, String> paramMap = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("username", "ruanzong");
-        jsonObject.put("password", "123456");
-        paramMap.put("Content-Type", "application/json;charset=utf-8");
-        String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/admin/appLogin").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        JSONObject jsonObject1 = JSONObject.parseObject(post);
-        Map map = (Map) jsonObject1.get("data");
-        String s = map.get("tokenHead") + " " + map.get("token");
-        return s;
-    }
-
-    public static void main(String[] args) {
-//        Date now = new Date(); // 获取当前时间
-//        long oneHour = 1 * 30 * 1000; // 1小时的毫秒数
-//        Date oneHourAgo = new Date(now.getTime() - oneHour); // 获取1小时前的时间
-//        List<String> time = new ArrayList<>();
-//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//        time.add(sdf.format(oneHourAgo));
-//        time.add(sdf.format(new Date()));
+//package com.huimv.admin.timer;
+//
+//
+//import cn.hutool.core.codec.Base64;
+//import cn.hutool.core.date.DateTime;
+//import cn.hutool.core.date.DateUtil;
+//import cn.hutool.core.io.FileUtil;
+//import cn.hutool.core.util.ObjectUtil;
+//import cn.hutool.http.HttpRequest;
+//import cn.hutool.http.HttpUtil;
+//import cn.hutool.json.JSONUtil;
+//import com.alibaba.fastjson.JSON;
+//import com.alibaba.fastjson.JSONArray;
+//import com.alibaba.fastjson.JSONObject;
+//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+//import com.huimv.admin.common.utils.HttpClientSSLUtils;
+//import com.huimv.admin.common.utils.NumberUtils;
+//import com.huimv.admin.common.utils.Result;
+//import com.huimv.admin.entity.*;
+//import com.huimv.admin.entity.zengxindto.*;
+//import com.huimv.admin.mapper.FeedAreaMapper;
+//import com.huimv.admin.mapper.FeedPigMapper;
+//import com.huimv.admin.mapper.FeedingDataMapper;
+//import com.huimv.admin.mapper.FeedingEnvMapper;
+//import com.huimv.admin.service.*;
+//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.transaction.annotation.Transactional;
+//import org.springframework.web.client.RestTemplate;
+//
+//import java.text.DecimalFormat;
+//import java.text.NumberFormat;
+//import java.text.SimpleDateFormat;
+//import java.time.Duration;
+//import java.time.LocalDateTime;
+//import java.util.*;
+//import java.util.concurrent.ThreadLocalRandom;
+//
+//@Configuration
+//@EnableScheduling
+//public class FeedTimer {
+//
+//    @Autowired
+//    private FeedAreaMapper feedAreaMapper;
+//    @Autowired
+//    private FeedingEnvMapper envMapper;
+//    @Autowired
+//    private FeedingDataMapper dataMapper;
+//    @Autowired
+//    private FeedPigMapper pigMapper;
+//
+//
+//    //    @Scheduled(cron = "0 0 */1 * * ? ")
+//    @Scheduled(cron = "0 0/59 * * * ? ")
+//    @Transactional
+//    public void getFeed() throws Exception {
+//        QueryWrapper<FeedArea> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.eq("farm_id", 26);
+//        List<FeedArea> feedAreas = feedAreaMapper.selectList(queryWrapper);
+////        Date now = new Date(); // 获取当前时间
+////        long oneHour = 1 * 60 * 60 * 1000; // 1小时的毫秒数
+////        Date oneHourAgo = new Date(now.getTime() - oneHour); // 获取1小时前的时间
+////        List<String> time = new ArrayList<>();
+////        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+////        time.add(sdf.format(oneHourAgo));
+////        time.add(sdf.format(new Date()));
+////        System.out.println("这个是传入的时间数组:" + time);
+//        for (FeedArea feedArea : feedAreas) {
+//            HashMap<String, String> paramMap = new HashMap<>();
+//            JSONObject jsonObject = new JSONObject();
+////            jsonObject.put("pageNum", "1");
+////            jsonObject.put("pageSize", "50");
+////            jsonObject.put("createTime", time);
+//            jsonObject.put("fdQrcode", "");
+//            jsonObject.put("fenceNum", "");
+//            jsonObject.put("gatewayNo", feedArea.getGatewayNo());
+//            jsonObject.put("areaId", feedArea.getAreaId());
+//            paramMap.put("Content-Type", "application/json;charset=utf-8");
+//            paramMap.put("AuthorizationF", getToken());
+//            String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/mqtt/pageQryRealtime?pageNum=1&pageSize=50").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
+//            JSONObject jsonObject1 = JSONObject.parseObject(post);
+//            Map map = (Map) jsonObject1.get("data");
+//            List<Map<String, Object>> list = (List) map.get("records");
+//            System.out.println("取到了记录:" + list);
+//            if (null != list) {
+//                for (Map<String, Object> stringMap : list) {
+//                    FeedingData data = new FeedingData();
+//                    data.setFarmId(26);
+//                    data.setUnitName(feedArea.getName());
+//                    data.setDeviceCode(stringMap.get("fdQrcode").toString());
+//
+//                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//                    data.setUploadTime(dateFormat.parse(stringMap.get("createTime").toString()));
+//                    data.setBlanking(stringMap.get("zkAlram").toString());
+//                    data.setDeviceType(feedArea.getType());
+//
+//                    QueryWrapper<FeedingEnv> queryWrapper1 = new QueryWrapper<>();
+//                    queryWrapper1.eq("device_code", stringMap.get("fdQrcode"));
+//                    FeedingEnv env = envMapper.selectOne(queryWrapper1);
+//                    if (ObjectUtil.isNotEmpty(env)) {
+//                        data.setEartag(env.getEartag());
+//                    }
+//                    data.setMeals(Integer.parseInt(stringMap.get("dayDeliver").toString()));
+//                    Integer intFdWeight = Integer.parseInt(stringMap.get("intFdWeight").toString());
+//                    Double feed = Double.valueOf(intFdWeight) / 100;
+//                    DecimalFormat def = new DecimalFormat("0.00");
+//                    data.setFoodIntake(def.format(feed));
+//                    data.setWater(stringMap.get("intDwWeight").toString());
+//                    data.setDayNum(stringMap.get("dayOld").toString());
+//                    data.setBodySize(stringMap.get("backfat").toString());
+//                    dataMapper.insert(data);
+//                }
+//            }
+//
+//        }
+//    }
+//
+//    public String getToken() {
 //        HashMap<String, String> paramMap = new HashMap<>();
 //        HashMap<String, String> paramMap = new HashMap<>();
 //        JSONObject jsonObject = new JSONObject();
 //        JSONObject jsonObject = new JSONObject();
-//        jsonObject.put("pageNum", 1);
-//        jsonObject.put("pageSize", 20);
-//        jsonObject.put("createTime", time);
-//        jsonObject.put("areaId","1017517");
+//        jsonObject.put("username", "ruanzong");
+//        jsonObject.put("password", "123456");
 //        paramMap.put("Content-Type", "application/json;charset=utf-8");
 //        paramMap.put("Content-Type", "application/json;charset=utf-8");
-//        paramMap.put("AuthorizationF","Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJoZW5sdSIsImNyZWF0ZWQiOjE2OTUzNjg1OTE4MjEsImV4cCI6MTY5NTQ1NDk5MX0.63A5FNJD714MVLp2cdH9HLyN25lYtAzsXHysXLEp1eR-FfkQZel6FnuoLfkIoFbgaht1OsEN-2ERabw0Lby7Pg");
-//        String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/mqtt/pageQryRealtime").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
+//        String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/admin/appLogin").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
 //        JSONObject jsonObject1 = JSONObject.parseObject(post);
 //        JSONObject jsonObject1 = JSONObject.parseObject(post);
 //        Map map = (Map) jsonObject1.get("data");
 //        Map map = (Map) jsonObject1.get("data");
-//        System.out.println(map);
-//        List<Map<String, String>> list = (List) map.get("records");
-//        System.out.println(list);
-//        List<String> jsonArray = (ArrayList) map.get("records");
-//        System.out.println(jsonArray);
-    }
-
-
-    //饲养器添加
-    @Scheduled(cron = "0 0/57 * * * ? ")
-    @Transactional
-    public void getFeedEnv() throws Exception {
-        QueryWrapper<FeedArea> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", 26);
-        List<FeedArea> feedAreas = feedAreaMapper.selectList(queryWrapper);
-        for (FeedArea feedArea : feedAreas) {
-            HashMap<String, String> paramMap = new HashMap<>();
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("pageNum", "1");
-            jsonObject.put("pageSize", "200");
-            jsonObject.put("areaId", feedArea.getAreaId());
-            paramMap.put("Content-Type", "application/json;charset=utf-8");
-            paramMap.put("AuthorizationF", getToken());
-            String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/api/v1/feeder/pageQry?pageNum=1&pageSize=50").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-            JSONObject jsonObject1 = JSONObject.parseObject(post);
-            Map map = (Map) jsonObject1.get("data");
-            List<Map<String, Object>> list = (List) map.get("records");
-            for (Map<String, Object> stringMap : list) {
-                QueryWrapper<FeedingEnv> queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1.eq("farm_id", 26).eq("device_code", stringMap.get("qrcode"));
-                if (ObjectUtil.isEmpty(envMapper.selectOne(queryWrapper1))) {
-                    FeedingEnv feedingEnv = new FeedingEnv();
-                    feedingEnv.setFarmId(26);
-                    feedingEnv.setUnitName(feedArea.getName());
-                    feedingEnv.setUnitId(Integer.parseInt(feedArea.getUnitId()));
-                    feedingEnv.setDeviceType(feedArea.getType());
-                    feedingEnv.setDeviceCode(stringMap.get("qrcode").toString());
-                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-                    feedingEnv.setLastTime(dateFormat.parse((String) stringMap.get("createTime")));
-                    feedingEnv.setOnlineStatus((Integer) stringMap.get("feedStatus"));
-                    envMapper.insert(feedingEnv);
-                } else {
-                    if (StringUtils.isNotBlank(stringMap.get("earTag").toString())) {
-                        FeedingEnv feedingEnv = envMapper.selectOne(queryWrapper1);
-                        feedingEnv.setEartag(stringMap.get("earTag").toString());
-                        envMapper.updateById(feedingEnv);
-                    }
-                }
-
-            }
-        }
-    }
-
-
-    //猪群数量变动
-    @Scheduled(cron = "0 0 1 * * ? ")
-    @Transactional
-    public void getPigCount() throws Exception {
-        List<FeedingEnv> envs = envMapper.selectList(null);
-        Integer number = 0;
-        String type = "";
-        for (FeedingEnv env : envs) {
-            String url = "http://znsw.zxkj2006.com/feed/api/api/v1/pig/list/" + env.getEartag();
-            Map<String, String> heads = new HashMap<>();
-            heads.put("Authorizationf", getToken());
-            String body = HttpRequest.get(url).addHeaders(heads).execute().body();
-            JSONObject jsonObject1 = JSONObject.parseObject(body);
-            System.out.println("这个是转换为json的" + jsonObject1);
-            List<JSONObject> data = (List<JSONObject>) jsonObject1.get("data");
-            System.out.println(data);
-            if (data.size() > 0) {
-                JSONObject jsonObject = data.get(0);
-                String num = jsonObject.get("litterNum").toString();
-                number = number + Integer.parseInt(num);
-                type = jsonObject.get("pigType").toString();//类型
-            }
-        }
-        List<FeedPig> feedPigs = pigMapper.selectList(null);
-        for (FeedPig feedPig : feedPigs) {
-            if (type.equals(feedPig.getType())) {
-                feedPig.setNumber(number.toString());
-                pigMapper.updateById(feedPig);
-            }
-//            else {
-//                FeedPig pig = new FeedPig();
-//                pig.setType(type);
-//                pig.setNumber(number.toString());
-//                pigMapper.insert(pig);
+//        String s = map.get("tokenHead") + " " + map.get("token");
+//        return s;
+//    }
+//
+//    public static void main(String[] args) {
+////        Date now = new Date(); // 获取当前时间
+////        long oneHour = 1 * 30 * 1000; // 1小时的毫秒数
+////        Date oneHourAgo = new Date(now.getTime() - oneHour); // 获取1小时前的时间
+////        List<String> time = new ArrayList<>();
+////        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+////        time.add(sdf.format(oneHourAgo));
+////        time.add(sdf.format(new Date()));
+////        HashMap<String, String> paramMap = new HashMap<>();
+////        JSONObject jsonObject = new JSONObject();
+////        jsonObject.put("pageNum", 1);
+////        jsonObject.put("pageSize", 20);
+////        jsonObject.put("createTime", time);
+////        jsonObject.put("areaId","1017517");
+////        paramMap.put("Content-Type", "application/json;charset=utf-8");
+////        paramMap.put("AuthorizationF","Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJoZW5sdSIsImNyZWF0ZWQiOjE2OTUzNjg1OTE4MjEsImV4cCI6MTY5NTQ1NDk5MX0.63A5FNJD714MVLp2cdH9HLyN25lYtAzsXHysXLEp1eR-FfkQZel6FnuoLfkIoFbgaht1OsEN-2ERabw0Lby7Pg");
+////        String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/mqtt/pageQryRealtime").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
+////        JSONObject jsonObject1 = JSONObject.parseObject(post);
+////        Map map = (Map) jsonObject1.get("data");
+////        System.out.println(map);
+////        List<Map<String, String>> list = (List) map.get("records");
+////        System.out.println(list);
+////        List<String> jsonArray = (ArrayList) map.get("records");
+////        System.out.println(jsonArray);
+//    }
+//
+//
+//    //饲养器添加
+//    @Scheduled(cron = "0 0/57 * * * ? ")
+//    @Transactional
+//    public void getFeedEnv() throws Exception {
+//        QueryWrapper<FeedArea> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.eq("farm_id", 26);
+//        List<FeedArea> feedAreas = feedAreaMapper.selectList(queryWrapper);
+//        for (FeedArea feedArea : feedAreas) {
+//            HashMap<String, String> paramMap = new HashMap<>();
+//            JSONObject jsonObject = new JSONObject();
+//            jsonObject.put("pageNum", "1");
+//            jsonObject.put("pageSize", "200");
+//            jsonObject.put("areaId", feedArea.getAreaId());
+//            paramMap.put("Content-Type", "application/json;charset=utf-8");
+//            paramMap.put("AuthorizationF", getToken());
+//            String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/api/v1/feeder/pageQry?pageNum=1&pageSize=50").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
+//            JSONObject jsonObject1 = JSONObject.parseObject(post);
+//            Map map = (Map) jsonObject1.get("data");
+//            List<Map<String, Object>> list = (List) map.get("records");
+//            for (Map<String, Object> stringMap : list) {
+//                QueryWrapper<FeedingEnv> queryWrapper1 = new QueryWrapper<>();
+//                queryWrapper1.eq("farm_id", 26).eq("device_code", stringMap.get("qrcode"));
+//                if (ObjectUtil.isEmpty(envMapper.selectOne(queryWrapper1))) {
+//                    FeedingEnv feedingEnv = new FeedingEnv();
+//                    feedingEnv.setFarmId(26);
+//                    feedingEnv.setUnitName(feedArea.getName());
+//                    feedingEnv.setUnitId(Integer.parseInt(feedArea.getUnitId()));
+//                    feedingEnv.setDeviceType(feedArea.getType());
+//                    feedingEnv.setDeviceCode(stringMap.get("qrcode").toString());
+//                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//                    feedingEnv.setLastTime(dateFormat.parse((String) stringMap.get("createTime")));
+//                    feedingEnv.setOnlineStatus((Integer) stringMap.get("feedStatus"));
+//                    envMapper.insert(feedingEnv);
+//                } else {
+//                    if (StringUtils.isNotBlank(stringMap.get("earTag").toString())) {
+//                        FeedingEnv feedingEnv = envMapper.selectOne(queryWrapper1);
+//                        feedingEnv.setEartag(stringMap.get("earTag").toString());
+//                        envMapper.updateById(feedingEnv);
+//                    }
+//                }
+//
+//            }
+//        }
+//    }
+//
+//
+//    //猪群数量变动
+//    @Scheduled(cron = "0 0 1 * * ? ")
+//    @Transactional
+//    public void getPigCount() throws Exception {
+//        List<FeedingEnv> envs = envMapper.selectList(null);
+//        Integer number = 0;
+//        String type = "";
+//        for (FeedingEnv env : envs) {
+//            String url = "http://znsw.zxkj2006.com/feed/api/api/v1/pig/list/" + env.getEartag();
+//            Map<String, String> heads = new HashMap<>();
+//            heads.put("Authorizationf", getToken());
+//            String body = HttpRequest.get(url).addHeaders(heads).execute().body();
+//            JSONObject jsonObject1 = JSONObject.parseObject(body);
+//            System.out.println("这个是转换为json的" + jsonObject1);
+//            List<JSONObject> data = (List<JSONObject>) jsonObject1.get("data");
+//            System.out.println(data);
+//            if (data.size() > 0) {
+//                JSONObject jsonObject = data.get(0);
+//                String num = jsonObject.get("litterNum").toString();
+//                number = number + Integer.parseInt(num);
+//                type = jsonObject.get("pigType").toString();//类型
+//            }
+//        }
+//        List<FeedPig> feedPigs = pigMapper.selectList(null);
+//        for (FeedPig feedPig : feedPigs) {
+//            if (type.equals(feedPig.getType())) {
+//                feedPig.setNumber(number.toString());
+//                pigMapper.updateById(feedPig);
+//            }
+////            else {
+////                FeedPig pig = new FeedPig();
+////                pig.setType(type);
+////                pig.setNumber(number.toString());
+////                pigMapper.insert(pig);
+////            }
+//        }
+//
+//    }
+//
+//
+//    //饲养器状态修改
+//    @Scheduled(cron = "0 0/5 * * * ? ")
+//    @Transactional
+//    public void getFeedEnvStatus() throws Exception {
+//        QueryWrapper<FeedArea> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.eq("farm_id", 26);
+//        List<FeedArea> feedAreas = feedAreaMapper.selectList(queryWrapper);
+//        for (FeedArea feedArea : feedAreas) {
+//            HashMap<String, String> paramMap = new HashMap<>();
+//            JSONObject jsonObject = new JSONObject();
+//            jsonObject.put("pageNum", "1");
+//            jsonObject.put("pageSize", "20");
+//            jsonObject.put("areaId", feedArea.getAreaId());
+//            paramMap.put("Content-Type", "application/json;charset=utf-8");
+//            paramMap.put("AuthorizationF", getToken());
+//            String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/api/v1/feeder/pageQry?pageNum=1&pageSize=50").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
+//            JSONObject jsonObject1 = JSONObject.parseObject(post);
+//            Map map = (Map) jsonObject1.get("data");
+//            List<Map<String, Object>> list = (List) map.get("records");
+//            for (Map<String, Object> stringMap : list) {
+//                QueryWrapper<FeedingEnv> queryWrapper1 = new QueryWrapper<>();
+//                queryWrapper1.eq("farm_id", 26).eq("device_code", stringMap.get("qrcode"));
+//                if (ObjectUtil.isEmpty(envMapper.selectOne(queryWrapper1))) {
+//                    FeedingEnv feedingEnv = new FeedingEnv();
+//                    feedingEnv.setFarmId(26);
+//                    feedingEnv.setUnitName(feedArea.getName());
+//                    feedingEnv.setUnitId(Integer.parseInt(feedArea.getUnitId()));
+//                    feedingEnv.setDeviceType(feedArea.getType());
+//                    feedingEnv.setDeviceCode(stringMap.get("qrcode").toString());
+//                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//                    feedingEnv.setLastTime(dateFormat.parse((String) stringMap.get("createTime")));
+//                    feedingEnv.setOnlineStatus((Integer) stringMap.get("feedStatus"));
+//                    envMapper.insert(feedingEnv);
+//                } else {
+//                    if (StringUtils.isNotBlank(stringMap.get("earTag").toString())) {
+//                        FeedingEnv feedingEnv = envMapper.selectOne(queryWrapper1);
+//                        feedingEnv.setEartag(stringMap.get("earTag").toString());
+//                        String status = stringMap.get("swAlram").toString();
+//                        if ("0".equals(status)) {
+//                            feedingEnv.setOnlineStatus(0);
+//                        } else {
+//                            feedingEnv.setOnlineStatus(1);
+//                        }
+//                        envMapper.updateById(feedingEnv);
+//                    }
+//
+//                }
+//
 //            }
 //            }
-        }
-
-    }
-
-
-    //饲养器状态修改
-    @Scheduled(cron = "0 0/5 * * * ? ")
-    @Transactional
-    public void getFeedEnvStatus() throws Exception {
-        QueryWrapper<FeedArea> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", 26);
-        List<FeedArea> feedAreas = feedAreaMapper.selectList(queryWrapper);
-        for (FeedArea feedArea : feedAreas) {
-            HashMap<String, String> paramMap = new HashMap<>();
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("pageNum", "1");
-            jsonObject.put("pageSize", "20");
-            jsonObject.put("areaId", feedArea.getAreaId());
-            paramMap.put("Content-Type", "application/json;charset=utf-8");
-            paramMap.put("AuthorizationF", getToken());
-            String post = HttpRequest.post("http://znsw.zxkj2006.com/feed/api/api/v1/feeder/pageQry?pageNum=1&pageSize=50").headerMap(paramMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-            JSONObject jsonObject1 = JSONObject.parseObject(post);
-            Map map = (Map) jsonObject1.get("data");
-            List<Map<String, Object>> list = (List) map.get("records");
-            for (Map<String, Object> stringMap : list) {
-                QueryWrapper<FeedingEnv> queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1.eq("farm_id", 26).eq("device_code", stringMap.get("qrcode"));
-                if (ObjectUtil.isEmpty(envMapper.selectOne(queryWrapper1))) {
-                    FeedingEnv feedingEnv = new FeedingEnv();
-                    feedingEnv.setFarmId(26);
-                    feedingEnv.setUnitName(feedArea.getName());
-                    feedingEnv.setUnitId(Integer.parseInt(feedArea.getUnitId()));
-                    feedingEnv.setDeviceType(feedArea.getType());
-                    feedingEnv.setDeviceCode(stringMap.get("qrcode").toString());
-                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-                    feedingEnv.setLastTime(dateFormat.parse((String) stringMap.get("createTime")));
-                    feedingEnv.setOnlineStatus((Integer) stringMap.get("feedStatus"));
-                    envMapper.insert(feedingEnv);
-                } else {
-                    if (StringUtils.isNotBlank(stringMap.get("earTag").toString())) {
-                        FeedingEnv feedingEnv = envMapper.selectOne(queryWrapper1);
-                        feedingEnv.setEartag(stringMap.get("earTag").toString());
-                        String status = stringMap.get("swAlram").toString();
-                        if ("0".equals(status)) {
-                            feedingEnv.setOnlineStatus(0);
-                        } else {
-                            feedingEnv.setOnlineStatus(1);
-                        }
-                        envMapper.updateById(feedingEnv);
-                    }
-
-                }
-
-            }
-        }
-    }
-}
+//        }
+//    }
+//}

+ 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);
+//        }
+//
+//    }
+//}

File diff ditekan karena terlalu besar
+ 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);
+//            }
+//        }
+//    }
+//
+//}

File diff ditekan karena terlalu besar
+ 569 - 569
huimv-admin/src/main/java/com/huimv/admin/timer/ProtTimer.java


File diff ditekan karena terlalu besar
+ 528 - 528
huimv-admin/src/main/java/com/huimv/admin/timer/ShenChanTimer.java


File diff ditekan karena terlalu besar
+ 2974 - 2974
huimv-admin/src/main/java/com/huimv/admin/timer/WaterAndElcTimer.java


+ 8 - 1
huimv-receive/src/main/java/com/huimv/receive/common/utils/FlowUtil.java

@@ -10,7 +10,7 @@ public class FlowUtil {
     public Object getEntity(Integer nextFlowId, Integer vistitType, String destName, Integer destId, Integer userId,
     public Object getEntity(Integer nextFlowId, Integer vistitType, String destName, Integer destId, Integer userId,
                             String userName, String phone, LocalDateTime vistitDate, Integer locationId,
                             String userName, String phone, LocalDateTime vistitDate, Integer locationId,
                             String locationName, Integer farmId, Integer processId, String departureName,
                             String locationName, Integer farmId, Integer processId, String departureName,
-                            Integer departureId,Integer midId,String midName) {
+                            Integer departureId,Integer midId,String midName,String farmName) {
         if (nextFlowId == 1) {
         if (nextFlowId == 1) {
             BillSampling billSampling = new BillSampling();
             BillSampling billSampling = new BillSampling();
             billSampling.setVistitType(vistitType);
             billSampling.setVistitType(vistitType);
@@ -29,6 +29,7 @@ public class FlowUtil {
             billSampling.setDepartureName(departureName);
             billSampling.setDepartureName(departureName);
             billSampling.setMidId(midId);
             billSampling.setMidId(midId);
             billSampling.setMidName(midName);
             billSampling.setMidName(midName);
+            billSampling.setFarmName(farmName);
             return billSampling;
             return billSampling;
         } else if (nextFlowId == 2) {
         } else if (nextFlowId == 2) {
             BillPcr billPcr = new BillPcr();
             BillPcr billPcr = new BillPcr();
@@ -48,6 +49,7 @@ public class FlowUtil {
             billPcr.setDepartureName(departureName);
             billPcr.setDepartureName(departureName);
             billPcr.setMidId(midId);
             billPcr.setMidId(midId);
             billPcr.setMidName(midName);
             billPcr.setMidName(midName);
+            billPcr.setFarmName(farmName);
             return billPcr;
             return billPcr;
         } else if (nextFlowId == 3) {
         } else if (nextFlowId == 3) {
             BillClean billClean = new BillClean();
             BillClean billClean = new BillClean();
@@ -67,6 +69,7 @@ public class FlowUtil {
             billClean.setDepartureName(departureName);
             billClean.setDepartureName(departureName);
             billClean.setMidId(midId);
             billClean.setMidId(midId);
             billClean.setMidName(midName);
             billClean.setMidName(midName);
+            billClean.setFarmName(farmName);
             return billClean;
             return billClean;
         } else if (nextFlowId == 4) {
         } else if (nextFlowId == 4) {
             BillIsolate billIsolate = new BillIsolate();
             BillIsolate billIsolate = new BillIsolate();
@@ -86,6 +89,7 @@ public class FlowUtil {
             billIsolate.setDepartureName(departureName);
             billIsolate.setDepartureName(departureName);
             billIsolate.setMidId(midId);
             billIsolate.setMidId(midId);
             billIsolate.setMidName(midName);
             billIsolate.setMidName(midName);
+            billIsolate.setFarmName(farmName);
             return billIsolate;
             return billIsolate;
         } else if (nextFlowId == 5) {
         } else if (nextFlowId == 5) {
             BillDry billDry = new BillDry();
             BillDry billDry = new BillDry();
@@ -105,6 +109,7 @@ public class FlowUtil {
             billDry.setDepartureName(departureName);
             billDry.setDepartureName(departureName);
             billDry.setMidId(midId);
             billDry.setMidId(midId);
             billDry.setMidName(midName);
             billDry.setMidName(midName);
+            billDry.setFarmName(farmName);
             return billDry;
             return billDry;
         } else if (nextFlowId == 6) {
         } else if (nextFlowId == 6) {
             BillCleanBefore billCleanBefore = new BillCleanBefore();
             BillCleanBefore billCleanBefore = new BillCleanBefore();
@@ -124,6 +129,7 @@ public class FlowUtil {
             billCleanBefore.setDepartureName(departureName);
             billCleanBefore.setDepartureName(departureName);
             billCleanBefore.setMidId(midId);
             billCleanBefore.setMidId(midId);
             billCleanBefore.setMidName(midName);
             billCleanBefore.setMidName(midName);
+            billCleanBefore.setFarmName(farmName);
             return billCleanBefore;
             return billCleanBefore;
         } else{
         } else{
             BillGoodsInventory billCleanBefore = new BillGoodsInventory();
             BillGoodsInventory billCleanBefore = new BillGoodsInventory();
@@ -144,6 +150,7 @@ public class FlowUtil {
             billCleanBefore.setProcessId(processId);
             billCleanBefore.setProcessId(processId);
             billCleanBefore.setMidId(midId);
             billCleanBefore.setMidId(midId);
             billCleanBefore.setMidName(midName);
             billCleanBefore.setMidName(midName);
+            billCleanBefore.setFarmName(farmName);
             return billCleanBefore;
             return billCleanBefore;
         }
         }
     }
     }

+ 2 - 2
huimv-receive/src/main/java/com/huimv/receive/controller/BaseProcessController.java

@@ -37,8 +37,8 @@ public class BaseProcessController {
     }
     }
 
 
     @PostMapping("/listAll")
     @PostMapping("/listAll")
-    public Result listAll(@RequestBody Map<String,String> map) {
-        return processService.listAll(map);
+    public Result listAll(HttpServletRequest httpServletRequest,@RequestBody Map<String,String> map) {
+        return processService.listAll(httpServletRequest,map);
     }
     }
 
 
     @PostMapping("/edit")
     @PostMapping("/edit")

+ 15 - 0
huimv-receive/src/main/java/com/huimv/receive/controller/BillPcrController.java

@@ -62,6 +62,21 @@ public class BillPcrController {
                           @RequestParam(value = "picture3",required = false) MultipartFile picture3) throws ParseException, IOException {
                           @RequestParam(value = "picture3",required = false) MultipartFile picture3) throws ParseException, IOException {
         return pcrService.edit(httpServletRequest, farmId,id,date,result,img1,img2,img3,picture1,picture2,picture3);
         return pcrService.edit(httpServletRequest, farmId,id,date,result,img1,img2,img3,picture1,picture2,picture3);
     }
     }
+
+    @RequestMapping("/editBatch")
+    public Result editBatch(HttpServletRequest httpServletRequest,
+                          @RequestParam("farmId") String farmId,
+                          @RequestParam("ids") String ids,
+                          @RequestParam("date") String date,
+                          @RequestParam("result") String result,
+                          @RequestParam(value = "img1",required = false) MultipartFile img1,
+                          @RequestParam(value = "img2",required = false) MultipartFile img2,
+                          @RequestParam(value = "img3",required = false) MultipartFile img3,
+                          @RequestParam(value = "picture1",required = false) MultipartFile picture1,
+                          @RequestParam(value = "picture2",required = false) MultipartFile picture2,
+                          @RequestParam(value = "picture3",required = false) MultipartFile picture3) throws ParseException, IOException {
+        return pcrService.editBatch(httpServletRequest, farmId,ids,date,result,img1,img2,img3,picture1,picture2,picture3);
+    }
     @Autowired
     @Autowired
     private IBillPcrService billPcrService;
     private IBillPcrService billPcrService;
 
 

+ 2 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/BillClean.java

@@ -133,4 +133,6 @@ public class BillClean implements Serializable {
     private Integer midId;
     private Integer midId;
 
 
     private String midName;
     private String midName;
+
+    private String farmName;
 }
 }

+ 2 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/BillCleanBefore.java

@@ -144,4 +144,6 @@ public class BillCleanBefore implements Serializable {
     private Integer midId;
     private Integer midId;
 
 
     private String midName;
     private String midName;
+
+    private String farmName;
 }
 }

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/entity/BillDry.java

@@ -147,5 +147,5 @@ public class BillDry implements Serializable {
     private Integer midId;
     private Integer midId;
 
 
     private String midName;
     private String midName;
-
+    private String farmName;
 }
 }

+ 2 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/BillGoodsInventory.java

@@ -134,4 +134,6 @@ public class BillGoodsInventory implements Serializable {
     private Integer midId;
     private Integer midId;
 
 
     private String midName;
     private String midName;
+
+    private String farmName;
 }
 }

+ 2 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/BillIsolate.java

@@ -153,4 +153,6 @@ public class BillIsolate implements Serializable {
     private Integer midId;
     private Integer midId;
 
 
     private String midName;
     private String midName;
+
+    private String farmName;
 }
 }

+ 2 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/BillPcr.java

@@ -154,4 +154,6 @@ public class BillPcr implements Serializable {
     private Integer midId;
     private Integer midId;
 
 
     private String midName;
     private String midName;
+
+    private String farmName;
 }
 }

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/entity/BillSampling.java

@@ -155,5 +155,5 @@ public class BillSampling implements Serializable {
     private Integer midId;
     private Integer midId;
 
 
     private String midName;
     private String midName;
-
+    private String farmName;
 }
 }

+ 4 - 0
huimv-receive/src/main/java/com/huimv/receive/mapper/BillCleanMapper.java

@@ -29,6 +29,8 @@ public interface BillCleanMapper extends BaseMapper<BillClean> {
 
 
     Page<CleanAndDryVo2> CleanAndDry(Page<CleanAndDryVo2> page, String farmId, String type, String[] status, String[] locations);
     Page<CleanAndDryVo2> CleanAndDry(Page<CleanAndDryVo2> page, String farmId, String type, String[] status, String[] locations);
 
 
+    Page<CleanAndDryVo2> CleanAndDryNo(Page<CleanAndDryVo2> page, String type, String[] status, String[] locations);
+
     Page<CleanAndDryVo2> CleanAndDry2(Page<CleanAndDryVo2> page, String farmId, String[] status);
     Page<CleanAndDryVo2> CleanAndDry2(Page<CleanAndDryVo2> page, String farmId, String[] status);
 
 
     Page<CleanAndDryVo2> CleanList(Page<CleanAndDryVo2> page, String farmId, String[] status, String location);
     Page<CleanAndDryVo2> CleanList(Page<CleanAndDryVo2> page, String farmId, String[] status, String location);
@@ -37,5 +39,7 @@ public interface BillCleanMapper extends BaseMapper<BillClean> {
 
 
     Page<CleanDryGoodsVo> listCleanDryGoods(Page<CleanDryGoodsVo> page, String farmId, String type, String[] status, String[] locations);
     Page<CleanDryGoodsVo> listCleanDryGoods(Page<CleanDryGoodsVo> page, String farmId, String type, String[] status, String[] locations);
 
 
+    Page<CleanDryGoodsVo> listCleanDryGoodsNo(Page<CleanDryGoodsVo> page, String type, String[] status, String[] locations);
+
     Page<CleanDryGoodsVo> listCleanDryGoods2(Page<CleanDryGoodsVo> page, String farmId, String type, String[] status, String[] locations);
     Page<CleanDryGoodsVo> listCleanDryGoods2(Page<CleanDryGoodsVo> page, String farmId, String type, String[] status, String[] locations);
 }
 }

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/service/IBaseProcessService.java

@@ -24,7 +24,7 @@ public interface IBaseProcessService extends IService<BaseProcess> {
     Result pageByLocationId(Map<String, String> map);
     Result pageByLocationId(Map<String, String> map);
 
 
     //进程展示
     //进程展示
-    Result listAll(Map<String, String> map);
+    Result listAll(HttpServletRequest httpServletRequest,Map<String, String> map);
 
 
     //进程终止
     //进程终止
     Result edit(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
     Result edit(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

+ 5 - 0
huimv-receive/src/main/java/com/huimv/receive/service/IBillPcrService.java

@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.text.ParseException;
 import java.text.ParseException;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -26,6 +27,10 @@ public interface IBillPcrService extends IService<BillPcr> {
 
 
     Result edit(HttpServletRequest httpServletRequest, String farmId, String id, String date, String result,
     Result edit(HttpServletRequest httpServletRequest, String farmId, String id, String date, String result,
                 MultipartFile img1, MultipartFile img2, MultipartFile img3, MultipartFile picture1, MultipartFile picture2, MultipartFile picture3) throws ParseException, IOException;
                 MultipartFile img1, MultipartFile img2, MultipartFile img3, MultipartFile picture1, MultipartFile picture2, MultipartFile picture3) throws ParseException, IOException;
+
+    //pcr批量修改
+    Result editBatch(HttpServletRequest httpServletRequest,String farmId, String ids, String date, String result,
+                     MultipartFile img1, MultipartFile img2, MultipartFile img3, MultipartFile picture1, MultipartFile picture2, MultipartFile picture3) throws ParseException, IOException;
     Result listPersonalPcr(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
     Result listPersonalPcr(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 
 
     //后台总体概况
     //后台总体概况

+ 29 - 3
huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseProcessServiceImpl.java

@@ -48,6 +48,12 @@ public class BaseProcessServiceImpl extends ServiceImpl<BaseProcessMapper, BaseP
     private BillSamplingMapper samplingMapper;
     private BillSamplingMapper samplingMapper;
     @Autowired
     @Autowired
     private BillGoodsInventoryMapper goodsInventoryMapper;
     private BillGoodsInventoryMapper goodsInventoryMapper;
+    @Autowired
+    private BillPersonnelAdmissionMapper admissionMapper;
+    @Autowired
+    private SysAccountMultilevelMapper accountMultilevelMapper;
+    @Autowired
+    private SysUserMapper userMapper;
     @Override
     @Override
     public Result getOne(Map<String, String> map) {
     public Result getOne(Map<String, String> map) {
         String id = map.get("processId");
         String id = map.get("processId");
@@ -87,7 +93,9 @@ public class BaseProcessServiceImpl extends ServiceImpl<BaseProcessMapper, BaseP
     }
     }
 
 
     @Override
     @Override
-    public Result listAll(Map<String, String> map) {
+    public Result listAll(HttpServletRequest httpServletRequest,Map<String, String> map) {
+        Integer id = TokenSign.getMemberIdByJwtToken(httpServletRequest);//账户id
+        SysAccountMultilevel sysAccountMultilevel = accountMultilevelMapper.selectById(id);
         String farmId = map.get("farmId");
         String farmId = map.get("farmId");
         String type = map.get("type");//0 全部 1进行中 2 已完成
         String type = map.get("type");//0 全部 1进行中 2 已完成
         String pageNum = map.get("pageNum");
         String pageNum = map.get("pageNum");
@@ -96,7 +104,6 @@ public class BaseProcessServiceImpl extends ServiceImpl<BaseProcessMapper, BaseP
             type = "0";
             type = "0";
         }
         }
         QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
         QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("a.farm_id", farmId);
         if ("0".equals(type)) {
         if ("0".equals(type)) {
             queryWrapper.in("a.process_type", 0, 1, 2,3);
             queryWrapper.in("a.process_type", 0, 1, 2,3);
         } else if ("1".equals(type)) {
         } else if ("1".equals(type)) {
@@ -107,7 +114,19 @@ public class BaseProcessServiceImpl extends ServiceImpl<BaseProcessMapper, BaseP
         queryWrapper.orderByDesc("a.sub_date");
         queryWrapper.orderByDesc("a.sub_date");
         Page<ProcessVo> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         Page<ProcessVo> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         QueryWrapper<BaseProcess> queryWrapper1 = new QueryWrapper<>();
         QueryWrapper<BaseProcess> queryWrapper1 = new QueryWrapper<>();
-        queryWrapper1.eq("farm_id", farmId).eq("process_type", 0);
+        if (sysAccountMultilevel.getType() == 3) {
+            SysUser user = userMapper.selectById(sysAccountMultilevel.getUserId());
+            if (user.getIsAllFarm() == 1) {
+                queryWrapper1.eq("process_type", 0);
+            } else {
+                queryWrapper1.eq("farm_id", farmId).eq("process_type", 0);
+                queryWrapper.eq("a.farm_id", farmId);
+            }
+        } else {
+            queryWrapper1.eq("farm_id", farmId).eq("process_type", 0);
+            queryWrapper.eq("a.farm_id", farmId);
+        }
+
         return new Result(ResultCode.SUCCESS, baseProcessMapper.listAll(queryWrapper, page),baseProcessMapper.selectCount(queryWrapper1));
         return new Result(ResultCode.SUCCESS, baseProcessMapper.listAll(queryWrapper, page),baseProcessMapper.selectCount(queryWrapper1));
     }
     }
 
 
@@ -131,6 +150,13 @@ public class BaseProcessServiceImpl extends ServiceImpl<BaseProcessMapper, BaseP
         String ss2=allLocationId.substring(0, a) + '4' + allLocationId.substring(a + 1);
         String ss2=allLocationId.substring(0, a) + '4' + allLocationId.substring(a + 1);
         baseProcess.setAllLocationStatus(ss2);
         baseProcess.setAllLocationStatus(ss2);
 
 
+        //入场申请未审核,直接结束流程
+        if (currentFlowId.length() == 1 && "0".equals(currentFlowId)) {
+            BillPersonnelAdmission admission = admissionMapper.selectOne(new QueryWrapper<BillPersonnelAdmission>().eq("process_id", processId));
+            admission.setBillStatus(2);
+            admissionMapper.updateById(admission);
+        }
+
         String s = currentFlowId.substring(currentFlowId.length() - 1);
         String s = currentFlowId.substring(currentFlowId.length() - 1);
         if ("1".equals(s)) {
         if ("1".equals(s)) {
             BillSampling billSampling = samplingMapper.selectOne(new QueryWrapper<BillSampling>()
             BillSampling billSampling = samplingMapper.selectOne(new QueryWrapper<BillSampling>()

+ 7 - 5
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillCleanBeforeServiceImpl.java

@@ -122,11 +122,12 @@ public class BillCleanBeforeServiceImpl extends ServiceImpl<BillCleanBeforeMappe
     @Override
     @Override
     public Result edit(HttpServletRequest httpServletRequest, String farmId, String id, String date, MultipartFile img) throws ParseException, IOException {
     public Result edit(HttpServletRequest httpServletRequest, String farmId, String id, String date, MultipartFile img) throws ParseException, IOException {
         String s = "";
         String s = "";
-        if (uploadImage.getImageCom(img).equals("上传失败")) {
+        String imgCom = uploadImage.getImageCom(img);
+        if (imgCom.equals("上传失败")) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return new Result(10001, "图片1上传失败", false);
             return new Result(10001, "图片1上传失败", false);
         }
         }
-        s = uploadImage.uploadImg(img);
+        s = imgCom;
 
 
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
 
 
@@ -167,7 +168,7 @@ public class BillCleanBeforeServiceImpl extends ServiceImpl<BillCleanBeforeMappe
                 cleanBefore.getAdmissionUserId(), cleanBefore.getVistitDate(), cleanBefore.getSubDate(),
                 cleanBefore.getAdmissionUserId(), cleanBefore.getVistitDate(), cleanBefore.getSubDate(),
                 cleanBefore.getProcessId(), Integer.parseInt(cleanBefore.getFarmId()), cleanBefore.getTestLocation(), cleanBefore.getTestLocationId(),
                 cleanBefore.getProcessId(), Integer.parseInt(cleanBefore.getFarmId()), cleanBefore.getTestLocation(), cleanBefore.getTestLocationId(),
                 cleanBefore.getVistitType(), cleanBefore.getPhone(), cleanBefore.getDepartureName(), cleanBefore.getDepartureId()
                 cleanBefore.getVistitType(), cleanBefore.getPhone(), cleanBefore.getDepartureName(), cleanBefore.getDepartureId()
-                ,cleanBefore.getMidId(),cleanBefore.getMidName());
+                ,cleanBefore.getMidId(),cleanBefore.getMidName(),cleanBefore.getFarmName());
         if (nextId == 0) {
         if (nextId == 0) {
             if (split.length == 1) {
             if (split.length == 1) {
                 baseProcess.setProcessType(1);
                 baseProcess.setProcessType(1);
@@ -196,8 +197,8 @@ public class BillCleanBeforeServiceImpl extends ServiceImpl<BillCleanBeforeMappe
                 FlowUtil flowUtil = new FlowUtil();
                 FlowUtil flowUtil = new FlowUtil();
                 Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), cleanBefore.getVistitType(), cleanBefore.getDestName()
                 Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), cleanBefore.getVistitType(), cleanBefore.getDestName()
                         , cleanBefore.getDestId(), cleanBefore.getAdmissionUserId(), cleanBefore.getAdmissionUserName(), cleanBefore.getPhone(),
                         , cleanBefore.getDestId(), cleanBefore.getAdmissionUserId(), cleanBefore.getAdmissionUserName(), cleanBefore.getPhone(),
-                        cleanBefore.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
-                        , baseProcess.getId(), cleanBefore.getDepartureName(), cleanBefore.getDepartureId(),cleanBefore.getMidId(),cleanBefore.getMidName());
+                        cleanBefore.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(cleanBefore.getFarmId())
+                        , baseProcess.getId(), cleanBefore.getDepartureName(), cleanBefore.getDepartureId(),cleanBefore.getMidId(),cleanBefore.getMidName(),cleanBefore.getFarmName());
                 if (Integer.parseInt(split[1]) == 1) {
                 if (Integer.parseInt(split[1]) == 1) {
                     //新增采样
                     //新增采样
                     BillSampling billSampling = (BillSampling) entity;
                     BillSampling billSampling = (BillSampling) entity;
@@ -221,6 +222,7 @@ public class BillCleanBeforeServiceImpl extends ServiceImpl<BillCleanBeforeMappe
                         billClean.setFeedImgUrl(cleanBefore.getFeedImgUrl());
                         billClean.setFeedImgUrl(cleanBefore.getFeedImgUrl());
                         billClean.setRemark(cleanBefore.getRemark());
                         billClean.setRemark(cleanBefore.getRemark());
                     }
                     }
+
                     pcrMapper.insert(billClean);
                     pcrMapper.insert(billClean);
                 } else if (Integer.parseInt(split[1]) == 3) {
                 } else if (Integer.parseInt(split[1]) == 3) {
                     //新增洗澡
                     //新增洗澡

+ 84 - 32
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillCleanServiceImpl.java

@@ -102,6 +102,11 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 queryWrapper.eq("bill_status", 1);
                 queryWrapper.eq("bill_status", 1);
             }
             }
             QueryWrapper<BillClean> queryWrapper2 = new QueryWrapper<>();
             QueryWrapper<BillClean> queryWrapper2 = new QueryWrapper<>();
+            if (baseLocation.getId() == 47) {
+            } else {
+                queryWrapper.eq("farm_id", farmId);
+                queryWrapper2.eq("farm_id", farmId);
+            }
             queryWrapper2.eq("vistit_type", type).orderByDesc("sub_date")
             queryWrapper2.eq("vistit_type", type).orderByDesc("sub_date")
                     .eq("test_location_id", baseLocation.getId()).eq("bill_status", 0);
                     .eq("test_location_id", baseLocation.getId()).eq("bill_status", 0);
 
 
@@ -117,7 +122,11 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
             if ("0".equals(data)) {
             if ("0".equals(data)) {
                 String[] s = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
                 String[] s = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
                 System.out.println("传入自定义sql的位置参数形式:" + s);
                 System.out.println("传入自定义sql的位置参数形式:" + s);
-                cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, "0,1".split(","), s);
+                if (Integer.parseInt(TokenSign.getWorkIdByJwtToken(httpServletRequest)) == 47) {
+                    cleanDryGoodPage = cleanMapper.listCleanDryGoodsNo(page, type, "0,1,2,3".split(","), s);
+                } else {
+                    cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, "0,1,2,3".split(","), s);
+                }
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
@@ -127,7 +136,11 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 ArrayList<String> arrayList = new ArrayList<>();
                 ArrayList<String> arrayList = new ArrayList<>();
                 arrayList.add("0");
                 arrayList.add("0");
                 String[] s = arrayList.toArray(new String[arrayList.size()]);
                 String[] s = arrayList.toArray(new String[arrayList.size()]);
-                cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, s, ids);
+                if (Integer.parseInt(TokenSign.getWorkIdByJwtToken(httpServletRequest)) == 47) {
+                    cleanDryGoodPage = cleanMapper.listCleanDryGoodsNo(page, type, s, ids);
+                } else {
+                    cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, s, ids);
+                }
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
@@ -137,13 +150,25 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 ArrayList<String> arrayList = new ArrayList<>();
                 ArrayList<String> arrayList = new ArrayList<>();
                 arrayList.add("1");
                 arrayList.add("1");
                 String[] s = arrayList.toArray(new String[arrayList.size()]);
                 String[] s = arrayList.toArray(new String[arrayList.size()]);
-                cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, s, ids);
+                if (Integer.parseInt(TokenSign.getWorkIdByJwtToken(httpServletRequest)) == 47) {
+                    cleanDryGoodPage = cleanMapper.listCleanDryGoodsNo(page, type, s, ids);
+                } else {
+                    cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, s, ids);
+                }
+                if (Integer.parseInt(TokenSign.getWorkIdByJwtToken(httpServletRequest)) == 47) {
+
+                } else {
+                    queryWrapper.eq("farm_id", farmId);
+                    queryWrapper2.eq("farm_id", farmId);
+                    queryWrapper3.eq("farm_id", farmId);
+                }
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
             }
             }
-            queryWrapper.eq("img_status", 0);
-            queryWrapper2.eq("img_status", 0);
+
+            queryWrapper.eq("bill_status", 0);
+            queryWrapper2.eq("bill_status", 0);
             queryWrapper3.eq("bill_status", 0);
             queryWrapper3.eq("bill_status", 0);
             Integer integer = cleanMapper.selectCount(queryWrapper);
             Integer integer = cleanMapper.selectCount(queryWrapper);
             Integer integer1 = dryMapper.selectCount(queryWrapper2);
             Integer integer1 = dryMapper.selectCount(queryWrapper2);
@@ -159,7 +184,13 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
             if ("0".equals(data)) {
             if ("0".equals(data)) {
                 String[] s = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
                 String[] s = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
                 System.out.println("传入自定义sql的位置参数形式:" + s);
                 System.out.println("传入自定义sql的位置参数形式:" + s);
-                cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, "0,1".split(","), s);
+                if (Integer.parseInt(TokenSign.getWorkIdByJwtToken(httpServletRequest)) == 47) {
+                    cleanAndDryVo2Page = cleanMapper.CleanAndDryNo(page, type, "0,1".split(","), s);
+                } else {
+                    cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, "0,1".split(","), s);
+                    queryWrapper.eq("farm_id",farmId);
+                    queryWrapper2.eq("farm_id", farmId);
+                }
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
             }
             }
@@ -168,7 +199,13 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 ArrayList<String> arrayList = new ArrayList<>();
                 ArrayList<String> arrayList = new ArrayList<>();
                 arrayList.add("0");
                 arrayList.add("0");
                 String[] s = arrayList.toArray(new String[arrayList.size()]);
                 String[] s = arrayList.toArray(new String[arrayList.size()]);
-                cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, s, ids);
+                if (Integer.parseInt(TokenSign.getWorkIdByJwtToken(httpServletRequest)) == 47) {
+                    cleanAndDryVo2Page = cleanMapper.CleanAndDryNo(page, type, s, ids);
+                } else {
+                    cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, s, ids);
+                    queryWrapper.eq("farm_id",farmId);
+                    queryWrapper2.eq("farm_id", farmId);
+                }
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
             }
             }
@@ -177,12 +214,18 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 ArrayList<String> arrayList = new ArrayList<>();
                 ArrayList<String> arrayList = new ArrayList<>();
                 arrayList.add("1");
                 arrayList.add("1");
                 String[] s = arrayList.toArray(new String[arrayList.size()]);
                 String[] s = arrayList.toArray(new String[arrayList.size()]);
-                cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, s, ids);
+                if (Integer.parseInt(TokenSign.getWorkIdByJwtToken(httpServletRequest)) == 47) {
+                    cleanAndDryVo2Page = cleanMapper.CleanAndDryNo(page, type, s, ids);
+                } else {
+                    cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, s, ids);
+                    queryWrapper.eq("farm_id",farmId);
+                    queryWrapper2.eq("farm_id", farmId);
+                }
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
                 queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
             }
             }
-            queryWrapper.eq("img_status", 0);
-            queryWrapper2.eq("img_status", 0);
+            queryWrapper.eq("bill_status", 0);
+            queryWrapper2.eq("bill_status", 0);
             Integer integer = cleanMapper.selectCount(queryWrapper);
             Integer integer = cleanMapper.selectCount(queryWrapper);
             Integer integer1 = dryMapper.selectCount(queryWrapper2);
             Integer integer1 = dryMapper.selectCount(queryWrapper2);
             return new Result(ResultCode.SUCCESS, cleanAndDryVo2Page, integer + integer1);
             return new Result(ResultCode.SUCCESS, cleanAndDryVo2Page, integer + integer1);
@@ -302,7 +345,7 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 billClean.setTestLocationId(baseLocation.getId());
                 billClean.setTestLocationId(baseLocation.getId());
                 billClean.setCheckDate(sdf.parse(date));
                 billClean.setCheckDate(sdf.parse(date));
                 billClean.setPassDate(sdf.parse(sdf.format(new Date())));
                 billClean.setPassDate(sdf.parse(sdf.format(new Date())));
-                billClean.setCleanTime("10");
+                billClean.setCleanTime("20");
 
 
                 if (exist.getExist() == 0) {
                 if (exist.getExist() == 0) {
                     if (baseLocation.getId() == 1 && baseProcess.getDestId() > 2) {
                     if (baseLocation.getId() == 1 && baseProcess.getDestId() > 2) {
@@ -499,7 +542,7 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 billClean.setTestLocationId(baseLocation.getId());
                 billClean.setTestLocationId(baseLocation.getId());
                 billClean.setCheckDate(sdf.parse(date));
                 billClean.setCheckDate(sdf.parse(date));
                 billClean.setPassDate(sdf.parse(sdf.format(new Date())));
                 billClean.setPassDate(sdf.parse(sdf.format(new Date())));
-                billClean.setCleanTime("10");
+                billClean.setCleanTime("20");
 
 
 
 
                 if (baseProcess.getDestId() == 1) {
                 if (baseProcess.getDestId() == 1) {
@@ -574,7 +617,7 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
             billClean.setTestLocationId(baseLocation.getId());
             billClean.setTestLocationId(baseLocation.getId());
             billClean.setCheckDate(sdf.parse(date));
             billClean.setCheckDate(sdf.parse(date));
             billClean.setPassDate(sdf.parse(sdf.format(new Date())));
             billClean.setPassDate(sdf.parse(sdf.format(new Date())));
-            billClean.setCleanTime("10");
+            billClean.setCleanTime("20");
 
 
             baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
             baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
             baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
             baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
@@ -839,39 +882,44 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
         String s4 = "";
         String s4 = "";
         String s5 = "";
         String s5 = "";
         if (ObjectUtil.isNotEmpty(img1)) {
         if (ObjectUtil.isNotEmpty(img1)) {
-            if (uploadImage.getImageCom(img1).equals("上传失败")) {
+            String imageCom = uploadImage.getImageCom(img1);
+            if (imageCom.equals("上传失败")) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return new Result(10001, "图片1上传失败", false);
                 return new Result(10001, "图片1上传失败", false);
             }
             }
-            s1 = uploadImage.uploadImg(img1);
+            s1 = imageCom;
         }
         }
         if (ObjectUtil.isNotEmpty(img2)) {
         if (ObjectUtil.isNotEmpty(img2)) {
-            if (uploadImage.getImageCom(img2).equals("上传失败")) {
+            String imageCom = uploadImage.getImageCom(img2);
+            if (imageCom.equals("上传失败")) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return new Result(10001, "图片2上传失败", false);
                 return new Result(10001, "图片2上传失败", false);
             }
             }
-            s2 = "," + uploadImage.uploadImg(img2);
+            s2 = "," + imageCom;
         }
         }
         if (ObjectUtil.isNotEmpty(img3)) {
         if (ObjectUtil.isNotEmpty(img3)) {
-            if (uploadImage.getImageCom(img3).equals("上传失败")) {
+            String imageCom = uploadImage.getImageCom(img3);
+            if (imageCom.equals("上传失败")) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return new Result(10001, "图片3上传失败", false);
                 return new Result(10001, "图片3上传失败", false);
             }
             }
-            s3 = "," + uploadImage.uploadImg(img3);
+            s3 = "," + imageCom;
         }
         }
         if (ObjectUtil.isNotEmpty(img4)) {
         if (ObjectUtil.isNotEmpty(img4)) {
-            if (uploadImage.getImageCom(img4).equals("上传失败")) {
+            String imageCom = uploadImage.getImageCom(img4);
+            if (imageCom.equals("上传失败")) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return new Result(10001, "图片4上传失败", false);
                 return new Result(10001, "图片4上传失败", false);
             }
             }
-            s4 = "," + uploadImage.uploadImg(img4);
+            s4 = "," + imageCom;
         }
         }
         if (ObjectUtil.isNotEmpty(img5)) {
         if (ObjectUtil.isNotEmpty(img5)) {
-            if (uploadImage.getImageCom(img5).equals("上传失败")) {
+            String imageCom = uploadImage.getImageCom(img5);
+            if (imageCom.equals("上传失败")) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return new Result(10001, "图片5上传失败", false);
                 return new Result(10001, "图片5上传失败", false);
             }
             }
-            s5 = "," + uploadImage.uploadImg(img5);
+            s5 = "," + imageCom;
         }
         }
         String s = s1 + s2 + s3 + s4 + s5;
         String s = s1 + s2 + s3 + s4 + s5;
 
 
@@ -881,7 +929,7 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 return new Result(10001, "此条记录已被他人修改,请退出刷新查看!", false);
                 return new Result(10001, "此条记录已被他人修改,请退出刷新查看!", false);
             }
             }
             QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
             QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
+            queryWrapper.eq("id", billClean.getProcessId());
             BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
             BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
             QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
             QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
             locationQueryWrapper.eq("id", billClean.getTestLocationId());
             locationQueryWrapper.eq("id", billClean.getTestLocationId());
@@ -904,13 +952,14 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 billClean.setPassDate(sdf.parse(sdf.format(new Date())));
                 billClean.setPassDate(sdf.parse(sdf.format(new Date())));
                 billClean.setImgUrl(s);
                 billClean.setImgUrl(s);
                 billClean.setImgStatus(1);
                 billClean.setImgStatus(1);
-                billClean.setCleanTime("10");
+                billClean.setCleanTime("20");
                 cleanMapper.updateById(billClean);
                 cleanMapper.updateById(billClean);
 
 
                 Object newObject = BillPcrServiceImpl.getNewObject(nextId, billClean.getDestName(), billClean.getDestId(), billClean.getAdmissionUserName(),
                 Object newObject = BillPcrServiceImpl.getNewObject(nextId, billClean.getDestName(), billClean.getDestId(), billClean.getAdmissionUserName(),
                         billClean.getAdmissionUserId(), billClean.getVistitDate(), billClean.getSubDate(),
                         billClean.getAdmissionUserId(), billClean.getVistitDate(), billClean.getSubDate(),
                         billClean.getProcessId(), billClean.getFarmId(), billClean.getTestLocation(), billClean.getTestLocationId(),
                         billClean.getProcessId(), billClean.getFarmId(), billClean.getTestLocation(), billClean.getTestLocationId(),
-                        billClean.getVistitType(), billClean.getPhone(), billClean.getDepartureName(), billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName());
+                        billClean.getVistitType(), billClean.getPhone(), billClean.getDepartureName(), billClean.getDepartureId(),
+                        billClean.getMidId(),billClean.getMidName(),billClean.getFarmName());
                 if (nextId == 0) {
                 if (nextId == 0) {
                     if (splits.length == 1) {
                     if (splits.length == 1) {
                         baseProcess.setProcessType(1);
                         baseProcess.setProcessType(1);
@@ -939,8 +988,9 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                         FlowUtil flowUtil = new FlowUtil();
                         FlowUtil flowUtil = new FlowUtil();
                         Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billClean.getVistitType(), billClean.getDestName()
                         Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billClean.getVistitType(), billClean.getDestName()
                                 , billClean.getDestId(), billClean.getAdmissionUserId(), billClean.getAdmissionUserName(), billClean.getPhone(),
                                 , billClean.getDestId(), billClean.getAdmissionUserId(), billClean.getAdmissionUserName(), billClean.getPhone(),
-                                billClean.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
-                                , baseProcess.getId(), billClean.getDepartureName(), billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName());
+                                billClean.getVistitDate(), location.getId(), location.getLocationName(),  billClean.getFarmId()
+                                , baseProcess.getId(), billClean.getDepartureName(), billClean.getDepartureId(),
+                                billClean.getMidId(),billClean.getMidName(),billClean.getFarmName());
                         if (Integer.parseInt(splits[1]) == 1) {
                         if (Integer.parseInt(splits[1]) == 1) {
                             //新增采样
                             //新增采样
                             BillSampling billSampling = (BillSampling) entity;
                             BillSampling billSampling = (BillSampling) entity;
@@ -1191,7 +1241,7 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                 return new Result(10001, "此条记录已被他人修改,请退出刷新查看!", false);
                 return new Result(10001, "此条记录已被他人修改,请退出刷新查看!", false);
             }
             }
             QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
             QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
+            queryWrapper.eq("id", billClean.getProcessId());
             BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
             BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
             QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
             QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
             locationQueryWrapper.eq("id", billClean.getTestLocationId());
             locationQueryWrapper.eq("id", billClean.getTestLocationId());
@@ -1226,7 +1276,8 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                     Object newObject = BillPcrServiceImpl.getNewObject(nextId, billClean.getDestName(), billClean.getDestId(), billClean.getAdmissionUserName(),
                     Object newObject = BillPcrServiceImpl.getNewObject(nextId, billClean.getDestName(), billClean.getDestId(), billClean.getAdmissionUserName(),
                             billClean.getAdmissionUserId(), billClean.getVistitDate(), billClean.getSubDate(),
                             billClean.getAdmissionUserId(), billClean.getVistitDate(), billClean.getSubDate(),
                             billClean.getProcessId(), billClean.getFarmId(), billClean.getTestLocation(), billClean.getTestLocationId(),
                             billClean.getProcessId(), billClean.getFarmId(), billClean.getTestLocation(), billClean.getTestLocationId(),
-                            billClean.getVistitType(), billClean.getPhone(), billClean.getDepartureName(), billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName());
+                            billClean.getVistitType(), billClean.getPhone(), billClean.getDepartureName(),
+                            billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName(),billClean.getFarmName());
                     if (nextId == 0) {
                     if (nextId == 0) {
                         if (splits.length == 1) {
                         if (splits.length == 1) {
                             baseProcess.setProcessType(1);
                             baseProcess.setProcessType(1);
@@ -1255,8 +1306,9 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                             FlowUtil flowUtil = new FlowUtil();
                             FlowUtil flowUtil = new FlowUtil();
                             Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billClean.getVistitType(), billClean.getDestName()
                             Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billClean.getVistitType(), billClean.getDestName()
                                     , billClean.getDestId(), billClean.getAdmissionUserId(), billClean.getAdmissionUserName(), billClean.getPhone(),
                                     , billClean.getDestId(), billClean.getAdmissionUserId(), billClean.getAdmissionUserName(), billClean.getPhone(),
-                                    billClean.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
-                                    , baseProcess.getId(), billClean.getDepartureName(), billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName());
+                                    billClean.getVistitDate(), location.getId(), location.getLocationName(),  billClean.getFarmId()
+                                    , baseProcess.getId(), billClean.getDepartureName(),
+                                    billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName(),billClean.getFarmName());
                             if (Integer.parseInt(splits[1]) == 1) {
                             if (Integer.parseInt(splits[1]) == 1) {
                                 //新增采样
                                 //新增采样
                                 BillSampling billSampling = (BillSampling) entity;
                                 BillSampling billSampling = (BillSampling) entity;

+ 8 - 4
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillGoodsInventoryServiceImpl.java

@@ -99,13 +99,16 @@ public class BillGoodsInventoryServiceImpl extends ServiceImpl<BillGoodsInventor
         goodsInventory.setBillStatus(1);
         goodsInventory.setBillStatus(1);
         goodsInventory.setSubDate(LocalDateTime.now());
         goodsInventory.setSubDate(LocalDateTime.now());
 //        goodsInventory.setWayType(wayType);
 //        goodsInventory.setWayType(wayType);
+
         if (ObjectUtil.isNotEmpty(imgUrl)) {
         if (ObjectUtil.isNotEmpty(imgUrl)) {
-            if (uploadImage.getImageCom(imgUrl).equals("上传失败")) {
+            String  imageCom = uploadImage.getImageCom(imgUrl);
+            if (imageCom.equals("上传失败")) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return new Result(10001, "图片1上传失败", false);
                 return new Result(10001, "图片1上传失败", false);
             }
             }
+            goodsInventory.setImgUrl(imageCom);
         }
         }
-        goodsInventory.setImgUrl(uploadImage.getImageCom(imgUrl));
+
 
 
         QueryWrapper<BaseProcess> processQueryWrapper = new QueryWrapper<>();
         QueryWrapper<BaseProcess> processQueryWrapper = new QueryWrapper<>();
         processQueryWrapper.eq("id", goodsInventory.getBillAdmission());
         processQueryWrapper.eq("id", goodsInventory.getBillAdmission());
@@ -127,7 +130,7 @@ public class BillGoodsInventoryServiceImpl extends ServiceImpl<BillGoodsInventor
                 goodsInventory.getAdmissionUserId(), goodsInventory.getVistitDate(), goodsInventory.getSubDate(),
                 goodsInventory.getAdmissionUserId(), goodsInventory.getVistitDate(), goodsInventory.getSubDate(),
                 goodsInventory.getBillAdmission(), Integer.parseInt(goodsInventory.getFarmId()), goodsInventory.getTestLocation(), goodsInventory.getTestLocationId(),
                 goodsInventory.getBillAdmission(), Integer.parseInt(goodsInventory.getFarmId()), goodsInventory.getTestLocation(), goodsInventory.getTestLocationId(),
                 goodsInventory.getVistitType(), goodsInventory.getPhone(), goodsInventory.getDepartureName(), goodsInventory.getDepartureId()
                 goodsInventory.getVistitType(), goodsInventory.getPhone(), goodsInventory.getDepartureName(), goodsInventory.getDepartureId()
-                ,goodsInventory.getMidId(),goodsInventory.getMidName());
+                ,goodsInventory.getMidId(),goodsInventory.getMidName(),goodsInventory.getFarmName());
         if (nextId == 0) {
         if (nextId == 0) {
             if (split.length == 1) {
             if (split.length == 1) {
                 baseProcess.setProcessType(1);
                 baseProcess.setProcessType(1);
@@ -157,7 +160,8 @@ public class BillGoodsInventoryServiceImpl extends ServiceImpl<BillGoodsInventor
                 Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), goodsInventory.getVistitType(), goodsInventory.getDestName()
                 Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), goodsInventory.getVistitType(), goodsInventory.getDestName()
                         , goodsInventory.getDestId(), goodsInventory.getAdmissionUserId(), goodsInventory.getAdmissionUserName(), goodsInventory.getPhone(),
                         , goodsInventory.getDestId(), goodsInventory.getAdmissionUserId(), goodsInventory.getAdmissionUserName(), goodsInventory.getPhone(),
                         goodsInventory.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(goodsInventory.getFarmId())
                         goodsInventory.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(goodsInventory.getFarmId())
-                        , baseProcess.getId(), goodsInventory.getDepartureName(), goodsInventory.getDepartureId(),goodsInventory.getMidId(),goodsInventory.getMidName());
+                        , baseProcess.getId(), goodsInventory.getDepartureName(), goodsInventory.getDepartureId(),goodsInventory.getMidId()
+                        ,goodsInventory.getMidName(),goodsInventory.getFarmName());
                 if (Integer.parseInt(split[1]) == 1) {
                 if (Integer.parseInt(split[1]) == 1) {
                     //新增采样
                     //新增采样
                     BillSampling billSampling = (BillSampling) entity;
                     BillSampling billSampling = (BillSampling) entity;

+ 617 - 13
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPcrServiceImpl.java

@@ -304,7 +304,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
         Page<BillPcr> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         Page<BillPcr> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         String[] locationIds = TokenSign.getWorkIdByJwtToken(httpServletRequest).split(",");
         String[] locationIds = TokenSign.getWorkIdByJwtToken(httpServletRequest).split(",");
         QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
         QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
-        queryWrapper.in("test_location_id", locationIds).orderByDesc("sub_date");
+        queryWrapper/*.in("test_location_id", locationIds)*/.orderByDesc("sub_date");
         if ("0".equals(type)) {
         if ("0".equals(type)) {
             queryWrapper.in("bill_status", 0, 1, 2, 3, 4);
             queryWrapper.in("bill_status", 0, 1, 2, 3, 4);
         }
         }
@@ -318,7 +318,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
             queryWrapper.in("bill_status", 2, 3);
             queryWrapper.in("bill_status", 2, 3);
         }
         }
         QueryWrapper<BillPcr> queryWrapper2 = new QueryWrapper<>();
         QueryWrapper<BillPcr> queryWrapper2 = new QueryWrapper<>();
-        queryWrapper2.in("test_location_id", locationIds).orderByDesc("sub_date");
+        queryWrapper2/*.in("test_location_id", locationIds)*/.orderByDesc("sub_date");
         queryWrapper2.eq("bill_status", 0);
         queryWrapper2.eq("bill_status", 0);
         return new Result(ResultCode.SUCCESS, pcrMapper.selectPage(page, queryWrapper), pcrMapper.selectCount(queryWrapper2));
         return new Result(ResultCode.SUCCESS, pcrMapper.selectPage(page, queryWrapper), pcrMapper.selectCount(queryWrapper2));
     }
     }
@@ -333,7 +333,8 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
     @Override
     @Override
     @Transactional
     @Transactional
     public Result edit(HttpServletRequest httpServletRequest, String farmId, String id, String date, String result,
     public Result edit(HttpServletRequest httpServletRequest, String farmId, String id, String date, String result,
-                       MultipartFile img1, MultipartFile img2, MultipartFile img3, MultipartFile picture1, MultipartFile picture2, MultipartFile picture3) throws ParseException, IOException {
+                       MultipartFile img1, MultipartFile img2, MultipartFile img3, MultipartFile picture1, MultipartFile picture2,
+                       MultipartFile picture3) throws ParseException, IOException {
         //1为合格2为异常
         //1为合格2为异常
         String s1 = "";
         String s1 = "";
         String s2 = "";
         String s2 = "";
@@ -453,7 +454,8 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                 Object newObject = getNewObject(nextId, billPcr.getDestName(), billPcr.getDestId(), billPcr.getAdmissionUserName(),
                 Object newObject = getNewObject(nextId, billPcr.getDestName(), billPcr.getDestId(), billPcr.getAdmissionUserName(),
                         billPcr.getAdmissionUserId(), billPcr.getVistitDate(), billPcr.getSubDate(),
                         billPcr.getAdmissionUserId(), billPcr.getVistitDate(), billPcr.getSubDate(),
                         billPcr.getProcessId(), billPcr.getFarmId(), billPcr.getTestLocation(), billPcr.getTestLocationId(),
                         billPcr.getProcessId(), billPcr.getFarmId(), billPcr.getTestLocation(), billPcr.getTestLocationId(),
-                        billPcr.getVistitType(), billPcr.getPhone(), billPcr.getDepartureName(), billPcr.getDepartureId(),billPcr.getMidId(),billPcr.getMidName());
+                        billPcr.getVistitType(), billPcr.getPhone(), billPcr.getDepartureName(), billPcr.getDepartureId()
+                        ,billPcr.getMidId(),billPcr.getMidName(),billPcr.getFarmName());
                 System.out.println("这里是pcr通过的下一个流程id:" + nextId);
                 System.out.println("这里是pcr通过的下一个流程id:" + nextId);
                 if (nextId == 0) {
                 if (nextId == 0) {
                     if (split.length == 1) {
                     if (split.length == 1) {
@@ -491,6 +493,20 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                                 SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
                                 SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
                                 peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
                                 peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
                                 peopleListMapper.insert(peopleList);
                                 peopleListMapper.insert(peopleList);
+                                if ("31".equals(farmId)) {
+                                    //凤行门禁单独的
+                                    PeopleList peopleList1 = new PeopleList();
+                                    peopleList1.setFarmId("31");
+                                    peopleList1.setDeviceCode(deviceList.getDeviceCode());
+                                    peopleList1.setUserId(billPcr.getProcessId().toString());
+                                    peopleList1.setUserName(billPcr.getAdmissionUserName());
+                                    peopleList1.setPassword("123456");
+                                    peopleList1.setType(0);
+                                    peopleList1.setCreateTime(new Date());
+                                    peopleList.setOutTime(date1);
+                                    peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                    peopleListMapper.insert(peopleList1);
+                                }
                             }
                             }
                             //人员基地外围
                             //人员基地外围
                             if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
                             if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
@@ -498,8 +514,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                                 PeopleList peopleList = new PeopleList();
                                 PeopleList peopleList = new PeopleList();
                                 peopleList.setFarmId(billPcr.getFarmId().toString());
                                 peopleList.setFarmId(billPcr.getFarmId().toString());
                                 peopleList.setDeviceCode(deviceList.getDeviceCode());
                                 peopleList.setDeviceCode(deviceList.getDeviceCode());
-                                UUID uuid = UUID.randomUUID();
-                                peopleList.setUserId(uuid.toString());
+                                peopleList.setUserId(billPcr.getProcessId().toString());
                                 peopleList.setUserName(billPcr.getAdmissionUserName());
                                 peopleList.setUserName(billPcr.getAdmissionUserName());
                                 peopleList.setPassword("123456");
                                 peopleList.setPassword("123456");
                                 peopleList.setType(0);
                                 peopleList.setType(0);
@@ -529,8 +544,8 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                         FlowUtil flowUtil = new FlowUtil();
                         FlowUtil flowUtil = new FlowUtil();
                         Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), billPcr.getVistitType(), billPcr.getDestName()
                         Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), billPcr.getVistitType(), billPcr.getDestName()
                                 , billPcr.getDestId(), billPcr.getAdmissionUserId(), billPcr.getAdmissionUserName(), billPcr.getPhone(),
                                 , billPcr.getDestId(), billPcr.getAdmissionUserId(), billPcr.getAdmissionUserName(), billPcr.getPhone(),
-                                billPcr.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
-                                , baseProcess.getId(), billPcr.getDepartureName(), billPcr.getDepartureId(),billPcr.getMidId(),billPcr.getMidName());
+                                billPcr.getVistitDate(), location.getId(), location.getLocationName(), billPcr.getFarmId()
+                                , baseProcess.getId(), billPcr.getDepartureName(), billPcr.getDepartureId(),billPcr.getMidId(),billPcr.getMidName(),billPcr.getFarmName());
                         if (Integer.parseInt(split[1]) == 1) {
                         if (Integer.parseInt(split[1]) == 1) {
                             //新增采样
                             //新增采样
                             BillSampling billSampling = (BillSampling) entity;
                             BillSampling billSampling = (BillSampling) entity;
@@ -565,6 +580,20 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                                     SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
                                     SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
                                     peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
                                     peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
                                     peopleListMapper.insert(peopleList);
                                     peopleListMapper.insert(peopleList);
+                                    if ("31".equals(farmId)) {
+                                        //凤行门禁单独的
+                                        PeopleList peopleList1 = new PeopleList();
+                                        peopleList1.setFarmId("31");
+                                        peopleList1.setDeviceCode(deviceList.getDeviceCode());
+                                        peopleList1.setUserId(billPcr.getProcessId().toString());
+                                        peopleList1.setUserName(billPcr.getAdmissionUserName());
+                                        peopleList1.setPassword("123456");
+                                        peopleList1.setType(0);
+                                        peopleList1.setCreateTime(new Date());
+                                        peopleList.setOutTime(date1);
+                                        peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                        peopleListMapper.insert(peopleList1);
+                                    }
                                 }
                                 }
                                 //人员基地外围
                                 //人员基地外围
                                 if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
                                 if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
@@ -572,8 +601,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                                     PeopleList peopleList = new PeopleList();
                                     PeopleList peopleList = new PeopleList();
                                     peopleList.setFarmId(billPcr.getFarmId().toString());
                                     peopleList.setFarmId(billPcr.getFarmId().toString());
                                     peopleList.setDeviceCode(deviceList.getDeviceCode());
                                     peopleList.setDeviceCode(deviceList.getDeviceCode());
-                                    UUID uuid = UUID.randomUUID();
-                                    peopleList.setUserId(uuid.toString());
+                                    peopleList.setUserId(billPcr.getProcessId().toString());
                                     peopleList.setUserName(billPcr.getAdmissionUserName());
                                     peopleList.setUserName(billPcr.getAdmissionUserName());
                                     peopleList.setPassword("123456");
                                     peopleList.setPassword("123456");
                                     peopleList.setType(0);
                                     peopleList.setType(0);
@@ -739,6 +767,20 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                             SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
                             SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
                             peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
                             peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
                             peopleListMapper.insert(peopleList);
                             peopleListMapper.insert(peopleList);
+                            if ("31".equals(farmId)) {
+                                //凤行门禁单独的
+                                PeopleList peopleList1 = new PeopleList();
+                                peopleList1.setFarmId("31");
+                                peopleList1.setDeviceCode(deviceList.getDeviceCode());
+                                peopleList1.setUserId(billPcr.getProcessId().toString());
+                                peopleList1.setUserName(billPcr.getAdmissionUserName());
+                                peopleList1.setPassword("123456");
+                                peopleList1.setType(0);
+                                peopleList1.setCreateTime(new Date());
+                                peopleList.setOutTime(date1);
+                                peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                peopleListMapper.insert(peopleList1);
+                            }
                         }
                         }
                         //人员基地外围
                         //人员基地外围
                         if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
                         if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
@@ -746,8 +788,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                             PeopleList peopleList = new PeopleList();
                             PeopleList peopleList = new PeopleList();
                             peopleList.setFarmId(billPcr.getFarmId().toString());
                             peopleList.setFarmId(billPcr.getFarmId().toString());
                             peopleList.setDeviceCode(deviceList.getDeviceCode());
                             peopleList.setDeviceCode(deviceList.getDeviceCode());
-                            UUID uuid = UUID.randomUUID();
-                            peopleList.setUserId(uuid.toString());
+                            peopleList.setUserId(billPcr.getProcessId().toString());
                             peopleList.setUserName(billPcr.getAdmissionUserName());
                             peopleList.setUserName(billPcr.getAdmissionUserName());
                             peopleList.setPassword("123456");
                             peopleList.setPassword("123456");
                             peopleList.setType(0);
                             peopleList.setType(0);
@@ -864,6 +905,562 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
         }
         }
     }
     }
 
 
+    @Override
+    @Transactional
+    public Result editBatch(HttpServletRequest httpServletRequest,String farmId,  String ids, String date, String result,
+                            MultipartFile img1, MultipartFile img2, MultipartFile img3, MultipartFile picture1, MultipartFile picture2, MultipartFile picture3) throws ParseException, IOException {
+
+        String s1 = "";
+        String s2 = "";
+        String s3 = "";
+        if (ObjectUtil.isNotEmpty(img1)) {
+            s1 = uploadImage.uploadImg(img1);
+            if (s1.equals("上传失败")) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return new Result(10001, "检测图片1上传失败", false);
+            }
+        }
+        if (ObjectUtil.isNotEmpty(img2)) {
+            String s = uploadImage.uploadImg(img2);
+            s2 = "," + s;
+            if (s.equals("上传失败")) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return new Result(10001, "检测图片2上传失败", false);
+            }
+        }
+        if (ObjectUtil.isNotEmpty(img3)) {
+            String s = uploadImage.uploadImg(img3);
+            s3 = "," + s;
+            if (s.equals("上传失败")) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return new Result(10001, "检测图片3上传失败", false);
+            }
+        }
+        String s = s1 + s2 + s3;
+        String picUrl = null;
+        if (ObjectUtil.isNotEmpty(picture1)){
+            String pic1 = uploadImage.getImageCom(picture1);
+            if (pic1.equals("上传失败")){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return new Result(10001, "物品检测图片1上传失败", false);
+            }else {
+                picUrl = pic1;
+            }
+        }
+        if (ObjectUtil.isNotEmpty(picture2)){
+            String pic2 = uploadImage.getImageCom(picture2);
+            if (pic2.equals("上传失败")){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return new Result(10001, "物品检测图片2上传失败", false);
+            }else {
+                picUrl = picUrl + ","+pic2;
+            }
+        }
+        if (ObjectUtil.isNotEmpty(picture3)){
+            String pic3 = uploadImage.getImageCom(picture3);
+            if (pic3.equals("上传失败")){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return new Result(10001, "物品检测图片3上传失败", false);
+            }else {
+                picUrl = picUrl + ","+pic3;
+            }
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+        if (StringUtils.isBlank(date)) {
+            date = sdf.format(new Date());
+        }
+
+        String[] splits = ids.split(",");
+        for (String id : splits) {
+            //1为合格2为异常
+            BillPcr billPcr = pcrMapper.selectById(id);
+            if (billPcr.getBillStatus() != 0) {
+                return new Result(10001, "此条记录已被他人修改,请退出刷新查看!", false);
+            }
+            billPcr.setImgUrl(s);
+            billPcr.setImgStatus(1);
+            if (billPcr.getVistitType() == 0){
+                if (ObjectUtil.isNotEmpty(picUrl)){
+                    billPcr.setIsCarry(1);
+                    billPcr.setPicUrl(picUrl);
+                }else {
+                    billPcr.setIsCarry(0);
+                }
+            }
+
+
+            QueryWrapper<BaseProcess> processQueryWrapper = new QueryWrapper<>();
+            processQueryWrapper.eq("id", billPcr.getProcessId());
+            BaseProcess baseProcess = processMapper.selectOne(processQueryWrapper);//进程
+
+            QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
+            locationQueryWrapper.eq("id", billPcr.getTestLocationId());
+            BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前pcr检测所在的位置
+
+            String allLocationId = baseProcess.getAllLocationId();//所有的位置id
+            String allFlowId = baseProcess.getAllFlowId();//所有的流程id
+            String currentFlowId = baseProcess.getCurrentFlowId();//当前已经完成的流程id
+            String substring1 = allFlowId.substring(currentFlowId.length() + 1, allFlowId.length());
+            String[] split = substring1.split(",");
+            Integer nextId = Integer.parseInt(split[0]);
+
+
+            if (billPcr.getBillStatus() != 0) {
+                return new Result(10001, "该订单已通过,无需再次提交!", false);
+            }
+            if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
+                return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
+            } else {
+                if ("1".equals(result)) {
+                    Integer pcrTime = washoutPointMapper.selectOne(new QueryWrapper<BaseWashoutPoint>().eq("farm_ids", baseProcess.getFarmId())
+                            .eq("visiting_type", billPcr.getVistitType()).eq("mid_id",billPcr.getMidId())
+                            .eq("location_id", baseLocation.getId())).getPcrTime();
+                    System.out.println("pcr的下一个流程id:" + nextId);
+                    billPcr.setBillStatus(1);
+                    billPcr.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
+                    billPcr.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
+                    billPcr.setTestLocation(baseLocation.getLocationName());
+                    billPcr.setTestLocationId(baseLocation.getId());
+                    billPcr.setCheckDate(sdf.parse(date));
+                    billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
+                    billPcr.setQualifiedDate(pcrTime);
+
+
+                    Object newObject = getNewObject(nextId, billPcr.getDestName(), billPcr.getDestId(), billPcr.getAdmissionUserName(),
+                            billPcr.getAdmissionUserId(), billPcr.getVistitDate(), billPcr.getSubDate(),
+                            billPcr.getProcessId(), billPcr.getFarmId(), billPcr.getTestLocation(), billPcr.getTestLocationId(),
+                            billPcr.getVistitType(), billPcr.getPhone(), billPcr.getDepartureName(), billPcr.getDepartureId(),billPcr.getMidId()
+                            ,billPcr.getMidName(),billPcr.getFarmName());
+                    System.out.println("这里是pcr通过的下一个流程id:" + nextId);
+                    if (nextId == 0) {
+                        if (split.length == 1) {
+                            baseProcess.setProcessType(1);
+                            String[] strings = allLocationId.split(",");
+                            String ss2 = "";
+                            for (int i = 0; i < strings.length; i++) {
+                                strings[i].replaceAll(strings[i], "2");
+                                if (i == strings.length - 1) {
+                                    ss2 = ss2 + strings[i].replaceAll(strings[i], "2");
+                                } else {
+                                    ss2 = strings[i].replaceAll(strings[i], "2") + "," + ss2;
+                                }
+                            }
+                            baseProcess.setAllLocationStatus(ss2);
+                            //下发人脸门禁白名单
+                            if (billPcr.getVistitType() == 0) {
+                                //人员隔离中心流程
+                                if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                                    DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "2"));
+                                    PeopleList peopleList = new PeopleList();
+                                    peopleList.setFarmId("2");
+                                    peopleList.setDeviceCode(deviceList.getDeviceCode());
+                                    peopleList.setUserId(billPcr.getProcessId().toString());
+                                    peopleList.setUserName(billPcr.getAdmissionUserName());
+                                    peopleList.setPassword("123456");
+                                    peopleList.setType(0);
+                                    peopleList.setCreateTime(new Date());
+                                    Date now = new Date();
+                                    Calendar calendar = Calendar.getInstance();
+                                    calendar.setTime(now);
+                                    calendar.add(Calendar.HOUR_OF_DAY, 4);
+                                    Date date1 = calendar.getTime();
+                                    peopleList.setOutTime(date1);
+                                    SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
+                                    peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                    peopleListMapper.insert(peopleList);
+                                }
+                                //人员基地外围
+                                if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                                    DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
+                                    PeopleList peopleList = new PeopleList();
+                                    peopleList.setFarmId(billPcr.getFarmId().toString());
+                                    peopleList.setDeviceCode(deviceList.getDeviceCode());
+                                    peopleList.setUserId(billPcr.getProcessId().toString());
+                                    peopleList.setUserName(billPcr.getAdmissionUserName());
+                                    peopleList.setPassword("123456");
+                                    peopleList.setType(0);
+                                    peopleList.setCreateTime(new Date());
+                                    Date now = new Date();
+                                    Calendar calendar = Calendar.getInstance();
+                                    calendar.setTime(now);
+                                    calendar.add(Calendar.HOUR_OF_DAY, 4);
+                                    Date date1 = calendar.getTime();
+                                    peopleList.setOutTime(date1);
+                                    SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
+                                    peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                    peopleListMapper.insert(peopleList);
+                                }
+                            }
+                        } else {
+                            String[] strings = allLocationId.split(",");
+                            Integer index = 0;
+                            for (int i = 0; i < strings.length; i++) {
+                                if ((baseLocation.getId().toString()).equals(strings[i])) {
+                                    index = i;
+                                }
+                            }
+                            QueryWrapper<BaseLocation> queryWrapper = new QueryWrapper();
+                            queryWrapper.eq("id", strings[index + 2]);
+                            BaseLocation location = locationMapper.selectOne(queryWrapper);
+                            FlowUtil flowUtil = new FlowUtil();
+                            Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), billPcr.getVistitType(), billPcr.getDestName()
+                                    , billPcr.getDestId(), billPcr.getAdmissionUserId(), billPcr.getAdmissionUserName(), billPcr.getPhone(),
+                                    billPcr.getVistitDate(), location.getId(), location.getLocationName(), billPcr.getFarmId()
+                                    , baseProcess.getId(), billPcr.getDepartureName(), billPcr.getDepartureId(),billPcr.getMidId(),billPcr.getMidName(),billPcr.getFarmName());
+                            if (Integer.parseInt(split[1]) == 1) {
+                                //新增采样
+                                BillSampling billSampling = (BillSampling) entity;
+                                if (billPcr.getVistitType() != 0) {
+                                    billSampling.setCarNum(billPcr.getCarNum());
+                                }
+                                if (billPcr.getVistitType() == 5) {
+                                    billSampling.setResource(billPcr.getResource());
+                                    billSampling.setFeedImgUrl(billPcr.getFeedImgUrl());
+                                    billSampling.setRemark(billPcr.getRemark());
+                                }
+                                samplingMapper.insert(billSampling);
+                                //下发人脸门禁白名单
+                                if (billPcr.getVistitType() == 0) {
+                                    //人员隔离中心流程
+                                    if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                                        DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "2"));
+                                        PeopleList peopleList = new PeopleList();
+                                        peopleList.setFarmId("2");
+                                        peopleList.setDeviceCode(deviceList.getDeviceCode());
+                                        peopleList.setUserId(billPcr.getProcessId().toString());
+                                        peopleList.setUserName(billPcr.getAdmissionUserName());
+                                        peopleList.setPassword("123456");
+                                        peopleList.setType(0);
+                                        peopleList.setCreateTime(new Date());
+                                        Date now = new Date();
+                                        Calendar calendar = Calendar.getInstance();
+                                        calendar.setTime(now);
+                                        calendar.add(Calendar.HOUR_OF_DAY, 4);
+                                        Date date1 = calendar.getTime();
+                                        peopleList.setOutTime(date1);
+                                        SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
+                                        peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                        peopleListMapper.insert(peopleList);
+                                    }
+                                    //人员基地外围
+                                    if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                                        DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
+                                        PeopleList peopleList = new PeopleList();
+                                        peopleList.setFarmId(billPcr.getFarmId().toString());
+                                        peopleList.setDeviceCode(deviceList.getDeviceCode());
+                                        peopleList.setUserId(billPcr.getProcessId().toString());
+                                        peopleList.setUserName(billPcr.getAdmissionUserName());
+                                        peopleList.setPassword("123456");
+                                        peopleList.setType(0);
+                                        peopleList.setCreateTime(new Date());
+                                        Date now = new Date();
+                                        Calendar calendar = Calendar.getInstance();
+                                        calendar.setTime(now);
+                                        calendar.add(Calendar.HOUR_OF_DAY, 4);
+                                        Date date1 = calendar.getTime();
+                                        peopleList.setOutTime(date1);
+                                        SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
+                                        peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                        peopleListMapper.insert(peopleList);
+                                    }
+                                }
+                            } else if (Integer.parseInt(split[1]) == 2) {
+                                //新增pcr
+                                BillPcr billClean = (BillPcr) entity;
+                                if (billPcr.getVistitType() != 0) {
+                                    billClean.setCarNum(billPcr.getCarNum());
+                                }
+                                if (billPcr.getVistitType() == 5) {
+                                    billClean.setResource(billPcr.getResource());
+                                    billClean.setFeedImgUrl(billPcr.getFeedImgUrl());
+                                    billClean.setRemark(billPcr.getRemark());
+                                }
+                                pcrMapper.insert(billClean);
+                            } else if (Integer.parseInt(split[1]) == 3) {
+                                //新增洗澡
+                                BillClean billClean = (BillClean) entity;
+                                if (billPcr.getVistitType() != 0) {
+                                    billClean.setCarNum(billPcr.getCarNum());
+                                }
+                                if (billPcr.getVistitType() == 5) {
+                                    billClean.setResource(billPcr.getResource());
+                                    billClean.setFeedImgUrl(billPcr.getFeedImgUrl());
+                                    billClean.setRemark(billPcr.getRemark());
+                                }
+                                cleanMapper.insert(billClean);
+                            } else if (Integer.parseInt(split[1]) == 4) {
+                                //新增隔离
+                                BillIsolate pcr = (BillIsolate) entity;
+                                if (billPcr.getVistitType() != 0) {
+                                    pcr.setCarNum(billPcr.getCarNum());
+                                }
+                                if (billPcr.getVistitType() == 5) {
+                                    pcr.setResource(billPcr.getResource());
+                                    pcr.setFeedImgUrl(billPcr.getFeedImgUrl());
+                                    pcr.setRemark(billPcr.getRemark());
+                                }
+                                isolateMapper.insert(pcr);
+                            } else if (Integer.parseInt(split[1]) == 5) {
+                                BillDry billClean = (BillDry) entity;
+                                if (billPcr.getVistitType() != 0) {
+                                    billClean.setCarNum(billPcr.getCarNum());
+                                }
+                                if (billPcr.getVistitType() == 5) {
+                                    billClean.setResource(billPcr.getResource());
+                                    billClean.setFeedImgUrl(billPcr.getFeedImgUrl());
+                                    billClean.setRemark(billPcr.getRemark());
+                                }
+                                dryMapper.insert(billClean);
+                                //新增烘干
+                            } else if (Integer.parseInt(split[1]) == 6) {
+                                //新增洗澡前拍照
+                                BillCleanBefore before = (BillCleanBefore) entity;
+                                if (billPcr.getVistitType() != 0) {
+                                    before.setCarNum(billPcr.getCarNum());
+                                }
+                                if (billPcr.getVistitType() == 5) {
+                                    before.setResource(billPcr.getResource());
+                                    before.setFeedImgUrl(billPcr.getFeedImgUrl());
+                                    before.setRemark(billPcr.getRemark());
+                                }
+                                beforeMapper.insert(before);
+                            } else if (Integer.parseInt(split[1]) == 7) {
+                                //新增洗澡前拍照
+                                BillGoodsInventory before = (BillGoodsInventory) entity;
+                                if (billPcr.getVistitType() != 0) {
+                                    before.setCarNum(billPcr.getCarNum());
+                                }
+                                if (billPcr.getVistitType() == 5) {
+                                    before.setResource(billPcr.getResource());
+                                    before.setFeedImgUrl(billPcr.getFeedImgUrl());
+                                    before.setRemark(billPcr.getRemark());
+                                }
+                                inventoryMapper.insert(before);
+                            }
+                            baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId + "," + split[1]);
+
+                            Integer locationId = billPcr.getTestLocationId();
+                            String[] split2 = allLocationId.split(",");
+                            int a = 0;
+                            for (int i = 0; i < split2.length; i++) {
+                                if (locationId.toString().equals(split2[i])) {
+                                    a = i + 1;
+                                }
+                            }
+                            int indexOf = 2 * (a - 2);//当前位置在所有流程位置中的下标
+
+                            String substring = baseProcess.getAllLocationStatus().substring(0, indexOf + 3);//截取已经过的位置状态
+                            String[] split1 = substring.split(",");
+                            String sb2 = "";
+                            for (int i = 0; i < split1.length; i++) {
+                                if (i == split1.length - 1) {
+                                    sb2 = sb2 + split1[i].replaceAll(split1[i], "2");
+                                } else {
+                                    sb2 = split1[i].replaceAll(split1[i], "2") + "," + sb2;
+                                }
+                            }
+                            sb2 = sb2 + baseProcess.getAllLocationStatus().substring(indexOf + 3);
+                            StringBuilder sb = new StringBuilder(sb2);
+                            sb.replace(indexOf + 4, indexOf + 5, "2");
+                            sb.replace(indexOf + 6, indexOf + 7, "1");
+                            baseProcess.setAllLocationStatus(sb.toString());
+
+                        }
+                    } else if (nextId == 1) {
+                        //新增采样
+                        BillSampling billSampling = (BillSampling) newObject;
+                        if (billPcr.getVistitType() != 0) {
+                            billSampling.setCarNum(billPcr.getCarNum());
+                        }
+                        if (billPcr.getVistitType() == 5) {
+                            billSampling.setResource(billPcr.getResource());
+                            billSampling.setFeedImgUrl(billPcr.getFeedImgUrl());
+                            billSampling.setRemark(billPcr.getRemark());
+                        }
+                        samplingMapper.insert(billSampling);
+                        baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
+                    } else if (nextId == 2) {
+                        //新增pcr
+                        BillPcr billClean = (BillPcr) newObject;
+                        if (billPcr.getVistitType() != 0) {
+                            billClean.setCarNum(billPcr.getCarNum());
+                        }
+                        if (billPcr.getVistitType() == 5) {
+                            billClean.setResource(billPcr.getResource());
+                            billClean.setFeedImgUrl(billPcr.getFeedImgUrl());
+                            billClean.setRemark(billPcr.getRemark());
+                        }
+                        pcrMapper.insert(billClean);
+                        baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
+                        //下发人脸门禁白名单
+                        if (billPcr.getVistitType() == 0) {
+                            //人员隔离中心流程
+                            if (billPcr.getMidId() == 16 || billPcr.getMidId() == 29 || billPcr.getMidId() == 41 || billPcr.getMidId() == 53) {
+                                DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "2"));
+                                PeopleList peopleList = new PeopleList();
+                                peopleList.setFarmId("2");
+                                peopleList.setDeviceCode(deviceList.getDeviceCode());
+                                peopleList.setUserId(billPcr.getProcessId().toString());
+                                peopleList.setUserName(billPcr.getAdmissionUserName());
+                                peopleList.setPassword("123456");
+                                peopleList.setType(0);
+                                peopleList.setCreateTime(new Date());
+                                Date now = new Date();
+                                Calendar calendar = Calendar.getInstance();
+                                calendar.setTime(now);
+                                calendar.add(Calendar.HOUR_OF_DAY, 4);
+                                Date date1 = calendar.getTime();
+                                peopleList.setOutTime(date1);
+                                SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
+                                peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                peopleListMapper.insert(peopleList);
+                            }
+                            //人员基地外围
+                            if (billPcr.getMidId() == 17 || billPcr.getMidId() == 30 || billPcr.getMidId() == 42 || billPcr.getMidId() == 54) {
+                                DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPcr.getFarmId()));
+                                PeopleList peopleList = new PeopleList();
+                                peopleList.setFarmId(billPcr.getFarmId().toString());
+                                peopleList.setDeviceCode(deviceList.getDeviceCode());
+                                peopleList.setUserId(billPcr.getProcessId().toString());
+                                peopleList.setUserName(billPcr.getAdmissionUserName());
+                                peopleList.setPassword("123456");
+                                peopleList.setType(0);
+                                peopleList.setCreateTime(new Date());
+                                Date now = new Date();
+                                Calendar calendar = Calendar.getInstance();
+                                calendar.setTime(now);
+                                calendar.add(Calendar.HOUR_OF_DAY, 4);
+                                Date date1 = calendar.getTime();
+                                peopleList.setOutTime(date1);
+                                SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
+                                peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                                peopleListMapper.insert(peopleList);
+                            }
+                        }
+                    } else if (nextId == 3) {
+                        //新增洗澡
+                        BillClean billClean = (BillClean) newObject;
+                        if (billPcr.getVistitType() != 0) {
+                            billClean.setCarNum(billPcr.getCarNum());
+                        }
+                        if (billPcr.getVistitType() == 5) {
+                            billClean.setResource(billPcr.getResource());
+                            billClean.setFeedImgUrl(billPcr.getFeedImgUrl());
+                            billClean.setRemark(billPcr.getRemark());
+                        }
+                        cleanMapper.insert(billClean);
+                        baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
+                    } else if (nextId == 4) {
+                        //新增隔离
+                        BillIsolate pcr = (BillIsolate) newObject;
+                        if (billPcr.getVistitType() != 0) {
+                            pcr.setCarNum(billPcr.getCarNum());
+                        }
+                        if (billPcr.getVistitType() == 5) {
+                            pcr.setResource(billPcr.getResource());
+                            pcr.setFeedImgUrl(billPcr.getFeedImgUrl());
+                            pcr.setRemark(billPcr.getRemark());
+                        }
+                        isolateMapper.insert(pcr);
+                        baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
+                    } else if (nextId == 5) {
+                        BillDry billClean = (BillDry) newObject;
+                        if (billPcr.getVistitType() != 0) {
+                            billClean.setCarNum(billPcr.getCarNum());
+                        }
+                        if (billPcr.getVistitType() == 5) {
+                            billClean.setResource(billPcr.getResource());
+                            billClean.setFeedImgUrl(billPcr.getFeedImgUrl());
+                            billClean.setRemark(billPcr.getRemark());
+                        }
+                        dryMapper.insert(billClean);
+                        baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
+                        //新增烘干
+                    } else if (nextId == 6) {
+                        //新增洗澡前拍照
+                        BillCleanBefore before = (BillCleanBefore) newObject;
+                        if (billPcr.getVistitType() != 0) {
+                            before.setCarNum(billPcr.getCarNum());
+                        }
+                        if (billPcr.getVistitType() == 5) {
+                            before.setResource(billPcr.getResource());
+                            before.setFeedImgUrl(billPcr.getFeedImgUrl());
+                            before.setRemark(billPcr.getRemark());
+                        }
+                        beforeMapper.insert(before);
+                        baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
+                    } else if (nextId == 7) {
+                        //新增洗澡前拍照
+                        BillGoodsInventory before = (BillGoodsInventory) newObject;
+                        if (billPcr.getVistitType() != 0) {
+                            before.setCarNum(billPcr.getCarNum());
+                        }
+                        if (billPcr.getVistitType() == 5) {
+                            before.setResource(billPcr.getResource());
+                            before.setFeedImgUrl(billPcr.getFeedImgUrl());
+                            before.setRemark(billPcr.getRemark());
+                        }
+                        inventoryMapper.insert(before);
+                        baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
+                    }
+
+                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
+                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
+                    baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
+                    String status = baseProcess.getCurrentStatus();
+                    String substring = status.substring(0, status.length() - 1);
+
+                    baseProcess.setCurrentStatus(substring + "1," + 0);
+
+                    processMapper.updateById(baseProcess);
+                    pcrMapper.updateById(billPcr);
+                    if (billPcr.getVistitType() == 3 && billPcr.getFarmId() == 31 || billPcr.getTestLocationId() == 45) {
+                        //风行下发单独的饲料车流程门禁
+                        DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", "31"));
+                        PeopleList peopleList = new PeopleList();
+                        peopleList.setFarmId("31");
+                        peopleList.setDeviceCode(deviceList.getDeviceCode());
+                        peopleList.setUserId(billPcr.getProcessId().toString());
+                        peopleList.setUserName(billPcr.getAdmissionUserName());
+                        peopleList.setPassword("123456");
+                        peopleList.setType(0);
+                        peopleList.setCreateTime(new Date());
+                        Date now = new Date();
+                        Calendar calendar = Calendar.getInstance();
+                        calendar.setTime(now);
+                        calendar.add(Calendar.HOUR_OF_DAY, 4);
+                        Date date1 = calendar.getTime();
+                        peopleList.setOutTime(date1);
+                        SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPcr.getAdmissionUserId());
+                        peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                        peopleListMapper.insert(peopleList);
+                    }
+
+                    return new Result(10000, "修改成功!", true);
+                } else {
+                    billPcr.setBillStatus(2);
+                    billPcr.setPcrType(1);
+                    billPcr.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
+                    billPcr.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
+                    billPcr.setTestLocation(baseLocation.getLocationName());
+                    billPcr.setTestLocationId(baseLocation.getId());
+                    billPcr.setCheckDate(sdf.parse(date));
+                    billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
+                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
+                    String status = baseProcess.getCurrentStatus();
+                    String substring = status.substring(0, status.length() - 1);
+                    baseProcess.setCurrentStatus(substring + "2," + 0);
+
+                    processMapper.updateById(baseProcess);
+                    pcrMapper.updateById(billPcr);
+                    return new Result(10000, "修改成功!", true);
+                }
+
+            }
+        }
+        return new Result(10000, "修改成功!", true);
+    }
+
     public static void main(String[] args) {
     public static void main(String[] args) {
         Random random = new Random();
         Random random = new Random();
         int randomNum = random.nextInt(90000000) + 1000;
         int randomNum = random.nextInt(90000000) + 1000;
@@ -931,7 +1528,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
 
 
     public static Object getNewObject(Integer id, String destName, Integer destId, String admissionUserName, Integer admissionUserId
     public static Object getNewObject(Integer id, String destName, Integer destId, String admissionUserName, Integer admissionUserId
             , LocalDateTime vistitDate, LocalDateTime subDate, Integer processId, Integer farmId, String testLocation
             , LocalDateTime vistitDate, LocalDateTime subDate, Integer processId, Integer farmId, String testLocation
-            , Integer testLocationId, Integer vistitType, String phone, String departureName, Integer departureId,Integer midId,String midName) {
+            , Integer testLocationId, Integer vistitType, String phone, String departureName, Integer departureId,Integer midId,String midName,String farmName) {
         if (id == 1) {
         if (id == 1) {
             //采样
             //采样
             BillSampling billSampling = new BillSampling();
             BillSampling billSampling = new BillSampling();
@@ -951,6 +1548,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
             billSampling.setDepartureId(departureId);
             billSampling.setDepartureId(departureId);
             billSampling.setMidId(midId);
             billSampling.setMidId(midId);
             billSampling.setMidName(midName);
             billSampling.setMidName(midName);
+            billSampling.setFarmName(farmName);
             return billSampling;
             return billSampling;
         }
         }
         if (id == 2) {
         if (id == 2) {
@@ -973,6 +1571,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
             billPcr.setDepartureId(departureId);
             billPcr.setDepartureId(departureId);
             billPcr.setMidId(midId);
             billPcr.setMidId(midId);
             billPcr.setMidName(midName);
             billPcr.setMidName(midName);
+            billPcr.setFarmName(farmName);
             return billPcr;
             return billPcr;
         }
         }
         if (id == 3) {
         if (id == 3) {
@@ -995,6 +1594,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
             billPcr.setDepartureId(departureId);
             billPcr.setDepartureId(departureId);
             billPcr.setMidId(midId);
             billPcr.setMidId(midId);
             billPcr.setMidName(midName);
             billPcr.setMidName(midName);
+            billPcr.setFarmName(farmName);
             return billPcr;
             return billPcr;
         }
         }
         if (id == 4) {
         if (id == 4) {
@@ -1017,6 +1617,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
             billPcr.setDepartureId(departureId);
             billPcr.setDepartureId(departureId);
             billPcr.setMidId(midId);
             billPcr.setMidId(midId);
             billPcr.setMidName(midName);
             billPcr.setMidName(midName);
+            billPcr.setFarmName(farmName);
             return billPcr;
             return billPcr;
         }
         }
         if (id == 5) {
         if (id == 5) {
@@ -1039,6 +1640,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
             billPcr.setDepartureId(departureId);
             billPcr.setDepartureId(departureId);
             billPcr.setMidId(midId);
             billPcr.setMidId(midId);
             billPcr.setMidName(midName);
             billPcr.setMidName(midName);
+            billPcr.setFarmName(farmName);
             return billPcr;
             return billPcr;
         }
         }
         if (id == 6) {
         if (id == 6) {
@@ -1061,6 +1663,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
             billCleanBefore.setDepartureId(departureId);
             billCleanBefore.setDepartureId(departureId);
             billCleanBefore.setMidId(midId);
             billCleanBefore.setMidId(midId);
             billCleanBefore.setMidName(midName);
             billCleanBefore.setMidName(midName);
+            billCleanBefore.setFarmName(farmName);
             return billCleanBefore;
             return billCleanBefore;
         }
         }
 
 
@@ -1085,6 +1688,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
             billCleanBefore.setProcessId(processId);
             billCleanBefore.setProcessId(processId);
             billCleanBefore.setMidId(midId);
             billCleanBefore.setMidId(midId);
             billCleanBefore.setMidName(midName);
             billCleanBefore.setMidName(midName);
+            billCleanBefore.setFarmName(farmName);
             return billCleanBefore;
             return billCleanBefore;
         }
         }
         return null;
         return null;

+ 83 - 151
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPersonnelAdmissionServiceImpl.java

@@ -596,15 +596,22 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                 SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPersonnelAdmission.getAdmissionUserId());
                 SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPersonnelAdmission.getAdmissionUserId());
                 peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
                 peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
                 peopleListMapper.insert(peopleList);
                 peopleListMapper.insert(peopleList);
-                billPersonnelAdmission.setBillStatus(2);
+
+                billPersonnelAdmission.setBillStatus(1);
                 baseProcess.setProcessType(1);
                 baseProcess.setProcessType(1);
                 baseProcess.setCurrentStatus("2");
                 baseProcess.setCurrentStatus("2");
                 String status = baseProcess.getAllLocationStatus();
                 String status = baseProcess.getAllLocationStatus();
                 String[] split1 = status.split(",");
                 String[] split1 = status.split(",");
-                split1[0] = "3";
+                split1[0] = "2";
                 baseProcess.setAllLocationStatus(split1[0] + status.substring(1));
                 baseProcess.setAllLocationStatus(split1[0] + status.substring(1));
                 baseProcessMapper.updateById(baseProcess);
                 baseProcessMapper.updateById(baseProcess);
                 billPersonnelAdmissionMapper.updateById(billPersonnelAdmission);
                 billPersonnelAdmissionMapper.updateById(billPersonnelAdmission);
+                //如果有物资,则把物资的申请单给结束
+                BillGoodsInventory goodsInventory = billGoodsInventoryMapper.selectOne(new QueryWrapper<BillGoodsInventory>().eq("process_id", baseProcess.getId()));
+                if (ObjectUtil.isNotEmpty(goodsInventory)) {
+                    goodsInventory.setBillStatus(3);
+                    billGoodsInventoryMapper.updateById(goodsInventory);
+                }
                 return Result.SUCCESS();
                 return Result.SUCCESS();
             }
             }
 
 
@@ -658,7 +665,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                             billPersonnelAdmission.getFarmId(),
                             billPersonnelAdmission.getFarmId(),
                             baseProcess.getId(),
                             baseProcess.getId(),
                             billPersonnelAdmission.getDepartureName(),
                             billPersonnelAdmission.getDepartureName(),
-                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                            billPersonnelAdmission.getFarmName());
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         billSampling.setCarNum(billPersonnelAdmission.getCarNum());
                         billSampling.setCarNum(billPersonnelAdmission.getCarNum());
                     }
                     }
@@ -692,7 +700,9 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                             billPersonnelAdmission.getFarmId(),
                             billPersonnelAdmission.getFarmId(),
                             baseProcess.getId(),
                             baseProcess.getId(),
                             billPersonnelAdmission.getDepartureName(),
                             billPersonnelAdmission.getDepartureName(),
-                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(),
+                            billPersonnelAdmission.getMidName(),
+                            billPersonnelAdmission.getFarmName());
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         billPcr.setCarNum(billPersonnelAdmission.getCarNum());
                         billPcr.setCarNum(billPersonnelAdmission.getCarNum());
                     }
                     }
@@ -726,7 +736,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                             billPersonnelAdmission.getFarmId(),
                             billPersonnelAdmission.getFarmId(),
                             baseProcess.getId(),
                             baseProcess.getId(),
                             billPersonnelAdmission.getDepartureName(),
                             billPersonnelAdmission.getDepartureName(),
-                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                            billPersonnelAdmission.getFarmName());
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         billClean.setCarNum(billPersonnelAdmission.getCarNum());
                         billClean.setCarNum(billPersonnelAdmission.getCarNum());
                     }
                     }
@@ -760,7 +771,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                             billPersonnelAdmission.getFarmId(),
                             billPersonnelAdmission.getFarmId(),
                             baseProcess.getId(),
                             baseProcess.getId(),
                             billPersonnelAdmission.getDepartureName(),
                             billPersonnelAdmission.getDepartureName(),
-                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                            billPersonnelAdmission.getFarmName());
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         billIsolate.setCarNum(billPersonnelAdmission.getCarNum());
                         billIsolate.setCarNum(billPersonnelAdmission.getCarNum());
                     }
                     }
@@ -794,7 +806,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                             billPersonnelAdmission.getFarmId(),
                             billPersonnelAdmission.getFarmId(),
                             baseProcess.getId(),
                             baseProcess.getId(),
                             billPersonnelAdmission.getDepartureName(),
                             billPersonnelAdmission.getDepartureName(),
-                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                            billPersonnelAdmission.getFarmName());
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         billDry.setCarNum(billPersonnelAdmission.getCarNum());
                         billDry.setCarNum(billPersonnelAdmission.getCarNum());
                     }
                     }
@@ -828,7 +841,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                             billPersonnelAdmission.getFarmId(),
                             billPersonnelAdmission.getFarmId(),
                             baseProcess.getId(),
                             baseProcess.getId(),
                             billPersonnelAdmission.getDepartureName(),
                             billPersonnelAdmission.getDepartureName(),
-                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                            billPersonnelAdmission.getFarmName());
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         billCleanBefore.setCarNum(billPersonnelAdmission.getCarNum());
                         billCleanBefore.setCarNum(billPersonnelAdmission.getCarNum());
                     }
                     }
@@ -862,7 +876,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                             billPersonnelAdmission.getFarmId(),
                             billPersonnelAdmission.getFarmId(),
                             baseProcess.getId(),
                             baseProcess.getId(),
                             billPersonnelAdmission.getDepartureName(),
                             billPersonnelAdmission.getDepartureName(),
-                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                            billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                            billPersonnelAdmission.getFarmName());
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                     if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         billCleanBefore.setCarNum(billPersonnelAdmission.getCarNum());
                         billCleanBefore.setCarNum(billPersonnelAdmission.getCarNum());
                     }
                     }
@@ -1494,6 +1509,45 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                 if (billPersonnelAdmission.getBillStatus() != 0) {
                 if (billPersonnelAdmission.getBillStatus() != 0) {
                     return new Result(10001, "该订单已通过,无需再次点击!", false);
                     return new Result(10001, "该订单已通过,无需再次点击!", false);
                 }
                 }
+                //新增人员转场,不需要流程,入场审批通过后直接下发门禁,流程结束
+                if (billPersonnelAdmission.getMidId()==60||billPersonnelAdmission.getMidId()==61
+                        ||billPersonnelAdmission.getMidId()==67||billPersonnelAdmission.getMidId()==68) {
+                    DeviceList deviceList = deviceListMapper.selectOne(new QueryWrapper<DeviceList>().eq("farm_id", billPersonnelAdmission.getFarmId()));
+                    PeopleList peopleList = new PeopleList();
+                    peopleList.setFarmId(billPersonnelAdmission.getFarmId().toString());
+                    peopleList.setDeviceCode(deviceList.getDeviceCode());
+                    peopleList.setUserId(billPersonnelAdmission.getProcessId().toString());
+                    peopleList.setUserName(billPersonnelAdmission.getAdmissionUserName());
+                    peopleList.setPassword("123456");
+                    peopleList.setType(0);
+                    peopleList.setCreateTime(new Date());
+                    Date now = new Date();
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(now);
+                    calendar.add(Calendar.HOUR_OF_DAY, 4);
+                    Date date1 = calendar.getTime();
+                    peopleList.setOutTime(date1);
+                    SysAccountMultilevel sysAccountMultilevel = multilevelMapper.selectById(billPersonnelAdmission.getAdmissionUserId());
+                    peopleList.setImgUrl(sysAccountMultilevel.getImgUrl());
+                    peopleListMapper.insert(peopleList);
+
+                    billPersonnelAdmission.setBillStatus(1);
+                    baseProcess.setProcessType(1);
+                    baseProcess.setCurrentStatus("2");
+                    String status = baseProcess.getAllLocationStatus();
+                    String[] split1 = status.split(",");
+                    split1[0] = "2";
+                    baseProcess.setAllLocationStatus(split1[0] + status.substring(1));
+                    baseProcessMapper.updateById(baseProcess);
+                    billPersonnelAdmissionMapper.updateById(billPersonnelAdmission);
+                    //如果有物资,则把物资的申请单给结束
+                    BillGoodsInventory goodsInventory = billGoodsInventoryMapper.selectOne(new QueryWrapper<BillGoodsInventory>().eq("process_id", baseProcess.getId()));
+                    if (ObjectUtil.isNotEmpty(goodsInventory)) {
+                        goodsInventory.setBillStatus(3);
+                        billGoodsInventoryMapper.updateById(goodsInventory);
+                    }
+                    return Result.SUCCESS();
+                }
                 //通过
                 //通过
                 billPersonnelAdmission.setBillStatus(1);
                 billPersonnelAdmission.setBillStatus(1);
 
 
@@ -1543,7 +1597,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                                 billPersonnelAdmission.getFarmId(),
                                 billPersonnelAdmission.getFarmId(),
                                 baseProcess.getId(),
                                 baseProcess.getId(),
                                 billPersonnelAdmission.getDepartureName(),
                                 billPersonnelAdmission.getDepartureName(),
-                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                                billPersonnelAdmission.getFarmName());
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                             billSampling.setCarNum(billPersonnelAdmission.getCarNum());
                             billSampling.setCarNum(billPersonnelAdmission.getCarNum());
                         }
                         }
@@ -1577,7 +1632,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                                 billPersonnelAdmission.getFarmId(),
                                 billPersonnelAdmission.getFarmId(),
                                 baseProcess.getId(),
                                 baseProcess.getId(),
                                 billPersonnelAdmission.getDepartureName(),
                                 billPersonnelAdmission.getDepartureName(),
-                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                                billPersonnelAdmission.getFarmName());
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                             billPcr.setCarNum(billPersonnelAdmission.getCarNum());
                             billPcr.setCarNum(billPersonnelAdmission.getCarNum());
                         }
                         }
@@ -1611,7 +1667,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                                 billPersonnelAdmission.getFarmId(),
                                 billPersonnelAdmission.getFarmId(),
                                 baseProcess.getId(),
                                 baseProcess.getId(),
                                 billPersonnelAdmission.getDepartureName(),
                                 billPersonnelAdmission.getDepartureName(),
-                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                                billPersonnelAdmission.getFarmName());
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                             billClean.setCarNum(billPersonnelAdmission.getCarNum());
                             billClean.setCarNum(billPersonnelAdmission.getCarNum());
                         }
                         }
@@ -1645,7 +1702,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                                 billPersonnelAdmission.getFarmId(),
                                 billPersonnelAdmission.getFarmId(),
                                 baseProcess.getId(),
                                 baseProcess.getId(),
                                 billPersonnelAdmission.getDepartureName(),
                                 billPersonnelAdmission.getDepartureName(),
-                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                                billPersonnelAdmission.getFarmName());
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                             billIsolate.setCarNum(billPersonnelAdmission.getCarNum());
                             billIsolate.setCarNum(billPersonnelAdmission.getCarNum());
                         }
                         }
@@ -1679,7 +1737,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                                 billPersonnelAdmission.getFarmId(),
                                 billPersonnelAdmission.getFarmId(),
                                 baseProcess.getId(),
                                 baseProcess.getId(),
                                 billPersonnelAdmission.getDepartureName(),
                                 billPersonnelAdmission.getDepartureName(),
-                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                                billPersonnelAdmission.getFarmName());
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                             billDry.setCarNum(billPersonnelAdmission.getCarNum());
                             billDry.setCarNum(billPersonnelAdmission.getCarNum());
                         }
                         }
@@ -1713,7 +1772,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                                 billPersonnelAdmission.getFarmId(),
                                 billPersonnelAdmission.getFarmId(),
                                 baseProcess.getId(),
                                 baseProcess.getId(),
                                 billPersonnelAdmission.getDepartureName(),
                                 billPersonnelAdmission.getDepartureName(),
-                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                                billPersonnelAdmission.getFarmName());
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                             billCleanBefore.setCarNum(billPersonnelAdmission.getCarNum());
                             billCleanBefore.setCarNum(billPersonnelAdmission.getCarNum());
                         }
                         }
@@ -1747,7 +1807,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                                 billPersonnelAdmission.getFarmId(),
                                 billPersonnelAdmission.getFarmId(),
                                 baseProcess.getId(),
                                 baseProcess.getId(),
                                 billPersonnelAdmission.getDepartureName(),
                                 billPersonnelAdmission.getDepartureName(),
-                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName());
+                                billPersonnelAdmission.getDepartureId(), billPersonnelAdmission.getMidId(), billPersonnelAdmission.getMidName(),
+                                billPersonnelAdmission.getFarmName());
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                         if (ObjectUtil.isNotEmpty(billPersonnelAdmission.getCarNum())) {
                             billCleanBefore.setCarNum(billPersonnelAdmission.getCarNum());
                             billCleanBefore.setCarNum(billPersonnelAdmission.getCarNum());
                         }
                         }
@@ -1775,137 +1836,6 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                     //TODO 紧急入场通过先不处理
                     //TODO 紧急入场通过先不处理
                 }
                 }
 
 
-                //通过生成门禁白名单
-                QueryWrapper<DeviceList> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("farm_id", billPersonnelAdmission.getFarmId()).eq("location_id", billPersonnelAdmission.getDestId());
-                DeviceList deviceList = deviceListMapper.selectOne(queryWrapper);
-               /* if (ObjectUtil.isNotEmpty(deviceList)) {
-                    if (deviceList.getDeviceType() == 0) {
-                        //通过生成门禁白名单
-                        PeopleList peopleList = new PeopleList();
-                        peopleList.setFarmId(billPersonnelAdmission.getFarmId().toString());
-                        peopleList.setDeviceCode(deviceList.getDeviceCode());
-                        peopleList.setUserId(billPersonnelAdmission.getAdmissionUserId());
-                        peopleList.setUserName(billPersonnelAdmission.getAdmissionUserName());
-                        peopleList.setPassword("123456");
-                        peopleList.setType(0);
-                        peopleList.setCreateTime(new Date());
-                        Date date = new Date();
-                        Calendar calendar = Calendar.getInstance();
-                        calendar.setTime(date);
-                        calendar.add(Calendar.HOUR_OF_DAY, 3);
-                        Date date1 = calendar.getTime();
-                        peopleList.setOutTime(date1);
-                        peopleListMapper.insert(peopleList);
-
-                        HashMap<String, Object> jsonObject = new HashMap<>();
-                        jsonObject.put("seq", deviceList.getDeviceCode());
-//                    String savePath = "D:\\works\\pig_projects\\甜妹.jpg";
-                        String savePath = "/opt/huatong/test.jpg";
-                        URL url = new URL(billPersonnelAdmission.getUserImgUrl());
-                        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
-                        connection.setRequestMethod("GET");
-                        int resCode = connection.getResponseCode();
-                        if (resCode == HttpURLConnection.HTTP_OK) {
-                            InputStream inputStream = connection.getInputStream();
-                            byte[] buffer = new byte[4096];
-                            int length;
-                            //读取数据并写入到文件中
-                            try (FileOutputStream outStream = new FileOutputStream(savePath)) {
-                                while ((length = inputStream.read(buffer)) != -1) {
-                                    outStream.write(buffer, 0, length);
-                                }
-                                outStream.flush();
-                            } finally {
-                                inputStream.close();
-                            }
-                        } else {
-                            System.out.println("文件下载错误码为" + resCode);
-                        }
-
-//                    jsonObject.put("face", FileUtil.file("D:\\works\\pig_projects\\甜妹.jpg"));
-                        jsonObject.put("face", FileUtil.file(savePath));
-                        jsonObject.put("name", billPersonnelAdmission.getAdmissionUserName());
-                        jsonObject.put("password", "123456");
-                        jsonObject.put("timestamp", date1.getTime());
-                        jsonObject.put("uid", billPersonnelAdmission.getAdmissionUserId());
-                        String post = HttpRequest.post("http://127.0.0.1:8050/addDeviceUser")
-                                .header(Header.CONTENT_TYPE, "multipart/form-data")
-                                .form(jsonObject)
-                                .timeout(30 * 1000).execute().body();
-                        System.out.println(post);
-                    } else {
-                        //车辆闸机
-                        PeopleList peopleList = new PeopleList();
-                        peopleList.setFarmId(billPersonnelAdmission.getFarmId().toString());
-                        peopleList.setDeviceCode(deviceList.getDeviceCode());
-                        peopleList.setUserId(billPersonnelAdmission.getAdmissionUserId());
-                        peopleList.setUserName(billPersonnelAdmission.getAdmissionUserName());
-                        peopleList.setPassword("123456");
-                        peopleList.setType(1);
-                        peopleList.setCreateTime(new Date());
-                        Date date = new Date();
-                        Calendar calendar = Calendar.getInstance();
-                        calendar.setTime(date);
-                        calendar.add(Calendar.HOUR_OF_DAY, 3);
-                        Date date1 = calendar.getTime();
-                        peopleList.setOutTime(date1);
-                        peopleListMapper.insert(peopleList);
-
-                        //需要先验证车辆是否存在白名单内,如果车辆已存在于白名单当中,则需要更新白名单,将车牌从白名单中删除后
-                        //重新进行添加,如果车辆不存在于白名单当中则直接添加入白名单
-                        JSONObject jsonObject = new JSONObject();
-                        jsonObject.put("seq", deviceList.getDeviceCode());
-                        jsonObject.put("isBlack", false);
-                        String request = HttpRequest.get("http://127.0.0.1:8050/getCarDeviceWoBList")
-                                .body(jsonObject.toJSONString())
-                                .header(Header.CONTENT_TYPE, "application/json")
-                                .timeout(30 * 1000).execute().body();
-                        JSONObject object = JSON.parseObject(request);
-                        System.out.println(object);
-                        JSONArray data = (JSONArray) object.get("data");
-                        System.out.println(data);
-                        if (data.size() > 0) {
-                            for (int i = 0; i < data.size(); i++) {
-                                JSONObject jsonObject1 = (JSONObject) data.get(i);
-                                if (jsonObject1.get("plate").equals(billPersonnelAdmission.getCarNum())) {
-                                    JSONObject jsonObject2 = new JSONObject();
-                                    jsonObject2.put("isBlack", false);
-                                    jsonObject2.put("seq", deviceList.getDeviceCode());
-                                    List<Integer> list = new ArrayList<>();
-                                    list.add((Integer) jsonObject1.get("cid"));
-                                    jsonObject2.put("cids", list);
-
-                                    String body = HttpRequest.post(" http://127.0.0.1:8050/delCarDeviceWoBList").header(Header.CONTENT_TYPE, "application/json")
-                                            .body(jsonObject2.toJSONString())
-                                            .timeout(30 * 1000).execute().body();
-                                    System.out.println(body);
-                                }
-                            }
-                        }
-
-
-                        JSONObject jsonObject1 = new JSONObject();
-                        JSONArray jsonArray = new JSONArray();
-                        JSONObject object1 = new JSONObject();
-                        jsonObject1.put("seq", deviceList.getDeviceCode());
-                        jsonObject1.put("isBlack", false);
-
-                        object1.put("timestamp", date1.getTime());
-                        object1.put("name", billPersonnelAdmission.getAdmissionUserName());
-                        object1.put("plate", billPersonnelAdmission.getCarNum());
-
-                        jsonArray.add(object1);
-                        jsonObject1.put("plates", jsonArray);
-
-                        String post = HttpRequest.post(" http://127.0.0.1:8050/addCarDeviceWoBList")
-                                .header(Header.CONTENT_TYPE, "application/json")
-                                .body(jsonObject1.toJSONString())
-                                .timeout(30 * 1000).execute().body();
-                        System.out.println(post);
-                    }
-
-                }*/
             }
             }
             baseProcessMapper.updateById(baseProcess);
             baseProcessMapper.updateById(baseProcess);
             billPersonnelAdmissionMapper.updateById(billPersonnelAdmission);
             billPersonnelAdmissionMapper.updateById(billPersonnelAdmission);
@@ -2074,7 +2004,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                 Object newObject = BillPcrServiceImpl.getNewObject(nextId, billPcr.getDestName(), billPcr.getDestId(), billPcr.getAdmissionUserName(),
                 Object newObject = BillPcrServiceImpl.getNewObject(nextId, billPcr.getDestName(), billPcr.getDestId(), billPcr.getAdmissionUserName(),
                         billPcr.getAdmissionUserId(), billPcr.getVistitDate(), billPcr.getSubDate(),
                         billPcr.getAdmissionUserId(), billPcr.getVistitDate(), billPcr.getSubDate(),
                         billPcr.getProcessId(), billPcr.getFarmId(), billPcr.getTestLocation(), billPcr.getTestLocationId(), billPcr.getVistitType(),
                         billPcr.getProcessId(), billPcr.getFarmId(), billPcr.getTestLocation(), billPcr.getTestLocationId(), billPcr.getVistitType(),
-                        billPcr.getPhone(), billPcr.getDepartureName(), billPcr.getDepartureId(), billPcr.getMidId(), billPcr.getMidName());
+                        billPcr.getPhone(), billPcr.getDepartureName(), billPcr.getDepartureId(), billPcr.getMidId(), billPcr.getMidName(),billPcr.getFarmName());
                 if (nextId == 0) {
                 if (nextId == 0) {
                     if (split.length == 1) {
                     if (split.length == 1) {
                         baseProcess.setProcessType(1);
                         baseProcess.setProcessType(1);
@@ -2105,7 +2035,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                                 , billPcr.getDestId(), billPcr.getAdmissionUserId(), billPcr.getAdmissionUserName(), billPcr.getPhone(),
                                 , billPcr.getDestId(), billPcr.getAdmissionUserId(), billPcr.getAdmissionUserName(), billPcr.getPhone(),
                                 billPcr.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
                                 billPcr.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
                                 , baseProcess.getId(), billPcr.getDepartureName(), billPcr.getDepartureId()
                                 , baseProcess.getId(), billPcr.getDepartureName(), billPcr.getDepartureId()
-                                , billPcr.getMidId(), billPcr.getMidName());
+                                , billPcr.getMidId(), billPcr.getMidName(),billPcr.getFarmName());
                         if (Integer.parseInt(split[1]) == 1) {
                         if (Integer.parseInt(split[1]) == 1) {
                             //新增采样
                             //新增采样
                             BillSampling billSampling = (BillSampling) entity;
                             BillSampling billSampling = (BillSampling) entity;
@@ -2503,7 +2433,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         Object newObject = BillPcrServiceImpl.getNewObject(nextId, billIsolate.getDestName(), billIsolate.getDestId(), billIsolate.getAdmissionUserName(),
         Object newObject = BillPcrServiceImpl.getNewObject(nextId, billIsolate.getDestName(), billIsolate.getDestId(), billIsolate.getAdmissionUserName(),
                 billIsolate.getAdmissionUserId(), billIsolate.getVistitDate(), billIsolate.getSubDate(),
                 billIsolate.getAdmissionUserId(), billIsolate.getVistitDate(), billIsolate.getSubDate(),
                 billIsolate.getProcessId(), billIsolate.getFarmId(), billIsolate.getIsolateLocation(), billIsolate.getIsolateLocationId(),
                 billIsolate.getProcessId(), billIsolate.getFarmId(), billIsolate.getIsolateLocation(), billIsolate.getIsolateLocationId(),
-                billIsolate.getVistitType(), billIsolate.getPhone(), billIsolate.getDepartureName(), billIsolate.getDepartureId(), billIsolate.getMidId(), billIsolate.getMidName());
+                billIsolate.getVistitType(), billIsolate.getPhone(), billIsolate.getDepartureName(), billIsolate.getDepartureId(),
+                billIsolate.getMidId(), billIsolate.getMidName(),billIsolate.getFarmName());
         if (nextId == 0) {
         if (nextId == 0) {
             if (splits.length == 1) {
             if (splits.length == 1) {
                 baseProcess.setProcessType(1);
                 baseProcess.setProcessType(1);
@@ -2533,7 +2464,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                 Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billIsolate.getVistitType(), billIsolate.getDestName()
                 Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billIsolate.getVistitType(), billIsolate.getDestName()
                         , billIsolate.getDestId(), billIsolate.getAdmissionUserId(), billIsolate.getAdmissionUserName(), billIsolate.getPhone(),
                         , billIsolate.getDestId(), billIsolate.getAdmissionUserId(), billIsolate.getAdmissionUserName(), billIsolate.getPhone(),
                         billIsolate.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
                         billIsolate.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
-                        , baseProcess.getId(), billIsolate.getDepartureName(), billIsolate.getDepartureId(), billIsolate.getMidId(), billIsolate.getMidName());
+                        , baseProcess.getId(), billIsolate.getDepartureName(), billIsolate.getDepartureId(), billIsolate.getMidId(),
+                        billIsolate.getMidName(),billIsolate.getFarmName());
                 if (Integer.parseInt(splits[1]) == 1) {
                 if (Integer.parseInt(splits[1]) == 1) {
                     //新增采样
                     //新增采样
                     BillSampling billSampling = (BillSampling) entity;
                     BillSampling billSampling = (BillSampling) entity;

+ 5 - 3
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillSamplingServiceImpl.java

@@ -241,7 +241,8 @@ public class BillSamplingServiceImpl extends ServiceImpl<BillSamplingMapper, Bil
         Object newObject = BillPcrServiceImpl.getNewObject(nextId, sampling.getDestName(), sampling.getDestId(), sampling.getAdmissionUserName(),
         Object newObject = BillPcrServiceImpl.getNewObject(nextId, sampling.getDestName(), sampling.getDestId(), sampling.getAdmissionUserName(),
                 sampling.getAdmissionUserId(), sampling.getVistitDate(), sampling.getSubDate(),
                 sampling.getAdmissionUserId(), sampling.getVistitDate(), sampling.getSubDate(),
                 sampling.getProcessId(), Integer.parseInt(sampling.getFarmId()), sampling.getTestLocation(), sampling.getTestLocationId(),
                 sampling.getProcessId(), Integer.parseInt(sampling.getFarmId()), sampling.getTestLocation(), sampling.getTestLocationId(),
-                sampling.getVistitType(), sampling.getPhone(), sampling.getDepartureName(), sampling.getDepartureId(), sampling.getMidId(), sampling.getMidName());
+                sampling.getVistitType(), sampling.getPhone(), sampling.getDepartureName(), sampling.getDepartureId(), sampling.getMidId()
+                , sampling.getMidName(),sampling.getFarmName());
         if (nextId == 0) {
         if (nextId == 0) {
             if (split.length == 1) {
             if (split.length == 1) {
                 baseProcess.setProcessType(1);
                 baseProcess.setProcessType(1);
@@ -270,8 +271,9 @@ public class BillSamplingServiceImpl extends ServiceImpl<BillSamplingMapper, Bil
                 FlowUtil flowUtil = new FlowUtil();
                 FlowUtil flowUtil = new FlowUtil();
                 Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), sampling.getVistitType(), sampling.getDestName()
                 Object entity = flowUtil.getEntity(Integer.parseInt(split[1]), sampling.getVistitType(), sampling.getDestName()
                         , sampling.getDestId(), sampling.getAdmissionUserId(), sampling.getAdmissionUserName(), sampling.getPhone(),
                         , sampling.getDestId(), sampling.getAdmissionUserId(), sampling.getAdmissionUserName(), sampling.getPhone(),
-                        sampling.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
-                        , baseProcess.getId(), sampling.getDepartureName(), sampling.getDepartureId(), sampling.getMidId(), sampling.getMidName());
+                        sampling.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(sampling.getFarmId())
+                        , baseProcess.getId(), sampling.getDepartureName(), sampling.getDepartureId(), sampling.getMidId()
+                        , sampling.getMidName(),sampling.getFarmName());
                 if (Integer.parseInt(split[1]) == 1) {
                 if (Integer.parseInt(split[1]) == 1) {
                     //新增采样
                     //新增采样
                     BillSampling billSampling = (BillSampling) entity;
                     BillSampling billSampling = (BillSampling) entity;

+ 3 - 3
huimv-receive/src/main/java/com/huimv/receive/timer/DiBangimer.java

@@ -23,7 +23,7 @@ public class DiBangimer {
     private BillGateMapper billGateMapper;
     private BillGateMapper billGateMapper;
 
 
     //多利托地磅
     //多利托地磅
-    @Scheduled(cron = "0 * * * * ? ")
+    @Scheduled(cron = "0 0 * * * ? ")
     private void getShenChan() throws Exception {
     private void getShenChan() throws Exception {
         String url = "jdbc:jtds:sqlserver://218.76.168.4:1433/CMTWeight"; // 使用 jTDS 连接字符串
         String url = "jdbc:jtds:sqlserver://218.76.168.4:1433/CMTWeight"; // 使用 jTDS 连接字符串
         String user = "sa";
         String user = "sa";
@@ -47,10 +47,10 @@ public class DiBangimer {
                     if (ObjectUtil.isNotEmpty(billGate1)){
                     if (ObjectUtil.isNotEmpty(billGate1)){
                         billGate = billGate1.get(0);
                         billGate = billGate1.get(0);
                         billGate.setGross(resultSet.getDouble("F_Gross")+"");
                         billGate.setGross(resultSet.getDouble("F_Gross")+"");
-                        billGate.setTare(resultSet.getDouble("F_Money")+"");
+                        billGate.setTare(resultSet.getDouble("F_Tare")+"");
                         billGate.setNet(resultSet.getDouble("F_Net")+"");
                         billGate.setNet(resultSet.getDouble("F_Net")+"");
                         billGate.setStdno(resultSet.getString("F_StdNo"));
                         billGate.setStdno(resultSet.getString("F_StdNo"));
-                        billGateMapper.insert(billGate);
+                        billGateMapper.updateById(billGate);
                     }
                     }
                 }
                 }
 
 

+ 4 - 2
huimv-receive/src/main/java/com/huimv/receive/timer/SafeTimer.java

@@ -81,7 +81,8 @@
 //                Object newObject = BillPcrServiceImpl.getNewObject(nextId, billIsolate.getDestName(), billIsolate.getDestId(), billIsolate.getAdmissionUserName(),
 //                Object newObject = BillPcrServiceImpl.getNewObject(nextId, billIsolate.getDestName(), billIsolate.getDestId(), billIsolate.getAdmissionUserName(),
 //                        billIsolate.getAdmissionUserId(), billIsolate.getVistitDate(), billIsolate.getSubDate(),
 //                        billIsolate.getAdmissionUserId(), billIsolate.getVistitDate(), billIsolate.getSubDate(),
 //                        billIsolate.getProcessId(), billIsolate.getFarmId(), billIsolate.getIsolateLocation(), billIsolate.getIsolateLocationId(),
 //                        billIsolate.getProcessId(), billIsolate.getFarmId(), billIsolate.getIsolateLocation(), billIsolate.getIsolateLocationId(),
-//                        billIsolate.getVistitType(), billIsolate.getPhone(), billIsolate.getDepartureName(), billIsolate.getDepartureId());
+//                        billIsolate.getVistitType(), billIsolate.getPhone(), billIsolate.getDepartureName(), billIsolate.getDepartureId()
+//                        ,billIsolate.getMidId(),billIsolate.getMidName(),billIsolate.getFarmName());
 //                if (nextId == 0) {
 //                if (nextId == 0) {
 //                    if (splits.length == 1) {
 //                    if (splits.length == 1) {
 //                        baseProcess.setProcessType(1);
 //                        baseProcess.setProcessType(1);
@@ -111,7 +112,8 @@
 //                        Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billIsolate.getVistitType(), billIsolate.getDestName()
 //                        Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billIsolate.getVistitType(), billIsolate.getDestName()
 //                                , billIsolate.getDestId(), billIsolate.getAdmissionUserId(), billIsolate.getAdmissionUserName(), billIsolate.getPhone(),
 //                                , billIsolate.getDestId(), billIsolate.getAdmissionUserId(), billIsolate.getAdmissionUserName(), billIsolate.getPhone(),
 //                                billIsolate.getVistitDate(), location.getId(), location.getLocationName(), billIsolate.getFarmId()
 //                                billIsolate.getVistitDate(), location.getId(), location.getLocationName(), billIsolate.getFarmId()
-//                                , baseProcess.getId(), billIsolate.getDepartureName(), billIsolate.getDepartureId());
+//                                , baseProcess.getId(), billIsolate.getDepartureName(), billIsolate.getDepartureId()
+//                                ,billIsolate.getMidId(),billIsolate.getMidName(),billIsolate.getFarmName());
 //                        if (Integer.parseInt(splits[1]) == 1) {
 //                        if (Integer.parseInt(splits[1]) == 1) {
 //                            //新增采样
 //                            //新增采样
 //                            BillSampling billSampling = (BillSampling) entity;
 //                            BillSampling billSampling = (BillSampling) entity;

+ 59 - 5
huimv-receive/src/main/resources/com/huimv/receive/mapper/BillCleanMapper.xml

@@ -56,7 +56,7 @@
         <foreach collection="locations" item="location" separator="," open="(" close=")">
         <foreach collection="locations" item="location" separator="," open="(" close=")">
             #{location}
             #{location}
         </foreach>
         </foreach>
-        and img_status in
+        and bill_status in
         <foreach collection="status" item="statu" separator="," open="(" close=")">
         <foreach collection="status" item="statu" separator="," open="(" close=")">
             #{statu}
             #{statu}
         </foreach>
         </foreach>
@@ -66,7 +66,29 @@
         <foreach collection="locations" item="location" separator="," open="(" close=")">
         <foreach collection="locations" item="location" separator="," open="(" close=")">
             #{location}
             #{location}
         </foreach>
         </foreach>
-        and img_status in
+        and bill_status in
+        <foreach collection="status" item="statu" separator="," open="(" close=")">
+            #{statu}
+        </foreach>
+        ORDER BY sub_date DESC
+    </select>
+    <select id="CleanAndDryNo" resultType="com.huimv.receive.entity.vo.CleanAndDryVo2">
+        select *,null,1 AS 'type' from bill_clean where  vistit_type=#{type}
+        and test_location_id in
+        <foreach collection="locations" item="location" separator="," open="(" close=")">
+            #{location}
+        </foreach>
+        and bill_status in
+        <foreach collection="status" item="statu" separator="," open="(" close=")">
+            #{statu}
+        </foreach>
+        union all
+        select *,2 AS 'type' from bill_dry where  vistit_type=#{type}
+        and test_location_id in
+        <foreach collection="locations" item="location" separator="," open="(" close=")">
+            #{location}
+        </foreach>
+        and bill_status in
         <foreach collection="status" item="statu" separator="," open="(" close=")">
         <foreach collection="status" item="statu" separator="," open="(" close=")">
             #{statu}
             #{statu}
         </foreach>
         </foreach>
@@ -126,7 +148,7 @@ ORDER BY
         <foreach collection="locations" item="location" separator="," open="(" close=")">
         <foreach collection="locations" item="location" separator="," open="(" close=")">
             #{location}
             #{location}
         </foreach>
         </foreach>
-        and img_status in
+        and bill_status in
         <foreach collection="status" item="statu" separator="," open="(" close=")">
         <foreach collection="status" item="statu" separator="," open="(" close=")">
             #{statu}
             #{statu}
         </foreach>
         </foreach>
@@ -136,12 +158,12 @@ ORDER BY
         <foreach collection="locations" item="location" separator="," open="(" close=")">
         <foreach collection="locations" item="location" separator="," open="(" close=")">
             #{location}
             #{location}
         </foreach>
         </foreach>
-        and img_status in
+        and bill_status in
         <foreach collection="status" item="statu" separator="," open="(" close=")">
         <foreach collection="status" item="statu" separator="," open="(" close=")">
             #{statu}
             #{statu}
         </foreach>
         </foreach>
         union all
         union all
-        select id,'5' as 'vistitType',test_location as 'testLocation',admission_user_name,car_num,null as 'cleanTime',null as 'dryTime',null as 'checkDate' ,sub_date,bill_status as 'billStatus' ,null,3 AS 'type' from bill_goods_inventory where farm_id=#{farmId}
+        select id,'0' as 'vistitType',test_location as 'testLocation',admission_user_name,car_num,null as 'cleanTime',null as 'dryTime',null as 'checkDate' ,sub_date,bill_status as 'billStatus' ,null,3 AS 'type' from bill_goods_inventory where farm_id=#{farmId}
         and test_location_id in
         and test_location_id in
         <foreach collection="locations" item="location" separator="," open="(" close=")">
         <foreach collection="locations" item="location" separator="," open="(" close=")">
             #{location}
             #{location}
@@ -152,6 +174,38 @@ ORDER BY
         </foreach>
         </foreach>
         ORDER BY sub_date DESC
         ORDER BY sub_date DESC
     </select>
     </select>
+    <select id="listCleanDryGoodsNo" resultType="com.huimv.receive.entity.vo.CleanDryGoodsVo">
+        select id,vistit_Type,test_location,admission_user_name,car_num,clean_time,null as 'dryTime',check_date,sub_date,bill_status,img_status,1 AS 'type' from bill_clean where  vistit_type=#{type}
+        and test_location_id in
+        <foreach collection="locations" item="location" separator="," open="(" close=")">
+            #{location}
+        </foreach>
+        and bill_status in
+        <foreach collection="status" item="statu" separator="," open="(" close=")">
+            #{statu}
+        </foreach>
+        union all
+        select id,vistit_Type,test_location,admission_user_name,car_num,null as 'cleanTime',dry_time,check_date,sub_date,bill_status,img_status,2 AS 'type' from bill_dry where  vistit_type=#{type}
+        and test_location_id in
+        <foreach collection="locations" item="location" separator="," open="(" close=")">
+            #{location}
+        </foreach>
+        and bill_status in
+        <foreach collection="status" item="statu" separator="," open="(" close=")">
+            #{statu}
+        </foreach>
+        union all
+        select id,'5' as 'vistitType',test_location as 'testLocation',admission_user_name,car_num,null as 'cleanTime',null as 'dryTime',null as 'checkDate' ,sub_date,bill_status as 'billStatus' ,null,3 AS 'type' from bill_goods_inventory where
+         test_location_id in
+        <foreach collection="locations" item="location" separator="," open="(" close=")">
+            #{location}
+        </foreach>
+        and bill_status in
+        <foreach collection="status" item="statu" separator="," open="(" close=")">
+            #{statu}
+        </foreach>
+        ORDER BY sub_date DESC
+    </select>
 
 
     <select id="listCleanDryGoods2" resultType="com.huimv.receive.entity.vo.CleanDryGoodsVo">
     <select id="listCleanDryGoods2" resultType="com.huimv.receive.entity.vo.CleanDryGoodsVo">
         select id,vistit_Type,test_location,admission_user_name,car_num,clean_time,null as 'dryTime',check_date,sub_date,bill_status,img_status,1 AS 'type' from bill_clean where farm_id=#{farmId} and vistit_type=#{type}
         select id,vistit_Type,test_location,admission_user_name,car_num,clean_time,null as 'dryTime',check_date,sub_date,bill_status,img_status,1 AS 'type' from bill_clean where farm_id=#{farmId} and vistit_type=#{type}