2023-07-10 15:10:26 基本完成策略下发执行设备调控逻辑,根据终端上传结果来反馈给前端页面展示!

master
魔神煜修罗皇 2 years ago
parent 11d918facf
commit 17dbfdbb82
  1. 2
      psdc-admin/src/main/resources/application-dev.yml
  2. 2
      psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java
  3. 2
      psdc-business/src/main/java/com/psdc/service/IPsdcStrategyLogService.java
  4. 4
      psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java
  5. 6
      psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java
  6. 23
      psdc-web/src/main/java/com/psdc/controller/control/ManualController.java

@ -138,7 +138,7 @@ mqtt:
#QOS等级 0, 1, 2
qos: 1
#客户端id 必须唯一
clientId: psdcDev12356ER
clientId: psdcDev12356EVX
#连接超时,默认30000
timeOut: 10
#心跳间隔时间,默认3000

@ -100,7 +100,7 @@ public interface IPsdcDeviceService {
Integer setTemperature(Integer deviceId, Integer sceneCode, List<HashMap> data, String controlBym,Integer controlMethod);
Integer sceneControl(List<JSONObject> jsonObjectList);
Long sceneControl(List<JSONObject> jsonObjectList);
/**
* 设置单条温度指令

@ -17,4 +17,6 @@ public interface IPsdcStrategyLogService {
List selMyStrategyLog();
PsdcStrategyLog selMyNewLog(Long code);
PsdcStrategyLog selMyThisLog(Integer code);
}

@ -402,7 +402,7 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService {
}
@Override
public Integer sceneControl(List<JSONObject> jsonObjectList) {
public Long sceneControl(List<JSONObject> jsonObjectList) {
Date date = new Date();
final int[] count = {0};
int thisCode = jsonObjectList.get(0).getInteger("sceneCode");
@ -465,7 +465,7 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService {
ThreadTest t1 = new ThreadTest(AppInfoRes.class);
t1.start();
return 4;
return code;
}
public Double[] getInTemp(Date date, String s) {

@ -75,6 +75,12 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService {
return strategyLogMapper.selMyNewLog(SecurityUtils.getUserId(), code);
}
@Override
public PsdcStrategyLog selMyThisLog(Integer code) {
Long thisCode = strategyLogMapper.queryStrategyId(code + ",");
return strategyLogMapper.selMyNewLog(SecurityUtils.getUserId(), thisCode);
}
public String jssc(SimpleDateFormat dfs, String start, String end){
try {
Double d1 = Double.valueOf(dfs.parse(start).getTime());

@ -9,8 +9,10 @@ import com.psdc.entity.vo.DeviceStatusVo;
import com.psdc.service.IPsdcControlLogService;
import com.psdc.service.IPsdcDeviceService;
import com.psdc.service.IPsdcSceneService;
import com.psdc.service.impl.PsdcStrategyLogService;
import com.psdc.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@ -35,6 +37,9 @@ public class ManualController extends BaseController {
@Resource
private IPsdcSceneService psdcSceneService;
@Resource
private PsdcStrategyLogService psdcStrategyLogService;
/**
* 查询设备状态列表
* @return ajax
@ -134,8 +139,22 @@ public class ManualController extends BaseController {
@PreAuthorize("@ss.hasPermi('control:manual:temperature')")
@PostMapping("/senceControl")
public AjaxResult senceControl(@RequestBody List<JSONObject> jsonObjectList){
psdcDeviceService.sceneControl(jsonObjectList);
return AjaxResult.success("策略正在执行中,请耐心等待,感谢配合!");
Integer status = psdcStrategyLogService.selMyThisLog(jsonObjectList.get(0).getInteger("sceneCode")).getRuntimeStatus();
AjaxResult ajaxResult ;
if ("1".equals(String.valueOf(status))){
Long code = psdcDeviceService.sceneControl(jsonObjectList);
String s = psdcStrategyLogService.selMyNewLog(code).getStrategyRunRes();
if (null != s){
ajaxResult = new AjaxResult(200, "查询成功", s.split(","));
} else {
ajaxResult = new AjaxResult(200, "策略正在执行中,请耐心等待,谢谢配合!");
}
} else {
ajaxResult = new AjaxResult(200, "当前还有策略正在执行中,请耐心等待,谢谢配合!");
}
return ajaxResult;
}

Loading…
Cancel
Save