opt:任务查询优化

This commit is contained in:
zhangzq
2025-02-14 09:51:16 +08:00
parent 4adf4c9692
commit 3712c21169
3 changed files with 32 additions and 14 deletions

View File

@@ -8,9 +8,11 @@ import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
import com.alibaba.druid.proxy.jdbc.StatementProxy;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.util.JdbcUtils;
import com.mysql.cj.jdbc.ConnectionImpl;
import com.mysql.cj.jdbc.result.ResultSetImpl;
import lombok.extern.slf4j.Slf4j;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
@@ -37,6 +39,12 @@ public class DruidFilter extends FilterEventAdapter {
@Override
protected void statementExecuteAfter(StatementProxy statement, String sql, boolean result) {
String database="";
try {
ConnectionImpl connection = (ConnectionImpl)statement.getConnection();
database = connection.getDatabase();
}catch (Exception ex){
}
int size = statement.getParametersSize();
String executeSql = sql;
int count = 0;
@@ -53,9 +61,7 @@ public class DruidFilter extends FilterEventAdapter {
}
executeSql = SQLUtils.format(executeSql, JdbcUtils.MYSQL, params);
}
if (!sql.contains("sys_log") && !sql.contains("sys_interface_log")){
log.info("[----SQL----][update][ SQL: {} ]", executeSql);
}
log.info("[----SQL----][update][数据库:{}][ SQL: {} ]",database, executeSql);
}
super.statementExecuteAfter(statement, sql, result);
}
@@ -64,6 +70,12 @@ public class DruidFilter extends FilterEventAdapter {
public ResultSetProxy statement_getResultSet(FilterChain chain, StatementProxy statement) throws SQLException {
ResultSetProxy rs = super.statement_getResultSet(chain, statement);
String executeSql = statement.getLastExecuteSql();
String database="";
try {
ConnectionImpl connection = (ConnectionImpl)statement.getConnection();
database = connection.getDatabase();
}catch (Exception ex){
}
int result = 0;
if (rs != null) {
ResultSetImpl rss = rs.getResultSetRaw().unwrap(ResultSetImpl.class);
@@ -82,7 +94,7 @@ public class DruidFilter extends FilterEventAdapter {
} catch (Exception ex) {
log.warn("[-SQL解析异常-][{}]", ex.getMessage());
}
log.info("[----SQL----][select][执行结果:{}][ SQL: {} ]", result, executeSql);
log.info("[----SQL----][select][执行结果:{}][数据库:{}][ SQL: {} ]", result,database, executeSql);
return rs;
}

View File

@@ -51,14 +51,18 @@
IF 输入.flag = "1"
PAGEQUERY
SELECT * FROM (
SELECT
task.*,
md.class_name task_type_name,
user.person_name AS create_name1
user.person_name AS create_name1,
dict.label task_status_name,
case when task.task_type like '0105%' then 'LK' when task.task_type like '0107%' then 'LK' ELSE task.product_area end AS final_product_area
FROM
sch_base_task task
LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code
LEFT JOIN sys_user user ON user.username = task.create_name
LEFT JOIN sys_dict dict ON dict.`value` = task.task_status AND dict.`code` = 'task_status'
WHERE
1=1
OPTION 输入.is_delete <> ""
@@ -80,7 +84,7 @@
task.task_status <> '07'
ENDOPTION
OPTION 输入.task_status <> ""
task.task_status = '07'
find_in_set( task.task_status, 输入.task_status)
ENDOPTION
OPTION 输入.vehicle_code <> ""
(task.vehicle_code like 输入.vehicle_code OR task.material_code like 输入.vehicle_code OR task.vehicle_code2 like 输入.vehicle_code)
@@ -97,9 +101,11 @@
OPTION 输入.end_time <> ""
task.create_time <= 输入.end_time
ENDOPTION
OPTION 输入.in_area_id <> ""
task.product_area IN 输入.in_area_id
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
) a
WHERE 1=1
OPTION 输入.in_area_id <> ""
a.final_product_area IN 输入.in_area_id
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF

View File

@@ -94,8 +94,8 @@ spring:
type: Static
props:
#接口有事务,读写分离不生效,默认全部使用主库
write-data-source-name: slave
read-data-source-names: master
write-data-source-name: master
read-data-source-names: slave
#负载均衡算法名称
load-balancer-name: round-robin