123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- package com.huimv.guowei.admin.controller;
- import com.alibaba.druid.util.StringUtils;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.huimv.guowei.admin.common.utils.Result;
- import com.huimv.guowei.admin.common.utils.ResultCode;
- import com.huimv.guowei.admin.entity.EnvDevice;
- import com.huimv.guowei.admin.entity.EnvDeviceEquipment;
- import com.huimv.guowei.admin.service.IEnvDeviceEquipmentService;
- import com.huimv.guowei.admin.service.IEnvDeviceService;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.transaction.interceptor.TransactionAspectSupport;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author author
- * @since 2023-06-01
- */
- @RestController
- @RequestMapping("/env-device")
- @CrossOrigin
- public class EnvDeviceController {
- @Resource
- private IEnvDeviceService envDeviceService;
- @Resource
- private IEnvDeviceEquipmentService envDeviceEquipmentService;
- @PostMapping("/listDevice")
- public Result listDevice(@RequestBody Map<String ,String> paramsMap){
- String deviceType = paramsMap.get("deviceType");
- String farmId = paramsMap.get("farmId");
- String pageNo = paramsMap.get("pageNum");
- String pageSize = paramsMap.get("pageSize");
- Page<EnvDevice> page = new Page(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
- return new Result(ResultCode.SUCCESS,envDeviceService.page(page, new QueryWrapper<EnvDevice>()
- .eq(!StringUtils.isEmpty(deviceType),"device_type",deviceType)
- .eq("farm_id",farmId).orderByDesc("id")));
- }
- @PostMapping("/listH5Device")
- public Result listH5Device(@RequestBody Map<String ,String> paramsMap){
- String deviceType = paramsMap.get("deviceType");
- String farmId = paramsMap.get("farmId");
- String pageNo = paramsMap.get("pageNum");
- String pageSize = paramsMap.get("pageSize");
- Page<EnvDevice> page = new Page(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
- if (deviceType.equals("1")){
- return new Result(ResultCode.SUCCESS,envDeviceService.page(page, new QueryWrapper<EnvDevice>()
- .eq(!StringUtils.isEmpty(deviceType),"device_type",deviceType)
- .eq("farm_id",farmId).orderByDesc("id")));
- }else {
- return new Result(ResultCode.SUCCESS, envDeviceService.page(page, new QueryWrapper<EnvDevice>()
- .in("device_type", 2, 3)
- .eq("farm_id", farmId).orderByDesc("id")));
- }
- }
- @PostMapping("/listScale")
- public Result listScale(@RequestBody Map<String ,String> paramsMap){
- String farmId = paramsMap.get("farmId");
- return new Result(ResultCode.SUCCESS,envDeviceService.list(new QueryWrapper<EnvDevice>().eq("farm_id",farmId).eq("device_type",2)));
- }
- @PostMapping("/addDevice")
- @Transactional(rollbackFor = RuntimeException.class)
- public Result addDevice(@RequestBody Map<String ,Object> paramsMap){
- String deviceCode = (String) paramsMap.get("deviceCode");
- String unitId = (String) paramsMap.get("unitId");
- String unitName = (String) paramsMap.get("unitName");
- String buildLocation = (String) paramsMap.get("buildLocation");
- String farmId = (String) paramsMap.get("farmId");
- Integer deviceType = (Integer) paramsMap.get("deviceType");
- // String deviceName = unitName;
- String deviceName = (String) paramsMap.get("deviceName");
- // switch (deviceType){
- // case 1: deviceName += "环控";
- // break;
- // case 2: deviceName += "移动电子秤";
- // break;
- // case 3: deviceName += "固定电子秤";
- // break;
- // }
- if (envDeviceService.count(new QueryWrapper<EnvDevice>().eq("device_code",deviceCode)) != 0){
- return new Result(10001,"设备编码已存在!",false);
- }
- if (deviceType == 1){
- if (envDeviceService.count(new QueryWrapper<EnvDevice>().eq("unit_Id",unitId).eq("device_type",1)) != 0){
- return new Result(10001,"栋舍已存在环控设备!",false);
- }
- }
- EnvDevice envDevice = new EnvDevice();
- envDevice.setDeviceCode(deviceCode);
- envDevice.setDeviceName(deviceName);
- envDevice.setDeviceType(deviceType);
- envDevice.setBuildLocation(buildLocation);
- if (deviceType != 2){
- envDevice.setUnitName(unitName);
- envDevice.setUnitId(Integer.parseInt(unitId));
- }
- envDevice.setFarmId(Integer.parseInt(farmId));
- envDeviceService.save(envDevice);
- //环控设备
- if (deviceType == 1){
- List<Integer> list = (List<Integer>) paramsMap.get("device");
- int fan = 1;
- int tp = 1;
- int spray = 1;
- for (int i = 0; i <list.size() ; i++) {
- EnvDeviceEquipment envDeviceEquipment = new EnvDeviceEquipment();
- envDeviceEquipment.setFarmId(Integer.parseInt(farmId));
- envDeviceEquipment.setEquipmentPort(i+1);
- envDeviceEquipment.setUnitId(Integer.parseInt(unitId));
- envDeviceEquipment.setDeviceCode(deviceCode);
- switch (list.get(i)){
- case 1:
- envDeviceEquipment.setEquipmentName("风机"+fan);
- envDeviceEquipment.setEquipmentType(1);
- envDeviceEquipment.setDeviceAlias(unitName+"风机");
- fan++;
- break;
- case 2:
- envDeviceEquipment.setEquipmentName("传送带"+tp);
- envDeviceEquipment.setEquipmentType(2);
- envDeviceEquipment.setDeviceAlias(unitName+"传送带");
- tp++;
- break;
- case 3:
- envDeviceEquipment.setEquipmentName("喷雾"+spray);
- envDeviceEquipment.setEquipmentType(3);
- envDeviceEquipment.setDeviceAlias(unitName+"喷雾");
- spray++;
- break;
- }
- if (!envDeviceEquipmentService.save(envDeviceEquipment)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return new Result(10001,"操作失败",false);
- }
- }
- }
- return Result.SUCCESS();
- }
- @PostMapping("/deleteDevice")
- @Transactional
- public Result deleteDevice(@RequestBody Map<String ,String> paramsMap){
- String deviceCode = paramsMap.get("deviceCode");
- envDeviceService.remove(new QueryWrapper<EnvDevice>().eq("device_code",deviceCode));
- envDeviceEquipmentService.remove(new QueryWrapper<EnvDeviceEquipment>().eq("device_code",deviceCode));
- return Result.SUCCESS();
- }
- @PostMapping("/getDeviceStatus")
- public Result getDeviceStatus(@RequestBody Map<String ,String> paramsMap){
- String farmId = paramsMap.get("farmId");
- double rate = 0.0;
- Map resultMap = new HashMap();
- int total = envDeviceService.count(new QueryWrapper<EnvDevice>().eq("farm_id", farmId));
- resultMap.put("totalDevice", total);
- int deviceOn = envDeviceService.count(new QueryWrapper<EnvDevice>().eq("farm_id", farmId).eq("device_status", 1));
- int deviceOff = envDeviceService.count(new QueryWrapper<EnvDevice>().eq("farm_id", farmId).eq("device_status", 0));
- resultMap.put("deviceOn", deviceOn);
- resultMap.put("deviceOff", deviceOff);
- if (deviceOff == 0 && deviceOn != 0){
- rate = 100;
- }
- if (deviceOff != 0){
- rate = (deviceOn/total)*100;
- }
- resultMap.put("onlineRate",rate);
- return new Result(ResultCode.SUCCESS,resultMap);
- }
- }
|