相关报错
16:02:50.770 [http-nio-8085-exec-13] ERROR c.a.d.f.s.StatFilter - [mergeSql,158] - merge sql error, dbType mysql, druid-1.2.4, sql : SELECT project_name 项目名称,
SUM(summary_money) '总金额',
SUM(CASE summary_subject WHEN ? THEN summary_money ELSE 0 END ) ?
,
SUM(CASE summary_subject WHEN ? THEN summary_money ELSE 0 END ) ?
,
SUM(CASE summary_subject WHEN ? THEN summary_money ELSE 0 END ) ?
,
SUM(CASE summary_subject WHEN ? THEN summary_money ELSE 0 END ) ?
,
SUM(CASE summary_subject WHEN ? THEN summary_money ELSE 0 END ) ?
,
SUM(CASE summary_subject WHEN ? THEN summary_money ELSE 0 END ) ?
FROM pjt_management_cost_detailed
WHERE check_status = '2'
GROUP BY project_id
com.alibaba.druid.sql.parser.ParserException: syntax error, expect FROM, actual QUES, pos 176, line 8, column 74, token ?
at com.alibaba.druid.sql.dialect.mysql.parser.MySqlSelectParser.parseFrom(MySqlSelectParser.java:66)
at com.alibaba.druid.sql.dialect.mysql.parser.MySqlSelectParser.query(MySqlSelectParser.java:247)
at com.alibaba.druid.sql.parser.SQLSelectParser.query(SQLSelectParser.java:372)
at com.alibaba.druid.sql.parser.SQLSelectParser.select(SQLSelectParser.java:61)
at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseSelect(MySqlStatementParser.java:124)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:204)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:113)
at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:153)
at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:126)
at com.alibaba.druid.filter.stat.StatFilter.mergeSql(StatFilter.java:156)
at com.alibaba.druid.filter.stat.StatFilter.createSqlStat(StatFilter.java:657)
at com.alibaba.druid.filter.stat.StatFilter.statementPrepareAfter(StatFilter.java:320)
at com.alibaba.druid.filter.FilterEventAdapter.connection_prepareStatement(FilterEventAdapter.java:124)
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:568)
at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.prepareStatement(ConnectionProxyImpl.java:341)
at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement(DruidPooledConnection.java:351)
at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.logging.jdbc.ConnectionLogger.invoke(ConnectionLogger.java:55)
at com.sun.proxy.$Proxy125.prepareStatement(Unknown Source)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:86)
at org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
at org.apache.ibatis.executor.ReuseExecutor.prepareStatement(ReuseExecutor.java:89)
at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:59)
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.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:111)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
at com.sun.proxy.$Proxy292.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
at sun.reflect.GeneratedMethodAccessor96.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:426)
at com.sun.proxy.$Proxy115.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80)
at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)
at com.sun.proxy.$Proxy175.getPjtManagementCostDetailedCountListBaseMap(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy176.getPjtManagementCostDetailedCountListBaseMap(Unknown Source)
at com.huato.project.service.impl.PjtManagementCostDetailedServiceImpl.getPjtManagementCostDetailedCountListBaseMap(PjtManagementCostDetailedServiceImpl.java:134)
at com.huato.web.controller.project.PjtManagementCostDetailedController.listCount(PjtManagementCostDetailedController.java:67)
at com.huato.web.controller.project.PjtManagementCostDetailedController$$FastClassBySpringCGLIB$$772f0ed5.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
at com.huato.web.controller.project.PjtManagementCostDetailedController$$EnhancerBySpringCGLIB$$9930d13b.listCount()
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:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
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:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.huato.common.filter.RepeatableFilter.doFilter(RepeatableFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at com.huato.framework.security.filter.JwtAuthenticationTokenFilter.doFilterInternal(JwtAuthenticationTokenFilter.java:42)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
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:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
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:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
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:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.huato.common.filter.XssFilter.doFilter(XssFilter.java:67)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
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:343)
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:888)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
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)
相关代码
<select id="getPjtManagementCostDetailedCountListBaseMap" resultType="java.util.HashMap">
<if test="pjtManagementCostDetailed.identifying!= null and pjtManagementCostDetailed.identifying!= ''and pjtManagementCostDetailed.identifying == '1'.toString()">
SELECT project_name 项目名称,
</if>
<if test="pjtManagementCostDetailed.identifying!= null and pjtManagementCostDetailed.identifying!= ''and pjtManagementCostDetailed.identifying == '2'.toString()">
SELECT dept_name 部门名称,
</if>
<if test="pjtManagementCostDetailed.identifying!= null and pjtManagementCostDetailed.identifying!= ''and pjtManagementCostDetailed.identifying == '3'.toString()">
SELECT dept_name 部门名称,user_name 名称,
</if>
SUM(summary_money) '总金额',
<foreach item="SysDictData" collection="list" separator="," >
SUM(CASE summary_subject WHEN #{SysDictData.dictLabel} THEN summary_money ELSE 0 END ) #{SysDictData.dictLabel}
<!--SUM(CASE summary_subject WHEN '通讯费' THEN summary_money ELSE 0 END ) '通讯费',
SUM(CASE summary_subject WHEN '材料费' THEN summary_money ELSE 0 END ) '材料费',
SUM(CASE summary_subject WHEN '补助' THEN summary_money ELSE 0 END ) '补助',
SUM(CASE summary_subject WHEN '交通费' THEN summary_money ELSE 0 END ) '交通费'-->
</foreach>
FROM pjt_management_cost_detailed
<where>
check_status = '2'
<if test="pjtManagementCostDetailed.projectId != null "> and project_id = #{pjtManagementCostDetailed.projectId}</if>
<if test="pjtManagementCostDetailed.projectName != null and pjtManagementCostDetailed.projectName != ''"> and project_name like concat('%', #{pjtManagementCostDetailed.projectName}, '%')</if>
<if test="pjtManagementCostDetailed.typeName != null and pjtManagementCostDetailed.typeName != ''"> and type_name like concat('%', #{pjtManagementCostDetailed.typeName}, '%')</if>
<if test="pjtManagementCostDetailed.typeId != null "> and type_id = #{pjtManagementCostDetailed.typeId}</if>
<if test="pjtManagementCostDetailed.summaryOrderId != null "> and summary_order_id = #{pjtManagementCostDetailed.summaryOrderId}</if>
<if test="pjtManagementCostDetailed.summaryCode != null and pjtManagementCostDetailed.summaryCode != ''"> and summary_code = #{pjtManagementCostDetailed.summaryCode}</if>
<if test="pjtManagementCostDetailed.projectCode != null and pjtManagementCostDetailed.projectCode != ''"> and project_code = #{pjtManagementCostDetailed.projectCode}</if>
<if test="pjtManagementCostDetailed.summaryName != null and pjtManagementCostDetailed.summaryName != ''"> and summary_name like concat('%', #{pjtManagementCostDetailed.summaryName}, '%')</if>
<if test="pjtManagementCostDetailed.summaryDetailed != null and pjtManagementCostDetailed.summaryDetailed != ''"> and summary_detailed = #{pjtManagementCostDetailed.summaryDetailed}</if>
<if test="pjtManagementCostDetailed.summarySubject != null and pjtManagementCostDetailed.summarySubject != ''"> and summary_subject = #{pjtManagementCostDetailed.summarySubject}</if>
<if test="pjtManagementCostDetailed.status != null and pjtManagementCostDetailed.status != ''"> and status = #{pjtManagementCostDetailed.status}</if>
<if test="pjtManagementCostDetailed.offsetStatus != null and pjtManagementCostDetailed.offsetStatus != ''"> and offset_status = #{pjtManagementCostDetailed.offsetStatus}</if>
<if test="pjtManagementCostDetailed.offsetId != null and pjtManagementCostDetailed.offsetId != ''"> and offset_id = #{pjtManagementCostDetailed.offsetId}</if>
<if test="pjtManagementCostDetailed.offsetMoney != null "> and offset_money = #{pjtManagementCostDetailed.offsetMoney}</if>
<if test="pjtManagementCostDetailed.summaryTime != null "> and summary_time = #{pjtManagementCostDetailed.summaryTime}</if>
<if test="pjtManagementCostDetailed.userId != null "> and user_id = #{pjtManagementCostDetailed.userId}</if>
<if test="pjtManagementCostDetailed.userName != null and userName != ''"> and user_name like concat('%', #{pjtManagementCostDetailed.userName}, '%')</if>
<if test="pjtManagementCostDetailed.deptName != null and deptName != ''"> and dept_name like concat('%', #{pjtManagementCostDetailed.deptName}, '%')</if>
<if test="pjtManagementCostDetailed.deptId != null "> and dept_id = #{pjtManagementCostDetailed.deptId}</if>
<!--当做创建时间年来查询-->
<if test="pjtManagementCostDetailed.updateBy != null and pjtManagementCostDetailed.updateBy != ''"> and update_by = #{updateBy}</if>
<if test="pjtManagementCostDetailed.deleteTagging != null and pjtManagementCostDetailed.deleteTagging != ''"> and delete_tagging = #{deleteTagging}</if>
</where>
<if test="pjtManagementCostDetailed.identifying!= null and pjtManagementCostDetailed.identifying!= ''and pjtManagementCostDetailed.identifying == '1'.toString()">
GROUP BY project_id
</if>
<if test="pjtManagementCostDetailed.identifying!= null and pjtManagementCostDetailed.identifying!= ''and pjtManagementCostDetailed.identifying == '2'.toString()">
GROUP BY dept_id
</if>
<if test="pjtManagementCostDetailed.identifying!= null and pjtManagementCostDetailed.identifying!= ''and pjtManagementCostDetailed.identifying == '3'.toString()">
GROUP BY user_id
</if>
</select>