package com.hxzkappboot.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hxzkappboot.mapper.TbFenceMapper; import com.hxzkappboot.mapper.TbPersonMapper; import com.hxzkappboot.pojo.TbFence; import com.hxzkappboot.pojo.TbPerson; import com.hxzkappboot.pojo.TbTag; import com.hxzkappboot.pojo.TbWarning; import com.hxzkappboot.service.TbFenceService; import com.hxzkappboot.udp.Udp_Out; import com.hxzkappboot.util.R; import com.hxzkappboot.util.StatusCode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; import java.text.ParseException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.Objects; /** *

* 前端控制器 *

* * @author wangfei * @since 2024-03-08 */ @RestController //@RequestMapping("/tb-fence") public class TbFenceController { @Autowired TbFenceService tbFenceService; @Autowired TbFenceMapper tbPersonMapper; @GetMapping("/api/wx/findAllFence") public R findAllFence(String company) { R response; response = new R(StatusCode.Success); response.setData(tbFenceService.findAllFence(company)); return response; } // @PostMapping({"findFenA"}) @GetMapping({"/api/wx/deleFence"}) public R earlyWarning(String name) throws ParseException { String xieyi = "BSTOCS1,DELETEFENCE," + name + ",END"; Udp_Out.udp_to_cs(xieyi); R response; // List fenceList = new ArrayList(); System.out.println(name); // fenceList = tbFenceService.earlyWarning(); response = new R(StatusCode.Success); // response.setData(fenceList); return response; } @GetMapping("/api/wx/findFence") public R findAll(Page page, String objectid, String company) { R response; IPage ipage = tbFenceService.findFence(page, objectid, company); response = new R(StatusCode.Success); response.setData(ipage); return response; } @PostMapping("/api/wx/updateFence") public R processingWarn(@Valid @RequestBody TbFence tbFence) { R response; response = new R(StatusCode.Success); TbFence gpsList = tbFenceService.updateFence(tbFence); response.setData(gpsList); return response; } @GetMapping("/api/wx/FenceKaiQi") public void fenceKai(TbFence fence) { // TbUser user = sessionManager.getCurrentUser(request); String xieyi = "BSTOCS1,FENCE,OPEN," + fence.getName() + ",END"; Udp_Out.udp_to_cs(xieyi); // String content = "开启了一个围栏该围栏名称为:"+fence.getName(); // String contentew = "Открывается забор, который называется:"+fence.getName(); // SystemLogController.InsertSystemLog(user.getUsername(),gettime(),content,contentew); } @GetMapping("/api/wx/FenceGuanBi") public void fenceGuan(TbFence fence) { // TbUser user = sessionManager.getCurrentUser(request); String xieyi = "BSTOCS1,FENCE,CLOSE," + fence.getName() + ",END"; System.out.println(); Udp_Out.udp_to_cs(xieyi); // String content = "关闭了一个围栏该围栏名称为:"+fence.getName(); // String contentew= "Закрыли забор, который называется:"+fence.getName(); // SystemLogController.InsertSystemLog(user.getUsername(),gettime(),content,contentew); } public static double ublox_d2dm(double deg) { double deg0 =Math.floor(deg); double ddeg = deg-deg0; double m = ddeg*60; double ddmm = deg0*100+m; return ddmm; } @PostMapping("/api/wx/submitper") public R submitper(@Valid @RequestBody TbFence tbFence) { R response; // for (int i = 0; i < ; i++) { // // } QueryWrapper queryWrapper = new QueryWrapper<>(); // queryWrapper.eq("status","未处理"); // if (objectid!=null){ queryWrapper.eq("name", tbFence.getName()); // } // queryWrapper.orderByDesc("addtime"); List CompanyPage = tbPersonMapper.selectList(queryWrapper); if (CompanyPage.size() > 0) { response = new R(StatusCode.Fail); response.setData("围栏名称重复,保存围栏失败!"); } else { response = new R(StatusCode.Success); LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = now.format(formatter); String shengxiao = "00:00:00"; String shixiao = "23:59:59"; String xieyi = ""; if (Objects.equals(tbFence.getShape(), "圆形")) { String[] zuobiao1 = tbFence.getZuobiao().split(":"); double jingdu = ublox_d2dm(Double.parseDouble(zuobiao1[0])); double weidu = ublox_d2dm(Double.parseDouble(zuobiao1[1].replace(";",""))); String zuobiao = jingdu+";"+weidu; // xieyi = "BSTOCS1,ADDFENCE," + layer + ","+weilanleixing+","+guanlianduixiang+","+quyumingcheng+","+sd+","+xingzhuang+","+shengxiao+","+shixiao+","+formattedDateTime+","+yanse+","+gao+",END"; xieyi = "BSTOCS1,ADDFENCEYUAN,百度地图" + "," + tbFence.getType() + "," + tbFence.getBumen() + "," + tbFence.getBanjing() + "," + tbFence.getName() + "," + zuobiao + "," + "圆形" + "," + "00:00:00" + "," + "23:59:59" + "," + formattedDateTime + "," + "红色" + ",END"; } else { xieyi = "BSTOCS1,ADDFENCE,百度地图," + tbFence.getType() + "," + tbFence.getBumen() + "," + tbFence.getName() + "," + tbFence.getZuobiao() + "," + tbFence.getShape() + "," + shengxiao + "," + shixiao + "," + formattedDateTime + "," + "红色" + "," + tbFence.getBaoliu1() + ",END"; } System.out.println(xieyi); Udp_Out.udp_to_cs(xieyi); QueryWrapper queryWrapper1= new QueryWrapper<>(); // queryWrapper.eq("status","未处理"); // if (objectid!=null){ queryWrapper1.eq("name",tbFence.getName()); // 给cs传值延时一秒修改修改cs保存的内容 try { Thread.sleep(1000); }catch (InterruptedException e){ Thread.currentThread().interrupt(); // logUtil.error("线程中断"+e.getMessage()); } // queryWrapper.orderByDesc("addtime"); TbFence CompanyPage1 = tbPersonMapper.selectOne(queryWrapper1); CompanyPage1.setCompany(tbFence.getCompany()); CompanyPage1.setBaoliu1(tbFence.getBaoliu1()); // if (CompanyPage1==null){ // this.findfence(name); // }else{ TbFence gpsList = tbFenceService.updateFence(CompanyPage1); // } // // this.findfence(tbFence.getName()); } //保存数据到cs的格式 // TbPerson gpsList =personService.submitper(tbPerson); // response.setData(gpsList); // String xieyi = "BSTOCS1,TOMESSAGE," + people1.get(0).getPTagid() + "," + fenceList.get(i).getYjcontent() + ",系统,END"; // Udp_Out.udp_to_cs(xieyi); return response; } public TbFence findfence( String name) { QueryWrapper queryWrapper1= new QueryWrapper<>(); // queryWrapper.eq("status","未处理"); // if (objectid!=null){ queryWrapper1.eq("name",name); // } // queryWrapper.orderByDesc("addtime"); TbFence CompanyPage1 = tbPersonMapper.selectOne( queryWrapper1); if (CompanyPage1==null){ this.findfence(name); }else{ TbFence gpsList = tbFenceService.updateFence(CompanyPage1); } return CompanyPage1; } }