Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 3 years ago
parent
commit
eaef7dfb2a
  1. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java
  2. 9
      anrui-base/anrui-base-biz/src/main/resources/application.yml
  3. 13
      anrui-base/anrui-base-biz/src/main/resources/banner.txt
  4. 113
      anrui-base/anrui-base-biz/src/main/resources/logback-spring.xml
  5. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java
  6. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/application.yml
  7. 13
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/banner.txt
  8. 113
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/logback-spring.xml
  9. 28
      anrui-buscenter/anrui-buscenter-ui/src/components/VehicleConfigurationSub/vehicleconfiguration.vue
  10. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/CrmApplication.java
  11. 7
      anrui-crm/anrui-crm-biz/src/main/resources/application.yml
  12. 13
      anrui-crm/anrui-crm-biz/src/main/resources/banner.txt
  13. 113
      anrui-crm/anrui-crm-biz/src/main/resources/logback-spring.xml
  14. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/AnruiFinApplication.java
  15. 9
      anrui-fin/anrui-fin-biz/src/main/resources/application.yml
  16. 13
      anrui-fin/anrui-fin-biz/src/main/resources/banner.txt
  17. 117
      anrui-fin/anrui-fin-biz/src/main/resources/logback-spring.xml
  18. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/FlowableApplication.java
  19. 7
      anrui-flowable/anrui-flowable-biz/src/main/resources/application.yml
  20. 13
      anrui-flowable/anrui-flowable-biz/src/main/resources/banner.txt
  21. 145
      anrui-flowable/anrui-flowable-biz/src/main/resources/logback-spring.xml
  22. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/PortalApplication.java
  23. 6
      anrui-portal/anrui-portal-biz/src/main/resources/application.yml
  24. 13
      anrui-portal/anrui-portal-biz/src/main/resources/banner.txt
  25. 113
      anrui-portal/anrui-portal-biz/src/main/resources/logback-spring.xml
  26. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java
  27. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/application.yml
  28. 13
      anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/banner.txt
  29. 113
      anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/logback-spring.xml
  30. 35
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspection/AppScmVehiclePatroVo.java
  31. 7
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionFeign.java
  32. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionFeignFallback.java
  33. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/AnruiScmApplication.java
  34. 6
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java
  35. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java
  36. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionMapper.java
  37. 48
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionMapper.xml
  38. 5
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionRest.java
  39. 31
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionService.java
  40. 9
      anrui-scm/anrui-scm-biz/src/main/resources/application.yml
  41. 13
      anrui-scm/anrui-scm-biz/src/main/resources/banner.txt
  42. 117
      anrui-scm/anrui-scm-biz/src/main/resources/logback-spring.xml
  43. 29
      anrui-scm/anrui-scm-ui/src/components/VehicleConfigurationSub/vehicleconfiguration.vue
  44. 16
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue
  45. 14
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue
  46. 9
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMai.vue
  47. 2
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue
  48. 48
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingpeizhijiageweihuAdd.vue
  49. 32
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue
  50. 231
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhiAdd.vue
  51. 100
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhiInfo.vue
  52. 61
      anrui-scm/anrui-scm-ui/src/views/workFlow/caigoutuikuFlow/caigoutuiku.vue
  53. 46
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/inspection/AppScmVehiclePatrolinVo.java
  54. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/inspection/AppScmVehiclePatrolinspectionFeign.java
  55. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/inspection/AppScmVehiclePatrolinspectionFeignFallback.java
  56. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehicleexamine/AppScmVehicleExamineFeign.java
  57. 6
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java
  58. 12
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/inspection/AppScmVehiclePatrolinspectionRest.java
  59. 28
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/inspection/AppScmVehiclePatrolinspectionService.java
  60. 7
      anrui-terminal/anrui-terminal-biz/src/main/resources/application.yml
  61. 13
      anrui-terminal/anrui-terminal-biz/src/main/resources/banner.txt
  62. 113
      anrui-terminal/anrui-terminal-biz/src/main/resources/logback-spring.xml
  63. 436
      pom.xml

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java

@ -1,6 +1,7 @@
package com.yxt.anrui.base;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
@ -8,6 +9,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @author dimengzhe
*/
@EnableLoggingClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.common.base.config",
"com.yxt.anrui.base"

9
anrui-base/anrui-base-biz/src/main/resources/application.yml

@ -60,3 +60,12 @@ templateUrl:
prefixUrl: http://120.46.131.15:8111/template/
#配置ApiBoot Logging 日志组件
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-base/anrui-base-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

113
anrui-base/anrui-base-biz/src/main/resources/logback-spring.xml

@ -1,50 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/anrui_base" />
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="base"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n</Pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILEOUT" />
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
</configuration>

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java

@ -1,6 +1,7 @@
package com.yxt.anrui.buscenter;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@ -9,6 +10,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @author dimengzhe
*/
@EnableLoggingClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.common.base.config",
"com.yxt.anrui.buscenter"

9
anrui-buscenter/anrui-buscenter-biz/src/main/resources/application.yml

@ -2,7 +2,7 @@ spring:
application:
name: anrui-buscenter
profiles:
active: pro
active: devv
messages:
# 国际化资源文件路径
basename: i18n/messages
@ -53,6 +53,13 @@ ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-buscenter/anrui-buscenter-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

113
anrui-buscenter/anrui-buscenter-biz/src/main/resources/logback-spring.xml

@ -1,50 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/anrui_business_center" />
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="buscenter"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n</Pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILEOUT" />
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
</configuration>

28
anrui-buscenter/anrui-buscenter-ui/src/components/VehicleConfigurationSub/vehicleconfiguration.vue

@ -104,7 +104,11 @@
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>后桥速比</span></div>
<div class="span-sty"><span>后桥</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleValue }}</span></el-form-item>
</el-col>
<el-col :span="5">
<div class="span-sty"><span>速比</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleRatio }}</span></el-form-item>
</el-col>
<el-col :span="5">
@ -115,16 +119,16 @@
<div class="span-sty"><span>轮毂材质</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.hubMaterial }}</span></el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty"><span>导流罩</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.baffleModel }}</span></el-form-item>
</el-col>
<el-col :span="4">
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>悬架</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.suspension }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>座椅</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.seat }}</span></el-form-item>
@ -137,16 +141,16 @@
<div class="span-sty"><span>鞍座</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.saddle }}</span></el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty"><span>轴距</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.wheelbase }}</span></el-form-item>
</el-col>
<el-col :span="4">
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>保险杠</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bumper }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>配置包</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.configuringBao }}</span></el-form-item>
@ -159,14 +163,14 @@
<div class="span-sty"><span>燃料箱</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.fuelTank }}</span></el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty"><span>多媒体</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.multimedia }}</span></el-form-item>
</el-col>
<el-col :span="4">
<!-- <el-col :span="4">-->
<!-- <div class="span-sty"><span>货箱</span></div>-->
<!-- <el-form-item><span class="addinputInfo">{{ formobj.packingCase }}</span></el-form-item>-->
</el-col>
<!-- </el-col>-->
</el-row>
<div class="headline">
更多配置

2
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/CrmApplication.java

@ -1,6 +1,7 @@
package com.yxt.anrui.crm;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@ -10,6 +11,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
/**
* @author dimengzhe
*/
@EnableLoggingClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.common.base.config",
"com.yxt.anrui.crm"

7
anrui-crm/anrui-crm-biz/src/main/resources/application.yml

@ -40,6 +40,13 @@ mybatis-plus:
call-setters-on-nulls: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-crm/anrui-crm-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

113
anrui-crm/anrui-crm-biz/src/main/resources/logback-spring.xml

@ -1,50 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/anrui_crm" />
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="crm"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n</Pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILEOUT" />
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
</configuration>

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/AnruiFinApplication.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.fin;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@ -43,6 +44,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
* @version 1.0
* @since 1.0
*/
@EnableLoggingClient
@EnableDiscoveryClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.common.base.config",

9
anrui-fin/anrui-fin-biz/src/main/resources/application.yml

@ -38,4 +38,11 @@ hystrix:
#ribbon的超时时间
ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000
ConnectTimeout: 30000
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-fin/anrui-fin-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

117
anrui-fin/anrui-fin-biz/src/main/resources/logback-spring.xml

@ -1,54 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/anrui_fin"/>
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="fin"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n
</Pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILEOUT"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
</configuration>

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/FlowableApplication.java

@ -1,6 +1,7 @@
package com.yxt.anrui.flowable;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@ -19,6 +20,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
})
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal"})
@EnableLoggingClient
public class FlowableApplication {
public static void main(String[] args) {

7
anrui-flowable/anrui-flowable-biz/src/main/resources/application.yml

@ -67,3 +67,10 @@ mybatis-plus:
call-setters-on-nulls: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-flowable/anrui-flowable-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

145
anrui-flowable/anrui-flowable-biz/src/main/resources/logback-spring.xml

@ -1,106 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="logs/flowables" />
<!-- 彩色日志 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- &lt;!&ndash; 日志输出格式 &ndash;&gt;-->
<!-- <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />-->
<!-- Console 设置默认输出格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<!-- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>-->
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="flowable"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<level>error</level>
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 用户访问日志输出 -->
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-user.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.yxt.anrui.flowable" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
<!--系统用户操作日志-->
<logger name="sys-user" level="info">
<appender-ref ref="sys-user"/>
</logger>
</configuration>

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/PortalApplication.java

@ -1,6 +1,7 @@
package com.yxt.anrui.portal;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@ -9,6 +10,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @author dimengzhe
*/
@EnableLoggingClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.common.base.config",
"com.yxt.anrui.portal"

6
anrui-portal/anrui-portal-biz/src/main/resources/application.yml

@ -56,6 +56,12 @@ hystrix:
ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-portal/anrui-portal-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

113
anrui-portal/anrui-portal-biz/src/main/resources/logback-spring.xml

@ -1,50 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/anrui_portal" />
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="portal"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n</Pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILEOUT" />
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
</configuration>

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@ -9,6 +10,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @author dimengzhe
*/
@EnableLoggingClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.common.base.config",
"com.yxt.anrui.riskcenter"

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/application.yml

@ -38,6 +38,13 @@ mybatis-plus:
call-setters-on-nulls: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

113
anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/logback-spring.xml

@ -1,50 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/anrui_business_center" />
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="riskcenter"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n</Pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILEOUT" />
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
</configuration>

35
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspection/AppScmVehiclePatroVo.java

@ -0,0 +1,35 @@
package com.yxt.anrui.scm.api.scmvehiclepatrolinspection;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/8/6 16:56
* @Description
*/
@Data
public class AppScmVehiclePatroVo implements Vo {
private static final long serialVersionUID = 4433285895858153789L;
@ApiModelProperty("车架号")
private String mainSid;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("巡检日期")
private String patrolInspectionDate;
@ApiModelProperty("巡检人员")
private String patrolInspectionName;
@ApiModelProperty("存放地地点")
private String location;
@ApiModelProperty("巡检情况说明")
private String situationExplain;
@ApiModelProperty("存在的问题及处理结果")
private String problemsAndResults;
@ApiModelProperty("相关附件")
private List<String> images;
@ApiModelProperty(value = "sid")
private String sid;
}

7
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionFeign.java

@ -78,4 +78,11 @@ public interface ScmVehiclePatrolinspectionFeign {
@PostMapping("/getCarInspectionList")
@ResponseBody
public ResultBean<PagerVo<AppScmVehiclePatrolinspectionPageVo>> getCarInventoryList(@RequestBody PagerQuery<AppScmVehiclePatrolinspectionPageQuery> pagerQuery);
@ApiOperation("手机端-巡检详情")
@PostMapping("/getInspectionInfo/{recordSid}")
@ResponseBody
public ResultBean<AppScmVehiclePatroVo> getInspectionInfo(@PathVariable("recordSid")String recordSid);
}

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionFeignFallback.java

@ -30,8 +30,6 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: anrui_scm(anrui_scm) <br/>
* File: ScmVehiclePatrolinspectionFeignFallback.java <br/>
@ -75,6 +73,10 @@ public class ScmVehiclePatrolinspectionFeignFallback implements ScmVehiclePatrol
return null;
}
@Override
public ResultBean<AppScmVehiclePatroVo> getInspectionInfo(String recordSid) {
return null;
}
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/AnruiScmApplication.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.scm;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@ -43,6 +44,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
* @version 1.0
* @since 1.0
*/
@EnableLoggingClient
@EnableDiscoveryClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.common.base.config",

6
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

@ -379,6 +379,9 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
if (dto.getFactoryImage().size() <= 0) {
return rb.setMsg("厂家验车照片不能为空");
}
if(StringUtils.isBlank(dto.getInboundDate())){
return rb.setMsg("厂家入库日期不能为空");
}
String staffSid = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData().getStaffSid();
SysStaffinfoVo data = sysUserFeign.getSysUserByMobile(staffSid).getData();
String s1 = "";
@ -461,6 +464,9 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
if (dto.getFactoryImage().size() <= 0) {
return rb.setMsg("厂家验车照片不能为空!");
}
if(StringUtils.isBlank(dto.getInboundDate())){
return rb.setMsg("厂家入库日期不能为空");
}
String staffSid = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData().getStaffSid();
SysStaffinfoVo data = sysUserFeign.getSysUserByMobile(staffSid).getData();
SysOrganizationVo data1 = sysOrganizationFeign.getUseOrgByUserSid(dto.getUserSid()).getData();

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java

@ -36,7 +36,6 @@ import com.yxt.anrui.base.api.basevehicle.ExiCarConfigDetailVo;
import com.yxt.anrui.base.api.basevehicle.VehicleGression;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.ManPurOrderType;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
@ -594,7 +593,7 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
List<ScmVehicleGressionVo> scmVehicleGressionVos = baseMapper.getlastTimeEqual(dto.getVinNo(), dto.getTargetLocationSid());
if (scmVehicleGressionVos.size() > 0) {
if (StringUtils.isNotBlank(scmVehicleGressionVos.get(0).getNodeState())) {
if (!(scmVehicleGressionVos.get(0).getNodeState().contains("已办结") || scmVehicleGressionVos.get(0).getNodeState().contains("已终止") || scmVehicleGressionVos.get(0).getNodeState().contains("申请"))) {
if (!(scmVehicleGressionVos.get(0).getNodeState().contains("已办结") || scmVehicleGressionVos.get(0).getNodeState().contains("申请"))) {
return rb.setMsg("该申请已存在,请务重复提交!");
}
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionMapper.java

@ -72,4 +72,6 @@ public interface ScmVehiclePatrolinspectionMapper extends BaseMapper<ScmVehicleP
* @return
*/
IPage<AppScmVehiclePatrolinspectionPageVo> getCarInventoryList(IPage<AppScmVehiclePatrolinspectionPageQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppScmVehiclePatrolinspectionPageVo> qw, @Param("name") String name);
AppScmVehiclePatroVo getInspectionInfo(String recordSid);
}

48
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionMapper.xml

@ -5,32 +5,52 @@
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo"
resultType="com.yxt.anrui.scm.api.scmvehiclepatrolinspection.ScmVehiclePatrolinspectionVo">
SELECT * FROM scm_vehicle_patrolinspection
<where>${ew.sqlSegment}</where>
SELECT *
FROM scm_vehicle_patrolinspection
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo"
resultType="com.yxt.anrui.scm.api.scmvehiclepatrolinspection.ScmVehiclePatrolinspectionVo">
SELECT * FROM scm_vehicle_patrolinspection
<where>${ew.sqlSegment}</where>
SELECT *
FROM scm_vehicle_patrolinspection
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getCarInventoryList"
resultType="com.yxt.anrui.scm.api.scmvehiclepatrolinspection.AppScmVehiclePatrolinspectionPageVo">
SELECT
sid,
mainSid as vin,
location as warehouse,
patrolInspectionDate as newInspectionDate,
patrolInspectionName as newInspectionName
FROM
scm_vehicle_patrolinspection svp
SELECT sid,
mainSid as vin,
location as warehouse,
patrolInspectionDate as newInspectionDate,
patrolInspectionName as newInspectionName
FROM scm_vehicle_patrolinspection svp
<where>
${ew.sqlSegment}
<if test="name != '' and name != null ">
and concat(svp.mainSid) LIKE concat('%', #{name}, '%')
<if test="name != '' and name != null">
and concat(svp.mainSid) LIKE concat('%'
, #{name}
, '%')
</if>
</where>
ORDER BY id DESC
</select>
<select id="getInspectionInfo" resultType="com.yxt.anrui.scm.api.scmvehiclepatrolinspection.AppScmVehiclePatroVo">
select svp.mainSid,
svp.patrolInspectionDate,
svp.patrolInspectionName,
svp.location,
svss.situationExplain,
svss.problemsAndResults,
svss.model,
svss.sid
from scm_vehicle_patrolinspection svp
left join scm_vehicle_patrolinspectionsheet svss on svss.patrolInspectionSid = svp.sid
where sid = #{recordSid}
</select>
</mapper>

5
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionRest.java

@ -105,4 +105,9 @@ public class ScmVehiclePatrolinspectionRest implements ScmVehiclePatrolinspectio
PagerVo<AppScmVehiclePatrolinspectionPageVo> pagerVo = PagerUtil.pageToVo(iPage, page);
return new ResultBean<PagerVo<AppScmVehiclePatrolinspectionPageVo>>().success().setData(pagerVo);
}
@Override
public ResultBean<AppScmVehiclePatroVo> getInspectionInfo(String recordSid) {
return scmVehiclePatrolinspectionService.getInspectionInfo(recordSid);
}
}

31
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspection/ScmVehiclePatrolinspectionService.java

@ -29,18 +29,21 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.scm.api.scmfile.ScmFile;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspection.*;
import org.apache.commons.lang3.StringUtils;
import com.yxt.anrui.scm.biz.scmfile.ScmFileService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui_scm(anrui_scm) <br/>
@ -60,6 +63,10 @@ public class ScmVehiclePatrolinspectionService extends MybatisBaseService<ScmVeh
@Autowired
SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private ScmFileService scmFileService;
@Autowired
private FileUploadComponent fileUploadComponent;
private QueryWrapper<ScmVehiclePatrolinspection> createQueryWrapper(ScmVehiclePatrolinspectionQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -178,4 +185,20 @@ public class ScmVehiclePatrolinspectionService extends MybatisBaseService<ScmVeh
updateById(scmVehiclePatrolinspection);
}
public ResultBean<AppScmVehiclePatroVo> getInspectionInfo(String recordSid) {
ResultBean<AppScmVehiclePatroVo> rb = ResultBean.fireFail();
AppScmVehiclePatroVo vo = baseMapper.getInspectionInfo(recordSid);
String type1 = "06"; // 巡检相关照片
List<String> images = new ArrayList<>();
List<ScmFile> scmFiles1 = scmFileService.selectByLinkSid(vo.getSid(), type1);
if (scmFiles1.size() > 0) {
for (ScmFile scmFile : scmFiles1) {
images.add(fileUploadComponent.getUrlPrefix() + scmFile.getFilePath());
}
vo.setImages(images);
} else {
vo.setImages(images);
}
return rb.success().setData(vo);
}
}

9
anrui-scm/anrui-scm-biz/src/main/resources/application.yml

@ -38,4 +38,11 @@ hystrix:
#ribbon的超时时间
ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000
ConnectTimeout: 30000
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-scm/anrui-scm-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

117
anrui-scm/anrui-scm-biz/src/main/resources/logback-spring.xml

@ -1,54 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/anrui_scm"/>
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="scm"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n
</Pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILEOUT"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
</configuration>

29
anrui-scm/anrui-scm-ui/src/components/VehicleConfigurationSub/vehicleconfiguration.vue

@ -104,7 +104,11 @@
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>后桥速比</span></div>
<div class="span-sty"><span>后桥</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleValue }}</span></el-form-item>
</el-col>
<el-col :span="5">
<div class="span-sty"><span>速比</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleRatio }}</span></el-form-item>
</el-col>
<el-col :span="5">
@ -115,16 +119,17 @@
<div class="span-sty"><span>轮毂材质</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.hubMaterial }}</span></el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty"><span>导流罩</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.baffleModel }}</span></el-form-item>
</el-col>
<el-col :span="4">
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>悬架</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.suspension }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>座椅</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.seat }}</span></el-form-item>
@ -137,16 +142,16 @@
<div class="span-sty"><span>鞍座</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.saddle }}</span></el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty"><span>轴距</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.wheelbase }}</span></el-form-item>
</el-col>
<el-col :span="4">
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>保险杠</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bumper }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty"><span>配置包</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.configuringBao }}</span></el-form-item>
@ -159,14 +164,10 @@
<div class="span-sty"><span>燃料箱</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.fuelTank }}</span></el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty"><span>多媒体</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.multimedia }}</span></el-form-item>
</el-col>
<el-col :span="4">
<!-- <div class="span-sty"><span>货箱</span></div>-->
<!-- <el-form-item><span class="addinputInfo">{{ formobj.packingCase }}</span></el-form-item>-->
</el-col>
</el-row>
<div class="headline">
更多配置

16
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue

@ -22,19 +22,19 @@
<div class="wlInfo" style="text-align: right;"><span style="font-size:14px;">金额单位</span></div>
<el-row class="first_row">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>分公司名称</span>
<span>分公司名称</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="applicationCode">{{ formobj.useOrgName }}</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>申请人</span>
<span>申请人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="createByName">{{ formobj.createByName }}</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>申请日期</span>
<span>申请日期</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="applicationDate">{{ formobj.applicationDate }}</el-form-item>
@ -71,7 +71,7 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>常用配置</span>
<span>常用配置</span>
</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="configName">{{ formobj.configName }}</el-form-item>
@ -85,7 +85,7 @@
<el-form-item prop="purchasePrice"><el-input size="small" v-model="formobj.purchasePrice" placeholder="采购价格" class="addinputw" clearable /></el-form-item>
</el-col>-->
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>销售指导价</span>
<span>销售指导价</span>
</el-col>
<el-col :span="7" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="guidedPrice">{{ formobj.guidedPrice }}
@ -94,7 +94,7 @@
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>厂家合同价</span>
<span>厂家合同价</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="manufactorSettlementPrice">
@ -397,8 +397,8 @@ export default {
modelSid: [{ required: true, message: '车型不能为空', trigger: 'blur' }], // sid
configSid: [{ required: true, message: '常用配置不能为空', trigger: 'blur' }], //
purchasePrice: [{ required: true, message: '采购价格不能为空', trigger: 'blur' }], //
guidedPrice: [{ required: true, message: '销售指导价不能为空', trigger: 'blur' }], //
manufactorSettlementPrice: [{ required: true, message: '厂家合同价不能为空', trigger: 'blur' }], //
// guidedPrice: [{ required: true, message: '', trigger: 'blur' }], //
// manufactorSettlementPrice: [{ required: true, message: '', trigger: 'blur' }], //
num: [{ required: true, message: '台数不能为空', trigger: 'blur' }], //
deposit: [{ required: true, message: '订金不能为空', trigger: 'blur' }], //
// expenseName: [{ required: true, message: '', trigger: 'blur' }], //

14
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue

@ -479,8 +479,15 @@ export default {
doMaiduan() { // salesDate settlementStatus
if (this.sids.length > 0) {
for (var i = 0; i < this.multipleSelection.length; i++) {
console.log(this.multipleSelection[i].salesDate == null || this.multipleSelection[i].salesDate == '')
console.log()
if (this.multipleSelection[i].settlementStatus == '已买断') {
this.$message({
showClose: true,
message: '所选车辆存在已买断状态车辆!',
type: 'error'
})
return
}
if ((this.multipleSelection[i].salesDate == null || this.multipleSelection[i].salesDate == '') && this.multipleSelection[i].settlementStatus !== '预买断') {
this.$message({
showClose: true,
@ -489,8 +496,7 @@ export default {
})
return
}
if ((this.multipleSelection[i].salesDate == null || this.multipleSelection[i].salesDate == '') || this.multipleSelection[i].settlementStatus == '预买断') {
console.log('满足条件了?', this.multipleSelection[i].salesDate, this.multipleSelection[i].settlementStatus)
if ((this.multipleSelection[i].salesDate !== null || this.multipleSelection[i].salesDate !== '') || this.multipleSelection[i].settlementStatus == '预买断') {
this.viewState = 7
const bb = []
this.multipleSelection.forEach((element) => {

9
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMai.vue

@ -25,7 +25,7 @@
<el-row>
<el-col :span="4">
<el-form-item>
<span>买断日期</span>
<span><span class="icon">*</span>买断日期</span>
</el-form-item>
</el-col>
<el-col :span="20">
@ -38,7 +38,7 @@
<el-row>
<el-col :span="4">
<el-form-item>
<span>上传买断证明</span>
<span><span class="icon">*</span>上传买断证明</span>
</el-form-item>
</el-col>
<el-col :span="20">
@ -71,7 +71,9 @@ export default {
},
dialogFormVisible: false,
imgList: [],
rules: {}
rules: {
solidDate: [{ required: true, message: '买断日期不能为空', trigger: 'blur' }],
}
}
},
methods: {
@ -130,6 +132,7 @@ export default {
vinNo: '',
commonAppendix: []
}
this.imgList = []
this.$emit('doback')
}
}

2
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue

@ -13,7 +13,7 @@
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header">
<el-form-item label="颜色">
<el-select v-model="listQuery.params.carColorKey" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in carColor_list" :key="item.dictKey" :label="item.dictValue"

48
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingpeizhijiageweihuAdd.vue

@ -9,17 +9,27 @@
<el-col :span="6" class="tleftb">
<span>车型名称</span>
</el-col>
<el-col :span="18">
<el-col :span="6">
<el-form-item>
<span>{{ temp.vehicleAlias }}</span>
</el-form-item>
</el-col>
<el-col :span="6" class="tleftb">
<span>内部编码</span>
</el-col>
<el-col :span="6">
<el-form-item>
<el-input v-model="temp.insideCode" maxlength="125" placeholder="请输入内部编码"
class="addinputw" clearable/>
<!-- <span>{{ temp.insideCode }}</span>-->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<span>常用配置</span>
</el-col>
<el-col :span="18">
<el-col :span="18" class="tleftb_chang">
<el-form-item>
<span>{{ temp.configName }}</span>
</el-form-item>
@ -37,19 +47,23 @@
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<span>厂家结算价()</span>
<span><span class="icon">*</span>销售指导价(贷款)</span>
</el-col>
<el-col :span="6">
<el-form-item>
<el-input v-model="temp.manufactorSettlementPrice" maxlength="125" placeholder="请输入" class="addinputw" clearable/>
<el-form-item prop="manufactorSettlementPrice">
<el-input v-model="temp.manufactorSettlementPrice" maxlength="125" placeholder="请输入销售指导价(贷款)"
class="addinputw addinputw_jia" clearable/>
<span style="font-size: 16px"></span>
</el-form-item>
</el-col>
<el-col :span="6" class="tleftb">
<span>销售指导价()</span>
<span><span class="icon">*</span>销售指导价(全款)</span>
</el-col>
<el-col :span="6">
<el-form-item>
<el-input v-model="temp.guidedPrice" maxlength="125" placeholder="请输入" class="addinputw" clearable/>
<el-form-item prop="guidedPrice">
<el-input v-model="temp.guidedPrice" maxlength="125" placeholder="请输入销售指导价(全款)" class="addinputw addinputw_jia"
clearable/>
<span style="font-size: 16px"></span>
</el-form-item>
</el-col>
</el-row>
@ -75,7 +89,10 @@ export default {
manufactorSettlementPrice: '', //
guidedPrice: '' //
},
rules: {}
rules: {
manufactorSettlementPrice: [{ required: true, message: '销售指导价(贷款)不能为空', trigger: 'blur' }],
guidedPrice: [{ required: true, message: '销售指导价(全款)不能为空', trigger: 'blur' }]
}
}
},
methods: {
@ -131,7 +148,16 @@ export default {
display: flex;
justify-content: center;
}
.break_word{
word-wrap:break-word;
.break_word {
word-wrap: break-word;
}
.tleftb_chang .el-form-item /deep/ .el-form-item__content {
line-height: 20px;
}
.addinputw_jia {
margin-right: 10px;
}
</style>

32
anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue

@ -337,6 +337,13 @@ export default {
searchxianshitit: '显示查询条件',
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toQuickAdd',
btnLabel: '快速新增'
},
{
type: 'primary',
size: 'small',
@ -463,6 +470,9 @@ export default {
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toQuickAdd':
this.toQuickAdd()
break
case 'toAdd':
this.toAdd()
break
@ -730,6 +740,28 @@ export default {
}
this.getList()
},
toQuickAdd() {
if (this.sids.length === 1) {
this.viewState = 2
const sid = this.sids[0]
this.$refs['divadd'].showQuickAdd(sid)
} else if (this.sids.length > 1) {
this.$notify({
title: '提示',
message: '不能选中多个车型配置进行快速新增操作!',
type: 'info',
duration: 2000
})
} else {
this.$notify({
title: '提示',
message: '没有选择车型配置进行快速新增操作!',
type: 'error',
duration: 2000
})
return
}
},
//
toAdd() {
this.viewState = 2

231
anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhiAdd.vue

@ -79,25 +79,43 @@
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>后桥速比</span>
<span>后桥</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="rearAxleValue">
<el-select v-model="temp.rearAxleValue" placeholder="请选择" filterable clearable class="addinputw"
@change="changeRearAxleValue">
<el-option v-for="item in rearAxleValue_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<div class="span-sty">
<span>速比</span> <!-- 原后桥速比 -->
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="rearAxleRatio">
<el-select v-model="temp.rearAxleRatio" placeholder="请选择" filterable clearable class="addinputw" @change="changeRearAxleRatio">
<el-option v-for="item in rearAxleRatio_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.rearAxleRatio" placeholder="请选择" filterable clearable class="addinputw"
@change="changeRearAxleRatio">
<el-option v-for="item in rearAxleRatio_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<div class="span-sty">
<span>空调</span> <!-- 0 1-->
<span>空调</span> <!-- 0 1-->
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="airConditioner">
<el-select v-model="temp.airConditioner" placeholder="请选择" filterable clearable class="addinputw" @change="changeAirConditioner">
<el-option v-for="item in airConditioner_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.airConditioner" placeholder="请选择" filterable clearable class="addinputw"
@change="changeAirConditioner">
<el-option v-for="item in airConditioner_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
@ -113,41 +131,47 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty">
<span>导流罩</span> <!-- 0 1 -->
<span>导流罩</span> <!-- 0 1 -->
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="baffleModel">
<el-select v-model="temp.baffleModel" placeholder="请选择" filterable clearable class="addinputw" @change="changeBaffleModel">
<el-option v-for="item in baffleModel_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.baffleModel" placeholder="请选择" filterable clearable class="addinputw"
@change="changeBaffleModel">
<el-option v-for="item in baffleModel_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>悬架</span>
<span>悬架</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="2">-->
<!-- </el-col>-->
<!-- <el-col :span="2">-->
<el-form-item prop="suspension">
<el-select v-model="temp.suspension" placeholder="请选择" filterable clearable class="addinputw addinputw02" @change="changeSuspension">
<el-option v-for="item in suspension_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.suspension" placeholder="请选择" filterable clearable class="addinputw addinputw02"
@change="changeSuspension">
<el-option v-for="item in suspension_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>座椅</span>
<span>座椅</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="seat">
<el-select v-model="temp.seat" placeholder="请选择" filterable clearable class="addinputw" @change="changeSeat">
<el-option v-for="item in seat_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.seat" placeholder="请选择" filterable clearable class="addinputw"
@change="changeSeat">
<el-option v-for="item in seat_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
@ -175,41 +199,47 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty">
<span>轴距</span>
<span>轴距</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="wheelbase">
<el-select v-model="temp.wheelbase" placeholder="请选择" filterable clearable class="addinputw" @change="changeWheelbase">
<el-option v-for="item in wheelbase_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.wheelbase" placeholder="请选择" filterable clearable class="addinputw"
@change="changeWheelbase">
<el-option v-for="item in wheelbase_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>保险杠</span>
<span>保险杠</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="2">-->
<!-- </el-col>-->
<!-- <el-col :span="2">-->
<el-form-item prop="bumper">
<el-select v-model="temp.bumper" placeholder="请选择" filterable clearable class="addinputw addinputw02" @change="changeBumper">
<el-option v-for="item in bumper_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.bumper" placeholder="请选择" filterable clearable class="addinputw addinputw02"
@change="changeBumper">
<el-option v-for="item in bumper_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>配置包</span>
<span>配置包</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="configuringBao">
<el-select v-model="temp.configuringBao" placeholder="请选择" filterable clearable class="addinputw" @change="changeConfiguringBao">
<el-option v-for="item in configuringBao_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.configuringBao" placeholder="请选择" filterable clearable class="addinputw"
@change="changeConfiguringBao">
<el-option v-for="item in configuringBao_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
@ -237,30 +267,32 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty">
<span>多媒体</span>
<span>多媒体</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="multimedia">
<el-select v-model="temp.multimedia" placeholder="请选择" filterable clearable class="addinputw" @change="changeMultimedia">
<el-option v-for="item in multimedia_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.multimedia" placeholder="请选择" filterable clearable class="addinputw"
@change="changeMultimedia">
<el-option v-for="item in multimedia_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<div class="span-sty">
<!-- <span>货箱</span>-->
</div>
<!-- </el-col>-->
<!-- <el-col :span="2">-->
<!-- <el-form-item prop="packingCase">-->
<!-- <el-select v-model="temp.packingCase" placeholder="请选择" filterable clearable class="addinputw addinputw02" @change="changePackingCase">-->
<!-- <el-option v-for="item in packingCase_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-col>
<!-- <el-col :span="4">-->
<!-- <div class="span-sty">-->
<!-- <span>货箱</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="2">-->
<!-- <el-form-item prop="packingCase">-->
<!-- <el-select v-model="temp.packingCase" placeholder="请选择" filterable clearable class="addinputw addinputw02" @change="changePackingCase">-->
<!-- <el-option v-for="item in packingCase_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
<el-row>
<el-col :span="24">
@ -318,6 +350,8 @@ export default {
tireSize_list: [], //
specification_list: [], //
rearAxleRatio_list: [], //
rearAxleValue_list: [], //
ratioValue_list: [], //
airConditioner_list: [], //
hubMaterial_list: [], //
baffleModel_list: [], //
@ -358,6 +392,10 @@ export default {
packingCase: '', //
rearAxleRatio: '', //
rearAxleRatioKey: '', // key
rearAxleKey: '', // key
rearAxleValue: '', // value
ratioKey: '', // key
ratioValue: '', // value
rearViewMirror: '', //
rearViewMirrorKey: '', // key
saddle: '', //
@ -411,6 +449,20 @@ export default {
},
methods: {
// ------------------------------------------------------
showQuickAdd(row){
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.stateId = 0
this.viewTitle = '【新增】常用配置信息'
details(row.sid).then(resp => {
this.temp = resp.data
this.temp.sid = ''
console.log('1122334455',this.temp)
})
this.getType()
this.getPathSid()
},
showAdd() {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
@ -496,13 +548,22 @@ export default {
console.log('下拉框请求驾驶室', res.data)
}
})
//
//
pullDown({
type: 'rearAxle'
}).then((res) => {
if (res.code === '200') {
this.rearAxleValue_list = res.data
console.log('下拉框请求后桥', res.data)
}
})
//
pullDown({
type: 'rearAxleRatio'
}).then((res) => {
if (res.code === '200') {
this.rearAxleRatio_list = res.data
console.log('下拉框请求后桥速比', res.data)
console.log('下拉框请求速比', res.data)
}
})
//
@ -776,6 +837,40 @@ export default {
this.temp.rearAxleRatioKey = bb.key
console.log('name', this.temp.rearAxleRatio)
},
changeRearAxleValue(value){
console.log('触发下拉框按钮')
let bb = null
this.rearAxleValue_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.temp.rearAxleValue = bb.name
this.temp.rearAxleKey = bb.key
console.log('name', this.temp.rearAxleValue)
},
changeRatioValue(value){
console.log('触发下拉框按钮')
let bb = null
this.ratioValue_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.temp.ratioValue = bb.name
this.temp.ratioKey = bb.key
console.log('name', this.temp.ratioValue)
},
changeAirConditioner(value) {
console.log('触发下拉框按钮')
let bb = null

100
anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhiInfo.vue

@ -17,7 +17,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="carColor">
<span class="addinputInfo">{{ temp.carColor }}</span>
<span class="">{{ temp.carColor }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -27,7 +27,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="slowMachine">
<span class="addinputInfo">{{ temp.slowMachine }}</span>
<span class="">{{ temp.slowMachine }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -37,7 +37,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="rearViewMirror">
<span class="addinputInfo">{{ temp.rearViewMirror }}</span>
<span class="">{{ temp.rearViewMirror }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -47,7 +47,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="tireSize">
<span class="addinputInfo">{{ temp.tireSize }}</span>
<span class="">{{ temp.tireSize }}</span>
</el-form-item>
</el-col>
<el-col :span="4">
@ -57,19 +57,29 @@
<!-- </el-col>-->
<!-- <el-col :span="2" class="tleftb">-->
<el-form-item prop="specification">
<span class="addinputInfo">{{ temp.specification }}</span>
<span class="">{{ temp.specification }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>后桥速比</span>
<span>后桥</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="rearAxleValue">
<span class="">{{ temp.rearAxleValue }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<div class="span-sty">
<span>速比</span> <!-- 原后桥速比 -->
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="rearAxleRatio">
<span class="addinputInfo">{{ temp.rearAxleRatio }}</span>
<span class="">{{ temp.rearAxleRatio }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -79,7 +89,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="airConditioner">
<span class="addinputInfo">{{ temp.airConditioner }}</span>
<span class="">{{ temp.airConditioner }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -89,31 +99,31 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="hubMaterial">
<span class="addinputInfo">{{ temp.hubMaterial }}</span>
<span class="">{{ temp.hubMaterial }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty">
<span>导流罩</span> <!-- 0 1 -->
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="baffleModel">
<span class="addinputInfo">{{ temp.baffleModel }}</span>
<span class="">{{ temp.baffleModel }}</span>
</el-form-item>
</el-col>
<el-col :span="4">
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>悬架</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="2" class="tleftb">-->
<el-form-item prop="suspension">
<span class="addinputInfo">{{ temp.suspension }}</span>
<span class="">{{ temp.suspension }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>座椅</span>
@ -121,7 +131,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="seat">
<span class="addinputInfo">{{ temp.seat }}</span>
<span class="">{{ temp.seat }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -131,7 +141,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="tireCover">
<span class="addinputInfo">{{ temp.tireCover }}</span>
<span class="">{{ temp.tireCover }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -141,31 +151,32 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="saddle">
<span class="addinputInfo">{{ temp.saddle }}</span>
<span class="">{{ temp.saddle }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty">
<span>轴距</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="wheelbase">
<span class="addinputInfo">{{ temp.wheelbase }}</span>
<span class="">{{ temp.wheelbase }}</span>
</el-form-item>
</el-col>
<el-col :span="4">
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>保险杠</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="2" class="tleftb">-->
<el-form-item prop="bumper">
<span class="addinputInfo">{{ temp.bumper }}</span>
<span class="">{{ temp.bumper }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<div class="span-sty">
<span>配置包</span>
@ -173,7 +184,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="configuringBao">
<span class="addinputInfo">{{ temp.configuringBao }}</span>
<span class="">{{ temp.configuringBao }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -183,7 +194,7 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="independentSources">
<span class="addinputInfo">{{ temp.independentSources }}</span>
<span class="">{{ temp.independentSources }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
@ -193,29 +204,29 @@
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="fuelTank">
<span class="addinputInfo">{{ temp.fuelTank }}</span>
<span class="">{{ temp.fuelTank }}</span>
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="4">
<div class="span-sty">
<span>多媒体</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="3">-->
<el-form-item prop="multimedia">
<span class="addinputInfo">{{ temp.multimedia }}</span>
<el-form-item prop="multimedia" class="multimedia_sty">
<span>{{ temp.multimedia }}</span>
</el-form-item>
</el-col>
<el-col :span="4">
<div class="span-sty">
<!-- <span>货箱</span>-->
</div>
<!-- </el-col>-->
<!-- <el-col :span="2" class="tleftb">-->
<!-- <el-form-item prop="packingCase">-->
<!-- <span class="addinputInfo">{{ temp.packingCase }}</span>-->
<!-- </el-form-item>-->
</el-col>
<!-- <el-col :span="4">-->
<!-- <div class="span-sty">-->
<!-- <span>货箱</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="2" class="tleftb">-->
<!-- <el-form-item prop="packingCase">-->
<!-- <span class="">{{ temp.packingCase }}</span>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
<el-row>
<el-col :span="24">
@ -225,7 +236,7 @@
<!-- </el-col>-->
<!-- <el-col :span="22">-->
<el-form-item prop="otherConfig">
<span class="addinputInfo">{{ temp.otherConfig }}</span>
<span class="">{{ temp.otherConfig }}</span>
</el-form-item>
</el-col>
</el-row>
@ -279,10 +290,15 @@ export default {
line-height: 40px !important;
font-weight: 600;
}
.tleftb {
text-align: left;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputInfo{
.formaddcopy02 .el-row .el-col /deep/ .el-form-item {
margin-left: 65px;
}
.formaddcopy02 .el-row .el-col .multimedia_sty /deep/ .el-form-item__content{
line-height: 20px;
}
</style>

61
anrui-scm/anrui-scm-ui/src/views/workFlow/caigoutuikuFlow/caigoutuiku.vue

@ -252,48 +252,25 @@ export default {
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
this.linkByParameter.money = this.formobj.money
if (this.formobj.money !== '0' && this.formobj.money !== '' && this.formobj.money !== null) {
req.companyToDivisionOperate(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
} else {
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {

46
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/inspection/AppScmVehiclePatrolinVo.java

@ -0,0 +1,46 @@
package com.yxt.anrui.terminal.api.supplychain.inspection;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/8/6 16:45
* @Description
*/
@Data
public class AppScmVehiclePatrolinVo implements Vo {
private static final long serialVersionUID = 6432538949747322376L;
@ApiModelProperty("车架号")
@JsonProperty("vin")
private String mainSid;
@ApiModelProperty("车型")
@JsonProperty("model")
private String model;
@ApiModelProperty("巡检日期")
@JsonProperty("date")
private String patrolInspectionDate;
@ApiModelProperty("巡检人员")
@JsonProperty("name")
private String patrolInspectionName;
@ApiModelProperty("存放地地点")
@JsonProperty("warehouse")
private String location;
@ApiModelProperty("巡检情况说明")
@JsonProperty("explain")
private String situationExplain;
@ApiModelProperty("存在的问题及处理结果")
@JsonProperty("result")
private String problemsAndResults;
@ApiModelProperty("相关附件")
private List<String> images;
}

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/inspection/AppScmVehiclePatrolinspectionFeign.java

@ -83,4 +83,9 @@ public interface AppScmVehiclePatrolinspectionFeign {
@PostMapping("/submitInspection")
@ResponseBody
public ResultBean submitInspection(@RequestBody PatrolinspectionDto dto);
@ApiOperation("手机端-巡检详情")
@GetMapping("/getInspectionInfo/{recordSid}")
@ResponseBody
public ResultBean<AppScmVehiclePatrolinVo> getInspectionInfo(@PathVariable("recordSid") String recordSid);
}

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/inspection/AppScmVehiclePatrolinspectionFeignFallback.java

@ -76,4 +76,9 @@ public class AppScmVehiclePatrolinspectionFeignFallback implements AppScmVehicle
public ResultBean submitInspection(PatrolinspectionDto dto) {
return null;
}
@Override
public ResultBean<AppScmVehiclePatrolinVo> getInspectionInfo(String recordSid) {
return null;
}
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehicleexamine/AppScmVehicleExamineFeign.java

@ -9,8 +9,6 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* Project: scm(scm) <br/>
* File: ScmVehicleExamineFeign.java <br/>
@ -45,7 +43,7 @@ public interface AppScmVehicleExamineFeign {
@ApiOperation("手机端-保存验车单")
@PostMapping("/saveCarInspectedInfo")
@ResponseBody
public ResultBean saveCarInspectedInfo(@Valid @RequestBody AppExamineDto dto);
public ResultBean saveCarInspectedInfo(@RequestBody AppExamineDto dto);
@ApiOperation("手机端-通过验车单")
@PostMapping("/submitCarInspectedInfo")

6
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java

@ -1,8 +1,8 @@
package com.yxt.anrui.terminal;
import org.minbox.framework.logging.spring.context.annotation.client.EnableLoggingClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients;
@ -10,8 +10,10 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @author dimengzhe
*/
@EnableLoggingClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.anrui.terminal"
"com.yxt.anrui.terminal",
"com.yxt.common.base.config"
},exclude = {DataSourceAutoConfiguration.class})
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin",})
public class TerminalApplication {

12
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/inspection/AppScmVehiclePatrolinspectionRest.java

@ -25,19 +25,14 @@
*********************************************************/
package com.yxt.anrui.terminal.biz.supplychain.inspection;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspection.*;
import com.yxt.anrui.terminal.api.supplychain.inspection.*;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
/**
@ -90,4 +85,9 @@ public class AppScmVehiclePatrolinspectionRest implements AppScmVehiclePatrolins
public ResultBean submitInspection(PatrolinspectionDto dto) {
return appScmVehiclePatrolinspectionService.submitInspection(dto);
}
@Override
public ResultBean<AppScmVehiclePatrolinVo> getInspectionInfo(String recordSid) {
return appScmVehiclePatrolinspectionService.getInspectionInfo(recordSid);
}
}

28
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/inspection/AppScmVehiclePatrolinspectionService.java

@ -26,33 +26,23 @@
package com.yxt.anrui.terminal.biz.supplychain.inspection;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.scm.api.scmvehicleenterlibrary.AppScmVehicleEnterlibraryInfoVo;
import com.yxt.anrui.scm.api.scmvehicleenterlibrary.AppScmVehicleEnterlibraryPageQuery;
import com.yxt.anrui.scm.api.scmvehicleinventory.ScmVehicleInventoryFeign;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspection.*;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspection.AppScmVehiclePatroVo;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspection.AppScmVehiclePatrolinspectionPageQuery;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspection.AppScmVehiclePatrolinspectionPageVo;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspection.ScmVehiclePatrolinspectionFeign;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspectionsheet.AppScmVehiclePatrolinspectionsheetInfoVo;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspectionsheet.ScmVehiclePatrolinspectionsheetDto;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspectionsheet.ScmVehiclePatrolinspectionsheetFeign;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspectionsheet.ScmVehiclePatrolinspectionsheetVo;
import com.yxt.anrui.scm.api.scmvehiclestaypatrolinspection.AppScmVehicleStayPatrolinspectionPageQuery;
import com.yxt.anrui.scm.api.scmvehiclestaypatrolinspection.AppScmVehicleStayPatrolinspectionPageVo;
import com.yxt.anrui.scm.api.scmvehiclestaypatrolinspection.ScmVehicleStayPatrolinspectionFeign;
import com.yxt.anrui.terminal.api.supplychain.inspection.*;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleenterlibrary.AppEnterlibraryInfoVo;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleenterlibrary.AppEnterlibraryPageVo;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Project: anrui_scm(anrui_scm) <br/>
@ -132,4 +122,14 @@ public class AppScmVehiclePatrolinspectionService {
return resultBean;
}
public ResultBean<AppScmVehiclePatrolinVo> getInspectionInfo(String recordSid) {
ResultBean<AppScmVehiclePatrolinVo> rb = ResultBean.fireFail();
AppScmVehiclePatrolinVo vo = new AppScmVehiclePatrolinVo();
ResultBean<AppScmVehiclePatroVo> getInspectionInfo = scmVehiclePatrolinspectionFeign.getInspectionInfo(recordSid);
if(!getInspectionInfo.getSuccess()){
return rb.setMsg(getInspectionInfo.getMsg());
}
BeanUtil.copyProperties(getInspectionInfo.getData(),vo);
return rb.success().setData(vo);
}
}

7
anrui-terminal/anrui-terminal-biz/src/main/resources/application.yml

@ -39,6 +39,13 @@ ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true

13
anrui-terminal/anrui-terminal-biz/src/main/resources/banner.txt

@ -0,0 +1,13 @@
,----.. ____
/ / \ ,' , `.
| : : ,---. ,-+-,.' _ | ,---. ,---,
. | ;. / ' ,'\ ,-+-. ; , || ' ,'\ ,-+-. / |
. ; /--` / / | ,--.'|' | || ,---. / / | ,--.'|' |
; | ; . ; ,. :| | ,', | |,/ \ . ; ,. :| | ,"' |
| : | ' | |: :| | / | |--'/ / | ' | |: :| | / | |
. | '___' | .; :| : | | , . ' / | ' | .; :| | | | |
' ; : .'| : || : | |/ ' ; /| | : || | | |/
' | '/ :\ \ / | | |`-' ' | / | \ \ / | | |--'
| : / `----' | ;/ | : | `----' | |/
\ \ .' '---' \ \ / '---'
`---` `----'

113
anrui-terminal/anrui-terminal-biz/src/main/resources/logback-spring.xml

@ -1,50 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/anrui_terminal" />
<configuration scan="true">
<!-- 从application.yml 中注入变量 -->
<property name="LOG_PATH" value="./logs"/>
<property name="APPDIR" value="terminal"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)</pattern>
<!-- <charset>GBK</charset>-->
</encoder>
</appender>
<!-- error级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- warn级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<!-- info级别日志文件输出,按日期时间滚动记录输出 -->
<appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${APPDIR}/log_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n</Pattern>
<!--<charset>UTF-8</charset> -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
</encoder>
</appender>
<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
<!-- <logger name="jdbc.connection" level="OFF"/>-->
<!-- <logger name="jdbc.resultset" level="OFF"/>-->
<!-- <logger name="jdbc.resultsettable" level="OFF"/>-->
<!-- <logger name="jdbc.audit" level="OFF"/>-->
<!-- <logger name="jdbc.sqltiming" level="OFF"/>-->
<!-- <logger name="jdbc.sqlonly" level="INFO"/>-->
<!--设置为OFF,即屏蔽-->
<logger name="org.minbox.framework.logging.client.admin.report.support.LoggingAdminReportSupport" level="OFF"/>
<!--设置日志打印级别为INFO-->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILEOUT" />
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEINFO"/>
<appender-ref ref="FILEWARN"/>
<appender-ref ref="FILEERROR"/>
</root>
</configuration>

436
pom.xml

@ -18,10 +18,444 @@
<module>anrui-riskcenter</module>
<module>anrui-base</module>
<module>anrui-scm</module>
<module>anrui-management</module>
<module>anrui-fin</module>
<module>anrui-terminal</module>
</modules>
<packaging>pom</packaging>
<properties>
<!-- 使用的JAVA版本号 -->
<java.version>1.8</java.version>
<!-- 项目构建编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 项目输出编码 -->
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!-- Spring相关组件 -->
<!-- SpringBoot 依赖配置 -->
<spring-boot.version>2.2.9.RELEASE</spring-boot.version>
<!-- SpringCloud 微服务 -->
<spring-cloud.version>Hoxton.SR6</spring-cloud.version>
<!-- SpringCloud Alibaba 微服务 -->
<spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
<!-- springboot管理界面
<spring-boot-admin.version>2.2.3</spring-boot-admin.version>-->
<!-- nacos客户端 -->
<nacos.version>1.3.0</nacos.version>
<!-- 公共的基础组件 -->
<!-- io常用工具类 -->
<commons.io.version>2.5</commons.io.version>
<commons-codec.version>1.14</commons-codec.version>
<!--Bean工具 -->
<commons.beanutils.version>1.9.3</commons.beanutils.version>
<!-- 线程池工具 -->
<common-pool.version>2.6.2</common-pool.version>
<!-- mybatis,mybatis-plus已经引用
<spring-boot.mybatis>2.1.2</spring-boot.mybatis>-->
<!-- mybatis-plus -->
<mybatis-plus.version>3.4.0</mybatis-plus.version>
<!-- JSON 解析器和生成器 -->
<fastjson.version>1.2.73</fastjson.version>
<!--Token生成与解析 -->
<jjwt.version>0.9.1</jjwt.version>
<!-- 辅助组件 -->
<!-- Swagger 依赖配置 -->
<swagger.fox.version>2.9.2</swagger.fox.version>
<knife4j-Swagger>2.0.5</knife4j-Swagger>
<!-- <knife4j-Swagger>3.0.3</knife4j-Swagger>-->
<!-- excel工具 -->
<poi.version>3.17</poi.version>
<!-- 验证码 -->
<kaptcha.version>2.3.2</kaptcha.version>
<!-- 解析客户端操作系统、浏览器等 -->
<bitwalker.version>1.19</bitwalker.version>
<!-- velocity模板引擎 -->
<velocity.version>1.7</velocity.version>
<!-- Hutool组件 -->
<hutool.version>5.4.0</hutool.version>
<hibernate-validator.version>6.0.20.Final</hibernate-validator.version>
<lombok.version>1.18.12</lombok.version>
<jedis.version>3.1.0</jedis.version>
<java-jwt.version>3.10.1</java-jwt.version>
<redis.version>2.2.9.RELEASE</redis.version>
<poi-tl.version>1.8.1</poi-tl.version>
<poi.version>4.1.2</poi.version>
<flowable.version>6.5.0</flowable.version>
</properties>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<!-- SpringBoot 依赖配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringCloud 微服务 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringCloud Alibaba 微服务 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Alibaba Nacos 配置 -->
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>${nacos.version}</version>
</dependency>
<!--Redis配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>${redis.version}</version>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>${java-jwt.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
<!-- io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec.version}</version>
</dependency>
<!--Bean工具 -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>${commons.beanutils.version}</version>
</dependency>
<!-- 公共资源池 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>${common-pool.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- JSON 解析器和生成器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!--Token生成与解析 -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency>
<!-- Swagger 依赖配置 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-dependencies</artifactId>
<version>${knife4j-Swagger}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- <dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-ui</artifactId>
<version>${knife4j-Swagger}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-micro-spring-boot-starter</artifactId>
<version>${knife4j-Swagger}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j-Swagger}</version>
</dependency>-->
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!-- 验证码 -->
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
</dependency>
<!-- 代码生成使用模板 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>${velocity.version}</version>
</dependency>
<!-- hutool所有模块 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 核心,包括Bean操作、日期、各种Util等 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 基于HttpUrlConnection的Http客户端封装 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-http</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 加密解密模块,提供对称、非对称和摘要算法封装 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-crypto</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 简单缓存实现 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-cache</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 图片验证码实现 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-captcha</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 针对POI中Excel和Word的封装 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-poi</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool JSON实现 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-json</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 定时任务模块,提供类Crontab表达式的定时任务 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-cron</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 系统参数调用封装(JVM信息等) -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-system</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 功能更强大的Setting配置文件和Properties封装 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-setting</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等) -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-extra</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool JDK动态代理封装,提供非IOC下的切面支持 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-aop</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 布隆过滤,提供一些Hash算法的布隆过滤 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-bloomFilter</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool JDBC封装后的数据操作,基于ActiveRecord思想 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-db</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 自动识别日志实现的日志门面 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-log</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 基于Java的NIO和AIO的Socket封装 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-socket</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 基于DFA模型的多关键字查找 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-dfa</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- hutool 脚本执行封装,例如Javascript -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-script</artifactId>
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate-validator.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>${lombok.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.deepoove/poi-tl -->
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>${poi-tl.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<!--flowable组件-->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-engine</artifactId>
<version>${flowable.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter-basic</artifactId>
<version>${flowable.version}</version>
<exclusions><!-- 需要排除flowable的mybatis依赖,不然会跟mybatis-plus冲突 -->
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
</dependencies>
<repositories>
<repository>
<id>aliyun-central</id>
<url>https://maven.aliyun.com/repository/central</url>
</repository>
<repository>
<id>aliyun-public</id>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
<repository>
<id>aliyun-google</id>
<url>https://maven.aliyun.com/repository/google</url>
</repository>
<repository>
<id>aliyun-spring</id>
<url>https://maven.aliyun.com/repository/spring</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>aliyun-central</id>
<url>https://maven.aliyun.com/repository/central</url>
</pluginRepository>
<pluginRepository>
<id>aliyun-public</id>
<url>https://maven.aliyun.com/repository/public</url>
</pluginRepository>
<pluginRepository>
<id>aliyun-google</id>
<url>https://maven.aliyun.com/repository/google</url>
</pluginRepository>
<pluginRepository>
<id>aliyun-spring</id>
<url>https://maven.aliyun.com/repository/spring</url>
</pluginRepository>
</pluginRepositories>
</project>
Loading…
Cancel
Save