diff --git a/src/main/java/com/example/zxweb/controller/ThymeleafController.java b/src/main/java/com/example/zxweb/controller/ThymeleafController.java index 8de79a2..8eb5a22 100644 --- a/src/main/java/com/example/zxweb/controller/ThymeleafController.java +++ b/src/main/java/com/example/zxweb/controller/ThymeleafController.java @@ -1,6 +1,11 @@ package com.example.zxweb.controller; +import com.example.zxweb.dto.ZxCelueDTO; +import com.example.zxweb.service.IZxCelueService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @@ -12,15 +17,25 @@ import javax.servlet.http.HttpServletRequest; */ @Controller public class ThymeleafController { - + @Autowired + IZxCelueService zxCelueService; @RequestMapping("/") public String index(HttpServletRequest request){ return "index.html"; } @RequestMapping("/celue/add") - public String celueAdd(HttpServletRequest request){ + public String celueAdd(HttpServletRequest request,Model model){ + model.addAttribute("type","add"); + model.addAttribute("detail",new ZxCelueDTO()); return "add.html"; } + @RequestMapping("/celue/{id}") + public String celueDetail(@PathVariable("id")String id, Model model){ + ZxCelueDTO detail = zxCelueService.getDetail(id); + model.addAttribute("detail",detail); + model.addAttribute("type","detail"); + return "add.html"; + } } diff --git a/src/main/java/com/example/zxweb/dto/ZxCelueDTO.java b/src/main/java/com/example/zxweb/dto/ZxCelueDTO.java index 17c63dd..3fea940 100644 --- a/src/main/java/com/example/zxweb/dto/ZxCelueDTO.java +++ b/src/main/java/com/example/zxweb/dto/ZxCelueDTO.java @@ -17,4 +17,8 @@ import java.util.List; public class ZxCelueDTO extends ZxCelue { @ApiModelProperty(value = "选择设备id集合") private List devidList; + @ApiModelProperty(value = "timeType") + private String timeType; + @ApiModelProperty(value = "每周") + private String weeklyDay; } diff --git a/src/main/java/com/example/zxweb/init/LoadCelueInit.java b/src/main/java/com/example/zxweb/init/LoadCelueInit.java index 2a636c4..e50f015 100644 --- a/src/main/java/com/example/zxweb/init/LoadCelueInit.java +++ b/src/main/java/com/example/zxweb/init/LoadCelueInit.java @@ -9,6 +9,7 @@ import com.example.zxweb.service.IZxCelueService; import com.example.zxweb.utils.IotUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.context.annotation.Configuration; @@ -29,47 +30,63 @@ import java.util.List; public class LoadCelueInit implements ApplicationRunner{ @Resource IZxCelueService zxCelueService; + @Value("${iot.active}") + private boolean active; @Override public void run(ApplicationArguments args) throws Exception { Thread.sleep(5000L); - //获取网关的数据,同步到数据库中 - String gateway_5lqh = DevConstant.gateway.gateway_5lqh;//5楼网关 - String format = String.format("{\"serial\":\"%s\",\"productId\":\"\",\"methodName\":\"celueListQuery\",\"inputData\":{\"devid\":\"%s\"}}", gateway_5lqh,gateway_5lqh); - JSONObject requestBody = JSONObject.parseObject(format); - JSONObject responseBody = IotUtils.postApi(IotApiEnum.getPathByText("向设备发送方法"), requestBody); - log.info(responseBody.toJSONString()); - //JSONObject responseBody = JSONObject.parseObject("{\"code\":\"0\",\"data\":{\"outputData\":{\"devid\":\"0cefafd605f7\",\"code\":1,\"list\":[{\"devid\":\"3381bbfeffea3590\",\"triggereTime\":\"20 18 * * 1,4,6\",\"name\":\"策略1\",\"action\":\"light00001.light.controlLight.ctrl_ch0_status=\\\"0\\\"&&chazuo000001.plug.controlPlug.ctrl_ch0_status=\\\"0\\\"\",\"startTime\":\"2023-11-12 10:00:00\",\"endTime\":\"2023-11-12 11:30:00\",\"celueid\":\"100000000001\"},{\"devid\":\"0cefafd605f7\",\"triggerCondition\":\"body0001.body_exist.status.report_status=\\\"0\\\"##900\",\"name\":\"策略2\",\"action\":\"light00001.light.controlLight.ctrl_ch0_status=\\\"0\\\"&&chazuo000001.plug.controlPlug.ctrl_ch0_status=\\\"0\\\"\",\"startTime\":\"2023-11-12 10:00:00\",\"endTime\":\"2023-11-12 11:30:00\",\"celueid\":\"100000000002\"},{\"devid\":\"0cefafd605f7\",\"triggereTime\":\"20 18 * * 1,4,6\",\"name\":\"策略3\",\"action\":\"e826ecfeff81f68c.light.controlLight.ctrl_ch0_status=\\\"0\\\"\",\"startTime\":\"2023-09-12 10:00:00\",\"endTime\":\"2023-09-30 11:30:00\",\"celueid\":\"100000000003\"}]}}}\n"); - JSONObject data = responseBody.getJSONObject("data"); - if (data!=null) { - JSONObject outputData = data.getJSONObject("outputData"); - if (outputData!=null) { - JSONArray list = outputData.getJSONArray("list"); - if (!CollectionUtils.isEmpty(list)) { - List zxCelues = list.toJavaList(ZxCelue.class); - for (ZxCelue zxCelue : zxCelues) { - List devidList=new ArrayList<>(); - String action = zxCelue.getAction(); - if (StringUtils.isNotBlank(action)) { - String[] split = action.split("&&"); - for (String s : split) { - String[] split1 = s.split("\\."); - String s1 = split1[0]; - devidList.add(s1); + if (active) { + //获取网关的数据,同步到数据库中 + String gateway_5lqh = DevConstant.gateway.gateway_5lqh;//5楼网关 + String format = String.format("{\"serial\":\"%s\",\"productId\":\"\",\"methodName\":\"celueListQuery\",\"inputData\":{\"devid\":\"%s\"}}", gateway_5lqh,gateway_5lqh); + JSONObject requestBody = JSONObject.parseObject(format); + JSONObject responseBody = IotUtils.postApi(IotApiEnum.getPathByText("向设备发送方法"), requestBody); + log.info(responseBody.toJSONString()); + //JSONObject responseBody = JSONObject.parseObject("{\"code\":\"0\",\"data\":{\"outputData\":{\"devid\":\"0cefafd605f7\",\"code\":1,\"list\":[{\"devid\":\"3381bbfeffea3590\",\"triggereTime\":\"20 18 * * 1,4,6\",\"name\":\"策略1\",\"action\":\"light00001.light.controlLight.ctrl_ch0_status=\\\"0\\\"&&chazuo000001.plug.controlPlug.ctrl_ch0_status=\\\"0\\\"\",\"startTime\":\"2023-11-12 10:00:00\",\"endTime\":\"2023-11-12 11:30:00\",\"celueid\":\"100000000001\"},{\"devid\":\"0cefafd605f7\",\"triggerCondition\":\"body0001.body_exist.status.report_status=\\\"0\\\"##900\",\"name\":\"策略2\",\"action\":\"light00001.light.controlLight.ctrl_ch0_status=\\\"0\\\"&&chazuo000001.plug.controlPlug.ctrl_ch0_status=\\\"0\\\"\",\"startTime\":\"2023-11-12 10:00:00\",\"endTime\":\"2023-11-12 11:30:00\",\"celueid\":\"100000000002\"},{\"devid\":\"0cefafd605f7\",\"triggereTime\":\"20 18 * * 1,4,6\",\"name\":\"策略3\",\"action\":\"e826ecfeff81f68c.light.controlLight.ctrl_ch0_status=\\\"0\\\"\",\"startTime\":\"2023-09-12 10:00:00\",\"endTime\":\"2023-09-30 11:30:00\",\"celueid\":\"100000000003\"}]}}}\n"); + JSONObject data = responseBody.getJSONObject("data"); + if (data!=null) { + JSONObject outputData = data.getJSONObject("outputData"); + if (outputData!=null) { + JSONArray list = outputData.getJSONArray("list"); + if (!CollectionUtils.isEmpty(list)) { + List zxCelues = list.toJavaList(ZxCelue.class); + for (ZxCelue zxCelue : zxCelues) { + List devidList=new ArrayList<>(); + String action = zxCelue.getAction(); + if (StringUtils.isNotBlank(action)) { + String[] split = action.split("&&"); + for (String s : split) { + String[] split1 = s.split("\\."); + String s1 = split1[0]; + devidList.add(s1); + //判断是1 还是 0 + String[] split2 = s.split("="); + if (split2!=null && split2.length>1) { + zxCelue.setType(split2[1].contains("1")?"1":"0"); + } + } } + zxCelue.setDevid(String.join(",",devidList)); + //获取状态 + zxCelue.setStatus(IotUtils.getCelueStatus(zxCelue.getCelueid())); } - zxCelue.setDevid(String.join(",",devidList)); - //获取状态 - zxCelue.setStatus(IotUtils.getCelueStatus(zxCelue.getCelueid())); + //更新库表 + zxCelueService.saveOrUpdateBatch(zxCelues); } - //更新库表 - zxCelueService.saveOrUpdateBatch(zxCelues); } } } } public static void main(String[] args) { - ArrayList devidList = new ArrayList<>(Arrays.asList("1,2")); - System.out.println(String.join(",",devidList));; + String str="light00001.light.controlLight.ctrl_ch0_status=\"0\"&&chazuo000001.plug.controlPlug.ctrl_ch0_status=\"0\""; + String[] split = str.split("&&"); + for (String s : split) { + String[] split1 = s.split("="); + String s1 = split1[1]; + System.out.println(s1); + } + /*ArrayList devidList = new ArrayList<>(Arrays.asList("1,2")); + System.out.println(String.join(",",devidList));;*/ } } diff --git a/src/main/java/com/example/zxweb/service/impl/ZxCelueServiceImpl.java b/src/main/java/com/example/zxweb/service/impl/ZxCelueServiceImpl.java index 339299e..d5e1a93 100644 --- a/src/main/java/com/example/zxweb/service/impl/ZxCelueServiceImpl.java +++ b/src/main/java/com/example/zxweb/service/impl/ZxCelueServiceImpl.java @@ -58,12 +58,12 @@ public class ZxCelueServiceImpl extends ServiceImpl impl AssertUtils.hasSize(addZxCeluePVO.getDevidList(),"请选择[设备]"); try { BeanUtils.copyProperties(addZxCeluePVO,zxCelue); - if (StringUtils.isBlank(zxCelue.getStartTime())) { + /*if (StringUtils.isBlank(zxCelue.getStartTime())) { zxCelue.setStartTime(DateFormatUtils.format(date,"yyyy-MM-dd")); } if (StringUtils.isBlank(zxCelue.getEndTime())) { zxCelue.setEndTime("2099-12-31"); - } + }*/ if (!CollectionUtils.isEmpty(addZxCeluePVO.getDevidList())) { zxCelue.setDevid(String.join(",", addZxCeluePVO.getDevidList())); } @@ -105,8 +105,8 @@ public class ZxCelueServiceImpl extends ServiceImpl impl requestBodyJson.replace("%name",zxCelue.getName()); requestBodyJson.replace("%cron",cron); requestBodyJson.replace("%action",action); - requestBodyJson.replace("%startDate",addZxCeluePVO.getStartTime()); - requestBodyJson.replace("%endDate",addZxCeluePVO.getEndTime()); + requestBodyJson.replace("%startDate",StringUtils.isNotBlank(addZxCeluePVO.getStartTime())?addZxCeluePVO.getStartTime():null); + requestBodyJson.replace("%endDate",StringUtils.isNotBlank(addZxCeluePVO.getEndTime())?addZxCeluePVO.getEndTime():null); JSONObject requestBody = JSONObject.parseObject(requestBodyJson); IotUtils.celueSet(requestBody); save(zxCelue); @@ -174,7 +174,6 @@ public class ZxCelueServiceImpl extends ServiceImpl impl @Override public ZxCelueDTO getDetail(String id) { ZxCelue zxCelue = getById(id); - ZxCelueDTO zxCelueDTO = new ZxCelueDTO(); BeanUtils.copyProperties(zxCelue,zxCelueDTO); //拆分 所选设备id @@ -183,6 +182,27 @@ public class ZxCelueServiceImpl extends ServiceImpl impl List collect = Arrays.stream(devid.split(",")).collect(Collectors.toList()); zxCelueDTO.setDevidList(collect); } + //判断所选时间类型 + if (StringUtils.isNotBlank(zxCelue.getStartTime()) && StringUtils.isNotBlank(zxCelue.getEndTime())) { + if(zxCelue.getStartTime().equals(zxCelue.getEndTime())){ + //单日 + zxCelueDTO.setTimeType("day"); + }else{ + //范围 + zxCelueDTO.setTimeType("date"); + } + }else{ + if (StringUtils.isNotBlank(zxCelue.getTriggereTime())) { + String[] split = zxCelue.getTriggereTime().split(" "); + //最后一个符号是*,代表是每天的 + if (split[split.length-1].equals("*")) { + zxCelueDTO.setTimeType("everyDay"); + }else{ + zxCelueDTO.setTimeType("weekly"); + zxCelueDTO.setWeeklyDay(split[split.length-1]); + } + } + } return zxCelueDTO; } diff --git a/src/main/java/com/example/zxweb/utils/CronLowUtil.java b/src/main/java/com/example/zxweb/utils/CronLowUtil.java index e6a6d4a..565f81f 100644 --- a/src/main/java/com/example/zxweb/utils/CronLowUtil.java +++ b/src/main/java/com/example/zxweb/utils/CronLowUtil.java @@ -47,7 +47,7 @@ public class CronLowUtil { cron = String.format("0 %s %s ? * %s",minute,hour,weeklyDay); } else if("day".equals(timeType)){ //单日 - cron = String.format("0 %s %s %s * ? ",minute,hour,day); + cron = String.format("0 %s %s %s * ?",minute,hour,day); } else if ("date".equals(timeType)){ //日期段 System.out.println("在"+startDate+"到"+endDate); diff --git a/src/main/java/com/example/zxweb/utils/RmsUtils.java b/src/main/java/com/example/zxweb/utils/RmsUtils.java index 87b6fd0..2a9594a 100644 --- a/src/main/java/com/example/zxweb/utils/RmsUtils.java +++ b/src/main/java/com/example/zxweb/utils/RmsUtils.java @@ -3,8 +3,13 @@ package com.example.zxweb.utils; import com.alibaba.fastjson.JSONObject; import com.example.zxweb.common.constant.enums.RmsApiEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * @Description 访客机工具类 * @Author ZhouWenTao @@ -29,7 +34,7 @@ public class RmsUtils { getToken(); header.put("token",TOKEN);*/ } - + static List devidList= Arrays.asList("68EDA45C54F3","68EDA444D9DG"); public static void getToken() { JSONObject requestBody = JSONObject.parseObject("{\"email\":\"admin\", \"pswd\":\"cf79ae6addba60ad018347359bd144d2\"}"); @@ -51,20 +56,20 @@ public class RmsUtils { * @return {"code":0,"msg":"成功","pagecount":2,"pageNum":1,"content":[{"id":85,"rcode":"1486300085","parentid":null,"vid":88,"visitor":{"id":88,"name":"王麻子","sex":"男","nation":"汉","birthday":null,"idnum":"a543546aef4bdd46ac957554f3c4f8cd222498dd2c2d56d1a9e5939469930619","idnumAdd":"123456123456","idnumCipher":"04e08e6ebddced2dd94b588e039096a2111f8be98f9eb79e365a3443c697d699ac9f08b892821e2b3b4e22b54203084b4e111329918b810c2fc480637c830e2fe909a7b4e75c18c91da3a163441ea36123ca105526b68c11e570e6869bc4c6121825f116905de9107c1d7832b7","photo":null,"sitePhoto":null,"issuing":null,"validitydatestart":null,"validitydateend":null,"phone":"84537d95e88ce687e4efab251a746c7318dbe7cc2f6cecbb0840ce4889e7a2a5","phoneAdd":"13900074111","phoneCipher":"04d176b602a7ad1c6b9784adc7adef54e90c7e771f04aba9ca66c3cf3abfa0cc6163203fb4c1017381a7ccc6a396150af3070efa193cfc22d128294bc58a52705077cbba29dc322072e95815d5ed19e92ee7b2f2c0470e4e15ae0eb15fa8540df61b07dfd4a1256955bbd019","startTime":null,"endTime":null,"pinYin":"wmz","syncId":null,"companyCode":null,"isbindfinger":0,"isbindface":0,"wltPhoto":null,"tabTime":null,"uploadTime":null,"isVip":0,"sheetSize":null,"idphoto":null},"uid":20653,"user":{"id":20653,"nickname":"张三","userpinyin":null,"email":"abc10110","pswd":null,"terminalpswd":null,"createTime":null,"lastLoginTime":null,"status":1,"sex":1,"nation":null,"nations":null,"birthday":null,"address":null,"idNum":"1304331989111111","photo":"\\image\\idpic\\1304331989111111_20221108143849677.png","issuing":null,"validityDateStart":null,"validityDateEnd":null,"phone":"13931021490","dep":null,"depID":1049,"depSyncId":null,"depName":null,"telephone":"010123456","ecardNum":"12345678","ecardEndTime":"2042-11-30 00:00:00","pinYin":null,"syncId":"abc10110","companyNum":null,"sta":null,"imIP":null,"imTime":null,"entranceGuards":null,"isbindface":null,"visitable":null,"tabTime":null,"uploadTime":null,"idphoto":null,"plateNo":null,"plateTime":null,"plateIssue":null},"dept":{"id":1049,"value":"子级部门1","pinyin":"zjbm1","parentId":null,"syncId":"abc123","syncParentId":null,"companyNum":null,"sta":null,"visitable":null,"sortnum":null,"tabTime":null,"uploadTime":null},"createtime":"2022-11-09 13:44:46","starttime":"2022-11-09 13:44:00","endtime":"2022-11-09 23:59:00","logofftime":null,"status":0,"reasons":"访问","unit":"公司名称","num":1,"type":0,"isprintvoucher":0,"ispullcard":1,"cardtype":0,"cardnum":"1234512345","sitephoto":null,"headphoto":null,"vCar":{"id":180,"cardnum":"京A99999","cardcolor":null,"num":null,"arid":85,"companyCode":null,"tabTime":null,"uploadTime":null},"drList":[],"trList":[],"isUpload":0,"pageNum":null,"yyID":null,"companyCode":"000000","terminalCode":"1000002","terminalManagerId":1038,"zhuxiaoManagerId":null,"tabTime":"2022-11-09 13:44:46","uploadTime":null,"syncId":null,"tiwen":35.0,"terminalManagerName":null,"zhuxiaoManagerName":null,"zhuxiaoTerminalCode":null,"channels":"","comment":"","xckStatus":0,"xckvisitedArea":null,"xckPhone":null,"xckUpdateTime":null,"xckPhoto":null,"jkbPhoto":null,"healthStatus":null,"lastRNATime":null,"lastRNAResult":null,"travelStatus":null,"tel":null,"vcar":{"id":180,"cardnum":"京A99999","cardcolor":null,"num":null,"arid":85,"companyCode":null,"tabTime":null,"uploadTime":null}}],"success":true} */ public static JSONObject fkterminalFindAccessRecord(JSONObject requestBody){ - String devid = requestBody.getString("devid"); - header.put("devid",devid); - String starttime = requestBody.getString("starttime");//开始时间* - String status = requestBody.getString("status");//状态:-1超时未注销、0登记中、1已注销3预约 - String pageNum = requestBody.getString("pageNum");//页数 - String num = requestBody.getString("num");//查询条数 - String endtime = requestBody.getString("endtime");//结束时间* - AssertUtils.notEmpty(starttime,"请输入开始时间-[starttime]"); - AssertUtils.notEmpty(endtime,"请输入结束时间-[endtime]"); - JSONObject responseBody = RestUtil.post(API_PREFIX+RmsApiEnum.getApiByText("访客查询"), requestBody, header); - log.error(responseBody.toJSONString()); - AssertUtils.notNull(responseBody,"请求失败"); - //Integer code = responseBody.getInteger("code"); - //AssertUtils.isTrue(0==code,"请求异常:"+responseBody.getString("msg")); + JSONObject responseBody =null; + for (String devid : devidList) { + header.put("devid",devid); + String starttime = requestBody.getString("starttime");//开始时间* + String status = requestBody.getString("status");//状态:-1超时未注销、0登记中、1已注销3预约 + String pageNum = requestBody.getString("pageNum");//页数 + String num = requestBody.getString("num");//查询条数 + String endtime = requestBody.getString("endtime");//结束时间* + AssertUtils.notEmpty(starttime,"请输入开始时间-[starttime]"); + AssertUtils.notEmpty(endtime,"请输入结束时间-[endtime]"); + responseBody = RestUtil.post(API_PREFIX+RmsApiEnum.getApiByText("访客查询"), requestBody, header); + log.error(responseBody.toJSONString()); + AssertUtils.notNull(responseBody,"请求失败"); + } return responseBody; } @@ -75,25 +80,29 @@ public class RmsUtils { */ public static JSONObject syncOrderrecord(JSONObject requestBody){ getToken(); + JSONObject responseBody=null; + for (String devid : devidList) { + header.put("devid",devid); + String reason = requestBody.getString("reason");//状态 + String synId = requestBody.getString("synId");//被访人ID* + String visitorBeginTime = requestBody.getString("visitorBeginTime");//来访时间 yyyy-MM-dd HH:mm:ss yyyy* + String visitorEndTime = requestBody.getString("visitorEndTime");//结束时间 yyyy-MM-dd HH:mm:ss* + String visitorCmp = requestBody.getString("visitorCmp");//访客单位 + String visitorIdNum = requestBody.getString("visitorIdNum");//访客证件号码* + String visitorName = requestBody.getString("visitorName");//访客姓名* + String visitorPhone = requestBody.getString("visitorPhone");//访客手机号 + AssertUtils.notEmpty(synId,"请输入被访客ID-[synId]"); + AssertUtils.notEmpty(visitorBeginTime,"请输入来访时间-[visitorBeginTime]"); + AssertUtils.notEmpty(visitorEndTime,"请输入结束时间-[visitorEndTime]"); + AssertUtils.notEmpty(visitorIdNum,"请输入访客证件号-[visitorIdNum]"); + AssertUtils.notEmpty(visitorName,"请输入访客姓名-[visitorName]"); + responseBody = RestUtil.post(API_PREFIX+RmsApiEnum.getApiByText("访客预约"), requestBody, header); + log.error(responseBody.toJSONString()); + AssertUtils.notNull(responseBody,"请求接口异常"); + } String devid = requestBody.getString("devid"); System.out.println(header.toJSONString()); - header.put("devid",devid); - String reason = requestBody.getString("reason");//状态 - String synId = requestBody.getString("synId");//被访人ID* - String visitorBeginTime = requestBody.getString("visitorBeginTime");//来访时间 yyyy-MM-dd HH:mm:ss yyyy* - String visitorEndTime = requestBody.getString("visitorEndTime");//结束时间 yyyy-MM-dd HH:mm:ss* - String visitorCmp = requestBody.getString("visitorCmp");//访客单位 - String visitorIdNum = requestBody.getString("visitorIdNum");//访客证件号码* - String visitorName = requestBody.getString("visitorName");//访客姓名* - String visitorPhone = requestBody.getString("visitorPhone");//访客手机号 - AssertUtils.notEmpty(synId,"请输入被访客ID-[synId]"); - AssertUtils.notEmpty(visitorBeginTime,"请输入来访时间-[visitorBeginTime]"); - AssertUtils.notEmpty(visitorEndTime,"请输入结束时间-[visitorEndTime]"); - AssertUtils.notEmpty(visitorIdNum,"请输入访客证件号-[visitorIdNum]"); - AssertUtils.notEmpty(visitorName,"请输入访客姓名-[visitorName]"); - JSONObject responseBody = RestUtil.post(API_PREFIX+RmsApiEnum.getApiByText("访客预约"), requestBody, header); - log.error(responseBody.toJSONString()); - AssertUtils.notNull(responseBody,"请求接口异常"); + //Integer code = responseBody.getInteger("code"); //AssertUtils.isTrue(code==0,"请求访客预约接口异常:"+requestBody.getOrDefault("msg","")); return responseBody; @@ -108,13 +117,15 @@ public class RmsUtils { public static JSONObject fkterminalRecoverCard(JSONObject requestBody) { getToken(); System.out.println(header.toJSONString()); - String devid = requestBody.getString("devid"); - header.put("devid",devid); - String cardNum = requestBody.getString("cardNum"); - AssertUtils.notEmpty(cardNum,"清输入访客证件号-[cardNum]"); - JSONObject responseBody = RestUtil.post(API_PREFIX+RmsApiEnum.getApiByText("访客注销")+"/"+cardNum, null, header); - log.error(responseBody.toJSONString()); - AssertUtils.notNull(responseBody,"请求失败"); + JSONObject responseBody=null; + for (String devid : devidList) { + header.put("devid",devid); + String cardNum = requestBody.getString("cardNum"); + AssertUtils.notEmpty(cardNum,"清输入访客证件号-[cardNum]"); + responseBody = RestUtil.post(API_PREFIX+RmsApiEnum.getApiByText("访客注销")+"/"+cardNum, null, header); + log.error(responseBody.toJSONString()); + AssertUtils.notNull(responseBody,"请求失败"); + } //Integer code = responseBody.getInteger("code"); //AssertUtils.isTrue(0==code,"请求异常:"+responseBody.getString("msg")); return responseBody; diff --git a/src/main/java/com/example/zxweb/vo/AddZxCeluePVO.java b/src/main/java/com/example/zxweb/vo/AddZxCeluePVO.java index 95b1e35..f29c6bc 100644 --- a/src/main/java/com/example/zxweb/vo/AddZxCeluePVO.java +++ b/src/main/java/com/example/zxweb/vo/AddZxCeluePVO.java @@ -22,8 +22,8 @@ public class AddZxCeluePVO implements Serializable { private String name; @ApiModelProperty(value = "执行类型(放电/断电/开灯/关灯....)") private String type; - @ApiModelProperty(value = "时间类型(everyDay:每天,weekly:每周,day:每天,date:日期段)") - private String timeType;//时间类型(everyDay:每天,weekly:每周,day:每天,date:日期段) + @ApiModelProperty(value = "时间类型(everyDay:每天,weekly:每周,day:单日,date:日期段)") + private String timeType;//时间类型(everyDay:每天,weekly:每周,day:单日,date:日期段) @ApiModelProperty(value = "执行时间(HH:mm 例:08:30)") private String exeTime;//执行时间(HH:mm 例:08:30) @ApiModelProperty(value = "1,2,3:周一,周二,周三") diff --git a/src/main/resources/templates/add.html b/src/main/resources/templates/add.html index 7601046..a995394 100644 --- a/src/main/resources/templates/add.html +++ b/src/main/resources/templates/add.html @@ -1,11 +1,12 @@ + - 新增控制策略 + 新增控制策略 + 查看控制策略 - @@ -122,7 +123,8 @@
-

新增控制策略

+

新增控制策略

+

查看控制策略

@@ -143,7 +145,7 @@
- +
@@ -151,6 +153,7 @@ 选择设备: + - - - - - - - + + + + + + + + +
- + 选择日期: @@ -225,7 +235,7 @@
- + 选择日期: @@ -274,10 +284,13 @@ -
+
+
+ +
@@ -293,9 +306,10 @@ /*select2 回显*/ - var str='1,2,3'; + var str=$("#devids").val(); var arr=str.split(','); - //$('#id_select2_demo1').val(arr).trigger('change') + console.log(arr) + $('#id_select2_demo1').val(arr).trigger('change') loadTable(); var form; @@ -321,11 +335,29 @@ range: ['#ID-laydate-start-date-1', '#ID-laydate-end-date-1'], rangeLinked: true // 开启日期范围选择时的区间联动标注模式 --- 2.8+ 新增 }); - $("#weeklyTr").hide(); + /*$("#weeklyTr").hide(); $("#dayTr").hide(); - $("#dateTr").hide(); + $("#dateTr").hide();*/ /*$('#dayTr').hide(); $('#dayTr2').show();*/ + + let weeklyd = $("#weeklyd").val(); + if (weeklyd != null && weeklyd != '') { + let split = weeklyd.split(','); + $("[name=weeklyDay]").each(function () { + // 根据值回显 + if (weeklyd.indexOf($(this).val())!=-1) { + $(this).attr("checked", "checked"); + /*return false;*/ + } + form.render(); + }); + /*for (let i = 0; i < split.length; i++) { + console.log(split[i]) + $("#weeklyDay"+split[i]).attr("checked","checked"); + }*/ + } + // 事件 // radio 事件 form.on('radio(demo-radio-filter)', function(data){ @@ -522,29 +554,6 @@ console.log(res) if(res.success){ var selectorx = $('#id_select2_demo1').select2(); - var data=[ - { - "text": "照明设备组", - "children": [ - { - "id": "1", - "text": "1F左侧走廊照明灯组" - }, - { - "id": 2, - "text": "1F右侧走廊照明灯组" - }, - { - "id": 3, - "text": "2F左侧走廊照明灯组" - }, - { - "id": 4, - "text": "2F右侧走廊照明灯组" - } - ], - } - ]; $("#id_select2_demo1").select2({ data:res.result });