This commit is contained in:
parent
db5fc97c64
commit
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.RestController;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName ZMController
|
||||
|
@ -47,7 +49,7 @@ public class ZMController {
|
|||
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.RegionDto>>
|
||||
*/
|
||||
@PostMapping("/regionList")
|
||||
public R<List<RegionDto>> queryRegionList(@RequestParam("regionName") String regionName){
|
||||
public R queryRegionList(@RequestParam("regionName") String 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>>
|
||||
*/
|
||||
@PostMapping("/materialList")
|
||||
public R<List<MaterialDto>> queryMaterialList(@RequestParam("precMaterialName") String precMaterialName,
|
||||
public R queryMaterialList(@RequestParam("precMaterialName") String precMaterialName,
|
||||
@RequestParam("vagueMaterialName") String vagueMaterialName,
|
||||
@RequestParam("vagueModel") String 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);
|
||||
}
|
||||
|
||||
|
@ -83,7 +89,7 @@ public class ZMController {
|
|||
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.InventoryDto>>
|
||||
*/
|
||||
@PostMapping("/inventoryList")
|
||||
public R<List<InventoryDto>> queryInventoryList() {
|
||||
public R queryInventoryList() {
|
||||
List<InventoryDto> inventoryList = inventoryService.queryInventoryList();
|
||||
|
||||
return R.success(inventoryList);
|
||||
|
|
|
@ -31,7 +31,15 @@ public interface MaterialMapper {
|
|||
" ,[ldtjg] as total_aluminum_consume\n" +
|
||||
" ,[rgsdf] as total_l_h_cost\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" +
|
||||
" WHERE [cb_name] like '${precMaterialName}%' and [cb_name] like '%${vagueMaterialName}%' and [cb_gg] like '%${vagueModel}%'")
|
||||
Integer queryMaterialListCount(String precMaterialName, String vagueMaterialName, String vagueModel);
|
||||
}
|
||||
|
|
|
@ -14,4 +14,6 @@ import java.util.List;
|
|||
public interface MaterialService {
|
||||
|
||||
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) {
|
||||
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>
|
||||
|
||||
</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>
|
|
@ -519,6 +519,7 @@
|
|||
dialogInventoryVisible: false,
|
||||
inventoryTableData: [],
|
||||
clickedRowIndex: null, // 用于记录点击的行的索引
|
||||
materialTotalRows: 0,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -666,12 +667,11 @@
|
|||
const params = {
|
||||
precMaterialName : this.precMaterialName,
|
||||
vagueMaterialName : this.vagueMaterialName,
|
||||
vagueModel : this.vagueModel
|
||||
vagueModel : this.vagueModel,
|
||||
}
|
||||
|
||||
queryMaterialListByParam(params).then(res => {
|
||||
this.materialTableData = res.data || []
|
||||
this.materialCurrentPage = 1;
|
||||
this.materialTableData = res.data || [];
|
||||
}).catch(err => {
|
||||
this.$message.error('请求出错了:' + err)
|
||||
})
|
||||
|
@ -697,7 +697,6 @@
|
|||
if (this.clickedRowIndex !== null) {
|
||||
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
||||
const updatedRow = {
|
||||
...this.materialData[this.clickedRowIndex],
|
||||
inventory: row.inventory, // 盘具名称
|
||||
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>
|
||||
|
||||
</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>
|
|
@ -183,33 +183,17 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<<<<<<< HEAD
|
||||
width="180"
|
||||
=======
|
||||
width="120"
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
prop="voltage"
|
||||
label="电压">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<<<<<<< HEAD
|
||||
width="180"
|
||||
=======
|
||||
width="80"
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
prop="standard"
|
||||
label="标准">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="180"
|
||||
<<<<<<< HEAD
|
||||
prop="core"
|
||||
label="线芯">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="180"
|
||||
=======
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
prop="costPrice"
|
||||
label="成本价">
|
||||
</el-table-column>
|
||||
|
@ -221,21 +205,6 @@
|
|||
<el-table-column
|
||||
width="180"
|
||||
prop="netVolume"
|
||||
<<<<<<< HEAD
|
||||
label="净量">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="180"
|
||||
prop="inventory"
|
||||
label="盘具">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.inventory" >
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="180"
|
||||
=======
|
||||
label="净重量">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
@ -257,7 +226,6 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
width="100"
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
prop="weighInv"
|
||||
label="盘重">
|
||||
</el-table-column>
|
||||
|
@ -296,11 +264,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<el-dialog class="regionDialogTable" :visible.sync="dialogRegionVisible" width="932px" >
|
||||
<<<<<<< HEAD
|
||||
<div slot="title" class="regionTable-title" style="margin: 0px">
|
||||
=======
|
||||
<div slot="title" style="margin: 0px">
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
<el-form>
|
||||
<el-form-item >
|
||||
<el-input style="width: 300px; " v-model="regionName" placeholder="请输入地区名称">
|
||||
|
@ -374,25 +338,16 @@
|
|||
</el-form>
|
||||
</div>
|
||||
<div style="display: flex; flex-direction: row;">
|
||||
<<<<<<< HEAD
|
||||
<div style="width: 866px">
|
||||
<el-table
|
||||
:data="materialTableData"
|
||||
=======
|
||||
<div style="width: 766px">
|
||||
<el-table
|
||||
:data="getCurrentMaterialData"
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
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
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
:row-key="row => row.materialName"
|
||||
:reserve-selection="true"
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
border>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
|
@ -428,14 +383,6 @@
|
|||
prop="standard"
|
||||
label="标准">
|
||||
</el-table-column>
|
||||
<<<<<<< HEAD
|
||||
<el-table-column
|
||||
width="100"
|
||||
prop="core"
|
||||
label="线芯">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
=======
|
||||
</el-table>
|
||||
<div style="text-align: center; margin-top: 10px;">
|
||||
<el-pagination
|
||||
|
@ -445,7 +392,6 @@
|
|||
:total="materialTableData.length "
|
||||
></el-pagination>
|
||||
</div>
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
</div>
|
||||
<div style="flex-grow: 1; padding-left: 20px;">
|
||||
<div
|
||||
|
@ -458,17 +404,12 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
<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>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog class="inventoryDialogTable" :visible.sync="dialogInventoryVisible" width="792px" >
|
||||
|
@ -507,7 +448,6 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
</div>
|
||||
<div style="text-align: center; margin-top: 10px;">
|
||||
<el-pagination
|
||||
|
@ -556,24 +496,8 @@
|
|||
},
|
||||
materialData: [
|
||||
|
||||
<<<<<<< HEAD
|
||||
],
|
||||
regionTableData: [
|
||||
{
|
||||
province: '浙江',
|
||||
city: '杭州',
|
||||
district: '西湖区',
|
||||
kilometers: 10
|
||||
},
|
||||
{
|
||||
province: '上海',
|
||||
city: '上海',
|
||||
district: '黄浦区',
|
||||
kilometers: 20
|
||||
},
|
||||
=======
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
],
|
||||
regionTableData: [],
|
||||
price_0t_5t: '',
|
||||
price_5t_10t: '',
|
||||
price_10t_25t: '',
|
||||
|
@ -586,28 +510,6 @@
|
|||
materialCurrentPage: 1,
|
||||
pageSize: 10,
|
||||
dialogMaterialVisible: false,
|
||||
<<<<<<< HEAD
|
||||
materialTableData: [
|
||||
{
|
||||
materialName: 'Material 1',
|
||||
model: 'Model A',
|
||||
district: 'Spec 1',
|
||||
voltage: '220V',
|
||||
standard: 'Standard 1',
|
||||
core: 'Core X'
|
||||
},
|
||||
{
|
||||
materialName: 'Material 2',
|
||||
model: 'Model B',
|
||||
district: 'Spec 2',
|
||||
voltage: '110V',
|
||||
standard: 'Standard 2',
|
||||
core: 'Core Y'
|
||||
},
|
||||
// Add more data as needed
|
||||
],
|
||||
selectedMaterialItems: [], // 选中的数据
|
||||
=======
|
||||
materialTableData: [],
|
||||
selectedMaterialItems: [], // 选中的数据
|
||||
savedSelectedMaterials: [], // 保存选中的数据
|
||||
|
@ -617,7 +519,7 @@
|
|||
dialogInventoryVisible: false,
|
||||
inventoryTableData: [],
|
||||
clickedRowIndex: null, // 用于记录点击的行的索引
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
materialTotalRows: 0,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -715,14 +617,6 @@
|
|||
this.dialogMaterialVisible = true;
|
||||
},
|
||||
handleSelectionChange(selection) {
|
||||
<<<<<<< HEAD
|
||||
// 当选择发生变化时更新选中数据
|
||||
this.selectedMaterialItems = selection;
|
||||
},
|
||||
removeSelectedItem(selectedItem) {
|
||||
// 移除选中的记录
|
||||
const index = this.selectedMaterialItems.indexOf(selectedItem);
|
||||
=======
|
||||
selection.forEach(item => {
|
||||
// 判断是否已经存在于已选列表中,避免重复添加
|
||||
if (!this.selectedMaterialItems.some(selectedItem => selectedItem.materialName === item.materialName)) {
|
||||
|
@ -737,24 +631,15 @@
|
|||
|
||||
// 从已选列表中移除该项
|
||||
const index = this.selectedMaterialItems.findIndex(item => item.materialName === selectedItem.materialName);
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
if (index !== -1) {
|
||||
this.selectedMaterialItems.splice(index, 1);
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
// 同步取消左侧表格中对应项的选择
|
||||
const tableIndex = this.materialTableData.indexOf(selectedItem);
|
||||
if (tableIndex !== -1) {
|
||||
this.$refs.materialTable.toggleRowSelection(this.materialTableData[tableIndex]);
|
||||
}
|
||||
=======
|
||||
// 如果当前数据被选择,则取消 el-table 中该项的选择状态
|
||||
if (isSelected) {
|
||||
this.$refs.materialTable.toggleRowSelection(selectedItem, false);
|
||||
}
|
||||
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
},
|
||||
|
||||
addMaterialToTable() {
|
||||
|
@ -770,9 +655,6 @@
|
|||
|
||||
closeMaterialDialog() {
|
||||
this.dialogMaterialVisible = false;
|
||||
<<<<<<< HEAD
|
||||
}
|
||||
=======
|
||||
},
|
||||
|
||||
searchMaterial() {
|
||||
|
@ -785,12 +667,11 @@
|
|||
const params = {
|
||||
precMaterialName : this.precMaterialName,
|
||||
vagueMaterialName : this.vagueMaterialName,
|
||||
vagueModel : this.vagueModel
|
||||
vagueModel : this.vagueModel,
|
||||
}
|
||||
|
||||
queryMaterialListByParam(params).then(res => {
|
||||
this.materialTableData = res.data || []
|
||||
this.materialCurrentPage = 1;
|
||||
this.materialTableData = res.data || [];
|
||||
}).catch(err => {
|
||||
this.$message.error('请求出错了:' + err)
|
||||
})
|
||||
|
@ -816,16 +697,14 @@
|
|||
if (this.clickedRowIndex !== null) {
|
||||
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
||||
const updatedRow = {
|
||||
...this.materialData[this.clickedRowIndex],
|
||||
inventory: row.inventory, // 盘具名称
|
||||
weighInv: row.weighInv, // 盘重信息
|
||||
};
|
||||
this.$set(this.materialData, this.clickedRowIndex, updatedRow);
|
||||
}
|
||||
this.dialogInventoryVisible = false; // 打开选择盘具的 dialog
|
||||
// 其他逻辑...
|
||||
// 其他逻辑...23123123
|
||||
},
|
||||
>>>>>>> b1df0122aa39f2820f3b77c6d2aafe960d76c135
|
||||
|
||||
},
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue