fei.wang
2025-04-18 321a74059773cfecc01d6313f7c2e2d45545d6d3
src/main/java/com/hxzkappboot/controller/TbFenceController.java
@@ -1,7 +1,6 @@
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;
@@ -33,7 +32,7 @@
/**
 * <p>
 *  前端控制器
 * 前端控制器
 * </p>
 *
 * @author wangfei
@@ -51,8 +50,8 @@
    @GetMapping("/api/wx/findAllFence")
    public R findAllFence(String company){
        R response ;
    public R findAllFence(String company) {
        R response;
        response = new R(StatusCode.Success);
        response.setData(tbFenceService.findAllFence(company));
        return response;
@@ -63,7 +62,7 @@
    public R earlyWarning(String name) throws ParseException {
        String xieyi = "BSTOCS1,DELETEFENCE," + name + ",END";
        Udp_Out.udp_to_cs(xieyi);
        R response ;
        R response;
//        List<TbFence> fenceList = new ArrayList();
        System.out.println(name);
//        fenceList = tbFenceService.earlyWarning();
@@ -73,9 +72,9 @@
    }
    @GetMapping("/api/wx/findFence")
    public R findAll(Page page, String objectid,String company) {
    public R findAll(Page page, String objectid, String company) {
        R response;
        IPage<TbFence> ipage = tbFenceService.findFence(page,objectid,company);
        IPage<TbFence> ipage = tbFenceService.findFence(page, objectid, company);
        response = new R(StatusCode.Success);
        response.setData(ipage);
        return response;
@@ -83,36 +82,43 @@
    @PostMapping("/api/wx/updateFence")
    public R processingWarn(@Valid @RequestBody TbFence tbFence) {
        R response ;
        R response;
        response = new R(StatusCode.Success);
        TbFence gpsList =tbFenceService.updateFence(tbFence);
        TbFence gpsList = tbFenceService.updateFence(tbFence);
        response.setData(gpsList);
        return response;
    }
    @GetMapping("/api/wx/FenceKaiQi")
    public void fenceKai(TbFence fence){
    public void fenceKai(TbFence fence) {
//        TbUser user = sessionManager.getCurrentUser(request);
        String xieyi = "BSTOCS1,FENCE,OPEN," +fence.getName()+",END";
        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){
    public void fenceGuan(TbFence fence) {
//        TbUser user = sessionManager.getCurrentUser(request);
        String xieyi = "BSTOCS1,FENCE,CLOSE," +fence.getName()+",END";
        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 ;
        R response;
//        for (int i = 0; i < ; i++) {
//
@@ -120,14 +126,14 @@
        QueryWrapper queryWrapper = new QueryWrapper<>();
//        queryWrapper.eq("status","未处理");
//        if (objectid!=null){
            queryWrapper.eq("name",tbFence.getName());
        queryWrapper.eq("name", tbFence.getName());
//        }
//        queryWrapper.orderByDesc("addtime");
        List<TbFence> CompanyPage = tbPersonMapper.selectList( queryWrapper);
        if (CompanyPage.size()>0){
        List<TbFence> CompanyPage = tbPersonMapper.selectList(queryWrapper);
        if (CompanyPage.size() > 0) {
            response = new R(StatusCode.Fail);
            response.setData("围栏名称重复,保存围栏失败!");
        }else{
        } else {
            response = new R(StatusCode.Success);
            LocalDateTime now = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -135,14 +141,44 @@
            String shengxiao = "00:00:00";
            String shixiao = "23:59:59";
            String xieyi = "";
        if (Objects.equals(tbFence.getShape(), "圆形")){
            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()+","+tbFence.getZuobiao().split(":")[0] +";"+tbFence.getZuobiao().split(":")[0]+","+"圆形"+","+"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";
        }
                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的格式
@@ -153,5 +189,23 @@
        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;
    }
}