增加运行状态表
This commit is contained in:
parent
86b7290c7b
commit
5e3d392722
|
|
@ -24,15 +24,19 @@ import org.jeecg.common.system.util.JwtUtil;
|
||||||
import org.jeecg.common.util.EntityFieldUtil;
|
import org.jeecg.common.util.EntityFieldUtil;
|
||||||
import org.jeecg.common.vo.DeviceCmdVo;
|
import org.jeecg.common.vo.DeviceCmdVo;
|
||||||
import org.jeecg.common.vo.DeviceCmdVo2;
|
import org.jeecg.common.vo.DeviceCmdVo2;
|
||||||
|
import org.jeecg.common.vo.iot.common.DeviceRelayVo;
|
||||||
import org.jeecg.modules.appmana.service.*;
|
import org.jeecg.modules.appmana.service.*;
|
||||||
|
import org.jeecg.modules.appmana.service.impl.IotCommonP3ServiceImpl;
|
||||||
import org.jeecg.modules.appmana.utils.Iotutils;
|
import org.jeecg.modules.appmana.utils.Iotutils;
|
||||||
import org.jeecg.modules.appmana.utils.YSUtils;
|
import org.jeecg.modules.appmana.utils.YSUtils;
|
||||||
|
import org.jeecg.modules.mqtt.MqttService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
@ -51,11 +55,6 @@ import java.util.List;
|
||||||
public class SurvDeviceDeployController extends JeecgController<SurvDeviceDeploy, ISurvDeviceDeployService> {
|
public class SurvDeviceDeployController extends JeecgController<SurvDeviceDeploy, ISurvDeviceDeployService> {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISurvDeviceDeployService survDeviceDeployService;
|
private ISurvDeviceDeployService survDeviceDeployService;
|
||||||
@Autowired
|
|
||||||
private IScContService scContService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IScContExeService scContExeService;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISurvTransdataOrientwaterService orientwaterService;
|
private ISurvTransdataOrientwaterService orientwaterService;
|
||||||
|
|
@ -78,8 +77,15 @@ public class SurvDeviceDeployController extends JeecgController<SurvDeviceDeploy
|
||||||
@Autowired
|
@Autowired
|
||||||
private Iotutils iotutils;
|
private Iotutils iotutils;
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISurvIotVirtualDeviceService iotVirtualDeviceService;
|
private IotCommonP3ServiceImpl p3Service;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISurvDeviceDeployRunService runService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISurvDeviceDeployRelaygroupService relaygroupService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
|
|
@ -255,38 +261,13 @@ public class SurvDeviceDeployController extends JeecgController<SurvDeviceDeploy
|
||||||
Assert.notNull(relay,"控制项无效");
|
Assert.notNull(relay,"控制项无效");
|
||||||
SurvDeviceDeploy deviceDeploy = deviceDeployService.getById(relay.getDeployId());
|
SurvDeviceDeploy deviceDeploy = deviceDeployService.getById(relay.getDeployId());
|
||||||
if(deviceDeploy != null){
|
if(deviceDeploy != null){
|
||||||
|
boolean b = p3Service.sendMqttCmd(deviceDeploy,relay,deviceCmdVo.getOps());
|
||||||
String cmds = "";
|
if(b){
|
||||||
String fieldName = relay.getEntityField();
|
return Result.ok("指令发送成功");
|
||||||
if (IotConstants.DEVICE_CLOSE.equals(deviceCmdVo.getOps())) {//关逻辑
|
|
||||||
cmds = relay.getRegisterCmdOn();
|
|
||||||
} else if (IotConstants.DEVICE_ON.equals(deviceCmdVo.getOps())) {//开逻辑
|
|
||||||
cmds = relay.getRegisterCmdOff();
|
|
||||||
} else if (IotConstants.DEVICE_STOP.equals(deviceCmdVo.getOps())) {//停逻辑
|
|
||||||
cmds = relay.getRegisterCmdStop();
|
|
||||||
}
|
|
||||||
deviceDeploy.setSendInfo(cmds);
|
|
||||||
//todo 调整为直接发送控制指令至mqtt
|
|
||||||
|
|
||||||
deviceDeployService.updateById(deviceDeploy);
|
|
||||||
|
|
||||||
try {
|
|
||||||
Thread.sleep(8 * 1000);
|
|
||||||
}catch (InterruptedException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
SurvTransdataOrientwater transdataOrientwater = orientwaterService.getOneByDeviceCode(deviceDeploy.getDeployCode());
|
|
||||||
|
|
||||||
if(transdataOrientwater!=null){
|
|
||||||
String vals = EntityFieldUtil.getFieldValue(transdataOrientwater,fieldName,String.class);
|
|
||||||
if(deviceCmdVo.getOps().equals(vals)){
|
|
||||||
return Result.ok("操作成功");
|
|
||||||
}else{
|
}else{
|
||||||
return Result.error("最新数据的球阀状态与操作不一致,请联系管理员");
|
return Result.error("指令发送失败");
|
||||||
}
|
|
||||||
}else {
|
|
||||||
return Result.error("未收到该设备的最新数据,请稍后再次查看是否成功");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
return Result.error("无效的设备");
|
return Result.error("无效的设备");
|
||||||
}
|
}
|
||||||
|
|
@ -409,11 +390,11 @@ public class SurvDeviceDeployController extends JeecgController<SurvDeviceDeploy
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(value = "/getRelayList")
|
@GetMapping(value = "/getRelayList")
|
||||||
public Result<JSONObject> getRelayList(@RequestParam String deployId) {
|
public Result<DeviceRelayVo> getRelayList(@RequestParam String deployId) {
|
||||||
|
|
||||||
SurvDeviceDeploy deploy = deviceDeployService.getById(deployId);
|
SurvDeviceDeploy deploy = deviceDeployService.getById(deployId);
|
||||||
Assert.notNull(deploy,"无效设备");
|
Assert.notNull(deploy,"无效设备");
|
||||||
JSONObject jsonObject = new JSONObject();
|
DeviceRelayVo deviceRelayVo = new DeviceRelayVo();
|
||||||
Date dateTime = null;
|
Date dateTime = null;
|
||||||
if(PollutionConstants.WATER_ORIENT.equals(deploy.getDeployType())){
|
if(PollutionConstants.WATER_ORIENT.equals(deploy.getDeployType())){
|
||||||
SurvTransdataOrientwater orientwater = orientwaterService.getOneByDeviceCode(deploy.getDeployCode());
|
SurvTransdataOrientwater orientwater = orientwaterService.getOneByDeviceCode(deploy.getDeployCode());
|
||||||
|
|
@ -429,25 +410,76 @@ public class SurvDeviceDeployController extends JeecgController<SurvDeviceDeploy
|
||||||
|
|
||||||
switch (deploy.getProtocolCode()){
|
switch (deploy.getProtocolCode()){
|
||||||
case IotConstants.lhviot_standard:
|
case IotConstants.lhviot_standard:
|
||||||
List<String> readType = new ArrayList<>(Arrays.asList("read_write"));
|
List<SurvDeviceDeployRelaygroup> relays = relaygroupService.getRelayByGroup(deploy.getId());
|
||||||
List<SurvIotVirtualDeviceGroup> modules = iotVirtualDeviceService.getModuleByGroup(deploy.getDeployCode(),readType);
|
deviceRelayVo.setModuleList(relays);
|
||||||
jsonObject.put("moduleList",modules);
|
//初始化指令
|
||||||
List<String> readType2 = new ArrayList<>(Arrays.asList("read_only"));
|
if(!relays.isEmpty()){
|
||||||
List<SurvIotVirtualDeviceModule> runs = iotVirtualDeviceService.getModuleByType(deploy.getDeployCode(),readType2);
|
for (SurvDeviceDeployRelaygroup relaygroup : relays) {
|
||||||
jsonObject.put("runStatus",runs);
|
List<SurvDeviceDeployRelay> r = relayService.initCmd(relaygroup.getRelayList());
|
||||||
|
relaygroup.setRelayList(r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<SurvDeviceDeployRun> runs = runService.listByDeploy(deploy.getId());
|
||||||
|
deviceRelayVo.setRunStatus(runs);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
List<SurvDeviceDeployRelay> pageList = relayService.relayList(deployId,null);
|
List<SurvDeviceDeployRelay> pageList = relayService.relayList(deployId,null);
|
||||||
jsonObject.put("relayList",pageList);
|
deviceRelayVo.setRelayList(pageList);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(dateTime==null) {
|
if(dateTime==null) {
|
||||||
jsonObject.put("dataTime", "该设备没有监测数据返回");
|
deviceRelayVo.setDateTime("该设备没有监测数据返回");
|
||||||
}else{
|
}else{
|
||||||
jsonObject.put("dataTime",dateTime);
|
SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
deviceRelayVo.setDateTime(time.format(dateTime));
|
||||||
}
|
}
|
||||||
return Result.OK(jsonObject);
|
return Result.OK(deviceRelayVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// @GetMapping(value = "/getRelayList")
|
||||||
|
// public Result<JSONObject> getRelayList(@RequestParam String deployId) {
|
||||||
|
//
|
||||||
|
// SurvDeviceDeploy deploy = deviceDeployService.getById(deployId);
|
||||||
|
// Assert.notNull(deploy,"无效设备");
|
||||||
|
// JSONObject jsonObject = new JSONObject();
|
||||||
|
// Date dateTime = null;
|
||||||
|
// if(PollutionConstants.WATER_ORIENT.equals(deploy.getDeployType())){
|
||||||
|
// SurvTransdataOrientwater orientwater = orientwaterService.getOneByDeviceCode(deploy.getDeployCode());
|
||||||
|
// if(orientwater!=null) {
|
||||||
|
// dateTime = orientwater.getDataDateTime();
|
||||||
|
// }
|
||||||
|
// } else if (PollutionConstants.WATER_LIVE.contains(deploy.getDeployType())) {
|
||||||
|
// SurvTransdataLivestockwater livestockwater = livestockwaterService.getOneByDeviceCode(deploy.getDeployCode());
|
||||||
|
// if(livestockwater!=null) {
|
||||||
|
// dateTime = livestockwater.getDataDateTime();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// switch (deploy.getProtocolCode()){
|
||||||
|
// case IotConstants.lhviot_standard:
|
||||||
|
// List<String> readType = new ArrayList<>(Arrays.asList("read_write"));
|
||||||
|
// List<SurvIotVirtualDeviceGroup> modules = iotVirtualDeviceService.getModuleByGroup(deploy.getDeployCode(),readType);
|
||||||
|
// jsonObject.put("moduleList",modules);
|
||||||
|
// List<String> readType2 = new ArrayList<>(Arrays.asList("read_only"));
|
||||||
|
// List<SurvIotVirtualDeviceModule> runs = iotVirtualDeviceService.getModuleByType(deploy.getDeployCode(),readType2);
|
||||||
|
// jsonObject.put("runStatus",runs);
|
||||||
|
// break;
|
||||||
|
// default:
|
||||||
|
// List<SurvDeviceDeployRelay> pageList = relayService.relayList(deployId,null);
|
||||||
|
// jsonObject.put("relayList",pageList);
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if(dateTime==null) {
|
||||||
|
// jsonObject.put("dataTime", "该设备没有监测数据返回");
|
||||||
|
// }else{
|
||||||
|
// jsonObject.put("dataTime",dateTime);
|
||||||
|
// }
|
||||||
|
// return Result.OK(jsonObject);
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,248 @@
|
||||||
|
package org.jeecg.modules.appmana.controller;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLDecoder;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRun;
|
||||||
|
import org.jeecg.common.iot.common.DeviceRunTypeVo;
|
||||||
|
import org.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import org.jeecg.common.util.oConvertUtils;
|
||||||
|
import org.jeecg.common.vo.dict.DictVo;
|
||||||
|
import org.jeecg.modules.appmana.service.ISurvConfigService;
|
||||||
|
import org.jeecg.modules.appmana.service.ISurvDeviceDeployRunService;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||||
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||||
|
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||||
|
import org.jeecg.common.system.base.controller.JeecgController;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||||
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
import org.jeecg.common.system.util.JwtUtil;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Api(tags="运行状态")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/appmana/survDeviceDeployRun")
|
||||||
|
@Slf4j
|
||||||
|
public class SurvDeviceDeployRunController extends JeecgController<SurvDeviceDeployRun, ISurvDeviceDeployRunService> {
|
||||||
|
@Autowired
|
||||||
|
private ISurvDeviceDeployRunService survDeviceDeployRunService;
|
||||||
|
@Autowired
|
||||||
|
private ISurvConfigService configService;
|
||||||
|
/**
|
||||||
|
* 分页列表查询
|
||||||
|
*
|
||||||
|
* @param survDeviceDeployRun
|
||||||
|
* @param pageNo
|
||||||
|
* @param pageSize
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@AutoLog(value = "运行状态-分页列表查询")
|
||||||
|
@ApiOperation(value="运行状态-分页列表查询", notes="运行状态-分页列表查询")
|
||||||
|
@GetMapping(value = "/list")
|
||||||
|
public Result<IPage<SurvDeviceDeployRun>> queryPageList(SurvDeviceDeployRun survDeviceDeployRun,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
QueryWrapper<SurvDeviceDeployRun> queryWrapper = QueryGenerator.initQueryWrapper(survDeviceDeployRun, req.getParameterMap());
|
||||||
|
Page<SurvDeviceDeployRun> page = new Page<SurvDeviceDeployRun>(pageNo, pageSize);
|
||||||
|
IPage<SurvDeviceDeployRun> pageList = survDeviceDeployRunService.page(page, queryWrapper);
|
||||||
|
survDeviceDeployRunService.fills(pageList.getRecords());
|
||||||
|
return Result.OK(pageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加
|
||||||
|
*
|
||||||
|
* @param survDeviceDeployRun
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "运行状态-添加")
|
||||||
|
@ApiOperation(value="运行状态-添加", notes="运行状态-添加")
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_run:add")
|
||||||
|
@PostMapping(value = "/add")
|
||||||
|
public Result<String> add(@RequestBody SurvDeviceDeployRun survDeviceDeployRun, HttpServletRequest request) {
|
||||||
|
String username = JwtUtil.getUserNameByToken(request);
|
||||||
|
survDeviceDeployRun.setCreateBy(username);
|
||||||
|
survDeviceDeployRun.setCreateTime(new Date());
|
||||||
|
survDeviceDeployRunService.save(survDeviceDeployRun);
|
||||||
|
return Result.OK("添加成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param survDeviceDeployRun
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "运行状态-编辑")
|
||||||
|
@ApiOperation(value="运行状态-编辑", notes="运行状态-编辑")
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_run:edit")
|
||||||
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||||
|
public Result<String> edit(@RequestBody SurvDeviceDeployRun survDeviceDeployRun, HttpServletRequest request) {
|
||||||
|
//创建、更新时间不能编辑
|
||||||
|
survDeviceDeployRun.setCreateTime(null);
|
||||||
|
survDeviceDeployRun.setUpdateTime(null);
|
||||||
|
String username = JwtUtil.getUserNameByToken(request);
|
||||||
|
survDeviceDeployRun.setUpdateBy(username);
|
||||||
|
survDeviceDeployRunService.updateById(survDeviceDeployRun);
|
||||||
|
return Result.OK("编辑成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "运行状态-通过id删除")
|
||||||
|
@ApiOperation(value="运行状态-通过id删除", notes="运行状态-通过id删除")
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_run:delete")
|
||||||
|
@DeleteMapping(value = "/delete")
|
||||||
|
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||||
|
survDeviceDeployRunService.removeById(id);
|
||||||
|
return Result.OK("删除成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "运行状态-批量删除")
|
||||||
|
@ApiOperation(value="运行状态-批量删除", notes="运行状态-批量删除")
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_run:deleteBatch")
|
||||||
|
@DeleteMapping(value = "/deleteBatch")
|
||||||
|
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||||
|
this.survDeviceDeployRunService.removeByIds(Arrays.asList(ids.split(",")));
|
||||||
|
return Result.OK("批量删除成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@AutoLog(value = "运行状态-通过id查询")
|
||||||
|
@ApiOperation(value="运行状态-通过id查询", notes="运行状态-通过id查询")
|
||||||
|
@GetMapping(value = "/queryById")
|
||||||
|
public Result<SurvDeviceDeployRun> queryById(@RequestParam(name="id",required=true) String id) {
|
||||||
|
SurvDeviceDeployRun survDeviceDeployRun = survDeviceDeployRunService.getById(id);
|
||||||
|
if(survDeviceDeployRun==null) {
|
||||||
|
return Result.error("未找到对应数据");
|
||||||
|
}
|
||||||
|
return Result.OK(survDeviceDeployRun);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出excel
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param survDeviceDeployRun
|
||||||
|
*/
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_run:exportXls")
|
||||||
|
@RequestMapping(value = "/exportXls")
|
||||||
|
public ModelAndView exportXls(HttpServletRequest request, SurvDeviceDeployRun survDeviceDeployRun) {
|
||||||
|
return super.exportXls(request, survDeviceDeployRun, SurvDeviceDeployRun.class, "运行状态");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过excel导入数据
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_run:importExcel")
|
||||||
|
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||||
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
return super.importExcel(request, response, SurvDeviceDeployRun.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重复校验
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/relayItemCheck", method = RequestMethod.GET)
|
||||||
|
@ApiOperation("重复校验接口")
|
||||||
|
public Result<Object> relayItemCheck(SurvDeviceDeployRun fDeviceDeployRun, HttpServletRequest request) {
|
||||||
|
|
||||||
|
Long num = Long.valueOf(0);
|
||||||
|
LambdaQueryWrapper<SurvDeviceDeployRun> queryWrapper = new LambdaQueryWrapper<SurvDeviceDeployRun>();
|
||||||
|
queryWrapper.eq(SurvDeviceDeployRun::getRunKey, fDeviceDeployRun.getRunKey());
|
||||||
|
queryWrapper.eq(SurvDeviceDeployRun::getDeployId, fDeviceDeployRun.getDeployId());
|
||||||
|
if (StringUtils.isNotBlank(fDeviceDeployRun.getId())) {
|
||||||
|
// 编辑页面校验
|
||||||
|
queryWrapper.ne(SurvDeviceDeployRun::getId, fDeviceDeployRun.getId());
|
||||||
|
}
|
||||||
|
num = survDeviceDeployRunService.count(queryWrapper);
|
||||||
|
if (num == 0) {
|
||||||
|
// 该值可用
|
||||||
|
return Result.ok("该值可用!");
|
||||||
|
} else {
|
||||||
|
// 该值不可用
|
||||||
|
log.info("该值不可用,系统中已存在!");
|
||||||
|
return Result.error("该值不可用,系统中已存在!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("13.获取运行种类种类")
|
||||||
|
@ApiOperationSupport(order = 13)
|
||||||
|
@GetMapping("/getRelayType")
|
||||||
|
public Result getRelayType() {
|
||||||
|
/*1=工作类型*/
|
||||||
|
List<DeviceRunTypeVo> relayTypeVos = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
List<DictVo> dictModels = configService.getDictByCode("iot_run_type");
|
||||||
|
if(!dictModels.isEmpty()){
|
||||||
|
for (DictVo dictModel : dictModels) {
|
||||||
|
DeviceRunTypeVo deviceRunTypeVo = new DeviceRunTypeVo();
|
||||||
|
deviceRunTypeVo.setRunType(dictModel.getValue());
|
||||||
|
deviceRunTypeVo.setRunTypeName(dictModel.getText());
|
||||||
|
relayTypeVos.add(deviceRunTypeVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Result.ok(relayTypeVos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,224 @@
|
||||||
|
package org.jeecg.modules.appmana.controller;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLDecoder;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRungroup;
|
||||||
|
import org.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import org.jeecg.common.util.oConvertUtils;
|
||||||
|
import org.jeecg.modules.appmana.service.ISurvDeviceDeployRungroupService;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||||
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||||
|
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||||
|
import org.jeecg.common.system.base.controller.JeecgController;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||||
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
import org.jeecg.common.system.util.JwtUtil;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态分组
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Api(tags="运行状态分组")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/appmana/survDeviceDeployRungroup")
|
||||||
|
@Slf4j
|
||||||
|
public class SurvDeviceDeployRungroupController extends JeecgController<SurvDeviceDeployRungroup, ISurvDeviceDeployRungroupService> {
|
||||||
|
@Autowired
|
||||||
|
private ISurvDeviceDeployRungroupService survDeviceDeployRungroupService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页列表查询
|
||||||
|
*
|
||||||
|
* @param survDeviceDeployRungroup
|
||||||
|
* @param pageNo
|
||||||
|
* @param pageSize
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@AutoLog(value = "运行状态分组-分页列表查询")
|
||||||
|
@ApiOperation(value="运行状态分组-分页列表查询", notes="运行状态分组-分页列表查询")
|
||||||
|
@GetMapping(value = "/list")
|
||||||
|
public Result<IPage<SurvDeviceDeployRungroup>> queryPageList(SurvDeviceDeployRungroup survDeviceDeployRungroup,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
QueryWrapper<SurvDeviceDeployRungroup> queryWrapper = QueryGenerator.initQueryWrapper(survDeviceDeployRungroup, req.getParameterMap());
|
||||||
|
Page<SurvDeviceDeployRungroup> page = new Page<SurvDeviceDeployRungroup>(pageNo, pageSize);
|
||||||
|
IPage<SurvDeviceDeployRungroup> pageList = survDeviceDeployRungroupService.page(page, queryWrapper);
|
||||||
|
return Result.OK(pageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加
|
||||||
|
*
|
||||||
|
* @param survDeviceDeployRungroup
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "运行状态分组-添加")
|
||||||
|
@ApiOperation(value="运行状态分组-添加", notes="运行状态分组-添加")
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_rungroup:add")
|
||||||
|
@PostMapping(value = "/add")
|
||||||
|
public Result<String> add(@RequestBody SurvDeviceDeployRungroup survDeviceDeployRungroup, HttpServletRequest request) {
|
||||||
|
String username = JwtUtil.getUserNameByToken(request);
|
||||||
|
survDeviceDeployRungroup.setCreateBy(username);
|
||||||
|
survDeviceDeployRungroup.setCreateTime(new Date());
|
||||||
|
survDeviceDeployRungroupService.save(survDeviceDeployRungroup);
|
||||||
|
return Result.OK("添加成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param survDeviceDeployRungroup
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "运行状态分组-编辑")
|
||||||
|
@ApiOperation(value="运行状态分组-编辑", notes="运行状态分组-编辑")
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_rungroup:edit")
|
||||||
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||||
|
public Result<String> edit(@RequestBody SurvDeviceDeployRungroup survDeviceDeployRungroup, HttpServletRequest request) {
|
||||||
|
//创建、更新时间不能编辑
|
||||||
|
survDeviceDeployRungroup.setCreateTime(null);
|
||||||
|
survDeviceDeployRungroup.setUpdateTime(null);
|
||||||
|
String username = JwtUtil.getUserNameByToken(request);
|
||||||
|
survDeviceDeployRungroup.setUpdateBy(username);
|
||||||
|
survDeviceDeployRungroupService.updateById(survDeviceDeployRungroup);
|
||||||
|
return Result.OK("编辑成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "运行状态分组-通过id删除")
|
||||||
|
@ApiOperation(value="运行状态分组-通过id删除", notes="运行状态分组-通过id删除")
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_rungroup:delete")
|
||||||
|
@DeleteMapping(value = "/delete")
|
||||||
|
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||||
|
survDeviceDeployRungroupService.removeById(id);
|
||||||
|
return Result.OK("删除成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "运行状态分组-批量删除")
|
||||||
|
@ApiOperation(value="运行状态分组-批量删除", notes="运行状态分组-批量删除")
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_rungroup:deleteBatch")
|
||||||
|
@DeleteMapping(value = "/deleteBatch")
|
||||||
|
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||||
|
this.survDeviceDeployRungroupService.removeByIds(Arrays.asList(ids.split(",")));
|
||||||
|
return Result.OK("批量删除成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@AutoLog(value = "运行状态分组-通过id查询")
|
||||||
|
@ApiOperation(value="运行状态分组-通过id查询", notes="运行状态分组-通过id查询")
|
||||||
|
@GetMapping(value = "/queryById")
|
||||||
|
public Result<SurvDeviceDeployRungroup> queryById(@RequestParam(name="id",required=true) String id) {
|
||||||
|
SurvDeviceDeployRungroup survDeviceDeployRungroup = survDeviceDeployRungroupService.getById(id);
|
||||||
|
if(survDeviceDeployRungroup==null) {
|
||||||
|
return Result.error("未找到对应数据");
|
||||||
|
}
|
||||||
|
return Result.OK(survDeviceDeployRungroup);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出excel
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param survDeviceDeployRungroup
|
||||||
|
*/
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_rungroup:exportXls")
|
||||||
|
@RequestMapping(value = "/exportXls")
|
||||||
|
public ModelAndView exportXls(HttpServletRequest request, SurvDeviceDeployRungroup survDeviceDeployRungroup) {
|
||||||
|
return super.exportXls(request, survDeviceDeployRungroup, SurvDeviceDeployRungroup.class, "运行状态分组");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过excel导入数据
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@RequiresPermissions("appmana:surv_device_deploy_rungroup:importExcel")
|
||||||
|
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||||
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
return super.importExcel(request, response, SurvDeviceDeployRungroup.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重复校验
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/itemCheck", method = RequestMethod.GET)
|
||||||
|
@ApiOperation("重复校验接口")
|
||||||
|
public Result<Object> itemCheck(SurvDeviceDeployRungroup survDeviceDeployRungroup, HttpServletRequest request) {
|
||||||
|
// SurvDeviceDeployRelaygroup relayGroup = fDeviceDeployRelaygroupService.getById(fDeviceDeployRelaygroup.getDeployId());
|
||||||
|
// Assert.notNull(relayGroup,"无效分组");
|
||||||
|
|
||||||
|
Long num = Long.valueOf(0);
|
||||||
|
LambdaQueryWrapper<SurvDeviceDeployRungroup> queryWrapper = new LambdaQueryWrapper<SurvDeviceDeployRungroup>();
|
||||||
|
queryWrapper.eq(SurvDeviceDeployRungroup::getGroupName, survDeviceDeployRungroup.getGroupName());
|
||||||
|
queryWrapper.eq(SurvDeviceDeployRungroup::getDeployId, survDeviceDeployRungroup.getDeployId());
|
||||||
|
if (StringUtils.isNotBlank(survDeviceDeployRungroup.getId())) {
|
||||||
|
// 编辑页面校验
|
||||||
|
queryWrapper.ne(SurvDeviceDeployRungroup::getId, survDeviceDeployRungroup.getId());
|
||||||
|
}
|
||||||
|
num = survDeviceDeployRungroupService.count(queryWrapper);
|
||||||
|
if (num == 0) {
|
||||||
|
// 该值可用
|
||||||
|
return Result.ok("该值可用!");
|
||||||
|
} else {
|
||||||
|
// 该值不可用
|
||||||
|
log.info("该值不可用,系统中已存在!");
|
||||||
|
return Result.error("该值不可用,系统中已存在!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ package org.jeecg.modules.appmana.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.jeecg.common.entity.SurvDeviceDeployRelay;
|
import org.jeecg.common.entity.SurvDeviceDeployRelay;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRelaygroup;
|
||||||
import org.jeecg.common.iot.common.DeployRelayCountVo;
|
import org.jeecg.common.iot.common.DeployRelayCountVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -20,4 +21,7 @@ public interface SurvDeviceDeployRelayMapper extends BaseMapper<SurvDeviceDeploy
|
||||||
List<SurvDeviceDeployRelay> relayList(@Param("deployId") String deployId, @Param("groups") List<String> groups);
|
List<SurvDeviceDeployRelay> relayList(@Param("deployId") String deployId, @Param("groups") List<String> groups);
|
||||||
|
|
||||||
List<SurvDeviceDeployRelay> deployRelayList(@Param("deployId") List<String> deployId, @Param("groups") List<String> groups);
|
List<SurvDeviceDeployRelay> deployRelayList(@Param("deployId") List<String> deployId, @Param("groups") List<String> groups);
|
||||||
|
|
||||||
|
List<SurvDeviceDeployRelay> getRelayByGroup(@Param("deployId")String deployId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
package org.jeecg.modules.appmana.mapper;
|
package org.jeecg.modules.appmana.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.jeecg.common.entity.SurvDeviceDeployRelaygroup;
|
import org.jeecg.common.entity.SurvDeviceDeployRelaygroup;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 继电器分组
|
* @Description: 继电器分组
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
|
|
@ -11,4 +14,5 @@ import org.jeecg.common.entity.SurvDeviceDeployRelaygroup;
|
||||||
*/
|
*/
|
||||||
public interface SurvDeviceDeployRelaygroupMapper extends BaseMapper<SurvDeviceDeployRelaygroup> {
|
public interface SurvDeviceDeployRelaygroupMapper extends BaseMapper<SurvDeviceDeployRelaygroup> {
|
||||||
|
|
||||||
|
List<SurvDeviceDeployRelaygroup> getRelayByGroup(@Param("deployId")String deployId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.appmana.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRun;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface SurvDeviceDeployRunMapper extends BaseMapper<SurvDeviceDeployRun> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.appmana.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRungroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态分组
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface SurvDeviceDeployRungroupMapper extends BaseMapper<SurvDeviceDeployRungroup> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -52,6 +52,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<select id="getItemCounts" resultType="org.jeecg.common.iot.common.DeployRelayCountVo">
|
<select id="getItemCounts" resultType="org.jeecg.common.iot.common.DeployRelayCountVo">
|
||||||
select DEPLOY_ID as deployId,count(ID) as relayCounts from surv_device_deploy_relay
|
select DEPLOY_ID as deployId,count(ID) as relayCounts from surv_device_deploy_relay
|
||||||
where IS_DEL = 0 AND DEPLOY_ID IN
|
where IS_DEL = 0 AND DEPLOY_ID IN
|
||||||
|
|
@ -99,4 +100,10 @@
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getRelays" resultMap="SurvDeviceDeployRelayMap">
|
||||||
|
select
|
||||||
|
<include refid="baseSql"/>
|
||||||
|
from surv_device_deploy_relay
|
||||||
|
where GROUP_ID = #{groupId} order by SORT_NO,CREATE_TIME desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -1,5 +1,35 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="org.jeecg.modules.appmana.mapper.SurvDeviceDeployRelaygroupMapper">
|
<mapper namespace="org.jeecg.modules.appmana.mapper.SurvDeviceDeployRelaygroupMapper">
|
||||||
|
<resultMap type="org.jeecg.common.entity.SurvDeviceDeployRelaygroup" id="SurvDeviceDeployRelaygroupMap">
|
||||||
|
<result property="id" column="ID" jdbcType="VARCHAR"/>
|
||||||
|
<result property="deployId" column="DEPLOY_ID" jdbcType="VARCHAR"/>
|
||||||
|
<result property="groupType" column="GROUP_TYPE" jdbcType="VARCHAR"/>
|
||||||
|
<result property="groupName" column="GROUP_NAME" jdbcType="VARCHAR"/>
|
||||||
|
<result property="groupNotes" column="GROUP_NOTES" jdbcType="VARCHAR"/>
|
||||||
|
<result property="sortNo" column="SORT_NO" jdbcType="INTEGER"/>
|
||||||
|
<result property="isEnable" column="IS_ENABLE" jdbcType="INTEGER"/>
|
||||||
|
<result property="tenantId" column="TENANT_ID" jdbcType="VARCHAR"/>
|
||||||
|
<result property="reVision" column="RE_VISION" jdbcType="INTEGER"/>
|
||||||
|
<result property="createBy" column="CREATE_BY" jdbcType="VARCHAR"/>
|
||||||
|
<result property="createTime" column="CREATE_TIME" jdbcType="TIMESTAMP"/>
|
||||||
|
<result property="updateBy" column="UPDATE_BY" jdbcType="VARCHAR"/>
|
||||||
|
<result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
|
||||||
|
<result property="updateTime" column="UPDATE_TIME" jdbcType="TIMESTAMP"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="relayMap" type="org.jeecg.common.entity.SurvDeviceDeployRelaygroup" extends="SurvDeviceDeployRelaygroupMap">
|
||||||
|
<collection property="relayList" column="{groupId = ID}" select="org.jeecg.modules.appmana.mapper.SurvDeviceDeployRelayMapper.getRelays"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="baseSql">
|
||||||
|
ID,DEPLOY_ID,GROUP_TYPE,GROUP_NAME,GROUP_NOTES,SORT_NO,IS_ENABLE,TENANT_ID,RE_VISION,CREATE_BY,CREATE_TIME,UPDATE_BY,IS_DEL,UPDATE_TIME
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="getRelayByGroup" resultMap="relayMap">
|
||||||
|
select <include refid="baseSql"/>
|
||||||
|
from surv_device_deploy_relaygroup
|
||||||
|
where DEPLOY_ID = #{deployId} order by SORT_NO,CREATE_TIME desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.appmana.mapper.SurvDeviceDeployRunMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.appmana.mapper.SurvDeviceDeployRungroupMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -3,6 +3,7 @@ package org.jeecg.modules.appmana.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import org.jeecg.common.entity.SurvDeviceDeploy;
|
import org.jeecg.common.entity.SurvDeviceDeploy;
|
||||||
import org.jeecg.common.entity.SurvDeviceDeployRelay;
|
import org.jeecg.common.entity.SurvDeviceDeployRelay;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRelaygroup;
|
||||||
import org.jeecg.common.iot.common.DeployRelayCountVo;
|
import org.jeecg.common.iot.common.DeployRelayCountVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -34,4 +35,7 @@ public interface ISurvDeviceDeployRelayService extends IService<SurvDeviceDeploy
|
||||||
void processGroupName(SurvDeviceDeployRelay fDeviceDeployRelay);
|
void processGroupName(SurvDeviceDeployRelay fDeviceDeployRelay);
|
||||||
|
|
||||||
void fills(List<SurvDeviceDeployRelay> list);
|
void fills(List<SurvDeviceDeployRelay> list);
|
||||||
|
|
||||||
|
|
||||||
|
List<SurvDeviceDeployRelay> initCmd(List<SurvDeviceDeployRelay> relayList);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,4 +14,6 @@ import java.util.List;
|
||||||
public interface ISurvDeviceDeployRelaygroupService extends IService<SurvDeviceDeployRelaygroup> {
|
public interface ISurvDeviceDeployRelaygroupService extends IService<SurvDeviceDeployRelaygroup> {
|
||||||
|
|
||||||
void fills(List<SurvDeviceDeployRelaygroup> records);
|
void fills(List<SurvDeviceDeployRelaygroup> records);
|
||||||
|
|
||||||
|
List<SurvDeviceDeployRelaygroup> getRelayByGroup(String id);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package org.jeecg.modules.appmana.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRun;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface ISurvDeviceDeployRunService extends IService<SurvDeviceDeployRun> {
|
||||||
|
|
||||||
|
List<SurvDeviceDeployRun> listByDeploy(String deployId);
|
||||||
|
|
||||||
|
void fills(List<SurvDeviceDeployRun> pageList);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.jeecg.modules.appmana.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRungroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态分组
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface ISurvDeviceDeployRungroupService extends IService<SurvDeviceDeployRungroup> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -8,16 +8,14 @@ import org.apache.commons.lang3.StringUtils;
|
||||||
import org.jeecg.common.constant.IotConstants;
|
import org.jeecg.common.constant.IotConstants;
|
||||||
import org.jeecg.common.constant.PollutionConstants;
|
import org.jeecg.common.constant.PollutionConstants;
|
||||||
import org.jeecg.common.constant.enums.PollutionEnum;
|
import org.jeecg.common.constant.enums.PollutionEnum;
|
||||||
import org.jeecg.common.entity.ScEquZhibiao;
|
import org.jeecg.common.entity.*;
|
||||||
import org.jeecg.common.entity.SurvConfig;
|
|
||||||
import org.jeecg.common.entity.SurvDeviceDeploy;
|
|
||||||
import org.jeecg.common.entity.SurvStationInfo;
|
|
||||||
import org.jeecg.common.util.DateUtilTools;
|
import org.jeecg.common.util.DateUtilTools;
|
||||||
import org.jeecg.common.util.EntityFieldUtil;
|
import org.jeecg.common.util.EntityFieldUtil;
|
||||||
import org.jeecg.common.vo.*;
|
import org.jeecg.common.vo.*;
|
||||||
import org.jeecg.common.vo.statistic.DTOIotSummray;
|
import org.jeecg.common.vo.statistic.DTOIotSummray;
|
||||||
import org.jeecg.modules.appmana.service.IScEquZhibiaoService;
|
import org.jeecg.modules.appmana.service.IScEquZhibiaoService;
|
||||||
import org.jeecg.modules.appmana.utils.Iotutils;
|
import org.jeecg.modules.appmana.utils.Iotutils;
|
||||||
|
import org.jeecg.modules.mqtt.MqttService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -52,7 +50,9 @@ public class IotCommonP3ServiceImpl {
|
||||||
@Autowired
|
@Autowired
|
||||||
@Lazy
|
@Lazy
|
||||||
private SurvConfigServiceImpl survConfigService;
|
private SurvConfigServiceImpl survConfigService;
|
||||||
|
@Lazy
|
||||||
|
@Autowired(required = false)
|
||||||
|
private MqttService mqttService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物联网设备统计
|
* 物联网设备统计
|
||||||
|
|
@ -708,4 +708,25 @@ public class IotCommonP3ServiceImpl {
|
||||||
|
|
||||||
return voHisResult;
|
return voHisResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean sendMqttCmd(SurvDeviceDeploy deploy, SurvDeviceDeployRelay relay,String ops){
|
||||||
|
if(deploy!=null){
|
||||||
|
String cmds = "";
|
||||||
|
String fieldName = relay.getEntityField();
|
||||||
|
if (IotConstants.DEVICE_CLOSE.equals(ops)) {//关逻辑
|
||||||
|
cmds = relay.getRegisterCmdOn();
|
||||||
|
} else if (IotConstants.DEVICE_ON.equals(ops)) {//开逻辑
|
||||||
|
cmds = relay.getRegisterCmdOff();
|
||||||
|
} else if (IotConstants.DEVICE_STOP.equals(ops)) {//停逻辑
|
||||||
|
cmds = relay.getRegisterCmdStop();
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (deploy.getProtocolCode()){
|
||||||
|
// mqttService
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
import java.time.ZoneId;
|
||||||
import java.util.Map;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
@ -47,6 +49,10 @@ public class SurvDeviceDeployRelayServiceImpl extends ServiceImpl<SurvDeviceDepl
|
||||||
@Autowired
|
@Autowired
|
||||||
@Lazy
|
@Lazy
|
||||||
private SurvConfigServiceImpl configService;
|
private SurvConfigServiceImpl configService;
|
||||||
|
private static final AtomicInteger counter = new AtomicInteger(0);
|
||||||
|
private static final DateTimeFormatter FORMATTER =
|
||||||
|
DateTimeFormatter.ofPattern("yyyyMMddHHmmss")
|
||||||
|
.withZone(ZoneId.systemDefault());
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean syncRelays(List<String> list) {
|
public boolean syncRelays(List<String> list) {
|
||||||
|
|
@ -302,4 +308,44 @@ public class SurvDeviceDeployRelayServiceImpl extends ServiceImpl<SurvDeviceDepl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SurvDeviceDeployRelay> initCmd(List<SurvDeviceDeployRelay> relayList) {
|
||||||
|
List<SurvDeviceDeployRelay> re = new ArrayList<>();
|
||||||
|
if(relayList!=null && !relayList.isEmpty()){
|
||||||
|
for (SurvDeviceDeployRelay survDeviceDeployRelay : relayList) {
|
||||||
|
survDeviceDeployRelay.setRegisterCmdOn(completeCmd(survDeviceDeployRelay.getRegisterCmdOn()));
|
||||||
|
survDeviceDeployRelay.setRegisterCmdOff(completeCmd(survDeviceDeployRelay.getRegisterCmdOff()));
|
||||||
|
survDeviceDeployRelay.setRegisterCmdStop(completeCmd(survDeviceDeployRelay.getRegisterCmdStop()));
|
||||||
|
re.add(survDeviceDeployRelay);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return re;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String completeCmd(String cmdStr){
|
||||||
|
String cmds = "";
|
||||||
|
if(StringUtils.isNotBlank(cmdStr)){
|
||||||
|
cmds = String.format(cmdStr,generate());
|
||||||
|
}
|
||||||
|
return cmds;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 线程安全的高并发版本
|
||||||
|
*/
|
||||||
|
public static String generate() {
|
||||||
|
// 1. 生成时间戳部分
|
||||||
|
String timestamp = FORMATTER.format(Instant.now());
|
||||||
|
|
||||||
|
// 2. 生成4位随机数(使用AtomicInteger保证线程安全)
|
||||||
|
int random = counter.incrementAndGet() % 10000;
|
||||||
|
if (random < 0) {
|
||||||
|
random = -random;
|
||||||
|
}
|
||||||
|
String randomStr = String.format("%04d", random);
|
||||||
|
|
||||||
|
return timestamp + randomStr;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,4 +41,10 @@ public class SurvDeviceDeployRelaygroupServiceImpl extends ServiceImpl<SurvDevic
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SurvDeviceDeployRelaygroup> getRelayByGroup(String deployId) {
|
||||||
|
return baseMapper.getRelayByGroup(deployId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
package org.jeecg.modules.appmana.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRelaygroup;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRun;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRungroup;
|
||||||
|
import org.jeecg.modules.appmana.mapper.SurvDeviceDeployRunMapper;
|
||||||
|
import org.jeecg.modules.appmana.service.ISurvDeviceDeployRunService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SurvDeviceDeployRunServiceImpl extends ServiceImpl<SurvDeviceDeployRunMapper, SurvDeviceDeployRun> implements ISurvDeviceDeployRunService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private SurvConfigServiceImpl configService;
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private SurvDeviceDeployRungroupServiceImpl rungroupService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SurvDeviceDeployRun> listByDeploy(String deployId) {
|
||||||
|
List<SurvDeviceDeployRun> list = lambdaQuery()
|
||||||
|
.eq(SurvDeviceDeployRun::getDeployId,deployId)
|
||||||
|
.orderByAsc(SurvDeviceDeployRun::getSortNo)
|
||||||
|
.orderByDesc(SurvDeviceDeployRun::getCreateTime)
|
||||||
|
.list();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fills(List<SurvDeviceDeployRun> pageList) {
|
||||||
|
if(pageList!=null && !pageList.isEmpty()){
|
||||||
|
Map<String,String> typeMaps = configService.getDictMapByCode("iot_run_type");
|
||||||
|
Map<String,String> cateMaps = configService.getDictMapByCode("iot_run_cate");
|
||||||
|
List<SurvDeviceDeployRungroup> relaygroups = rungroupService.groupList(pageList.get(0).getDeployId());
|
||||||
|
Map<String,String> groupMaps = new HashMap<>();
|
||||||
|
if(!relaygroups.isEmpty()){
|
||||||
|
relaygroups.forEach(item->groupMaps.put(item.getId(),item.getGroupName()));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (SurvDeviceDeployRun survDeviceDeployRun : pageList) {
|
||||||
|
survDeviceDeployRun.setRunCateName(cateMaps.get(survDeviceDeployRun.getRunCate()+""));
|
||||||
|
survDeviceDeployRun.setRunTypeName(typeMaps.get(survDeviceDeployRun.getRunType()+""));
|
||||||
|
survDeviceDeployRun.setGroupNameStr(groupMaps.get(survDeviceDeployRun.getGroupId()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package org.jeecg.modules.appmana.service.impl;
|
||||||
|
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRungroup;
|
||||||
|
import org.jeecg.modules.appmana.mapper.SurvDeviceDeployRungroupMapper;
|
||||||
|
import org.jeecg.modules.appmana.service.ISurvDeviceDeployRungroupService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态分组
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SurvDeviceDeployRungroupServiceImpl extends ServiceImpl<SurvDeviceDeployRungroupMapper, SurvDeviceDeployRungroup> implements ISurvDeviceDeployRungroupService {
|
||||||
|
|
||||||
|
public List<SurvDeviceDeployRungroup> groupList(String deployId) {
|
||||||
|
List<SurvDeviceDeployRungroup> list = lambdaQuery()
|
||||||
|
.eq(SurvDeviceDeployRungroup::getIsEnable,1)
|
||||||
|
.eq(SurvDeviceDeployRungroup::getDeployId,deployId)
|
||||||
|
.list();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,6 +12,7 @@ import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 继电器分组
|
* @Description: 继电器分组
|
||||||
|
|
@ -101,4 +102,7 @@ public class SurvDeviceDeployRelaygroup implements Serializable {
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String groupTypeName;
|
private String groupTypeName;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private List<SurvDeviceDeployRelay> relayList;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,149 @@
|
||||||
|
package org.jeecg.common.entity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.06
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("surv_device_deploy_run")
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ApiModel(value="surv_device_deploy_run对象", description="运行状态")
|
||||||
|
public class SurvDeviceDeployRun implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**主键*/
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private java.lang.String id;
|
||||||
|
/**设备ID*/
|
||||||
|
@Excel(name = "设备ID", width = 15)
|
||||||
|
@ApiModelProperty(value = "设备ID")
|
||||||
|
private java.lang.String deployId;
|
||||||
|
/**类别,1=普通*/
|
||||||
|
@Excel(name = "类别,1=普通", width = 15)
|
||||||
|
@ApiModelProperty(value = "类别,1=普通")
|
||||||
|
private java.lang.Integer runCate;
|
||||||
|
/**1=工作运行状态*/
|
||||||
|
@Excel(name = "1=工作运行状态", width = 15)
|
||||||
|
@ApiModelProperty(value = "1=工作运行状态")
|
||||||
|
private java.lang.Integer runType;
|
||||||
|
/**状态key/编号*/
|
||||||
|
@Excel(name = "状态key/编号", width = 15)
|
||||||
|
@ApiModelProperty(value = "状态key/编号")
|
||||||
|
private java.lang.String runKey;
|
||||||
|
/**状态名称*/
|
||||||
|
@Excel(name = "状态名称", width = 15)
|
||||||
|
@ApiModelProperty(value = "状态名称")
|
||||||
|
private java.lang.String runName;
|
||||||
|
/**状态备注*/
|
||||||
|
@Excel(name = "状态备注", width = 15)
|
||||||
|
@ApiModelProperty(value = "状态备注")
|
||||||
|
private java.lang.String relayNotes;
|
||||||
|
/**状态标记*/
|
||||||
|
@Excel(name = "状态标记", width = 15)
|
||||||
|
@ApiModelProperty(value = "状态标记")
|
||||||
|
private java.lang.String relayMark;
|
||||||
|
/**回执状态开*/
|
||||||
|
@Excel(name = "回执状态开", width = 15)
|
||||||
|
@ApiModelProperty(value = "回执状态开")
|
||||||
|
private java.lang.String registerOn;
|
||||||
|
/**回执状态关*/
|
||||||
|
@Excel(name = "回执状态关", width = 15)
|
||||||
|
@ApiModelProperty(value = "回执状态关")
|
||||||
|
private java.lang.String registerOff;
|
||||||
|
/**回执状态停*/
|
||||||
|
@Excel(name = "回执状态停", width = 15)
|
||||||
|
@ApiModelProperty(value = "回执状态停")
|
||||||
|
private java.lang.String registerStop;
|
||||||
|
/**是否启用*/
|
||||||
|
@Excel(name = "是否启用", width = 15)
|
||||||
|
@ApiModelProperty(value = "是否启用")
|
||||||
|
private java.lang.Integer isEnable;
|
||||||
|
/**分组ID*/
|
||||||
|
@Excel(name = "分组ID", width = 15)
|
||||||
|
@ApiModelProperty(value = "分组ID")
|
||||||
|
private java.lang.String groupId;
|
||||||
|
/**分组CODE*/
|
||||||
|
@Excel(name = "分组CODE", width = 15)
|
||||||
|
@ApiModelProperty(value = "分组CODE")
|
||||||
|
private java.lang.String groupCode;
|
||||||
|
/**分组名称*/
|
||||||
|
@Excel(name = "分组名称", width = 15)
|
||||||
|
@ApiModelProperty(value = "分组名称")
|
||||||
|
private java.lang.String groupName;
|
||||||
|
/**排序号*/
|
||||||
|
@Excel(name = "排序号", width = 15)
|
||||||
|
@ApiModelProperty(value = "排序号")
|
||||||
|
private java.lang.Integer sortNo;
|
||||||
|
/**租户号*/
|
||||||
|
@Excel(name = "租户号", width = 15)
|
||||||
|
@ApiModelProperty(value = "租户号")
|
||||||
|
private java.lang.String tenantId;
|
||||||
|
/**乐观锁*/
|
||||||
|
@Excel(name = "乐观锁", width = 15)
|
||||||
|
@ApiModelProperty(value = "乐观锁")
|
||||||
|
private java.lang.Integer reVision;
|
||||||
|
/**创建人*/
|
||||||
|
@ApiModelProperty(value = "创建人")
|
||||||
|
private java.lang.String createBy;
|
||||||
|
/**创建时间*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
private java.util.Date createTime;
|
||||||
|
/**更新人*/
|
||||||
|
@ApiModelProperty(value = "更新人")
|
||||||
|
private java.lang.String updateBy;
|
||||||
|
/**逻辑删除*/
|
||||||
|
@Excel(name = "逻辑删除", width = 15)
|
||||||
|
@ApiModelProperty(value = "逻辑删除")
|
||||||
|
private java.lang.Integer isDel;
|
||||||
|
/**更新时间*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
private java.util.Date updateTime;
|
||||||
|
/**乐观锁*/
|
||||||
|
@Excel(name = "乐观锁", width = 15)
|
||||||
|
@ApiModelProperty(value = "乐观锁")
|
||||||
|
private java.lang.Integer revision;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分组名称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "分组名称")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String groupNameStr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 运行种类
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "运行种类")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String runTypeName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 运行类别
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "运行类别")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String runCateName;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,90 @@
|
||||||
|
package org.jeecg.common.entity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
|
import lombok.Data;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 运行状态分组
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2026-03-30
|
||||||
|
* @Version: V1.06
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("surv_device_deploy_rungroup")
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ApiModel(value="surv_device_deploy_rungroup对象", description="运行状态分组")
|
||||||
|
public class SurvDeviceDeployRungroup implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**主键*/
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private java.lang.String id;
|
||||||
|
/**设备id*/
|
||||||
|
@Excel(name = "设备id", width = 15)
|
||||||
|
@ApiModelProperty(value = "设备id")
|
||||||
|
private java.lang.String deployId;
|
||||||
|
/**分组类型;button=按钮,switch=两开关,shifter=三开关*/
|
||||||
|
@Excel(name = "分组类型;button=按钮,switch=两开关,shifter=三开关", width = 15)
|
||||||
|
@ApiModelProperty(value = "分组类型;button=按钮,switch=两开关,shifter=三开关")
|
||||||
|
private java.lang.String groupType;
|
||||||
|
/**分组名称*/
|
||||||
|
@Excel(name = "分组名称", width = 15)
|
||||||
|
@ApiModelProperty(value = "分组名称")
|
||||||
|
private java.lang.String groupName;
|
||||||
|
/**分组备注*/
|
||||||
|
@Excel(name = "分组备注", width = 15)
|
||||||
|
@ApiModelProperty(value = "分组备注")
|
||||||
|
private java.lang.String groupNotes;
|
||||||
|
/**序号*/
|
||||||
|
@Excel(name = "序号", width = 15)
|
||||||
|
@ApiModelProperty(value = "序号")
|
||||||
|
private java.lang.Integer sortNo;
|
||||||
|
/**是否启用*/
|
||||||
|
@Excel(name = "是否启用", width = 15)
|
||||||
|
@ApiModelProperty(value = "是否启用")
|
||||||
|
private java.lang.Integer isEnable;
|
||||||
|
/**租户号*/
|
||||||
|
@Excel(name = "租户号", width = 15)
|
||||||
|
@ApiModelProperty(value = "租户号")
|
||||||
|
private java.lang.String tenantId;
|
||||||
|
/**乐观锁*/
|
||||||
|
@Excel(name = "乐观锁", width = 15)
|
||||||
|
@ApiModelProperty(value = "乐观锁")
|
||||||
|
private java.lang.Integer reVision;
|
||||||
|
/**创建人*/
|
||||||
|
@ApiModelProperty(value = "创建人")
|
||||||
|
private java.lang.String createBy;
|
||||||
|
/**创建时间*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
private java.util.Date createTime;
|
||||||
|
/**更新人*/
|
||||||
|
@ApiModelProperty(value = "更新人")
|
||||||
|
private java.lang.String updateBy;
|
||||||
|
/**逻辑删除*/
|
||||||
|
@Excel(name = "逻辑删除", width = 15)
|
||||||
|
@ApiModelProperty(value = "逻辑删除")
|
||||||
|
private java.lang.Integer isDel;
|
||||||
|
/**更新时间*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
private java.util.Date updateTime;
|
||||||
|
}
|
||||||
|
|
@ -226,4 +226,8 @@ public class SurvIotVirtualDeviceModule implements Serializable {
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty("设备状态,-1=获取失败,0=关闭,1=开启,2=异常")
|
@ApiModelProperty("设备状态,-1=获取失败,0=关闭,1=开启,2=异常")
|
||||||
private String moduleStatus;
|
private String moduleStatus;
|
||||||
|
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String value="";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
package org.jeecg.common.iot.common;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DeviceRunTypeVo {
|
||||||
|
private String runTypeName;
|
||||||
|
private String runType;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package org.jeecg.common.vo.iot.common;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRelay;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRelaygroup;
|
||||||
|
import org.jeecg.common.entity.SurvDeviceDeployRun;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DeviceRelayVo {
|
||||||
|
/**
|
||||||
|
* 控制项列表
|
||||||
|
*/
|
||||||
|
private List<SurvDeviceDeployRelaygroup> moduleList;
|
||||||
|
/**
|
||||||
|
* 控制项列表(无分组)
|
||||||
|
*/
|
||||||
|
private List<SurvDeviceDeployRelay> relayList;
|
||||||
|
/**
|
||||||
|
* 设备运行参数状态
|
||||||
|
*/
|
||||||
|
private List<SurvDeviceDeployRun> runStatus;
|
||||||
|
/**
|
||||||
|
* 最新数据时间
|
||||||
|
*/
|
||||||
|
private String dateTime;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue