ソースを参照

新增 获取孢子仪折线图列表接口

zhaiyifei 8 ヶ月 前
コミット
91cf85b6ff

+ 28 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotScreenController.java

@@ -10,6 +10,7 @@ import com.yunfeiyun.agmp.common.exception.BizException;
 import com.yunfeiyun.agmp.common.service.LocationService;
 import com.yunfeiyun.agmp.common.service.WeatherService;
 import com.yunfeiyun.agmp.common.service.modal.LocationAddressModel;
+import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotBzydataReqVo;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotYbqdataReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceDataListReqVo;
 import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorAddressGetReqVo;
@@ -286,4 +287,31 @@ public class IotScreenController extends BaseController {
         return AjaxResult.success(iIotScreenService.cbdPestPeriodStat(reqVo));
     }
 
+    /**
+     * 获取孢子仪图片列表
+     */
+    @PreAuthorize("@ss.hasPermi('iot:cbdimg:list')")
+    @GetMapping("/device/bzy/img/list")
+    public TableDataInfo bzyImgList(IotPestRecogPeriodReqVo reqVo) {
+        return getDataTable(iIotScreenService.bzyImgList(reqVo));
+    }
+
+    /**
+     * 获取孢子仪识别信息接口
+     */
+    @PreAuthorize("@ss.hasPermi('iot:cbdimg:list')")
+    @GetMapping("/device/bzy/recog/info")
+    public AjaxResult bzyRecogInfo(String bzyimgBid) {
+        return AjaxResult.success(iIotScreenService.bzyRecogInfo(bzyimgBid));
+    }
+
+    /**
+     * 获取孢子仪折线图
+     */
+    @PreAuthorize("@ss.hasPermi('iot:cbdimg:list')")
+    @GetMapping("/device/bzy/chart/list")
+    public AjaxResult bzyChartList(IotBzydataReqVo reqVo) {
+        return AjaxResult.success(iIotScreenService.bzyChartList(reqVo));
+    }
+
 }

+ 24 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotScreenService.java

@@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevicelasteddata;
 import com.yunfeiyun.agmp.iot.common.domain.IotMonitorCapture;
 import com.yunfeiyun.agmp.iot.common.domain.IotYbqEnvData;
+import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotBzydataReqVo;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotYbqdataReqVo;
+import com.yunfeiyun.agmp.iotm.device.bzy.domain.IotBzyrecogResVo;
+import com.yunfeiyun.agmp.iotm.device.bzy.domain.IotYfBzyPolylineResVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceDataListReqVo;
 import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorAddressGetReqVo;
 import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorCaptureReqVo;
@@ -129,4 +132,25 @@ public interface IIotScreenService {
      * @return
      */
     public IotPestRecogPeriodInfoResVo cbdPestPeriodStat(IotPestRecogPeriodReqVo reqVo);
+
+    /**
+     * 获取孢子仪图片列表接口
+     * @param reqVo
+     * @return
+     */
+    public IPage bzyImgList(IotPestRecogPeriodReqVo reqVo);
+
+    /**
+     * 获取孢子仪识别信息接口
+     * @param reqVo
+     * @return
+     */
+    public IotBzyrecogResVo bzyRecogInfo(String bzyimgBid);
+
+    /**
+     * 获取孢子仪折线图
+     * @param reqVo
+     * @return
+     */
+    public List<IotYfBzyPolylineResVo> bzyChartList(IotBzydataReqVo reqVo);
 }

+ 82 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotScreenServiceImpl.java

@@ -11,11 +11,15 @@ import com.yunfeiyun.agmp.common.utils.SecurityUtils;
 import com.yunfeiyun.agmp.common.utils.StringUtils;
 import com.yunfeiyun.agmp.iot.common.constant.IotErrorCode;
 import com.yunfeiyun.agmp.iot.common.domain.*;
+import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotBzydataReqVo;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotYbqdataReqVo;
 import com.yunfeiyun.agmp.iot.common.enums.EnumCbdMarkType;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
 import com.yunfeiyun.agmp.iot.common.service.MongoService;
 import com.yunfeiyun.agmp.iot.common.util.dev.DevTypeUtil;
+import com.yunfeiyun.agmp.iotm.device.bzy.domain.IotBzyrecogResVo;
+import com.yunfeiyun.agmp.iotm.device.bzy.domain.IotYfBzyPolylineResVo;
+import com.yunfeiyun.agmp.iotm.device.bzy.service.IIotBzyrecogService;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseCtlReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseFunReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseListReqVo;
@@ -74,6 +78,9 @@ public class IotScreenServiceImpl implements IIotScreenService {
     @Autowired
     private IIotPestrecogService iIotPestrecogService;
 
+    @Autowired
+    private IIotBzyrecogService iIotBzyrecogService;
+
     /**
      * 设备统计
      *
@@ -588,5 +595,80 @@ public class IotScreenServiceImpl implements IIotScreenService {
         return iIotPestrecogService.period(reqVo);
     }
 
+    /**
+     * 获取孢子仪图片列表接口
+     *
+     * @param reqVo
+     * @return
+     */
+    @Override
+    public IPage bzyImgList(IotPestRecogPeriodReqVo reqVo) {
+        String startTime = reqVo.getStartTime();
+        String endTime = reqVo.getEndTime();
+        String column = "bzyimgCreatedDate";
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("devBid", reqVo.getDevBid());
+        map.put("bzyimgDelstatus", "0");
+
+        if (StringUtils.isNotEmpty(startTime) && StringUtils.isEmpty(endTime)) {
+            map.put("gte_" + column, startTime);
+        }
+        if (StringUtils.isEmpty(startTime) && StringUtils.isNotEmpty(endTime)) {
+            map.put("lte_" + column, endTime);
+        }
+        if (StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)) {
+            map.put("time_" + column, startTime + "," + endTime);
+        }
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        IPage listPage = mongoService.findListPage(IotBzyimg.class, map, pageDomain);
+        return listPage;
+    }
+
+    /**
+     * 获取孢子仪识别信息接口
+     *
+     * @param bzyimgBid@return
+     */
+    @Override
+    public IotBzyrecogResVo bzyRecogInfo(String bzyimgBid) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("bzyimgBid", bzyimgBid);
+        IotBzyrecog iotCbdrecog = (IotBzyrecog) mongoService.findOne(IotBzyrecog.class, map, null, null);
+        IotBzyimg iotCbdimg = (IotBzyimg) mongoService.findOne(IotBzyimg.class, map, null, null);
+        if (iotCbdimg == null) {
+            throw new IotBizException(IotErrorCode.FAILURE.getCode(), bzyimgBid + "数据不存在");
+        }
+        IotBzyrecogResVo resVo = new IotBzyrecogResVo();
+        if (iotCbdrecog != null) {
+            BeanUtils.copyProperties(iotCbdrecog, resVo);
+        }
+        resVo.setBzyimgAddr(iotCbdimg.getBzyimgAddr());
+        resVo.setBzyimgPestnum(iotCbdimg.getBzyimgPestnum());
+        resVo.setBzyimgRecognum(iotCbdimg.getBzyimgRecognum());
+        return resVo;
+    }
+
+    /**
+     * 获取孢子仪折线图
+     *
+     * @param reqVo
+     * @return
+     */
+    @Override
+    public List<IotYfBzyPolylineResVo> bzyChartList(IotBzydataReqVo reqVo) {
+        String startTime = reqVo.getStartTime();
+        String endTime = reqVo.getEndTime();
+
+        if (StringUtils.isEmpty(reqVo.getDevBid())) {
+            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(), "设备id不可为空");
+        }
+        if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) {
+            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(), "时间不可为空,请设置检索范围");
+        }
+        return iIotBzyrecogService.polyline(reqVo);
+    }
+
 
 }