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.pojo.TbFence; 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 javax.validation.Valid; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; 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,String juese) { R response; response = new R(StatusCode.Success); response.setData(tbFenceService.findAllFence(company,juese)); 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,String juese) { R response; IPage ipage = tbFenceService.findFence(page, objectid, company,juese); 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); if (Objects.equals(tbFence.getFencetype(), "变电作业")){ tbFence.setFencetype("0"); }else if (Objects.equals(tbFence.getFencetype(), "输电作业")){ tbFence.setFencetype("1"); } TbFence gpsList = tbFenceService.updateFence(tbFence); response.setData(gpsList); return response; } @GetMapping("/api/wx/FenceKaiQi") public R fenceKai(TbFence fence) { // TbUser user = sessionManager.getCurrentUser(request); R response; response = new R(StatusCode.Success); fence.setIsplay("1"); TbFence gpsList = tbFenceService.updateFence(fence); response.setData(gpsList); return response; // String content = "开启了一个围栏该围栏名称为:"+fence.getName(); // String contentew = "Открывается забор, который называется:"+fence.getName(); // SystemLogController.InsertSystemLog(user.getUsername(),gettime(),content,contentew); } @GetMapping("/api/wx/FenceGuanBi") public R fenceGuan(TbFence fence) { // TbUser user = sessionManager.getCurrentUser(request); R response; response = new R(StatusCode.Success); fence.setIsplay("0"); TbFence gpsList = tbFenceService.updateFence(fence); response.setData(gpsList); return response; // String content = "关闭了一个围栏该围栏名称为:"+fence.getName(); // String contentew= "Закрыли забор, который называется:"+fence.getName(); // SystemLogController.InsertSystemLog(user.getUsername(),gettime(),content,contentew); } @GetMapping("/api/wx/startorstop") public void startorstop(String status,String company,String addperson) { String time = this.gettime(); String xieyi = "BSTOCS1,WORK," + status +","+ time+","+company+ ","+addperson+",END"; Udp_Out.udp_to_cs(xieyi); } 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; } 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; } //国电天元定制 @PostMapping("/api/wx/submitper") public R gdtysubmitper(@Valid @RequestBody TbFence tbFence) { R response; QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", tbFence.getName()); List CompanyPage = tbPersonMapper.selectList(queryWrapper); if (CompanyPage.size() > 0) { response = new R(StatusCode.Fail); response.setData("围栏名称重复,保存围栏失败!"); } else { String time = this.gettime(); response = new R(StatusCode.Success); String xieyi = ""; Integer tftype = 0; if (Objects.equals(tbFence.getFencetype(), "变电作业")){ tftype = 0; }else if (Objects.equals(tbFence.getFencetype(), "输电作业")){ tftype = 1; } xieyi = "BSTOCS1,FENCE,ADD," + tbFence.getName() + "," + tbFence.getDepartment() + "," + tbFence.getType() + "," + tbFence.getDistance() + "," + tbFence.getNowarnmes() + "," + tbFence.getWarnmes() + "," + tbFence.getPoints() + "," + tbFence.getFenceFloorHe() + "," + tbFence.getHeight() + "," + tbFence.getLineHeight() + "," + tbFence.getDianya() + "," + tftype + "," + tbFence.getCompany() + "," + tbFence.getAddperson() + "," + tbFence.getPerCompany() + "," + tbFence.getIsplay() + "," + time + ",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 queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("name", tbFence.getName()); List fences = tbPersonMapper.selectList(queryWrapper2); response.setData(fences); // 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 String gettime(){ Date now = new Date(); // 创建日期格式化对象,设置格式为 "yyyy-MM-dd HH:mm" SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // 格式化日期对象,输出字符串结果 String formattedDate = sdf.format(now); return formattedDate; } }