首页 > 数据库 >jeecg-boot中分页接口用自定义sql和list实现

jeecg-boot中分页接口用自定义sql和list实现

时间:2023-03-08 11:11:53浏览次数:44  
标签:endTime portId String 自定义 list boot polId getDeviceStatusWarn page

1、controller中

    @ApiOperation(value="分析仪工作状态和报警-3列-分页", notes="分析仪工作状态和报警状态-分页")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "portId", value = "监测点id", required = true, dataType = "String",paramType = "query",defaultValue="130500000193-10"),
            @ApiImplicitParam(name = "polId", value = "监测因子id", required = true, dataType = "String",paramType = "query",defaultValue="a21002"),
            @ApiImplicitParam(name = "startTime", value = "开始时间", required = true, dataType = "String",paramType = "query",defaultValue ="2021-11-29 00:00:00" ),
            @ApiImplicitParam(name = "endTime", value = "结束时间", required = true, dataType = "String",paramType = "query",defaultValue="2021-11-30 00:00:00"),
            @ApiImplicitParam(name = "portType", value = "监测点类型1废水2废气dgi数采仪", required = true, dataType = "String",paramType = "query",defaultValue="2")
    })
    @GetMapping(value = "/getDeviceStatusWarn")
    public Result<?> getDeviceStatusWarn(String portId,String polId,String startTime,String endTime,String portType,
                                               @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                               @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                               HttpServletRequest req) {
        Page<Map<String,Object>> page = new Page<Map<String,Object>>(pageNo, pageSize);
        IPage<Map<String,Object>> pagelist = wwDeviceChangeparamService.getDeviceStatusWarn(page,portId,polId,startTime,endTime,portType);
        return Result.ok(pagelist);
    }

2、interface中

IPage<Map<String,Object>> getDeviceStatusWarn(Page<Map<String,Object>> page, String portId, String polId, String startTime, String endTime, String portType);

3、实现类中

    @Override
    public IPage<Map<String,Object>> getDeviceStatusWarn(Page<Map<String,Object>> page, String portId, String polId, String startTime, String endTime, String portType)
    {
        Date startTime1= DateUtil.strToDate(startTime,"yyyy-MM-dd HH:mm:ss");
        Date endTime1= DateUtil.strToDate(endTime,"yyyy-MM-dd HH:mm:ss");
        if(portType.equals("2"))
        {
            return wwDeviceChangeparamMapper.getDeviceStatusWarn_gas(page,portId,polId,startTime1,endTime1);
        }
        else if(portType.equals("1"))
        {
            return wwDeviceChangeparamMapper.getDeviceStatusWarn_water(page,portId,polId,startTime1,endTime1);
        }
        else
        {
            return wwDeviceChangeparamMapper.getDeviceStatusWarn_dgi(page,portId,polId,startTime1,endTime1);
        }
    }

4、mapper中

IPage<Map<String,Object>> getDeviceStatusWarn_dgi(Page<Map<String,Object>> page, String portId, String polId, Date startTime, Date endTime);

5、xml中

<select id="getDeviceStatusWarn_dgi" resultType="java.util.Map">
        select  to_char(p.datatime,'YYYY-MM-DD HH24:MI:SS') datatime,
        String_agg(CASE state_id WHEN'i22001' THEN state_info ELSE '' END,',') as workstatus,
        String_agg(CASE  WHEN state_id='i22004' and pol_id=#{polId} THEN state_info ELSE '' END,',') as warnstatus,
         String_agg(CASE state_id WHEN'i22005' THEN state_info ELSE '' END,',') as warninfo
        from ww_device_param p , v_ps_port port
        where p.mn=port.dgi_mn and p.dt='1'
        and port.port_id=#{portId}
        and p.datatime&gt;=#{startTime}
        and p.datatime&lt;=#{endTime}
        group by p.datatime
        order by p.datatime
    </select>

 

标签:endTime,portId,String,自定义,list,boot,polId,getDeviceStatusWarn,page
From: https://www.cnblogs.com/tiandi/p/17191280.html

相关文章

  • 设计模式5——自定义Spring框架
    1、Spring核心功能结构Spring大约有20个模块,由1300多个不同的文件构成。这些模块可以分为:核心容器、AOP和设备支持、数据访问与集成、Web组件、通信报文和集成测试等。下......
  • springboot redis 发布与订阅
    发布与订阅Redis的发布与订阅功能可以让客户端通过广播方式,将消息(message)同时发送给可能存在的多个客户端,并且发送消息的客户端不需要知道接收消息的客户端的具体信息。......
  • Spring Boot + MybatisX = 王炸!!
    1.什么是MybatisX?MybatisX是一款基于IDEA的快速开发插件,方便在使用mybatis以及mybatis-plus开始时简化繁琐的重复操作,提高开发速率。2.使用MybatisX的好处节省大量......
  • ArrayList扩容机制
    ArrayList扩容机制ArrayList的底层实现是Object数组队列,相当于动态数组。它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加ArrayList实......
  • list_tuple
    l=[1,2,"hello","world"]tup=("jody",32)print(l)[1,2,'hello','world']print(tup)('jody',32)l=[1,2,3,4]l[3]=40print(l)[1,2,3,40]tu......
  • RecyclerView-实现ListView效果
    在Android开发中,我们经常需要实现这样一个下拉的浏览列表:这非常有用,典型的例子就是我们的微信好友列表,可以显示出好友的头像昵称等,还能点击实现更多功能,今天我学习了一个......
  • SpringBoot监听类——小结②
    SpringBoot的监听类的配置有两种方法,一是通过SpringBoot的自动扫描功能来进行,但是前提是在Listener类上添加相应的注解@WebListener 二是自己进行相应的配置类编写pa......
  • Spring Boot | 事件监听器异步处理事件,实现代码解耦
    一、简介SpringBoot事件监听器(EventListener)用于在应用程序的生命周期中,监听SpringBoot应用程序中各种事件的发生,以便在事件发生时执行某些特定的操作。二、集成步骤1......
  • 生成你的自定义密码本Python
    python生成一个自定义密码本importitertoolsasitsimportos#定义生成密码本的函数defgenerate_passwords(length,combination):ifcombination=="1":......
  • java微基准测试JMH引入报错RuntimeException: ERROR: Unable to find the resource: /
    项目引入JMH进行性能测试,完整demo业务类:packagecom.simon.benchmark;/***@Author:huzhiyang*@Date:2023/3/717:03*@Desc:*/publicclassBizService{......