Compare commits
2 Commits
df9601da10
...
b799dee5eb
Author | SHA1 | Date |
---|---|---|
JIAL | b799dee5eb | |
JIAL | aa9564591b |
140
logs/JIAL-ss.log
140
logs/JIAL-ss.log
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,694 @@
|
||||||
|
2024-02-24 09:07:24.370 INFO 2544 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 2544 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 09:07:24.370 INFO 2544 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 09:07:27.010 WARN 2544 --- [Druid-ConnectionPool-Create-970900790] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 09:07:28.400 INFO 2544 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 09:07:28.400 INFO 2544 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 09:07:28.556 WARN 2544 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 09:07:28.791 INFO 2544 --- [main] com.JN.JNApplication : Started JNApplication in 4.875 seconds (JVM running for 5.855)
|
||||||
|
2024-02-24 09:07:28.806 INFO 2544 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 09:21:05.533 WARN 2544 --- [RMI TCP Accept-0] sun.rmi.transport.tcp : RMI TCP Accept-0: accept loop for ServerSocket[addr=0.0.0.0/0.0.0.0,localport=50752] throws
|
||||||
|
|
||||||
|
java.io.IOException: The server sockets created using the LocalRMIServerSocketFactory only accept connections from clients running on the host where the RMI remote objects have been exported.
|
||||||
|
at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:114)
|
||||||
|
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:405)
|
||||||
|
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:377)
|
||||||
|
at java.lang.Thread.run(Thread.java:748)
|
||||||
|
|
||||||
|
2024-02-24 09:26:47.900 INFO 4576 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 4576 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 09:26:47.900 INFO 4576 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 09:26:49.852 WARN 4576 --- [Druid-ConnectionPool-Create-1021082377] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 09:26:51.024 INFO 4576 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 09:26:51.024 INFO 4576 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 09:26:51.149 WARN 4576 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 09:26:51.383 INFO 4576 --- [main] com.JN.JNApplication : Started JNApplication in 3.917 seconds (JVM running for 5.001)
|
||||||
|
2024-02-24 09:26:51.415 INFO 4576 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 11:05:56.105 INFO 12856 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 12856 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 11:05:56.108 INFO 12856 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 11:05:56.351 WARN 12856 --- [main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.JN.JNApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'ZMController' for bean class [com.JN.demo.zmquotation.controller.ZMController] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.controller.ZMController]
|
||||||
|
2024-02-24 11:05:56.383 ERROR 12856 --- [main] o.s.boot.SpringApplication : Application run failed
|
||||||
|
|
||||||
|
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.JN.JNApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'ZMController' for bean class [com.JN.demo.zmquotation.controller.ZMController] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.controller.ZMController]
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:189)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
|
||||||
|
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
|
||||||
|
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
|
||||||
|
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
|
||||||
|
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
|
||||||
|
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144)
|
||||||
|
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:782)
|
||||||
|
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:774)
|
||||||
|
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:339)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1340)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329)
|
||||||
|
at com.JN.JNApplication.main(JNApplication.java:15)
|
||||||
|
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'ZMController' for bean class [com.JN.demo.zmquotation.controller.ZMController] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.controller.ZMController]
|
||||||
|
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:349)
|
||||||
|
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:287)
|
||||||
|
at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:296)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:250)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:207)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:175)
|
||||||
|
... 14 common frames omitted
|
||||||
|
|
||||||
|
2024-02-24 11:07:31.546 INFO 11700 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 11700 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 11:07:31.549 INFO 11700 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 11:07:31.781 WARN 11700 --- [main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.JN.JNApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'ZMController' for bean class [com.JN.demo.zmquotation.controller.ZMController] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.controller.ZMController]
|
||||||
|
2024-02-24 11:07:31.813 ERROR 11700 --- [main] o.s.boot.SpringApplication : Application run failed
|
||||||
|
|
||||||
|
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.JN.JNApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'ZMController' for bean class [com.JN.demo.zmquotation.controller.ZMController] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.controller.ZMController]
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:189)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
|
||||||
|
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
|
||||||
|
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
|
||||||
|
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
|
||||||
|
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
|
||||||
|
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144)
|
||||||
|
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:782)
|
||||||
|
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:774)
|
||||||
|
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:339)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1340)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329)
|
||||||
|
at com.JN.JNApplication.main(JNApplication.java:15)
|
||||||
|
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'ZMController' for bean class [com.JN.demo.zmquotation.controller.ZMController] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.controller.ZMController]
|
||||||
|
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:349)
|
||||||
|
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:287)
|
||||||
|
at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:296)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:250)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:207)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:175)
|
||||||
|
... 14 common frames omitted
|
||||||
|
|
||||||
|
2024-02-24 11:08:51.104 INFO 10484 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 10484 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 11:08:51.107 INFO 10484 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 11:08:51.368 WARN 10484 --- [main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.JN.JNApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'inventoryServiceImpl' for bean class [com.JN.demo.zmquotation.service.impl.InventoryServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.service.impl.InventoryServiceImpl]
|
||||||
|
2024-02-24 11:08:51.397 ERROR 10484 --- [main] o.s.boot.SpringApplication : Application run failed
|
||||||
|
|
||||||
|
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.JN.JNApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'inventoryServiceImpl' for bean class [com.JN.demo.zmquotation.service.impl.InventoryServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.service.impl.InventoryServiceImpl]
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:189)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
|
||||||
|
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
|
||||||
|
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
|
||||||
|
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
|
||||||
|
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
|
||||||
|
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144)
|
||||||
|
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:782)
|
||||||
|
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:774)
|
||||||
|
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:339)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1340)
|
||||||
|
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329)
|
||||||
|
at com.JN.JNApplication.main(JNApplication.java:15)
|
||||||
|
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'inventoryServiceImpl' for bean class [com.JN.demo.zmquotation.service.impl.InventoryServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.JN.demo.jnzmquatation.service.impl.InventoryServiceImpl]
|
||||||
|
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:349)
|
||||||
|
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:287)
|
||||||
|
at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:296)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:250)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:207)
|
||||||
|
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:175)
|
||||||
|
... 14 common frames omitted
|
||||||
|
|
||||||
|
2024-02-24 11:13:02.137 INFO 4608 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 4608 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 11:13:02.139 INFO 4608 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 11:13:04.284 WARN 4608 --- [Druid-ConnectionPool-Create-388005723] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 11:13:05.566 INFO 4608 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 11:13:05.573 INFO 4608 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 11:13:05.711 WARN 4608 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 11:13:05.961 INFO 4608 --- [main] com.JN.JNApplication : Started JNApplication in 4.27 seconds (JVM running for 5.18)
|
||||||
|
2024-02-24 11:13:05.968 INFO 4608 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 11:13:12.258 INFO 4608 --- [http-nio-3333-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/ZM
|
||||||
|
2024-02-24 11:13:12.259 INFO 4608 --- [http-nio-3333-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/ZM不需要处理
|
||||||
|
2024-02-24 11:13:12.541 INFO 4608 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/zmquotation/css/index.css
|
||||||
|
2024-02-24 11:13:12.541 INFO 4608 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/static/zmquotation/css/index.css不需要处理
|
||||||
|
2024-02-24 11:13:12.573 INFO 4608 --- [http-nio-3333-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/zmquotation/js/index.js
|
||||||
|
2024-02-24 11:13:12.574 INFO 4608 --- [http-nio-3333-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/zmquotation/js/index.js不需要处理
|
||||||
|
2024-02-24 11:13:12.821 INFO 4608 --- [http-nio-3333-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/inventoryList
|
||||||
|
2024-02-24 11:13:12.821 INFO 4608 --- [http-nio-3333-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/inventoryList不需要处理
|
||||||
|
2024-02-24 11:13:20.355 INFO 4608 --- [http-nio-3333-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/materialList
|
||||||
|
2024-02-24 11:13:20.355 INFO 4608 --- [http-nio-3333-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/materialList不需要处理
|
||||||
|
2024-02-24 11:14:25.099 INFO 3312 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 3312 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 11:14:25.101 INFO 3312 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 11:14:27.274 WARN 3312 --- [Druid-ConnectionPool-Create-1021082377] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 11:14:28.772 INFO 3312 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 11:14:28.779 INFO 3312 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 11:14:28.919 WARN 3312 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 11:14:29.172 INFO 3312 --- [main] com.JN.JNApplication : Started JNApplication in 4.493 seconds (JVM running for 5.398)
|
||||||
|
2024-02-24 11:14:29.180 INFO 3312 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 12:33:40.710 INFO 14952 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 14952 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 12:33:40.713 INFO 14952 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 12:33:42.819 WARN 14952 --- [Druid-ConnectionPool-Create-925913781] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 12:33:44.092 INFO 14952 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 12:33:44.099 INFO 14952 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 12:33:44.235 WARN 14952 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 12:33:44.490 INFO 14952 --- [main] com.JN.JNApplication : Started JNApplication in 4.191 seconds (JVM running for 5.082)
|
||||||
|
2024-02-24 12:33:44.496 INFO 14952 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 12:35:26.978 INFO 14952 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/materialList
|
||||||
|
2024-02-24 12:35:26.979 INFO 14952 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/materialList不需要处理
|
||||||
|
2024-02-24 12:35:27.038 WARN 14952 --- [Druid-ConnectionPool-Create-925913781] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 12:35:27.132 ERROR 14952 --- [http-nio-3333-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.exceptions.PersistenceException:
|
||||||
|
### Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 'LIMIT' 附近有语法错误。
|
||||||
|
### The error may exist in com/JN/demo/zmquotation/mapper/MaterialMapper.java (best guess)
|
||||||
|
### The error may involve com.JN.demo.zmquotation.mapper.MaterialMapper.queryMaterialListByParam-Inline
|
||||||
|
### The error occurred while setting parameters
|
||||||
|
### SQL: SELECT [cb_name] as material_name ,[cb_cj] as factory_price ,[cb_cbj] as cost_price ,[cb_zl] as net_volume ,[cb_gspj] as inventory ,[cbpj_zl] as weigh_inv ,[CB_bz] as standard ,[cb_xx] as model ,[cb_gg] as specification ,[cb_dy] as voltage ,[cb_cljg] as mat_price ,[tdtjg] as total_copper_consume ,[ldtjg] as total_aluminum_consume ,[rgsdf] as total_l_h_cost ,[cb_zqf]as steam_fee FROM [zm_erp2].[dbo].[view_cb_material] WHERE [cb_name] like '%' and [cb_name] like '%kvv%' and [cb_gg] like '%%' LIMIT ?, ?
|
||||||
|
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 'LIMIT' 附近有语法错误。] with root cause
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 'LIMIT' 附近有语法错误。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:265)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1662)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:615)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:537)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7417)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3488)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:262)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:515)
|
||||||
|
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)
|
||||||
|
at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
|
||||||
|
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
|
||||||
|
at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)
|
||||||
|
at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
|
||||||
|
at com.sun.proxy.$Proxy106.execute(Unknown Source)
|
||||||
|
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
|
||||||
|
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
|
||||||
|
at com.sun.proxy.$Proxy104.query(Unknown Source)
|
||||||
|
at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)
|
||||||
|
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
|
||||||
|
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
|
||||||
|
at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)
|
||||||
|
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
|
||||||
|
at com.sun.proxy.$Proxy103.query(Unknown Source)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
|
||||||
|
at com.github.yulichang.interceptor.MPJInterceptor.intercept(MPJInterceptor.java:98)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
|
||||||
|
at com.sun.proxy.$Proxy103.query(Unknown Source)
|
||||||
|
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
|
||||||
|
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
|
||||||
|
at com.sun.proxy.$Proxy78.selectList(Unknown Source)
|
||||||
|
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
|
||||||
|
at com.sun.proxy.$Proxy91.queryMaterialListByParam(Unknown Source)
|
||||||
|
at com.JN.demo.zmquotation.service.impl.MaterialServiceImpl.queryMaterialListByParam(MaterialServiceImpl.java:36)
|
||||||
|
at com.JN.demo.zmquotation.controller.ZMController.queryMaterialList(ZMController.java:75)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
|
||||||
|
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
|
||||||
|
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
|
||||||
|
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)
|
||||||
|
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
|
||||||
|
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
|
||||||
|
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at com.JN.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:48)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
|
||||||
|
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
|
||||||
|
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
|
||||||
|
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
|
||||||
|
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
|
||||||
|
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
|
||||||
|
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
|
||||||
|
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
|
||||||
|
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
|
||||||
|
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
|
||||||
|
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
|
||||||
|
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
|
||||||
|
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
|
||||||
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
|
||||||
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
|
||||||
|
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
|
||||||
|
at java.lang.Thread.run(Thread.java:748)
|
||||||
|
|
||||||
|
2024-02-24 12:39:41.638 INFO 4764 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 4764 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 12:39:41.640 INFO 4764 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 12:39:43.682 WARN 4764 --- [Druid-ConnectionPool-Create-1999639763] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 12:39:44.874 INFO 4764 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 12:39:44.881 INFO 4764 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 12:39:45.008 WARN 4764 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 12:39:45.248 INFO 4764 --- [main] com.JN.JNApplication : Started JNApplication in 4.044 seconds (JVM running for 5.119)
|
||||||
|
2024-02-24 12:39:45.254 INFO 4764 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 12:39:49.467 INFO 4764 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/materialList
|
||||||
|
2024-02-24 12:39:49.468 INFO 4764 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/materialList不需要处理
|
||||||
|
2024-02-24 12:39:49.610 ERROR 4764 --- [http-nio-3333-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.exceptions.PersistenceException:
|
||||||
|
### Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 'OFFSET' 附近有语法错误。
|
||||||
|
### The error may exist in com/JN/demo/zmquotation/mapper/MaterialMapper.java (best guess)
|
||||||
|
### The error may involve com.JN.demo.zmquotation.mapper.MaterialMapper.queryMaterialListByParam-Inline
|
||||||
|
### The error occurred while setting parameters
|
||||||
|
### SQL: SELECT [cb_name] as material_name ,[cb_cj] as factory_price ,[cb_cbj] as cost_price ,[cb_zl] as net_volume ,[cb_gspj] as inventory ,[cbpj_zl] as weigh_inv ,[CB_bz] as standard ,[cb_xx] as model ,[cb_gg] as specification ,[cb_dy] as voltage ,[cb_cljg] as mat_price ,[tdtjg] as total_copper_consume ,[ldtjg] as total_aluminum_consume ,[rgsdf] as total_l_h_cost ,[cb_zqf]as steam_fee FROM [zm_erp2].[dbo].[view_cb_material] WHERE [cb_name] like '%' and [cb_name] like '%kvv%' and [cb_gg] like '%%' OFFSET ? ROWS FETCH NEXT ? ROWS ONLY
|
||||||
|
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 'OFFSET' 附近有语法错误。] with root cause
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 'OFFSET' 附近有语法错误。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:265)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1662)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:615)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:537)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7417)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3488)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:262)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:515)
|
||||||
|
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)
|
||||||
|
at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
|
||||||
|
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
|
||||||
|
at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)
|
||||||
|
at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
|
||||||
|
at com.sun.proxy.$Proxy106.execute(Unknown Source)
|
||||||
|
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
|
||||||
|
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
|
||||||
|
at com.sun.proxy.$Proxy104.query(Unknown Source)
|
||||||
|
at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)
|
||||||
|
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
|
||||||
|
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
|
||||||
|
at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)
|
||||||
|
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
|
||||||
|
at com.sun.proxy.$Proxy103.query(Unknown Source)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
|
||||||
|
at com.github.yulichang.interceptor.MPJInterceptor.intercept(MPJInterceptor.java:98)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
|
||||||
|
at com.sun.proxy.$Proxy103.query(Unknown Source)
|
||||||
|
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
|
||||||
|
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
|
||||||
|
at com.sun.proxy.$Proxy78.selectList(Unknown Source)
|
||||||
|
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
|
||||||
|
at com.sun.proxy.$Proxy91.queryMaterialListByParam(Unknown Source)
|
||||||
|
at com.JN.demo.zmquotation.service.impl.MaterialServiceImpl.queryMaterialListByParam(MaterialServiceImpl.java:36)
|
||||||
|
at com.JN.demo.zmquotation.controller.ZMController.queryMaterialList(ZMController.java:75)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
|
||||||
|
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
|
||||||
|
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
|
||||||
|
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)
|
||||||
|
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
|
||||||
|
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
|
||||||
|
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at com.JN.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:48)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
|
||||||
|
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
|
||||||
|
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
|
||||||
|
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
|
||||||
|
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
|
||||||
|
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
|
||||||
|
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
|
||||||
|
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
|
||||||
|
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
|
||||||
|
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
|
||||||
|
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
|
||||||
|
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
|
||||||
|
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
|
||||||
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
|
||||||
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
|
||||||
|
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
|
||||||
|
at java.lang.Thread.run(Thread.java:748)
|
||||||
|
|
||||||
|
2024-02-24 12:41:06.567 INFO 3524 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 3524 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 12:41:06.585 INFO 3524 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 12:41:08.804 WARN 3524 --- [Druid-ConnectionPool-Create-646337666] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 12:41:10.108 INFO 3524 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 12:41:10.115 INFO 3524 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 12:41:10.254 WARN 3524 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 12:41:10.515 INFO 3524 --- [main] com.JN.JNApplication : Started JNApplication in 4.377 seconds (JVM running for 5.42)
|
||||||
|
2024-02-24 12:41:10.520 INFO 3524 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 12:41:41.176 INFO 3524 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/materialList
|
||||||
|
2024-02-24 12:41:41.177 INFO 3524 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/materialList不需要处理
|
||||||
|
2024-02-24 12:41:41.311 ERROR 3524 --- [http-nio-3333-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.exceptions.PersistenceException:
|
||||||
|
### Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 'CONCAT' 不是可以识别的 内置函数名称。
|
||||||
|
### The error may exist in com/JN/demo/zmquotation/mapper/MaterialMapper.java (best guess)
|
||||||
|
### The error may involve com.JN.demo.zmquotation.mapper.MaterialMapper.queryMaterialListByParam-Inline
|
||||||
|
### The error occurred while setting parameters
|
||||||
|
### SQL: SELECT [cb_name] as material_name ,[cb_cj] as factory_price ,[cb_cbj] as cost_price ,[cb_zl] as net_volume ,[cb_gspj] as inventory ,[cbpj_zl] as weigh_inv ,[CB_bz] as standard ,[cb_xx] as model ,[cb_gg] as specification ,[cb_dy] as voltage ,[cb_cljg] as mat_price ,[tdtjg] as total_copper_consume ,[ldtjg] as total_aluminum_consume ,[rgsdf] as total_l_h_cost ,[cb_zqf]as steam_fee FROM [zm_erp2].[dbo].[view_cb_material] WHERE [cb_name] like CONCAT(?, '%') and [cb_name] like CONCAT('%', ?, '%') and [cb_gg] like CONCAT('%', ?, '%') OFFSET ? ROWS FETCH NEXT ? ROWS ONLY
|
||||||
|
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 'CONCAT' 不是可以识别的 内置函数名称。] with root cause
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 'CONCAT' 不是可以识别的 内置函数名称。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:265)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1662)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:615)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:537)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7417)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3488)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:262)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:515)
|
||||||
|
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)
|
||||||
|
at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
|
||||||
|
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
|
||||||
|
at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)
|
||||||
|
at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
|
||||||
|
at com.sun.proxy.$Proxy106.execute(Unknown Source)
|
||||||
|
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
|
||||||
|
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
|
||||||
|
at com.sun.proxy.$Proxy104.query(Unknown Source)
|
||||||
|
at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)
|
||||||
|
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
|
||||||
|
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
|
||||||
|
at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)
|
||||||
|
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
|
||||||
|
at com.sun.proxy.$Proxy103.query(Unknown Source)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
|
||||||
|
at com.github.yulichang.interceptor.MPJInterceptor.intercept(MPJInterceptor.java:98)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
|
||||||
|
at com.sun.proxy.$Proxy103.query(Unknown Source)
|
||||||
|
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
|
||||||
|
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
|
||||||
|
at com.sun.proxy.$Proxy78.selectList(Unknown Source)
|
||||||
|
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
|
||||||
|
at com.sun.proxy.$Proxy91.queryMaterialListByParam(Unknown Source)
|
||||||
|
at com.JN.demo.zmquotation.service.impl.MaterialServiceImpl.queryMaterialListByParam(MaterialServiceImpl.java:36)
|
||||||
|
at com.JN.demo.zmquotation.controller.ZMController.queryMaterialList(ZMController.java:75)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
|
||||||
|
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
|
||||||
|
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
|
||||||
|
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)
|
||||||
|
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
|
||||||
|
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
|
||||||
|
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at com.JN.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:48)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
|
||||||
|
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
|
||||||
|
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
|
||||||
|
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
|
||||||
|
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
|
||||||
|
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
|
||||||
|
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
|
||||||
|
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
|
||||||
|
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
|
||||||
|
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
|
||||||
|
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
|
||||||
|
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
|
||||||
|
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
|
||||||
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
|
||||||
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
|
||||||
|
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
|
||||||
|
at java.lang.Thread.run(Thread.java:748)
|
||||||
|
|
||||||
|
2024-02-24 12:43:05.075 INFO 14628 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 14628 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 12:43:05.077 INFO 14628 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 12:43:07.151 WARN 14628 --- [Druid-ConnectionPool-Create-1243227501] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 12:43:08.542 INFO 14628 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 12:43:08.549 INFO 14628 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 12:43:08.689 WARN 14628 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 12:43:08.938 INFO 14628 --- [main] com.JN.JNApplication : Started JNApplication in 4.266 seconds (JVM running for 5.101)
|
||||||
|
2024-02-24 12:43:08.945 INFO 14628 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 12:43:14.920 INFO 14628 --- [http-nio-3333-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/materialList
|
||||||
|
2024-02-24 12:43:14.921 INFO 14628 --- [http-nio-3333-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/materialList不需要处理
|
||||||
|
2024-02-24 12:43:15.052 ERROR 14628 --- [http-nio-3333-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.exceptions.PersistenceException:
|
||||||
|
### Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 'OFFSET' 附近有语法错误。
|
||||||
|
### The error may exist in com/JN/demo/zmquotation/mapper/MaterialMapper.java (best guess)
|
||||||
|
### The error may involve com.JN.demo.zmquotation.mapper.MaterialMapper.queryMaterialListByParam-Inline
|
||||||
|
### The error occurred while setting parameters
|
||||||
|
### SQL: SELECT [cb_name] as material_name ,[cb_cj] as factory_price ,[cb_cbj] as cost_price ,[cb_zl] as net_volume ,[cb_gspj] as inventory ,[cbpj_zl] as weigh_inv ,[CB_bz] as standard ,[cb_xx] as model ,[cb_gg] as specification ,[cb_dy] as voltage ,[cb_cljg] as mat_price ,[tdtjg] as total_copper_consume ,[ldtjg] as total_aluminum_consume ,[rgsdf] as total_l_h_cost ,[cb_zqf]as steam_fee FROM [zm_erp2].[dbo].[view_cb_material] WHERE [cb_name] like ? + '%' and [cb_name] like '%' + ? + '%' and [cb_gg] like '%' + ? + '%' OFFSET ? ROWS FETCH NEXT ? ROWS ONLY
|
||||||
|
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 'OFFSET' 附近有语法错误。] with root cause
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 'OFFSET' 附近有语法错误。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:265)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1662)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:615)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:537)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7417)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3488)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:262)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:515)
|
||||||
|
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)
|
||||||
|
at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
|
||||||
|
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
|
||||||
|
at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)
|
||||||
|
at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
|
||||||
|
at com.sun.proxy.$Proxy106.execute(Unknown Source)
|
||||||
|
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
|
||||||
|
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
|
||||||
|
at com.sun.proxy.$Proxy104.query(Unknown Source)
|
||||||
|
at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)
|
||||||
|
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
|
||||||
|
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
|
||||||
|
at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)
|
||||||
|
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
|
||||||
|
at com.sun.proxy.$Proxy103.query(Unknown Source)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
|
||||||
|
at com.github.yulichang.interceptor.MPJInterceptor.intercept(MPJInterceptor.java:98)
|
||||||
|
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
|
||||||
|
at com.sun.proxy.$Proxy103.query(Unknown Source)
|
||||||
|
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
|
||||||
|
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
|
||||||
|
at com.sun.proxy.$Proxy78.selectList(Unknown Source)
|
||||||
|
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
|
||||||
|
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
|
||||||
|
at com.sun.proxy.$Proxy91.queryMaterialListByParam(Unknown Source)
|
||||||
|
at com.JN.demo.zmquotation.service.impl.MaterialServiceImpl.queryMaterialListByParam(MaterialServiceImpl.java:36)
|
||||||
|
at com.JN.demo.zmquotation.controller.ZMController.queryMaterialList(ZMController.java:75)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||||
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||||
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||||
|
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||||
|
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
|
||||||
|
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
|
||||||
|
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
|
||||||
|
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
|
||||||
|
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)
|
||||||
|
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
|
||||||
|
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
|
||||||
|
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
|
||||||
|
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at com.JN.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:48)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
|
||||||
|
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
|
||||||
|
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
|
||||||
|
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
|
||||||
|
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
|
||||||
|
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
|
||||||
|
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
|
||||||
|
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
|
||||||
|
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
|
||||||
|
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
|
||||||
|
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
|
||||||
|
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
|
||||||
|
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
|
||||||
|
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
|
||||||
|
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
|
||||||
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
|
||||||
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
|
||||||
|
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
|
||||||
|
at java.lang.Thread.run(Thread.java:748)
|
||||||
|
|
||||||
|
2024-02-24 13:03:30.319 INFO 15576 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 15576 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 13:03:30.319 INFO 15576 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 13:03:32.265 WARN 15576 --- [Druid-ConnectionPool-Create-1690221909] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 13:03:33.579 INFO 15576 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 13:03:33.586 INFO 15576 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 13:03:33.756 WARN 15576 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 13:03:34.031 INFO 15576 --- [main] com.JN.JNApplication : Started JNApplication in 4.114 seconds (JVM running for 4.924)
|
||||||
|
2024-02-24 13:03:34.039 INFO 15576 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 13:03:43.949 INFO 15576 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/materialList
|
||||||
|
2024-02-24 13:03:43.950 INFO 15576 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/materialList不需要处理
|
||||||
|
2024-02-24 14:38:42.224 INFO 3060 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 3060 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 14:38:42.224 INFO 3060 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 14:38:44.304 WARN 3060 --- [Druid-ConnectionPool-Create-1918121287] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 14:38:45.460 INFO 3060 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 14:38:45.460 INFO 3060 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 14:38:45.601 WARN 3060 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 14:38:45.820 INFO 3060 --- [main] com.JN.JNApplication : Started JNApplication in 4.007 seconds (JVM running for 4.885)
|
||||||
|
2024-02-24 14:38:45.820 INFO 3060 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 14:39:00.615 INFO 3060 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/materialList
|
||||||
|
2024-02-24 14:39:00.616 INFO 3060 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/materialList不需要处理
|
||||||
|
2024-02-24 14:51:00.968 INFO 15648 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 15648 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo)
|
||||||
|
2024-02-24 14:51:00.968 INFO 15648 --- [main] com.JN.JNApplication : The following profiles are active: ZM
|
||||||
|
2024-02-24 14:51:02.999 WARN 15648 --- [Druid-ConnectionPool-Create-1719519917] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
|
||||||
|
2024-02-24 14:51:04.367 INFO 15648 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器...
|
||||||
|
2024-02-24 14:51:04.367 INFO 15648 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射...
|
||||||
|
2024-02-24 14:51:04.503 WARN 15648 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
|
||||||
|
2024-02-24 14:51:04.729 INFO 15648 --- [main] com.JN.JNApplication : Started JNApplication in 4.154 seconds (JVM running for 5.024)
|
||||||
|
2024-02-24 14:51:04.744 INFO 15648 --- [main] com.JN.JNApplication : 项目启动成功...
|
||||||
|
2024-02-24 14:51:11.547 INFO 15648 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/ZM
|
||||||
|
2024-02-24 14:51:11.547 INFO 15648 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/ZM不需要处理
|
||||||
|
2024-02-24 14:51:11.800 INFO 15648 --- [http-nio-3333-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css
|
||||||
|
2024-02-24 14:51:11.801 INFO 15648 --- [http-nio-3333-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理
|
||||||
|
2024-02-24 14:51:11.802 INFO 15648 --- [http-nio-3333-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/zmquotation/css/index.css
|
||||||
|
2024-02-24 14:51:11.803 INFO 15648 --- [http-nio-3333-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/zmquotation/css/index.css不需要处理
|
||||||
|
2024-02-24 14:51:11.804 INFO 15648 --- [http-nio-3333-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js
|
||||||
|
2024-02-24 14:51:11.804 INFO 15648 --- [http-nio-3333-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理
|
||||||
|
2024-02-24 14:51:11.803 INFO 15648 --- [http-nio-3333-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js
|
||||||
|
2024-02-24 14:51:11.805 INFO 15648 --- [http-nio-3333-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理
|
||||||
|
2024-02-24 14:51:11.807 INFO 15648 --- [http-nio-3333-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js
|
||||||
|
2024-02-24 14:51:11.808 INFO 15648 --- [http-nio-3333-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js
|
||||||
|
2024-02-24 14:51:11.812 INFO 15648 --- [http-nio-3333-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理
|
||||||
|
2024-02-24 14:51:11.812 INFO 15648 --- [http-nio-3333-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理
|
||||||
|
2024-02-24 14:51:11.846 INFO 15648 --- [http-nio-3333-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js
|
||||||
|
2024-02-24 14:51:11.846 INFO 15648 --- [http-nio-3333-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理
|
||||||
|
2024-02-24 14:51:11.871 INFO 15648 --- [http-nio-3333-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/zmquotation/js/index.js
|
||||||
|
2024-02-24 14:51:11.871 INFO 15648 --- [http-nio-3333-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/zmquotation/js/index.js不需要处理
|
||||||
|
2024-02-24 14:51:12.164 INFO 15648 --- [http-nio-3333-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/inventoryList
|
||||||
|
2024-02-24 14:51:12.164 INFO 15648 --- [http-nio-3333-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/inventoryList不需要处理
|
||||||
|
2024-02-24 14:51:12.180 INFO 15648 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png
|
||||||
|
2024-02-24 14:51:12.180 INFO 15648 --- [http-nio-3333-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理
|
||||||
|
2024-02-24 14:51:13.207 INFO 15648 --- [http-nio-3333-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff
|
||||||
|
2024-02-24 14:51:13.207 INFO 15648 --- [http-nio-3333-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理
|
||||||
|
2024-02-24 14:51:16.572 INFO 15648 --- [http-nio-3333-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/zmquotation/materialList
|
||||||
|
2024-02-24 14:51:16.573 INFO 15648 --- [http-nio-3333-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/zmquotation/materialList不需要处理
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.JN.demo.jnzmquatation.controller;
|
||||||
|
|
||||||
|
import com.JN.common.R;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName ZMController
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/2/19 8:47
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@Slf4j
|
||||||
|
@RequestMapping("/jnquotation")
|
||||||
|
public class JNController {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -16,7 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName ZMController
|
* @ClassName ZMController
|
||||||
|
@ -47,7 +49,7 @@ public class ZMController {
|
||||||
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.RegionDto>>
|
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.RegionDto>>
|
||||||
*/
|
*/
|
||||||
@PostMapping("/regionList")
|
@PostMapping("/regionList")
|
||||||
public R<List<RegionDto>> queryRegionList(@RequestParam("regionName") String regionName){
|
public R queryRegionList(@RequestParam("regionName") String regionName){
|
||||||
|
|
||||||
List<RegionDto> regionList = regionService.queryRegionListByName(regionName);
|
List<RegionDto> regionList = regionService.queryRegionListByName(regionName);
|
||||||
|
|
||||||
|
@ -67,11 +69,15 @@ public class ZMController {
|
||||||
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.MaterialDto>>
|
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.MaterialDto>>
|
||||||
*/
|
*/
|
||||||
@PostMapping("/materialList")
|
@PostMapping("/materialList")
|
||||||
public R<List<MaterialDto>> queryMaterialList(@RequestParam("precMaterialName") String precMaterialName,
|
public R queryMaterialList(@RequestParam("precMaterialName") String precMaterialName,
|
||||||
@RequestParam("vagueMaterialName") String vagueMaterialName,
|
@RequestParam("vagueMaterialName") String vagueMaterialName,
|
||||||
@RequestParam("vagueModel") String vagueModel) {
|
@RequestParam("vagueModel") String vagueModel) {
|
||||||
List<MaterialDto> materialList = materialService.queryMaterialListByParam(precMaterialName, vagueMaterialName, vagueModel);
|
List<MaterialDto> materialList = materialService.queryMaterialListByParam(precMaterialName, vagueMaterialName, vagueModel);
|
||||||
|
|
||||||
|
/* Map<String, Object> result = new HashMap<>();
|
||||||
|
result.put("rows", materialList);
|
||||||
|
result.put("total", materialNum);*/
|
||||||
|
|
||||||
return R.success(materialList);
|
return R.success(materialList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,7 +89,7 @@ public class ZMController {
|
||||||
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.InventoryDto>>
|
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.InventoryDto>>
|
||||||
*/
|
*/
|
||||||
@PostMapping("/inventoryList")
|
@PostMapping("/inventoryList")
|
||||||
public R<List<InventoryDto>> queryInventoryList() {
|
public R queryInventoryList() {
|
||||||
List<InventoryDto> inventoryList = inventoryService.queryInventoryList();
|
List<InventoryDto> inventoryList = inventoryService.queryInventoryList();
|
||||||
|
|
||||||
return R.success(inventoryList);
|
return R.success(inventoryList);
|
||||||
|
|
|
@ -16,22 +16,30 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface MaterialMapper {
|
public interface MaterialMapper {
|
||||||
@Select("SELECT [cb_name] as material_name\n" +
|
@Select(" SELECT [cb_name] as material_name\n" +
|
||||||
" ,[cb_cj] as factory_price\n" +
|
" ,[cb_cj] as factory_price\n" +
|
||||||
" ,[cb_cbj] as cost_price\n" +
|
" ,[cb_cbj] as cost_price\n" +
|
||||||
" ,[cb_zl] as net_volume\n" +
|
" ,[cb_zl] as net_volume\n" +
|
||||||
" ,[cb_gspj] as inventory\n" +
|
" ,[cb_gspj] as inventory\n" +
|
||||||
" ,[cbpj_zl] as weigh_inv\n" +
|
" ,[cbpj_zl] as weigh_inv\n" +
|
||||||
" ,[CB_bz] as standard\n" +
|
" ,[CB_bz] as standard\n" +
|
||||||
" ,[cb_xx] as model\n" +
|
" ,[cb_xx] as model\n" +
|
||||||
" ,[cb_gg] as specification\n" +
|
" ,[cb_gg] as specification\n" +
|
||||||
" ,[cb_dy] as voltage\n" +
|
" ,[cb_dy] as voltage\n" +
|
||||||
" ,[cb_cljg] as mat_price\n" +
|
" ,[cb_cljg] as mat_price\n" +
|
||||||
" ,[tdtjg] as total_copper_consume\n" +
|
" ,[tdtjg] as total_copper_consume\n" +
|
||||||
" ,[ldtjg] as total_aluminum_consume\n" +
|
" ,[ldtjg] as total_aluminum_consume\n" +
|
||||||
" ,[rgsdf] as total_l_h_cost\n" +
|
" ,[rgsdf] as total_l_h_cost\n" +
|
||||||
" ,[cb_zqf]as steam_fee\n" +
|
" ,[cb_zqf]as steam_fee\n" +
|
||||||
|
" ,ROW_NUMBER() OVER(Order by [cb_name]) AS RowId\n" +
|
||||||
|
" FROM [zm_erp2].[dbo].[view_cb_material]\n" +
|
||||||
|
" WHERE [cb_name] like '${precMaterialName}%' and [cb_name] like '%${vagueMaterialName}%' and [cb_gg] like '%${vagueModel}%'")
|
||||||
|
List<MaterialDto> queryMaterialListByParam(String precMaterialName, String vagueMaterialName, String vagueModel);
|
||||||
|
|
||||||
|
|
||||||
|
@Select(" SELECT \n" +
|
||||||
|
"\tCOUNT(*) AS total\n" +
|
||||||
" FROM [zm_erp2].[dbo].[view_cb_material]\n" +
|
" FROM [zm_erp2].[dbo].[view_cb_material]\n" +
|
||||||
" WHERE [cb_name] like '${precMaterialName}%' and [cb_name] like '%${vagueMaterialName}%' and [cb_gg] like '%${vagueModel}%'")
|
" WHERE [cb_name] like '${precMaterialName}%' and [cb_name] like '%${vagueMaterialName}%' and [cb_gg] like '%${vagueModel}%'")
|
||||||
List<MaterialDto> queryMaterialListByParam(String precMaterialName, String vagueMaterialName, String vagueModel);
|
Integer queryMaterialListCount(String precMaterialName, String vagueMaterialName, String vagueModel);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,4 +14,6 @@ import java.util.List;
|
||||||
public interface MaterialService {
|
public interface MaterialService {
|
||||||
|
|
||||||
List<MaterialDto> queryMaterialListByParam(String precMaterialName, String vagueMaterialName, String vagueModel);
|
List<MaterialDto> queryMaterialListByParam(String precMaterialName, String vagueMaterialName, String vagueModel);
|
||||||
|
|
||||||
|
Integer queryMaterialListCount(String precMaterialName, String vagueMaterialName, String vagueModel);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,4 +34,19 @@ public class MaterialServiceImpl implements MaterialService {
|
||||||
public List<MaterialDto> queryMaterialListByParam(String precMaterialName, String vagueMaterialName, String vagueModel) {
|
public List<MaterialDto> queryMaterialListByParam(String precMaterialName, String vagueMaterialName, String vagueModel) {
|
||||||
return materialMapper.queryMaterialListByParam(precMaterialName, vagueMaterialName, vagueModel);
|
return materialMapper.queryMaterialListByParam(precMaterialName, vagueMaterialName, vagueModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title queryMaterialListCount
|
||||||
|
* @description 计算搜索的总数
|
||||||
|
* @author JIAL
|
||||||
|
* @param: precMaterialName
|
||||||
|
* @param: vagueMaterialName
|
||||||
|
* @param: vagueModel
|
||||||
|
* @updateTime 2024/2/24 14:36
|
||||||
|
* @return: java.lang.Integer
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Integer queryMaterialListCount(String precMaterialName, String vagueMaterialName, String vagueModel) {
|
||||||
|
return materialMapper.queryMaterialListCount(precMaterialName, vagueMaterialName, vagueModel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,13 +30,3 @@
|
||||||
</root>
|
</root>
|
||||||
|
|
||||||
</configuration>
|
</configuration>
|
||||||
<!--
|
|
||||||
1、继承Spring boot logback设置(可以在appliaction.yml或者application.properties设置logging.*属性)
|
|
||||||
2、重写了默认配置,设置日志文件大小在100MB时,按日期切分日志,切分后目录:
|
|
||||||
|
|
||||||
blog.2017-08-01.0 80MB
|
|
||||||
blog.2017-08-01.1 10MB
|
|
||||||
blog.2017-08-02.0 56MB
|
|
||||||
blog.2017-08-03.0 53MB
|
|
||||||
......
|
|
||||||
-->
|
|
|
@ -0,0 +1,713 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>报价</title>
|
||||||
|
<meta name="author" content="JIAL">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<link rel="icon" href="/static/image/JNlogo.png" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
|
<!-- import CSS -->
|
||||||
|
<link rel="stylesheet" href="/static/jnquotation/css/index.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container" id="index-app">
|
||||||
|
<div class="center-container">
|
||||||
|
<div class="form-box">
|
||||||
|
<el-form label-width="45%" :model="formLabelAlign">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="加工费" title="蒸汽费/钢丝铠装材料及加工费">
|
||||||
|
<el-input v-model="formLabelAlign.processingFee" placeholder="蒸汽费/钢丝铠装材料及加工费">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col >
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="生产财务成本" title="生产财务成本">
|
||||||
|
<el-input v-model="formLabelAlign.prodFinancialCost" placeholder="生产财务成本">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="额外账期" title="额外账期">
|
||||||
|
<el-input v-model="formLabelAlign.accountPeriod" placeholder="账期">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="承兑" title="承兑">
|
||||||
|
<el-input v-model="formLabelAlign.acceptance" placeholder="承兑">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="公司管理成本" title="公司管理成本">
|
||||||
|
<el-input v-model="formLabelAlign.companyMgmtCost" placeholder="公司管理成本">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col >
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="中标服务费" title="中标服务费">
|
||||||
|
<el-input v-model="formLabelAlign.bidServiceFee" placeholder="中标服务费">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="公司净利润" title="公司净利润">
|
||||||
|
<el-input v-model="formLabelAlign.netProfit" placeholder="公司净利润">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="业务费" title="业务费">
|
||||||
|
<el-input v-model="formLabelAlign.businessFee" placeholder="业务费">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="省">
|
||||||
|
<el-input :disabled="true" v-model="formLabelAlign.province" placeholder="省"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="市">
|
||||||
|
<el-input :disabled="true" v-model="formLabelAlign.city" placeholder="市"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="区">
|
||||||
|
<el-input :disabled="true" v-model="formLabelAlign.district" placeholder="区"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" >
|
||||||
|
<el-form-item label="公里数">
|
||||||
|
<el-input v-model="formLabelAlign.kilometers" placeholder="公里数">
|
||||||
|
<template slot="append">KM</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="可下浮点数" title="可下浮点数">
|
||||||
|
<el-input v-model="formLabelAlign.canFloat" placeholder="可下浮">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" >
|
||||||
|
<el-form-item label="运费">
|
||||||
|
<el-input v-model="formLabelAlign.freight" placeholder="运费">
|
||||||
|
<template slot="append">¥</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="净重合计" title="净重合计">
|
||||||
|
<el-input v-model="formLabelAlign.netWeightTotal" placeholder="净重合计">
|
||||||
|
<template slot="append">KG</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col >
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="重量合计" title="重量合计">
|
||||||
|
<el-input v-model="formLabelAlign.weightTotal" placeholder="重量合计">
|
||||||
|
<template slot="append">KG</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" >
|
||||||
|
<el-form-item label="厂价金额合计" title="厂价金额合计">
|
||||||
|
<el-input v-model="formLabelAlign.totalFactoryAmount" placeholder="厂价金额合计">
|
||||||
|
<template slot="append">¥</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" >
|
||||||
|
<el-form-item label="实际金额合计" title="实际金额合计">
|
||||||
|
<el-input v-model="formLabelAlign.totalActualAmount" placeholder="实际金额合计">
|
||||||
|
<template slot="append">¥</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="button-box">
|
||||||
|
<el-button type="text" @click="selectedRegion">选择地区</el-button>
|
||||||
|
<el-button type="text" @click="addMaterial">添加物料</el-button>
|
||||||
|
<el-button type="text" @click="calculatedData">刷新界面</el-button>
|
||||||
|
<el-button type="text"></el-button>
|
||||||
|
</div>
|
||||||
|
<div class="table-box">
|
||||||
|
<el-table
|
||||||
|
:data="materialData"
|
||||||
|
border
|
||||||
|
:cell-style="cellStyle"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center' }">
|
||||||
|
<el-table-column
|
||||||
|
fixed
|
||||||
|
label="编号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed
|
||||||
|
width="180"
|
||||||
|
prop="materialName"
|
||||||
|
label="物料名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="quantity"
|
||||||
|
label="数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.quantity" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="voltage"
|
||||||
|
label="电压">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="80"
|
||||||
|
prop="standard"
|
||||||
|
label="标准">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="costPrice"
|
||||||
|
label="成本价">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="factoryPrice"
|
||||||
|
label="厂价">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="netVolume"
|
||||||
|
label="净重量">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="inventory"
|
||||||
|
label="盘具">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-link @click="handleInventoryClick(scope.row, scope.$index)" type="primary">{{ scope.row.inventory }}</el-link>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="invItemCount"
|
||||||
|
label="盘具数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.invItemCount" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
prop="weighInv"
|
||||||
|
label="盘重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="totalWeight"
|
||||||
|
label="总重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed="right"
|
||||||
|
width="120"
|
||||||
|
prop="totalCost"
|
||||||
|
label="总成本">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed="right"
|
||||||
|
width="120"
|
||||||
|
prop="totalFacPrice"
|
||||||
|
label="总厂价">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed="right"
|
||||||
|
width="120"
|
||||||
|
prop="totalNetWt"
|
||||||
|
label="总净重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed="right"
|
||||||
|
width="80"
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="handleDeleteClick(scope.$index)" style="color: red;" type="text">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-dialog class="regionDialogTable" :visible.sync="dialogRegionVisible" width="932px" >
|
||||||
|
<div slot="title" style="margin: 0px">
|
||||||
|
<el-form>
|
||||||
|
<el-form-item >
|
||||||
|
<el-input style="width: 300px; " v-model="regionName" placeholder="请输入地区名称">
|
||||||
|
</el-input>
|
||||||
|
<el-button type="primary" size="small" @click="searchRegion">查询地区</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-table
|
||||||
|
:data="getCurrentRegionData"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '0px'}"
|
||||||
|
highlight-current-row
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="province"
|
||||||
|
label="省">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="city"
|
||||||
|
label="市">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="district"
|
||||||
|
label="区">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="kilometers"
|
||||||
|
label="公里数">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="80"
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="chooseRegion(scope.row)" style="color: blue;" type="text">选择</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center; margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
@current-change="handleRegionCurrentChange"
|
||||||
|
:current-page.sync="regionCurrentPage"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="regionTableData.length"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog class="materialDialogTable" :visible.sync="dialogMaterialVisible" width="1200px">
|
||||||
|
<div slot="title" style="margin: 0px">
|
||||||
|
<el-form>
|
||||||
|
<el-form-item >
|
||||||
|
<el-input style="width: 200px; " v-model="precMaterialName" placeholder="开头物料名称精确查询">
|
||||||
|
</el-input>
|
||||||
|
<el-input style="width: 200px; " v-model="vagueMaterialName" placeholder="物料名称模糊查询">
|
||||||
|
</el-input>
|
||||||
|
<el-input style="width: 200px; " v-model="vagueModel" placeholder="规格模糊查询">
|
||||||
|
</el-input>
|
||||||
|
<el-button type="primary" size="small" @click="searchMaterial">查询物料</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div style="display: flex; flex-direction: row;">
|
||||||
|
<div style="width: 766px">
|
||||||
|
<el-table
|
||||||
|
:data="getCurrentMaterialData"
|
||||||
|
ref="materialTable"
|
||||||
|
@selection-change="handleSelectionChange"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '5px 0px'}"
|
||||||
|
highlight-selection-row
|
||||||
|
:row-key="row => row.materialName"
|
||||||
|
:reserve-selection="true"
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
type="selection"
|
||||||
|
width="55">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="materialName"
|
||||||
|
label="物料名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="model"
|
||||||
|
label="型号">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="specification"
|
||||||
|
label="规格">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="voltage"
|
||||||
|
label="电压">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
prop="standard"
|
||||||
|
label="标准">
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div style="text-align: center; margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
@current-change="handleMaterialCurrentChange"
|
||||||
|
:current-page.sync="materialCurrentPage"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="materialTableData.length"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="flex-grow: 1; padding-left: 20px;">
|
||||||
|
<div
|
||||||
|
v-for="(selectedItem, index) in selectedMaterialItems"
|
||||||
|
:key="index"
|
||||||
|
class="selected-item"
|
||||||
|
>
|
||||||
|
{{ selectedItem.materialName }} - {{ selectedItem.voltage }}
|
||||||
|
<el-button @click="removeSelectedItem(selectedItem)" type="text" class="remove-btn">✖</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="text-align: center; padding-top: 20px">
|
||||||
|
<el-button-group>
|
||||||
|
<el-button type="primary" size="small" style="margin-right: 80px" @click="addMaterialToTable">确认</el-button>
|
||||||
|
<el-button type="warning" size="small" @click="closeMaterialDialog">取消</el-button>
|
||||||
|
</el-button-group>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog class="inventoryDialogTable" :visible.sync="dialogInventoryVisible" width="792px" >
|
||||||
|
<div>
|
||||||
|
<el-table
|
||||||
|
:data="getCurrentInventoryData"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '0px'}"
|
||||||
|
highlight-current-row
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="inventory"
|
||||||
|
label="盘具名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="invDesc"
|
||||||
|
label="盘具描述">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="weighInv"
|
||||||
|
label="盘重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="chooseInventory(scope.row)" style="color: blue;" type="text">选择</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center; margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
@current-change="handleInventoryCurrentChange"
|
||||||
|
:current-page.sync="inventoryCurrentPage"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="inventoryTableData.length"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/plugins/vue/vue.js"></script>
|
||||||
|
<script src="/plugins/element-ui/index.js"></script>
|
||||||
|
<script src="/plugins/calendar/calendar.js"></script>
|
||||||
|
<script src="/plugins/axios/axios.min.js"></script>
|
||||||
|
<script src="/plugins/axios/request.js"></script>
|
||||||
|
<!-- import Script -->
|
||||||
|
<script src="/static/jnquotation/js/index.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#index-app',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
formLabelAlign: {
|
||||||
|
processingFee: '0.60', /*蒸汽费/钢丝铠装材料及加工费*/
|
||||||
|
prodFinancialCost: '0.40', /*生产财务成本*/
|
||||||
|
accountPeriod: '1.20', /*账期*/
|
||||||
|
acceptance: '0.90', /*承兑*/
|
||||||
|
companyMgmtCost: '1.50', /*公司管理成本*/
|
||||||
|
bidServiceFee: '0.44', /*中标服务费*/
|
||||||
|
netProfit: '3.00', /*公司净利润*/
|
||||||
|
businessFee: '2.00', /*业务费*/
|
||||||
|
province: '', /*省*/
|
||||||
|
city: '', /*市*/
|
||||||
|
district: '', /*区*/
|
||||||
|
freight: '', /*运费*/
|
||||||
|
canFloat: '', /*可下浮点数*/
|
||||||
|
kilometers: '', /*公里数*/
|
||||||
|
netWeightTotal: '', /*净重合计*/
|
||||||
|
weightTotal: '', /*重量合计*/
|
||||||
|
totalFactoryAmount: '', /*厂价金额合计*/
|
||||||
|
totalActualAmount: '', /*实际金额合计*/
|
||||||
|
},
|
||||||
|
materialData: [
|
||||||
|
|
||||||
|
],
|
||||||
|
regionTableData: [],
|
||||||
|
price_0t_5t: '',
|
||||||
|
price_5t_10t: '',
|
||||||
|
price_10t_25t: '',
|
||||||
|
price_25t_100t: '',
|
||||||
|
price_100t: '',
|
||||||
|
dialogRegionVisible: false,
|
||||||
|
regionName: '',
|
||||||
|
regionCurrentPage: 1,
|
||||||
|
inventoryCurrentPage : 1,
|
||||||
|
materialCurrentPage: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
dialogMaterialVisible: false,
|
||||||
|
materialTableData: [],
|
||||||
|
selectedMaterialItems: [], // 选中的数据
|
||||||
|
savedSelectedMaterials: [], // 保存选中的数据
|
||||||
|
precMaterialName: '',
|
||||||
|
vagueMaterialName: '',
|
||||||
|
vagueModel: '',
|
||||||
|
dialogInventoryVisible: false,
|
||||||
|
inventoryTableData: [],
|
||||||
|
clickedRowIndex: null, // 用于记录点击的行的索引
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
getCurrentRegionData() {
|
||||||
|
const start = (this.regionCurrentPage - 1) * this.pageSize;
|
||||||
|
const end = start + this.pageSize;
|
||||||
|
return this.regionTableData.slice(start, end);
|
||||||
|
},
|
||||||
|
getCurrentMaterialData() {
|
||||||
|
const start = (this.materialCurrentPage - 1) * this.pageSize;
|
||||||
|
const end = start + this.pageSize;
|
||||||
|
return this.materialTableData.slice(start, end);
|
||||||
|
},
|
||||||
|
getCurrentInventoryData() {
|
||||||
|
const start = (this.inventoryCurrentPage - 1) * this.pageSize;
|
||||||
|
const end = start + this.pageSize;
|
||||||
|
return this.inventoryTableData.slice(start, end);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getInventoryData();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async init () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
cellStyle({row, column, rowIndex, columnIndex}) {
|
||||||
|
if(columnIndex === 0) {
|
||||||
|
return 'color : black; text-align : center; background : #E0E0E0; padding: 0px';
|
||||||
|
} else if (columnIndex === 8) {
|
||||||
|
return 'text-align : center; background : #F5F5F5; padding: 0px';
|
||||||
|
} else {
|
||||||
|
return ' text-align : center; padding: 0px';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleDeleteClick(index){
|
||||||
|
this.materialData.splice(index, 1)
|
||||||
|
},
|
||||||
|
|
||||||
|
selectedRegion(){
|
||||||
|
this.dialogRegionVisible = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
chooseRegion(row) {
|
||||||
|
this.dialogRegionVisible = false;
|
||||||
|
this.formLabelAlign.province = row.province
|
||||||
|
this.formLabelAlign.city = row.city
|
||||||
|
this.formLabelAlign.district = row.district
|
||||||
|
this.formLabelAlign.kilometers = row.kilometers
|
||||||
|
this.price_0t_5t = row.price01
|
||||||
|
this.price_5t_10t = row.price02
|
||||||
|
this.price_10t_25t = row.price03
|
||||||
|
this.price_25t_100t = row.price04
|
||||||
|
this.price_100t = row.price05
|
||||||
|
},
|
||||||
|
searchRegion(){
|
||||||
|
if(this.regionName === ''){
|
||||||
|
this.$message({
|
||||||
|
message: '请输入你要查询的地区名称',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
const params = {
|
||||||
|
regionName : this.regionName
|
||||||
|
}
|
||||||
|
console.log(params)
|
||||||
|
queryRegionListByName(params).then(res => {
|
||||||
|
this.regionTableData = res.data || []
|
||||||
|
this.regionCurrentPage = 1;
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleRegionCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
},
|
||||||
|
|
||||||
|
handleMaterialCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
handleInventoryCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
},
|
||||||
|
|
||||||
|
addMaterial(){
|
||||||
|
this.dialogMaterialVisible = true;
|
||||||
|
},
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
selection.forEach(item => {
|
||||||
|
// 判断是否已经存在于已选列表中,避免重复添加
|
||||||
|
if (!this.selectedMaterialItems.some(selectedItem => selectedItem.materialName === item.materialName)) {
|
||||||
|
this.selectedMaterialItems.push(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
removeSelectedItem(selectedItem) {
|
||||||
|
// 判断当前数据是否被选择
|
||||||
|
const isSelected = this.$refs.materialTable.selection.includes(selectedItem);
|
||||||
|
|
||||||
|
// 从已选列表中移除该项
|
||||||
|
const index = this.selectedMaterialItems.findIndex(item => item.materialName === selectedItem.materialName);
|
||||||
|
if (index !== -1) {
|
||||||
|
this.selectedMaterialItems.splice(index, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果当前数据被选择,则取消 el-table 中该项的选择状态
|
||||||
|
if (isSelected) {
|
||||||
|
this.$refs.materialTable.toggleRowSelection(selectedItem, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
addMaterialToTable() {
|
||||||
|
// 将选中的物料信息添加到表格中
|
||||||
|
this.materialData = this.materialData.concat(this.selectedMaterialItems);
|
||||||
|
|
||||||
|
// 清空选中的物料信息
|
||||||
|
this.selectedMaterialItems = [];
|
||||||
|
this.$refs.materialTable.clearSelection();
|
||||||
|
this.dialogMaterialVisible = false;
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
closeMaterialDialog() {
|
||||||
|
this.dialogMaterialVisible = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
searchMaterial() {
|
||||||
|
if(this.precMaterialName === '' && this.vagueMaterialName === '' && this.vagueModel === '') {
|
||||||
|
this.$message({
|
||||||
|
message: '请输入你要查询的物料条件',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
}else {
|
||||||
|
const params = {
|
||||||
|
precMaterialName : this.precMaterialName,
|
||||||
|
vagueMaterialName : this.vagueMaterialName,
|
||||||
|
vagueModel : this.vagueModel
|
||||||
|
}
|
||||||
|
|
||||||
|
queryMaterialListByParam(params).then(res => {
|
||||||
|
this.materialTableData = res.data || []
|
||||||
|
this.materialCurrentPage = 1;
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleInventoryClick(row, index) {
|
||||||
|
this.clickedRowIndex = index; // 记录点击的行的索引
|
||||||
|
this.dialogInventoryVisible = true; // 打开选择盘具的 dialog
|
||||||
|
},
|
||||||
|
|
||||||
|
getInventoryData() {
|
||||||
|
queryInventoryList().then(res => {
|
||||||
|
this.inventoryTableData = res.data || []
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
chooseInventory(row) {
|
||||||
|
// 在选择盘具的逻辑中,将选择的盘具信息赋值给之前点击的行的数据
|
||||||
|
if (this.clickedRowIndex !== null) {
|
||||||
|
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
||||||
|
const updatedRow = {
|
||||||
|
inventory: row.inventory, // 盘具名称
|
||||||
|
weighInv: row.weighInv, // 盘重信息
|
||||||
|
};
|
||||||
|
this.$set(this.materialData, this.clickedRowIndex, updatedRow);
|
||||||
|
}
|
||||||
|
this.dialogInventoryVisible = false; // 打开选择盘具的 dialog
|
||||||
|
// 其他逻辑
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -389,7 +389,7 @@
|
||||||
@current-change="handleMaterialCurrentChange"
|
@current-change="handleMaterialCurrentChange"
|
||||||
:current-page.sync="materialCurrentPage"
|
:current-page.sync="materialCurrentPage"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
:total="materialTableData.length"
|
:total="materialTableData.length "
|
||||||
></el-pagination>
|
></el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -519,6 +519,7 @@
|
||||||
dialogInventoryVisible: false,
|
dialogInventoryVisible: false,
|
||||||
inventoryTableData: [],
|
inventoryTableData: [],
|
||||||
clickedRowIndex: null, // 用于记录点击的行的索引
|
clickedRowIndex: null, // 用于记录点击的行的索引
|
||||||
|
materialTotalRows: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -666,12 +667,11 @@
|
||||||
const params = {
|
const params = {
|
||||||
precMaterialName : this.precMaterialName,
|
precMaterialName : this.precMaterialName,
|
||||||
vagueMaterialName : this.vagueMaterialName,
|
vagueMaterialName : this.vagueMaterialName,
|
||||||
vagueModel : this.vagueModel
|
vagueModel : this.vagueModel,
|
||||||
}
|
}
|
||||||
|
|
||||||
queryMaterialListByParam(params).then(res => {
|
queryMaterialListByParam(params).then(res => {
|
||||||
this.materialTableData = res.data || []
|
this.materialTableData = res.data || [];
|
||||||
this.materialCurrentPage = 1;
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
this.$message.error('请求出错了:' + err)
|
this.$message.error('请求出错了:' + err)
|
||||||
})
|
})
|
||||||
|
@ -697,7 +697,6 @@
|
||||||
if (this.clickedRowIndex !== null) {
|
if (this.clickedRowIndex !== null) {
|
||||||
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
||||||
const updatedRow = {
|
const updatedRow = {
|
||||||
...this.materialData[this.clickedRowIndex],
|
|
||||||
inventory: row.inventory, // 盘具名称
|
inventory: row.inventory, // 盘具名称
|
||||||
weighInv: row.weighInv, // 盘重信息
|
weighInv: row.weighInv, // 盘重信息
|
||||||
};
|
};
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -30,13 +30,3 @@
|
||||||
</root>
|
</root>
|
||||||
|
|
||||||
</configuration>
|
</configuration>
|
||||||
<!--
|
|
||||||
1、继承Spring boot logback设置(可以在appliaction.yml或者application.properties设置logging.*属性)
|
|
||||||
2、重写了默认配置,设置日志文件大小在100MB时,按日期切分日志,切分后目录:
|
|
||||||
|
|
||||||
blog.2017-08-01.0 80MB
|
|
||||||
blog.2017-08-01.1 10MB
|
|
||||||
blog.2017-08-02.0 56MB
|
|
||||||
blog.2017-08-03.0 53MB
|
|
||||||
......
|
|
||||||
-->
|
|
|
@ -0,0 +1,713 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>报价</title>
|
||||||
|
<meta name="author" content="JIAL">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<link rel="icon" href="/static/image/JNlogo.png" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
|
<!-- import CSS -->
|
||||||
|
<link rel="stylesheet" href="/static/jnquotation/css/index.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container" id="index-app">
|
||||||
|
<div class="center-container">
|
||||||
|
<div class="form-box">
|
||||||
|
<el-form label-width="45%" :model="formLabelAlign">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="加工费" title="蒸汽费/钢丝铠装材料及加工费">
|
||||||
|
<el-input v-model="formLabelAlign.processingFee" placeholder="蒸汽费/钢丝铠装材料及加工费">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col >
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="生产财务成本" title="生产财务成本">
|
||||||
|
<el-input v-model="formLabelAlign.prodFinancialCost" placeholder="生产财务成本">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="额外账期" title="额外账期">
|
||||||
|
<el-input v-model="formLabelAlign.accountPeriod" placeholder="账期">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="承兑" title="承兑">
|
||||||
|
<el-input v-model="formLabelAlign.acceptance" placeholder="承兑">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="公司管理成本" title="公司管理成本">
|
||||||
|
<el-input v-model="formLabelAlign.companyMgmtCost" placeholder="公司管理成本">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col >
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="中标服务费" title="中标服务费">
|
||||||
|
<el-input v-model="formLabelAlign.bidServiceFee" placeholder="中标服务费">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="公司净利润" title="公司净利润">
|
||||||
|
<el-input v-model="formLabelAlign.netProfit" placeholder="公司净利润">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="业务费" title="业务费">
|
||||||
|
<el-input v-model="formLabelAlign.businessFee" placeholder="业务费">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="省">
|
||||||
|
<el-input :disabled="true" v-model="formLabelAlign.province" placeholder="省"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="市">
|
||||||
|
<el-input :disabled="true" v-model="formLabelAlign.city" placeholder="市"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="区">
|
||||||
|
<el-input :disabled="true" v-model="formLabelAlign.district" placeholder="区"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" >
|
||||||
|
<el-form-item label="公里数">
|
||||||
|
<el-input v-model="formLabelAlign.kilometers" placeholder="公里数">
|
||||||
|
<template slot="append">KM</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="可下浮点数" title="可下浮点数">
|
||||||
|
<el-input v-model="formLabelAlign.canFloat" placeholder="可下浮">
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" >
|
||||||
|
<el-form-item label="运费">
|
||||||
|
<el-input v-model="formLabelAlign.freight" placeholder="运费">
|
||||||
|
<template slot="append">¥</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="净重合计" title="净重合计">
|
||||||
|
<el-input v-model="formLabelAlign.netWeightTotal" placeholder="净重合计">
|
||||||
|
<template slot="append">KG</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col >
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="重量合计" title="重量合计">
|
||||||
|
<el-input v-model="formLabelAlign.weightTotal" placeholder="重量合计">
|
||||||
|
<template slot="append">KG</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" >
|
||||||
|
<el-form-item label="厂价金额合计" title="厂价金额合计">
|
||||||
|
<el-input v-model="formLabelAlign.totalFactoryAmount" placeholder="厂价金额合计">
|
||||||
|
<template slot="append">¥</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" >
|
||||||
|
<el-form-item label="实际金额合计" title="实际金额合计">
|
||||||
|
<el-input v-model="formLabelAlign.totalActualAmount" placeholder="实际金额合计">
|
||||||
|
<template slot="append">¥</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="button-box">
|
||||||
|
<el-button type="text" @click="selectedRegion">选择地区</el-button>
|
||||||
|
<el-button type="text" @click="addMaterial">添加物料</el-button>
|
||||||
|
<el-button type="text" @click="calculatedData">刷新界面</el-button>
|
||||||
|
<el-button type="text"></el-button>
|
||||||
|
</div>
|
||||||
|
<div class="table-box">
|
||||||
|
<el-table
|
||||||
|
:data="materialData"
|
||||||
|
border
|
||||||
|
:cell-style="cellStyle"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center' }">
|
||||||
|
<el-table-column
|
||||||
|
fixed
|
||||||
|
label="编号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed
|
||||||
|
width="180"
|
||||||
|
prop="materialName"
|
||||||
|
label="物料名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="quantity"
|
||||||
|
label="数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.quantity" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="voltage"
|
||||||
|
label="电压">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="80"
|
||||||
|
prop="standard"
|
||||||
|
label="标准">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="costPrice"
|
||||||
|
label="成本价">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="factoryPrice"
|
||||||
|
label="厂价">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="netVolume"
|
||||||
|
label="净重量">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="inventory"
|
||||||
|
label="盘具">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-link @click="handleInventoryClick(scope.row, scope.$index)" type="primary">{{ scope.row.inventory }}</el-link>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="invItemCount"
|
||||||
|
label="盘具数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.invItemCount" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
prop="weighInv"
|
||||||
|
label="盘重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="totalWeight"
|
||||||
|
label="总重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed="right"
|
||||||
|
width="120"
|
||||||
|
prop="totalCost"
|
||||||
|
label="总成本">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed="right"
|
||||||
|
width="120"
|
||||||
|
prop="totalFacPrice"
|
||||||
|
label="总厂价">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed="right"
|
||||||
|
width="120"
|
||||||
|
prop="totalNetWt"
|
||||||
|
label="总净重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
fixed="right"
|
||||||
|
width="80"
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="handleDeleteClick(scope.$index)" style="color: red;" type="text">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-dialog class="regionDialogTable" :visible.sync="dialogRegionVisible" width="932px" >
|
||||||
|
<div slot="title" style="margin: 0px">
|
||||||
|
<el-form>
|
||||||
|
<el-form-item >
|
||||||
|
<el-input style="width: 300px; " v-model="regionName" placeholder="请输入地区名称">
|
||||||
|
</el-input>
|
||||||
|
<el-button type="primary" size="small" @click="searchRegion">查询地区</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-table
|
||||||
|
:data="getCurrentRegionData"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '0px'}"
|
||||||
|
highlight-current-row
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="province"
|
||||||
|
label="省">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="180"
|
||||||
|
prop="city"
|
||||||
|
label="市">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="district"
|
||||||
|
label="区">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="kilometers"
|
||||||
|
label="公里数">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="80"
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="chooseRegion(scope.row)" style="color: blue;" type="text">选择</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center; margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
@current-change="handleRegionCurrentChange"
|
||||||
|
:current-page.sync="regionCurrentPage"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="regionTableData.length"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog class="materialDialogTable" :visible.sync="dialogMaterialVisible" width="1200px">
|
||||||
|
<div slot="title" style="margin: 0px">
|
||||||
|
<el-form>
|
||||||
|
<el-form-item >
|
||||||
|
<el-input style="width: 200px; " v-model="precMaterialName" placeholder="开头物料名称精确查询">
|
||||||
|
</el-input>
|
||||||
|
<el-input style="width: 200px; " v-model="vagueMaterialName" placeholder="物料名称模糊查询">
|
||||||
|
</el-input>
|
||||||
|
<el-input style="width: 200px; " v-model="vagueModel" placeholder="规格模糊查询">
|
||||||
|
</el-input>
|
||||||
|
<el-button type="primary" size="small" @click="searchMaterial">查询物料</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div style="display: flex; flex-direction: row;">
|
||||||
|
<div style="width: 766px">
|
||||||
|
<el-table
|
||||||
|
:data="getCurrentMaterialData"
|
||||||
|
ref="materialTable"
|
||||||
|
@selection-change="handleSelectionChange"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '5px 0px'}"
|
||||||
|
highlight-selection-row
|
||||||
|
:row-key="row => row.materialName"
|
||||||
|
:reserve-selection="true"
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
type="selection"
|
||||||
|
width="55">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="materialName"
|
||||||
|
label="物料名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="model"
|
||||||
|
label="型号">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="specification"
|
||||||
|
label="规格">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
prop="voltage"
|
||||||
|
label="电压">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
prop="standard"
|
||||||
|
label="标准">
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div style="text-align: center; margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
@current-change="handleMaterialCurrentChange"
|
||||||
|
:current-page.sync="materialCurrentPage"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="materialTableData.length"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="flex-grow: 1; padding-left: 20px;">
|
||||||
|
<div
|
||||||
|
v-for="(selectedItem, index) in selectedMaterialItems"
|
||||||
|
:key="index"
|
||||||
|
class="selected-item"
|
||||||
|
>
|
||||||
|
{{ selectedItem.materialName }} - {{ selectedItem.voltage }}
|
||||||
|
<el-button @click="removeSelectedItem(selectedItem)" type="text" class="remove-btn">✖</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="text-align: center; padding-top: 20px">
|
||||||
|
<el-button-group>
|
||||||
|
<el-button type="primary" size="small" style="margin-right: 80px" @click="addMaterialToTable">确认</el-button>
|
||||||
|
<el-button type="warning" size="small" @click="closeMaterialDialog">取消</el-button>
|
||||||
|
</el-button-group>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog class="inventoryDialogTable" :visible.sync="dialogInventoryVisible" width="792px" >
|
||||||
|
<div>
|
||||||
|
<el-table
|
||||||
|
:data="getCurrentInventoryData"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '0px'}"
|
||||||
|
highlight-current-row
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="inventory"
|
||||||
|
label="盘具名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="invDesc"
|
||||||
|
label="盘具描述">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="weighInv"
|
||||||
|
label="盘重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="chooseInventory(scope.row)" style="color: blue;" type="text">选择</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center; margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
@current-change="handleInventoryCurrentChange"
|
||||||
|
:current-page.sync="inventoryCurrentPage"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="inventoryTableData.length"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/plugins/vue/vue.js"></script>
|
||||||
|
<script src="/plugins/element-ui/index.js"></script>
|
||||||
|
<script src="/plugins/calendar/calendar.js"></script>
|
||||||
|
<script src="/plugins/axios/axios.min.js"></script>
|
||||||
|
<script src="/plugins/axios/request.js"></script>
|
||||||
|
<!-- import Script -->
|
||||||
|
<script src="/static/jnquotation/js/index.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#index-app',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
formLabelAlign: {
|
||||||
|
processingFee: '0.60', /*蒸汽费/钢丝铠装材料及加工费*/
|
||||||
|
prodFinancialCost: '0.40', /*生产财务成本*/
|
||||||
|
accountPeriod: '1.20', /*账期*/
|
||||||
|
acceptance: '0.90', /*承兑*/
|
||||||
|
companyMgmtCost: '1.50', /*公司管理成本*/
|
||||||
|
bidServiceFee: '0.44', /*中标服务费*/
|
||||||
|
netProfit: '3.00', /*公司净利润*/
|
||||||
|
businessFee: '2.00', /*业务费*/
|
||||||
|
province: '', /*省*/
|
||||||
|
city: '', /*市*/
|
||||||
|
district: '', /*区*/
|
||||||
|
freight: '', /*运费*/
|
||||||
|
canFloat: '', /*可下浮点数*/
|
||||||
|
kilometers: '', /*公里数*/
|
||||||
|
netWeightTotal: '', /*净重合计*/
|
||||||
|
weightTotal: '', /*重量合计*/
|
||||||
|
totalFactoryAmount: '', /*厂价金额合计*/
|
||||||
|
totalActualAmount: '', /*实际金额合计*/
|
||||||
|
},
|
||||||
|
materialData: [
|
||||||
|
|
||||||
|
],
|
||||||
|
regionTableData: [],
|
||||||
|
price_0t_5t: '',
|
||||||
|
price_5t_10t: '',
|
||||||
|
price_10t_25t: '',
|
||||||
|
price_25t_100t: '',
|
||||||
|
price_100t: '',
|
||||||
|
dialogRegionVisible: false,
|
||||||
|
regionName: '',
|
||||||
|
regionCurrentPage: 1,
|
||||||
|
inventoryCurrentPage : 1,
|
||||||
|
materialCurrentPage: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
dialogMaterialVisible: false,
|
||||||
|
materialTableData: [],
|
||||||
|
selectedMaterialItems: [], // 选中的数据
|
||||||
|
savedSelectedMaterials: [], // 保存选中的数据
|
||||||
|
precMaterialName: '',
|
||||||
|
vagueMaterialName: '',
|
||||||
|
vagueModel: '',
|
||||||
|
dialogInventoryVisible: false,
|
||||||
|
inventoryTableData: [],
|
||||||
|
clickedRowIndex: null, // 用于记录点击的行的索引
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
getCurrentRegionData() {
|
||||||
|
const start = (this.regionCurrentPage - 1) * this.pageSize;
|
||||||
|
const end = start + this.pageSize;
|
||||||
|
return this.regionTableData.slice(start, end);
|
||||||
|
},
|
||||||
|
getCurrentMaterialData() {
|
||||||
|
const start = (this.materialCurrentPage - 1) * this.pageSize;
|
||||||
|
const end = start + this.pageSize;
|
||||||
|
return this.materialTableData.slice(start, end);
|
||||||
|
},
|
||||||
|
getCurrentInventoryData() {
|
||||||
|
const start = (this.inventoryCurrentPage - 1) * this.pageSize;
|
||||||
|
const end = start + this.pageSize;
|
||||||
|
return this.inventoryTableData.slice(start, end);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getInventoryData();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async init () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
cellStyle({row, column, rowIndex, columnIndex}) {
|
||||||
|
if(columnIndex === 0) {
|
||||||
|
return 'color : black; text-align : center; background : #E0E0E0; padding: 0px';
|
||||||
|
} else if (columnIndex === 8) {
|
||||||
|
return 'text-align : center; background : #F5F5F5; padding: 0px';
|
||||||
|
} else {
|
||||||
|
return ' text-align : center; padding: 0px';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleDeleteClick(index){
|
||||||
|
this.materialData.splice(index, 1)
|
||||||
|
},
|
||||||
|
|
||||||
|
selectedRegion(){
|
||||||
|
this.dialogRegionVisible = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
chooseRegion(row) {
|
||||||
|
this.dialogRegionVisible = false;
|
||||||
|
this.formLabelAlign.province = row.province
|
||||||
|
this.formLabelAlign.city = row.city
|
||||||
|
this.formLabelAlign.district = row.district
|
||||||
|
this.formLabelAlign.kilometers = row.kilometers
|
||||||
|
this.price_0t_5t = row.price01
|
||||||
|
this.price_5t_10t = row.price02
|
||||||
|
this.price_10t_25t = row.price03
|
||||||
|
this.price_25t_100t = row.price04
|
||||||
|
this.price_100t = row.price05
|
||||||
|
},
|
||||||
|
searchRegion(){
|
||||||
|
if(this.regionName === ''){
|
||||||
|
this.$message({
|
||||||
|
message: '请输入你要查询的地区名称',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
const params = {
|
||||||
|
regionName : this.regionName
|
||||||
|
}
|
||||||
|
console.log(params)
|
||||||
|
queryRegionListByName(params).then(res => {
|
||||||
|
this.regionTableData = res.data || []
|
||||||
|
this.regionCurrentPage = 1;
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleRegionCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
},
|
||||||
|
|
||||||
|
handleMaterialCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
handleInventoryCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
},
|
||||||
|
|
||||||
|
addMaterial(){
|
||||||
|
this.dialogMaterialVisible = true;
|
||||||
|
},
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
selection.forEach(item => {
|
||||||
|
// 判断是否已经存在于已选列表中,避免重复添加
|
||||||
|
if (!this.selectedMaterialItems.some(selectedItem => selectedItem.materialName === item.materialName)) {
|
||||||
|
this.selectedMaterialItems.push(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
removeSelectedItem(selectedItem) {
|
||||||
|
// 判断当前数据是否被选择
|
||||||
|
const isSelected = this.$refs.materialTable.selection.includes(selectedItem);
|
||||||
|
|
||||||
|
// 从已选列表中移除该项
|
||||||
|
const index = this.selectedMaterialItems.findIndex(item => item.materialName === selectedItem.materialName);
|
||||||
|
if (index !== -1) {
|
||||||
|
this.selectedMaterialItems.splice(index, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果当前数据被选择,则取消 el-table 中该项的选择状态
|
||||||
|
if (isSelected) {
|
||||||
|
this.$refs.materialTable.toggleRowSelection(selectedItem, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
addMaterialToTable() {
|
||||||
|
// 将选中的物料信息添加到表格中
|
||||||
|
this.materialData = this.materialData.concat(this.selectedMaterialItems);
|
||||||
|
|
||||||
|
// 清空选中的物料信息
|
||||||
|
this.selectedMaterialItems = [];
|
||||||
|
this.$refs.materialTable.clearSelection();
|
||||||
|
this.dialogMaterialVisible = false;
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
closeMaterialDialog() {
|
||||||
|
this.dialogMaterialVisible = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
searchMaterial() {
|
||||||
|
if(this.precMaterialName === '' && this.vagueMaterialName === '' && this.vagueModel === '') {
|
||||||
|
this.$message({
|
||||||
|
message: '请输入你要查询的物料条件',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
}else {
|
||||||
|
const params = {
|
||||||
|
precMaterialName : this.precMaterialName,
|
||||||
|
vagueMaterialName : this.vagueMaterialName,
|
||||||
|
vagueModel : this.vagueModel
|
||||||
|
}
|
||||||
|
|
||||||
|
queryMaterialListByParam(params).then(res => {
|
||||||
|
this.materialTableData = res.data || []
|
||||||
|
this.materialCurrentPage = 1;
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleInventoryClick(row, index) {
|
||||||
|
this.clickedRowIndex = index; // 记录点击的行的索引
|
||||||
|
this.dialogInventoryVisible = true; // 打开选择盘具的 dialog
|
||||||
|
},
|
||||||
|
|
||||||
|
getInventoryData() {
|
||||||
|
queryInventoryList().then(res => {
|
||||||
|
this.inventoryTableData = res.data || []
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
chooseInventory(row) {
|
||||||
|
// 在选择盘具的逻辑中,将选择的盘具信息赋值给之前点击的行的数据
|
||||||
|
if (this.clickedRowIndex !== null) {
|
||||||
|
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
||||||
|
const updatedRow = {
|
||||||
|
inventory: row.inventory, // 盘具名称
|
||||||
|
weighInv: row.weighInv, // 盘重信息
|
||||||
|
};
|
||||||
|
this.$set(this.materialData, this.clickedRowIndex, updatedRow);
|
||||||
|
}
|
||||||
|
this.dialogInventoryVisible = false; // 打开选择盘具的 dialog
|
||||||
|
// 其他逻辑
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -389,7 +389,7 @@
|
||||||
@current-change="handleMaterialCurrentChange"
|
@current-change="handleMaterialCurrentChange"
|
||||||
:current-page.sync="materialCurrentPage"
|
:current-page.sync="materialCurrentPage"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
:total="materialTableData.length"
|
:total="materialTableData.length "
|
||||||
></el-pagination>
|
></el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -519,6 +519,10 @@
|
||||||
dialogInventoryVisible: false,
|
dialogInventoryVisible: false,
|
||||||
inventoryTableData: [],
|
inventoryTableData: [],
|
||||||
clickedRowIndex: null, // 用于记录点击的行的索引
|
clickedRowIndex: null, // 用于记录点击的行的索引
|
||||||
|
<<<<<<< HEAD
|
||||||
|
materialTotalRows: 0,
|
||||||
|
=======
|
||||||
|
>>>>>>> df9601da10f7db0d8609eddc1505f4a6f7a1f427
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -666,12 +670,11 @@
|
||||||
const params = {
|
const params = {
|
||||||
precMaterialName : this.precMaterialName,
|
precMaterialName : this.precMaterialName,
|
||||||
vagueMaterialName : this.vagueMaterialName,
|
vagueMaterialName : this.vagueMaterialName,
|
||||||
vagueModel : this.vagueModel
|
vagueModel : this.vagueModel,
|
||||||
}
|
}
|
||||||
|
|
||||||
queryMaterialListByParam(params).then(res => {
|
queryMaterialListByParam(params).then(res => {
|
||||||
this.materialTableData = res.data || []
|
this.materialTableData = res.data || [];
|
||||||
this.materialCurrentPage = 1;
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
this.$message.error('请求出错了:' + err)
|
this.$message.error('请求出错了:' + err)
|
||||||
})
|
})
|
||||||
|
@ -697,7 +700,6 @@
|
||||||
if (this.clickedRowIndex !== null) {
|
if (this.clickedRowIndex !== null) {
|
||||||
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
||||||
const updatedRow = {
|
const updatedRow = {
|
||||||
...this.materialData[this.clickedRowIndex],
|
|
||||||
inventory: row.inventory, // 盘具名称
|
inventory: row.inventory, // 盘具名称
|
||||||
weighInv: row.weighInv, // 盘重信息
|
weighInv: row.weighInv, // 盘重信息
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue