ftl模版表格中根据条件合并行(AI版)
提示词
你是个java资深程序员,帮我写个工具类。 需求如下:场景: 后端java有个集合数据,例如 List areaTop10List,前端是ftl模板文件展示表格数据需求: 后端java经过工具类处理areaTop10List,使得前端ftl模板中的表格数据能够将一样的数据自动合并行。请检查一下FTL语法问题后输出后端java工具类代码
经过不断的调试和优化后,最终代码如下:改进后的FTL模板<table border="1">
<thead>
<tr>
<#list fieldIndexMap?keys as field>
<#if field == "area"><th>区域</th>
<#elseif field == "building"><th>楼宇</th>
<#elseif field == "vacancyRate"><th>空置率</th> ...
好用的docker镜像
Markdown 编辑器
官网地址 https://md.doocs.org
开源地址 https://gitee.com/doocs/md
镜像运行 docker run --name md-editor -d -p 8080:80 doocs/md:latest
文档在线预览
官网地址 https://kkview.cn
开源地址 https://gitee.com/kekingcn/file-online-preview
镜像运行 #### 拉取镜像
docker load -i kkFileView-4.4.0-docker.tar
#### 运行
docker run -it -p 8012:8012 keking/kkfileview:4.4.0
字符串强制换行工具
HTML中 table列内容自动换行<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid;
text-align: center;
padding: 5px;
word-break: break-all;
white-space: pre-wrap;
max-width:200px;
overflow-wrap: break-word;
}
</style>设置white-space: pre-wrap;是因为内容中可能有换行符,也需要换行
后台设置强制换行public static String insertLineBreak(Strin ...
maven清除仓库未下载文件
脚本
@echo off
rem create by NettQun
rem 仓库路径
set REPOSITORY_PATH=D:\maven_repository
rem 搜索中
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
echo %%i
del /s /q "%%i"
)
rem 搜索完毕
pause
sql分享案例
案例一租期去重后的总天数&&报价单合同租期天数
案例二导出问卷题目与答案
案例三应出未出水电查询
案例四查询每组数据中时间最大的一条
案例五
(均价计算和续租判断)临期合同明细
案例六
每一条的审批开始时间取当前单据上一步的审批结束时间报价合同K2审批记录
刷数案例刷数技巧
ftl模版表格中根据条件合并行
序章
想到开发中遇到每个ftl模版表格合并行操作时都需要逻辑代码实现比较繁琐,闲着无聊开发个工具解决下。思路是这样的:每个表格的需要合并列的合并的规则基本一致,也就是数据一样即可在首行的格子设置rowspan,并将除首行外相同数据清空。如以下表格:<table border="1">
<tr>
<th>年龄</th>
<th>姓名</th>
</tr>
<tr>
<td>23</td>
<td>李莉</td>
</tr>
<tr>
<td>23</td>
<td>王五</td>
</tr>
<tr>
<td>24</td>
<td>赵四</td>
</tr>
</table>那这个表格中相同的年龄就可以合并
<table border="1">
<tr>
<th>年龄</th>
<th ...
mysql定期归档历史数据
需求背景mysql中fin_invoice_log表一年稳定增加上千万条数据,导致联合查询性能降低,先需将每前两年的数据归档到历史表中。例如表中存在2019,2020,2021,2022,2023,2024,2025,当前归档年份 2025年,则将包括2023年在内之前的数据归档到fin_invoice_log_2023中
三种解决方案解决方案1利用event定时调度mysql存储过程实现,具体如下:-- 创建存储过程
CREATE PROCEDURE fin_invoice_log_record_archive()
BEGIN
DECLARE current_month VARCHAR(7);
DECLARE year_month_limit VARCHAR(50);
DECLARE archive_table_name VARCHAR(50);
DECLARE current_year VARCHAR(50);
SET current_year = YEAR(NOW()) - 2;
SET ...
rabbitMQ延时消息问题
rabbitMQ延时消息问题描述rabbit延时消息 可以设置为队列延时和消息延时,队列延时时队列里的每条消息都会延时一样的时间,而消息设置TTL时可以为每一条消息设置延时此时,消息延时有个严重问题,如果前面的消息延时时间大于后面的消息,就会发生堵塞。例如:消息A 设置延时 10S ,后一条消息B设置延时 3S,这个时候按需求来讲,3秒过后消息B应该会被消费者消费,但实际上消息B被堵塞了,直到消息A的TTL过期后A,B消息同时放出
rabbitMQ延时消息解决方案
可以使用rabbitMQ 的一个延时队列插件,使用下载安装参考: https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
使用定时任务框架或平台动态创建临时任务控制下发消息
建立多个不同延时时间的队列,基于业务向相应队列添加消息
rabbitMQ延时消息的思考与优化延时消息对rabbitMQ压力很大,一般来讲TTL设置的时间不应过长,比如一个订单业务等待客户付款,等待30分钟后发送消息检测订单支付状态并完成取消超时订单设置 ...
FineReport报表技巧
数据集拼装动态sql条件${if(len(控件名称) == 0,””,”and a.bill_code like ‘%”+控件名称+”%’”)}
常见公式
功能描述
功能实现
将日期框组件设置默认值为当前日期
TODATE()
将日期框组件设置默认值为当前月份最后一天
DATEINMONTH(TODAY(),-1)
将列汇总
sum(A2)
四舍五入,保留2位
round(A2, 2)
字符串截取
left(字符串,位数),right(字符串,位数)
…..
…..
行交替色设置
按钮清空所有在按钮的控件设置中,找到事件,添加一事件,选择JavaScript脚本,脚本内容如下:
$.each(this.options.form.name_widgets, function(i, item) {
if(item.options.type !== 'label') {
item.setValue("");
item.setText(& ...
idea 开启远程访问docker(window)
docker for window
在设置里找到 General 将 “Expose daemon on tcp://localhost:2375 without TLS” 一项勾选中
设置里找到 docker engine 将配置新增节点: “hosts”:[“tcp://0.0.0.0:2375”] 参考配置如下: {
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"hosts": [
"tcp://0.0.0.0:2375"
],
"registry-mirrors": [
"https:/ ...








