This commit is contained in:
SwallowGG
2024-05-30 20:19:55 +08:00
parent 9de057f2de
commit 1e9102a6ac
2 changed files with 3 additions and 83 deletions

View File

@ -41,6 +41,9 @@ public class JdbcUtils {
if (dbType == null) {
return null;
}
if("SUNDB".equalsIgnoreCase(dbType)){
return DbType.oracle;
}
try {
return DbType.valueOf(dbType.toLowerCase());
} catch (Exception e) {

View File

@ -280,87 +280,4 @@ public class SqlUtils {
return sqls.stream().map(SplitSqlString::getStr).collect(Collectors.toList());
}
public static void main(String[] args) {
String sql = "DELIMITER //\n" +
"\n" +
"CREATE TRIGGER YS_production_dispatch_list_update\n" +
"BEFORE UPDATE ON production_dispatch_list\n" +
"FOR EACH ROW\n" +
"BEGIN\n" +
" DECLARE rework_count INT DEFAULT 0;\n" +
" DECLARE scrap_count INT DEFAULT 0;\n" +
" DECLARE qualified_rate DOUBLE;\n" +
"\n" +
" IF NEW.actual_completion_time IS NOT NULL THEN\n" +
"\n" +
" SELECT COUNT(1) \n" +
" INTO rework_count \n" +
" FROM (\n" +
" SELECT \n" +
" uct.unique_code zz1, \n" +
" fm.unique_code zz2, \n" +
" ROW_NUMBER() OVER (PARTITION BY uct.unique_code, fm.unique_code ORDER BY fm.id) js\n" +
" FROM (\n" +
" SELECT DISTINCT unique_code\n" +
" FROM mars_platform_prod.check_task\n" +
" WHERE list_id = NEW.id\n" +
" ) AS uct\n" +
" INNER JOIN mars_platform_prod.flow_mgr AS fm \n" +
" ON uct.unique_code = fm.unique_code \n" +
" AND fm.is_deleted = 0 \n" +
" AND handle_result = 3\n" +
" ) AS bg \n" +
" WHERE js = 1;\n" +
" SET NEW.Rework_number_YS = rework_count;\n" +
"\n" +
"\n" +
" SELECT COUNT(1) \n" +
" INTO scrap_count \n" +
" FROM (\n" +
" SELECT \n" +
" uct.unique_code zz1, \n" +
" fm.unique_code zz2, \n" +
" ROW_NUMBER() OVER (PARTITION BY uct.unique_code, fm.unique_code ORDER BY fm.id) js\n" +
" FROM (\n" +
" SELECT DISTINCT unique_code\n" +
" FROM mars_platform_prod.check_task\n" +
" WHERE list_id = NEW.id\n" +
" ) AS uct\n" +
" INNER JOIN mars_platform_prod.flow_mgr AS fm \n" +
" ON uct.unique_code = fm.unique_code \n" +
" AND fm.is_deleted = 0 \n" +
" AND handle_result = 5\n" +
" ) AS bg \n" +
" WHERE js = 1;\n" +
" SET NEW.Scrap_number_YS = scrap_count;\n" +
"\n" +
" SELECT ROUND(SUM(CASE WHEN zz2 IS NULL THEN 1 ELSE 0 END) * 100.0 / COUNT(zz1), 2) \n" +
" INTO qualified_rate \n" +
" FROM (\n" +
" SELECT \n" +
" uct.unique_code zz1, \n" +
" fm.unique_code zz2, \n" +
" ROW_NUMBER() OVER (PARTITION BY uct.unique_code, fm.unique_code ORDER BY fm.id) js\n" +
" FROM (\n" +
" SELECT DISTINCT unique_code\n" +
" FROM mars_platform_prod.check_task\n" +
" WHERE list_id = NEW.id\n" +
" ) AS uct\n" +
" LEFT JOIN mars_platform_prod.flow_mgr AS fm \n" +
" ON uct.unique_code = fm.unique_code \n" +
" AND fm.is_deleted = 0\n" +
" AND fm.`approval_result` = 1\n" +
" ) AS bg \n" +
" WHERE js = 1;\n" +
" SET NEW.qualified_one_rate_YS = qualified_rate;\n" +
" END IF;\n" +
"END //\n" +
"\n" +
"DELIMITER ;\n" +
"\n" +
"\n" + "select * from t1;select * from t2";
List<String> offsetStrings = parse(sql, DbType.mysql);
System.out.println(offsetStrings);
}
}