From 32d09735d15e3b9e9eb67482b8e64bcad3b8999a Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Mon, 30 Jun 2025 11:09:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/robot/RobotController.java | 10 +++ .../java/com/bonus/business/robot/Test.java | 10 +-- .../bonus/business/robot/util/QxUtils.java | 34 +++++-- .../bonus/business/robot/util/XmlUtils.java | 2 +- .../bonus/business/service/IRobotService.java | 7 ++ .../service/impl/RobotServiceImpl.java | 90 +++++++++++++++++-- .../com/bonus/business/vo/PatrolTask.java | 1 + .../src/main/resources/application.yml | 6 +- .../resources/mapper/robot/RobotMapper.xml | 16 ++-- 9 files changed, 147 insertions(+), 29 deletions(-) diff --git a/bonus-business/src/main/java/com/bonus/business/controller/robot/RobotController.java b/bonus-business/src/main/java/com/bonus/business/controller/robot/RobotController.java index 8d0e98a..533cb8b 100644 --- a/bonus-business/src/main/java/com/bonus/business/controller/robot/RobotController.java +++ b/bonus-business/src/main/java/com/bonus/business/controller/robot/RobotController.java @@ -84,6 +84,16 @@ public class RobotController extends BaseController { return service.getTaskDetails(vo); } + /** + * 查询任务详情 + * @param vo + * @return + */ + @PostMapping("delTaskData") + public AjaxResult delTaskData(@RequestBody PatrolTask vo) { + return service.delTaskData(vo); + } + /** * 裸命令查询 diff --git a/bonus-business/src/main/java/com/bonus/business/robot/Test.java b/bonus-business/src/main/java/com/bonus/business/robot/Test.java index 646224f..a326d17 100644 --- a/bonus-business/src/main/java/com/bonus/business/robot/Test.java +++ b/bonus-business/src/main/java/com/bonus/business/robot/Test.java @@ -25,9 +25,9 @@ public class Test { //登录接口 String token=QxVideotape.login(TVideoConfigUtil.getMaps(),TVideoConfigUtil.Q2HTTPURL); //机器人 开启巡检 - String xml2= QxUtils.getRobotStartTask(XxmSendUtils.CONTROLLER,XxmSendUtils.ROBOT_START_TASK,"WTBLS204766"); - String res3=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,"201115200268437643",xml2); - System.err.println(res3); +// String xml2= QxUtils.getRobotStartTask(XxmSendUtils.CONTROLLER,XxmSendUtils.ROBOT_START_TASK,"WTBLS204766"); +// String res3=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,"201115200268437643",xml2); +// System.err.println(res3); String xml= QxUtils.getParamData(XxmSendUtils.QUERY,XxmSendUtils.ROBOT_TASK_LIST); String res=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,"201115200268437643",xml); @@ -37,8 +37,8 @@ public class Test { RobotTask vo=new RobotTask(); vo.setPatrolTasks(list); String data= QxUtils.setRobotInspection(XxmSendUtils.SET,XxmSendUtils.ROBOT_TASK_LIST,vo); - System.err.println(data); - + String res2=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,"201115200268437643",data); + System.err.println(res2); } diff --git a/bonus-business/src/main/java/com/bonus/business/robot/util/QxUtils.java b/bonus-business/src/main/java/com/bonus/business/robot/util/QxUtils.java index c669b34..50907a2 100644 --- a/bonus-business/src/main/java/com/bonus/business/robot/util/QxUtils.java +++ b/bonus-business/src/main/java/com/bonus/business/robot/util/QxUtils.java @@ -116,7 +116,7 @@ public class QxUtils { try{ builder.append(""); builder.append(""); - builder.append(""); + builder.append(""); builder.append(""); builder.append(""); builder.append(""); @@ -190,7 +190,14 @@ public class QxUtils { if(StringUtil.isNotEmpty(time.getClock())){ builder.append("Clock=\"").append(time.getClock()).append("\" "); } - builder.append("/>"); + if(StringUtil.isNotEmpty(time.getDay())){ + builder.append("/>"); + }else{ + builder.append(">"); + builder.append(""); + } + + } builder.append(""); @@ -207,14 +214,14 @@ public class QxUtils { builder.append(""); - builder.append(" "); + builder.append(""); String actions=getActions(vo.getActions()); builder.append(actions); builder.append(""); @@ -228,13 +235,22 @@ public class QxUtils { if (actions!=null && !actions.isEmpty()){ for (Action vo:actions){ builder.append(""); + if(StringUtil.isNotEmpty(vo.getType())){ + builder.append("Type=\"").append(vo.getType()).append("\" "); + } + if(StringUtil.isNotEmpty(vo.getNum())){ + builder.append("Num=\"").append(vo.getNum()).append("\" "); + } + if(StringUtil.isNotEmpty(vo.getInterval())){ + builder.append("Interval=\"").append(vo.getInterval()).append("\" "); + } + if(StringUtil.isNotEmpty(vo.getTime())){ + builder.append("Time=\"").append(vo.getTime()).append("\" "); + } + builder.append(">").append(""); } }else{ - builder.append(""); + builder.append(""); } builder.append(""); return builder.toString(); diff --git a/bonus-business/src/main/java/com/bonus/business/robot/util/XmlUtils.java b/bonus-business/src/main/java/com/bonus/business/robot/util/XmlUtils.java index 93c9f3c..8fe3f83 100644 --- a/bonus-business/src/main/java/com/bonus/business/robot/util/XmlUtils.java +++ b/bonus-business/src/main/java/com/bonus/business/robot/util/XmlUtils.java @@ -106,7 +106,7 @@ public class XmlUtils { actionVo.put("time",time); actionsArray.add(actionVo); } - pointVo.put("Actions",actionsArray); + pointVo.put("actions",actionsArray); } patrolTaskVo.put("positions",points); array.add(patrolTaskVo); diff --git a/bonus-business/src/main/java/com/bonus/business/service/IRobotService.java b/bonus-business/src/main/java/com/bonus/business/service/IRobotService.java index cb340c9..740bf08 100644 --- a/bonus-business/src/main/java/com/bonus/business/service/IRobotService.java +++ b/bonus-business/src/main/java/com/bonus/business/service/IRobotService.java @@ -67,4 +67,11 @@ public interface IRobotService { * @return */ AjaxResult getTaskDetails(PatrolTask vo); + + /** + * 删除数据 + * @param vo + * @return + */ + AjaxResult delTaskData(PatrolTask vo); } diff --git a/bonus-business/src/main/java/com/bonus/business/service/impl/RobotServiceImpl.java b/bonus-business/src/main/java/com/bonus/business/service/impl/RobotServiceImpl.java index 1b70a5e..b9ed543 100644 --- a/bonus-business/src/main/java/com/bonus/business/service/impl/RobotServiceImpl.java +++ b/bonus-business/src/main/java/com/bonus/business/service/impl/RobotServiceImpl.java @@ -34,7 +34,11 @@ public class RobotServiceImpl implements IRobotService { @Override public List getTaskList(PatrolTask task) { try{ - return mapper.getTaskList(task); + List list= mapper.getTaskList(task); + for (PatrolTask vo: list){ + getTaskSchedule(vo); + } + return list; }catch (Exception e){ log.error(e.toString(),e); } @@ -46,10 +50,11 @@ public class RobotServiceImpl implements IRobotService { * 从平台进行热内查询添加 */ public void addQueryList(){ + String puid="201115200268437643"; //登录接口 String token=QxVideotape.login(TVideoConfigUtil.getMaps(),TVideoConfigUtil.Q2HTTPURL); String xml= QxUtils.getParamData(XxmSendUtils.QUERY,XxmSendUtils.ROBOT_TASK_LIST); - String res=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,"201115200268437643",xml); + String res=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,puid,xml); JSONArray array= XmlUtils.getRobotTask(res); List list= JSONArray.parseArray(array.toString(),PatrolTask.class); //数据添加维护 @@ -58,6 +63,7 @@ public class RobotServiceImpl implements IRobotService { String uuid= UUID.randomUUID().toString().replaceAll("-",""); vo.setId(uuid); vo.setTaskStatus("1"); + vo.setPuid(puid); mapper.addRobotTask(vo); addTaskPoints(vo); addTaskSchedule(vo); @@ -315,6 +321,7 @@ public class RobotServiceImpl implements IRobotService { vo.setId(uuid); vo.setTaskStatus("0"); vo.setTaskId(vo.getRobotId()+"_"+ DateUtils.dateTimeNow()); + vo.setVersion("1"); mapper.addRobotTask(vo); addTaskPoints(vo); addTaskSchedule(vo); @@ -328,19 +335,50 @@ public class RobotServiceImpl implements IRobotService { */ @Override public AjaxResult issuedTask(PatrolTask vo) { + try{ + String token=QxVideotape.login(TVideoConfigUtil.getMaps(),TVideoConfigUtil.Q2HTTPURL); + String xml2= QxUtils.getParamData(XxmSendUtils.QUERY,XxmSendUtils.ROBOT_TASK_LIST); + String res2=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,vo.getPuid(),xml2); + JSONArray array= XmlUtils.getRobotTask(res2); + List list2= JSONArray.parseArray(array.toString(),PatrolTask.class); + RobotTask vo2=new RobotTask(); + vo2.setPatrolTasks(list2); + String data= QxUtils.setRobotInspection(XxmSendUtils.SET,XxmSendUtils.ROBOT_TASK_LIST,vo2); + String res3=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,vo.getPuid(),data); + // mapper.updateTaskStatus(vo); + //下发任务 + RobotTask robotTask=new RobotTask(); + //进行任务查询 + List list=mapper.queryTaskList(); + for (PatrolTask patrolTask:list){ + getTaskPositions(patrolTask); + getTaskSchedule(patrolTask); + } + robotTask.setPatrolTasks(list); + String xml= QxUtils.setRobotInspection(XxmSendUtils.SET,XxmSendUtils.ROBOT_TASK_LIST,robotTask); + + + String res=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,vo.getPuid(),xml); + return AjaxResult.success(XmlUtils.getSuccess(res)); + }catch (Exception e){ + log.error(e.toString()); + } + return AjaxResult.error("操作失败"); + } + + public AjaxResult updateRobotTask(String puid){ String token=QxVideotape.login(TVideoConfigUtil.getMaps(),TVideoConfigUtil.Q2HTTPURL); - mapper.updateTaskStatus(vo); //下发任务 RobotTask robotTask=new RobotTask(); //进行任务查询 List list=mapper.queryTaskList(); for (PatrolTask patrolTask:list){ - getTaskPositions(patrolTask); - getTaskSchedule(patrolTask); + getTaskPositions(patrolTask); + getTaskSchedule(patrolTask); } robotTask.setPatrolTasks(list); String xml= QxUtils.setRobotInspection(XxmSendUtils.SET,XxmSendUtils.ROBOT_TASK_LIST,robotTask); - String res=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,vo.getPuid(),xml); + String res=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,puid,xml); return AjaxResult.success(XmlUtils.getSuccess(res)); } @@ -417,6 +455,46 @@ public class RobotServiceImpl implements IRobotService { return AjaxResult.success(vo); } + /** + * 删除数据 + * @param vo + * @return + */ + @Override + public AjaxResult delTaskData(PatrolTask vo) { + try{ + mapper.delTasks(vo.getId()); + List positions = vo.getPositions(); + if(positions!=null){ + for (Position position : positions) { + mapper.delTaskPoint(position.getId()); + List actions = position.getActions(); + if(actions!=null){ + for (Action action : actions) { + mapper.delTaskPointAction(action.getId()); + } + } + } + } + List schedules = vo.getSchedule(); + if (schedules != null) { + for (Schedule schedule : schedules) { + mapper.delSchedule(schedule.getId()); + List