|
@@ -1,11 +1,13 @@
|
|
|
package com.huimv.farm.musk.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.huimv.farm.musk.common.utils.ExcelImportSheet;
|
|
|
import com.huimv.farm.musk.common.utils.Result;
|
|
|
import com.huimv.farm.musk.common.utils.ResultCode;
|
|
|
import com.huimv.farm.musk.entity.SysAccountMultilevel;
|
|
@@ -18,9 +20,14 @@ import com.huimv.farm.musk.mapper.SysCameraAreaMapper;
|
|
|
import com.huimv.farm.musk.mapper.SysCameraBrandMapper;
|
|
|
import com.huimv.farm.musk.mapper.SysCameraMapper;
|
|
|
import com.huimv.farm.musk.service.ISysCameraService;
|
|
|
+import org.apache.poi.ss.usermodel.Sheet;
|
|
|
+import org.apache.poi.ss.usermodel.Workbook;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import java.io.InputStream;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
@@ -220,18 +227,24 @@ public class SysCameraServiceImpl extends ServiceImpl<SysCameraMapper, SysCamera
|
|
|
@Override
|
|
|
public Result listApp(CameraListVo cameraListVo, Integer userId) {
|
|
|
List endList = new ArrayList();
|
|
|
- List<SysCameraArea> cameraAreaList = cameraAreaMapper.selectList(new QueryWrapper<SysCameraArea>().eq("farm_id", cameraListVo.getFarmId()).eq("run_status",1).orderByAsc("sort"));
|
|
|
+ List<SysCameraArea> cameraAreaList = cameraAreaMapper.selectList(new QueryWrapper<SysCameraArea>().eq("farm_id", cameraListVo.getFarmId())
|
|
|
+ .eq("run_status",1).orderByAsc("sort"));
|
|
|
SysAccountMultilevel sysAccountMultilevel = sysAccountMultilevelMapper.selectById(userId);
|
|
|
+ String cameraIds = sysAccountMultilevel.getCameraIds();
|
|
|
+ String[] split = cameraIds.split(",");
|
|
|
if (userId != 1){
|
|
|
for (SysCameraArea cameraArea : cameraAreaList) {
|
|
|
- List<SysCamera> sysCameras = cameraMapper.selectList(new QueryWrapper<SysCamera>().eq("area_id", cameraArea.getId()).eq("run_status", 1).in("id", Arrays.asList(sysAccountMultilevel.getCameraIds())).orderByAsc("sort"));
|
|
|
- if(ObjectUtils.isNotEmpty(sysCameras)){
|
|
|
- Map map = new HashMap();
|
|
|
- map.put("cameraName", cameraArea.getAreaName());
|
|
|
- map.put("id", cameraArea.getId());
|
|
|
- map.put("cameraList",sysCameras );
|
|
|
- endList.add(map);
|
|
|
+ List<SysCamera> sysCameras = cameraMapper.selectList(new QueryWrapper<SysCamera>().eq("area_id", cameraArea.getId())
|
|
|
+ .eq("run_status", 1).in("id",split).orderByAsc("sort"));
|
|
|
+ Map map = new HashMap();
|
|
|
+ map.put("cameraName", cameraArea.getAreaName());
|
|
|
+ map.put("id", cameraArea.getId());
|
|
|
+ if (ObjectUtils.isNotEmpty(sysCameras)) {
|
|
|
+ map.put("cameraList", sysCameras);
|
|
|
+ } else {
|
|
|
+ map.put("cameraList", "");
|
|
|
}
|
|
|
+ endList.add(map);
|
|
|
}
|
|
|
return new Result(ResultCode.SUCCESS, endList);
|
|
|
}else {
|
|
@@ -239,7 +252,8 @@ public class SysCameraServiceImpl extends ServiceImpl<SysCameraMapper, SysCamera
|
|
|
Map map = new HashMap();
|
|
|
map.put("cameraName", cameraArea.getAreaName());
|
|
|
map.put("id", cameraArea.getId());
|
|
|
- map.put("cameraList", cameraMapper.selectList(new QueryWrapper<SysCamera>().eq("area_id", cameraArea.getId()).eq("run_status",1).orderByAsc("sort")));
|
|
|
+ map.put("cameraList", cameraMapper.selectList(new QueryWrapper<SysCamera>().eq("area_id", cameraArea.getId())
|
|
|
+ .eq("run_status",1).orderByAsc("sort")));
|
|
|
endList.add(map);
|
|
|
}
|
|
|
return new Result(ResultCode.SUCCESS, endList);
|
|
@@ -247,6 +261,73 @@ public class SysCameraServiceImpl extends ServiceImpl<SysCameraMapper, SysCamera
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Result listAll(Map<String, String> paramsMap) {
|
|
|
+ String farmId = paramsMap.get("farmId");
|
|
|
+ List<SysCamera> cameras = cameraMapper.selectList(new QueryWrapper<SysCamera>().eq("farm_id", farmId));
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ Integer count = 0;
|
|
|
+ Integer offCount = 0;
|
|
|
+ Integer onCount = 0;
|
|
|
+ count = cameras.size();
|
|
|
+ if (cameras.size() != 0) {
|
|
|
+ for (SysCamera camera : cameras) {
|
|
|
+ if (camera.getIsOnline()==1) {
|
|
|
+ onCount = onCount + 1;
|
|
|
+ } else {
|
|
|
+ offCount = offCount + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ jsonObject.put("count", count);
|
|
|
+ jsonObject.put("offCount", count);
|
|
|
+ jsonObject.put("onCount", count);
|
|
|
+ return new Result(ResultCode.SUCCESS,jsonObject);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public Result importData( MultipartFile file) {
|
|
|
+
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
+ //表头与键值对的映射关系
|
|
|
+ map.put("摄像头名称", "cameraName");
|
|
|
+ map.put("地址", "cameraIp");
|
|
|
+
|
|
|
+ try (
|
|
|
+ //这里面的对象会自动关闭
|
|
|
+ InputStream in = file.getInputStream();
|
|
|
+ Workbook workbook = ExcelImportSheet.getTypeFromExtends(in, file.getOriginalFilename())
|
|
|
+ ) {
|
|
|
+
|
|
|
+ //根据名称获取单张表对象 也可以使用getSheetAt(int index)获取单张表的对象 获取第一张表
|
|
|
+ Sheet sheet = workbook.getSheetAt(0);
|
|
|
+ List<ImportDataVo> list = ExcelImportSheet.getListFromExcel(sheet, ImportDataVo.class, map);
|
|
|
+
|
|
|
+ for (ImportDataVo importDataVo : list) {
|
|
|
+ SysCamera sysCamera = new SysCamera();
|
|
|
+ sysCamera.setCameraName(importDataVo.getCameraName());
|
|
|
+ sysCamera.setCameraIp(importDataVo.getCameraIp());
|
|
|
+ sysCamera.setAccount("admin");
|
|
|
+ sysCamera.setPassword("adminjhd123");
|
|
|
+ sysCamera.setAreaName("B区");
|
|
|
+ sysCamera.setAreaId(4);
|
|
|
+ sysCamera.setAttention(0);
|
|
|
+ sysCamera.setBrandName("大华");
|
|
|
+ sysCamera.setBrandId(1);
|
|
|
+ sysCamera.setRunStatus(1);
|
|
|
+ sysCamera.setSort(1);
|
|
|
+ sysCamera.setFarmId(330110007);
|
|
|
+ sysCamera.setIsOnline(1);
|
|
|
+ cameraMapper.insert(sysCamera);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ return new Result(10001, "数据格式异常!", false);
|
|
|
+ }
|
|
|
+ return new Result(ResultCode.SUCCESS);
|
|
|
+ }
|
|
|
+
|
|
|
// @Override
|
|
|
// public Result initCamera(Integer farmId, Integer userId) {
|
|
|
// BaseScreenCameraAccount cameraAccount = cameraAccountMapper.selectOne(new QueryWrapper<BaseScreenCameraAccount>().eq("farm_id", farmId).eq("account_id", userId));
|