Commit 82319ca0 authored by 阮传宙's avatar 阮传宙

fix: 更新jar包

parent 6aaeb9b2
This diff is collapsed.
This diff is collapsed.
${AnsiColor.BRIGHT_WHITE} ${AnsiColor.BRIGHT_WHITE}
// ) ) \\ / / // ) ) // ) ) // | | // | | // ) ) // ) ) \\ / / // ) ) // ) ) // | | // | | // ) )
(( \\ / / // //___/ / //__| | //__| | (( (( \\ / / // //___/ / //__| | //__| | ((
\\ \\/ / // / ____ / / ___ | / ___ | \\ \\ \\/ / // / ____ / / ___ | / ___ | \\
) ) / / // // // | | // | | ) ) ) ) / / // // // | | // | | ) )
((___ / / / / ((____/ / // // | | // | | ((___ / / ((___ / / / / ((____/ / // // | | // | | ((___ / /
spring: spring:
datasource: datasource:
url: jdbc:postgresql://124.71.109.29:35432/syc_test?stringtype=unspecified&currentSchema=syc_paas_form_design url: jdbc:postgresql://124.71.109.29:35432/syc_test?stringtype=unspecified&currentSchema=syc_paas_form_design
username: postgres username: postgres
password: 1qaz@WSX password: 1qaz@WSX
druid: druid:
max-active: 20 max-active: 20
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
redis: redis:
host: 124.71.109.29 host: 124.71.109.29
port: 36379 port: 36379
password: Syc@1234 password: Syc@1234
database: 1 database: 1
timeout: 60000 timeout: 60000
lettuce: lettuce:
pool: pool:
# 最大活跃链接数 默认8 # 最大活跃链接数 默认8
max-active: 10 max-active: 10
# 连接池最大阻塞等待时间 # 连接池最大阻塞等待时间
max-wait: -1 max-wait: -1
# 最大空闲连接数 默认8 # 最大空闲连接数 默认8
max-idle: 10 max-idle: 10
# 最小空闲连接数 默认0 # 最小空闲连接数 默认0
min-idle: 0 min-idle: 0
iot-redis: iot-redis:
host: 183.24.11.2 host: 183.24.11.2
port: 36379 port: 36379
database: 0 database: 0
timeout: 60000 timeout: 60000
# kafka: # kafka:
# consumer: # consumer:
# group-id: roboter # group-id: roboter
paas: paas:
domain: domain:
url: http:xx.com url: http:xx.com
bi: bi:
url: http://localhost:7018/bi/#/preview/ url: http://localhost:7018/bi/#/preview/
#文件中心配置 #文件中心配置
oss: oss:
path-style-access: false path-style-access: false
endpoint: obs.cn-south-1.myhwclouds.com endpoint: obs.cn-south-1.myhwclouds.com
access-key: YUR4KHFBTPIYYSIHJQYK access-key: YUR4KHFBTPIYYSIHJQYK
secret-key: etxRFxuiGuKGfZeMlnQeoGeSQvyW2Vq4rqgr993j secret-key: etxRFxuiGuKGfZeMlnQeoGeSQvyW2Vq4rqgr993j
bucket-name: syc-dev bucket-name: syc-dev
custom-domain: https://static.sycdev.com custom-domain: https://static.sycdev.com
type: HUAWEI_OBS type: HUAWEI_OBS
siot: siot:
port: port:
influxdb: influxdb:
switchFirstHost : true switchFirstHost : true
host: 122.9.119.75 host: 122.9.119.75
port: 18086 port: 18086
username: admin username: admin
password: 123456 password: 123456
socket: socket:
io: io:
port: 9055 port: 9055
# 设置最大每帧处理数据的长度,防止他人利用大数据来攻击服务器 # 设置最大每帧处理数据的长度,防止他人利用大数据来攻击服务器
maxFramePayloadLength: 1048576 maxFramePayloadLength: 1048576
# 设置http交互最大内容长度 # 设置http交互最大内容长度
maxHttpContentLength: 1048576 maxHttpContentLength: 1048576
# socket连接数大小(如只监听一个端口boss线程组为1即可) # socket连接数大小(如只监听一个端口boss线程组为1即可)
bossCount: 1 bossCount: 1
workCount: 100 workCount: 100
allowCustomRequests: true allowCustomRequests: true
# 协议升级超时时间(毫秒),默认10秒。HTTP握手升级为ws协议超时时间 # 协议升级超时时间(毫秒),默认10秒。HTTP握手升级为ws协议超时时间
upgrade: upgrade:
timeout: 1000000 timeout: 1000000
# Ping消息超时时间(毫秒),默认60秒,这个时间间隔内没有接收到心跳消息就会发送超时事件 # Ping消息超时时间(毫秒),默认60秒,这个时间间隔内没有接收到心跳消息就会发送超时事件
# Ping消息间隔(毫秒),默认25秒。客户端向服务器发送一条心跳消息间隔 # Ping消息间隔(毫秒),默认25秒。客户端向服务器发送一条心跳消息间隔
ping: ping:
interval: 25000 interval: 25000
timeout: 6000000 timeout: 6000000
context: /ws-edge context: /ws-edge
currentDb: sqlserver currentDb: sqlserver
mybatis-plus: mybatis-plus:
configuration: configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config: global-config:
db-config: db-config:
logic-delete-field: delFlag logic-delete-field: delFlag
## 劢微AGV地址 ## 劢微AGV地址
#wcs-base-info: #wcs-base-info:
# ip: 47.119.118.203 # ip: 47.119.118.203
# port: 5050 # port: 5050
# #
## <!--表单标识 不同环境不一样--> ## <!--表单标识 不同环境不一样-->
#table-flag: #table-flag:
# # 基础信息 # # 基础信息
# baseInfo: # baseInfo:
# appId: 5d4c7cefc404088f3edc7652e112b19c # appId: 5d4c7cefc404088f3edc7652e112b19c
# modelCode: # modelCode:
# container: 3b9968155fb44dc89f3448431b476902 # container: 3b9968155fb44dc89f3448431b476902
# material: 3a1de883ce19481eb8ef74579d9aa364 # material: 3a1de883ce19481eb8ef74579d9aa364
# supplier: # supplier:
# customer: # customer:
# # 仓库管理 # # 仓库管理
# storage: # storage:
# appId: 4cd32f5974fa4711983f7db4be7add7b # appId: 4cd32f5974fa4711983f7db4be7add7b
# modelCode: # modelCode:
# reservoir_area: ed5353781e634b1b9f93e27c2401082a # reservoir_area: ed5353781e634b1b9f93e27c2401082a
# storage_location: c81f6a9b75344121b1f0116767831da6 # storage_location: c81f6a9b75344121b1f0116767831da6
# # 入库管理 # # 入库管理
# inbound: # inbound:
# appId: 6362e915e06af53919d0d1cf452d4519 # appId: 6362e915e06af53919d0d1cf452d4519
# modelCode: # modelCode:
# chengpin_instore : 5ab1706a188f4649b225e2bc6c805ea0 # chengpin_instore : 5ab1706a188f4649b225e2bc6c805ea0
# gelipin_instore: 213e357797804e639bc741713285e784 # gelipin_instore: 213e357797804e639bc741713285e784
# fuliao_instore: aa19e570d7ad4352ba3de10e52a1098f # fuliao_instore: aa19e570d7ad4352ba3de10e52a1098f
# container_instore: 51fdffe031fb4d649698ccae2d583c58 # container_instore: 51fdffe031fb4d649698ccae2d583c58
# container_instore_detail: # container_instore_detail:
# outbound: # outbound:
# appId: d234aeb83e763073106cc3fbc2af1667 # appId: d234aeb83e763073106cc3fbc2af1667
# endProductModelCode: 092bb8fe37664c8a8d436d702e81a458 # endProductModelCode: 092bb8fe37664c8a8d436d702e81a458
# isolationProductModelCode: b9cfdda8c62f466c984f6bfdf1b8d525 # isolationProductModelCode: b9cfdda8c62f466c984f6bfdf1b8d525
# excipientsModelCode: d9bf3ab9ff39487fb99de1294c78d7e7 # excipientsModelCode: d9bf3ab9ff39487fb99de1294c78d7e7
# containerOutStockModelCode: 1b6b4b03df0b4988a1ff52995ddb1cc7 # containerOutStockModelCode: 1b6b4b03df0b4988a1ff52995ddb1cc7
# stock: # stock:
# appId: 2d803e49fe36a882927b0022513eaba9 # appId: 2d803e49fe36a882927b0022513eaba9
\ No newline at end of file
spring: spring:
datasource: datasource:
url: jdbc:postgresql://218.245.98.250:15432/syc_paas_standalone_test?stringtype=unspecified&currentSchema=syc_paas_form_design url: jdbc:postgresql://218.245.98.250:15432/syc_paas_standalone_test?stringtype=unspecified&currentSchema=syc_paas_form_design
# url: jdbc:postgresql://218.245.99.101:5432/syc_huayan?stringtype=unspecified&currentSchema=syc_paas_form_runtime # url: jdbc:postgresql://218.245.99.101:5432/syc_huayan?stringtype=unspecified&currentSchema=syc_paas_form_runtime
username: postgres username: postgres
password: 1qaz@WSX password: 1qaz@WSX
redis: redis:
host: 218.245.98.250 host: 218.245.98.250
port: 6379 port: 6379
password: Syc@1234 password: Syc@1234
database: 9 database: 9
timeout: 60000 timeout: 60000
lettuce: lettuce:
pool: pool:
# 最大活跃链接数 默认8 # 最大活跃链接数 默认8
max-active: 10 max-active: 10
# 连接池最大阻塞等待时间 # 连接池最大阻塞等待时间
max-wait: -1 max-wait: -1
# 最大空闲连接数 默认8 # 最大空闲连接数 默认8
max-idle: 10 max-idle: 10
# 最小空闲连接数 默认0 # 最小空闲连接数 默认0
min-idle: 1 min-idle: 1
iot-redis: iot-redis:
host: 218.245.98.250 host: 218.245.98.250
port: 6379 port: 6379
password: Syc@1234 password: Syc@1234
database: 0 database: 0
timeout: 60000 timeout: 60000
cloud: cloud:
nacos: nacos:
discovery: discovery:
enabled: false enabled: false
# kafka: # kafka:
# consumer: # consumer:
# group-id: roboter # group-id: roboter
paas: paas:
domain: domain:
url: http:xx.com url: http:xx.com
bi: bi:
url: http://localhost:7012/bi/#/preview/ url: http://localhost:7012/bi/#/preview/
#文件中心配置 #文件中心配置
oss: oss:
path-style-access: false path-style-access: false
type: LOCAL type: LOCAL
endpoint: http://localhost:7012/metadata/file/upload endpoint: http://localhost:7012/metadata/file/upload
access-key: YUR4KHFBTPIYYSIHJQYK access-key: YUR4KHFBTPIYYSIHJQYK
secret-key: etxRFxuiGuKGfZeMlnQeoGeSQvyW2Vq4rqgr993j secret-key: etxRFxuiGuKGfZeMlnQeoGeSQvyW2Vq4rqgr993j
bucket-name: syc-dev bucket-name: syc-dev
custom-domain: https://static.sycdev.com custom-domain: https://static.sycdev.com
siot: siot:
port: port:
influxdb: influxdb:
switchFirstHost : true switchFirstHost : true
host: 111.230.252.125 host: 111.230.252.125
port: 18086 port: 18086
username: admin username: admin
password: 123456 password: 123456
socket: socket:
io: io:
port: 30100 port: 30100
# 设置最大每帧处理数据的长度,防止他人利用大数据来攻击服务器 # 设置最大每帧处理数据的长度,防止他人利用大数据来攻击服务器
maxFramePayloadLength: 1048576 maxFramePayloadLength: 1048576
# 设置http交互最大内容长度 # 设置http交互最大内容长度
maxHttpContentLength: 1048576 maxHttpContentLength: 1048576
# socket连接数大小(如只监听一个端口boss线程组为1即可) # socket连接数大小(如只监听一个端口boss线程组为1即可)
bossCount: 1 bossCount: 1
workCount: 100 workCount: 100
allowCustomRequests: true allowCustomRequests: true
# 协议升级超时时间(毫秒),默认10秒。HTTP握手升级为ws协议超时时间 # 协议升级超时时间(毫秒),默认10秒。HTTP握手升级为ws协议超时时间
upgrade: upgrade:
timeout: 1000000 timeout: 1000000
# Ping消息超时时间(毫秒),默认60秒,这个时间间隔内没有接收到心跳消息就会发送超时事件 # Ping消息超时时间(毫秒),默认60秒,这个时间间隔内没有接收到心跳消息就会发送超时事件
# Ping消息间隔(毫秒),默认25秒。客户端向服务器发送一条心跳消息间隔 # Ping消息间隔(毫秒),默认25秒。客户端向服务器发送一条心跳消息间隔
ping: ping:
interval: 25000 interval: 25000
timeout: 6000000 timeout: 6000000
context: /scada/data/iot/connect context: /scada/data/iot/connect
login-info: login-info:
tenantId: SHJT_2owB tenantId: SHJT_2owB
mybatis-plus: mybatis-plus:
configuration: configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
spring: spring:
datasource: datasource:
url: jdbc:postgresql://124.71.109.29:35432/syc_test?stringtype=unspecified&currentSchema=syc_paas_form_design url: jdbc:postgresql://124.71.109.29:35432/syc_test?stringtype=unspecified&currentSchema=syc_paas_form_design
username: postgres username: postgres
password: 1qaz@WSX password: 1qaz@WSX
druid: druid:
max-active: 20 max-active: 20
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
redis: redis:
host: 124.71.109.29 host: 124.71.109.29
port: 36379 port: 36379
password: Syc@1234 password: Syc@1234
database: 1 database: 1
timeout: 60000 timeout: 60000
lettuce: lettuce:
pool: pool:
# 最大活跃链接数 默认8 # 最大活跃链接数 默认8
max-active: 10 max-active: 10
# 连接池最大阻塞等待时间 # 连接池最大阻塞等待时间
max-wait: -1 max-wait: -1
# 最大空闲连接数 默认8 # 最大空闲连接数 默认8
max-idle: 10 max-idle: 10
# 最小空闲连接数 默认0 # 最小空闲连接数 默认0
min-idle: 0 min-idle: 0
iot-redis: iot-redis:
host: 183.24.11.2 host: 183.24.11.2
port: 36379 port: 36379
database: 0 database: 0
timeout: 60000 timeout: 60000
# kafka: # kafka:
# consumer: # consumer:
# group-id: roboter # group-id: roboter
paas: paas:
domain: domain:
url: http:xx.com url: http:xx.com
bi: bi:
url: http://localhost:7018/bi/#/preview/ url: http://localhost:7018/bi/#/preview/
#文件中心配置 #文件中心配置
oss: oss:
path-style-access: false path-style-access: false
endpoint: obs.cn-south-1.myhwclouds.com endpoint: obs.cn-south-1.myhwclouds.com
access-key: YUR4KHFBTPIYYSIHJQYK access-key: YUR4KHFBTPIYYSIHJQYK
secret-key: etxRFxuiGuKGfZeMlnQeoGeSQvyW2Vq4rqgr993j secret-key: etxRFxuiGuKGfZeMlnQeoGeSQvyW2Vq4rqgr993j
bucket-name: syc-dev bucket-name: syc-dev
custom-domain: https://static.sycdev.com custom-domain: https://static.sycdev.com
type: HUAWEI_OBS type: HUAWEI_OBS
siot: siot:
port: port:
influxdb: influxdb:
switchFirstHost : true switchFirstHost : true
host: 122.9.119.75 host: 122.9.119.75
port: 18086 port: 18086
username: admin username: admin
password: 123456 password: 123456
socket: socket:
io: io:
port: 9055 port: 9055
# 设置最大每帧处理数据的长度,防止他人利用大数据来攻击服务器 # 设置最大每帧处理数据的长度,防止他人利用大数据来攻击服务器
maxFramePayloadLength: 1048576 maxFramePayloadLength: 1048576
# 设置http交互最大内容长度 # 设置http交互最大内容长度
maxHttpContentLength: 1048576 maxHttpContentLength: 1048576
# socket连接数大小(如只监听一个端口boss线程组为1即可) # socket连接数大小(如只监听一个端口boss线程组为1即可)
bossCount: 1 bossCount: 1
workCount: 100 workCount: 100
allowCustomRequests: true allowCustomRequests: true
# 协议升级超时时间(毫秒),默认10秒。HTTP握手升级为ws协议超时时间 # 协议升级超时时间(毫秒),默认10秒。HTTP握手升级为ws协议超时时间
upgrade: upgrade:
timeout: 1000000 timeout: 1000000
# Ping消息超时时间(毫秒),默认60秒,这个时间间隔内没有接收到心跳消息就会发送超时事件 # Ping消息超时时间(毫秒),默认60秒,这个时间间隔内没有接收到心跳消息就会发送超时事件
# Ping消息间隔(毫秒),默认25秒。客户端向服务器发送一条心跳消息间隔 # Ping消息间隔(毫秒),默认25秒。客户端向服务器发送一条心跳消息间隔
ping: ping:
interval: 25000 interval: 25000
timeout: 6000000 timeout: 6000000
context: /ws-edge context: /ws-edge
currentDb: sqlserver currentDb: sqlserver
mybatis-plus: mybatis-plus:
configuration: configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config: global-config:
db-config: db-config:
logic-delete-field: delFlag logic-delete-field: delFlag
## 劢微AGV地址 ## 劢微AGV地址
#wcs-base-info: #wcs-base-info:
# ip: 47.119.118.203 # ip: 47.119.118.203
# port: 5050 # port: 5050
# #
## <!--表单标识 不同环境不一样--> ## <!--表单标识 不同环境不一样-->
#table-flag: #table-flag:
# # 基础信息 # # 基础信息
# baseInfo: # baseInfo:
# appId: 5d4c7cefc404088f3edc7652e112b19c # appId: 5d4c7cefc404088f3edc7652e112b19c
# modelCode: # modelCode:
# container: 3b9968155fb44dc89f3448431b476902 # container: 3b9968155fb44dc89f3448431b476902
# material: 3a1de883ce19481eb8ef74579d9aa364 # material: 3a1de883ce19481eb8ef74579d9aa364
# supplier: # supplier:
# customer: # customer:
# # 仓库管理 # # 仓库管理
# storage: # storage:
# appId: 4cd32f5974fa4711983f7db4be7add7b # appId: 4cd32f5974fa4711983f7db4be7add7b
# modelCode: # modelCode:
# reservoir_area: ed5353781e634b1b9f93e27c2401082a # reservoir_area: ed5353781e634b1b9f93e27c2401082a
# storage_location: c81f6a9b75344121b1f0116767831da6 # storage_location: c81f6a9b75344121b1f0116767831da6
# # 入库管理 # # 入库管理
# inbound: # inbound:
# appId: 6362e915e06af53919d0d1cf452d4519 # appId: 6362e915e06af53919d0d1cf452d4519
# modelCode: # modelCode:
# chengpin_instore : 5ab1706a188f4649b225e2bc6c805ea0 # chengpin_instore : 5ab1706a188f4649b225e2bc6c805ea0
# gelipin_instore: 213e357797804e639bc741713285e784 # gelipin_instore: 213e357797804e639bc741713285e784
# fuliao_instore: aa19e570d7ad4352ba3de10e52a1098f # fuliao_instore: aa19e570d7ad4352ba3de10e52a1098f
# container_instore: 51fdffe031fb4d649698ccae2d583c58 # container_instore: 51fdffe031fb4d649698ccae2d583c58
# container_instore_detail: # container_instore_detail:
# outbound: # outbound:
# appId: d234aeb83e763073106cc3fbc2af1667 # appId: d234aeb83e763073106cc3fbc2af1667
# endProductModelCode: 092bb8fe37664c8a8d436d702e81a458 # endProductModelCode: 092bb8fe37664c8a8d436d702e81a458
# isolationProductModelCode: b9cfdda8c62f466c984f6bfdf1b8d525 # isolationProductModelCode: b9cfdda8c62f466c984f6bfdf1b8d525
# excipientsModelCode: d9bf3ab9ff39487fb99de1294c78d7e7 # excipientsModelCode: d9bf3ab9ff39487fb99de1294c78d7e7
# containerOutStockModelCode: 1b6b4b03df0b4988a1ff52995ddb1cc7 # containerOutStockModelCode: 1b6b4b03df0b4988a1ff52995ddb1cc7
# stock: # stock:
# appId: 2d803e49fe36a882927b0022513eaba9 # appId: 2d803e49fe36a882927b0022513eaba9
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ Copyright (c) 2018-2025, slm All rights reserved. ~ Copyright (c) 2018-2025, slm All rights reserved.
~ ~
~ Redistribution and use in source and binary forms, with or without ~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met: ~ modification, are permitted provided that the following conditions are met:
~ ~
~ Redistributions of source code must retain the above copyright notice, ~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer. ~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright ~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the ~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution. ~ documentation and/or other materials provided with the distribution.
~ Neither the name of the pig4cloud.com developer nor the names of its ~ Neither the name of the pig4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from ~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission. ~ this software without specific prior written permission.
~ Author: slm ~ Author: slm
--> -->
<!-- <!--
小技巧: 在根pom里面设置统一存放路径,统一管理方便维护 小技巧: 在根pom里面设置统一存放路径,统一管理方便维护
<properties> <properties>
<log-path>/Users/slm</log-path> <log-path>/Users/slm</log-path>
</properties> </properties>
1. 其他模块加日志输出,直接copy本文件放在resources 目录即可 1. 其他模块加日志输出,直接copy本文件放在resources 目录即可
2. 注意修改 <property name="${log-path}/log.path" value=""/> 的value模块 2. 注意修改 <property name="${log-path}/log.path" value=""/> 的value模块
--> -->
<configuration debug="false" scan="false"> <configuration debug="false" scan="false">
<property name="log.path" value="${user.home}/Library/Logs/paas_runtime"/> <property name="log.path" value="${user.home}/Library/Logs/paas_runtime"/>
<!-- Console log output --> <!-- Console log output -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder > <encoder >
<pattern>%date [%thread] %-5level [%X{TraceId}] [%logger{50}] %file:%line - %msg%n</pattern> <pattern>%date [%thread] %-5level [%X{TraceId}] [%logger{50}] %file:%line - %msg%n</pattern>
</encoder> </encoder>
</appender> </appender>
<!-- Log file debug output --> <!-- Log file debug output -->
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/debug.log</file> <file>${log.path}/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>.${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <fileNamePattern>.${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize> <maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory> <maxHistory>30</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>%date [%thread] %-5level [%X{TraceId}] [%logger{50}] %file:%line - %msg%n</pattern> <pattern>%date [%thread] %-5level [%X{TraceId}] [%logger{50}] %file:%line - %msg%n</pattern>
</encoder> </encoder>
</appender> </appender>
<!-- Log file error output --> <!-- Log file error output -->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file> <file>${log.path}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize> <maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory> <maxHistory>30</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder > <encoder >
<pattern>%date [%thread] %-5level [%X{TraceId}] [%logger{50}] %file:%line - %msg%n</pattern> <pattern>%date [%thread] %-5level [%X{TraceId}] [%logger{50}] %file:%line - %msg%n</pattern>
</encoder> </encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level> <level>ERROR</level>
</filter> </filter>
</appender> </appender>
<!--nacos 心跳 INFO 屏蔽--> <!--nacos 心跳 INFO 屏蔽-->
<logger name="com.alibaba.nacos" level="OFF"> <logger name="com.alibaba.nacos" level="OFF">
<appender-ref ref="error"/> <appender-ref ref="error"/>
</logger> </logger>
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="info"> <root level="info">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
</root> </root>
</configuration> </configuration>
lexer grammar ReportLexer; lexer grammar ReportLexer;
Cell : LETTER DIGIT+ ; Cell : LETTER DIGIT+ ;
Operator : '+' Operator : '+'
| '-' | '-'
| '*' | '*'
| '/' | '/'
| '%' | '%'
; ;
OP : '>' OP : '>'
| '<' | '<'
| '==' | '=='
| '!=' | '!='
| '>=' | '>='
| '<=' | '<='
| 'in' | 'in'
| 'not in' | 'not in'
| 'not in' | 'not in'
| 'like' | 'like'
; ;
ORDER : 'desc' | 'asc' ; ORDER : 'desc' | 'asc' ;
BOOLEAN : 'true' | 'false' ; BOOLEAN : 'true' | 'false' ;
COLON : ':'; COLON : ':';
COMMA : ',' ; COMMA : ',' ;
NULL : 'null'; NULL : 'null';
LeftParen : '(' ; LeftParen : '(' ;
RightParen : ')' ; RightParen : ')' ;
STRING : '"' STRING_CONTENT '"' STRING : '"' STRING_CONTENT '"'
| '\'' STRING_CONTENT '\'' | '\'' STRING_CONTENT '\''
; ;
AND : 'and' | '&&' ; AND : 'and' | '&&' ;
OR : 'or' | '||' ; OR : 'or' | '||' ;
INTEGER : ('-')? DIGIT+; INTEGER : ('-')? DIGIT+;
NUMBER NUMBER
: :
'-'? DIGIT+ '.' DIGIT+ EXP? // ('-'? INT '.' INT EXP?)1.35, 1.35E-9, 0.3, -4.5 '-'? DIGIT+ '.' DIGIT+ EXP? // ('-'? INT '.' INT EXP?)1.35, 1.35E-9, 0.3, -4.5
| '-'? DIGIT+ EXP // 1e10 -3e4 | '-'? DIGIT+ EXP // 1e10 -3e4
| '-'? DIGIT+ // -3, 45 | '-'? DIGIT+ // -3, 45
; ;
EXCLAMATION : '!'; EXCLAMATION : '!';
EXP EXP
: :
[Ee] [+\-]? DIGIT+ [Ee] [+\-]? DIGIT+
; ;
Identifier : StartChar Char* ; Identifier : StartChar Char* ;
LETTER : [A-Z]+ ; LETTER : [A-Z]+ ;
Char : StartChar Char : StartChar
| '-' | '_' | DIGIT | '-' | '_' | DIGIT
| '\u00B7' | '\u00B7'
| '\u0300'..'\u036F' | '\u0300'..'\u036F'
| '\u203F'..'\u2040' | '\u203F'..'\u2040'
; ;
DIGIT : [0-9]; DIGIT : [0-9];
fragment fragment
STRING_CONTENT : STRING_CONTENT :
( EscapeSequence | ~('"'|'\''))* ( EscapeSequence | ~('"'|'\''))*
; ;
fragment fragment
EscapeSequence EscapeSequence
: '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') : '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\')
| UnicodeEscape | UnicodeEscape
| OctalEscape | OctalEscape
; ;
fragment fragment
OctalEscape OctalEscape
: '\\' ('0'..'3') ('0'..'7') ('0'..'7') : '\\' ('0'..'3') ('0'..'7') ('0'..'7')
| '\\' ('0'..'7') ('0'..'7') | '\\' ('0'..'7') ('0'..'7')
| '\\' ('0'..'7') | '\\' ('0'..'7')
; ;
fragment fragment
UnicodeEscape UnicodeEscape
: :
'\\' 'u' HEX HEX HEX HEX '\\' 'u' HEX HEX HEX HEX
; ;
fragment fragment
HEX HEX
: :
[0-9a-fA-F] [0-9a-fA-F]
; ;
fragment fragment
StartChar StartChar
: [a-zA-Z] : [a-zA-Z]
| '\u2070'..'\u218F' | '\u2070'..'\u218F'
| '\u2C00'..'\u2FEF' | '\u2C00'..'\u2FEF'
| '\u3001'..'\uD7FF' | '\u3001'..'\uD7FF'
| '\uF900'..'\uFDCF' | '\uF900'..'\uFDCF'
| '\uFDF0'..'\uFFFD' | '\uFDF0'..'\uFFFD'
; ;
WS WS
: :
[ \t\r\n]+ -> channel(HIDDEN) [ \t\r\n]+ -> channel(HIDDEN)
; ;
NL NL
: :
'\r'? '\n' ->channel(HIDDEN) '\r'? '\n' ->channel(HIDDEN)
; ;
grammar ReportParser; grammar ReportParser;
import ReportLexer; import ReportLexer;
entry : expression+ EOF; entry : expression+ EOF;
expression : exprComposite expression : exprComposite
| ifExpr | ifExpr
| caseExpr | caseExpr
| returnExpr | returnExpr
| variableAssign | variableAssign
; ;
exprComposite : expr #singleExprComposite exprComposite : expr #singleExprComposite
| ternaryExpr #ternaryExprComposite | ternaryExpr #ternaryExprComposite
| LeftParen exprComposite RightParen #parenExprComposite | LeftParen exprComposite RightParen #parenExprComposite
| exprComposite Operator exprComposite #complexExprComposite | exprComposite Operator exprComposite #complexExprComposite
; ;
ternaryExpr : ifCondition (join ifCondition)* '?' block ':' block ; ternaryExpr : ifCondition (join ifCondition)* '?' block ':' block ;
caseExpr : 'case' '{' casePart (',' casePart)* '}' ; caseExpr : 'case' '{' casePart (',' casePart)* '}' ;
casePart : ifCondition (join ifCondition)* ':'? block ; casePart : ifCondition (join ifCondition)* ':'? block ;
ifExpr: ifPart elseIfPart* elsePart? ; ifExpr: ifPart elseIfPart* elsePart? ;
ifPart : 'if' '(' ifCondition (join ifCondition)* ')' '{' block '}'; ifPart : 'if' '(' ifCondition (join ifCondition)* ')' '{' block '}';
elseIfPart : 'else' 'if' '(' ifCondition (join ifCondition)* ')' '{' block '}' ; elseIfPart : 'else' 'if' '(' ifCondition (join ifCondition)* ')' '{' block '}' ;
elsePart : 'else' '{' block '}' ; elsePart : 'else' '{' block '}' ;
block : exprBlock* returnExpr? ; block : exprBlock* returnExpr? ;
exprBlock : variableAssign exprBlock : variableAssign
| ifExpr | ifExpr
| caseExpr | caseExpr
; ;
returnExpr : 'return'? expr ';'?; returnExpr : 'return'? expr ';'?;
expr : item (Operator item)* ; expr : item (Operator item)* ;
ifCondition : expr OP expr ; ifCondition : expr OP expr ;
variableAssign : 'var'? variable '=' item ';'?; variableAssign : 'var'? variable '=' item ';'?;
item : unit (Operator unit)* #simpleJoin item : unit (Operator unit)* #simpleJoin
| LeftParen item RightParen #singleParenJoin | LeftParen item RightParen #singleParenJoin
| LeftParen item (Operator item)+ RightParen #parenJoin | LeftParen item (Operator item)+ RightParen #parenJoin
; ;
unit : dataset unit : dataset
| function | function
| set | set
| cellPosition | cellPosition
| relativeCell | relativeCell
| currentCellValue | currentCellValue
| currentCellData | currentCellData
| cell | cell
| variable | variable
| INTEGER | INTEGER
| BOOLEAN | BOOLEAN
| STRING | STRING
| NUMBER | NUMBER
| NULL | NULL
; ;
variable : Identifier ; variable : Identifier ;
cellPosition : '&'Cell ;//表示单元格位置 cellPosition : '&'Cell ;//表示单元格位置
relativeCell : '$'Cell ; //表示当前引用对应的单元格的值 relativeCell : '$'Cell ; //表示当前引用对应的单元格的值
currentCellValue : '#' ;//表示当前单元格值 currentCellValue : '#' ;//表示当前单元格值
currentCellData : '#''.'property ;//表示取当前单元绑定对象的某个属性值 currentCellData : '#''.'property ;//表示取当前单元绑定对象的某个属性值
cell : 'cell' ('.'property)? ; cell : 'cell' ('.'property)? ;
dataset : Identifier '.' aggregate '(' property? (',' conditions )? (',' ORDER)? ')'; dataset : Identifier '.' aggregate '(' property? (',' conditions )? (',' ORDER)? ')';
function : Identifier '(' functionParameter? ')' ; function : Identifier '(' functionParameter? ')' ;
functionParameter : item (','? item)* ; functionParameter : item (','? item)* ;
set : simpleValue #simpleData set : simpleValue #simpleData
| Cell #singleCell | Cell #singleCell
| Cell '['']'('{' conditions '}')? #wholeCell | Cell '['']'('{' conditions '}')? #wholeCell
| Cell ':' Cell #cellPair | Cell ':' Cell #cellPair
| Cell '{' conditions '}' #singleCellCondition | Cell '{' conditions '}' #singleCellCondition
| Cell '[' cellCoordinate ']' #singleCellCoordinate | Cell '[' cellCoordinate ']' #singleCellCoordinate
| Cell '[' cellCoordinate ']' '{' conditions '}' #cellCoordinateCondition | Cell '[' cellCoordinate ']' '{' conditions '}' #cellCoordinateCondition
| set 'to' set #range | set 'to' set #range
; ;
cellCoordinate : coordinate (';' coordinate)? ; cellCoordinate : coordinate (';' coordinate)? ;
coordinate : cellIndicator (',' cellIndicator)* ; coordinate : cellIndicator (',' cellIndicator)* ;
cellIndicator : Cell #relative cellIndicator : Cell #relative
| Cell ':' EXCLAMATION? INTEGER #absolute | Cell ':' EXCLAMATION? INTEGER #absolute
; ;
conditions : condition (join condition)* ; conditions : condition (join condition)* ;
condition : Cell OP expr #cellNameExprCondition condition : Cell OP expr #cellNameExprCondition
| property OP expr #propertyCondition | property OP expr #propertyCondition
| currentValue OP expr #currentValueCondition | currentValue OP expr #currentValueCondition
| expr OP expr #exprCondition | expr OP expr #exprCondition
; ;
property : Identifier property : Identifier
| property '.' property | property '.' property
; ;
currentValue : '@' ; currentValue : '@' ;
simpleValue : INTEGER|NUMBER|STRING|BOOLEAN|NULL; simpleValue : INTEGER|NUMBER|STRING|BOOLEAN|NULL;
join : AND | OR ; join : AND | OR ;
aggregate : Identifier; aggregate : Identifier;
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ureport xmlns="http://www.example.org/ureport2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <ureport xmlns="http://www.example.org/ureport2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/ureport2 http://www.example.org/ureport2 "> xsi:schemaLocation="http://www.example.org/ureport2 http://www.example.org/ureport2 ">
<cell expand="None" name="A1" col="1" row="1"> <cell expand="None" name="A1" col="1" row="1">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="B1" col="2" row="1"> <cell expand="None" name="B1" col="2" row="1">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="C1" col="3" row="1"> <cell expand="None" name="C1" col="3" row="1">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="D1" col="4" row="1"> <cell expand="None" name="D1" col="4" row="1">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="A2" col="1" row="2"> <cell expand="None" name="A2" col="1" row="2">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="B2" col="2" row="2"> <cell expand="None" name="B2" col="2" row="2">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="C2" col="3" row="2"> <cell expand="None" name="C2" col="3" row="2">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="D2" col="4" row="2"> <cell expand="None" name="D2" col="4" row="2">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="A3" col="1" row="3"> <cell expand="None" name="A3" col="1" row="3">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="B3" col="2" row="3"> <cell expand="None" name="B3" col="2" row="3">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="C3" col="3" row="3"> <cell expand="None" name="C3" col="3" row="3">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<cell expand="None" name="D3" col="4" row="3"> <cell expand="None" name="D3" col="4" row="3">
<simple-value><![CDATA[]]></simple-value> <simple-value><![CDATA[]]></simple-value>
<cell-style font-size="10" align="center" valign="middle"></cell-style> <cell-style font-size="10" align="center" valign="middle"></cell-style>
</cell> </cell>
<row row-number="1" height="18"/> <row row-number="1" height="18"/>
<row row-number="2" height="18"/> <row row-number="2" height="18"/>
<row row-number="3" height="18"/> <row row-number="3" height="18"/>
<column col-number="1" width="80"/> <column col-number="1" width="80"/>
<column col-number="2" width="80"/> <column col-number="2" width="80"/>
<column col-number="3" width="80"/> <column col-number="3" width="80"/>
<column col-number="4" width="80"/> <column col-number="4" width="80"/>
<paper type="A4" orientation="portrait" paging-mode="fitpage"></paper> <paper type="A4" orientation="portrait" paging-mode="fitpage"></paper>
</ureport> </ureport>
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment