layui动态表头实现:原生拼接与案例分享

6 下载量 78 浏览量 更新于2024-08-31 收藏 123KB PDF 举报
本文档主要介绍了如何在非layui环境下实现动态表头的功能,特别是在Java后端处理数据并生成HTML表格时的一种实践方法。作者分享了在`distribution`方法中,通过原生SQL查询和字符串拼接技术来动态构建SQL语句,从而实现根据医院编码(`hospitalCode`)获取分配部门(`HRateAllotDepartment`)的统计信息,并将结果展示在表格中。 首先,创建一个名为`Map<String, Object>`的参数对象`params`,用于存储查询条件。接下来,定义一个`StringBuffer`对象`buf`,用于构造最终的SQL查询语句。通过遍历`HRateAllotDepartment`列表,构建SQL中的聚合函数,如`sum`和`max`,用于计算每个部门的总数量、总价格以及最大价格(如果存在`casewhene`条件的话)。 具体步骤如下: 1. 遍历`hRateAllotDepartment`列表,为每个部门名称添加到`str1`和`str2`中,分别用于统计总数量和聚合价格。 2. 使用`append`方法,将基础的SQL查询结构添加到`buf`,包括部门名称、产品ID、计数(人数)和总价格等字段。 3. 使用嵌套的`SELECT`子句,首先获取每个订单的产品信息(包括部门名、产品ID和最大价格),然后与外部表`dt_pay_health_order_product`和`dt_pay_health_order`进行关联。 4. `str1`和`str2`中的动态部分会被插入到SQL的相应位置,以便根据部门名称计算所需的统计数据。 这种方法灵活且适用于不依赖前端框架(如layui)的情况下,直接在后端生成动态的SQL语句,再将结果返回给前端渲染,确保了数据的准确性和灵活性。同时,这种方式也展示了SQL查询语言的强大之处,可以用来适应不同的业务需求。