From faaf451f553912c7ad0db6ce3256679aafd0ed1a Mon Sep 17 00:00:00 2001 From: XMnhwj_BackTechnologyDevelopment <3512363680@qq.com> Date: Tue, 13 Jun 2023 16:11:52 +0800 Subject: [PATCH] =?UTF-8?q?2023-06-13=2016:12:45=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=AD=96=E7=95=A5=E7=AE=A1=E7=90=86=E7=9A=84?= =?UTF-8?q?=E5=A2=9E=E3=80=81=E5=88=A0=E3=80=81=E6=94=B9=E3=80=81=E6=9F=A5?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/psdc/entity/vo/SceneVo.java | 25 ++++++++ .../service/impl/PsdcSceneServiceImpl.java | 63 +++++++------------ .../mapper/business/PsdcSceneMapper.xml | 4 +- .../monitor/TotalElectricMeterController.java | 13 ++-- 4 files changed, 60 insertions(+), 45 deletions(-) diff --git a/psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java b/psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java index aa7afef..2940bb1 100644 --- a/psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java +++ b/psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java @@ -22,6 +22,16 @@ public class SceneVo { private Long sceneCode; /** 用户id */ private Long userId; + + /** 是否有执行判断条件【0:没有;1:有】 */ + private Integer isJudge ; + /** 判断条件设备Id */ + private Integer judgeDevice ; + /** 判断条件设备的元素 */ + private String judgeElement ; + /** 判断条件元素的数据值 */ + private String judgeData ; + /** 设备id */ private Integer deviceId ; /** 设备名称 */ @@ -53,4 +63,19 @@ public class SceneVo { this.sceneKey = sceneKey; this.sceneValue = sceneValue; } + + public SceneVo(String sceneName, Long sceneCode, Long userId, Integer isJudge, Integer judgeDevice, String judgeElement, String judgeData, Integer deviceId, String sceneContext, String sceneKey, String sceneValue, String sceneRemark) { + this.sceneName = sceneName; + this.sceneCode = sceneCode; + this.userId = userId; + this.isJudge = isJudge; + this.judgeDevice = judgeDevice; + this.judgeElement = judgeElement; + this.judgeData = judgeData; + this.deviceId = deviceId; + this.sceneContext = sceneContext; + this.sceneKey = sceneKey; + this.sceneValue = sceneValue; + this.sceneRemark = sceneRemark; + } } diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java index 7633e36..930a948 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java @@ -57,36 +57,23 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { String userName = SecurityUtils.getUsername(); List scenesList = new ArrayList<>(); for (DeviceVo dev : scenes.getDeviceVos()) { -// if (null != dev.getIntemp() && !"".equals(dev.getIntemp())) { -// SceneVo sceneVo; -// sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "进水温度", "intemp", dev.getIntemp()); -// scenesList.add(sceneVo); -// } -// if (null != dev.getOuttemp() && !"".equals(dev.getOuttemp())) { -// SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "出水温度", "outtemp", dev.getOuttemp()); -// scenesList.add(sceneVo); -// } -// if (null != dev.getTemp() && !"".equals(dev.getTemp())) { -// SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "温度", "temp", dev.getTemp()); -// scenesList.add(sceneVo); -// } for (Map m : dev.getTempList()){ String desc = (String) m.get("label"); String tempValue = (String) m.get("value"); - String sceneKey = psdcModelMapper.querySceneKeyByDesc(desc); - SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), desc, sceneKey, tempValue); + String sceneKey = sceneKey(desc); + // SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), desc, sceneKey, tempValue); + SceneVo sceneVo = new SceneVo(scenes.getSceneName(), timestamp, userId, scenes.getIsJudge(), + scenes.getJudgeDevice(), scenes.getJudgeElement(), scenes.getJudgeData(), dev.getDeviceId(), + desc, sceneKey, tempValue, scenes.getSceneRemark()); scenesList.add(sceneVo); } } try { for (SceneVo sc : scenesList) { - sc.setSceneCode(timestamp); - sc.setUserId(userId); sc.setCreateBy(userName); sc.setCreateTime(sdf.format(date)); - sc.setSceneRemark(scenes.getSceneRemark()); } psdcSceneMapper.InsertSceneData(scenesList); return true; @@ -118,35 +105,21 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { String userName = sysUserMapper.selectUserById(userId).getUserName(); List scenesList = new ArrayList<>(); for (DeviceVo dev : scenes.getDeviceVos()) { -// if (null != dev.getIntemp() && !"".equals(dev.getIntemp())) { -// SceneVo sceneVo; -// sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "进水温度", "intemp", dev.getIntemp()); -// scenesList.add(sceneVo); -// } -// if (null != dev.getOuttemp() && !"".equals(dev.getOuttemp())) { -// SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "出水温度", "outtemp", dev.getOuttemp()); -// scenesList.add(sceneVo); -// } -// if (null != dev.getTemp() && !"".equals(dev.getTemp())) { -// SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "温度", "temp", dev.getTemp()); -// scenesList.add(sceneVo); -// } for (Map m : dev.getTempList()){ String desc = (String) m.get("label"); String tempValue = (String) m.get("value"); - String sceneKey = psdcModelMapper.querySceneKeyByDesc(desc); - SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), desc, sceneKey, tempValue); + String sceneKey = sceneKey(desc); + SceneVo sceneVo = new SceneVo(scenes.getSceneName(), scenes.getSceneCode(), userId, scenes.getIsJudge(), + scenes.getJudgeDevice(), scenes.getJudgeElement(), scenes.getJudgeData(), dev.getDeviceId(), + desc, sceneKey, tempValue, scenes.getSceneRemark()); scenesList.add(sceneVo); } } try { for (SceneVo sc : scenesList) { - sc.setSceneCode(scenes.getSceneCode()); - sc.setUserId(userId); sc.setCreateBy(userName); sc.setCreateTime(sdf.format(date)); - sc.setSceneRemark(scenes.getSceneRemark()); } psdcSceneMapper.InsertSceneData(scenesList); return true; @@ -197,7 +170,7 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { deviceVo.setDeviceName(sv.getDeviceName()); deviceVo.setDeviceSn(sv.getDeviceSn()); Map map = new HashMap<>(); - map.put("label", sv.getSceneContext()); + map.put("label", sv.getSceneKey()); map.put("value", sv.getSceneValue()); list.add(map); deviceVo.setTempValue(list); @@ -215,14 +188,14 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { deviceVo.setDeviceSn(sv.getDeviceSn()); if (i == listByCode.size() - 1) { Map map = new HashMap<>(); - map.put("label", sv.getSceneContext()); + map.put("label", sv.getSceneKey()); map.put("value", sv.getSceneValue()); list.add(map); deviceVo.setTempValue(list); ary.add(deviceVo); } else { Map map = new HashMap<>(); - map.put("label", sv.getSceneContext()); + map.put("label", sv.getSceneKey()); map.put("value", sv.getSceneValue()); list.add(map); deviceVo.setTempValue(list); @@ -305,5 +278,17 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { return Long.valueOf(timestamp); } + private String sceneKey(String desc){ + String s = desc.substring(0,2); + switch (s){ + case "开启": + return "open"; + case "关闭": + return "close"; + default: + return psdcModelMapper.querySceneKeyByDesc(desc); + } + } + } \ No newline at end of file diff --git a/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml index 70b76f9..d9627f8 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml @@ -60,10 +60,10 @@ - Insert into psdc_scene(scene_name,scene_code,user_id,device_id,device_sn,scene_context,scene_key,scene_value,scene_remark, create_by, create_time) + Insert into psdc_scene(scene_name,scene_code,user_id,device_id,device_sn,is_judge,judge_device,judge_element,judge_data,scene_context,scene_key,scene_value,scene_remark, create_by, create_time) Values - (#{entity.sceneName}, #{entity.sceneCode},#{entity.userId}, #{entity.deviceId}, #{entity.deviceSn}, #{entity.sceneContext}, #{entity.sceneKey}, #{entity.sceneValue},#{entity.sceneRemark},#{entity.createBy},#{entity.createTime}) + (#{entity.sceneName}, #{entity.sceneCode},#{entity.userId}, #{entity.deviceId}, #{entity.deviceSn},#{entity.isJudge},#{entity.judgeDevice},#{entity.judgeElement},#{entity.judgeData}, #{entity.sceneContext}, #{entity.sceneKey}, #{entity.sceneValue},#{entity.sceneRemark},#{entity.createBy},#{entity.createTime}) diff --git a/psdc-web/src/main/java/com/psdc/controller/monitor/TotalElectricMeterController.java b/psdc-web/src/main/java/com/psdc/controller/monitor/TotalElectricMeterController.java index f98dd1f..1950c38 100644 --- a/psdc-web/src/main/java/com/psdc/controller/monitor/TotalElectricMeterController.java +++ b/psdc-web/src/main/java/com/psdc/controller/monitor/TotalElectricMeterController.java @@ -133,16 +133,21 @@ public class TotalElectricMeterController { map2.put("deviceName", dev.getDeviceName()); List modelVoList = psdcModelService.selDevIsControlByModelName(dd.getDeviceModel()); List ary = new ArrayList<>(); + Map content = new HashMap<>(); + content.put("label", "控制启停"); + content.put("value", "Start-Stop"); + ary.add(content); for (ModelVo scr : modelVoList){ - Map content = new HashMap<>(); + content = new HashMap<>(); content.put("label", scr.getIoDesc()); content.put("value", scr.getRelationField()); ary.add(content); } map2.put("controlKey", ary); - if (ary.size() > 0){ - maps2.add(map2); - } + maps2.add(map2); +// if (ary.size() > 0){ +// maps2.add(map2); +// } } } else { PsdcDevice dev = psdcDeviceService.queryById(dd.getDeviceId());