Commit b7cbd956 by 李小惠

调整记账接口,修改现场问题bug

parent 590bb009
2024-03-15 05:39:51.368 ERROR 22284 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token 2024-03-22 08:41:56.419 ERROR 16168 --- [http-nio-10030-exec-6] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:00:22.186 ERROR 22432 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict! 2024-03-22 08:44:27.804 ERROR 16168 --- [http-nio-10030-exec-6] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>账号或密码错误
2024-03-15 06:01:24.808 ERROR 22432 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token 2024-03-22 08:45:17.271 ERROR 16168 --- [http-nio-10030-exec-10] c.j.j.b.c.handle.GlobalExceptionHandler : 业务异常,错误信息为:应用名称已存在
2024-03-15 06:01:52.798 ERROR 22432 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : 服务器运行异常
java.lang.NullPointerException: null
at com.junmp.jyzb.service.impl.TjServiceImpl.GetTjDataDetail(TjServiceImpl.java:322)
at com.junmp.jyzb.service.impl.TjServiceImpl.TjOrgEqsExport(TjServiceImpl.java:395)
at com.junmp.jyzb.controller.TjController.TjOrgEqsExport(TjController.java:82)
at com.junmp.jyzb.controller.TjController$$FastClassBySpringCGLIB$$bf817ec2.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at com.junmp.v2.log.aop.ApiLogRecordAop.aroundPost(ApiLogRecordAop.java:66)
at sun.reflect.GeneratedMethodAccessor391.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)
at com.junmp.jyzb.controller.TjController$$EnhancerBySpringCGLIB$$9babb804.TjOrgEqsExport(<generated>)
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 org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
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 com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
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.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 com.junmp.v2.security.xss.XssFilter.doFilter(XssFilter.java:51)
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-03-15 06:02:32.018 ERROR 22432 --- [http-nio-10030-exec-10] c.j.j.b.c.handle.GlobalExceptionHandler : 服务器运行异常
java.lang.NullPointerException: null
at com.junmp.jyzb.service.impl.TjServiceImpl.GetTjDataDetail(TjServiceImpl.java:322)
at com.junmp.jyzb.service.impl.TjServiceImpl.TjOrgEqsExport(TjServiceImpl.java:395)
at com.junmp.jyzb.controller.TjController.TjOrgEqsExport(TjController.java:82)
at com.junmp.jyzb.controller.TjController$$FastClassBySpringCGLIB$$bf817ec2.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at com.junmp.v2.log.aop.ApiLogRecordAop.aroundPost(ApiLogRecordAop.java:66)
at sun.reflect.GeneratedMethodAccessor391.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)
at com.junmp.jyzb.controller.TjController$$EnhancerBySpringCGLIB$$9babb804.TjOrgEqsExport(<generated>)
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 org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
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 com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
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.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 com.junmp.v2.security.xss.XssFilter.doFilter(XssFilter.java:51)
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-03-15 06:05:28.888 ERROR 22432 --- [http-nio-10030-exec-9] c.j.j.b.c.handle.GlobalExceptionHandler : 服务器运行异常
java.lang.NullPointerException: null
at com.junmp.jyzb.service.impl.TjServiceImpl.GetTjDataDetail(TjServiceImpl.java:322)
at com.junmp.jyzb.service.impl.TjServiceImpl.TjOrgEqsExport(TjServiceImpl.java:395)
at com.junmp.jyzb.controller.TjController.TjOrgEqsExport(TjController.java:82)
at com.junmp.jyzb.controller.TjController$$FastClassBySpringCGLIB$$bf817ec2.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at com.junmp.v2.log.aop.ApiLogRecordAop.aroundPost(ApiLogRecordAop.java:66)
at sun.reflect.GeneratedMethodAccessor391.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)
at com.junmp.jyzb.controller.TjController$$EnhancerBySpringCGLIB$$9babb804.TjOrgEqsExport(<generated>)
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 org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
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 com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
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.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 com.junmp.v2.security.xss.XssFilter.doFilter(XssFilter.java:51)
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-03-15 06:05:49.844 ERROR 15964 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:06:59.780 ERROR 15964 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:07:13.582 ERROR 15964 --- [http-nio-10030-exec-6] c.j.j.b.c.handle.GlobalExceptionHandler : 服务器运行异常
java.lang.NullPointerException: null
at com.junmp.jyzb.service.impl.TjServiceImpl.TjOrgEqsExport(TjServiceImpl.java:386)
at com.junmp.jyzb.controller.TjController.TjOrgEqsExport(TjController.java:82)
at com.junmp.jyzb.controller.TjController$$FastClassBySpringCGLIB$$bf817ec2.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at com.junmp.v2.log.aop.ApiLogRecordAop.aroundPost(ApiLogRecordAop.java:66)
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.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)
at com.junmp.jyzb.controller.TjController$$EnhancerBySpringCGLIB$$79df19d3.TjOrgEqsExport(<generated>)
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 org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
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 com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
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.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 com.junmp.v2.security.xss.XssFilter.doFilter(XssFilter.java:51)
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-03-15 06:09:31.113 ERROR 22020 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:09:50.624 ERROR 22020 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:14:34.389 ERROR 22764 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:15:01.636 ERROR 22764 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:19:32.170 ERROR 11220 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:19:58.785 ERROR 11220 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:25:34.566 ERROR 21908 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:26:00.733 ERROR 21908 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:32:59.700 ERROR 22356 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:33:20.752 ERROR 22356 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:38:08.687 ERROR 11080 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:44:28.832 ERROR 23200 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:44:49.296 ERROR 23200 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:45:22.053 ERROR 23272 --- [main] easy-es : Easy-Es supported elasticsearch and restHighLevelClient jar version is:7.14.0 ,Please resolve the dependency conflict!
2024-03-15 06:45:38.904 ERROR 23272 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-15 06:52:32.764 ERROR 23272 --- [http-nio-10030-exec-10] com.junmp.v2.log.aop.ApiLogRecordAop : com.junmp.junmpProcess.controller.BpmnController.getProcessDefinitionId(java.util.LinkedHashMap)
2024-03-15 06:54:21.038 ERROR 23272 --- [http-nio-10030-exec-5] com.junmp.v2.log.aop.ApiLogRecordAop : com.junmp.junmpProcess.controller.BpmnController.getProcessDefinitionId(java.util.LinkedHashMap)
2024-03-15 08:32:48.863 ERROR 23272 --- [http-nio-10030-exec-10] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
2024-03-20 08:34:25.704 WARN 25952 --- [flowable-bpmn-acquire-async-jobs] com.zaxxer.hikari.pool.ProxyConnection : HikariPool-1 - Connection com.mysql.cj.jdbc.ConnectionImpl@618e4896 marked as broken because of SQLSTATE(08S01), ErrorCode(0)
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
at com.mysql.cj.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:2056)
at com.zaxxer.hikari.pool.ProxyConnection.setAutoCommit(ProxyConnection.java:414)
at com.zaxxer.hikari.pool.HikariProxyConnection.setAutoCommit(HikariProxyConnection.java)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:287)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.acquireAndExecuteJobs(AcquireAsyncJobsDueRunnable.java:182)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.executeAcquireCycle(AcquireAsyncJobsDueRunnable.java:156)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.run(AcquireAsyncJobsDueRunnable.java:134)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:538)
at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:702)
at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:641)
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:940)
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryString(NativeProtocol.java:886)
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:1073)
at com.mysql.cj.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:2046)
... 14 common frames omitted
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:52)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:41)
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:54)
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:44)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:532)
... 20 common frames omitted
2024-03-20 08:34:25.704 WARN 25952 --- [flowable-bpmn-acquire-timer-jobs] com.zaxxer.hikari.pool.ProxyConnection : HikariPool-1 - Connection com.mysql.cj.jdbc.ConnectionImpl@60a1470d marked as broken because of SQLSTATE(08S01), ErrorCode(0)
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
at com.mysql.cj.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:2056)
at com.zaxxer.hikari.pool.ProxyConnection.setAutoCommit(ProxyConnection.java:414)
at com.zaxxer.hikari.pool.HikariProxyConnection.setAutoCommit(HikariProxyConnection.java)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:287)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.executeAcquireAndMoveCycle(AcquireTimerJobsRunnable.java:178)
at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.run(AcquireTimerJobsRunnable.java:119)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:538)
at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:702)
at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:641)
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:940)
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryString(NativeProtocol.java:886)
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:1073)
at com.mysql.cj.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:2046)
... 13 common frames omitted
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:52)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:41)
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:54)
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:44)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:532)
... 19 common frames omitted
2024-03-20 08:34:25.709 WARN 25952 --- [flowable-bpmn-acquire-timer-jobs] o.f.j.s.i.a.AcquireTimerJobsRunnable : exception during timer job acquisition for engine bpmn. Exception message: Could not open JDBC Connection for transaction; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:309)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.executeAcquireAndMoveCycle(AcquireTimerJobsRunnable.java:178)
at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.run(AcquireTimerJobsRunnable.java:119)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
at com.mysql.cj.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:2056)
at com.zaxxer.hikari.pool.ProxyConnection.setAutoCommit(ProxyConnection.java:414)
at com.zaxxer.hikari.pool.HikariProxyConnection.setAutoCommit(HikariProxyConnection.java)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:287)
... 10 common frames omitted
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:538)
at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:702)
at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:641)
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:940)
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryString(NativeProtocol.java:886)
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:1073)
at com.mysql.cj.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:2046)
... 13 common frames omitted
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:52)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:41)
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:54)
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:44)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:532)
... 19 common frames omitted
2024-03-20 08:34:25.709 WARN 25952 --- [flowable-bpmn-acquire-async-jobs] o.f.j.s.i.a.AcquireAsyncJobsDueRunnable : exception for engine bpmn during async job acquisition: Could not open JDBC Connection for transaction; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:309)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.acquireAndExecuteJobs(AcquireAsyncJobsDueRunnable.java:182)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.executeAcquireCycle(AcquireAsyncJobsDueRunnable.java:156)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.run(AcquireAsyncJobsDueRunnable.java:134)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
at com.mysql.cj.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:2056)
at com.zaxxer.hikari.pool.ProxyConnection.setAutoCommit(ProxyConnection.java:414)
at com.zaxxer.hikari.pool.HikariProxyConnection.setAutoCommit(HikariProxyConnection.java)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:287)
... 11 common frames omitted
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet successfully received from the server was 57 milliseconds ago. The last packet sent successfully to the server was 57 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:538)
at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:702)
at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:641)
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:940)
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryString(NativeProtocol.java:886)
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:1073)
at com.mysql.cj.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:2046)
... 14 common frames omitted
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:52)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:41)
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:54)
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:44)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:532)
... 20 common frames omitted
2024-03-20 08:34:35.727 WARN 25952 --- [flowable-bpmn-acquire-timer-jobs] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@4fe1aed9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2024-03-20 08:34:35.727 WARN 25952 --- [flowable-bpmn-acquire-async-jobs] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@2bda2b94 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2024-03-20 08:34:35.729 WARN 25952 --- [flowable-bpmn-acquire-timer-jobs] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@6b6efa8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2024-03-20 08:34:35.729 WARN 25952 --- [flowable-bpmn-acquire-async-jobs] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@369a038e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2024-03-20 08:34:35.730 WARN 25952 --- [flowable-bpmn-acquire-timer-jobs] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@53159d2c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2024-03-20 08:34:35.730 WARN 25952 --- [flowable-bpmn-acquire-async-jobs] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@4a6e5e36 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2024-03-20 08:34:35.731 WARN 25952 --- [flowable-bpmn-acquire-timer-jobs] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@11c076f1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2024-03-20 08:35:05.733 WARN 25952 --- [flowable-bpmn-acquire-timer-jobs] o.f.j.s.i.a.AcquireTimerJobsRunnable : exception during timer job acquisition for engine bpmn. Exception message: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30022ms.
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30022ms.
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:309)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.executeAcquireAndMoveCycle(AcquireTimerJobsRunnable.java:178)
at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.run(AcquireTimerJobsRunnable.java:119)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30022ms.
at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162)
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:265)
... 10 common frames omitted
Caused by: java.sql.SQLNonTransientConnectionException: No operations allowed after connection closed.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:73)
at com.mysql.cj.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:2490)
at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560)
at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186)
... 13 common frames omitted
Caused by: com.mysql.cj.exceptions.ConnectionIsClosedException: No operations allowed after connection closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.NativeSession.checkClosed(NativeSession.java:1171)
at com.mysql.cj.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:576)
at com.mysql.cj.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:2486)
... 16 common frames omitted
2024-03-20 08:35:05.733 WARN 25952 --- [flowable-bpmn-acquire-async-jobs] o.f.j.s.i.a.AcquireAsyncJobsDueRunnable : exception for engine bpmn during async job acquisition: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30022ms.
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30022ms.
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:309)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.acquireAndExecuteJobs(AcquireAsyncJobsDueRunnable.java:182)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.executeAcquireCycle(AcquireAsyncJobsDueRunnable.java:156)
at org.flowable.job.service.impl.asyncexecutor.AcquireAsyncJobsDueRunnable.run(AcquireAsyncJobsDueRunnable.java:134)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30022ms.
at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162)
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:265)
... 11 common frames omitted
Caused by: java.sql.SQLNonTransientConnectionException: No operations allowed after connection closed.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:73)
at com.mysql.cj.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:2490)
at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560)
at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162)
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:265)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.executeAcquireAndMoveCycle(AcquireTimerJobsRunnable.java:178)
at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.run(AcquireTimerJobsRunnable.java:119)
... 1 common frames omitted
Caused by: com.mysql.cj.exceptions.ConnectionIsClosedException: No operations allowed after connection closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.NativeSession.checkClosed(NativeSession.java:1171)
at com.mysql.cj.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:576)
at com.mysql.cj.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:2486)
... 16 common frames omitted
2024-03-20 09:02:16.744 ERROR 25952 --- [http-nio-10030-exec-5] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-20 09:25:49.891 INFO 25952 --- [http-nio-10030-exec-8] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 09:25:49.892 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"1","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 09:25:49.892 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 09:30:54.150 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 09:30:55.808 INFO 25952 --- [http-nio-10030-exec-1] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 09:30:55.808 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"2","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 09:30:55.808 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 09:31:47.445 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 09:31:50.306 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 09:31:50.306 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"3","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 09:31:50.306 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 09:32:39.514 WARN 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 09:32:43.127 INFO 25952 --- [http-nio-10030-exec-8] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 09:32:43.127 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"4","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 09:32:43.128 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 09:33:08.136 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 09:33:11.591 INFO 25952 --- [http-nio-10030-exec-10] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 09:33:11.591 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"5","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 09:33:11.591 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 10:10:46.084 ERROR 25952 --- [http-nio-10030-exec-8] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-20 10:10:52.787 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210988684
2024-03-20 10:10:52.788 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"6","serverMsgType":"102","toUserId":"1694954953210988684"}
2024-03-20 10:10:52.788 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 10:15:28.561 INFO 25952 --- [http-nio-10030-exec-2] c.junmp.jyzb.controller.LoginController : 登出成功
2024-03-20 10:15:28.631 WARN 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 10:15:36.109 INFO 25952 --- [http-nio-10030-exec-8] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953211007682
2024-03-20 10:15:36.109 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"7","serverMsgType":"102","toUserId":"1694954953211007682"}
2024-03-20 10:15:36.109 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 10:38:38.113 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 10:38:38.818 ERROR 25952 --- [http-nio-10030-exec-8] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-20 10:39:59.334 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 10:39:59.334 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"8","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 10:39:59.334 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 10:40:02.844 INFO 25952 --- [http-nio-10030-exec-2] c.junmp.jyzb.controller.LoginController : 登出成功
2024-03-20 10:40:02.862 WARN 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 10:40:39.925 INFO 25952 --- [http-nio-10030-exec-6] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989787
2024-03-20 10:40:39.925 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"9","serverMsgType":"102","toUserId":"1694954953210989787"}
2024-03-20 10:40:39.925 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 10:40:45.350 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 10:41:33.128 ERROR 25952 --- [http-nio-10030-exec-9] c.j.j.b.c.handle.GlobalExceptionHandler : 服务器运行异常
org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: java.sql.SQLException: Subquery returns more than 1 row
### The error may exist in file [F:\vue_project\jyzb_platformV2_localhost\jyzb-biz\target\classes\mapper\PubOrgMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select * FROM pub_org where org_id=( select org_id FROM sys_user_org where user_id=(select user_id FROM sys_user where account=?) )
### Cause: java.sql.SQLException: Subquery returns more than 1 row
; bad SQL grammar []; nested exception is java.sql.SQLException: Subquery returns more than 1 row
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:101)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:79)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:79)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
at com.sun.proxy.$Proxy142.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:89)
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.$Proxy211.isRedirect(Unknown Source)
at com.junmp.jyzb.service.impl.PublicServiceImpl.isRedirect(PublicServiceImpl.java:146)
at com.junmp.jyzb.service.impl.PublicServiceImpl$$FastClassBySpringCGLIB$$84ecfe99.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at com.junmp.jyzb.service.impl.PublicServiceImpl$$EnhancerBySpringCGLIB$$e204adaf.isRedirect(<generated>)
at com.junmp.jyzb.controller.PublicController.isRedirect(PublicController.java:212)
at com.junmp.jyzb.controller.PublicController$$FastClassBySpringCGLIB$$9fc086f5.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at com.junmp.v2.log.aop.ApiLogRecordAop.aroundPost(ApiLogRecordAop.java:66)
at sun.reflect.GeneratedMethodAccessor328.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)
at com.junmp.jyzb.controller.PublicController$$EnhancerBySpringCGLIB$$49f7d00f.isRedirect(<generated>)
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.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:87)
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.CorsFilter.doFilterInternal(CorsFilter.java:91)
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 com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
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.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 com.junmp.v2.security.xss.XssFilter.doFilter(XssFilter.java:51)
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)
Caused by: java.sql.SQLException: Subquery returns more than 1 row
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
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.GeneratedMethodAccessor252.invoke(Unknown Source)
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:64)
at com.sun.proxy.$Proxy355.query(Unknown Source)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
at com.sun.proxy.$Proxy354.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76)
at sun.reflect.GeneratedMethodAccessor427.invoke(Unknown Source)
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:427)
... 95 common frames omitted
2024-03-20 13:58:53.632 INFO 25952 --- [http-nio-10030-exec-2] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 13:58:53.632 INFO 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"a","serverMsgType":"102","toUserId":"1000"}
2024-03-20 13:58:53.632 INFO 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:03:50.576 WARN 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:03:53.969 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:03:53.969 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"b","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:03:53.969 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:04:44.630 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:04:48.173 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:04:48.173 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"c","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:04:48.173 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:05:01.502 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:05:05.024 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:05:05.024 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"d","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:05:05.024 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:05:13.870 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:05:17.221 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:05:17.221 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"e","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:05:17.221 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:05:18.900 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:05:24.459 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:05:24.460 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"f","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:05:24.460 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:05:30.900 WARN 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:05:34.372 INFO 25952 --- [http-nio-10030-exec-1] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:05:34.372 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"10","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:05:34.372 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:07:20.376 WARN 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:07:23.840 INFO 25952 --- [http-nio-10030-exec-2] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:07:23.840 INFO 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"11","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:07:23.840 INFO 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:07:38.714 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:07:42.140 INFO 25952 --- [http-nio-10030-exec-10] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:07:42.140 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"12","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:07:42.140 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:09:10.436 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:09:13.933 INFO 25952 --- [http-nio-10030-exec-10] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:09:13.933 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"13","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:09:13.933 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:11:44.198 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:11:47.685 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:11:47.685 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"14","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:11:47.685 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:12:40.363 WARN 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:12:44.250 INFO 25952 --- [http-nio-10030-exec-8] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:12:44.250 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"15","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:12:44.250 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:13:03.870 WARN 25952 --- [http-nio-10030-exec-5] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:13:07.334 INFO 25952 --- [http-nio-10030-exec-6] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:13:07.334 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"16","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:13:07.334 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:14:33.834 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:14:37.373 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:14:37.373 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"17","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:14:37.373 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:14:57.964 WARN 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:15:01.595 INFO 25952 --- [http-nio-10030-exec-1] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:15:01.595 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"18","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:15:01.596 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:15:19.508 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:15:23.101 INFO 25952 --- [http-nio-10030-exec-4] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:15:23.102 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"19","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:15:23.102 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:15:58.131 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:16:01.665 INFO 25952 --- [http-nio-10030-exec-10] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:16:01.665 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"1a","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:16:01.665 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:17:40.678 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:17:44.233 INFO 25952 --- [http-nio-10030-exec-10] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:17:44.233 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"1b","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:17:44.233 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:19:13.642 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:19:17.140 INFO 25952 --- [http-nio-10030-exec-10] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:19:17.141 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"1c","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:19:17.141 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:19:40.681 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:19:44.260 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:19:44.260 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"1d","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:19:44.260 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:20:56.677 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:21:00.213 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:21:00.213 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"1e","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:21:00.213 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:21:58.868 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:22:02.401 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:22:02.401 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"1f","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:22:02.402 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:22:28.491 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:22:32.089 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:22:32.089 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"20","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:22:32.090 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:22:47.419 WARN 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:22:51.094 INFO 25952 --- [http-nio-10030-exec-1] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:22:51.095 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"21","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:22:51.095 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:23:14.418 WARN 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:23:17.036 INFO 25952 --- [http-nio-10030-exec-4] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:23:17.036 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"22","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:23:17.036 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:24:28.925 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:24:32.444 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:24:32.444 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"23","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:24:32.444 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:25:55.964 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:25:59.523 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:25:59.523 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"24","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:25:59.523 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:26:54.769 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:26:57.987 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:26:57.988 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"25","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:26:57.988 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:27:13.975 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:27:16.102 INFO 25952 --- [http-nio-10030-exec-4] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:27:16.102 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"26","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:27:16.102 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:28:11.476 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:28:13.717 INFO 25952 --- [http-nio-10030-exec-4] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:28:13.717 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"27","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:28:13.718 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:28:30.316 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:28:32.542 INFO 25952 --- [http-nio-10030-exec-4] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:28:32.542 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"28","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:28:32.542 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:30:16.438 WARN 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:30:18.752 INFO 25952 --- [http-nio-10030-exec-7] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:30:18.752 INFO 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"29","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:30:18.752 INFO 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:34:31.253 WARN 25952 --- [http-nio-10030-exec-5] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:34:33.255 INFO 25952 --- [http-nio-10030-exec-6] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:34:33.255 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"2a","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:34:33.255 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:35:42.395 WARN 25952 --- [http-nio-10030-exec-5] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:35:44.664 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:35:44.664 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"2b","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:35:44.664 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:40:32.815 WARN 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:40:35.235 INFO 25952 --- [http-nio-10030-exec-2] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:40:35.235 INFO 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"2c","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:40:35.235 INFO 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 14:44:09.294 WARN 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 14:44:11.731 INFO 25952 --- [http-nio-10030-exec-2] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 14:44:11.731 INFO 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"2d","serverMsgType":"102","toUserId":"1000"}
2024-03-20 14:44:11.731 INFO 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 15:17:31.901 WARN 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 15:17:34.175 INFO 25952 --- [http-nio-10030-exec-1] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 15:17:34.175 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"2e","serverMsgType":"102","toUserId":"1000"}
2024-03-20 15:17:34.175 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 15:43:28.935 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 15:43:31.175 INFO 25952 --- [http-nio-10030-exec-4] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 15:43:31.175 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"2f","serverMsgType":"102","toUserId":"1000"}
2024-03-20 15:43:31.175 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 15:47:47.996 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 15:47:50.214 INFO 25952 --- [http-nio-10030-exec-4] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1000
2024-03-20 15:47:50.214 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"30","serverMsgType":"102","toUserId":"1000"}
2024-03-20 15:47:50.214 INFO 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 15:49:46.711 INFO 25952 --- [http-nio-10030-exec-6] c.junmp.jyzb.controller.LoginController : 登出成功
2024-03-20 15:49:46.735 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 15:49:49.420 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 15:49:49.420 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"31","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 15:49:49.420 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 15:56:57.143 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 15:57:01.083 INFO 25952 --- [http-nio-10030-exec-5] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 15:57:01.084 INFO 25952 --- [http-nio-10030-exec-5] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"32","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 15:57:01.084 INFO 25952 --- [http-nio-10030-exec-5] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 15:59:46.510 WARN 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 15:59:50.405 INFO 25952 --- [http-nio-10030-exec-1] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 15:59:50.405 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"33","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 15:59:50.405 INFO 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:00:17.814 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:00:19.850 INFO 25952 --- [http-nio-10030-exec-5] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:00:19.850 INFO 25952 --- [http-nio-10030-exec-5] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"34","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:00:19.850 INFO 25952 --- [http-nio-10030-exec-5] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:00:34.132 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:00:37.693 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:00:37.693 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"35","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:00:37.694 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:03:29.913 WARN 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:03:34.663 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:03:34.663 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"36","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:03:34.663 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:03:59.414 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:04:02.977 INFO 25952 --- [http-nio-10030-exec-8] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:04:02.978 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"37","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:04:02.978 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:04:50.258 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:04:54.918 INFO 25952 --- [http-nio-10030-exec-7] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:04:54.918 INFO 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"38","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:04:54.919 INFO 25952 --- [http-nio-10030-exec-7] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:05:25.458 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:05:29.138 INFO 25952 --- [http-nio-10030-exec-8] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:05:29.138 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"39","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:05:29.138 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:09:23.512 WARN 25952 --- [http-nio-10030-exec-2] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:09:27.590 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:09:27.591 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"3a","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:09:27.591 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:10:00.887 WARN 25952 --- [http-nio-10030-exec-5] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:10:04.546 INFO 25952 --- [http-nio-10030-exec-8] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:10:04.546 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"3b","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:10:04.546 INFO 25952 --- [http-nio-10030-exec-8] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:10:29.885 WARN 25952 --- [http-nio-10030-exec-1] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:10:34.186 INFO 25952 --- [http-nio-10030-exec-6] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:10:34.186 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"3c","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:10:34.186 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:11:23.993 INFO 25952 --- [http-nio-10030-exec-6] c.junmp.jyzb.controller.LoginController : 登出成功
2024-03-20 16:11:24.015 WARN 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:12:19.743 INFO 25952 --- [http-nio-10030-exec-10] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:12:19.743 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"3d","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:12:19.743 INFO 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:12:36.576 INFO 25952 --- [http-nio-10030-exec-2] c.junmp.jyzb.controller.LoginController : 登出成功
2024-03-20 16:12:36.590 WARN 25952 --- [http-nio-10030-exec-4] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:12:39.697 INFO 25952 --- [http-nio-10030-exec-6] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989114
2024-03-20 16:12:39.697 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"3e","serverMsgType":"102","toUserId":"1694954953210989114"}
2024-03-20 16:12:39.698 INFO 25952 --- [http-nio-10030-exec-6] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:21:33.000 INFO 25952 --- [http-nio-10030-exec-5] c.junmp.jyzb.controller.LoginController : 登出成功
2024-03-20 16:21:33.014 WARN 25952 --- [http-nio-10030-exec-10] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:21:35.821 INFO 25952 --- [http-nio-10030-exec-3] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210989335
2024-03-20 16:21:35.821 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"3f","serverMsgType":"102","toUserId":"1694954953210989335"}
2024-03-20 16:21:35.821 INFO 25952 --- [http-nio-10030-exec-3] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:27:15.365 WARN 25952 --- [HikariPool-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=5m43s549ms231µs958ns).
2024-03-20 16:27:15.365 WARN 25952 --- [AMQP Connection 192.168.3.121:5672] c.r.c.impl.ForgivingExceptionHandler : An unexpected connection driver error occured (Exception message: Connection reset)
2024-03-20 16:27:15.366 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:27:15.369 ERROR 25952 --- [http-nio-10030-exec-1] c.j.j.b.c.handle.GlobalExceptionHandler : >授权异常>>获取token失败,请检查header和param中是否传递了用户token
2024-03-20 16:27:15.370 INFO 25952 --- [http-nio-10030-exec-9] com.junmp.v2.ws.session.WsSessionHandle : 当前连接用户编号>>1694954953210986498
2024-03-20 16:27:15.370 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 推送消息>>{"data":"40","serverMsgType":"102","toUserId":"1694954953210986498"}
2024-03-20 16:27:15.371 WARN 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 会话已关闭
2024-03-20 16:27:15.371 ERROR 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.channel.WsSessionContainer : 数据推送异常>>java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
2024-03-20 16:27:15.371 INFO 25952 --- [http-nio-10030-exec-9] c.j.v2.ws.server.ScreenWebSocketServer : 已建立连接
2024-03-20 16:27:25.621 INFO 18492 --- [main] c.j.v.c.listener.ConfigInitListener : 当前数据库驱动类>>>com.mysql.cj.jdbc.Driver
2024-03-20 16:27:26.142 WARN 18492 --- [background-preinit] o.s.h.c.j.Jackson2ObjectMapperBuilder : For Jackson Kotlin classes support please add "com.fasterxml.jackson.module:jackson-module-kotlin" to the classpath
2024-03-20 16:27:32.898 ERROR 18492 --- [main] c.j.v.c.listener.ConfigInitListener : 初始化系统配置表失败,执行查询语句失败
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:906)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:831)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.junmp.v2.config.listener.ConfigInitListener.eventCallback(ConfigInitListener.java:79)
at com.junmp.v2.common.listener.ContextInitializedListener.onApplicationEvent(ContextInitializedListener.java:30)
at com.junmp.v2.common.listener.ContextInitializedListener.onApplicationEvent(ContextInitializedListener.java:20)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
at org.springframework.boot.context.event.EventPublishingRunListener.contextPrepared(EventPublishingRunListener.java:89)
at org.springframework.boot.SpringApplicationRunListeners.lambda$contextPrepared$3(SpringApplicationRunListeners.java:67)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:117)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:111)
at org.springframework.boot.SpringApplicationRunListeners.contextPrepared(SpringApplicationRunListeners.java:67)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:391)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:325)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1313)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302)
at com.junmp.jyzb.boot.JyzbBootApplication.main(JyzbBootApplication.java:46)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:91)
at com.mysql.cj.NativeSession.connect(NativeSession.java:144)
at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:850)
... 24 common frames omitted
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
at java.net.Socket.connect(Socket.java:606)
at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155)
at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:65)
... 26 common frames omitted
2024-03-20 16:27:32.956 ERROR 18492 --- [main] o.s.boot.SpringApplication : Application run failed
com.junmp.v2.config.api.exception.ConfigException: 初始化系统配置表失败,执行查询语句失败
at com.junmp.v2.config.listener.ConfigInitListener.eventCallback(ConfigInitListener.java:95)
at com.junmp.v2.common.listener.ContextInitializedListener.onApplicationEvent(ContextInitializedListener.java:30)
at com.junmp.v2.common.listener.ContextInitializedListener.onApplicationEvent(ContextInitializedListener.java:20)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
at org.springframework.boot.context.event.EventPublishingRunListener.contextPrepared(EventPublishingRunListener.java:89)
at org.springframework.boot.SpringApplicationRunListeners.lambda$contextPrepared$3(SpringApplicationRunListeners.java:67)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:117)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:111)
at org.springframework.boot.SpringApplicationRunListeners.contextPrepared(SpringApplicationRunListeners.java:67)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:391)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:325)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1313)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302)
at com.junmp.jyzb.boot.JyzbBootApplication.main(JyzbBootApplication.java:46)
2024-03-20 16:29:17.210 INFO 24932 --- [main] c.j.v.c.listener.ConfigInitListener : 当前数据库驱动类>>>com.mysql.cj.jdbc.Driver
2024-03-20 16:29:17.502 WARN 24932 --- [background-preinit] o.s.h.c.j.Jackson2ObjectMapperBuilder : For Jackson Kotlin classes support please add "com.fasterxml.jackson.module:jackson-module-kotlin" to the classpath
2024-03-20 16:29:24.287 ERROR 24932 --- [main] c.j.v.c.listener.ConfigInitListener : 初始化系统配置表失败,执行查询语句失败
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:906)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:831)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.junmp.v2.config.listener.ConfigInitListener.eventCallback(ConfigInitListener.java:79)
at com.junmp.v2.common.listener.ContextInitializedListener.onApplicationEvent(ContextInitializedListener.java:30)
at com.junmp.v2.common.listener.ContextInitializedListener.onApplicationEvent(ContextInitializedListener.java:20)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
at org.springframework.boot.context.event.EventPublishingRunListener.contextPrepared(EventPublishingRunListener.java:89)
at org.springframework.boot.SpringApplicationRunListeners.lambda$contextPrepared$3(SpringApplicationRunListeners.java:67)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:117)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:111)
at org.springframework.boot.SpringApplicationRunListeners.contextPrepared(SpringApplicationRunListeners.java:67)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:391)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:325)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1313)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302)
at com.junmp.jyzb.boot.JyzbBootApplication.main(JyzbBootApplication.java:46)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:91)
at com.mysql.cj.NativeSession.connect(NativeSession.java:144)
at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:850)
... 24 common frames omitted
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
at java.net.Socket.connect(Socket.java:606)
at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155)
at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:65)
... 26 common frames omitted
2024-03-20 16:29:24.337 ERROR 24932 --- [main] o.s.boot.SpringApplication : Application run failed
com.junmp.v2.config.api.exception.ConfigException: 初始化系统配置表失败,执行查询语句失败
at com.junmp.v2.config.listener.ConfigInitListener.eventCallback(ConfigInitListener.java:95)
at com.junmp.v2.common.listener.ContextInitializedListener.onApplicationEvent(ContextInitializedListener.java:30)
at com.junmp.v2.common.listener.ContextInitializedListener.onApplicationEvent(ContextInitializedListener.java:20)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
at org.springframework.boot.context.event.EventPublishingRunListener.contextPrepared(EventPublishingRunListener.java:89)
at org.springframework.boot.SpringApplicationRunListeners.lambda$contextPrepared$3(SpringApplicationRunListeners.java:67)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:117)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:111)
at org.springframework.boot.SpringApplicationRunListeners.contextPrepared(SpringApplicationRunListeners.java:67)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:391)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:325)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1313)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302)
at com.junmp.jyzb.boot.JyzbBootApplication.main(JyzbBootApplication.java:46)
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -22,6 +22,7 @@ public class OrgDto { ...@@ -22,6 +22,7 @@ public class OrgDto {
private Integer delFlag; private Integer delFlag;
private Integer childCount; private Integer childCount;
private Date updateTime; private Date updateTime;
private Integer isFlag;
private List<OrgDto> children = new ArrayList<>(); private List<OrgDto> children = new ArrayList<>();
public void addChild(OrgDto child) { public void addChild(OrgDto child) {
......
...@@ -23,4 +23,5 @@ public class BussinessInventoryReq { ...@@ -23,4 +23,5 @@ public class BussinessInventoryReq {
private String endTime; private String endTime;
private String column; private String column;
private String order; private String order;
private String result;
} }
\ No newline at end of file
...@@ -129,6 +129,8 @@ public class LogSummaryReq extends BaseRequest { ...@@ -129,6 +129,8 @@ public class LogSummaryReq extends BaseRequest {
private String typeId; private String typeId;
private String sizeId; private String sizeId;
private BigDecimal price; private BigDecimal price;
private Integer property;
private String epc;
private String column; private String column;
private String order; private String order;
...@@ -137,5 +139,6 @@ public class LogSummaryReq extends BaseRequest { ...@@ -137,5 +139,6 @@ public class LogSummaryReq extends BaseRequest {
private String endTime; private String endTime;
private String typeName; private String typeName;
private String sizeName;
} }
...@@ -20,6 +20,8 @@ public class QueryOrgReq { ...@@ -20,6 +20,8 @@ public class QueryOrgReq {
private Integer level; private Integer level;
private Integer delFlag; private Integer delFlag;
private String dName; private String dName;
private Integer isFlag;
} }
...@@ -37,6 +37,7 @@ public class UpdateOrgReq { ...@@ -37,6 +37,7 @@ public class UpdateOrgReq {
private String findCode; private String findCode;
@NotNull(message = "组织机构id不能为空",groups = {ValidationApi.edit.class, ValidationApi.detail.class}) @NotNull(message = "组织机构id不能为空",groups = {ValidationApi.edit.class, ValidationApi.detail.class})
private Long orgId; private Long orgId;
private Integer isFlag;
} }
......
...@@ -24,7 +24,8 @@ public enum EquipmentExceptionEnum implements IExceptionEnum { ...@@ -24,7 +24,8 @@ public enum EquipmentExceptionEnum implements IExceptionEnum {
/** /**
* 装备不存在 * 装备不存在
*/ */
SUPPLIER_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE , "{}"), SIZE_NAME_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE , "{}"),
TYPE_NAME_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE , "{}"),
/** /**
* 装备名称重复 * 装备名称重复
...@@ -34,6 +35,8 @@ public enum EquipmentExceptionEnum implements IExceptionEnum { ...@@ -34,6 +35,8 @@ public enum EquipmentExceptionEnum implements IExceptionEnum {
* 装备名称和编号重复 * 装备名称和编号重复
*/ */
EQUIPMENT_NAME_CODE_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"装备名称重复"), EQUIPMENT_NAME_CODE_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"装备名称重复"),
SUPPLIER_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE , "{}"),
; ;
......
...@@ -28,6 +28,7 @@ public enum PolicemanExceptionEnum implements IExceptionEnum { ...@@ -28,6 +28,7 @@ public enum PolicemanExceptionEnum implements IExceptionEnum {
* *
*/ */
POLICECODE_IS_EXISTS(CommonConstant.DEFAULT_USER_ERROR_CODE,"警员编号已经存在,警员编号重复"), POLICECODE_IS_EXISTS(CommonConstant.DEFAULT_USER_ERROR_CODE,"警员编号已经存在,警员编号重复"),
POLICENAME_IS_EXISTS(CommonConstant.DEFAULT_USER_ERROR_CODE,"警员姓名已经存在,警员姓名重复"),
/** /**
* 该警员已经绑定账号 * 该警员已经绑定账号
......
...@@ -23,6 +23,8 @@ public enum SupplierExceptionEnum implements IExceptionEnum { ...@@ -23,6 +23,8 @@ public enum SupplierExceptionEnum implements IExceptionEnum {
SUPPLIER_NAME_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE, "厂商名称已存在"), SUPPLIER_NAME_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE, "厂商名称已存在"),
SUPPLIER_CODE_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE, "厂商编码已存在"), SUPPLIER_CODE_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE, "厂商编码已存在"),
SUPPLIER_NAME_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE , "{}"),
; ;
......
...@@ -13,6 +13,8 @@ public enum WarehouseExceptionEnum implements IExceptionEnum { ...@@ -13,6 +13,8 @@ public enum WarehouseExceptionEnum implements IExceptionEnum {
WAREHOUSE_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE , "仓库信息不存在"), WAREHOUSE_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE , "仓库信息不存在"),
WAREHOUSE_IS_LOCKED(CommonConstant.DEFAULT_USER_ERROR_CODE , "仓库锁库中,记账失败"), WAREHOUSE_IS_LOCKED(CommonConstant.DEFAULT_USER_ERROR_CODE , "仓库锁库中,记账失败"),
WAREHOUSE_NAME_IS_EXIET(CommonConstant.DEFAULT_USER_ERROR_CODE , "仓库名称已存在,请勿提交重复名称"), WAREHOUSE_NAME_IS_EXIET(CommonConstant.DEFAULT_USER_ERROR_CODE , "仓库名称已存在,请勿提交重复名称"),
WAREHOUSE_NAME_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE , "{}"),
; ;
......
...@@ -296,6 +296,7 @@ public class InventoryController { ...@@ -296,6 +296,7 @@ public class InventoryController {
@PostMapping(path = "/EqsImport",name = "装备导入#logType=30") @PostMapping(path = "/EqsImport",name = "装备导入#logType=30")
@ApiOperation("装备导入") @ApiOperation("装备导入")
public ApiRes<Boolean> EqsImport(@RequestBody InventoryReq req){ public ApiRes<Boolean> EqsImport(@RequestBody InventoryReq req){
return ApiRes.success(inventoryService.EqsImport(req)); return ApiRes.success(inventoryService.EqsImport(req));
} }
......
...@@ -331,4 +331,10 @@ public class PoliceController { ...@@ -331,4 +331,10 @@ public class PoliceController {
return ApiRes.success(policemanService.CreateSystemAccount()); return ApiRes.success(policemanService.CreateSystemAccount());
} }
@PostMapping(path = "/CreateAllUserId",name = "一键生成普通警员账号#logType=30")
@ApiOperation("/一键生成普通警员账号")
public ApiRes<Boolean> CreateAllUserId(){
return ApiRes.success(policemanService.CreateAllUserId());
}
} }
...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.AES; import com.baomidou.mybatisplus.core.toolkit.AES;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...@@ -21,9 +22,11 @@ import com.junmp.jyzb.cache.OutInRecordRedisCache; ...@@ -21,9 +22,11 @@ import com.junmp.jyzb.cache.OutInRecordRedisCache;
import com.junmp.jyzb.entity.Inventory; import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.Policeman; import com.junmp.jyzb.entity.Policeman;
import com.junmp.jyzb.entity.PubOrg; import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.mapper.PolicemanMapper;
import com.junmp.jyzb.service.*; import com.junmp.jyzb.service.*;
import com.junmp.jyzb.utils.DateTimeUtil; import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.FileUtil; import com.junmp.jyzb.utils.FileUtil;
import com.junmp.v2.auth.api.password.IStoredEncryptApi;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.enums.StatusEnum; import com.junmp.v2.common.enums.StatusEnum;
...@@ -45,6 +48,8 @@ import com.junmp.v2.file.biz.entity.SysFileInfo; ...@@ -45,6 +48,8 @@ import com.junmp.v2.file.biz.entity.SysFileInfo;
import com.junmp.v2.file.biz.service.SysFileInfoService; import com.junmp.v2.file.biz.service.SysFileInfoService;
import com.junmp.v2.message.api.bean.req.MessageReq; import com.junmp.v2.message.api.bean.req.MessageReq;
import com.junmp.v2.message.api.bean.req.MessageSendReq; import com.junmp.v2.message.api.bean.req.MessageSendReq;
import com.junmp.v2.sys.api.bean.user.req.SysUserReq;
import com.junmp.v2.sys.user.entity.SysUser;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.IOUtils; import org.apache.commons.compress.utils.IOUtils;
...@@ -107,6 +112,9 @@ public class PublicController { ...@@ -107,6 +112,9 @@ public class PublicController {
@Resource @Resource
private OutInRecordRedisCache outInRecordRedisCache; private OutInRecordRedisCache outInRecordRedisCache;
@Resource
private PolicemanMapper policemanMapper;
private final static String DB_URL_TEMPLATE = "jdbc:mysql://{}:{}/{}?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true"; private final static String DB_URL_TEMPLATE = "jdbc:mysql://{}:{}/{}?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true";
...@@ -159,6 +167,7 @@ public class PublicController { ...@@ -159,6 +167,7 @@ public class PublicController {
@ApiOperation("更新消息") @ApiOperation("更新消息")
public ApiRes<Boolean> updateMessage(@RequestBody MessageReq req){ public ApiRes<Boolean> updateMessage(@RequestBody MessageReq req){
return ApiRes.success(publicService.updateMessage(req)); return ApiRes.success(publicService.updateMessage(req));
// return ApiRes.success(true);
} }
...@@ -197,6 +206,36 @@ public class PublicController { ...@@ -197,6 +206,36 @@ public class PublicController {
return ApiRes.success(pubOrgService.findCodeToOrgId(pubOrg)); return ApiRes.success(pubOrgService.findCodeToOrgId(pubOrg));
} }
@PostMapping(path = "/isRedirect",name = "是否需要重定向#logType=30")
@ApiOperation("是否需要重定向")
public ApiRes<Boolean> isRedirect(@RequestBody SysUserReq user){
return ApiRes.success(publicService.isRedirect(user));
}
@PostMapping("/aaaa")
public void aaaa(){
List<Policeman> policemanList=policemanMapper.getAllPolice();
List<Long> userIds=policemanMapper.getUserIds();
List<Long> list = new ArrayList<>();
for (int i=0;i<policemanList.size();i++) {
boolean flag=false;
Random random = new Random();
long rangeStart = 100000000000000000L; // 10^18
long rangeEnd = 999999999999999999L; // 10^19 - 1
Long userId=rangeStart + ((long) (random.nextDouble() * (rangeEnd - rangeStart)));
if (userIds.contains(userId)){
flag=true;
}
if (!flag){
list.add(userId);
}
if (flag){
i--;
}
}
System.out.println("list.toString() = " + list.toString());
}
} }
...@@ -222,4 +222,9 @@ public class PubOrg implements Serializable { ...@@ -222,4 +222,9 @@ public class PubOrg implements Serializable {
@TableField(value = "police_update_time") @TableField(value = "police_update_time")
private Date policeUpdateTime; private Date policeUpdateTime;
@TableField(value = "is_flag")
private Integer isFlag;
@TableField(exist = false)
private Integer isLastNode;
} }
\ No newline at end of file
...@@ -31,6 +31,7 @@ public interface InventoryMapper extends BaseMapper<Inventory> { ...@@ -31,6 +31,7 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
List<InventoryMapDto> GetViewInventoryMap(@Param("warehouseId") String warehouseId); List<InventoryMapDto> GetViewInventoryMap(@Param("warehouseId") String warehouseId);
Boolean deleteByEpcs(@Param("list") List<String> epcs); Boolean deleteByEpcs(@Param("list") List<String> epcs);
Boolean deleteByEpcs1(@Param("orgId") Long orgId,@Param("locationId")String locationId);
Boolean DeleteEpcsWithoutWarehouse(@Param("list") List<String> epcs,@Param("orgId") String orgId,@Param("warehouseId") String warehouseId); Boolean DeleteEpcsWithoutWarehouse(@Param("list") List<String> epcs,@Param("orgId") String orgId,@Param("warehouseId") String warehouseId);
...@@ -115,6 +116,8 @@ public interface InventoryMapper extends BaseMapper<Inventory> { ...@@ -115,6 +116,8 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
List<Inventory> selectSum(@Param("list") List<Object[]> searchItem,@Param("epcType")Integer epcType); List<Inventory> selectSum(@Param("list") List<Object[]> searchItem,@Param("epcType")Integer epcType);
List<InventoryReq> selectDemo(@Param("typeNameList") List<String> newTypeList, @Param("sizeNameList") List<String> newSizeList);
// IPage<InventoryDto> GetDetailByTerms(@Param("page") Page<Object> defaultPage, @Param("req") InventoryReq req); // IPage<InventoryDto> GetDetailByTerms(@Param("page") Page<Object> defaultPage, @Param("req") InventoryReq req);
......
...@@ -102,4 +102,8 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { ...@@ -102,4 +102,8 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
void setWarrantyGroupAction(); void setWarrantyGroupAction();
void updateSummaryInsByOrder(@Param("orgId") Long orgId); void updateSummaryInsByOrder(@Param("orgId") Long orgId);
void updateSummaryInsImport(@Param("orgId") Long orgId,@Param("locationId") String locationId);
void deleteByOrgId(@Param("orgId") Long orgId,@Param("locationId") String locationId);
} }
\ No newline at end of file
...@@ -35,6 +35,8 @@ public interface LogSummaryMapper extends BaseMapper<LogSummary> { ...@@ -35,6 +35,8 @@ public interface LogSummaryMapper extends BaseMapper<LogSummary> {
@Param("pageSize")Long pageSize); @Param("pageSize")Long pageSize);
LogSummaryDto RecordSumByOrderIdSum(@Param("req") LogSummaryReq req); LogSummaryDto RecordSumByOrderIdSum(@Param("req") LogSummaryReq req);
List<LogSummaryReq> selectByOrderCode(@Param("bussinessCode") String bussinessCode);
} }
......
...@@ -26,7 +26,7 @@ public interface PolicemanMapper extends BaseMapper<Policeman> { ...@@ -26,7 +26,7 @@ public interface PolicemanMapper extends BaseMapper<Policeman> {
Map<String, Object> getOnePolice(String id); Map<String, Object> getOnePolice(String id);
List<Map<String,Object>> getAllPolice(); List<Policeman> getAllPolice();
List<Map<String, Object>> getAllPolicemanByOrg(String orgId); List<Map<String, Object>> getAllPolicemanByOrg(String orgId);
...@@ -70,4 +70,8 @@ public interface PolicemanMapper extends BaseMapper<Policeman> { ...@@ -70,4 +70,8 @@ public interface PolicemanMapper extends BaseMapper<Policeman> {
void insertSysUser(@Param("userList") List<SysUser> sysUserList); void insertSysUser(@Param("userList") List<SysUser> sysUserList);
String searchUserByRoleId(@Param("orgId") Long orgId); String searchUserByRoleId(@Param("orgId") Long orgId);
List<Long> getUserIds();
SysUserReq selectUserById(@Param("userId") Long userId);
} }
\ No newline at end of file
...@@ -24,4 +24,8 @@ public interface PubOrgMapper extends BaseMapper<PubOrg> { ...@@ -24,4 +24,8 @@ public interface PubOrgMapper extends BaseMapper<PubOrg> {
List<TjOrgEqsDto> getLowOrg(@Param("orgId") Long orgId); List<TjOrgEqsDto> getLowOrg(@Param("orgId") Long orgId);
boolean setAllUserState(@Param("list") List<Long> collect,@Param("delFlag") Integer delFlag); boolean setAllUserState(@Param("list") List<Long> collect,@Param("delFlag") Integer delFlag);
PubOrg isRedirect(@Param("account") String account);
int selectLastNode(@Param("orgId") Long orgId);
} }
\ No newline at end of file
...@@ -12,4 +12,6 @@ import java.util.List; ...@@ -12,4 +12,6 @@ import java.util.List;
public interface VieDestroyGroupMapper extends BaseMapper<VieDestoryGroup> { public interface VieDestroyGroupMapper extends BaseMapper<VieDestoryGroup> {
List<VieDestoryGroup> selectByTerms(@Param("list") List<VieWarrantyGroup> valuesList); List<VieDestoryGroup> selectByTerms(@Param("list") List<VieWarrantyGroup> valuesList);
List<VieDestoryGroup> selectSum(@Param("list") List<Object[]> searchItem);
} }
\ No newline at end of file
...@@ -17,6 +17,8 @@ import java.util.List; ...@@ -17,6 +17,8 @@ import java.util.List;
public interface WarehouseInventoryMapper extends BaseMapper<WarehouseInventory> { public interface WarehouseInventoryMapper extends BaseMapper<WarehouseInventory> {
void updateWareInfo(@Param("list") List<WarehouseInventory> eqsList,@Param("updateTime") Date currentDateTime); void updateWareInfo(@Param("list") List<WarehouseInventory> eqsList,@Param("updateTime") Date currentDateTime);
void deleteBylocationId(@Param("orgId") Long orgId,@Param("locationId") String locationId);
} }
......
...@@ -45,4 +45,5 @@ public interface BusFormService extends IService<BusForm> { ...@@ -45,4 +45,5 @@ public interface BusFormService extends IService<BusForm> {
Object showOrderByBusOrderId(QueryBusFormReq req); Object showOrderByBusOrderId(QueryBusFormReq req);
boolean delToSubmitOrder(UpdateBusFormReq req); boolean delToSubmitOrder(UpdateBusFormReq req);
} }
...@@ -36,6 +36,8 @@ public interface EquipmentSizeService extends IService<EquipmentSize> { ...@@ -36,6 +36,8 @@ public interface EquipmentSizeService extends IService<EquipmentSize> {
void addSizeInfoToEs(); void addSizeInfoToEs();
List<String> checkSizeNameList(List<String> sizeNameList);
//根据typeId拿到装备typeIds //根据typeId拿到装备typeIds
// List<String> selectByTypeIds(List<String> typeIdsList); // List<String> selectByTypeIds(List<String> typeIdsList);
......
...@@ -40,4 +40,6 @@ public interface EquipmentTypeService extends IService<EquipmentType> { ...@@ -40,4 +40,6 @@ public interface EquipmentTypeService extends IService<EquipmentType> {
String exportSizeAndType(QueryEquipmentTypeReq req); String exportSizeAndType(QueryEquipmentTypeReq req);
void addTypeInfoToEs(); void addTypeInfoToEs();
List<String> checkTypeList(List<String> typeNameList);
} }
...@@ -7,6 +7,7 @@ import com.junmp.jyzb.api.bean.query.InventorySumReq; ...@@ -7,6 +7,7 @@ import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.query.SelectTotalNumReq; import com.junmp.jyzb.api.bean.query.SelectTotalNumReq;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import liquibase.pro.packaged.S;
import java.util.List; import java.util.List;
...@@ -53,4 +54,6 @@ public interface InventorySummaryService extends IService<InventorySummary> { ...@@ -53,4 +54,6 @@ public interface InventorySummaryService extends IService<InventorySummary> {
void setDestoryGroupAction(); void setDestoryGroupAction();
void setWarrantyGroupAction(); void setWarrantyGroupAction();
void updateSummaryInsImport(Long orgId, String warehouseId);
} }
...@@ -49,10 +49,11 @@ public interface LogSummaryService extends IService<LogSummary> { ...@@ -49,10 +49,11 @@ public interface LogSummaryService extends IService<LogSummary> {
Map<String,LogSummaryReq> setLogSummaryToMap(Map<String,LogSummaryReq> logMap,LoginUser loginUser, Map<String,LogSummaryReq> setLogSummaryToMap(Map<String,LogSummaryReq> logMap,LoginUser loginUser,
String locationId,String bussinessType,String typeName,String locationName, String locationId,String bussinessType,String typeName,String locationName,
String orderId,String orderCode,Long orgId, String orderId,String orderCode,Long orgId,
String locationState,Integer deviceType); String locationState,Integer deviceType,Integer subNum);
LogSummaryReq setLogSummary(LoginUser loginUser, String typeName, String locationId, String locationName, Integer subNum, LogSummaryReq setLogSummary(LoginUser loginUser, String typeName, String locationId, String locationName, Integer subNum,
String orderId, String orderCode, String bussinesstype, Long orgId, String outInState,Integer devideType); String orderId, String orderCode, String bussinesstype, Long orgId, String outInState,Integer devideType);
List<LogSummaryReq> selectByOrderCode(String bussinessCode);
} }
...@@ -135,4 +135,5 @@ public interface PolicemanService extends IService<Policeman> { ...@@ -135,4 +135,5 @@ public interface PolicemanService extends IService<Policeman> {
String searchUserByRoleId(Long orgId); String searchUserByRoleId(Long orgId);
boolean CreateAllUserId();
} }
...@@ -5,6 +5,8 @@ import com.junmp.v2.dict.api.bean.vo.SimpleDictItemVo; ...@@ -5,6 +5,8 @@ import com.junmp.v2.dict.api.bean.vo.SimpleDictItemVo;
import com.junmp.v2.dict.api.bean.vo.SimpleDictVo; import com.junmp.v2.dict.api.bean.vo.SimpleDictVo;
import com.junmp.v2.message.api.bean.req.MessageReq; import com.junmp.v2.message.api.bean.req.MessageReq;
import com.junmp.v2.message.api.bean.req.MessageSendReq; import com.junmp.v2.message.api.bean.req.MessageSendReq;
import com.junmp.v2.sys.api.bean.user.req.SysUserReq;
import com.junmp.v2.sys.user.entity.SysUser;
import java.util.List; import java.util.List;
...@@ -18,4 +20,5 @@ public interface PublicService { ...@@ -18,4 +20,5 @@ public interface PublicService {
boolean updateMessage(MessageReq req); boolean updateMessage(MessageReq req);
boolean isRedirect(SysUserReq user);
} }
...@@ -18,4 +18,5 @@ public interface ShelfService extends IService<Shelf> { ...@@ -18,4 +18,5 @@ public interface ShelfService extends IService<Shelf> {
List<ShelfDto> GetShelfList(ShelfReq req); List<ShelfDto> GetShelfList(ShelfReq req);
Shelf ShelfExist(String id); Shelf ShelfExist(String id);
} }
...@@ -61,4 +61,6 @@ public interface SupplierService extends IService<Supplier> { ...@@ -61,4 +61,6 @@ public interface SupplierService extends IService<Supplier> {
PageResult<Supplier> ShowSupplierPage(QuerySupplierReq req); PageResult<Supplier> ShowSupplierPage(QuerySupplierReq req);
List<SupplierInfoDto> alignSupplierInfo(UpdateSupplierReq req); List<SupplierInfoDto> alignSupplierInfo(UpdateSupplierReq req);
List<String> checkSupplierList(List<String> supplierNameList);
} }
...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service; ...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.TjDto.WarrantyDataDto; import com.junmp.jyzb.api.bean.dto.TjDto.WarrantyDataDto;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.DetailJsonReq;
import com.junmp.jyzb.api.bean.req.WarrantyReq; import com.junmp.jyzb.api.bean.req.WarrantyReq;
import com.junmp.jyzb.entity.VieDestoryGroup; import com.junmp.jyzb.entity.VieDestoryGroup;
import com.junmp.jyzb.entity.VieWarrantyGroup; import com.junmp.jyzb.entity.VieWarrantyGroup;
...@@ -9,9 +10,14 @@ import com.junmp.v2.db.api.page.PageResult; ...@@ -9,9 +10,14 @@ import com.junmp.v2.db.api.page.PageResult;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
public interface VieDestoryGroupService extends IService<VieDestoryGroup> { public interface VieDestoryGroupService extends IService<VieDestoryGroup> {
//创建map
Map<String,VieDestoryGroup> createMap(Map<String,VieDestoryGroup> destoryGroupMap, String key, Long orgId,
DetailJsonReq detailJsonReq, String sizeId, String typeId, String orgName);
//更新数据
boolean updateNum(Map<String,VieDestoryGroup> destoryGroupMap);
} }
\ No newline at end of file
...@@ -79,4 +79,6 @@ public interface WarehouseService extends IService<Warehouse> { ...@@ -79,4 +79,6 @@ public interface WarehouseService extends IService<Warehouse> {
void HumidityAndtemperatureExport(WarehouseReq req); void HumidityAndtemperatureExport(WarehouseReq req);
Warehouse GetWareHouseInfoByRedis(WarehouseReq req); Warehouse GetWareHouseInfoByRedis(WarehouseReq req);
List<String> checkWarehouseList(List<String> locationNameList);
} }
...@@ -626,11 +626,14 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -626,11 +626,14 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
} }
} }
if (!brokenFlag){ if (!brokenFlag){
VieDestoryGroup vieDestoryGroup = new VieDestoryGroup();
BeanPlusUtil.copyProperties(invSum,vieDestoryGroup); if (invSum.getCountOfItems()!=0){
vieDestoryGroup.setCountOfItems(invSum.getCountOfItems()); VieDestoryGroup vieDestoryGroup = new VieDestoryGroup();
vieDestoryGroup.setState("broken"); BeanPlusUtil.copyProperties(invSum,vieDestoryGroup);
addList.add(vieDestoryGroup); vieDestoryGroup.setCountOfItems(invSum.getCountOfItems());
vieDestoryGroup.setState("broken");
addList.add(vieDestoryGroup);
}
} }
for (VieWarrantyGroup warrantyInv:warrantyList) { for (VieWarrantyGroup warrantyInv:warrantyList) {
......
...@@ -998,7 +998,7 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor ...@@ -998,7 +998,7 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
// 使用 PageHelper 开始分页 // 使用 PageHelper 开始分页
// Page<BussinessInventory> page = PageFactory.getDefaultPage(Long.parseLong(req.getPageNo()),Long.parseLong(req.getPageSize())); // Page<BussinessInventory> page = PageFactory.getDefaultPage(Long.parseLong(req.getPageNo()),Long.parseLong(req.getPageSize()));
Page<BussinessInventory> page = this.page(PageFactory.getDefaultPage(), wrapper); Page<BussinessInventory> page = this.page(PageFactory.getDefaultPage(Long.valueOf(req.getPageNo()),Long.valueOf(req.getPageSize())), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
...@@ -1047,6 +1047,7 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor ...@@ -1047,6 +1047,7 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
return wrapper; return wrapper;
} }
wrapper.eq(BussinessInventory::getOrgId, req.getOrgId()); wrapper.eq(BussinessInventory::getOrgId, req.getOrgId());
wrapper.eq(ObjectUtil.isNotNull(req.getResult())&& !req.getResult().equals("all") ,BussinessInventory::getResult,req.getResult());
wrapper.eq(StringUtils.isNotBlank(req.getWarehouseId()), BussinessInventory::getWarehouseId, req.getWarehouseId()); wrapper.eq(StringUtils.isNotBlank(req.getWarehouseId()), BussinessInventory::getWarehouseId, req.getWarehouseId());
wrapper.eq(StringUtils.isNotBlank(req.getInventoryState()), BussinessInventory::getInventoryState, req.getInventoryState()); wrapper.eq(StringUtils.isNotBlank(req.getInventoryState()), BussinessInventory::getInventoryState, req.getInventoryState());
if (StringUtils.isNotBlank(req.getExamineState())) { if (StringUtils.isNotBlank(req.getExamineState())) {
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
...@@ -257,6 +258,27 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E ...@@ -257,6 +258,27 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
sizeRepository.saveAll(list); sizeRepository.saveAll(list);
} }
@Override
public List<String> checkSizeNameList(List<String> sizeNameList) {
LambdaQueryWrapper<EquipmentSize> sizeEq=new LambdaQueryWrapper<>();
sizeEq.in(CollectionUtil.isNotEmpty(sizeNameList),EquipmentSize::getName,sizeNameList);
List<EquipmentSize> equipmentSizeList = list(sizeEq);
List<String> noneExitentSizes=new ArrayList<>();
for (String sizeName:sizeNameList) {
boolean flag=false;
for (EquipmentSize size:equipmentSizeList) {
if (size.getName().equals(sizeName)){
flag=true;
break;
}
}
if (!flag){
noneExitentSizes.add(sizeName);
}
}
return noneExitentSizes;
}
public List<String> selectByTypeIds(List<String> typeIdsList){ public List<String> selectByTypeIds(List<String> typeIdsList){
List<String> list1=new ArrayList<>(); List<String> list1=new ArrayList<>();
......
...@@ -648,6 +648,28 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E ...@@ -648,6 +648,28 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E
typeRepository.saveAll(list); typeRepository.saveAll(list);
} }
@Override
public List<String> checkTypeList(List<String> typeNameList) {
LambdaQueryWrapper<EquipmentType> typeEq=new LambdaQueryWrapper<>();
typeEq.in(CollectionUtil.isNotEmpty(typeNameList),EquipmentType::getName,typeNameList);
List<EquipmentType> equipmentTypeList = list(typeEq);
List<String> noneExitentTypes=new ArrayList<>();
for (String typeName:typeNameList) {
boolean flag=false;
for (EquipmentType type:equipmentTypeList) {
if (type.getName().equals(typeName)){
flag=true;
break;
}
}
if (!flag){
noneExitentTypes.add(typeName);
}
}
return noneExitentTypes;
}
} }
......
...@@ -18,15 +18,11 @@ import com.junmp.jyzb.api.bean.req.BatchEditingInvsReq; ...@@ -18,15 +18,11 @@ import com.junmp.jyzb.api.bean.req.BatchEditingInvsReq;
import com.junmp.jyzb.api.bean.req.EquipmentBindReq; import com.junmp.jyzb.api.bean.req.EquipmentBindReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq; import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.api.bean.vo.InventoryVo; import com.junmp.jyzb.api.bean.vo.InventoryVo;
import com.junmp.jyzb.api.exception.enums.CabinetBoxExceptionEnum; import com.junmp.jyzb.api.exception.JYZBAppException;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; import com.junmp.jyzb.api.exception.enums.*;
import com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum;
import com.junmp.jyzb.api.exception.enums.PubOrgExceptionEnum;
import com.junmp.jyzb.entity.*; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.InventorySummaryMapper; import com.junmp.jyzb.mapper.*;
import com.junmp.jyzb.mapper.LogSummaryMapper;
import com.junmp.jyzb.mapper.WarehouseInventoryMapper;
import com.junmp.jyzb.service.*; import com.junmp.jyzb.service.*;
import com.junmp.jyzb.utils.DateTimeUtil; import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
...@@ -51,11 +47,13 @@ import org.springframework.stereotype.Service; ...@@ -51,11 +47,13 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.junmp.jyzb.mapper.InventoryMapper;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -125,7 +123,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -125,7 +123,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Resource @Resource
private WarehouseInventoryMapper warehouseInventoryMapper; private WarehouseInventoryMapper warehouseInventoryMapper;
@Resource
private VieWarrantyGroupMapper vieWarrantyGroupMapper;
@Resource
private VieWarrantyGroupService vieWarrantyGroupService;
//根据装备id查询出装备的详细信息 //根据装备id查询出装备的详细信息
...@@ -695,20 +697,94 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -695,20 +697,94 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Transactional @Transactional
@Async @Async
public boolean EqsImport(InventoryReq req) { public boolean EqsImport(InventoryReq req) {
//将该组织机构下面已经导入的装备删除
remove(new LambdaQueryWrapper<Inventory>().eq(Inventory::getNote,"equipmentImport"));
warehouseInventoryService.remove(new LambdaQueryWrapper<WarehouseInventory>().eq(WarehouseInventory::getFlag,2));
List<InventoryReq> eqsList = req.getEqsList(); List<InventoryReq> eqsList = req.getEqsList();
PubOrg pubOrg = pubOrgService.getOne(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getDName, eqsList.get(0).getOrgName()) PubOrg pubOrg = pubOrgService.getOne(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getDName, eqsList.get(0).getOrgName())
.or() .or()
.eq(PubOrg::getOrgName, eqsList.get(0).getOrgName())); .eq(PubOrg::getOrgName, eqsList.get(0).getOrgName()));
if (ObjectUtil.isNull(pubOrg)){
throw new ServiceException(PubOrgExceptionEnum.PUBORG_NOT_EXIST);
}
Warehouse warehouse = warehouseService.getOne(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getName, eqsList.get(0).getLocationName()));
if (ObjectUtil.isNull(warehouse)){
throw new ServiceException(WarehouseExceptionEnum.WAREHOUSE_NOT_EXIST);
}
//将该组织机构下面已经导入的装备删除
LambdaQueryWrapper<WarehouseInventory> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(WarehouseInventory::getLocationId, warehouse.getId());
inventoryMapper.deleteByEpcs1(pubOrg.getOrgId(),warehouse.getId());
warehouseInventoryMapper.deleteBylocationId(pubOrg.getOrgId(),warehouse.getId());
// remove(new LambdaQueryWrapper<Inventory>().eq(Inventory::getNote,"equipmentImport"));
// warehouseInventoryService.remove(new LambdaQueryWrapper<WarehouseInventory>().eq(WarehouseInventory::getFlag,2));
//将过质保数据进行删除
vieWarrantyGroupMapper.delete(new LambdaQueryWrapper<VieWarrantyGroup>()
.eq(VieWarrantyGroup::getOrgId,pubOrg.getOrgId())
.eq(VieWarrantyGroup::getWarehouseId,warehouse.getId()));
//将summary表进行删除 //将summary表进行删除
inventorySummaryService.remove(new LambdaQueryWrapper<InventorySummary>().eq(InventorySummary::getOrgId,pubOrg.getOrgId())); inventorySummaryMapper.deleteByOrgId(pubOrg.getOrgId(),warehouse.getId());
List<Inventory> addInvList=new ArrayList<>(); List<Inventory> addInvList=new ArrayList<>();
List<WarehouseInventory> addWareList=new ArrayList<>(); List<WarehouseInventory> addWareList=new ArrayList<>();
//判断导入的装备库存里面是否存在,如果不存在则直接报错失败
Map<String,String> typeNameMap=new HashMap<>();
Map<String,String> sizeNameMap=new HashMap<>();
Map<String,String> supplierNameMap=new HashMap<>();
Map<String,String> locationNameMap=new HashMap<>();
for (InventoryReq inv:eqsList) {
String typeName=inv.getTypeName();
String sizeName=inv.getSizeName();
String supplierName=inv.getSupplierName();
String locationName=inv.getLocationName();
if (!typeNameMap.containsKey(typeName)){
typeNameMap.put(typeName,typeName);
}
if (!sizeNameMap.containsKey(sizeName)){
sizeNameMap.put(sizeName,sizeName);
}
if (!supplierNameMap.containsKey(supplierName)){
supplierNameMap.put(supplierName,supplierName);
}
if (!locationNameMap.containsKey(locationName)){
locationNameMap.put(locationName,locationName);
}
}
Collection<String> typeNameList = typeNameMap.values();
List<String> newTypeList = new ArrayList<>(typeNameList);
List<String> noneExitentTypes = equipmentTypeService.checkTypeList(newTypeList);
if (CollectionUtil.isNotEmpty(noneExitentTypes)){
String msg="请检查装备名称是否存在,以下装备名称不存在:" +String.join(",", noneExitentTypes);
throw new JYZBAppException(EquipmentExceptionEnum.TYPE_NAME_NOT_EXIST, msg);
}
Collection<String> sizeNameList = sizeNameMap.values();
List<String> newSizeList = new ArrayList<>(sizeNameList);
List<String> noneExitentSizes = equipmentSizeService.checkSizeNameList(newSizeList);
if (CollectionUtil.isNotEmpty(noneExitentSizes)){
String msg="请检查号型名称是否存在,以下号型名称不存在:" +String.join(",", noneExitentSizes);
throw new JYZBAppException(EquipmentExceptionEnum.SIZE_NAME_NOT_EXIST, msg);
}
// Collection<String> locationNameList = locationNameMap.values();
// List<String> newLocationList = new ArrayList<>(locationNameList);
// List<String> noneExitentLocations = warehouseService.checkWarehouseList(newLocationList);
// if (CollectionUtil.isNotEmpty(noneExitentLocations)){
// String msg="请检查仓库名称是否存在,以下仓库名称不存在:" +String.join(",", noneExitentLocations);
// throw new JYZBAppException(WarehouseExceptionEnum.WAREHOUSE_NAME_NOT_EXIST, msg);
// }
Collection<String> supplierNameList = supplierNameMap.values();
List<String> newSupplierList = new ArrayList<>(supplierNameList);
List<String> noneExitentSuppliers = supplierService.checkSupplierList(newSupplierList);
if (CollectionUtil.isNotEmpty(noneExitentSuppliers)){
String msg="请检查供应商名称是否存在,以下供应商名称不存在:" +String.join(",", noneExitentSuppliers);
throw new JYZBAppException(SupplierExceptionEnum.SUPPLIER_NAME_NOT_EXIST, msg);
}
List<InventoryReq> sizeTypeName=inventoryMapper.selectDemo(newTypeList,newSizeList);
Map<String, VieWarrantyGroup> map = new HashMap<>();
for (InventoryReq inv:eqsList) { for (InventoryReq inv:eqsList) {
for (int i = 0; i < inv.getNumber(); i++) { for (int i = 0; i < inv.getNumber(); i++) {
//每次遍历inv,获取inv中的数量,对应创建对象并且进行添加至list从而最终插入数据库 //每次遍历inv,获取inv中的数量,对应创建对象并且进行添加至list从而最终插入数据库
...@@ -735,7 +811,49 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -735,7 +811,49 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
addWareList.add(warehouseInventory); addWareList.add(warehouseInventory);
} }
for (InventoryReq invList:sizeTypeName) {
if (inv.getTypeName().equalsIgnoreCase(invList.getTypeName())
|| inv.getSizeName().equalsIgnoreCase(invList.getSizeName())){
inv.setTypeId(invList.getTypeId());
inv.setSizeId(invList.getSizeId());
break;
}
}
// 假设我们要增加的月份数
int monthsToAdd = inv.getWarrantyPeriod();
if (monthsToAdd!=0){
LocalDate currentDate = LocalDate.now();
LocalDate initialDate = inv.getProductionDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
// 加上指定的月份
LocalDate newDate = initialDate.plusMonths(monthsToAdd);
// 比较新日期和当前日期
if (newDate.isBefore(currentDate)) {
// 如果新日期小于当前日期,计算超出的天数
long daysExceeded = ChronoUnit.DAYS.between(newDate, currentDate);
String demoName = inv.getTypeId()+"-"+inv.getSizeId()+"-"+daysExceeded;
VieWarrantyGroup req1 = map.get(demoName);
if (ObjectUtil.isNotNull(req1)){
req1.setCountOfItems(req1.getCountOfItems()+inv.getNumber());
map.put(demoName, req1);
} else {
VieWarrantyGroup vieWarrantyGroup = new VieWarrantyGroup();
BeanPlusUtil.copyProperties(inv,vieWarrantyGroup);
vieWarrantyGroup.setWarehouseId(warehouse.getId());
vieWarrantyGroup.setWarehouseName(warehouse.getName());
vieWarrantyGroup.setCountOfItems(inv.getNumber());
vieWarrantyGroup.setDays(String.valueOf(daysExceeded));
map.put(demoName, vieWarrantyGroup);
}
}
}
} }
List<VieWarrantyGroup> addWarrantyList = map.values().stream().collect(Collectors.toList());
vieWarrantyGroupService.saveBatch(addWarrantyList);
if (CollectionUtil.isNotEmpty(addInvList)){ if (CollectionUtil.isNotEmpty(addInvList)){
saveBatch(addInvList); saveBatch(addInvList);
} }
...@@ -746,8 +864,9 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -746,8 +864,9 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
inventoryMapper.updateEqsInfo(addInvList,DateTimeUtil.getCurrentDateTime()); inventoryMapper.updateEqsInfo(addInvList,DateTimeUtil.getCurrentDateTime());
warehouseInventoryMapper.updateWareInfo(addWareList,DateTimeUtil.getCurrentDateTime()); warehouseInventoryMapper.updateWareInfo(addWareList,DateTimeUtil.getCurrentDateTime());
//重新计算summary表中的数据 //重新计算summary表中的数据
inventorySummaryService.updateSummaryInsByOrder(pubOrg.getOrgId()); inventorySummaryService.updateSummaryInsImport(pubOrg.getOrgId(),warehouse.getId());
//是否需要创建报表(不创建,由定时任务进行。)但是在撤回时,需要将报表进行删除 //判断是否过期,如果过期,则直接将warranty_group中的创建数据
return true; return true;
} }
......
...@@ -520,4 +520,9 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -520,4 +520,9 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
System.out.println("111 = " + 333); System.out.println("111 = " + 333);
} }
@Override
public void updateSummaryInsImport(Long orgId,String locationId) {
inventorySummaryMapper.updateSummaryInsImport(orgId,locationId);
}
} }
...@@ -232,7 +232,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -232,7 +232,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
b=orderDetailService.updateBatchById(detailList); b=orderDetailService.updateBatchById(detailList);
//2.判断业务类型,如果是采购,更新装备库存表 //2.判断业务类型,如果是采购,更新装备库存表
if (order.getBussinessType().equals("purchase")){ if (order.getBussinessType().equals("purchase") ||order.getBussinessType().equals("gift")){
List<PurchaseEqsReq> purchaseList = order.getPurchaseList(); List<PurchaseEqsReq> purchaseList = order.getPurchaseList();
List<Inventory> collect1=new ArrayList<>(); List<Inventory> collect1=new ArrayList<>();
List<WarehouseInventory> warehouseInventoryList=new ArrayList<>(); List<WarehouseInventory> warehouseInventoryList=new ArrayList<>();
...@@ -252,6 +252,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -252,6 +252,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
warehouseInventory.setLocationType("0"); warehouseInventory.setLocationType("0");
warehouseInventory.setOrgId(order.getOrgId()); warehouseInventory.setOrgId(order.getOrgId());
warehouseInventory.setFlag(0); warehouseInventory.setFlag(0);
warehouseInventory.setEpcType(0);
warehouseInventory.setCreateTime(DateTimeUtil.getCurrentDateTime()); warehouseInventory.setCreateTime(DateTimeUtil.getCurrentDateTime());
warehouseInventory.setUpdateTime(DateTimeUtil.getCurrentDateTime()); warehouseInventory.setUpdateTime(DateTimeUtil.getCurrentDateTime());
warehouseInventoryList.add(warehouseInventory); warehouseInventoryList.add(warehouseInventory);
...@@ -259,6 +260,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -259,6 +260,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
inventory.setEpc(eqsReq.getEpc()); inventory.setEpc(eqsReq.getEpc());
inventory.setTypeId(eqsReq.getTypeId()); inventory.setTypeId(eqsReq.getTypeId());
inventory.setSizeId(eqsReq.getSizeId()); inventory.setSizeId(eqsReq.getSizeId());
inventory.setEpcType(0);
inventory.setMaintenancePeriod(eqsReq.getMaintenancePeriod()); inventory.setMaintenancePeriod(eqsReq.getMaintenancePeriod());
inventory.setWarrantyPeriod(eqsReq.getWarrantyPeriod()); inventory.setWarrantyPeriod(eqsReq.getWarrantyPeriod());
inventory.setProperty(eqsReq.getProperty()); inventory.setProperty(eqsReq.getProperty());
...@@ -539,7 +541,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -539,7 +541,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
SysFileInfoReq sysFileInfoReq = new SysFileInfoReq(); SysFileInfoReq sysFileInfoReq = new SysFileInfoReq();
sysFileInfoReq.setFileBucket("jyzb"); sysFileInfoReq.setFileBucket("jyzb");
sysFileInfoReq.setFileLocation(3); sysFileInfoReq.setFileLocation(3);
sysFileInfoReq.setFileObjectName("OutInPrice/"+logreq.getOrgId()+"/"); sysFileInfoReq.setFileObjectName("OutInPhoto/"+logreq.getOrgId()+"/");
SysFileInfoResp sysFileInfoResp = sysFileInfoService.uploadFile(picture, sysFileInfoReq); SysFileInfoResp sysFileInfoResp = sysFileInfoService.uploadFile(picture, sysFileInfoReq);
logreq.setPicture(sysFileInfoResp.getAccessUrl()); logreq.setPicture(sysFileInfoResp.getAccessUrl());
} }
...@@ -591,7 +593,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -591,7 +593,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
//将所有装备信息进行存放(为后面计算汇总信息) //将所有装备信息进行存放(为后面计算汇总信息)
//判断logSummary是否为采购,快速移库,和领用出库 //判断logSummary是否为采购,快速移库,和领用出库
//如果是采购则不处理,因为采购的inventory是跟着单子来处理的,其他的单子直接根据出入库记录来处理 //如果是采购则不处理,因为采购的inventory是跟着单子来处理的,其他的单子直接根据出入库记录来处理
if (!logreq.getBussinessType().equals("purchase") && !logreq.getBussinessType().equals("quick") ){ if (!logreq.getBussinessType().equals("purchase") && !logreq.getBussinessType().equals("gift") && !logreq.getBussinessType().equals("quick") ){
// if (logreq.getOutInState().equals("in")){ // if (logreq.getOutInState().equals("in")){
Inventory inventory = saveInventory(logreq.getOrgId(),logreq.getLocationId(),logreq,detailLogReq, map, logSummary.getOutInState()); Inventory inventory = saveInventory(logreq.getOrgId(),logreq.getLocationId(),logreq,detailLogReq, map, logSummary.getOutInState());
inventoryList.add(inventory); inventoryList.add(inventory);
...@@ -666,7 +668,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -666,7 +668,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
LambdaUpdateWrapper<Inventory> allocateInWrapper1 = Wrappers.lambdaUpdate(); LambdaUpdateWrapper<Inventory> allocateInWrapper1 = Wrappers.lambdaUpdate();
LambdaUpdateWrapper<WarehouseInventory> updateStateWrapper2 = Wrappers.lambdaUpdate(); LambdaUpdateWrapper<WarehouseInventory> updateStateWrapper2 = Wrappers.lambdaUpdate();
LambdaUpdateWrapper<WarehouseInventory> allocateInWrapper2 = Wrappers.lambdaUpdate(); LambdaUpdateWrapper<WarehouseInventory> allocateInWrapper2 = Wrappers.lambdaUpdate();
LambdaQueryWrapper<WarehouseInventory> destroyOutWrapper =Wrappers.lambdaQuery(); LambdaUpdateWrapper<WarehouseInventory> destroyOutWrapper =Wrappers.lambdaUpdate();
for (Inventory inventory:inventoryList) { for (Inventory inventory:inventoryList) {
if (inventory.getBussinessType().equals("allocate") && inventory.getLocationState().equals("in") && !ObjectUtil.isNull(ordermain)){ if (inventory.getBussinessType().equals("allocate") && inventory.getLocationState().equals("in") && !ObjectUtil.isNull(ordermain)){
//调拨入库 //调拨入库
...@@ -695,30 +697,27 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -695,30 +697,27 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
.set(Inventory::getBussinessState,"destruction") .set(Inventory::getBussinessState,"destruction")
.set(Inventory::getLocationId,inventory.getLocationId()) .set(Inventory::getLocationId,inventory.getLocationId())
.set(Inventory::getState,"destory"); .set(Inventory::getState,"destory");
destroyOutWrapper.or().eq(WarehouseInventory::getEpc,inventory.getEpc()); updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc())
}else{ .set(WarehouseInventory::getLocationState,"out");
//其他情况 }else if (inventory.getBussinessType().equals("quick")){
if (inventory.getBussinessType().equals("quick")){ updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc())
updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc()) .set(Inventory::getLocationState,"in")
.set(Inventory::getLocationState,"in") .set(Inventory::getBussinessState,"normal")
.set(Inventory::getBussinessState,"normal") .set(Inventory::getLocationId,inventory.getLocationId())
.set(Inventory::getLocationId,inventory.getLocationId()) .set(Inventory::getState,"normal");
.set(Inventory::getState,"normal");
updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc())
.set(WarehouseInventory::getLocationId,inventory.getLocationId())
.set(WarehouseInventory::getLocationState,"in");
}else {
updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc())
.set(Inventory::getLocationState,inventory.getLocationState())
.set(Inventory::getBussinessState,inventory.getBussinessState())
.set(Inventory::getState,inventory.getState());
updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc()) updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc())
.set(WarehouseInventory::getLocationState,inventory.getLocationState()); .set(WarehouseInventory::getLocationId,inventory.getLocationId())
.set(WarehouseInventory::getLocationState,"in");
} }else {
updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc())
.set(Inventory::getLocationState,inventory.getLocationState())
.set(Inventory::getBussinessState,inventory.getBussinessState())
.set(Inventory::getState,inventory.getState());
updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc())
.set(WarehouseInventory::getLocationState,inventory.getLocationState());
} }
...@@ -769,7 +768,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -769,7 +768,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
for (InventoryReq inv:list) { for (InventoryReq inv:list) {
logMap=setLogSummaryToMap(logMap,loginUser,inv.getLocationId(),bussinessType,inv.getTypeName(), logMap=setLogSummaryToMap(logMap,loginUser,inv.getLocationId(),bussinessType,inv.getTypeName(),
inv.getLocationName(),orderId,orderCode,inv.getOrgId(),inv.getLocationState(),deviceType); inv.getLocationName(),orderId,orderCode,inv.getOrgId(),inv.getLocationState(),deviceType,1);
} }
logMap = setLogDetailToMap(list, logMap, bussinessType); logMap = setLogDetailToMap(list, logMap, bussinessType);
...@@ -796,7 +795,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -796,7 +795,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
public Map<String, LogSummaryReq> setLogSummaryToMap(Map<String,LogSummaryReq> logMap,LoginUser loginUser, public Map<String, LogSummaryReq> setLogSummaryToMap(Map<String,LogSummaryReq> logMap,LoginUser loginUser,
String locationId,String bussinessType,String typeName,String locationName, String locationId,String bussinessType,String typeName,String locationName,
String orderId,String orderCode,Long orgId, String orderId,String orderCode,Long orgId,
String locationState,Integer deviceType) { String locationState,Integer deviceType,Integer sumNum) {
if (logMap.containsKey(locationId)){ if (logMap.containsKey(locationId)){
LogSummaryReq logSummaryReq = logMap.get(locationId); LogSummaryReq logSummaryReq = logMap.get(locationId);
logSummaryReq.setNumber(logSummaryReq.getNumber()+1); logSummaryReq.setNumber(logSummaryReq.getNumber()+1);
...@@ -805,7 +804,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -805,7 +804,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
logMap.put(locationId,logSummaryReq); logMap.put(locationId,logSummaryReq);
}else { }else {
LogSummaryReq logSummaryReq = setLogSummary(loginUser,typeName,locationId,locationName, LogSummaryReq logSummaryReq = setLogSummary(loginUser,typeName,locationId,locationName,
1,orderId,orderCode,bussinessType,orgId,locationState,deviceType); sumNum,orderId,orderCode,bussinessType,orgId,locationState,deviceType);
logMap.put(locationId,logSummaryReq); logMap.put(locationId,logSummaryReq);
} }
return logMap; return logMap;
...@@ -907,6 +906,12 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -907,6 +906,12 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
return logSummaryReq; return logSummaryReq;
} }
@Override
public List<LogSummaryReq> selectByOrderCode(String bussinessCode) {
return logSummaryMapper.selectByOrderCode(bussinessCode);
}
} }
......
...@@ -146,6 +146,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -146,6 +146,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
private LogDetailService logDetailService; private LogDetailService logDetailService;
@Resource @Resource
private VieDestoryGroupService vieDestoryGroupService;
@Resource
private InventoryMapper inventoryMapper; private InventoryMapper inventoryMapper;
@Resource @Resource
...@@ -253,7 +256,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -253,7 +256,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
detail.setType(order.getOrderType()); detail.setType(order.getOrderType());
//将数量和价格进行累加 //将数量和价格进行累加
sumNum += detail.getPlanNum(); sumNum += detail.getPlanNum();
priceTotal = priceTotal.add(BigDecimal.valueOf(detail.getPlanNum()).multiply(detail.getTotalPrice())) ; priceTotal = priceTotal.add(detail.getTotalPrice()) ;
detail.setCreateTime(DateTimeUtil.getCurrentDateTime()); detail.setCreateTime(DateTimeUtil.getCurrentDateTime());
String productionDate = listReq.getProductionDate(); String productionDate = listReq.getProductionDate();
if (ObjectUtil.isNotNull(productionDate) && !productionDate.trim().isEmpty()){ if (ObjectUtil.isNotNull(productionDate) && !productionDate.trim().isEmpty()){
...@@ -603,7 +606,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -603,7 +606,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
busform = busFormService.list(new LambdaQueryWrapper<BusForm>() busform = busFormService.list(new LambdaQueryWrapper<BusForm>()
.eq(BusForm::getEndOrgId, orgId) .eq(BusForm::getEndOrgId, orgId)
.in(BusForm::getBussinessCode, bussinessCode)).get(0); .in(BusForm::getBussinessCode, bussinessCode)).get(0);
}else { } else if (bussinessCode.substring(0,2).equals("DB") && orderType.equals("out")) {
busform = busFormService.list(new LambdaQueryWrapper<BusForm>()
.eq(BusForm::getStartOrgId, orgId)
.in(BusForm::getBussinessCode, bussinessCode)).get(0);
} else {
busform = busFormService.list(new LambdaQueryWrapper<BusForm>() busform = busFormService.list(new LambdaQueryWrapper<BusForm>()
.eq(BusForm::getOrgId, orgId) .eq(BusForm::getOrgId, orgId)
.in(BusForm::getBussinessCode, bussinessCode)).get(0); .in(BusForm::getBussinessCode, bussinessCode)).get(0);
...@@ -726,40 +733,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -726,40 +733,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
//更新任务单(进入工作流中之后不能进行更改)
// @Transactional(rollbackFor = Exception.class)
// @Override
// public Boolean updateOrder(UpdateOrderReq req) {
// OrderMain order = orderMainExist(req.getId());
// if (!order.getExamineState().equals("none"))
// {
// throw new ServiceException(OrderExceptionEnum.ORDER_CAN_NOT_UPDATE);
// }
// //(直接删除并重新插入数据)----------------------------------------------
// orderDetailService.remove(new LambdaQueryWrapper<OrderDetail>().eq(OrderDetail::getOrderId, req.getId()));
// Integer sumNum=0;
// BigDecimal priceTotal=new BigDecimal(0);
// List<OrderDetail> detailList = new ArrayList<>();
// for (UpdateOrderDetailReq listReq:req.getDetailList()) {
// OrderDetail detail=new OrderDetail();
// BeanPlusUtil.copyProperties(listReq, detail);
// detail.setOrderId(order.getId());
// //设置单据类型
// detail.setType(order.getOrderType());
// //将数量和价格进行累加
// sumNum += detail.getPlanNum();
// priceTotal = priceTotal.add(BigDecimal.valueOf(detail.getPlanNum()).multiply(detail.getPrice())) ;
// detail.setCreateTime(DateTimeUtil.getCurrentDateTime());
// detailList.add(detail);
// }
// orderDetailService.saveBatch(detailList);
// //设置总价格和总数量
// order.setPrice(priceTotal);
// order.setInventoryQuantity(sumNum);
// order.setCreateTime(DateTimeUtil.getCurrentDateTime());
// return this.updateById(order);
// }
//
//更新任务单(进入工作流中之后不能进行更改) //更新任务单(进入工作流中之后不能进行更改)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -916,7 +889,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -916,7 +889,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//获取所有数据库的子单据id //获取所有数据库的子单据id
Set<Long> existingIds = list.stream().map(OrderDetail::getId).collect(Collectors.toSet()); Set<Long> existingIds = list.stream().map(OrderDetail::getId).collect(Collectors.toSet());
//创建一个操作记录(用于在记账log表中记录) //创建一个操作记录(用于在记账log表中记录)
// StringBuilder stringBuilder = new StringBuilder();
//存放更新数据库中的子单据 //存放更新数据库中的子单据
List<OrderDetail> orderDetailList=new ArrayList<>(); List<OrderDetail> orderDetailList=new ArrayList<>();
//创建一个列表用于修改summary数据库表中数据。 //创建一个列表用于修改summary数据库表中数据。
...@@ -924,17 +896,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -924,17 +896,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
String s=""; String s="";
Map<String,LogSummaryReq> logMap=new HashMap<>(); Map<String,LogSummaryReq> logMap=new HashMap<>();
List<LogSummaryReq> logList=new ArrayList<>(); List<LogSummaryReq> logList=new ArrayList<>();
//新增空装备(入库)
List<Inventory> addInvList=new ArrayList<>();
List<InventoryReq> addReqInvList=new ArrayList<>();
List<WarehouseInventory> addWareInvList=new ArrayList<>();
//编辑装备(出库)
List<Inventory> updateInvList=new ArrayList<>();
//比较两个子单id完全一致,判断传递的子单据id在数据库中是否存在,如果不存在则抛出子单据不存在异常 //比较两个子单id完全一致,判断传递的子单据id在数据库中是否存在,如果不存在则抛出子单据不存在异常
if (collect.size() == existingIds.size() && collect.containsAll(existingIds) && existingIds.containsAll(collect)){ if (collect.size() == existingIds.size() && collect.containsAll(existingIds) && existingIds.containsAll(collect)){
//新增空装备(入库)
List<Inventory> addInvList=new ArrayList<>();
List<InventoryReq> addReqInvList=new ArrayList<>();
List<WarehouseInventory> addWareInvList=new ArrayList<>();
//编辑装备(出库)
List<Inventory> updateInvList=new ArrayList<>();
List<InventoryReq> updateReqInvList=new ArrayList<>();
//用于判断是否是空账 //用于判断是否是空账
boolean flag=false; boolean flag=false;
//遍历子单 //遍历子单
for (UpdateOrderDetailReq uploadDetailReq : reqList) { for (UpdateOrderDetailReq uploadDetailReq : reqList) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
...@@ -971,9 +944,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -971,9 +944,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
throw new ServiceException(OrderExceptionEnum.ORDER_NUM_IS_NULL); throw new ServiceException(OrderExceptionEnum.ORDER_NUM_IS_NULL);
} }
if (uploadDetailReq.getModifyQuantity() >= 0 ){ if (uploadDetailReq.getModifyQuantity() >= 0 ){
Map<String,VieDestoryGroup> destoryGroupMap=new HashMap<>();
//遍历子单据下面的详细记账信息 //遍历子单据下面的详细记账信息
for (DetailJsonReq detailJsonReq:JsonList) { for (DetailJsonReq detailJsonReq:JsonList) {
if (!warehouseMap.isEmpty()){ if (!warehouseMap.isEmpty()){
//判断是否有key存在,如果没有直接报错 //判断是否有key存在,如果没有直接报错
boolean b = warehouseMap.containsKey(detailJsonReq.getLocationId()); boolean b = warehouseMap.containsKey(detailJsonReq.getLocationId());
...@@ -1002,11 +976,12 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1002,11 +976,12 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
data.setSizeId(ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId()); data.setSizeId(ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId());
data.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId()); data.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId());
BigDecimal price=BigDecimal.ZERO; BigDecimal price=BigDecimal.ZERO;
if (ObjectUtil.isNull(detailJsonReq.getPrice())){ if (ObjectUtil.isNull(detailJsonReq.getPrice()) && ObjectUtil.isNull(detailJsonReq.getUnitPrice())){
price=new BigDecimal(uploadDetailReq.getPrice()); price=new BigDecimal(uploadDetailReq.getPrice());
} }
data.setPrice(ObjectUtil.isNull(detailJsonReq.getPrice())? price.toString() :detailJsonReq.getPrice().toString()); data.setPrice((ObjectUtil.isNull(detailJsonReq.getPrice()) && ObjectUtil.isNull(detailJsonReq.getUnitPrice()))
? price.toString() :ObjectUtil.isNull(detailJsonReq.getPrice() )?detailJsonReq.getUnitPrice().toString():detailJsonReq.getPrice().toString());
data.setProperty(ObjectUtil.isNull(detailJsonReq.getProperty())?0:detailJsonReq.getProperty()); data.setProperty(ObjectUtil.isNull(detailJsonReq.getProperty())?0:detailJsonReq.getProperty());
data.setSizeName(detailJsonReq.getSizeName()); data.setSizeName(detailJsonReq.getSizeName());
data.setTypeName(detailJsonReq.getTypeName()); data.setTypeName(detailJsonReq.getTypeName());
...@@ -1016,11 +991,13 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1016,11 +991,13 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
if (orderMain.getOrderType().equals("in")){ if (orderMain.getOrderType().equals("in")){
s = s+detailJsonReq.getLocationName()+"--"+detailJsonReq.getTypeName()+"【"+ s = s+detailJsonReq.getLocationName()+"--"+detailJsonReq.getTypeName()+"【"+
detailJsonReq.getSizeName()+"】,单价:"+(ObjectUtil.isNull(detailJsonReq.getPrice())?price:detailJsonReq.getPrice()) detailJsonReq.getSizeName()+"】,单价:"+((ObjectUtil.isNull(detailJsonReq.getPrice()) && ObjectUtil.isNull(detailJsonReq.getUnitPrice()))
? price.toString() :ObjectUtil.isNull(detailJsonReq.getPrice() )?detailJsonReq.getUnitPrice().toString():detailJsonReq.getPrice().toString())
+",数量实入:"+(ObjectUtil.isNull(detailJsonReq.getNum())?0:detailJsonReq.getNum())+",记账:"+ detailJsonReq.getModifyQuantity()+"\n"; +",数量实入:"+(ObjectUtil.isNull(detailJsonReq.getNum())?0:detailJsonReq.getNum())+",记账:"+ detailJsonReq.getModifyQuantity()+"\n";
}else { }else {
s = s+detailJsonReq.getLocationName()+"--"+detailJsonReq.getTypeName()+"【"+ s = s+detailJsonReq.getLocationName()+"--"+detailJsonReq.getTypeName()+"【"+
detailJsonReq.getSizeName()+"】,单价:"+(ObjectUtil.isNull(detailJsonReq.getPrice())?price:detailJsonReq.getPrice()) detailJsonReq.getSizeName()+"】,单价:"+((ObjectUtil.isNull(detailJsonReq.getPrice()) && ObjectUtil.isNull(detailJsonReq.getUnitPrice()))
? price.toString() :ObjectUtil.isNull(detailJsonReq.getPrice() )?detailJsonReq.getUnitPrice().toString():detailJsonReq.getPrice().toString())
+",数量实出:"+(ObjectUtil.isNull(detailJsonReq.getNum())?0:detailJsonReq.getNum())+",记账:"+ detailJsonReq.getModifyQuantity()+"\n"; +",数量实出:"+(ObjectUtil.isNull(detailJsonReq.getNum())?0:detailJsonReq.getNum())+",记账:"+ detailJsonReq.getModifyQuantity()+"\n";
} }
...@@ -1028,18 +1005,21 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1028,18 +1005,21 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
Date productionDate=ObjectUtil.isNull(detailJsonReq.getProductionDate())?DateTimeUtil.DateByDays():DateTimeUtil.DaysToZero(detailJsonReq.getProductionDate()); Date productionDate=ObjectUtil.isNull(detailJsonReq.getProductionDate())?DateTimeUtil.DateByDays():DateTimeUtil.DaysToZero(detailJsonReq.getProductionDate());
String sizeId=ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId(); String sizeId=ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId();
String typeId=ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId(); String typeId=ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId();
//销毁单独处理从新计算销毁出库的汇总接口
if (orderMain.getBussinessType().equals("destruction")){
String key=orgId+detailJsonReq.getLocationId()+typeId+sizeId;
destoryGroupMap=vieDestoryGroupService.createMap(destoryGroupMap,key,orgId,detailJsonReq,sizeId,typeId,orgName);
}
if (subNum>0){ if (subNum>0){
//判断是否存在仓库id的key,如果存在直接获取并且修改后再次添加,如果不存在则直接put //判断是否存在仓库id的key,如果存在直接获取并且修改后再次添加,如果不存在则直接put
logMap=logSummaryService.setLogSummaryToMap(logMap,loginUser,detailJsonReq.getLocationId(),req.getBussinessType(), logMap=logSummaryService.setLogSummaryToMap(logMap,loginUser,detailJsonReq.getLocationId(),req.getBussinessType(),
uploadDetailReq.getTypeName(),detailJsonReq.getLocationName(),orderMain.getId(), uploadDetailReq.getTypeName(),detailJsonReq.getLocationName(),orderMain.getId(),
orderMain.getOrderCode(),orgId,orderMain.getOrderType(),4); orderMain.getOrderCode(),orgId,orderMain.getOrderType(),4,subNum);
//实际出库或者入库数量大于实际数量,则对空数据进行增删改查 //实际出库或者入库数量大于实际数量,则对空数据进行增删改查
if (orderMain.getOrderType().equals("in")){ //入库 if (orderMain.getOrderType().equals("in")){ //入库
Random random = new Random(); Random random = new Random();
for (int i=0;i<subNum;i++) { for (int i=0;i<subNum;i++) {
String epc="000000"+DateTimeUtil.getCurrentDateTime().getTime()+(random.nextInt(999999 - 100000 + 1) + 100000); String epc="000000"+DateTimeUtil.getCurrentDateTime().getTime()+(random.nextInt(999999 - 100000 + 1) + 100000);
Inventory inventory = new Inventory(); Inventory inventory = new Inventory();
InventoryReq inventoryReq = new InventoryReq(); InventoryReq inventoryReq = new InventoryReq();
...@@ -1049,7 +1029,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1049,7 +1029,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
inventory.setTypeId(typeId); inventory.setTypeId(typeId);
inventory.setOrgId(orderMain.getEndOrgId()); inventory.setOrgId(orderMain.getEndOrgId());
inventory.setLocationType(0); inventory.setLocationType(0);
inventory.setPrice(ObjectUtil.isNull(detailJsonReq.getPrice())?price:detailJsonReq.getPrice()); inventory.setPrice((ObjectUtil.isNull(detailJsonReq.getPrice()) && ObjectUtil.isNull(detailJsonReq.getUnitPrice()))
? price :ObjectUtil.isNull(detailJsonReq.getPrice() )?detailJsonReq.getUnitPrice():detailJsonReq.getPrice());
inventory.setProperty(0); inventory.setProperty(0);
inventory.setEpcType(1); inventory.setEpcType(1);
inventory.setState("normal"); inventory.setState("normal");
...@@ -1088,6 +1069,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1088,6 +1069,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
warehouseInventory.setLocationName(detailJsonReq.getLocationName()); warehouseInventory.setLocationName(detailJsonReq.getLocationName());
addWareInvList.add(warehouseInventory); addWareInvList.add(warehouseInventory);
} }
} }
else {//出库 else {//出库
//需要先根据创建的单子进行查询,再随机将两个进行设置为出库 //需要先根据创建的单子进行查询,再随机将两个进行设置为出库
...@@ -1105,8 +1087,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1105,8 +1087,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
} }
if (orderMain.getBussinessType().equals("destruction")){
//如果单子是销毁出库,那么需要在更新vieDestoryGroup表
vieDestoryGroupService.updateNum(destoryGroupMap);
}
//修改单子数量数量 //修改单子数量数量
orderDetail.setModifyQuantity(uploadDetailReq.getModifyQuantity()); orderDetail.setModifyQuantity(uploadDetailReq.getModifyQuantity());
orderDetail.setUpdateTime(DateTimeUtil.getCurrentDateTime()); orderDetail.setUpdateTime(DateTimeUtil.getCurrentDateTime());
...@@ -1130,14 +1115,79 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1130,14 +1115,79 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
return a && b && c; return a && b && c;
} }
//入库添加虚拟装备 //入库添加虚拟装备(仅限于采购,其他以及赠与)
if (CollectionUtil.isNotEmpty(addInvList)){ if (CollectionUtil.isNotEmpty(addInvList) && !orderMain.getBussinessType().equals("return") &&!orderMain.getBussinessType().equals("repair")){
inventoryService.saveBatch(addInvList); inventoryService.saveBatch(addInvList);
} }
//入库添加虚拟装备 //入库添加虚拟装备(仅限于采购,其他以及赠与)
if (CollectionUtil.isNotEmpty(addWareInvList)){ if (CollectionUtil.isNotEmpty(addWareInvList)&& !orderMain.getBussinessType().equals("return") &&!orderMain.getBussinessType().equals("repair")){
warehouseInventoryService.saveBatch(addWareInvList); warehouseInventoryService.saveBatch(addWareInvList);
} }
//针对于归还入库和维修入库
if (orderMain.getOrderType().equals("in") && (orderMain.getBussinessType().equals("return") || req.getBussinessType().equals("repair"))){
//需要根据ordermain将业务单据里的出库单子找出来,现将虚拟物资的装备还原回来
List<LogSummaryReq> logSummaryList=logSummaryService.selectByOrderCode(orderMain.getBussinessCode());
if (CollectionUtil.isNotEmpty(addReqInvList)){
Set<String> usedEpcs = new HashSet<>();
// for (int i=0;i<logSummaryList.size();i++) {
// for (int j=i;j<addReqInvList.size();j++) {
// if (logSummaryList.get(i).getSizeId().equals(addInvList.get(i).getSizeId())
// && logSummaryList.get(i).getTypeId().equals(addInvList.get(i).getTypeId())) {
// // 如果已经使用过该 epc,则继续下一个循环
//// if (usedEpcs.contains(logSummaryList.get(i).getEpc())) {
//// continue;
//// }
//
// addInvList.get(i).setEpc(logSummaryList.get(i).getEpc());
// i++;
//// usedEpcs.add(logSummaryList.get(i).getEpc());
// break; // 设置了 epc 后,跳出当前循环
// }
// }
// }
for (LogSummaryReq logSummaryReq : logSummaryList) {
String sizeId = logSummaryReq.getSizeId();
String typeId = logSummaryReq.getTypeId();
String epc = logSummaryReq.getEpc();
// 查找匹配的 sizeId 和 typeId 在 list2 中的位置
int index = findIndexForEpc(addReqInvList, sizeId, typeId, usedEpcs);
// 如果找到了可用的位置,则将 epc 赋值给该位置的元素
if (index != -1) {
InventoryReq inventoryReq = addReqInvList.get(index);
inventoryReq.setEpc(epc);
usedEpcs.add(epc);
}
}
}
LambdaUpdateWrapper<Inventory> wp1 = Wrappers.<Inventory>lambdaUpdate();
wp1.set(Inventory::getState,"normal")
.set(Inventory::getLocationState, req.getOrderType());
LambdaUpdateWrapper<WarehouseInventory> wp2 = Wrappers.<WarehouseInventory>lambdaUpdate();
wp2.set(WarehouseInventory::getLocationState, req.getOrderType());
for (int i = 0; i < addReqInvList.size(); i++) {
wp1.eq(Inventory::getEpc, addReqInvList.get(i).getEpc());
wp2.set(WarehouseInventory::getLocationId, addReqInvList.get(i).getLocationId());
wp2.set(WarehouseInventory::getLocationName, addReqInvList.get(i).getLocationName());
wp2.eq(WarehouseInventory::getEpc, addReqInvList.get(i).getEpc());
if (i < addReqInvList.size()-1){
wp1.or();
wp2.or();
}
}
inventoryService.update(wp1);
warehouseInventoryService.update(wp2);
}
//入库记账logdetail //入库记账logdetail
if (CollectionUtil.isNotEmpty(addReqInvList)){ if (CollectionUtil.isNotEmpty(addReqInvList)){
...@@ -1168,17 +1218,29 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1168,17 +1218,29 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
if (CollectionUtil.isNotEmpty(updateInvList)){ if (CollectionUtil.isNotEmpty(updateInvList)){
//更新数据库中实体类的状态 //更新数据库中实体类的状态
LambdaUpdateWrapper<Inventory> wp1 = Wrappers.<Inventory>lambdaUpdate(); LambdaUpdateWrapper<Inventory> wp1 = Wrappers.<Inventory>lambdaUpdate();
LambdaUpdateWrapper<WarehouseInventory> wp2 = Wrappers.<WarehouseInventory>lambdaUpdate();
String state=""; String state="";
if (orderMain.getBussinessType().equals("destruction")){ if (orderMain.getBussinessType().equals("destruction")){
state="destory"; state="destory";
wp1.set(Inventory::getState, state) wp1.set(Inventory::getState, state)
.set(Inventory::getLocationState, req.getOrderType()); .set(Inventory::getLocationState, req.getOrderType());
}else { wp2.set(WarehouseInventory::getLocationState, req.getOrderType());
} else if (orderMain.getBussinessType().equals("allocate")) {
wp1.set(Inventory::getState, req.getBussinessType())
.set(Inventory::getLocationState, req.getOrderType())
.set(Inventory::getOrgId,null)
.set(Inventory::getLocationId,null);
wp2.set(WarehouseInventory::getLocationId,null)
.set(WarehouseInventory::getOrgId,null)
.set(WarehouseInventory::getLocationState, req.getOrderType());
} else {
wp1.set(Inventory::getState, req.getBussinessType()) wp1.set(Inventory::getState, req.getBussinessType())
.set(Inventory::getLocationState, req.getOrderType()); .set(Inventory::getLocationState, req.getOrderType());
wp2.set(WarehouseInventory::getLocationState, req.getOrderType());
} }
LambdaUpdateWrapper<WarehouseInventory> wp2 = Wrappers.<WarehouseInventory>lambdaUpdate();
wp2.set(WarehouseInventory::getLocationState, req.getOrderType());
for (int i = 0; i < updateInvList.size(); i++) { for (int i = 0; i < updateInvList.size(); i++) {
Inventory updateInv = updateInvList.get(i); Inventory updateInv = updateInvList.get(i);
wp1.eq(Inventory::getId, updateInv.getId()); wp1.eq(Inventory::getId, updateInv.getId());
...@@ -1220,7 +1282,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1220,7 +1282,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
if (req.getBussinessType().equals("quick")){ if (req.getBussinessType().equals("quick")){
g = handleQuickOrder(orderMain,reqList); g = handleQuickOrder(orderMain,reqList);
}else { }else {
d=updateSummaryInfo(req, orderDetailReqList, pubOrg.getOrgId(), pubOrg.getOrgCode(),pubOrg.getOrgName()); d=updateSummaryInfo(req,orderMain, orderDetailReqList, pubOrg.getOrgId(), pubOrg.getOrgCode(),pubOrg.getOrgName());
//判断归还入库和维修入库的出库仓库是否一致,如果不一致需要将原始出去的装备数减少
// List<LogSummaryReq> LogSummaryReq=logSummaryService.selectByOrderCode(orderMain.getBussinessCode());
//
// for (LogSummaryReq sum:LogSummaryReq) {
// for (InventoryReq inventoryReq:addReqInvList) {
//
// }
// }
} }
//如果是领用,警员绑定装备 //如果是领用,警员绑定装备
boolean e=true; boolean e=true;
...@@ -1385,7 +1455,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1385,7 +1455,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
//修改装备汇总表中的数据inventory_summary //修改装备汇总表中的数据inventory_summary
public boolean updateSummaryInfo(UpdateOrderReq req,List<UpdateOrderDetailReq> orderDetailReqList,Long orgId,String orgCode,String orgName){ public boolean updateSummaryInfo(UpdateOrderReq req,OrderMain orderMain,List<UpdateOrderDetailReq> orderDetailReqList,
Long orgId,String orgCode,String orgName){
//将库存summary表中数据进行查询出来一一进行比较,如果说sizeId,typeId,warehouseId相同则对该数据进行修改,如果说该数据不存在的话则在summary表中添加一条数据 //将库存summary表中数据进行查询出来一一进行比较,如果说sizeId,typeId,warehouseId相同则对该数据进行修改,如果说该数据不存在的话则在summary表中添加一条数据
//将子单据进行汇总 //将子单据进行汇总
...@@ -1421,6 +1492,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1421,6 +1492,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
List<InventorySummary> inventorySummaryList = inventorySummaryMapper.selectSum(searchCriteria); List<InventorySummary> inventorySummaryList = inventorySummaryMapper.selectSum(searchCriteria);
List<InventorySummary> addList=new ArrayList<>(); List<InventorySummary> addList=new ArrayList<>();
List<InventorySummary> updateList=new ArrayList<>(); List<InventorySummary> updateList=new ArrayList<>();
List<InventorySummary> delList=new ArrayList<>();
for (String key : map.keySet()) { for (String key : map.keySet()) {
UpdateOrderDetailReq upReq = map.get(key); UpdateOrderDetailReq upReq = map.get(key);
...@@ -1431,7 +1504,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1431,7 +1504,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
is.setUpdateTime(DateTimeUtil.getCurrentDateTime()); is.setUpdateTime(DateTimeUtil.getCurrentDateTime());
//修改各种数量和价格 //修改各种数量和价格
if (req.getOrderType().equals("in")){ if (req.getOrderType().equals("in")){
switch (req.getBussinessType()){ switch (orderMain.getBussinessType()){
case "purchase": case "purchase":
case "allocate": case "allocate":
case "gift": case "gift":
...@@ -1468,9 +1541,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1468,9 +1541,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
break; break;
} }
}else { }else {
switch (req.getBussinessType()){ switch (orderMain.getBussinessType()){
case "destruction": case "destruction":
//直接减去库存数量 //直接减去库存数量
is.setNumber(Math.max(is.getNumber() - upReq.getModifyQuantity(), 0)); is.setNumber(Math.max(is.getNumber() - upReq.getModifyQuantity(), 0));
is.setPrice(is.getUnitPrice().multiply(BigDecimal.valueOf(is.getNumber()))); is.setPrice(is.getUnitPrice().multiply(BigDecimal.valueOf(is.getNumber())));
...@@ -1482,6 +1554,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1482,6 +1554,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
is.setNumber(Math.max(is.getNumber() - upReq.getModifyQuantity(), 0)); is.setNumber(Math.max(is.getNumber() - upReq.getModifyQuantity(), 0));
is.setStockNumber(Math.max(is.getStockNumber() - upReq.getModifyQuantity(), 0)); is.setStockNumber(Math.max(is.getStockNumber() - upReq.getModifyQuantity(), 0));
is.setPrice(is.getPrice().subtract(BigDecimal.valueOf(upReq.getModifyQuantity()).multiply(new BigDecimal(upReq.getPrice()))) ); is.setPrice(is.getPrice().subtract(BigDecimal.valueOf(upReq.getModifyQuantity()).multiply(new BigDecimal(upReq.getPrice()))) );
//如果库存数为0,那么直接删除该条记录
if (is.getNumber()==0 && is.getStockNumber()==0 && is.getOutboundNumber()==0 && is.getDestructionNumber()==0){
delList.add(is);
}
break; break;
case "use": case "use":
is.setOutboundNumber(is.getOutboundNumber()+upReq.getModifyQuantity()); is.setOutboundNumber(is.getOutboundNumber()+upReq.getModifyQuantity());
...@@ -1568,6 +1644,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1568,6 +1644,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
boolean b = inventorySummaryService.updateBatchById(updateList); boolean b = inventorySummaryService.updateBatchById(updateList);
a = a && b; a = a && b;
} }
if (delList.size()>0){
inventorySummaryService.removeBatchByIds(delList);
}
return a; return a;
...@@ -2060,7 +2140,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -2060,7 +2140,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
private Integer findIndexForEpc(List<InventoryReq> list, String sizeId, String typeId, Set<String> usedEpcs) {
for (int i = 0; i < list.size(); i++) {
InventoryReq inventoryReq = list.get(i);
if (sizeId.equals(inventoryReq.getSizeId()) && typeId.equals(inventoryReq.getTypeId()) && !usedEpcs.contains(inventoryReq.getEpc())) {
return i;
}
}
return -1;
}
} }
...@@ -58,6 +58,7 @@ import com.junmp.v2.sys.user.entity.SysUser; ...@@ -58,6 +58,7 @@ import com.junmp.v2.sys.user.entity.SysUser;
import com.junmp.v2.sys.user.entity.SysUserOrg; import com.junmp.v2.sys.user.entity.SysUserOrg;
import com.junmp.v2.sys.user.entity.SysUserRole; import com.junmp.v2.sys.user.entity.SysUserRole;
import com.junmp.v2.sys.user.factory.SysUserCreateFactory; import com.junmp.v2.sys.user.factory.SysUserCreateFactory;
import com.junmp.v2.sys.user.mapper.SysUserMapper;
import com.junmp.v2.sys.user.service.SysUserOrgService; import com.junmp.v2.sys.user.service.SysUserOrgService;
import com.junmp.v2.sys.user.service.SysUserRoleService; import com.junmp.v2.sys.user.service.SysUserRoleService;
import com.junmp.v2.sys.user.service.SysUserService; import com.junmp.v2.sys.user.service.SysUserService;
...@@ -178,6 +179,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -178,6 +179,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
@Resource @Resource
private PolicemanService policemanService; private PolicemanService policemanService;
@Resource
private SysUserMapper sysUserMapper;
private static final String REDIS_POLICE = "Policeman_"; private static final String REDIS_POLICE = "Policeman_";
private static final String REDIS_ORG = "Organization_"; private static final String REDIS_ORG = "Organization_";
...@@ -204,9 +208,15 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -204,9 +208,15 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
//判断警员编号是否已经存在 //判断警员编号是否已经存在
List<Policeman> list = list(new LambdaQueryWrapper<Policeman>().eq(Policeman::getPoliceCode, req.getPoliceCode()) List<Policeman> list = list(new LambdaQueryWrapper<Policeman>().eq(Policeman::getPoliceCode, req.getPoliceCode())
.eq(Policeman::getIdentity, req.getIdentity()).or().eq(Policeman::getName, req.getName())); .eq(Policeman::getIdentity, req.getIdentity()).or().eq(Policeman::getName, req.getName()));
if (CollectionUtil.isNotEmpty(list)){ for (Policeman policeman:list) {
throw new ServiceException(PolicemanExceptionEnum.POLICECODE_IS_EXISTS); if (policeman.getPoliceCode().equals(req.getPoliceCode())){
throw new ServiceException(PolicemanExceptionEnum.POLICECODE_IS_EXISTS);
}
if (policeman.getName().equals(req.getName())){
throw new ServiceException(PolicemanExceptionEnum.POLICENAME_IS_EXISTS);
}
} }
//查询传入的组织机构id是否存在 //查询传入的组织机构id是否存在
pubOrgService.PubOrgExist(req.getOrgId()); pubOrgService.PubOrgExist(req.getOrgId());
//绑定账号 //绑定账号
...@@ -604,9 +614,18 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -604,9 +614,18 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
public boolean UpdatePolice(UpdatePolicemanReq req) { public boolean UpdatePolice(UpdatePolicemanReq req) {
//判断警员是否存在 //判断警员是否存在
Policeman one = PoliceExist(req.getId()); Policeman one = PoliceExist(req.getId());
List<Policeman> list = list(new LambdaQueryWrapper<Policeman>().eq(Policeman::getPoliceCode, req.getPoliceCode())
//查询传入的组织机构id是否存在 .eq(Policeman::getIdentity, req.getIdentity()).or().eq(Policeman::getName, req.getName()));
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId()); for (Policeman policeman:list) {
if (!policeman.getId().equals(one.getId())){
if (policeman.getPoliceCode().equals(req.getPoliceCode())){
throw new ServiceException(PolicemanExceptionEnum.POLICECODE_IS_EXISTS);
}
if (policeman.getName().equals(req.getName())){
throw new ServiceException(PolicemanExceptionEnum.POLICENAME_IS_EXISTS);
}
}
}
//判断传入的修改的警员编号与本身编号一致,如果一致则无所谓,如果不一致则需要判断修改的警员编号是否已经存在 //判断传入的修改的警员编号与本身编号一致,如果一致则无所谓,如果不一致则需要判断修改的警员编号是否已经存在
BeanPlusUtil.copyProperties(req, one); BeanPlusUtil.copyProperties(req, one);
if (!req.getPoliceCode().equals(one.getPoliceCode())) { if (!req.getPoliceCode().equals(one.getPoliceCode())) {
...@@ -1377,7 +1396,6 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -1377,7 +1396,6 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
} }
}else { }else {
if (CollectionUtil.isNotEmpty(list1)){ if (CollectionUtil.isNotEmpty(list1)){
result = cabinetBoxPoliceService.remove(new LambdaQueryWrapper<CabinetBoxPolice>().eq(CabinetBoxPolice::getPoliceId, req.getId())); result = cabinetBoxPoliceService.remove(new LambdaQueryWrapper<CabinetBoxPolice>().eq(CabinetBoxPolice::getPoliceId, req.getId()));
} }
...@@ -2008,6 +2026,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -2008,6 +2026,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
IStoredEncryptApi storedEncryptApi = (IStoredEncryptApi)SpringUtil.getBean(IStoredEncryptApi.class); IStoredEncryptApi storedEncryptApi = (IStoredEncryptApi)SpringUtil.getBean(IStoredEncryptApi.class);
String defaultPassword = SystemConfigExpander.getDefaultPassWord(); String defaultPassword = SystemConfigExpander.getDefaultPassWord();
String password = iStoredEncryptApi.encrypt(defaultPassword); String password = iStoredEncryptApi.encrypt(defaultPassword);
SysUserReq sysUserReq=policemanMapper.selectUserById(req.getUserId());
sysUserService.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getUserId,req.getUserId()) sysUserService.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getUserId,req.getUserId())
.set(SysUser::getPassword,password)); .set(SysUser::getPassword,password));
Policeman one = getOne(new LambdaQueryWrapper<Policeman>() Policeman one = getOne(new LambdaQueryWrapper<Policeman>()
...@@ -2025,6 +2044,14 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -2025,6 +2044,14 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
MQ.SendMsg("warehouseMsg",req.getOrgId().toString(),mqDto); MQ.SendMsg("warehouseMsg",req.getOrgId().toString(),mqDto);
} }
//发送用户修改消息
MQDto userMQDto = new MQDto();
userMQDto.setApi("InfoChange");
//更改类别,1为类型
userMQDto.setType(10);
userMQDto.setMessage("Updating userInfo");
//警员添加成功之后,往消息队列推送人员更新的消息
MQ.SendMsg("warehouseMsg",sysUserReq.getOrgId().toString(),userMQDto);
return true; return true;
} }
...@@ -2033,17 +2060,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -2033,17 +2060,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean updatePassword(UpdatePolicemanReq req) { public boolean updatePassword(UpdatePolicemanReq req) {
IStoredEncryptApi storedEncryptApi = (IStoredEncryptApi) SpringUtil.getBean(IStoredEncryptApi.class); IStoredEncryptApi storedEncryptApi = (IStoredEncryptApi) SpringUtil.getBean(IStoredEncryptApi.class);
Policeman one=new Policeman(); Policeman one =getOne(new LambdaQueryWrapper<Policeman>()
if (ObjectUtil.isNotNull(req.getId()) && ObjectUtil.isNotNull(req.getUserId())){ .eq(Policeman::getId, req.getId()).or().eq(Policeman::getUserId,req.getUserId()));
one = getOne(new LambdaQueryWrapper<Policeman>() //查询用户
.eq(Policeman::getId, req.getId()).eq(Policeman::getUserId,req.getUserId())); SysUserReq sysUserReq = new SysUserReq();
} else if (ObjectUtil.isNotNull(req.getId()) && ObjectUtil.isNull(req.getUserId())){
one = getOne(new LambdaQueryWrapper<Policeman>()
.eq(Policeman::getId, req.getId()));
}else if (ObjectUtil.isNotNull(req.getUserId()) && ObjectUtil.isNull(req.getId())){
one = getOne(new LambdaQueryWrapper<Policeman>()
.eq(Policeman::getUserId, req.getUserId()));
}
if (ObjectUtil.isNotNull(one)){ if (ObjectUtil.isNotNull(one)){
//如果不为空则表示修改警员密码 //如果不为空则表示修改警员密码
String newPassword = storedEncryptApi.encrypt(req.getNewPassword()); String newPassword = storedEncryptApi.encrypt(req.getNewPassword());
...@@ -2051,16 +2071,29 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -2051,16 +2071,29 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
one.setPassword(newPassword); one.setPassword(newPassword);
updateById(one); updateById(one);
} }
SysUserReq sysUserReq = new SysUserReq(); sysUserReq=policemanMapper.selectUserById(req.getUserId());
BeanPlusUtil.copyProperties(req,sysUserReq); BeanPlusUtil.copyProperties(req,sysUserReq);
sysUserService.editPassword(sysUserReq); sysUserService.editPassword(sysUserReq);
MQDto mqDto = new MQDto();
mqDto.setApi("InfoChange"); //警员添加成功之后,往消息队列推送人员更新的消息
if (ObjectUtil.isNotNull(one)){
MQDto mqDto = new MQDto();
mqDto.setApi("InfoChange");
//更改类别,1为类型
mqDto.setType(5);
mqDto.setMessage("Updating policemanInfo");
//警员添加成功之后,往消息队列推送人员更新的消息
MQ.SendMsg("warehouseMsg",one.getOrgId().toString(),mqDto);
}
//发送用户修改消息
MQDto userMQDto = new MQDto();
userMQDto.setApi("InfoChange");
//更改类别,1为类型 //更改类别,1为类型
mqDto.setType(10); userMQDto.setType(10);
mqDto.setMessage("Updating UserInfo"); userMQDto.setMessage("Updating userInfo");
//警员添加成功之后,往消息队列推送人员更新的消息 //警员添加成功之后,往消息队列推送人员更新的消息
MQ.SendMsg("warehouseMsg",req.getOrgId().toString(),mqDto); MQ.SendMsg("warehouseMsg",sysUserReq.getOrgId().toString(),userMQDto);
return true; return true;
} }
...@@ -2409,5 +2442,74 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -2409,5 +2442,74 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
return policemanMapper.searchUserByRoleId(orgId); return policemanMapper.searchUserByRoleId(orgId);
} }
//一键生成普通警员账号
@Override
@Transactional
public boolean CreateAllUserId() {
List<Policeman> policemanList=policemanMapper.getAllPolice();
List<Long> userIds=policemanMapper.getUserIds();
List<Long> list = new ArrayList<>();
for (int i=0;i<policemanList.size();i++) {
boolean flag=false;
Random random = new Random();
long rangeStart = 100000000000000000L; // 10^18
long rangeEnd = 999999999999999999L; // 10^19 - 1
Long userId=rangeStart + ((long) (random.nextDouble() * (rangeEnd - rangeStart)));
if (userIds.contains(userId)){
flag=true;
}
if (!flag){
list.add(userId);
}
if (flag){
i--;
}
}
List<SysUserRole> sysUserRoleList=new ArrayList<>();
List<SysUserOrg> sysUserOrgList=new ArrayList<>();
List<SysUser> sysUserList=new ArrayList<>();
//角色
Long roleId=1716370847267106817L;
for (int i=0;i<policemanList.size();i++) {
Policeman one = policemanList.get(i);
Long userId = list.get(i);
//创建用户信息
SysUser sysUser = new SysUser();
sysUser.setUserId(userId);
sysUser.setAccount(one.getName()+one.getPoliceCode());
sysUser.setPassword("123456");
sysUser.setNickName(one.getName());
sysUser.setRealName(one.getName());
SysUserCreateFactory.fillAddSysUser(sysUser);
sysUser.setAvatar(FileConstant.DEFAULT_AVATAR_FILE_ID);
sysUser.setDelFlag(LogicDelEnum.N.getCode());
sysUser.setCreateTime(DateTime.now());
sysUser.setUpdateTime(DateTime.now());
sysUserList.add(sysUser);
one.setUserId(sysUser.getUserId());
one.setPassword(sysUser.getPassword());
//创建关联表数据
SysUserOrg sysUserOrg = new SysUserOrg();
sysUserOrg.setOrgId(one.getOrgId());
sysUserOrg.setUserId(sysUser.getUserId());
sysUserOrgList.add(sysUserOrg);
//创建角色表数据
SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setRoleId(roleId);
sysUserRole.setUserId(sysUser.getUserId());
sysUserRole.setCreateTime(DateTimeUtil.getCurrentDateTime());
sysUserRoleList.add(sysUserRole);
}
updateBatchById(policemanList);
sysUserService.saveBatch(sysUserList);
sysUserRoleService.saveBatch(sysUserRoleList);
sysUserOrgService.saveBatch(sysUserOrgList);
return true;
}
} }
...@@ -640,7 +640,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem ...@@ -640,7 +640,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
public OrgDto getMaximumParent(List<OrgDto> orgs, OrgDto org) { public OrgDto getMaximumParent(List<OrgDto> orgs, OrgDto org) {
OrgDto dept = null; OrgDto dept = null;
String parentId = org.getOrgParentId().toString(); String parentId = org.getOrgParentId().toString();
if(parentId.equals("-1")){ if(parentId.equals("0")){
dept = org; dept = org;
}else { }else {
List<OrgDto> parent = orgs.stream().filter(item -> item.getOrgId().toString().equals( parentId)).collect(Collectors.toList()); List<OrgDto> parent = orgs.stream().filter(item -> item.getOrgId().toString().equals( parentId)).collect(Collectors.toList());
...@@ -861,6 +861,8 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem ...@@ -861,6 +861,8 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
if (ObjectUtil.isNotNull(req.getOrgId())){ if (ObjectUtil.isNotNull(req.getOrgId())){
pubOrg = PubOrgExist(req.getOrgId()); pubOrg = PubOrgExist(req.getOrgId());
int isLastNode=pubOrgMapper.selectLastNode(req.getOrgId());
pubOrg.setIsLastNode(isLastNode);
} }
if (ObjectUtil.isNotNull(req.getOrgCode())){ if (ObjectUtil.isNotNull(req.getOrgCode())){
pubOrg = getOne(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getOrgCode, req.getOrgCode())); pubOrg = getOne(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getOrgCode, req.getOrgCode()));
...@@ -871,6 +873,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem ...@@ -871,6 +873,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
@Override @Override
public Long findCodeToOrgId(PubOrg pubOrg) { public Long findCodeToOrgId(PubOrg pubOrg) {
PubOrg one = getOne(new LambdaQueryWrapper<PubOrg>() PubOrg one = getOne(new LambdaQueryWrapper<PubOrg>()
.isNotNull(PubOrg::getLevelFlag)
.eq(PubOrg::getFindCode, pubOrg.getFindCode()) .eq(PubOrg::getFindCode, pubOrg.getFindCode())
.or() .or()
.eq(PubOrg::getOrgCode, pubOrg.getFindCode()) .eq(PubOrg::getOrgCode, pubOrg.getFindCode())
......
...@@ -2,17 +2,21 @@ package com.junmp.jyzb.service.impl; ...@@ -2,17 +2,21 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.junmp.junmpProcess.dto.json.UserInfo; import com.junmp.junmpProcess.dto.json.UserInfo;
import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.mapper.PubOrgMapper;
import com.junmp.jyzb.service.PublicService; import com.junmp.jyzb.service.PublicService;
import com.junmp.v2.auth.api.context.LoginContext; import com.junmp.v2.auth.api.context.LoginContext;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.enums.StatusEnum; import com.junmp.v2.common.enums.StatusEnum;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.entity.BaseEntity;
import com.junmp.v2.dict.api.bean.req.SysDictItemReq; import com.junmp.v2.dict.api.bean.req.SysDictItemReq;
import com.junmp.v2.dict.api.bean.vo.SimpleDictItemVo; import com.junmp.v2.dict.api.bean.vo.SimpleDictItemVo;
import com.junmp.v2.dict.api.bean.vo.SimpleDictVo; import com.junmp.v2.dict.api.bean.vo.SimpleDictVo;
...@@ -28,9 +32,14 @@ import com.junmp.v2.message.api.bean.req.MessageSendReq; ...@@ -28,9 +32,14 @@ import com.junmp.v2.message.api.bean.req.MessageSendReq;
import com.junmp.v2.message.api.enums.MsgReadStateEnum; import com.junmp.v2.message.api.enums.MsgReadStateEnum;
import com.junmp.v2.message.db.entity.SysMessage; import com.junmp.v2.message.db.entity.SysMessage;
import com.junmp.v2.message.db.service.SysMessageService; import com.junmp.v2.message.db.service.SysMessageService;
import com.junmp.v2.sys.api.bean.user.req.SysUserReq;
import com.junmp.v2.sys.user.entity.SysUser;
import com.junmp.v2.sys.user.service.SysUserOrgService;
import com.junmp.v2.sys.user.service.SysUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -51,6 +60,12 @@ public class PublicServiceImpl implements PublicService { ...@@ -51,6 +60,12 @@ public class PublicServiceImpl implements PublicService {
@Resource @Resource
private MessageApi messageApi; private MessageApi messageApi;
@Resource
private SysUserService sysUserService;
@Resource
private PubOrgMapper pubOrgMapper;
@Resource @Resource
private SysMessageService sysMessageService; private SysMessageService sysMessageService;
...@@ -100,7 +115,7 @@ public class PublicServiceImpl implements PublicService { ...@@ -100,7 +115,7 @@ public class PublicServiceImpl implements PublicService {
//将该条消息全设置为已读并且更新再推送一条消息 //将该条消息全设置为已读并且更新再推送一条消息
sysMessageService.update(new LambdaUpdateWrapper<SysMessage>() sysMessageService.update(new LambdaUpdateWrapper<SysMessage>()
.set(SysMessage::getReadFlag,1) .set(SysMessage::getReadFlag,1).set(BaseEntity::getUpdateUser, 123456)
.eq(SysMessage::getBizId,req.getBizId())); .eq(SysMessage::getBizId,req.getBizId()));
List<SysMessage> list = sysMessageService.list(new LambdaQueryWrapper<SysMessage>().eq(SysMessage::getBizId, req.getBizId())); List<SysMessage> list = sysMessageService.list(new LambdaQueryWrapper<SysMessage>().eq(SysMessage::getBizId, req.getBizId()));
List<Long> userIdList = list.stream().map(SysMessage::getReceiveUserId).collect(Collectors.toList()); List<Long> userIdList = list.stream().map(SysMessage::getReceiveUserId).collect(Collectors.toList());
...@@ -119,6 +134,22 @@ public class PublicServiceImpl implements PublicService { ...@@ -119,6 +134,22 @@ public class PublicServiceImpl implements PublicService {
return true; return true;
} }
//是否需要重定向
@Override
public boolean isRedirect(SysUserReq user) {
//如果该用户不存在,返回false
List<SysUser> list = sysUserService.list(new LambdaQueryWrapper<SysUser>().eq(SysUser::getAccount, user.getAccount()));
if (CollectionUtil.isEmpty(list)){
return false;
}
//如果存在,判断该账号所属组织机构是否使用3.0需要,组织机构表中中的字段值是否为1,是1,则直接返回true,否则直接返回false
PubOrg pubOrg=pubOrgMapper.isRedirect(user.getAccount());
if (ObjectUtil.isNull(pubOrg)){
return false;
}else {
return pubOrg.getIsFlag()==1;
}
}
} }
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -95,4 +96,5 @@ public class ShelfServiceImpl extends ServiceImpl<ShelfMapper, Shelf> implements ...@@ -95,4 +96,5 @@ public class ShelfServiceImpl extends ServiceImpl<ShelfMapper, Shelf> implements
return shelf; return shelf;
} }
} }
...@@ -184,6 +184,27 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i ...@@ -184,6 +184,27 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i
} }
@Override @Override
public List<String> checkSupplierList(List<String> supplierNameList) {
LambdaQueryWrapper<Supplier> supplierEq=new LambdaQueryWrapper<>();
supplierEq.in(CollectionUtil.isNotEmpty(supplierNameList),Supplier::getName,supplierNameList);
List<Supplier> supplierList = list(supplierEq);
List<String> noneExitentSuppliers=new ArrayList<>();
for (String supplierName:supplierNameList) {
boolean flag=false;
for (Supplier supplier:supplierList) {
if (supplier.getName().equals(supplierName)){
flag=true;
break;
}
}
if (!flag){
noneExitentSuppliers.add(supplierName);
}
}
return noneExitentSuppliers;
}
@Override
public Boolean ChangeSupplierState(UpdateSupplierReq req) { public Boolean ChangeSupplierState(UpdateSupplierReq req) {
Supplier supplier = this.getById(req.getId()); Supplier supplier = this.getById(req.getId());
if (ObjectUtil.isNull(supplier)) { if (ObjectUtil.isNull(supplier)) {
......
...@@ -134,7 +134,7 @@ public class TjServiceImpl implements TjService { ...@@ -134,7 +134,7 @@ public class TjServiceImpl implements TjService {
.flatMap(List::stream) .flatMap(List::stream)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L) if (req.getOrgId()!=1369509498032809012L)
{ {
TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
...@@ -145,11 +145,14 @@ public class TjServiceImpl implements TjService { ...@@ -145,11 +145,14 @@ public class TjServiceImpl implements TjService {
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
allData.add(OrgDataSelf);//把本级数据加进去 OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
allData.add(OrgData);//把下级数据加进去 OrgData.setDName(OrgData.getDName()+"直属下级");
allData.add(OrgDataSelf);//把本级数据加进去
allData.add(OrgData);//把下级数据加进去
}
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (ObjectUtil.isNull(req.getRemoveEmpty())|| req.getRemoveEmpty()) if (ObjectUtil.isNull(req.getRemoveEmpty())|| req.getRemoveEmpty())
...@@ -207,7 +210,7 @@ public class TjServiceImpl implements TjService { ...@@ -207,7 +210,7 @@ public class TjServiceImpl implements TjService {
.map(CompletableFuture::join) .map(CompletableFuture::join)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L) if (req.getOrgId()!=1369509498032809012L)
{ {
TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
...@@ -218,11 +221,14 @@ public class TjServiceImpl implements TjService { ...@@ -218,11 +221,14 @@ public class TjServiceImpl implements TjService {
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
allData.add(OrgDataSelf);//把本级数据加进去 OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
allData.add(OrgData);//把下级数据加进去 OrgData.setDName(OrgData.getDName()+"直属下级");
allData.add(OrgDataSelf);//把本级数据加进去
allData.add(OrgData);//把下级数据加进去
}
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (ObjectUtil.isNull(req.getRemoveEmpty())|| req.getRemoveEmpty()) if (ObjectUtil.isNull(req.getRemoveEmpty())|| req.getRemoveEmpty())
...@@ -274,7 +280,7 @@ public class TjServiceImpl implements TjService { ...@@ -274,7 +280,7 @@ public class TjServiceImpl implements TjService {
.map(CompletableFuture::join) .map(CompletableFuture::join)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L) if (req.getOrgId()!=1369509498032809012L)
{ {
TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
...@@ -285,11 +291,14 @@ public class TjServiceImpl implements TjService { ...@@ -285,11 +291,14 @@ public class TjServiceImpl implements TjService {
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
allData.add(OrgDataSelf);//把本级数据加进去 OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
allData.add(OrgData);//把下级数据加进去 OrgData.setDName(OrgData.getDName()+"直属下级");
allData.add(OrgDataSelf);//把本级数据加进去
allData.add(OrgData);//把下级数据加进去
}
} }
for (TjOrgEqsDto tj:allData) { for (TjOrgEqsDto tj:allData) {
finalTjOrgEqsDto.setTotalNumber(finalTjOrgEqsDto.getTotalNumber()+ tj.getTotalNumber()); finalTjOrgEqsDto.setTotalNumber(finalTjOrgEqsDto.getTotalNumber()+ tj.getTotalNumber());
...@@ -356,7 +365,7 @@ public class TjServiceImpl implements TjService { ...@@ -356,7 +365,7 @@ public class TjServiceImpl implements TjService {
allData = futures.stream() allData = futures.stream()
.map(CompletableFuture::join) .map(CompletableFuture::join)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L) if (req.getOrgId()!=1369509498032809012L)
{ {
TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
...@@ -368,11 +377,14 @@ public class TjServiceImpl implements TjService { ...@@ -368,11 +377,14 @@ public class TjServiceImpl implements TjService {
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
allData.add(OrgDataSelf);//把本级数据加进去 OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
allData.add(OrgData);//把下级数据加进去 OrgData.setDName(OrgData.getDName()+"直属下级");
allData.add(OrgDataSelf);//把本级数据加进去
allData.add(OrgData);//把下级数据加进去
}
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (req.getRemoveEmpty()) { if (req.getRemoveEmpty()) {
...@@ -457,7 +469,7 @@ public class TjServiceImpl implements TjService { ...@@ -457,7 +469,7 @@ public class TjServiceImpl implements TjService {
.map(CompletableFuture::join) .map(CompletableFuture::join)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032809012L){
//获取本级数据 //获取本级数据
TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(), TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList()); req.getSizeNameList());
...@@ -468,12 +480,15 @@ public class TjServiceImpl implements TjService { ...@@ -468,12 +480,15 @@ public class TjServiceImpl implements TjService {
//获取下级数据 //获取下级数据
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(), TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList(),pubOrg.getLevelFlag()); req.getSizeNameList(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
OrgData=fillingEqsEmptyData(OrgData); OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去 OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去 OrgData=fillingEqsEmptyData(OrgData);
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去
}
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
...@@ -550,7 +565,7 @@ public class TjServiceImpl implements TjService { ...@@ -550,7 +565,7 @@ public class TjServiceImpl implements TjService {
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032809012L){
//获取本级数据 //获取本级数据
TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(), TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList()); req.getSizeNameList());
...@@ -561,12 +576,15 @@ public class TjServiceImpl implements TjService { ...@@ -561,12 +576,15 @@ public class TjServiceImpl implements TjService {
//获取下级数据 //获取下级数据
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(), TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList(),pubOrg.getLevelFlag()); req.getSizeNameList(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
OrgData=fillingEqsEmptyData(OrgData); OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去 OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去 OrgData=fillingEqsEmptyData(OrgData);
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去
}
} }
for (TjOrgPriceDto tj:tjOrgPriceDtoList) { for (TjOrgPriceDto tj:tjOrgPriceDtoList) {
...@@ -658,11 +676,7 @@ public class TjServiceImpl implements TjService { ...@@ -658,11 +676,7 @@ public class TjServiceImpl implements TjService {
// 等待所有 CompletableFuture 完成 // 等待所有 CompletableFuture 完成
allOf.join(); allOf.join();
tjOrgPriceDtoList = futures.stream() if (req.getOrgId()!=1369509498032809012L){
.map(CompletableFuture::join)
.collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){
//获取本级数据 //获取本级数据
TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(), TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList()); req.getSizeNameList());
...@@ -673,13 +687,20 @@ public class TjServiceImpl implements TjService { ...@@ -673,13 +687,20 @@ public class TjServiceImpl implements TjService {
//获取下级数据 //获取下级数据
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(), TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList(),pubOrg.getLevelFlag()); req.getSizeNameList(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
OrgData=fillingEqsEmptyData(OrgData); OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去 OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去 OrgData=fillingEqsEmptyData(OrgData);
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去
}
} }
tjOrgPriceDtoList = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (req.getRemoveEmpty()){ if (req.getRemoveEmpty()){
...@@ -763,7 +784,7 @@ public class TjServiceImpl implements TjService { ...@@ -763,7 +784,7 @@ public class TjServiceImpl implements TjService {
.map(CompletableFuture::join) .map(CompletableFuture::join)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032809012L){
TjOrgCountDto OrgDataSelf=equipmentCountSummaryMapper.TjOrgCountSelf(req.getOrgId(), TjOrgCountDto OrgDataSelf=equipmentCountSummaryMapper.TjOrgCountSelf(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList()); req.getMonthList());
...@@ -774,12 +795,15 @@ public class TjServiceImpl implements TjService { ...@@ -774,12 +795,15 @@ public class TjServiceImpl implements TjService {
TjOrgCountDto OrgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(), TjOrgCountDto OrgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),pubOrg.getLevelFlag()); req.getMonthList(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
OrgData=fillingPriceEmptyData(OrgData); OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
tjOrgCountList.add(OrgData); OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgCountList.add(OrgDataSelf); OrgData=fillingPriceEmptyData(OrgData);
tjOrgCountList.add(OrgData);
tjOrgCountList.add(OrgDataSelf);
}
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
...@@ -853,7 +877,7 @@ public class TjServiceImpl implements TjService { ...@@ -853,7 +877,7 @@ public class TjServiceImpl implements TjService {
.map(CompletableFuture::join) .map(CompletableFuture::join)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032809012L){
TjOrgCountDto OrgDataSelf=equipmentCountSummaryMapper.TjOrgCountSelf(req.getOrgId(), TjOrgCountDto OrgDataSelf=equipmentCountSummaryMapper.TjOrgCountSelf(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList()); req.getMonthList());
...@@ -864,12 +888,15 @@ public class TjServiceImpl implements TjService { ...@@ -864,12 +888,15 @@ public class TjServiceImpl implements TjService {
TjOrgCountDto OrgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(), TjOrgCountDto OrgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),pubOrg.getLevelFlag()); req.getMonthList(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
OrgData=fillingPriceEmptyData(OrgData); OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
tjOrgCountList.add(OrgData); OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgCountList.add(OrgDataSelf); OrgData=fillingPriceEmptyData(OrgData);
tjOrgCountList.add(OrgData);
tjOrgCountList.add(OrgDataSelf);
}
} }
for (TjOrgCountDto tj:tjOrgCountList) { for (TjOrgCountDto tj:tjOrgCountList) {
tj.setFixCount(ObjectUtil.isNull(tj.getFixCount())?0: tj.getFixCount()); tj.setFixCount(ObjectUtil.isNull(tj.getFixCount())?0: tj.getFixCount());
...@@ -884,7 +911,7 @@ public class TjServiceImpl implements TjService { ...@@ -884,7 +911,7 @@ public class TjServiceImpl implements TjService {
// @Override // @Override
public List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req) { public List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req) {
if (req.getColumn().equals("createTime")){ if (ObjectUtil.isNotNull(req.getColumn()) && req.getColumn().equals("createTime")){
req.setColumn(null); req.setColumn(null);
} }
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() && if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
...@@ -913,33 +940,6 @@ public class TjServiceImpl implements TjService { ...@@ -913,33 +940,6 @@ public class TjServiceImpl implements TjService {
return tjOrgCountDtoList; return tjOrgCountDtoList;
} }
// @Override
// public List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req) {
//
//
// if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
// (req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
// ObjectUtil.isNotNull(req.getOrder()) && !req.getOrder().trim().isEmpty()) {
// //修改字段,和数据库字段进行统一
// req.setColumn((req.getColumn().equals("createTime") )
// ? null : req.getColumn().replaceAll("[A-Z]", "_$0").toLowerCase());
// req.setOrder(( req.getOrder().equals("desc")||req.getOrder().equals("asc"))
// ? null : req.getOrder().toLowerCase());
// }
//
// List<TjOrgCountDto> tjOrgCountDtoList=equipmentCountSummaryMapper.TjOrgCountTotalDetail(req.getOrgId(),
// req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
// req.getMonthList(),req.getLevelNum(),req.getLevel(),req.getColumn(),req.getOrder());
// if (req.getRemoveEmpty()){
// tjOrgCountDtoList.removeIf(tjOrgCountDto -> tjOrgCountDto.getNumber()==0 );
// }
//// if (req.getColumn()==null){
//// //将组织机构进行排序后再进行返回
//// Comparator<TjOrgCountDto> orgComparator = createOrgComparator();
//// Collections.sort(tjOrgCountDtoList, orgComparator);
//// }
// return tjOrgCountDtoList;
// }
@Override @Override
...@@ -976,6 +976,16 @@ public class TjServiceImpl implements TjService { ...@@ -976,6 +976,16 @@ public class TjServiceImpl implements TjService {
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId())); List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgCountDto> tjOrgCountList=new ArrayList<>(); List<TjOrgCountDto> tjOrgCountList=new ArrayList<>();
String[] splitStart = req.getStartTime().split("-");
String[] splitEnd =req.getEndTime().split("-");
Integer year=Integer.parseInt(splitStart[0] );
req.setYear(year);
List<Integer> monthList=new ArrayList<>();
for (int i = Integer.parseInt(splitStart[1]) ; i <= Integer.parseInt(splitEnd[1]); i++) {
monthList.add(i);
}
req.setMonthList(monthList);
List<CompletableFuture<TjOrgCountDto>> futures = orgList.stream() List<CompletableFuture<TjOrgCountDto>> futures = orgList.stream()
.map(orgId -> CompletableFuture.supplyAsync(() -> .map(orgId -> CompletableFuture.supplyAsync(() ->
equipmentCountSummaryMapper.TjOrgCount(orgId, equipmentCountSummaryMapper.TjOrgCount(orgId,
...@@ -992,7 +1002,7 @@ public class TjServiceImpl implements TjService { ...@@ -992,7 +1002,7 @@ public class TjServiceImpl implements TjService {
.map(CompletableFuture::join) .map(CompletableFuture::join)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032809012L){
TjOrgCountDto OrgDataSelf=equipmentCountSummaryMapper.TjOrgCountSelf(req.getOrgId(), TjOrgCountDto OrgDataSelf=equipmentCountSummaryMapper.TjOrgCountSelf(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList()); req.getMonthList());
...@@ -1003,12 +1013,15 @@ public class TjServiceImpl implements TjService { ...@@ -1003,12 +1013,15 @@ public class TjServiceImpl implements TjService {
TjOrgCountDto OrgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(), TjOrgCountDto OrgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),pubOrg.getLevelFlag()); req.getMonthList(),pubOrg.getLevelFlag());
OrgData.setLevel(1); if (ObjectUtil.isNotNull(OrgData)){
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级"); OrgData.setLevel(1);
OrgData=fillingPriceEmptyData(OrgData); OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
tjOrgCountList.add(OrgData); OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgCountList.add(OrgDataSelf); OrgData=fillingPriceEmptyData(OrgData);
tjOrgCountList.add(OrgData);
tjOrgCountList.add(OrgDataSelf);
}
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
...@@ -1018,7 +1031,7 @@ public class TjServiceImpl implements TjService { ...@@ -1018,7 +1031,7 @@ public class TjServiceImpl implements TjService {
//对组织机构进行排序 //对组织机构进行排序
//判断是否有排序规则,如果有排序规则且排序规则不是create_time desc,那么直接按照排序规则进行排序,否则按照默认的组织机构code编码进行排序 //判断是否有排序规则,如果有排序规则且排序规则不是create_time desc,那么直接按照排序规则进行排序,否则按照默认的组织机构code编码进行排序
if ((req.getColumn().equals("createTime") && req.getOrder().equals("desc")) || if (ObjectUtil.isNull(req.getColumn())|| (req.getColumn().equals("createTime") && req.getOrder().equals("desc")) ||
(req.getColumn().equals("createTime") && req.getOrder().equals("asc"))){ (req.getColumn().equals("createTime") && req.getOrder().equals("asc"))){
Comparator<TjOrgCountDto> orgComparator = createOrgComparator(); Comparator<TjOrgCountDto> orgComparator = createOrgComparator();
Collections.sort(tjOrgCountList, orgComparator); Collections.sort(tjOrgCountList, orgComparator);
...@@ -1036,13 +1049,14 @@ public class TjServiceImpl implements TjService { ...@@ -1036,13 +1049,14 @@ public class TjServiceImpl implements TjService {
}else { }else {
dto.setLevelNum(0); dto.setLevelNum(0);
} }
BeanPlusUtil.copyProperties(req,tjOrgCountReq);
BeanPlusUtil.copyProperties(dto,tjOrgCountReq); BeanPlusUtil.copyProperties(dto,tjOrgCountReq);
tjOrgCountReq.setRemoveEmpty(req.getRemoveEmpty()); tjOrgCountReq.setRemoveEmpty(req.getRemoveEmpty());
tjOrgCountReq.setYear(req.getYear()); tjOrgCountReq.setYear(req.getYear());
List<TjOrgCountDto> tjOrgCountDtoList = TjOrgCountDetail(req); List<TjOrgCountDto> tjOrgCountDtoList = TjOrgCountDetail(tjOrgCountReq);
TjOrgCountDto vo = new TjOrgCountDto(); TjOrgCountDto vo = new TjOrgCountDto();
BeanPlusUtil.copyProperties(dto,vo); BeanPlusUtil.copyProperties(dto,vo);
vo.setOrgName("合计"); vo.setTypeName("合计");
tjOrgCountDtoList.add(vo); tjOrgCountDtoList.add(vo);
List<TjOrgCountExportVo> collect = tjOrgCountDtoList.stream().map(tjOrgCountDto -> { List<TjOrgCountExportVo> collect = tjOrgCountDtoList.stream().map(tjOrgCountDto -> {
TjOrgCountExportVo tjOrgCountExportVo = new TjOrgCountExportVo(); TjOrgCountExportVo tjOrgCountExportVo = new TjOrgCountExportVo();
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.DetailJsonReq;
import com.junmp.jyzb.entity.VieDestoryGroup; import com.junmp.jyzb.entity.VieDestoryGroup;
import com.junmp.jyzb.entity.VieWarrantyGroup; import com.junmp.jyzb.entity.VieWarrantyGroup;
import com.junmp.jyzb.mapper.VieDestroyGroupMapper; import com.junmp.jyzb.mapper.VieDestroyGroupMapper;
import com.junmp.jyzb.mapper.VieWarrantyGroupMapper; import com.junmp.jyzb.mapper.VieWarrantyGroupMapper;
import com.junmp.jyzb.service.VieDestoryGroupService; import com.junmp.jyzb.service.VieDestoryGroupService;
import com.junmp.jyzb.service.VieWarrantyGroupService; import com.junmp.jyzb.service.VieWarrantyGroupService;
import jdk.nashorn.internal.ir.annotations.Reference;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service @Service
@Slf4j @Slf4j
public class VieDestoryGroupServiceImpl extends ServiceImpl<VieDestroyGroupMapper, VieDestoryGroup> implements VieDestoryGroupService { public class VieDestoryGroupServiceImpl extends ServiceImpl<VieDestroyGroupMapper, VieDestoryGroup> implements VieDestoryGroupService {
@Resource
private VieDestroyGroupMapper vieDestroyGroupMapper;
//生成map
@Override
public Map<String, VieDestoryGroup> createMap(Map<String,VieDestoryGroup> destoryGroupMap, String key,Long orgId,
DetailJsonReq detailJsonReq, String sizeId, String typeId, String orgName) {
if (destoryGroupMap.containsKey(key)) {
VieDestoryGroup vieDestoryGroup = destoryGroupMap.get(key);
vieDestoryGroup.setCountOfItems(vieDestoryGroup.getCountOfItems()+detailJsonReq.getModifyQuantity());
destoryGroupMap.put(key,vieDestoryGroup);
}else {
VieDestoryGroup vieDestoryGroup = new VieDestoryGroup();
vieDestoryGroup.setCountOfItems(detailJsonReq.getModifyQuantity());
vieDestoryGroup.setState("destory");
vieDestoryGroup.setSizeId(sizeId);
vieDestoryGroup.setSizeName(detailJsonReq.getSizeName());
vieDestoryGroup.setTypeId(typeId);
vieDestoryGroup.setTypeName(detailJsonReq.getTypeName());
vieDestoryGroup.setOrgId(orgId.toString());
vieDestoryGroup.setOrgName(orgName);
vieDestoryGroup.setWarehouseId(detailJsonReq.getLocationId());
vieDestoryGroup.setWarehouseName(detailJsonReq.getLocationName());
destoryGroupMap.put(key,vieDestoryGroup);
}
return destoryGroupMap;
}
//更新表中数据
@Override
@Transactional
public boolean updateNum(Map<String,VieDestoryGroup> destoryGroupMap) {
List<Object[]> searchItem=new ArrayList<>();
for (VieDestoryGroup vieDestoryGroup:destoryGroupMap.values()) {
Object[] item=new Object[]{vieDestoryGroup.getOrgId(),vieDestoryGroup.getWarehouseId(),
vieDestoryGroup.getTypeId(),vieDestoryGroup.getSizeId()};
searchItem.add(item);
}
List<VieDestoryGroup> vieDestoryGroupList= vieDestroyGroupMapper.selectSum(searchItem);
List<VieDestoryGroup> addList=new ArrayList<>();
for (VieDestoryGroup vie:destoryGroupMap.values()) {
boolean flag=false;
for (VieDestoryGroup destoryGroup:vieDestoryGroupList) {
if (vie.getWarehouseId().equals(destoryGroup.getWarehouseId())
&& vie.getTypeId().equals(destoryGroup.getTypeId())
&& vie.getSizeId().equals(destoryGroup.getSizeId()) ){
destoryGroup.setCountOfItems(destoryGroup.getCountOfItems()+vie.getCountOfItems());
flag=true;
break;
}
}
if (!flag){
VieDestoryGroup vieDestoryGroup = new VieDestoryGroup();
vieDestoryGroup.setOrgId(vie.getOrgId());
vieDestoryGroup.setOrgName(vie.getOrgName());
vieDestoryGroup.setTypeId(vie.getTypeId());
vieDestoryGroup.setTypeName(vie.getTypeName());
vieDestoryGroup.setSizeId(vie.getSizeId());
vieDestoryGroup.setSizeName(vie.getSizeName());
vieDestoryGroup.setWarehouseId(vie.getWarehouseId());
vieDestoryGroup.setWarehouseName(vie.getWarehouseName());
vieDestoryGroup.setCountOfItems(vie.getCountOfItems());
vieDestoryGroup.setState("destory");
addList.add(vieDestoryGroup);
}
}
updateBatchById(vieDestoryGroupList);
if (CollectionUtil.isNotEmpty(addList)){
saveBatch(addList);
}
return true;
}
} }
...@@ -398,5 +398,25 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse> ...@@ -398,5 +398,25 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
return getById(req.getId()); return getById(req.getId());
} }
public List<String> checkWarehouseList(List<String> locationNameList) {
LambdaQueryWrapper<Warehouse> warehosueEq=new LambdaQueryWrapper<>();
warehosueEq.in(CollectionUtil.isNotEmpty(locationNameList),Warehouse::getName,locationNameList);
List<Warehouse> locationList = list(warehosueEq);
List<String> noneExitentLocations=new ArrayList<>();
for (String locationName:locationNameList) {
boolean flag=false;
for (Warehouse location:locationList) {
if (location.getName().equals(locationName)){
flag=true;
break;
}
}
if (!flag){
noneExitentLocations.add(locationName);
}
}
return noneExitentLocations;
}
} }
...@@ -202,10 +202,10 @@ ...@@ -202,10 +202,10 @@
SUM(t.fix_count) AS fix_count, SUM(t.fix_count) AS fix_count,
SUM(t.broken_count) AS broken_count, SUM(t.broken_count) AS broken_count,
sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number, sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = 1369509498032811869 OR `org_parent_ids` LIKE CONCAT('%', 1369509498032811869, '%') ORDER BY `level_flag` LIMIT 1) AS org_id, (SELECT `org_id` FROM `pub_org` WHERE ( `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = 1369509498032811869 OR `org_parent_ids` LIKE CONCAT('%', 1369509498032811869, '%') ORDER BY `level_flag` LIMIT 1) AS org_code, (SELECT `org_code` FROM `pub_org` WHERE ( `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%'))and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = 1369509498032811869 OR `org_parent_ids` LIKE CONCAT('%', 1369509498032811869, '%') ORDER BY `level_flag` LIMIT 1) AS org_name, (SELECT `org_name` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%'))and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = 1369509498032811869 OR `org_parent_ids` LIKE CONCAT('%', 1369509498032811869, '%') ORDER BY `level_flag` LIMIT 1) AS d_name (SELECT `d_name` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%'))and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS d_name
FROM ( FROM (
SELECT SELECT
vecs.`year`, vecs.`year`,
...@@ -427,7 +427,7 @@ ...@@ -427,7 +427,7 @@
sum(vecs.number) as number sum(vecs.number) as number
FROM vie_equipment_count_summary vecs FROM vie_equipment_count_summary vecs
left join pub_org po on vecs.org_id_int=po.org_id left join pub_org po on vecs.org_id_int=po.org_id
where vecs.`year`= 2024 and po.del_flag=1 where vecs.`year`= #{year} and po.del_flag=1
<if test="level ==null" > <if test="level ==null" >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0"> <if test="levelNum !=0">
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
base_inventory i base_inventory i
set set
i.size_id=(select DISTINCT id FROM base_equipment_size where name = #{item.sizeName} and i.size_id=(select DISTINCT id FROM base_equipment_size where name = #{item.sizeName} and
i.type_id =(select DISTINCT id FROM base_equipment_type where name = #{item.typeName} limit 1) limit 1), type_id =(select DISTINCT id FROM base_equipment_type where name = #{item.typeName} limit 1) limit 1),
i.type_id=(select DISTINCT id FROM base_equipment_type where name = #{item.typeName} limit 1), i.type_id=(select DISTINCT id FROM base_equipment_type where name = #{item.typeName} limit 1),
i.location_id=(select DISTINCT id FROM base_warehouse where name = #{item.locationName} limit 1), i.location_id=(select DISTINCT id FROM base_warehouse where name = #{item.locationName} limit 1),
i.state="normal",i.bussiness_state="normal",i.update_time=#{updateTime},i.property=0,i.epc_type=1,i.location_state="in", i.state="normal",i.bussiness_state="normal",i.update_time=#{updateTime},i.property=0,i.epc_type=1,i.location_state="in",
...@@ -117,9 +117,16 @@ ...@@ -117,9 +117,16 @@
DELETE FROM base_inventory DELETE FROM base_inventory
WHERE epc IN WHERE epc IN
<foreach item="item" index="index" collection="list" <foreach item="item" index="index" collection="list"
open="(" separator="," close=")"> open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</delete>
<delete id="deleteByEpcs1" parameterType="java.util.List">
DELETE FROM base_inventory
WHERE epc IN
(select a.epc FROM (select epc FROM base_inventory where org_id_int=#{orgId} )as a
join (select epc FROM base_warehouse_inventory where org_id=#{orgId} and location_id=#{locationId})
as b on a.epc=b.epc)
</delete> </delete>
<delete id="DeleteEpcsWithoutWarehouse" parameterType="java.util.List"> <delete id="DeleteEpcsWithoutWarehouse" parameterType="java.util.List">
...@@ -134,6 +141,7 @@ ...@@ -134,6 +141,7 @@
AND bwi.location_id != #{warehouseId} AND bwi.location_id != #{warehouseId}
</delete> </delete>
<select id="selectWarehouseByEpcs" resultType="com.junmp.jyzb.api.bean.dto.InvSummaryDto"> <select id="selectWarehouseByEpcs" resultType="com.junmp.jyzb.api.bean.dto.InvSummaryDto">
SELECT SELECT
bi.type_id as typeId, bi.type_id as typeId,
...@@ -648,18 +656,19 @@ ...@@ -648,18 +656,19 @@
SELECT SELECT
t1.type_id, t1.type_id as type_id,
t1.size_id, t1.size_id as size_id,
t1.epc, t1.epc as epc,
t1.location_id, t1.location_id as location_id,
t2.supplier_id, t2.supplier_id as supplierId,
t2.state, t2.state as state,
t2.bussiness_state, t2.bussiness_state as bussiness_state,
t2.production_date, t2.production_date as production_date,
t2.warranty_period, t2.warranty_period as warranty_period,
t2.maintenance_period, t2.maintenance_period as maintenance_period,
t2.price, t2.price as price,
t2.property, t2.property as property,
t2.equ_state as equ_state,
es.NAME AS size_name, es.NAME AS size_name,
et.NAME AS type_name, et.NAME AS type_name,
bs.NAME AS supplier_name, bs.NAME AS supplier_name,
...@@ -674,7 +683,7 @@ ...@@ -674,7 +683,7 @@
FROM FROM
`base_warehouse_inventory` wi `base_warehouse_inventory` wi
WHERE WHERE
wi.org_id = #{orgId} and wi.epc_type=0 wi.org_id = #{orgId}
<if test="warehouseId!= null and warehouseId != ''"> <if test="warehouseId!= null and warehouseId != ''">
and wi.location_id=#{warehouseId} and wi.location_id=#{warehouseId}
</if> </if>
...@@ -707,7 +716,7 @@ ...@@ -707,7 +716,7 @@
i.property, i.property,
i.state AS equ_state i.state AS equ_state
FROM FROM
base_inventory i and wi.epc_type=0 and i.org_id = #{orgId} and i.state!="destory" base_inventory i where i.org_id_int = #{orgId}
) AS t2 ON t2.epc = t1.epc ) AS t2 ON t2.epc = t1.epc
left JOIN base_equipment_size es ON t1.size_id = es.id left JOIN base_equipment_size es ON t1.size_id = es.id
left JOIN base_equipment_type et ON t1.type_id = et.id left JOIN base_equipment_type et ON t1.type_id = et.id
...@@ -828,7 +837,7 @@ ...@@ -828,7 +837,7 @@
</select> </select>
<select id="getEqsInfo" resultType="com.junmp.jyzb.entity.Inventory"> <select id="getEqsInfo" resultType="com.junmp.jyzb.entity.Inventory">
SELECT wi.id as wiId,wi.type_id,wi.size_id,wi.shelf_id,wi.shelf_location, wi.epc,wi.org_id,wi.location_state, SELECT wi.id as wi_id,wi.type_id,wi.size_id,wi.shelf_id,wi.shelf_location, wi.epc,wi.org_id,wi.location_state,
wi.type_name,wi.org_name,wi.size_name,wi.location_name, wi.type_name,wi.org_name,wi.size_name,wi.location_name,
wi.location_type,wi.location_id,i.id ,i.price,i.state,i.bussiness_state, wi.location_type,wi.location_id,i.id ,i.price,i.state,i.bussiness_state,
i.production_date,i.warranty_period,i.maintenance_period, i.term_state i.production_date,i.warranty_period,i.maintenance_period, i.term_state
...@@ -844,6 +853,30 @@ ...@@ -844,6 +853,30 @@
and i.production_date >= #{startTime} and i.production_date &lt; #{endTime} and i.production_date >= #{startTime} and i.production_date &lt; #{endTime}
ORDER BY wi.epc_type desc ORDER BY wi.epc_type desc
</select> </select>
<select id="selectDemo" resultType="com.junmp.jyzb.api.bean.query.InventoryReq">
SELECT
*
FROM
(
SELECT
s1.id AS type_id,
s1.NAME AS type_name,
s2.id AS size_id,
s2.NAME AS size_name
FROM
base_equipment_type s1
LEFT JOIN base_equipment_size s2 ON s1.id = s2.type_id
) s
where s.type_name in
<foreach collection="typeNameList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
and s.size_name in
<foreach collection="sizeNameList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -88,9 +88,10 @@ ...@@ -88,9 +88,10 @@
WHERE add_price IS NULL OR add_num IS NULL; WHERE add_price IS NULL OR add_num IS NULL;
</update> </update>
<insert id="updateSummaryInsByOrder" statementType="CALLABLE"> <insert id="updateSummaryInsByOrder" statementType="CALLABLE">
{CALL UpdateInventorySummaryByOrgId(#{orgId, mode=IN})}
</insert> </insert>
<insert id="setWarrantyInventoryAction" statementType="CALLABLE"> <insert id="setWarrantyInventoryAction" statementType="CALLABLE">
...@@ -397,6 +398,9 @@ ...@@ -397,6 +398,9 @@
#{item.id} #{item.id}
</foreach> </foreach>
</delete> </delete>
<delete id="deleteByOrgId">
delete from base_inventory_summary where org_id_int=#{orgId} and location_id =#{locationId}
</delete>
<insert id="getSumByWarehouse" > <insert id="getSumByWarehouse" >
...@@ -463,6 +467,57 @@ ...@@ -463,6 +467,57 @@
<insert id="useViewOrgIdInLevel"> <insert id="useViewOrgIdInLevel">
{CALL view_orgIdInLevel(#{sql,mode=IN},#{orgId,mode=IN})} {CALL view_orgIdInLevel(#{sql,mode=IN},#{orgId,mode=IN})}
</insert> </insert>
<insert id="updateSummaryInsImport">
INSERT INTO base_inventory_summary (valuekey, org_id_int,property, org_name, org_code, type_id, type_name, size_id, size_name,
location_type, location_id, location_name, number, unit_price,
price, stock_number, outbound_number, destruction_number, expire_number, broken_number, fix_number, use_number)
select
CONCAT(
COALESCE(t.org_code, "--0000"),
COALESCE(t.location_id, "--0000"),
COALESCE(t.type_id, "--0000"),
COALESCE(t.size_id, "--0000"),
COALESCE(t.unit_price, "--0000"),
COALESCE(t.property, "--00")
) as valuekey,
t.org_id_int,t.property,t.org_name,t.org_code,t.type_id,t.type_name,t.size_id,t.size_name,t.location_type,t.location_id,max(t.location_name) as location_name,sum(t.number) as number,
t.unit_price,sum(t.price)as price,sum(t.stock_number)as stock_number,sum(t.outbound_number)as outbound_number,
sum(t.destruction_number)as destruction_number,sum(t.expire_number)as expire_number,sum(t.broken_number)as broken_number,sum(t.fix_number)as fix_number,sum(t.use_number)as use_number FROM (
SELECT
bi.org_id_int as org_id_int,
COALESCE(bi.property, 0) as property,
po.org_name as org_name,
po.org_code as org_code,
bi.type_id as type_id,
t.name as type_name,
bi.size_id as size_id,
s.name as size_name,
COALESCE(bcb.cabinet_id, bw.id) as location_id,
COALESCE(MAX(bc.name), MAX(bw.name)) as location_name,
bi.location_type as location_type,
SUM(CASE WHEN location_state = "in" THEN 1 ELSE 0 END) + SUM(CASE WHEN location_state ="out" and bi.state != "destory" THEN 1 ELSE 0 END) as number,
bi.price as unit_price,
sum(case when location_state = "out" and bi.state = "destory" THEN 0 ELSE bi.price END) as price,
SUM(CASE WHEN location_state = "in" THEN 1 ELSE 0 END) AS stock_number,
SUM(CASE WHEN location_state = "out" and bi.state != "destory" THEN 1 ELSE 0 END) AS outbound_number,
sum(case when bi.state = "destory" then 1 else 0 end) as destruction_number,
sum(case when bi.warranty_period = 0 then 0 when DATE_ADD(bi.production_date, INTERVAL bi.warranty_period MONTH) &lt; NOW() and location_state="in" then 1 else 0 end) as expire_number,
sum(case when bi.state = "broken" and bi.location_state = "in" then 1 else 0 end) as broken_number,
sum(case when bi.state = "repair" and bi.location_state = "out" then 1 else 0 end) as fix_number,
sum(case when bi.bussiness_state ="use" and bi.location_state = "out" then 1 else 0 end) as use_number
FROM base_inventory bi
LEFT JOIN base_cabinet_box bcb ON bi.location_id = bcb.id and bi.location_type=1
LEFT JOIN base_cabinet bc ON bcb.cabinet_id = bc.id
LEFT JOIN base_warehouse bw ON bi.location_id = bw.id AND bi.location_type = 0
JOIN base_equipment_type t ON t.id = bi.type_id
JOIN base_equipment_size s ON s.id = bi.size_id
JOIN pub_org po ON bi.org_id_int = po.org_id
and po.org_id=#{orgId}
where bi.location_id=#{locationId}
GROUP BY bi.org_id_int, location_id, type_id, size_id, bi.price, bi.location_type,bi.property
ORDER BY org_id_int, location_id) as t
GROUP BY t.org_id_int,t.location_id,t.type_id,t.size_id,t.location_type,t.unit_price,t.property
</insert>
<select id="getTotalData" parameterType="java.lang.String" resultType="java.lang.String"> <select id="getTotalData" parameterType="java.lang.String" resultType="java.lang.String">
SELECT SELECT
...@@ -762,6 +817,9 @@ ...@@ -762,6 +817,9 @@
<if test="req.column != null and req.column != '' and req.order != null and req.order != '' "> <if test="req.column != null and req.column != '' and req.order != null and req.order != '' ">
order by ${req.column} ${req.order} order by ${req.column} ${req.order}
</if> </if>
<if test="req.column == null">
order by size_name
</if>
</select> </select>
<select id="selectSumByItemsCount" resultType="java.lang.Integer" <select id="selectSumByItemsCount" resultType="java.lang.Integer"
parameterType="com.junmp.jyzb.api.bean.query.InventoryReq"> parameterType="com.junmp.jyzb.api.bean.query.InventoryReq">
......
...@@ -63,6 +63,7 @@ ...@@ -63,6 +63,7 @@
select ld.*,ls.location_name,ls.user_name FROM base_log_detail ld select ld.*,ls.location_name,ls.user_name FROM base_log_detail ld
join base_log_summary ls on ls.id=ld.summary_id join base_log_summary ls on ls.id=ld.summary_id
where epc=#{epc} where epc=#{epc}
order by ld.create_time desc
<if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' "> <if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' ">
limit #{pageNo},#{pageSize} limit #{pageNo},#{pageSize}
</if> </if>
......
...@@ -214,6 +214,14 @@ ...@@ -214,6 +214,14 @@
GROUP BY order_main_id,bussiness_type,out_in_state GROUP BY order_main_id,bussiness_type,out_in_state
) as a ) as a
</select> </select>
<select id="selectByOrderCode" resultType="com.junmp.jyzb.api.bean.query.LogSummaryReq">
select a.*,ld.epc,ld.type_id,ld.type_name,ld.size_id,ld.size_name,ld.price,ld.property from(
select id,org_id,org_name,order_code,location_id,location_name,bussiness_type,out_in_state
from base_log_summary where order_code=#{bussinessCode}
) as a
left join base_log_detail ld on a.id=ld.summary_id
order by epc
</select>
</mapper> </mapper>
...@@ -65,28 +65,28 @@ ...@@ -65,28 +65,28 @@
WHERE p.id = #{id}; WHERE p.id = #{id};
</select> </select>
<select id="getAllPolice" resultType="Map"> <!--<select id="getAllPolice" resultType="Map">-->
SELECT <!-- SELECT-->
p.id AS id, <!-- p.id AS id,-->
o.org_id AS orgId, <!-- o.org_id AS orgId,-->
o.org_name AS orgName, <!-- o.org_name AS orgName,-->
p.name AS name, <!-- p.name AS name,-->
p.sex, <!-- p.sex,-->
p.phone, <!-- p.phone,-->
p.photo, <!-- p.photo,-->
p.police_code AS policeCode, <!-- p.police_code AS policeCode,-->
c.id AS cabinetId, <!-- c.id AS cabinetId,-->
c.name AS cabinetName, <!-- c.name AS cabinetName,-->
p.update_time AS updateTime <!-- p.update_time AS updateTime-->
<!-- GROUP_CONCAT(JSON_OBJECT('fingerId', f.id, 'fingerName', f.name,'fingerInfo', f.finger_info)) AS fingerMsg--> <!--&lt;!&ndash; GROUP_CONCAT(JSON_OBJECT('fingerId', f.id, 'fingerName', f.name,'fingerInfo', f.finger_info)) AS fingerMsg&ndash;&gt;-->
<!-- GROUP_CONCAT(JSON_OBJECT('fingerId', f.id, 'fingerName', f.name,'fingerInfo', f.finger_info)) AS fingerMsg--> <!--&lt;!&ndash; GROUP_CONCAT(JSON_OBJECT('fingerId', f.id, 'fingerName', f.name,'fingerInfo', f.finger_info)) AS fingerMsg&ndash;&gt;-->
FROM base_policeman p <!-- FROM base_policeman p-->
left JOIN pub_org o ON p.org_id_int = o.org_id <!-- left JOIN pub_org o ON p.org_id_int = o.org_id-->
left JOIN base_cabinet c ON p.cabinet_box_id = c.id <!-- left JOIN base_cabinet c ON p.cabinet_box_id = c.id-->
<!-- LEFT JOIN base_police_finger f ON f.police_id = p.id--> <!--&lt;!&ndash; LEFT JOIN base_police_finger f ON f.police_id = p.id&ndash;&gt;-->
<!-- GROUP BY p.id, o.org_id, o.org_name, p.name, p.sex, p.phone, p.photo, p.police_code, c.id, c.name, p.update_time--> <!--&lt;!&ndash; GROUP BY p.id, o.org_id, o.org_name, p.name, p.sex, p.phone, p.photo, p.police_code, c.id, c.name, p.update_time&ndash;&gt;-->
</select> <!--</select>-->
<!--<select id="getAllPolice" resultType="java.util.Map">--> <!--<select id="getAllPolice" resultType="java.util.Map">-->
<!-- SELECT--> <!-- SELECT-->
...@@ -412,6 +412,21 @@ WHERE o.org_id IN ...@@ -412,6 +412,21 @@ WHERE o.org_id IN
(select user_id FROM sys_user_org suo where suo.org_id=#{orgId}) as a (select user_id FROM sys_user_org suo where suo.org_id=#{orgId}) as a
join sys_user_role sur on a.user_id=sur.user_id and sur.role_id="1663372320355389441" join sys_user_role sur on a.user_id=sur.user_id and sur.role_id="1663372320355389441"
</select> </select>
<select id="getAllPolice" resultType="com.junmp.jyzb.entity.Policeman">
select min(id)as id,name,police_code,org_id_int as org_id
FROM base_policeman
where user_id is null
GROUP BY name,org_id_int,police_code
</select>
<select id="getUserIds" resultType="java.lang.Long">
select user_id from sys_user
</select>
<select id="selectUserById" resultType="com.junmp.v2.sys.api.bean.user.req.SysUserReq">
select a.*,b.org_id from
(select * from sys_user where user_id=#{userId}) as a
join sys_user_org as b on a.user_id=b.user_id
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE WHERE
vpss.MONTH = 1 and vpss.year=#{year} vpss.MONTH = 3 and vpss.year=#{year}
AND po.del_flag = 1 AND po.del_flag = 1
AND (po.org_id =#{orgId} OR po.org_parent_ids LIKE CONCAT( '%', #{orgId}, '%' )) AND (po.org_id =#{orgId} OR po.org_parent_ids LIKE CONCAT( '%', #{orgId}, '%' ))
and vpss.create_time >= '2024-01-01 00:00:00' AND vpss.create_time &lt; '2025-01-01 00:00:00' and vpss.create_time >= '2024-01-01 00:00:00' AND vpss.create_time &lt; '2025-01-01 00:00:00'
...@@ -66,10 +66,10 @@ ...@@ -66,10 +66,10 @@
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0) AS end_price, COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0) AS end_price,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0) AS destory_num, COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0) AS destory_num,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0) AS destory_price, COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0) AS destory_price,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_id, (SELECT `org_id` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_code, (SELECT `org_code` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%',#{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_name, (SELECT `org_name` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%',#{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS d_name (SELECT `d_name` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS d_name
FROM FROM
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
...@@ -123,7 +123,7 @@ ...@@ -123,7 +123,7 @@
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE WHERE
vpss.MONTH = 1 vpss.MONTH = 3
and `po`.`del_flag` = 1 and po.org_id =#{orgId} and `po`.`del_flag` = 1 and po.org_id =#{orgId}
GROUP BY vpss.type_id,vpss.type_name,vpss.size_name,vpss.size_id GROUP BY vpss.type_id,vpss.type_name,vpss.size_name,vpss.size_id
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE WHERE
vpss.month = 1 and vpss.`year`= #{year} and po.del_flag=1 vpss.month = 3 and vpss.`year`= #{year} and po.del_flag=1
AND (po.org_id != #{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') AND (po.org_id != #{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
AND(case when #{levelFlag} >=3 then 1=1 else SUBSTRING(`po`.`org_code`, 5, 2) = '00' end )) AND(case when #{levelFlag} >=3 then 1=1 else SUBSTRING(`po`.`org_code`, 5, 2) = '00' end ))
AND ( AND (
...@@ -183,10 +183,10 @@ ...@@ -183,10 +183,10 @@
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0 ) AS end_price, COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0 ) AS end_price,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0 ) AS destory_num, COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0 ) AS destory_num,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0 ) AS destory_price, COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0 ) AS destory_price,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_id, (SELECT `org_id` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_code, (SELECT `org_code` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_name, (SELECT `org_name` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS d_name (SELECT `d_name` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS d_name
FROM FROM
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
...@@ -232,7 +232,7 @@ ...@@ -232,7 +232,7 @@
FROM FROM
vie_price_sum_summary vpss vie_price_sum_summary vpss
WHERE WHERE
vpss.month = 1 and vpss.year=#{year} vpss.month = 3 and vpss.year=#{year}
AND org_id_int = #{orgId} AND org_id_int = #{orgId}
and vpss.create_time >= '2024-01-01 00:00:00' AND vpss.create_time &lt; '2025-01-01 00:00:00' and vpss.create_time >= '2024-01-01 00:00:00' AND vpss.create_time &lt; '2025-01-01 00:00:00'
<if test="typeIdsList!=null and typeIdsList.size() > 0"> <if test="typeIdsList!=null and typeIdsList.size() > 0">
...@@ -254,10 +254,10 @@ ...@@ -254,10 +254,10 @@
COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0) AS end_price, COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0) AS end_price,
COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0) AS destory_num, COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0) AS destory_num,
COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0) AS destory_price, COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0) AS destory_price,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_id, (SELECT `org_id` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_code, (SELECT `org_code` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_name, (SELECT `org_name` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS d_name (SELECT `d_name` FROM `pub_org` WHERE (`org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%')) and level_flag is not null ORDER BY `level_flag` LIMIT 1) AS d_name
FROM FROM
vie_price_sum_summary vpss vie_price_sum_summary vpss
WHERE WHERE
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE WHERE
vpss.MONTH = 1 vpss.MONTH = 3
and `po`.`del_flag` = 1 and `po`.`del_flag` = 1
<if test="level ==null " > <if test="level ==null " >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
...@@ -341,7 +341,7 @@ ...@@ -341,7 +341,7 @@
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE WHERE
vpss.MONTH = 1 vpss.MONTH = 3
and `po`.`del_flag` = 1 and `po`.`del_flag` = 1
<if test="level ==null " > <if test="level ==null " >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
...@@ -451,7 +451,7 @@ ...@@ -451,7 +451,7 @@
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE WHERE
vpss.MONTH = 1 AND vpss.YEAR = 2024 vpss.MONTH = 3 AND vpss.YEAR = #{year}
AND po.del_flag = 1 AND po.del_flag = 1
<if test="level ==null" > <if test="level ==null" >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
...@@ -502,7 +502,7 @@ ...@@ -502,7 +502,7 @@
vie_price_sum_summary vpss vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE WHERE
vpss.`year` = 2024 vpss.`year` = #{year}
AND po.del_flag = 1 AND po.del_flag = 1
<if test="level ==null" > <if test="level ==null" >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
......
...@@ -137,6 +137,15 @@ SET p.org_parent_ids = cte.org_parent_ids; ...@@ -137,6 +137,15 @@ SET p.org_parent_ids = cte.org_parent_ids;
WHERE org_parent_id =#{orgId} and del_flag=1 WHERE org_parent_id =#{orgId} and del_flag=1
AND level_flag = (SELECT level_flag FROM pub_org WHERE org_id = #{orgId}) + 1; AND level_flag = (SELECT level_flag FROM pub_org WHERE org_id = #{orgId}) + 1;
</select> </select>
<select id="isRedirect" resultType="com.junmp.jyzb.entity.PubOrg">
select * FROM pub_org where org_id=(
select org_id FROM sys_user_org where user_id=(select user_id FROM sys_user where account=#{account})
)
</select>
<select id="selectLastNode" resultType="java.lang.Integer">
select count(*) from pub_org where org_parent_ids like CONCAT('%',#{orgId},'%')
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -31,4 +31,11 @@ ...@@ -31,4 +31,11 @@
</foreach> </foreach>
) and state="broken" ) and state="broken"
</select> </select>
<select id="selectSum" resultType="com.junmp.jyzb.entity.VieDestoryGroup">
select * from vie_destory_group where (
<foreach collection="list" item="item" separator="or">
org_id ='${item[0]}' and warehouse_id ='${item[1]}' and type_id='${item[2]}' and size_id='${item[3]}'
</foreach>
) and state="destory"
</select>
</mapper> </mapper>
...@@ -32,16 +32,20 @@ ...@@ -32,16 +32,20 @@
<update id="updateWareInfo"> <update id="updateWareInfo">
<foreach collection="list" item="item" separator=";"> <foreach collection="list" item="item" separator=";">
update update
base_warehouse_inventory base_warehouse_inventory wi
<set> <set>
size_id=(select DISTINCT id FROM base_equipment_size where name=#{item.sizeName} and wi.size_id=(select DISTINCT id FROM base_equipment_size where name=#{item.sizeName} and
type_id =(select DISTINCT id FROM base_equipment_type where name=#{item.typeName} limit 1) limit 1), type_id =(select DISTINCT id FROM base_equipment_type where name=#{item.typeName} limit 1) limit 1),
type_id=(select DISTINCT id FROM base_equipment_type where name=#{item.typeName} limit 1), wi.type_id=(select DISTINCT id FROM base_equipment_type where name=#{item.typeName} limit 1),
location_id=(select DISTINCT id FROM base_warehouse where name=#{item.locationName} limit 1), wi.location_id=(select DISTINCT id FROM base_warehouse where name=#{item.locationName} limit 1),
update_time=#{updateTime},epc_type=1,location_state="in",location_type=0 wi.update_time=#{updateTime},wi.epc_type=1,wi.location_state="in",wi.location_type=0
where epc=#{item.epc} where wi.epc=#{item.epc}
</set> </set>
</foreach> </foreach>
</update> </update>
<delete id="deleteBylocationId">
delete from base_warehouse_inventory where org_id=#{orgId} and location_id=#{locationId}
</delete>
</mapper> </mapper>
...@@ -28,10 +28,10 @@ knife4j: ...@@ -28,10 +28,10 @@ knife4j:
enable: true enable: true
setting: setting:
enableDebug: false enableDebug: false
# basic: basic:
# enable: true enable: true
# username: ning username: ning
# password: ning password: ning
spring: spring:
datasource: datasource:
......
...@@ -3,7 +3,7 @@ scanner: ...@@ -3,7 +3,7 @@ scanner:
easy-es: easy-es:
enable: true enable: true
address: 192.168.3.121:9200 address: 41.192.20.132:9200
username: elastic username: elastic
password: junmp123 password: junmp123
thing: thing:
...@@ -28,21 +28,21 @@ knife4j: ...@@ -28,21 +28,21 @@ knife4j:
enable: true enable: true
setting: setting:
enableDebug: false enableDebug: false
# basic: basic:
# enable: true enable: true
# username: ning username: ning
# password: ning password: ning
spring: spring:
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.1.128:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true&allowMultiQueries=true url: jdbc:mysql://127.0.0.1:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true&allowMultiQueries=true
username: root username: root
password: 123456 password: 123456
redis: redis:
#host: 192.168.3.188 #host: 192.168.3.188
host: 192.168.3.121 host: 127.0.0.1
port: 6379 port: 6379
database: 1 database: 1
password: password:
......
...@@ -22,7 +22,7 @@ spring: ...@@ -22,7 +22,7 @@ spring:
application: application:
name: jyzb-app name: jyzb-app
rabbitmq: rabbitmq:
host: 192.168.3.121 host: 192.168.3.188
port: 5672 port: 5672
username: root username: root
password: 123456 password: 123456
......
...@@ -196,32 +196,32 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -196,32 +196,32 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// } // }
} }
//点击后消除已读消息,暂时不用,依赖前端处理 //点击后消除已读消息,暂时不用,依赖前端处理
MessageReq reqmsg=new MessageReq(); // MessageReq reqmsg=new MessageReq();
reqmsg.setBizId(Long.valueOf(processInstanceId)); // reqmsg.setBizId(Long.valueOf(processInstanceId));
reqmsg.setReceiveUserId(StartUser.getUserId()); // reqmsg.setReceiveUserId(StartUser.getUserId());
reqmsg.setReadFlag(0); // reqmsg.setReadFlag(0);
List<MessageRes> msgRes= messageApi.queryList(reqmsg); // List<MessageRes> msgRes= messageApi.queryList(reqmsg);
if (msgRes.size()>0) // if (msgRes.size()>0)
{ // {
// 使用流将 id 取出,并用逗号拼接成字符串 // // 使用流将 id 取出,并用逗号拼接成字符串
String ids = msgRes.stream() // String ids = msgRes.stream()
.map(MessageRes::getMsgId) // .map(MessageRes::getMsgId)
.map(String::valueOf) // 将 id 转换为字符串 // .map(String::valueOf) // 将 id 转换为字符串
.collect(Collectors.joining(",")); // .collect(Collectors.joining(","));
messageApi.batchReadFlagByMessageIds(ids, MsgReadStateEnum.READ); //// messageApi.batchReadFlagByMessageIds(ids, MsgReadStateEnum.READ);
} // }
String objJson= redisCache.get(processInstanceId); // String objJson= redisCache.get(processInstanceId);
redisCache.remove(processInstanceId); // redisCache.remove(processInstanceId);
//
List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class); // List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class);
if (CollectionUtil.isNotEmpty(msgs)){ // if (CollectionUtil.isNotEmpty(msgs)){
msgs.forEach(msg-> // msgs.forEach(msg->
{ // {
messageApi.sendMessageNoToken(msg); // messageApi.sendMessageNoToken(msg);
} // }
//
); // );
} // }
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,ReturnMsg.PASS); return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,ReturnMsg.PASS);
...@@ -866,20 +866,20 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -866,20 +866,20 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
vo.setTaskId(tasks.get(0).getId()); vo.setTaskId(tasks.get(0).getId());
} }
//点击后消除已读消息,暂时不用,依赖前端处理 //点击后消除已读消息,暂时不用,依赖前端处理
MessageReq reqmsg=new MessageReq(); // MessageReq reqmsg=new MessageReq();
reqmsg.setBizId(Long.valueOf(processInstanceId)); // reqmsg.setBizId(Long.valueOf(processInstanceId));
reqmsg.setReceiveUserId(StartUser.getUserId()); // reqmsg.setReceiveUserId(StartUser.getUserId());
reqmsg.setReadFlag(0); // reqmsg.setReadFlag(0);
List<MessageRes> msgRes= messageApi.queryList(reqmsg); // List<MessageRes> msgRes= messageApi.queryList(reqmsg);
if (msgRes.size()>0) // if (msgRes.size()>0)
{ // {
// 使用流将 id 取出,并用逗号拼接成字符串 // // 使用流将 id 取出,并用逗号拼接成字符串
String ids = msgRes.stream() // String ids = msgRes.stream()
.map(MessageRes::getMsgId) // .map(MessageRes::getMsgId)
.map(String::valueOf) // 将 id 转换为字符串 // .map(String::valueOf) // 将 id 转换为字符串
.collect(Collectors.joining(",")); // .collect(Collectors.joining(","));
messageApi.batchReadFlagByMessageIds(ids, MsgReadStateEnum.READ); // messageApi.batchReadFlagByMessageIds(ids, MsgReadStateEnum.READ);
} // }
String tempID= flowInstanceService.getFormIdByInstanceId(processInstanceId);//先拿到表单id,然后通过表单拿到初始表结构 String tempID= flowInstanceService.getFormIdByInstanceId(processInstanceId);//先拿到表单id,然后通过表单拿到初始表结构
ProcessTemplates processTemplates = processTemplateService.getById(tempID); ProcessTemplates processTemplates = processTemplateService.getById(tempID);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论